linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support
@ 2015-08-12 10:12 Markus Pargmann
  2015-08-12 10:12 ` [PATCH 01/20] regmap: Add missing comments about struct regmap_bus Markus Pargmann
                   ` (20 more replies)
  0 siblings, 21 replies; 73+ messages in thread
From: Markus Pargmann @ 2015-08-12 10:12 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

this series was created to add SPI support to the bmc150 accelerometer driver.
To not add any regressions, I had to add some infrastructure that allows to use
regmap with busses that do limit the size of transfers (block smbus). I hope
this is sufficient to not break anything.

The series has several different parts for regmap and the iio driver:

Patches 1-4 fix some minor things in the regmap core code.

Patches 5-11 fix some issues with regmap busses that do not have an
implementation of read() or write(). Currently a lot of the regmap API
functions simply fail for those busses.

Patches 12-14 introduce 'max_raw_io' for busses which defines the max number of
bytes that may be send or received by this bus. This includes handling in
regmap_bulk_read/write and reporting an error for raw_read/writes that are
above this limit (E2BIG).

Patch 15 makes use of max_raw_io by adding smbus i2c block bus driver. This
patch is created to avoid regressions in the bmc150 driver.

Patches 16-20 move bmc150 to use regmap and add SPI support.


As I don't have a bmc150 connected via smbus I am not able to test Patch 14 and
the resulting I2C part of the bmc150 driver. It would be great if someone with
the hardware could test it. Also it would be great to have some test coverage
for all other regmap setups.

Best Regards,

Markus



Markus Pargmann (20):
  regmap: Add missing comments about struct regmap_bus
  regmap: Remove regmap_bulk_write 64bit support
  regmap: Fix integertypes for register address and value
  regmap: Do not skip format initialization
  regmap: Restructure writes in _regmap_raw_write()
  regmap: Fix regmap_bulk_write for bus writes
  regmap: Without bus read() or write(), force use_single_rw
  regmap: Fix regmap_can_raw_write check
  regmap: _regmap_raw_write fix for busses without write()
  regmap: _regmap_raw_multi_reg_write: Add reg_write() support
  regmap: _regmap_raw_read: Add handling of busses without bus->read()
  regmap: Introduce max_raw_io for regmap_bulk_read/write
  regmap: regmap max_raw_io getter function
  regmap: Add raw_write/read checks for max_raw_write/read sizes
  regmap-i2c: Add smbus i2c block support
  iio: bmc150: Fix irq checks
  iio: bmc150: Use i2c regmap
  iio: bcm150: Remove i2c_client from private data
  iio: bmc150: Split the driver into core and i2c
  iio: bmc150: Add SPI driver

 drivers/base/regmap/internal.h                     |   3 +
 drivers/base/regmap/regmap-i2c.c                   |  46 +++
 drivers/base/regmap/regmap.c                       | 221 ++++++++---
 drivers/iio/accel/Kconfig                          |  32 +-
 drivers/iio/accel/Makefile                         |   4 +-
 .../accel/{bmc150-accel.c => bmc150-accel-core.c}  | 404 ++++++++-------------
 drivers/iio/accel/bmc150-accel-i2c.c               | 101 ++++++
 drivers/iio/accel/bmc150-accel-spi.c               |  86 +++++
 drivers/iio/accel/bmc150-accel.h                   |  21 ++
 include/linux/regmap.h                             |   8 +-
 10 files changed, 622 insertions(+), 304 deletions(-)
 rename drivers/iio/accel/{bmc150-accel.c => bmc150-accel-core.c} (82%)
 create mode 100644 drivers/iio/accel/bmc150-accel-i2c.c
 create mode 100644 drivers/iio/accel/bmc150-accel-spi.c
 create mode 100644 drivers/iio/accel/bmc150-accel.h

-- 
2.4.6

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

