Re: [PATCH v4] iio: accel: add Freescale MMA7455L/MMA7456L 3-axis accelerometer driver

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

 



On 31/10/15 21:37, Martin Kepplinger wrote:
> Am 2015-10-31 um 13:49 schrieb Joachim Eastwood:
>> Add support for Freescale MMA7455L/MMA7456L 3-axis in 10-bit mode for
>> I2C and SPI bus. This rather simple driver that currently doesn't
>> support all the hardware features of MMA7455L/MMA7456L.
>>
>> Tested on Embedded Artist's LPC4357 Dev Kit with MMA7455L on I2C bus.
>>
>> Data sheets for the two devices can be found here:
>> http://cache.freescale.com/files/sensors/doc/data_sheet/MMA7455L.pdf
>> http://cache.freescale.com/files/sensors/doc/data_sheet/MMA7456L.pdf
>>
>> Signed-off-by: Joachim Eastwood <manabian@xxxxxxxxx>
>> ---
>> Hi,
>>
>> This version address the comments from Jonathan Cameron.
>>
>> Changes since v3:
>> * use IIO_CONST_ATTR on sampling_frequency_available
>> * allow changing of rate and scaling while buffer is running
>>
>> Changes since v2:
>> * fix id variable name in MODULE_DEVICE_TABLE
>> * make MMA7455_{I2C,SPI} symbols selectable
>> * rebase on linux-next (tag next-20151020)
>>
>> Changes since v1:
>> * limit retries to 3 in mma7455_drdy
>> * remove mma7455_show_scale_avail
>> * use chan->address instead of chan->scan_index for reg addr
>> * check that val2 is 0 when setting sample freq
>> * use __le16 to hint about endianess in mma7455_trigger_handler
>> * fix endianess in mma7455_read_raw function
>> * add mma7456 id
>> * split it into several source files to support both i2c and spi
>>
>>
>>  drivers/iio/accel/Kconfig        |  29 ++++
>>  drivers/iio/accel/Makefile       |   5 +
>>  drivers/iio/accel/mma7455.h      |  20 +++
>>  drivers/iio/accel/mma7455_core.c | 311 +++++++++++++++++++++++++++++++++++++++
>>  drivers/iio/accel/mma7455_i2c.c  |  57 +++++++
>>  drivers/iio/accel/mma7455_spi.c  |  53 +++++++
>>  6 files changed, 475 insertions(+)
>>  create mode 100644 drivers/iio/accel/mma7455.h
>>  create mode 100644 drivers/iio/accel/mma7455_core.c
>>  create mode 100644 drivers/iio/accel/mma7455_i2c.c
>>  create mode 100644 drivers/iio/accel/mma7455_spi.c
>>
>> diff --git a/drivers/iio/accel/Kconfig b/drivers/iio/accel/Kconfig
>> index 969428dd6329..728a7761aaa6 100644
>> --- a/drivers/iio/accel/Kconfig
>> +++ b/drivers/iio/accel/Kconfig
>> @@ -107,6 +107,35 @@ config KXCJK1013
>>  	  To compile this driver as a module, choose M here: the module will
>>  	  be called kxcjk-1013.
>>  
>> +config MMA7455
>> +	tristate
>> +	select IIO_BUFFER
>> +	select IIO_TRIGGERED_BUFFER
>> +
>> +config MMA7455_I2C
>> +	tristate "Freescale MMA7455L/MMA7456L Accelerometer I2C Driver"
>> +	depends on I2C
>> +	select MMA7455
>> +	select REGMAP_I2C
>> +	help
>> +	  Say yes here to build support for the Freescale MMA7455L and
>> +	  MMA7456L 3-axis accelerometer.
>> +
>> +	  To compile this driver as a module, choose M here: the module
>> +	  will be called mma7455_i2c.
>> +
>> +config MMA7455_SPI
>> +	tristate "Freescale MMA7455L/MMA7456L Accelerometer SPI Driver"
>> +	depends on SPI_MASTER
>> +	select MMA7455
>> +	select REGMAP_SPI
>> +	help
>> +	  Say yes here to build support for the Freescale MMA7455L and
>> +	  MMA7456L 3-axis accelerometer.
>> +
>> +	  To compile this driver as a module, choose M here: the module
>> +	  will be called mma7455_spi.
>> +
>>  config MMA8452
>>  	tristate "Freescale MMA8452Q and similar Accelerometers Driver"
>>  	depends on I2C
>> diff --git a/drivers/iio/accel/Makefile b/drivers/iio/accel/Makefile
>> index 7925f166e6e9..7ea21f8b7d98 100644
>> --- a/drivers/iio/accel/Makefile
>> +++ b/drivers/iio/accel/Makefile
>> @@ -10,6 +10,11 @@ obj-$(CONFIG_BMC150_ACCEL_SPI) += bmc150-accel-spi.o
>>  obj-$(CONFIG_HID_SENSOR_ACCEL_3D) += hid-sensor-accel-3d.o
>>  obj-$(CONFIG_KXCJK1013) += kxcjk-1013.o
>>  obj-$(CONFIG_KXSD9)	+= kxsd9.o
>> +
>> +obj-$(CONFIG_MMA7455)		+= mma7455_core.o
>> +obj-$(CONFIG_MMA7455_I2C)	+= mma7455_i2c.o
>> +obj-$(CONFIG_MMA7455_SPI)	+= mma7455_spi.o
>> +
>>  obj-$(CONFIG_MMA8452)	+= mma8452.o
>>  
>>  obj-$(CONFIG_MMA9551_CORE)	+= mma9551_core.o
>> diff --git a/drivers/iio/accel/mma7455.h b/drivers/iio/accel/mma7455.h
>> new file mode 100644
>> index 000000000000..8fae9345da88
>> --- /dev/null
>> +++ b/drivers/iio/accel/mma7455.h
>> @@ -0,0 +1,20 @@
>> +/*
>> + * IIO accel header for Freescale MMA7455L 3-axis 10-bit accelerometer
>> + * Copyright 2015 Joachim Eastwood <manabian@xxxxxxxxx>
>> + *
> 
> Even though they are very similar (internal technological differences),
> you could mention both supported chips here and in the other files. Btw,
> I would also s/header/driver here.
> 
> That is, in case you get to do another version.
> 
Hi Martin,

I can see where you are coming from, but typically I'd actually advocate
mentioning the list of supported parts in as few a places as possible as
they tend to get out of sync if we end up with a driver supporting lots
of parts.  We have gotten round this in the past but saying something
like **** and similar or *** and compatible but that's always a bit clunky.

I'll switch header to driver in the application of the patch.

Jonathan

--
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