Am 2015-11-01 um 19:01 schrieb Jonathan Cameron: > 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 see. Kconfig should probably contain all supported products, so refering to Kconfig would be scalable... In this case, I don't really fear that this driver will support more chips. These 2 are all (that are very similar / equal) there are, and are relatively old, not "recommended" by the vendor anymore. Nothing I don't like about the driver, just thoughts. martin > > 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