Re: [PATCH v2 resend] i2c: mux: pca954x: allow management of device idle state via sysfs

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

 



Hi Robert,

On 2019-02-21 21:42, Robert Shearman wrote:

*snip*

>>> index bfabf985e830..c032396abdcc 100644
>>> --- a/drivers/i2c/muxes/i2c-mux-pca954x.c
>>> +++ b/drivers/i2c/muxes/i2c-mux-pca954x.c
>>> @@ -50,6 +50,7 @@
>>>   #include <linux/pm.h>
>>>   #include <linux/slab.h>
>>>   #include <linux/spinlock.h>
>>> +#include <dt-bindings/mux/mux.h>
>>
>> It is a bit questionable to borrow the include from an unrelated subsystem just
>> because it happens to match the current need. Not sure if this is good?
> 
> Ok, will add local definitions then.

I had a change of heart - we can always fork later. But go with local defs
if you have already done it and don't want to go back. Sorry for the
ambivalence...

*snip*

>>> +		/*
>>> +		 * Some channels may be deselected, but this is safer
>>> +		 * than claiming idle-disconnect behaviour when
>>> +		 * inspected.
>>> +		 */
>>> +		data->idle_state = MUX_IDLE_AS_IS;
>>
>> Oooh, this is lying and can thoroughly confuse unsuspecting users. It would be
>> better with a "mixed" state or perhaps with a per channel idle attribute. I don't
>> know, but this I do not like.
>>
>> But are there even any users out there that makes use of the per-channel
>> disconnect feature? I find none, so it should be possible to simply nuke the
>> platform data include (include/linux/platform_data/pca954x.h) since it is
>> only used by i2c-mux-pca9541.c and i2c-mux-pca954x.c. Without that, there is
>> no way to have per-channel differences.
>>
>> Are you willing to work on that?
> 
> Absolutely - that makes things simpler and makes these changes cleaner.

Looking forward to the next iteration, thanks!

Cheers,
Peter




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux