[PATCH v3 00/24] iio: Clean up acpi_match_device() use cases

Andy Shevchenko posted 24 patches 1 month ago
drivers/iio/accel/kxcjk-1013.c             | 449 +++++++++++----------
drivers/iio/accel/mma9551.c                |  19 +-
drivers/iio/accel/mma9553.c                |  19 +-
drivers/iio/adc/pac1934.c                  |   2 +-
drivers/iio/gyro/bmg160_core.c             |  15 -
drivers/iio/gyro/bmg160_i2c.c              |   4 +-
drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c |   5 +-
drivers/iio/industrialio-acpi.c            |  48 ++-
drivers/iio/light/isl29018.c               |  38 +-
drivers/iio/light/ltr501.c                 |  29 +-
drivers/iio/magnetometer/bmc150_magn.c     |  15 -
include/linux/iio/iio.h                    |  10 +
12 files changed, 315 insertions(+), 338 deletions(-)
[PATCH v3 00/24] iio: Clean up acpi_match_device() use cases
Posted by Andy Shevchenko 1 month ago
There are current uses of acpi_match_device():
- as strange way of checking if the device was enumerated via ACPI
- as a way to get IIO device name as ACPI device instance name
- as above with accompanying driver data

Deduplicate its use by providing two new helper functions in IIO ACPI
library and update the rest accordingly.

This also includes a rework of previously sent ltr501 patch.

Besides that there ie a big clean up for the kxcjk-1013 driver, started
with the revert of the one patch discussed earlier today. Feel free to
route that one via fixes branch of your tree.

In v3:
- collected tags (Marius)
- added note to the documentation about usage of new API (Jonathan)
- added a handful patches for kxcjk-1013 driver

In v2:
- collected tags (Hans, Jean-Baptiste)
- updated SoB chain in patch 4

Andy Shevchenko (24):
  iio: magnetometer: bmc150: Drop dead code from the driver
  iio: adc: pac1934: Replace strange way of checking type of enumeration
  iio: imu: inv_mpu6050: Replace strange way of checking type of
    enumeration
  iio: acpi: Improve iio_read_acpi_mount_matrix()
  iio: acpi: Add iio_get_acpi_device_name_and_data() helper function
  iio: accel: kxcjk-1013: Remove redundant I²C ID
  iio: accel: kxcjk-1013: Revert "Add support for KX022-1020"
  iio: accel: kxcjk-1013: Switch from CONFIG_PM guards to pm_ptr() etc
  iio: accel: kxcjk-1013: Use local variable for regs
  iio: accel: kxcjk-1013: Rename kxcjk1013_info
  iio: accel: kxcjk-1013: Start using chip_info variables instead of
    enum
  iio: accel: kxcjk-1013: Move odr_start_up_times up in the code
  iio: accel: kxcjk-1013: Convert ODR times array to variable in
    chip_info
  iio: accel: kxcjk-1013: Get rid of enum kx_chipset
  iio: accel: kxcjk-1013: Replace a variant of
    iio_get_acpi_device_name_and_data()
  iio: accel: kxcjk-1013: drop ACPI_PTR() and move ID out of CONFIG_ACPI
    guards
  iio: accel: mma9551: Replace custom implementation of
    iio_get_acpi_device_name()
  iio: accel: mma9553: Replace custom implementation of
    iio_get_acpi_device_name()
  iio: gyro: bmg160: Replace custom implementation of
    iio_get_acpi_device_name()
  iio: light: isl29018: Replace a variant of
    iio_get_acpi_device_name_and_data()
  iio: light: isl29018: drop ACPI_PTR() and CONFIG_ACPI guards
  iio: light: ltr501: Drop most likely fake ACPI IDs
  iio: light: ltr501: Add LTER0303 to the supported devices
  iio: light: ltr501: Replace a variant of
    iio_get_acpi_device_name_and_data()

 drivers/iio/accel/kxcjk-1013.c             | 449 +++++++++++----------
 drivers/iio/accel/mma9551.c                |  19 +-
 drivers/iio/accel/mma9553.c                |  19 +-
 drivers/iio/adc/pac1934.c                  |   2 +-
 drivers/iio/gyro/bmg160_core.c             |  15 -
 drivers/iio/gyro/bmg160_i2c.c              |   4 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c |   5 +-
 drivers/iio/industrialio-acpi.c            |  48 ++-
 drivers/iio/light/isl29018.c               |  38 +-
 drivers/iio/light/ltr501.c                 |  29 +-
 drivers/iio/magnetometer/bmc150_magn.c     |  15 -
 include/linux/iio/iio.h                    |  10 +
 12 files changed, 315 insertions(+), 338 deletions(-)

-- 
2.43.0.rc1.1336.g36b5255a03ac

