Re: [PATCH 4/7] coresight: tpiu: Move ACPI support from AMBA driver to platform driver

From: James Clark
Date: Wed Nov 15 2023 - 08:54:07 EST




On 27/10/2023 08:29, Anshuman Khandual wrote:
> Add support for the tpiu device in the platform driver, which can then be
> used on ACPI based platforms. This change would now allow runtime power
> management for ACPI based systems. The driver would try to enable the APB
> clock if available.
>
[...]
> +#ifdef CONFIG_ACPI
> +static const struct acpi_device_id tpiu_acpi_ids[] = {
> + {"ARMHC979", 0}, /* ARM CoreSight TPIU */
> + {}
> +};
> +MODULE_DEVICE_TABLE(acpi, tpiu_acpi_ids);
> +#endif
> +
> +static struct platform_driver tpiu_platform_driver = {
> + .probe = tpiu_platform_probe,
> + .remove = tpiu_platform_remove,
> + .driver = {
> + .name = "coresight-tpiu-platform",
> + .acpi_match_table = ACPI_PTR(tpiu_acpi_ids),
> + .suppress_bind_attrs = true,
> + .pm = &tpiu_dev_pm_ops,
> + },
> +};
> +module_platform_driver(tpiu_platform_driver);
> +

Is there a special build config where this works? I get an error here
because module_platform_driver() redefines things that are in
module_amba_driver() which is defined above:

module_amba_driver(tpiu_driver);

This isn't a W=1 build or anything, just a normal one. And it applies to
most of the patches in this set.