Re: [PATCH v3 2/2] iio: accel: bma400: Add support for single and double tap events

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

 



On Sat, 27 Aug 2022 03:36:23 +0530
Jagath Jog J <jagathjog1996@xxxxxxxxx> wrote:

> Hi Andy,
> 
> On Fri, Aug 26, 2022 at 1:53 AM Andy Shevchenko
> <andy.shevchenko@xxxxxxxxx> wrote:
> >
> > On Thu, Aug 25, 2022 at 10:46 PM Jagath Jog J <jagathjog1996@xxxxxxxxx> wrote:  
> > >
> > > Add support for single and double tap events based on the tap threshold
> > > value, minimum quiet time before and after the tap and minimum time
> > > between the taps in the double tap. The INT1 pin is used to interrupt
> > > and the event is pushed to userspace.  
> >
> > ...
> >  
> > > +static int tap_reset_timeout[] = {
> > > +       300000,
> > > +       400000,
> > > +       500000,
> > > +       600000  
> >
> > + Comma and so on for the rest of the similar cases.  
> 
> This is the terminator case so I have not added a comma in the last.
> All three tap configurations have only 4 value options.
> 
> >  
> > > +};  
> >
> > ...
> >  
> > > +static int usec_to_tapreg_raw(int usec, const int *time_list)
> > > +{
> > > +       int index;
> > > +
> > > +       for (index = 0; index < 4; index++) {  
> >
> > Magic. Shouldn't be defined?  
> 
> All tap configuration value arrays are of size 4, I will define a
> macro for that.
> 
> >
> > Also you may add it to each data structure in question.  
> 
> Do you mean storing these values in the device's private structure?

I suspect Andy means making sure they are all 4 long via
+static int tap_reset_timeout[NEW_LENGTH_DEFINE] = {
etc.


> 
> Tap configuration values are not stored in the device's private
> structure because.
> - I am directly accessing the device registers in _read_event_value()
> and _write_event_value().
> - These configuration values are not used in the other parts of
> the driver.
> - Two of these configurations have a default value so instead of
> reading and storing these values in the device's private structure
> during device init, I am directly accessing the device's register.
> 
> >  
> > > +               if (usec == time_list[index])
> > > +                       return index;
> > > +       }
> > > +       return -EINVAL;
> > > +}  
> >
> > ...
> >  
> > > +       int ret;
> > > +       unsigned int mask, field_value;  
> >
> > Reversed xmas tree order?
> >  
> > > +        * Tap interrupts are operating with the data rate of 200Hz.  
> >
> > a data  
> 
> Sure, I will correct these in the next patch series.
> 
> Thank you
> Jagath
> 
> >  
> > > +        * See section 4.7 "Tap sensing interrupt" in datasheet v1.2.
> > > +        */  
> >
> > --
> > With Best Regards,
> > Andy Shevchenko  




[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