mbox series

[RESEND,v3,0/5] iio: adc: qcom-spmi-vadc: Propagate fw node label to userspace

Message ID 20230502-iio-adc-propagate-fw-node-label-v3-0-6be5db6e6b5a@somainline.org
Headers show
Series iio: adc: qcom-spmi-vadc: Propagate fw node label to userspace | expand

Message

Marijn Suijten May 1, 2023, 11:17 p.m. UTC
Implement read_label in qcom-spmi-vadc to see DT-specified label names
in userspace.  At the same time clear up some documentation around
extend_name to promote read_label, and normalize similar code in
qcom-spmi-adc5.

v3 resend: added missing to/cc addresses via b4 prep --auto-to-cc.

Changes since v2:
- Dropped RFC tag;
- Reworded @extend_name deprecation comment.

v2: https://lore.kernel.org/r/20230116220909.196926-1-marijn.suijten@somainline.org

Changes since v1:
- qcom-spmi-vadc: Use read_label instead of extend_name.

New since v1:
- core: Point users of extend_name field to read_label callback
- qcom-spmi-adc5: Use datasheet_name string literal for
  iio_chan_spec::datasheet_name;
- qcom-spmi-adc5: Fall back to datasheet_name instead of
  fwnode_get_name() for iio_chan_spec::extend_name (gets rid of @xx in
  sysfs filenames and labels);
- qcom-spmi-adc5: Remove unnecessary datasheet_name NULL check.

v1: https://lore.kernel.org/linux-arm-msm/20221106193018.270106-1-marijn.suijten@somainline.org/
---
Marijn Suijten (5):
      iio: core: Point users of extend_name field to read_label callback
      iio: adc: qcom-spmi-adc5: Use driver datasheet_name instead of DT label
      iio: adc: qcom-spmi-adc5: Fall back to datasheet_name instead of fwnode name
      iio: adc: qcom-spmi-adc5: Remove unnecessary datasheet_name NULL check
      iio: adc: qcom-spmi-vadc: Propagate fw node label to userspace

 drivers/iio/adc/qcom-spmi-adc5.c | 15 +++++++--------
 drivers/iio/adc/qcom-spmi-vadc.c | 19 ++++++++++++++++++-
 include/linux/iio/iio.h          |  3 +++
 3 files changed, 28 insertions(+), 9 deletions(-)
---
base-commit: 92e815cf07ed24ee1c51b122f24ffcf2964b4b13
change-id: 20230502-iio-adc-propagate-fw-node-label-b1fff2e63ae8

Comments

Dmitry Baryshkov May 7, 2023, 3:43 p.m. UTC | #1
On 02/05/2023 02:17, Marijn Suijten wrote:
> Set the read_label() callback to return a friendly name provided in DT
> (firmware), in order to make in_{therm,voltage}X_label attributes show
> up in sysfs for userspace to consume a channel name.  This is
> particularly useful for custom thermistors being attached to otherwise
> generically named GPIOs, where the name is known by the board DT.
> 
> If the channel name isn't set in DT, use the datasheet_name hardcoded in
> the driver instead.
> 
> Note that this doesn't fall back to fwnode_get_name() as that provides
> suboptimally readable names, with an @xx address suffix from board DT.
> 
> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
> ---
>   drivers/iio/adc/qcom-spmi-vadc.c | 19 ++++++++++++++++++-
>   1 file changed, 18 insertions(+), 1 deletion(-)

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Dmitry Baryshkov May 7, 2023, 3:46 p.m. UTC | #2
On 02/05/2023 02:17, Marijn Suijten wrote:
> Since the migration to fwnode_get_name in commit 4f47a236a23d ("iio:
> adc: qcom-spmi-adc5: convert to device properties") the resulting
> adc5_channel_prop::channel_name (renamed from datasheet_name in the
> previous patch) - which is propagated into iio_chan_spec::extend_name -
> was containing the DT node name including @xx suffix if a "label"
> property is not present, while adc5_channels::datasheet_name was thus
> far set by the macros but always remained unread.  Put it to use instead
> of using a confusing name containing @xx in sysfs filenames (again, when
> "label" is not set).
> 
> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
> ---
>   drivers/iio/adc/qcom-spmi-adc5.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Jonathan Cameron May 13, 2023, 5:28 p.m. UTC | #3
On Sun, 7 May 2023 18:43:16 +0300
Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote:

> On 02/05/2023 02:17, Marijn Suijten wrote:
> > Set the read_label() callback to return a friendly name provided in DT
> > (firmware), in order to make in_{therm,voltage}X_label attributes show
> > up in sysfs for userspace to consume a channel name.  This is
> > particularly useful for custom thermistors being attached to otherwise
> > generically named GPIOs, where the name is known by the board DT.
> > 
> > If the channel name isn't set in DT, use the datasheet_name hardcoded in
> > the driver instead.
> > 
> > Note that this doesn't fall back to fwnode_get_name() as that provides
> > suboptimally readable names, with an @xx address suffix from board DT.
> > 
> > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
> > ---
> >   drivers/iio/adc/qcom-spmi-vadc.c | 19 ++++++++++++++++++-
> >   1 file changed, 18 insertions(+), 1 deletion(-)  
> 
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> 

Thanks,

Series applied to the togreg branch of iio.git - initially pushed out
as testing to let 0-day work it's magic before I go potentially making
a mess in linux-next.

Jonathan