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

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.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 31c51a42
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -42,6 +42,8 @@ static unsigned int quirk = -1;
module_param(quirk, uint, 0444);
MODULE_PARM_DESC(quirk, "RT5645 pdata quirk override");

static const struct acpi_gpio_mapping *cht_rt5645_gpios;

#define RT5645_DEVICE_ID 0x6308
#define RT5650_DEVICE_ID 0x6419

@@ -3831,6 +3833,10 @@ static int rt5645_i2c_probe(struct i2c_client *i2c,
		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",
						       GPIOD_IN);