Re: [PATCH 3/3] iio: accel: Add support for Kionix/ROHM KX132 accelerometer

Mehdi Djait
2023-03-21T16:34:25Z

Hello Jonathan,

On Sun, Mar 19, 2023 at 04:22:07PM +0000, Jonathan Cameron wrote:
> On Fri, 17 Mar 2023 00:48:37 +0100
> Mehdi Djait <mehdi.djait.k@gmail.com> wrote:
>
> > Add support for the basic accelerometer features such as getting the
> > acceleration data via IIO. (raw reads, triggered buffer [data-ready] or
> > using the WMI IRQ).
> >
> > Datasheet: https://kionixfs.azureedge.net/en/document/KX132-1211-Technical-Reference-Manual-Rev-5.0.pdf
> > Signed-off-by: Mehdi Djait <mehdi.djait.k@gmail.com>
>
> Nothing much specific to this patch, most changes will be as a result
> of bringing this inline with the changes suggested for patch 2.
>
> thanks,
>
> Jonathan
> >
> > diff --git a/drivers/iio/accel/kionix-kx022a.h b/drivers/iio/accel/kionix-kx022a.h
> > index 3bb40e9f5613..7e43bdb37156 100644
> > --- a/drivers/iio/accel/kionix-kx022a.h
> > +++ b/drivers/iio/accel/kionix-kx022a.h
> > @@ -90,8 +90,61 @@
> > #define KX022A_REG_SELF_TEST 0x60
> > #define KX022A_MAX_REGISTER 0x60
> >
> > +
>
> Push these down into the c file.

Do you mean all REG and MASK defines ?
Even kx022a defines them in the h file, or am I misunderstanding your
comment ?

>
> > +#define KX132_REG_WHO 0x13
> > +#define KX132_ID 0x3d
> > +
> > +#define KX132_FIFO_LENGTH 86
> > +
> > +#define KX132_REG_CNTL2 0x1c
> > +#define KX132_REG_CNTL 0x1b
> > +#define KX132_MASK_RES BIT(6)
> > +#define KX132_GSEL_2 0x0
> > +#define KX132_GSEL_4 BIT(3)
> > +#define KX132_GSEL_8 BIT(4)
> > +#define KX132_GSEL_16 GENMASK(4, 3)
> > +
> > +#define KX132_REG_INS2 0x17
> > +#define KX132_MASK_INS2_WMI BIT(5)
> > +
> > +#define KX132_REG_XADP_L 0x02
> > +#define KX132_REG_XOUT_L 0x08
> > +#define KX132_REG_YOUT_L 0x0a
> > +#define KX132_REG_ZOUT_L 0x0c
> > +#define KX132_REG_COTR 0x12
> > +#define KX132_REG_TSCP 0x14
> > +#define KX132_REG_INT_REL 0x1a
> > +
> > +#define KX132_REG_ODCNTL 0x21
> > +
> > +#define KX132_REG_BTS_WUF_TH 0x4a
> > +#define KX132_REG_MAN_WAKE 0x4d
> > +
> > +#define KX132_REG_BUF_CNTL1 0x5e
> > +#define KX132_REG_BUF_CNTL2 0x5f
> > +#define KX132_REG_BUF_STATUS_1 0x60
> > +#define KX132_REG_BUF_STATUS_2 0x61
> > +#define KX132_MASK_BUF_SMP_LVL GENMASK(9, 0)
> > +#define KX132_REG_BUF_CLEAR 0x62
> > +#define KX132_REG_BUF_READ 0x63
> > +#define KX132_ODR_SHIFT 3
> > +#define KX132_FIFO_MAX_WMI_TH 86
> > +
> > +#define KX132_REG_INC1 0x22
> > +#define KX132_REG_INC5 0x26
> > +#define KX132_REG_INC6 0x27
> > +#define KX132_IPOL_LOW 0
> > +#define KX132_IPOL_HIGH KX_MASK_IPOL
> > +#define KX132_ITYP_PULSE KX_MASK_ITYP
> > +
> > +#define KX132_REG_INC4 0x25
> > +
> > +#define KX132_REG_SELF_TEST 0x5d
> > +#define KX132_MAX_REGISTER 0x76
> > +
> > enum kx022a_device_type {
> > KX022A,
> > + KX132,
> As mentioned in previous review, I think this would be neater
> done by just exporting the chip_info structures directly rather than
> putting them in an array.

I gave the reason in a response to the previous review.

--
Kind Regards
Mehdi Djait