Re: [PATCH] iio: light: vcnl4000: Don't create sysfs PM nodes for child

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 1 Nov 2022 13:21:51 +0100
Mårten Lindahl <marten.lindahl@xxxxxxxx> wrote:

> PM runtime is enabled for the parent i2c device, but it is disabled for
> the iio child device and remains so in this driver. But as the child
> sysfs PM directory is created by default by iio_device_register =>
> cdev_device_add => dpm_sysfs_add it doesn't bring any value exposing it
> since it won't give any usable data for the user.
> 
> Tell dpm_sysfs to not create the PM directory for the iio device.
> 
> Signed-off-by: Mårten Lindahl <marten.lindahl@xxxxxxxx>

Ah this one..  +CC Sudeep who I am sure has considered such changes in other
similar cases (he did the original ones that mean this infastructure exists).

So, the problem here is that it drops an ABI that has existed in IIO for
a long time. I fully admit the ABI is confusing and pointless.  What
I'm not sure on is that we are entirely safe to remove it.

If we are going to do this, it shouldn't be on a per driver basis, but rather
a global change for all IIO drivers with the proviso that we are relying on
the 'if no one notices an ABI change, it is fine' exception to never changing
userspace ABI.

Until now this has more or less only been used for new subsystems or where
there were warnings generated due to spurious interface usage in normal flows.

In IIO, nothing should touch these and I 'think' they don't do anything if
anyone pokes them.

Jonathan


> ---
>  drivers/iio/light/vcnl4000.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
> index f6c83ecaad8b..400dc1155559 100644
> --- a/drivers/iio/light/vcnl4000.c
> +++ b/drivers/iio/light/vcnl4000.c
> @@ -1072,6 +1072,7 @@ static int vcnl4000_probe(struct i2c_client *client,
>  	if (ret < 0)
>  		goto fail_poweroff;
>  
> +	device_set_pm_not_required(&indio_dev->dev);
>  	ret = iio_device_register(indio_dev);
>  	if (ret < 0)
>  		goto fail_poweroff;





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux