LKML Archive on lore.kernel.org
 help / color / Atom feed
* [RFC PATCH 0/4] i2c: core: add generic GPIO bus recovery
@ 2020-06-19 14:19 Codrin Ciubotariu
  2020-06-19 14:19 ` [RFC PATCH 1/4] dt-binding: i2c: add generic properties for " Codrin Ciubotariu
                   ` (4 more replies)
  0 siblings, 5 replies; 27+ messages in thread
From: Codrin Ciubotariu @ 2020-06-19 14:19 UTC (permalink / raw)
  To: linux-i2c, devicetree, linux-kernel, linux-arm-kernel
  Cc: wsa, robh+dt, ludovic.desroches, nicolas.ferre,
	alexandre.belloni, linux, kamel.bouhara, Codrin Ciubotariu

GPIO recovery has been added already for some I2C bus drivers, such as
imx, pxa and at91. These drivers use similar bindings and have more or
less the same code for recovery. For this reason, we aim to move the
GPIO bus recovery implementation to the I2C core so that other drivers
can benefit from it, with small modifications.
This implementation initializes the pinctrl states and the SDA/SCL
GPIOs based on common bindings. The I2C bus drivers can still use
different bindings or other particular recovery steps if needed.
The ugly part with this patch series is the handle of PROBE_DEFER
which could be returned by devm_gpiod_get(). This changes things a
little for i2c_register_adapter() and for this reason this step is
implemented in a sperate patch.
The at91 Microchip driver is the first to use this implementation,
with an AI to move the rest of the drivers in the following steps.

Codrin Ciubotariu (4):
  dt-binding: i2c: add generic properties for GPIO bus recovery
  i2c: core: add generic I2C GPIO recovery
  i2c: core: treat EPROBE_DEFER when acquiring SCL/SDA GPIOs
  i2c: at91: Move to generic GPIO bus recovery

 Documentation/devicetree/bindings/i2c/i2c.txt |  10 ++
 drivers/i2c/busses/i2c-at91-master.c          |  69 +--------
 drivers/i2c/i2c-core-base.c                   | 139 +++++++++++++++++-
 include/linux/i2c.h                           |  11 ++
 4 files changed, 158 insertions(+), 71 deletions(-)

-- 
2.25.1


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

end of thread, back to index

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-19 14:19 [RFC PATCH 0/4] i2c: core: add generic GPIO bus recovery Codrin Ciubotariu
2020-06-19 14:19 ` [RFC PATCH 1/4] dt-binding: i2c: add generic properties for " Codrin Ciubotariu
2020-07-05 21:19   ` Wolfram Sang
2020-07-24 19:39     ` Wolfram Sang
2020-07-24 20:52       ` Russell King - ARM Linux admin
2020-07-27 10:44         ` Codrin.Ciubotariu
2020-07-27 10:50           ` Russell King - ARM Linux admin
2020-07-30  9:00             ` Codrin.Ciubotariu
2020-08-03 14:16               ` Russell King - ARM Linux admin
2020-08-03 16:42                 ` Codrin.Ciubotariu
2020-07-15 19:21   ` Rob Herring
2020-06-19 14:19 ` [RFC PATCH 2/4] i2c: core: add generic I2C GPIO recovery Codrin Ciubotariu
2020-08-02 16:54   ` Wolfram Sang
2020-08-03 13:27     ` Codrin.Ciubotariu
2020-08-03 16:49       ` wsa
2020-06-19 14:19 ` [RFC PATCH 3/4] i2c: core: treat EPROBE_DEFER when acquiring SCL/SDA GPIOs Codrin Ciubotariu
2020-08-02 17:05   ` Wolfram Sang
2020-08-03 15:33     ` Codrin.Ciubotariu
2020-08-03 16:59       ` wsa
2020-06-19 14:19 ` [RFC PATCH 4/4] i2c: at91: Move to generic GPIO bus recovery Codrin Ciubotariu
2020-08-02 17:08   ` Wolfram Sang
2020-08-03 15:42     ` Codrin.Ciubotariu
2020-08-03 16:59       ` wsa
2020-08-26  6:14       ` Wolfram Sang
2020-09-04  8:55         ` Codrin.Ciubotariu
2020-09-04  9:20           ` Wolfram Sang
2020-07-05 21:09 ` [RFC PATCH 0/4] i2c: core: add " Wolfram Sang

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lkml.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lkml.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lkml.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lkml.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lkml.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lkml.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lkml.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lkml.kernel.org/lkml/7 lkml/git/7.git
	git clone --mirror https://lkml.kernel.org/lkml/8 lkml/git/8.git
	git clone --mirror https://lkml.kernel.org/lkml/9 lkml/git/9.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lkml.kernel.org/lkml \
		linux-kernel@vger.kernel.org
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git