[PATCH v5 1/2] ASoC: cs35l41: CS35L41 Boosted Smart Amplifier

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Aug 17 01:41:51 CEST 2021


> diff --git a/sound/soc/codecs/cs35l41-i2c.c b/sound/soc/codecs/cs35l41-i2c.c
> +#ifdef CONFIG_ACPI
> +static const struct acpi_device_id cs35l41_acpi_match[] = {
> +	{ "CSC3541", 0 }, /* Cirrus Logic PnP ID + part ID */
> +	{},
> +};
> +MODULE_DEVICE_TABLE(acpi, cs35l41_acpi_match);
> +#endif
> +
> +static struct i2c_driver cs35l41_i2c_driver = {
> +	.driver = {
> +		.name		= "cs35l41",
> +		.of_match_table = of_match_ptr(cs35l41_of_match),
> +		.acpi_match_table = ACPI_PTR(cs35l41_acpi_match),
> +	},
> +	.id_table	= cs35l41_id_i2c,
> +	.probe		= cs35l41_i2c_probe,
> +	.remove		= cs35l41_i2c_remove,
> +};
> +
> +module_i2c_driver(cs35l41_i2c_driver);

> +#ifdef CONFIG_ACPI
> +static const struct acpi_device_id cs35l41_acpi_match[] = {
> +	{ "CSC3541", 0 }, /* Cirrus Logic PnP ID + part ID */
> +	{},
> +};
> +MODULE_DEVICE_TABLE(acpi, cs35l41_acpi_match);
> +#endif
> +
> +static struct spi_driver cs35l41_spi_driver = {
> +	.driver = {
> +		.name		= "cs35l41",
> +		.of_match_table = of_match_ptr(cs35l41_of_match),
> +		.acpi_match_table = ACPI_PTR(cs35l41_acpi_match),
> +	},
> +	.id_table	= cs35l41_id_spi,
> +	.probe		= cs35l41_spi_probe,
> +	.remove		= cs35l41_spi_remove,
> +};
> +
> +module_spi_driver(cs35l41_spi_driver);

Is the ACPI probe smart enough to deal with two different drivers
registering for the *same* HID?

I haven't seen any precedent, e.g. the RT6777 uses a different ACPI HID
for its I2C and SPI modes.




More information about the Alsa-devel mailing list