All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] I2C GPIO to use gpiolibs open drain
@ 2017-09-10 21:44 ` Linus Walleij
  0 siblings, 0 replies; 54+ messages in thread
From: Linus Walleij @ 2017-09-10 21:44 UTC (permalink / raw)
  To: Wolfram Sang, linux-i2c
  Cc: linux-arm-kernel, linux-mips, adi-buildroot-devel, Linus Walleij

I recently looked at this driver when testing the I2C GPIO
on the Gemini platform.

It's one of the archectypical places in the kernel where we
have open coded open drain emulation, also without much
explanation. So I went in and fixed it.

The fix is pretty brutal changing all boards and one MFD
device using this, but I like the end result, making the
code much more readable and skipping the intermediate step
of looping through the old GPIO API.

It would be nice to get some testing and ACKs on this if
people agree.

I imagine Wolfram would use the whole thing into the I2C
tree but I could also carry a branch in GPIO to be merged
through the GPIO tree if it is preferred (like e.g. Wolfram
want me to get the heat for any regressions, hehe).

Linus Walleij (5):
  i2c: gpio: Convert to use descriptors
  gpio: Make it possible for consumers to enforce open drain
  i2c: gpio: Enforce open drain through gpiolib
  i2c: gpio: Augment all boardfiles to use open drain
  i2c: gpio: Local vars in probe

 arch/arm/mach-ep93xx/core.c                  |  41 +++---
 arch/arm/mach-ep93xx/edb93xx.c               |  15 +--
 arch/arm/mach-ep93xx/include/mach/platform.h |   4 +-
 arch/arm/mach-ep93xx/simone.c                |  12 +-
 arch/arm/mach-ep93xx/snappercl15.c           |  12 +-
 arch/arm/mach-ep93xx/vision_ep9307.c         |   7 +-
 arch/arm/mach-ixp4xx/avila-setup.c           |  17 ++-
 arch/arm/mach-ixp4xx/dsmg600-setup.c         |  16 ++-
 arch/arm/mach-ixp4xx/fsg-setup.c             |  16 ++-
 arch/arm/mach-ixp4xx/goramo_mlr.c            |  24 +---
 arch/arm/mach-ixp4xx/ixdp425-setup.c         |  16 ++-
 arch/arm/mach-ixp4xx/nas100d-setup.c         |  16 ++-
 arch/arm/mach-ixp4xx/nslu2-setup.c           |  16 ++-
 arch/arm/mach-ks8695/board-acs5k.c           |  15 ++-
 arch/arm/mach-pxa/palmz72.c                  |  14 +-
 arch/arm/mach-pxa/viper.c                    |  27 +++-
 arch/arm/mach-sa1100/simpad.c                |  14 +-
 arch/blackfin/mach-bf533/boards/blackstamp.c |  19 ++-
 arch/blackfin/mach-bf533/boards/ezkit.c      |  18 ++-
 arch/blackfin/mach-bf533/boards/stamp.c      |  18 ++-
 arch/blackfin/mach-bf561/boards/ezkit.c      |  18 ++-
 arch/mips/alchemy/board-gpr.c                |  23 +++-
 arch/mips/ath79/mach-pb44.c                  |  16 ++-
 drivers/gpio/gpiolib.c                       |  13 ++
 drivers/i2c/busses/i2c-gpio.c                | 184 +++++++++++----------------
 drivers/mfd/sm501.c                          |  49 +++----
 include/linux/gpio/consumer.h                |   6 +
 include/linux/i2c-gpio.h                     |   4 -
 28 files changed, 372 insertions(+), 278 deletions(-)

-- 
2.13.5

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

end of thread, other threads:[~2017-10-19 15:48 UTC | newest]

Thread overview: 54+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-10 21:44 [PATCH 0/5] I2C GPIO to use gpiolibs open drain Linus Walleij
2017-09-10 21:44 ` Linus Walleij
2017-09-10 21:44 ` [PATCH 1/5] i2c: gpio: Convert to use descriptors Linus Walleij
2017-09-10 21:44   ` Linus Walleij
2017-09-11 11:27   ` Geert Uytterhoeven
2017-09-11 11:27     ` Geert Uytterhoeven
2017-09-11 11:27     ` Geert Uytterhoeven
2017-09-11 11:27     ` Geert Uytterhoeven
2017-09-11 19:37     ` Linus Walleij
2017-09-11 19:37       ` Linus Walleij
2017-09-11 19:37       ` Linus Walleij
2017-09-11 19:37       ` Linus Walleij
2017-09-13 20:55       ` Wolfram Sang
2017-09-13 20:55         ` Wolfram Sang
2017-09-13 20:55         ` Wolfram Sang
     [not found]     ` <CAMuHMdXabvax2Wru8j+MC4X5F+z5hoUo1tEbX+zn2AUW6QENVA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-11 20:53       ` Linus Walleij
2017-09-11 20:53         ` Linus Walleij
2017-09-11 20:53         ` Linus Walleij
2017-09-11 20:53         ` Linus Walleij
2017-09-14  9:35   ` Lee Jones
2017-09-14  9:35     ` Lee Jones
2017-09-16 22:25     ` Linus Walleij
2017-09-16 22:25       ` Linus Walleij
2017-09-16 22:25       ` Linus Walleij
2017-09-17  0:14       ` Guenter Roeck
2017-09-17  0:14         ` Guenter Roeck
2017-09-17  0:14         ` Guenter Roeck
2017-09-18  5:07       ` Heiko Schocher
2017-09-18  5:07         ` Heiko Schocher
2017-09-18  5:07         ` Heiko Schocher
2017-09-18 13:21         ` Guenter Roeck
2017-09-18 13:21           ` Guenter Roeck
2017-09-18 13:21           ` Guenter Roeck
2017-09-15 17:51   ` Olof Johansson
2017-09-15 17:51     ` Olof Johansson
2017-09-15 17:51     ` Olof Johansson
2017-09-15 17:54     ` Wolfram Sang
2017-09-15 17:54       ` Wolfram Sang
2017-09-15 17:54       ` Wolfram Sang
2017-09-15 17:57       ` Olof Johansson
2017-09-15 17:57         ` Olof Johansson
2017-09-15 17:57         ` Olof Johansson
2017-09-10 21:44 ` [PATCH 2/5] gpio: Make it possible for consumers to enforce open drain Linus Walleij
2017-09-10 21:44   ` Linus Walleij
2017-09-10 21:44 ` [PATCH 3/5] i2c: gpio: Enforce open drain through gpiolib Linus Walleij
2017-09-10 21:44   ` Linus Walleij
2017-09-10 21:44 ` [PATCH 4/5] i2c: gpio: Augment all boardfiles to use open drain Linus Walleij
2017-09-10 21:44   ` Linus Walleij
2017-09-14  9:30   ` Lee Jones
2017-09-14  9:30     ` Lee Jones
2017-10-19 15:48   ` Arnd Bergmann
2017-10-19 15:48     ` Arnd Bergmann
2017-09-10 21:44 ` [PATCH 5/5] i2c: gpio: Local vars in probe Linus Walleij
2017-09-10 21:44   ` Linus Walleij

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.