end of thread, other threads:[~2015-08-17  8:03 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-12 10:12 [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Markus Pargmann
2015-08-12 10:12 ` [PATCH 01/20] regmap: Add missing comments about struct regmap_bus Markus Pargmann
2015-08-12 20:12   ` Hartmut Knaack
2015-08-17  7:19     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 02/20] regmap: Remove regmap_bulk_write 64bit support Markus Pargmann
2015-08-12 10:25   ` Mark Brown
2015-08-12 10:44     ` Markus Pargmann
2015-08-12 10:57       ` Mark Brown
2015-08-12 12:28         ` Markus Pargmann
2015-08-12 12:35           ` Mark Brown
2015-08-12 13:08             ` Markus Pargmann
2015-08-12 14:56               ` Mark Brown
2015-08-12 10:12 ` [PATCH 03/20] regmap: Fix integertypes for register address and value Markus Pargmann
2015-08-12 10:12 ` [PATCH 04/20] regmap: Do not skip format initialization Markus Pargmann
2015-08-12 10:43   ` Mark Brown
2015-08-12 10:12 ` [PATCH 05/20] regmap: Restructure writes in _regmap_raw_write() Markus Pargmann
2015-08-12 10:54   ` Mark Brown
2015-08-12 10:12 ` [PATCH 06/20] regmap: Fix regmap_bulk_write for bus writes Markus Pargmann
2015-08-12 11:10   ` Mark Brown
2015-08-12 12:07     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw Markus Pargmann
2015-08-12 10:33   ` Daniel Kurtz
2015-08-12 10:45     ` Markus Pargmann
2015-08-12 11:13   ` Mark Brown
2015-08-12 10:12 ` [PATCH 08/20] regmap: Fix regmap_can_raw_write check Markus Pargmann
2015-08-12 10:12 ` [PATCH 09/20] regmap: _regmap_raw_write fix for busses without write() Markus Pargmann
2015-08-12 11:20   ` Mark Brown
2015-08-12 12:20     ` Markus Pargmann
2015-08-12 12:34       ` Mark Brown
2015-08-12 13:05         ` Markus Pargmann
2015-08-14 16:40           ` Mark Brown
2015-08-12 10:12 ` [PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add reg_write() support Markus Pargmann
2015-08-12 12:39   ` Mark Brown
2015-08-12 13:17     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 11/20] regmap: _regmap_raw_read: Add handling of busses without bus->read() Markus Pargmann
2015-08-12 11:27   ` Mark Brown
2015-08-12 12:34     ` Markus Pargmann
2015-08-14 16:34       ` Mark Brown
2015-08-12 10:12 ` [PATCH 12/20] regmap: Introduce max_raw_io for regmap_bulk_read/write Markus Pargmann
2015-08-12 11:49   ` Mark Brown
2015-08-12 12:38     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 13/20] regmap: regmap max_raw_io getter function Markus Pargmann
2015-08-12 11:51   ` Mark Brown
2015-08-12 12:51     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 14/20] regmap: Add raw_write/read checks for max_raw_write/read sizes Markus Pargmann
2015-08-12 11:57   ` Mark Brown
2015-08-12 12:47     ` Markus Pargmann
2015-08-14 16:36       ` Mark Brown
2015-08-12 10:12 ` [PATCH 15/20] regmap-i2c: Add smbus i2c block support Markus Pargmann
2015-08-12 11:59   ` Mark Brown
2015-08-12 12:52     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 16/20] iio: bmc150: Fix irq checks Markus Pargmann
2015-08-15 13:13   ` Jonathan Cameron
2015-08-17  7:24     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 17/20] iio: bmc150: Use i2c regmap Markus Pargmann
2015-08-12 12:01   ` Mark Brown
2015-08-12 12:52     ` Markus Pargmann
2015-08-15 13:27   ` Jonathan Cameron
2015-08-17  7:49     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 18/20] iio: bcm150: Remove i2c_client from private data Markus Pargmann
2015-08-15 13:33   ` Jonathan Cameron
2015-08-17  7:57     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 19/20] iio: bmc150: Split the driver into core and i2c Markus Pargmann
2015-08-15 13:41   ` Jonathan Cameron
2015-08-17  7:59     ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 20/20] iio: bmc150: Add SPI driver Markus Pargmann
2015-08-12 12:03   ` Mark Brown
2015-08-17  8:00     ` Markus Pargmann
2015-08-15 13:47   ` Jonathan Cameron
2015-08-17  8:03     ` Markus Pargmann
2015-08-12 10:37 ` [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Mark Brown
2015-08-12 10:47   ` Markus Pargmann
2015-08-14 16:34     ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).