Re: [PATCH v2 2/5] iio:adc:ti-adc081c: Drop ACPI ids that seem very unlikely to be official.

Jonathan Cameron
2021-09-02T09:23:30Z

On Tue, 21 Jul 2020 18:14:41 +0100
Jonathan Cameron <jic23@kernel.org> wrote:

> From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
>
> We have no known users of these in the wild.
> it seems very unlikely these are real IDS having the form ADCXXXX
> as that ID is owned by Achnor Datacomm not TI.
>
> Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Kunyang reports that ACPI ID ADC081C is out in the wild on some
AAEON boards.

I'll send out a partial revert soon to bring back that ID with appropriate
comments on where it used.

Key thing in future for these sorts of IDs is we need clarity
on who is using them before agreeing to take them. In this particular
my undestanding is the driver came first and as it worked the AAEON
firmware team used the ID.

Thanks,

Jonathan

> ---
> v1->v2
> New patch
> drivers/iio/adc/ti-adc081c.c | 24 +-----------------------
> 1 file changed, 1 insertion(+), 23 deletions(-)
>
> diff --git a/drivers/iio/adc/ti-adc081c.c b/drivers/iio/adc/ti-adc081c.c
> index 9426f70a8005..8bc04cfae465 100644
> --- a/drivers/iio/adc/ti-adc081c.c
> +++ b/drivers/iio/adc/ti-adc081c.c
> @@ -19,7 +19,6 @@
> #include <linux/i2c.h>
> #include <linux/module.h>
> #include <linux/mod_devicetable.h>
> -#include <linux/acpi.h>
>
> #include <linux/iio/iio.h>
> #include <linux/iio/buffer.h>
> @@ -153,17 +152,7 @@ static int adc081c_probe(struct i2c_client *client,
> if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
> return -EOPNOTSUPP;
>
> - if (ACPI_COMPANION(&client->dev)) {
> - const struct acpi_device_id *ad_id;
> -
> - ad_id = acpi_match_device(client->dev.driver->acpi_match_table,
> - &client->dev);
> - if (!ad_id)
> - return -ENODEV;
> - model = &adcxx1c_models[ad_id->driver_data];
> - } else {
> - model = &adcxx1c_models[id->driver_data];
> - }
> + model = &adcxx1c_models[id->driver_data];
>
> iio = devm_iio_device_alloc(&client->dev, sizeof(*adc));
> if (!iio)
> @@ -238,21 +227,10 @@ static const struct of_device_id adc081c_of_match[] = {
> };
> MODULE_DEVICE_TABLE(of, adc081c_of_match);
>
> -#ifdef CONFIG_ACPI
> -static const struct acpi_device_id adc081c_acpi_match[] = {
> - { "ADC081C", ADC081C },
> - { "ADC101C", ADC101C },
> - { "ADC121C", ADC121C },
> - { }
> -};
> -MODULE_DEVICE_TABLE(acpi, adc081c_acpi_match);
> -#endif
> -
> static struct i2c_driver adc081c_driver = {
> .driver = {
> .name = "adc081c",
> .of_match_table = adc081c_of_match,
> - .acpi_match_table = ACPI_PTR(adc081c_acpi_match),
> },
> .probe = adc081c_probe,
> .remove = adc081c_remove,