diff mbox series

[v1,1/1] iio: imu: kmx61: Drop most likely fake ACPI ID

Message ID 20240911213110.2893562-1-andriy.shevchenko@linux.intel.com (mailing list archive)
State Accepted
Headers show
Series [v1,1/1] iio: imu: kmx61: Drop most likely fake ACPI ID | expand

Commit Message

Andy Shevchenko Sept. 11, 2024, 9:31 p.m. UTC
The commit in question does not proove that ACPI ID exists.
Quite likely it was a cargo cult addition while doint that
for DT-based enumeration.  Drop most likely fake ACPI ID.

Googling for KMX61021L gives no useful results in regard to DSDT.
Moreover, the official vendor ID in the registry for Kionix is KIOX.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/iio/imu/kmx61.c | 25 +++----------------------
 1 file changed, 3 insertions(+), 22 deletions(-)

Comments

Hans de Goede Sept. 12, 2024, 1:52 p.m. UTC | #1
Hi,

On 9/11/24 11:31 PM, Andy Shevchenko wrote:
> The commit in question does not proove that ACPI ID exists.
> Quite likely it was a cargo cult addition while doint that
> for DT-based enumeration.  Drop most likely fake ACPI ID.
> 
> Googling for KMX61021L gives no useful results in regard to DSDT.
> Moreover, the official vendor ID in the registry for Kionix is KIOX.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

Thanks, patch looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

Regards,

Hans



> ---
>  drivers/iio/imu/kmx61.c | 25 +++----------------------
>  1 file changed, 3 insertions(+), 22 deletions(-)
> 
> diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c
> index c61c012e25bb..2af772775b68 100644
> --- a/drivers/iio/imu/kmx61.c
> +++ b/drivers/iio/imu/kmx61.c
> @@ -7,12 +7,13 @@
>   * IIO driver for KMX61 (7-bit I2C slave address 0x0E or 0x0F).
>   */
>  
> -#include <linux/module.h>
>  #include <linux/i2c.h>
> -#include <linux/acpi.h>
>  #include <linux/interrupt.h>
> +#include <linux/mod_devicetable.h>
> +#include <linux/module.h>
>  #include <linux/pm.h>
>  #include <linux/pm_runtime.h>
> +
>  #include <linux/iio/iio.h>
>  #include <linux/iio/sysfs.h>
>  #include <linux/iio/events.h>
> @@ -1217,16 +1218,6 @@ static irqreturn_t kmx61_trigger_handler(int irq, void *p)
>  	return IRQ_HANDLED;
>  }
>  
> -static const char *kmx61_match_acpi_device(struct device *dev)
> -{
> -	const struct acpi_device_id *id;
> -
> -	id = acpi_match_device(dev->driver->acpi_match_table, dev);
> -	if (!id)
> -		return NULL;
> -	return dev_name(dev);
> -}
> -
>  static struct iio_dev *kmx61_indiodev_setup(struct kmx61_data *data,
>  					    const struct iio_info *info,
>  					    const struct iio_chan_spec *chan,
> @@ -1293,8 +1284,6 @@ static int kmx61_probe(struct i2c_client *client)
>  
>  	if (id)
>  		name = id->name;
> -	else if (ACPI_HANDLE(&client->dev))
> -		name = kmx61_match_acpi_device(&client->dev);
>  	else
>  		return -ENODEV;
>  
> @@ -1496,13 +1485,6 @@ static const struct dev_pm_ops kmx61_pm_ops = {
>  	RUNTIME_PM_OPS(kmx61_runtime_suspend, kmx61_runtime_resume, NULL)
>  };
>  
> -static const struct acpi_device_id kmx61_acpi_match[] = {
> -	{"KMX61021", 0},
> -	{}
> -};
> -
> -MODULE_DEVICE_TABLE(acpi, kmx61_acpi_match);
> -
>  static const struct i2c_device_id kmx61_id[] = {
>  	{ "kmx611021" },
>  	{}
> @@ -1513,7 +1495,6 @@ MODULE_DEVICE_TABLE(i2c, kmx61_id);
>  static struct i2c_driver kmx61_driver = {
>  	.driver = {
>  		.name = KMX61_DRV_NAME,
> -		.acpi_match_table = kmx61_acpi_match,
>  		.pm = pm_ptr(&kmx61_pm_ops),
>  	},
>  	.probe		= kmx61_probe,
Andy Shevchenko Sept. 13, 2024, 9:32 a.m. UTC | #2
On Thu, Sep 12, 2024 at 03:52:34PM +0200, Hans de Goede wrote:
> Hi,
> 
> On 9/11/24 11:31 PM, Andy Shevchenko wrote:
> > The commit in question does not proove that ACPI ID exists.
> > Quite likely it was a cargo cult addition while doint that
> > for DT-based enumeration.  Drop most likely fake ACPI ID.
> > 
> > Googling for KMX61021L gives no useful results in regard to DSDT.
> > Moreover, the official vendor ID in the registry for Kionix is KIOX.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> Thanks, patch looks good to me:

Same Q here.

>  Reviewed-by: Hans de Goede <hdegoede@redhat.com>

And thank you for the reviews!
Hans de Goede Sept. 14, 2024, 1:47 p.m. UTC | #3
Hi,

On 9/13/24 11:32 AM, Andy Shevchenko wrote:
> On Thu, Sep 12, 2024 at 03:52:34PM +0200, Hans de Goede wrote:
>> Hi,
>>
>> On 9/11/24 11:31 PM, Andy Shevchenko wrote:
>>> The commit in question does not proove that ACPI ID exists.
>>> Quite likely it was a cargo cult addition while doint that
>>> for DT-based enumeration.  Drop most likely fake ACPI ID.
>>>
>>> Googling for KMX61021L gives no useful results in regard to DSDT.
>>> Moreover, the official vendor ID in the registry for Kionix is KIOX.
>>>
>>> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>>
>> Thanks, patch looks good to me:
> 
> Same Q here.

Yes I did look for KMX61021 in my DSDT collection and I did
not find anything, neither does:

https://www.catalog.update.microsoft.com/Search.aspx?q=kmx61021

find anything.

So I believe that this one can really be dropped.

Regards,

Hans
Jonathan Cameron Sept. 14, 2024, 2:26 p.m. UTC | #4
On Fri, 13 Sep 2024 12:32:14 +0300
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> On Thu, Sep 12, 2024 at 03:52:34PM +0200, Hans de Goede wrote:
> > Hi,
> > 
> > On 9/11/24 11:31 PM, Andy Shevchenko wrote:  
> > > The commit in question does not proove that ACPI ID exists.
> > > Quite likely it was a cargo cult addition while doint that
> > > for DT-based enumeration.  Drop most likely fake ACPI ID.
> > > 
> > > Googling for KMX61021L gives no useful results in regard to DSDT.
> > > Moreover, the official vendor ID in the registry for Kionix is KIOX.
> > > 
> > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>  
> > 
> > Thanks, patch looks good to me:  
> 
> Same Q here.
In meantime I've queued it up.  Can always drop it again
if it turns out we do have users.

Jonathan

> 
> >  Reviewed-by: Hans de Goede <hdegoede@redhat.com>  
> 
> And thank you for the reviews!
>
Andy Shevchenko Sept. 16, 2024, 10:02 a.m. UTC | #5
On Sat, Sep 14, 2024 at 03:47:21PM +0200, Hans de Goede wrote:
> On 9/13/24 11:32 AM, Andy Shevchenko wrote:
> > On Thu, Sep 12, 2024 at 03:52:34PM +0200, Hans de Goede wrote:
> >> On 9/11/24 11:31 PM, Andy Shevchenko wrote:

...

> > Same Q here.
> 
> Yes I did look for KMX61021 in my DSDT collection and I did
> not find anything, neither does:
> 
> https://www.catalog.update.microsoft.com/Search.aspx?q=kmx61021
> 
> find anything.

Thanks for checking!

> So I believe that this one can really be dropped.

Good. I'm on the side here to drop and look for bug reports rather than
keeping and provoke using badly invented ACPI IDs (as we see already
in the example of ltr501).
diff mbox series

Patch

diff --git a/drivers/iio/imu/kmx61.c b/drivers/iio/imu/kmx61.c
index c61c012e25bb..2af772775b68 100644
--- a/drivers/iio/imu/kmx61.c
+++ b/drivers/iio/imu/kmx61.c
@@ -7,12 +7,13 @@ 
  * IIO driver for KMX61 (7-bit I2C slave address 0x0E or 0x0F).
  */
 
-#include <linux/module.h>
 #include <linux/i2c.h>
-#include <linux/acpi.h>
 #include <linux/interrupt.h>
+#include <linux/mod_devicetable.h>
+#include <linux/module.h>
 #include <linux/pm.h>
 #include <linux/pm_runtime.h>
+
 #include <linux/iio/iio.h>
 #include <linux/iio/sysfs.h>
 #include <linux/iio/events.h>
@@ -1217,16 +1218,6 @@  static irqreturn_t kmx61_trigger_handler(int irq, void *p)
 	return IRQ_HANDLED;
 }
 
-static const char *kmx61_match_acpi_device(struct device *dev)
-{
-	const struct acpi_device_id *id;
-
-	id = acpi_match_device(dev->driver->acpi_match_table, dev);
-	if (!id)
-		return NULL;
-	return dev_name(dev);
-}
-
 static struct iio_dev *kmx61_indiodev_setup(struct kmx61_data *data,
 					    const struct iio_info *info,
 					    const struct iio_chan_spec *chan,
@@ -1293,8 +1284,6 @@  static int kmx61_probe(struct i2c_client *client)
 
 	if (id)
 		name = id->name;
-	else if (ACPI_HANDLE(&client->dev))
-		name = kmx61_match_acpi_device(&client->dev);
 	else
 		return -ENODEV;
 
@@ -1496,13 +1485,6 @@  static const struct dev_pm_ops kmx61_pm_ops = {
 	RUNTIME_PM_OPS(kmx61_runtime_suspend, kmx61_runtime_resume, NULL)
 };
 
-static const struct acpi_device_id kmx61_acpi_match[] = {
-	{"KMX61021", 0},
-	{}
-};
-
-MODULE_DEVICE_TABLE(acpi, kmx61_acpi_match);
-
 static const struct i2c_device_id kmx61_id[] = {
 	{ "kmx611021" },
 	{}
@@ -1513,7 +1495,6 @@  MODULE_DEVICE_TABLE(i2c, kmx61_id);
 static struct i2c_driver kmx61_driver = {
 	.driver = {
 		.name = KMX61_DRV_NAME,
-		.acpi_match_table = kmx61_acpi_match,
 		.pm = pm_ptr(&kmx61_pm_ops),
 	},
 	.probe		= kmx61_probe,