All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] iio: accel: bma400: Add support for buffer and step
@ 2022-03-26 19:41 Jagath Jog J
  2022-03-26 19:41 ` [PATCH v2 1/5] iio: accel: bma400: Fix the scale min and max macro values Jagath Jog J
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Jagath Jog J @ 2022-03-26 19:41 UTC (permalink / raw)
  To: dan, jic23, andy.shevchenko; +Cc: linux-iio, linux-kernel

This patch series adds trigger buffer support with data ready interrupt,
separate channel for step counter and an event for step change interrupt.

changes since v1
1. Added comment section that describes the math for scale calculation.
2. Added separate devm_add_action_or_reset() calls to disable regulator
   and to put the sensor in power down mode.
3. Remove the err_reg_disable and out, goto labels and returning directly
   if error occurs.
4. Added mutex calls while putting sensor in power down.
5. Added ___cacheline_aligned for device data.
6. Ordering the header includes.
7. Handling erroneous and spurious interrupts in the interrupt handler
   by returning IRQ_NONE.
8. Using dev_err_probe() instead of dev_err().
9. Configured the interrupt to open drain.
10. Using le16_to_cpu() to fix the sparse warning.
11. Checking the step change event is enabled or not.
12. Enabling the step change event will also enable the step channel.
13. Using FIELD_GET() instead of bitwise operation.
14. Removal of dead code in the _event_config().

Jagath Jog J (5):
  iio: accel: bma400: Fix the scale min and max macro values
  iio: accel: bma400: conversion to device-managed function
  iio: accel: bma400: Add triggered buffer support
  iio: accel: bma400: Add separate channel for step counter
  iio: accel: bma400: Add step change event

 drivers/iio/accel/Kconfig       |   2 +
 drivers/iio/accel/bma400.h      |  37 +++-
 drivers/iio/accel/bma400_core.c | 351 +++++++++++++++++++++++++++-----
 drivers/iio/accel/bma400_i2c.c  |  10 +-
 drivers/iio/accel/bma400_spi.c  |  10 +-
 5 files changed, 341 insertions(+), 69 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 18+ messages in thread
* Re: [PATCH v2 5/5] iio: accel: bma400: Add step change event
@ 2022-03-26 22:26 kernel test robot
  0 siblings, 0 replies; 18+ messages in thread
From: kernel test robot @ 2022-03-26 22:26 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 4144 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <20220326194146.15549-6-jagathjog1996@gmail.com>
References: <20220326194146.15549-6-jagathjog1996@gmail.com>
TO: Jagath Jog J <jagathjog1996@gmail.com>
TO: dan(a)dlrobertson.com
TO: jic23(a)kernel.org
TO: andy.shevchenko(a)gmail.com
CC: linux-iio(a)vger.kernel.org
CC: linux-kernel(a)vger.kernel.org

Hi Jagath,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.17]
[cannot apply to jic23-iio/togreg next-20220325]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Jagath-Jog-J/iio-accel-bma400-Add-support-for-buffer-and-step/20220327-034340
base:    f443e374ae131c168a065ea1748feac6b2e76613
:::::: branch date: 3 hours ago
:::::: commit date: 3 hours ago
config: parisc-randconfig-c024-20220327 (https://download.01.org/0day-ci/archive/20220327/202203270615.KLDZXbOm-lkp(a)intel.com/config)
compiler: hppa-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>


cocci warnings: (new ones prefixed by >>)
>> drivers/iio/accel/bma400_core.c:924:4-10: preceding lock on line 916

vim +924 drivers/iio/accel/bma400_core.c

289ea151b60e04 Jagath Jog J 2022-03-27  905  
289ea151b60e04 Jagath Jog J 2022-03-27  906  static int bma400_write_event_config(struct iio_dev *indio_dev,
289ea151b60e04 Jagath Jog J 2022-03-27  907  				     const struct iio_chan_spec *chan,
289ea151b60e04 Jagath Jog J 2022-03-27  908  				     enum iio_event_type type,
289ea151b60e04 Jagath Jog J 2022-03-27  909  				     enum iio_event_direction dir, int state)
289ea151b60e04 Jagath Jog J 2022-03-27  910  {
289ea151b60e04 Jagath Jog J 2022-03-27  911  	int ret;
289ea151b60e04 Jagath Jog J 2022-03-27  912  	struct bma400_data *data = iio_priv(indio_dev);
289ea151b60e04 Jagath Jog J 2022-03-27  913  
289ea151b60e04 Jagath Jog J 2022-03-27  914  	switch (type) {
289ea151b60e04 Jagath Jog J 2022-03-27  915  	case IIO_EV_TYPE_CHANGE:
289ea151b60e04 Jagath Jog J 2022-03-27 @916  		mutex_lock(&data->mutex);
289ea151b60e04 Jagath Jog J 2022-03-27  917  		if (!data->steps_enabled) {
289ea151b60e04 Jagath Jog J 2022-03-27  918  			ret = regmap_update_bits(data->regmap,
289ea151b60e04 Jagath Jog J 2022-03-27  919  						 BMA400_INT_CONFIG1_REG,
289ea151b60e04 Jagath Jog J 2022-03-27  920  						 BMA400_STEP_INT_MSK,
289ea151b60e04 Jagath Jog J 2022-03-27  921  						 FIELD_PREP(BMA400_STEP_INT_MSK,
289ea151b60e04 Jagath Jog J 2022-03-27  922  							    1));
289ea151b60e04 Jagath Jog J 2022-03-27  923  			if (ret)
289ea151b60e04 Jagath Jog J 2022-03-27 @924  				return ret;
289ea151b60e04 Jagath Jog J 2022-03-27  925  			data->steps_enabled = 1;
289ea151b60e04 Jagath Jog J 2022-03-27  926  		}
289ea151b60e04 Jagath Jog J 2022-03-27  927  
289ea151b60e04 Jagath Jog J 2022-03-27  928  		ret = regmap_update_bits(data->regmap,
289ea151b60e04 Jagath Jog J 2022-03-27  929  					 BMA400_INT12_MAP_REG,
289ea151b60e04 Jagath Jog J 2022-03-27  930  					 BMA400_STEP_INT_MSK,
289ea151b60e04 Jagath Jog J 2022-03-27  931  					 FIELD_PREP(BMA400_STEP_INT_MSK,
289ea151b60e04 Jagath Jog J 2022-03-27  932  						    state));
289ea151b60e04 Jagath Jog J 2022-03-27  933  		mutex_unlock(&data->mutex);
289ea151b60e04 Jagath Jog J 2022-03-27  934  		if (ret)
289ea151b60e04 Jagath Jog J 2022-03-27  935  			return ret;
289ea151b60e04 Jagath Jog J 2022-03-27  936  		data->step_event_en = state;
289ea151b60e04 Jagath Jog J 2022-03-27  937  		return 0;
289ea151b60e04 Jagath Jog J 2022-03-27  938  	default:
289ea151b60e04 Jagath Jog J 2022-03-27  939  		return -EINVAL;
289ea151b60e04 Jagath Jog J 2022-03-27  940  	}
289ea151b60e04 Jagath Jog J 2022-03-27  941  }
289ea151b60e04 Jagath Jog J 2022-03-27  942  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2022-04-03  7:48 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-26 19:41 [PATCH v2 0/5] iio: accel: bma400: Add support for buffer and step Jagath Jog J
2022-03-26 19:41 ` [PATCH v2 1/5] iio: accel: bma400: Fix the scale min and max macro values Jagath Jog J
2022-03-27 16:31   ` Jonathan Cameron
2022-03-26 19:41 ` [PATCH v2 2/5] iio: accel: bma400: conversion to device-managed function Jagath Jog J
2022-03-27 16:35   ` Jonathan Cameron
2022-03-26 19:41 ` [PATCH v2 3/5] iio: accel: bma400: Add triggered buffer support Jagath Jog J
2022-03-27 16:45   ` Jonathan Cameron
2022-03-28 18:38     ` Jagath Jog J
2022-03-27 19:45   ` Andy Shevchenko
2022-03-28 17:02     ` Jonathan Cameron
2022-03-26 19:41 ` [PATCH v2 4/5] iio: accel: bma400: Add separate channel for step counter Jagath Jog J
2022-03-27 19:43   ` Andy Shevchenko
2022-03-26 19:41 ` [PATCH v2 5/5] iio: accel: bma400: Add step change event Jagath Jog J
2022-03-27 16:50   ` Jonathan Cameron
2022-03-28 20:37     ` Jagath Jog J
2022-04-02 16:37       ` Jonathan Cameron
2022-04-03  7:48         ` Jagath Jog J
2022-03-26 22:26 kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.