Re: [PATCH 6/8] ACPI/platform: add AWDZ8399 to serial-multi-instantiate

Ilpo Järvinen <[email protected]>
Newsgroups org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-acpi,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound
Message-ID <[email protected]>
On Fri, 17 Jul 2026, Marco Giunta wrote:

> Register the AWINIC AW88399 ACPI hardware ID "AWDZ8399" with the
> serial-multi-instantiate driver and add it to the ACPI scan ignore
> list so that the two I2C amplifier instances on Lenovo Legion laptops
> are enumerated as separate I2C client devices rather than a single
> ACPI platform device.
> 
> The SMI node creates two instances named "aw88399-hda" with
> IRQ_RESOURCE_AUTO, matching the pattern used by CS35L41.
> 
> Tested-by: Nadim Kobeissi <[email protected]>
> Tested-by: Xia Yun'an <[email protected]>
> Tested-by: Munzir Taha <[email protected]>
> Co-developed-by: Yakov Till <[email protected]>
> Signed-off-by: Yakov Till <[email protected]>
> Signed-off-by: Marco Giunta <[email protected]>
> ---
>  drivers/acpi/scan.c                             |  1 +
>  drivers/platform/x86/serial-multi-instantiate.c | 10 ++++++++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
> index 9a7ac2eb9ce0..4f4552b1551b 100644
> --- a/drivers/acpi/scan.c
> +++ b/drivers/acpi/scan.c
> @@ -1752,6 +1752,7 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
>  	 * by the drivers/platform/x86/serial-multi-instantiate.c driver, which
>  	 * knows which client device id to use for each resource.
>  	 */
> +		{"AWDZ8399", },
>  		{"BSG1160", },
>  		{"BSG2150", },
>  		{"CSC3551", },
> diff --git a/drivers/platform/x86/serial-multi-instantiate.c b/drivers/platform/x86/serial-multi-instantiate.c
> index 1a369334f9cb..3e89fcdd45f7 100644
> --- a/drivers/platform/x86/serial-multi-instantiate.c
> +++ b/drivers/platform/x86/serial-multi-instantiate.c
> @@ -307,6 +307,15 @@ static void smi_remove(struct platform_device *pdev)
>  	smi_devs_unregister(smi);
>  }
>  
> +static const struct smi_node aw88399_hda = {
> +	.instances = {
> +		{ "aw88399-hda", IRQ_RESOURCE_AUTO, 0 },
> +		{ "aw88399-hda", IRQ_RESOURCE_AUTO, 0 },
> +		{}
> +	},
> +	.bus_type = SMI_AUTO_DETECT,
> +};
> +
>  static const struct smi_node bsg1160_data = {
>  	.instances = {
>  		{ "bmc150_accel", IRQ_RESOURCE_GPIO, 0 },
> @@ -405,6 +414,7 @@ static const struct smi_node tas2781_hda = {
>   * drivers/acpi/scan.c: acpi_device_enumeration_by_parent().
>   */
>  static const struct acpi_device_id smi_acpi_ids[] = {
> +	{ "AWDZ8399", (unsigned long)&aw88399_hda },
>  	{ "BSG1160", (unsigned long)&bsg1160_data },
>  	{ "BSG2150", (unsigned long)&bsg2150_data },
>  	{ "CSC3551", (unsigned long)&cs35l41_hda },
> 

Acked-by: Ilpo Järvinen <[email protected]>

-- 
 i.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.