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 Sun, Nov 06, 2022 at 04:23:07PM +0100, Jonathan Cameron wrote:
> 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

Hi Jonathan!

Thanks. I'll drop this change then.

Kind regards
Mårten
> 
> 
> > ---
> >  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