Commit 21f60348 authored by Chris Chiu's avatar Chris Chiu Committed by Mark Brown

ASoC: rt5645: Introduce mapping for ACPI-defined GPIO

On at least one laptop (ECS EF20EA) the 'hp-detect' GPIO is defined in
the DSDT table by the ACPI GpioIo resources in _CRS. The GPIO related
information should be mapped to the rt5645 driver to enable the jack
detection also on non-DT platforms.
Signed-off-by: default avatarChris Chiu <chiu@endlessos.org>
Link: https://lore.kernel.org/r/20210111054141.4668-2-chiu@endlessos.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 31c51a42
...@@ -42,6 +42,8 @@ static unsigned int quirk = -1; ...@@ -42,6 +42,8 @@ static unsigned int quirk = -1;
module_param(quirk, uint, 0444); module_param(quirk, uint, 0444);
MODULE_PARM_DESC(quirk, "RT5645 pdata quirk override"); MODULE_PARM_DESC(quirk, "RT5645 pdata quirk override");
static const struct acpi_gpio_mapping *cht_rt5645_gpios;
#define RT5645_DEVICE_ID 0x6308 #define RT5645_DEVICE_ID 0x6308
#define RT5650_DEVICE_ID 0x6419 #define RT5650_DEVICE_ID 0x6419
...@@ -3831,6 +3833,10 @@ static int rt5645_i2c_probe(struct i2c_client *i2c, ...@@ -3831,6 +3833,10 @@ static int rt5645_i2c_probe(struct i2c_client *i2c,
rt5645->pdata.dmic2_data_pin = QUIRK_DMIC2_DATA_PIN(quirk); rt5645->pdata.dmic2_data_pin = QUIRK_DMIC2_DATA_PIN(quirk);
} }
if (cht_rt5645_gpios && has_acpi_companion(&i2c->dev))
if (devm_acpi_dev_add_driver_gpios(&i2c->dev, cht_rt5645_gpios))
dev_dbg(&i2c->dev, "Failed to add driver gpios\n");
rt5645->gpiod_hp_det = devm_gpiod_get_optional(&i2c->dev, "hp-detect", rt5645->gpiod_hp_det = devm_gpiod_get_optional(&i2c->dev, "hp-detect",
GPIOD_IN); GPIOD_IN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment