Re: [PATCH v2 0/4] iio: vcnl4000: add support for vcnl4200

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

 



Hi Jonathan,

On Tue, 24 Jul 2018 22:01:17 +0100
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:

> On Mon, 23 Jul 2018 19:58:16 +0200
> Tomas Novotny <tomas@xxxxxxxxxx> wrote:
> 
> > Hi Jonathan,
> > 
> > On Sat, 21 Jul 2018 18:25:26 +0100
> > Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
> >   
> > > On Tue, 17 Jul 2018 18:46:51 +0200
> > > Tomas Novotny <tomas@xxxxxxxxxx> wrote:
> > >     
> > > > This is the second iteration of vcnl4200 support. The first one was posted
> > > > on February, sorry for the long delay. I've implemented all notes from
> > > > reviews (thanks to Peter and Jonathan) and nothing more.
> > > > 
> > > > Changes in v2:
> > > > - reading light and proximity values for vcnl4200 is blocking (if you
> > > >   request new value too early)
> > > > - patches 2 and 3 were added; original patch 2 is now patch 4
> > > > - vcnl4010 id is handled (patch 2)
> > > > - warn user on incorrect usage of vcnl40{0,1}0 id (patch 3)
> > > > - minor stuff (add parenthesis, switch instead of if, rename sensors to
> > > >   channels, fix return)
> > > > 
> > > > Please note that I'm not sure if it is still good idea to have same driver
> > > > for vcnl4000 and vcnl4200. The amount of different parts in v2 is even
> > > > bigger. Just see below for differences and add the blocking read which is
> > > > added in v2 for vcnl4200.      
> > > 
> > > Definitely marginal.  My view is it's your choice as the person doing
> > > the work!  Which would you prefer?    
> > 
> > Well, I was thinking about different driver in the first place. But the reason
> > was quite selfish (and not the technical one), as I'm interested only in
> > vcnl4200. But I've seen general attitude to combine similar drivers so I've
> > tried that way and I'm fine with the result. The only ugly part are some chip
> > specific things in a shared data structure.
> >   
> > > I'm pretty happy with these patches if you want to go this way, but
> > > given I assume you might add the support for other features, if you
> > > think that is going to get even worse, then now is the time to make
> > > the decision to not have a unified driver.    
> > 
> > I will probably add some settings, but this should be handled easily. I don't
> > see anything problematic in the future (well, maybe interrupts or
> > thresholds?), as both variants are more or less simple light and proximity
> > chips.
> >   
> > > Sadly it might be a case of doing a 'hatchet' job on the code to
> > > make a separate driver and see what it looks like.  If it's really
> > > short and clean (which it probably is) then go with separate drivers.    
> > 
> > The separate vcnl4200 would be indeed short and clean. The structure and
> > size would be very similar to current vcnl4000.
> > 
> > Anyway, I don't have enough experience to judge what is better. I'm ok to do
> > any variant.  
> 
> Let's go with what you have here on the basis it's marginal but you have
> done the work for this option already which makes this the better option!

ok, thanks for all your comments. I will prepare v3 then.

Tomas

> Jonathan
> 
> > 
> > Thanks for the review,
> > 
> > Tomas
> >   
> > > Jonathan
> > >     
> > > > 
> > > > Cover letter from v1:
> > > > 
> > > > VCNL4200 is another proximity and ambient light sensor from Vishay. I'm
> > > > adding support for that sensor to vcnl4000 driver, which currently supports
> > > > VCNL4000/10/20.
> > > > 
> > > > The VCNL4200 is a bit different from VCNL4000/10/20. Common things are:
> > > > - integrated proximity and ambient light sensor
> > > > - SMBus compatible I2C interface
> > > > - Vishay VCNL4xxx series...
> > > > 
> > > > Different things are:
> > > > - totally different register map
> > > > - 8-bit vs. 16-bit registers. The 16-bit values are in two 8-bit registers
> > > >   on VCNL4000. 16-bit value is in one register on VCNL4200.
> > > > - VCNL4000 has flags when the measurement is finished
> > > > 
> > > > The first patch generalizes the driver to support differencies. The second
> > > > patch adds the support for VCNL4200.
> > > > 
> > > > It is tested on VCNL4020 and VCNL4200.
> > > > 
> > > > Tomas Novotny (4):
> > > >   iio: vcnl4000: make the driver extendable
> > > >   iio: vcnl4000: add VCNL4010 device id
> > > >   iio: vcnl4000: warn on incorrectly specified device id
> > > >   iio: vcnl4000: add support for VCNL4200
> > > > 
> > > >  drivers/iio/light/Kconfig    |   5 +-
> > > >  drivers/iio/light/vcnl4000.c | 219 ++++++++++++++++++++++++++++++++++++++-----
> > > >  2 files changed, 196 insertions(+), 28 deletions(-)
> > > >       
> > > 
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> > > the body of a message to majordomo@xxxxxxxxxxxxxxx
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > >     
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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