Re: [PATCH v3 00/24] iio: Clean up acpi_match_device() use cases
Posted by Matti Vaittinen 3 weeks, 6 days ago
On 24/10/2024 22:04, Andy Shevchenko wrote:
> There are current uses of acpi_match_device():
> - as strange way of checking if the device was enumerated via ACPI
> - as a way to get IIO device name as ACPI device instance name
> - as above with accompanying driver data
> 
> Deduplicate its use by providing two new helper functions in IIO ACPI
> library and update the rest accordingly.
> 
> This also includes a rework of previously sent ltr501 patch.
> 
> Besides that there ie a big clean up for the kxcjk-1013 driver, started
> with the revert of the one patch discussed earlier today. Feel free to
> route that one via fixes branch of your tree.
> 
> In v3:
> - collected tags (Marius)
> - added note to the documentation about usage of new API (Jonathan)
> - added a handful patches for kxcjk-1013 driver
> 
> In v2:
> - collected tags (Hans, Jean-Baptiste)
> - updated SoB chain in patch 4
> 
> Andy Shevchenko (24):
>    iio: magnetometer: bmc150: Drop dead code from the driver
>    iio: adc: pac1934: Replace strange way of checking type of enumeration
>    iio: imu: inv_mpu6050: Replace strange way of checking type of
>      enumeration
>    iio: acpi: Improve iio_read_acpi_mount_matrix()
>    iio: acpi: Add iio_get_acpi_device_name_and_data() helper function
>    iio: accel: kxcjk-1013: Remove redundant I²C ID
>    iio: accel: kxcjk-1013: Revert "Add support for KX022-1020"
>    iio: accel: kxcjk-1013: Switch from CONFIG_PM guards to pm_ptr() etc
>    iio: accel: kxcjk-1013: Use local variable for regs
>    iio: accel: kxcjk-1013: Rename kxcjk1013_info
>    iio: accel: kxcjk-1013: Start using chip_info variables instead of
>      enum
>    iio: accel: kxcjk-1013: Move odr_start_up_times up in the code
>    iio: accel: kxcjk-1013: Convert ODR times array to variable in
>      chip_info
>    iio: accel: kxcjk-1013: Get rid of enum kx_chipset
>    iio: accel: kxcjk-1013: Replace a variant of
>      iio_get_acpi_device_name_and_data()
>    iio: accel: kxcjk-1013: drop ACPI_PTR() and move ID out of CONFIG_ACPI
>      guards

I missed reviewing these kxcjk changes. Not sure I loved all of them but 
I must admit the resulting code is looks better in general.

Thanks for the clean-up Andy!

Yours,
	-- Matti
Re: [PATCH v3 00/24] iio: Clean up acpi_match_device() use cases
Posted by Andy Shevchenko 3 weeks, 5 days ago
On Tue, Oct 29, 2024 at 08:34:48AM +0200, Matti Vaittinen wrote:
> On 24/10/2024 22:04, Andy Shevchenko wrote:
> > There are current uses of acpi_match_device():
> > - as strange way of checking if the device was enumerated via ACPI
> > - as a way to get IIO device name as ACPI device instance name
> > - as above with accompanying driver data
> > 
> > Deduplicate its use by providing two new helper functions in IIO ACPI
> > library and update the rest accordingly.
> > 
> > This also includes a rework of previously sent ltr501 patch.
> > 
> > Besides that there ie a big clean up for the kxcjk-1013 driver, started
> > with the revert of the one patch discussed earlier today. Feel free to
> > route that one via fixes branch of your tree.
> > 
> > In v3:
> > - collected tags (Marius)
> > - added note to the documentation about usage of new API (Jonathan)
> > - added a handful patches for kxcjk-1013 driver
> > 
> > In v2:
> > - collected tags (Hans, Jean-Baptiste)
> > - updated SoB chain in patch 4
> > 
> > Andy Shevchenko (24):
> >    iio: magnetometer: bmc150: Drop dead code from the driver
> >    iio: adc: pac1934: Replace strange way of checking type of enumeration
> >    iio: imu: inv_mpu6050: Replace strange way of checking type of
> >      enumeration
> >    iio: acpi: Improve iio_read_acpi_mount_matrix()
> >    iio: acpi: Add iio_get_acpi_device_name_and_data() helper function
> >    iio: accel: kxcjk-1013: Remove redundant I²C ID
> >    iio: accel: kxcjk-1013: Revert "Add support for KX022-1020"
> >    iio: accel: kxcjk-1013: Switch from CONFIG_PM guards to pm_ptr() etc
> >    iio: accel: kxcjk-1013: Use local variable for regs
> >    iio: accel: kxcjk-1013: Rename kxcjk1013_info
> >    iio: accel: kxcjk-1013: Start using chip_info variables instead of
> >      enum
> >    iio: accel: kxcjk-1013: Move odr_start_up_times up in the code
> >    iio: accel: kxcjk-1013: Convert ODR times array to variable in
> >      chip_info
> >    iio: accel: kxcjk-1013: Get rid of enum kx_chipset
> >    iio: accel: kxcjk-1013: Replace a variant of
> >      iio_get_acpi_device_name_and_data()
> >    iio: accel: kxcjk-1013: drop ACPI_PTR() and move ID out of CONFIG_ACPI
> >      guards
> 
> I missed reviewing these kxcjk changes. Not sure I loved all of them

Patches are welcome! :-)

> but I must admit the resulting code is looks better in general.
> 
> Thanks for the clean-up Andy!

Thank you for looking at this!

-- 
With Best Regards,
Andy Shevchenko