mbox series

[0/4] iio: Start conversion to sysfs_emit()

Message ID 20210320071405.9347-1-lars@metafoo.de (mailing list archive)
Headers show
Series iio: Start conversion to sysfs_emit() | expand

Message

Lars-Peter Clausen March 20, 2021, 7:14 a.m. UTC
sysfs_emit() and sysfs_emit_at() are new helper functions for output data
for sysfs attributes. They are preferred over raw s*printf() for sysfs
attributes since it knows about the sysfs buffer specifics and has some
built-in sanity checks.

This patch series updates the IIO core to make use these new helper
functions instead of raw s*printf().

In addition all the powerdown callbacks of DAC drivers are also updated to
use sysfs_emit().

There remain many instances of s*printf() in individual drivers for now.
These can be converted in follow up patch series.

But in many cases rather than doing the conversion from s*printf() to
sysfs_emit() it will be better to convert those drivers to implement
read_raw() or read_avail() callbacks and let the IIO core do the
formatting.

Implementing read_raw() or read_avail() instead of directly implementing a
sysfs attribute has the advantage that the data can then also be accessed
through in-kernel APIs and is available to in-kernel consumers.

Lars-Peter Clausen (4):
  iio: core: Use sysfs_emit() (trivial bits)
  iio: iio_enum_available_read(): Convert to sysfs_emit_at()
  iio: __iio_format_value(): Convert to sysfs_emit_at()
  iio: dac: Convert powerdown read callbacks to sysfs_emit()

 drivers/iio/dac/ad5064.c           |  2 +-
 drivers/iio/dac/ad5360.c           |  2 +-
 drivers/iio/dac/ad5380.c           |  2 +-
 drivers/iio/dac/ad5446.c           |  2 +-
 drivers/iio/dac/ad5504.c           |  4 +-
 drivers/iio/dac/ad5624r_spi.c      |  4 +-
 drivers/iio/dac/ad5686.c           |  2 +-
 drivers/iio/dac/ad5755.c           |  4 +-
 drivers/iio/dac/ad5758.c           |  2 +-
 drivers/iio/dac/ad5770r.c          |  2 +-
 drivers/iio/dac/ad5791.c           |  2 +-
 drivers/iio/dac/ad7303.c           |  2 +-
 drivers/iio/dac/ltc2632.c          |  4 +-
 drivers/iio/dac/max5821.c          |  2 +-
 drivers/iio/dac/mcp4725.c          |  2 +-
 drivers/iio/dac/stm32-dac.c        |  2 +-
 drivers/iio/dac/ti-dac082s085.c    |  2 +-
 drivers/iio/dac/ti-dac5571.c       |  2 +-
 drivers/iio/dac/ti-dac7311.c       |  2 +-
 drivers/iio/industrialio-buffer.c  | 20 ++++-----
 drivers/iio/industrialio-core.c    | 70 +++++++++++++++---------------
 drivers/iio/industrialio-event.c   |  2 +-
 drivers/iio/industrialio-trigger.c |  4 +-
 23 files changed, 71 insertions(+), 71 deletions(-)

Comments

Jonathan Cameron March 20, 2021, 6:34 p.m. UTC | #1
On Sat, 20 Mar 2021 08:14:01 +0100
Lars-Peter Clausen <lars@metafoo.de> wrote:

> sysfs_emit() and sysfs_emit_at() are new helper functions for output data
> for sysfs attributes. They are preferred over raw s*printf() for sysfs
> attributes since it knows about the sysfs buffer specifics and has some
> built-in sanity checks.
> 
> This patch series updates the IIO core to make use these new helper
> functions instead of raw s*printf().
> 
> In addition all the powerdown callbacks of DAC drivers are also updated to
> use sysfs_emit().
> 
> There remain many instances of s*printf() in individual drivers for now.
> These can be converted in follow up patch series.
> 
> But in many cases rather than doing the conversion from s*printf() to
> sysfs_emit() it will be better to convert those drivers to implement
> read_raw() or read_avail() callbacks and let the IIO core do the
> formatting.
> 
> Implementing read_raw() or read_avail() instead of directly implementing a
> sysfs attribute has the advantage that the data can then also be accessed
> through in-kernel APIs and is available to in-kernel consumers.

Looks good to me. I'll let this sit on the list for a little while
though as obviously touch a lot of drivers + core code so others
may well want to check we haven't missed anything!

Jonathan

> 
> Lars-Peter Clausen (4):
>   iio: core: Use sysfs_emit() (trivial bits)
>   iio: iio_enum_available_read(): Convert to sysfs_emit_at()
>   iio: __iio_format_value(): Convert to sysfs_emit_at()
>   iio: dac: Convert powerdown read callbacks to sysfs_emit()
> 
>  drivers/iio/dac/ad5064.c           |  2 +-
>  drivers/iio/dac/ad5360.c           |  2 +-
>  drivers/iio/dac/ad5380.c           |  2 +-
>  drivers/iio/dac/ad5446.c           |  2 +-
>  drivers/iio/dac/ad5504.c           |  4 +-
>  drivers/iio/dac/ad5624r_spi.c      |  4 +-
>  drivers/iio/dac/ad5686.c           |  2 +-
>  drivers/iio/dac/ad5755.c           |  4 +-
>  drivers/iio/dac/ad5758.c           |  2 +-
>  drivers/iio/dac/ad5770r.c          |  2 +-
>  drivers/iio/dac/ad5791.c           |  2 +-
>  drivers/iio/dac/ad7303.c           |  2 +-
>  drivers/iio/dac/ltc2632.c          |  4 +-
>  drivers/iio/dac/max5821.c          |  2 +-
>  drivers/iio/dac/mcp4725.c          |  2 +-
>  drivers/iio/dac/stm32-dac.c        |  2 +-
>  drivers/iio/dac/ti-dac082s085.c    |  2 +-
>  drivers/iio/dac/ti-dac5571.c       |  2 +-
>  drivers/iio/dac/ti-dac7311.c       |  2 +-
>  drivers/iio/industrialio-buffer.c  | 20 ++++-----
>  drivers/iio/industrialio-core.c    | 70 +++++++++++++++---------------
>  drivers/iio/industrialio-event.c   |  2 +-
>  drivers/iio/industrialio-trigger.c |  4 +-
>  23 files changed, 71 insertions(+), 71 deletions(-)
>