All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFT 0/5] gpiochip: add and use generic request/free
@ 2015-09-13 13:21 Jonas Gorski
  2015-09-13 13:21 ` [PATCH RFT 1/5] gpiolib: provide generic request/free implementations Jonas Gorski
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Jonas Gorski @ 2015-09-13 13:21 UTC (permalink / raw)
  To: linux-gpio
  Cc: Linus Walleij, Alexandre Courbot, Joachim Eastwood, Jonas Jensen,
	Gregory CLEMENT, Thomas Petazzoni, James Hogan, Stefan Agner,
	Jun Nie, Stephen Warren, Lee Jones, Eric Anholt, Mika Westerberg,
	Heikki Krogerus, Matthias Brugger, Alessandro Rubini, Sonic Zhang,
	Laxman Dewangan, Jean-Christophe Plagniol-Villard, Jonas Aaberg,
	Baruch Siach, Andrew

A lot of pinctrl aware gpio chip drivers use the following pattern:

int foo_request_gpio(struct gpio_chip *gc, unsigned gpio)
{
	return pinctrl_request_gpio(gc->base + gpio);
}

void foo_request_gpio(struct gpio_chip *gc, unsigned gpio)
{
	pinctrl_free_gpio(gc->base + gpio);
}

static struct gpio_chip foo_chip {
	...
	.request = foo_request_gpio;
	.free = foo_request_gpio;
	...
};

To prevent this from spreading any further, add and export generic
versions that gpio chip drivers can just use.

* Patch 1 adds the trivial implementations.
* Patch 2 replaces all identical (+/- debug output/comments) versions
  in gpio/
* Patch 3/4 modifies drivers that use a boolean for conditional calling
  request/free by just not populating the callbacks if the boolean is
  false (which is only set at probe)
* Patch 5 replaces all identical version in pinctrl/

Build tested as far as possible (which isn't much when only using
COMPILE_TEST, even when forcing PINCTRL to y).

I don't expect this to break anything, and I triple checked that I did
not introduce any typos, but I can't actually test most of the changed
drivers lacking hardware, therefore RFT.

Patches apply cleanly to 4.3-rc1 as well as linux-gpio/for-next.


Jonas Gorski (5):
  gpiolib: provide generic request/free implementations
  gpio: replace trivial implementations of request/free with generic one
  gpio: gpio-xz: use the generic request/free implementations
  gpio: gpio-pl061: use the generic request/free implementations
  pinctrl: replace trivial implementations of gpio_chip request/free

 drivers/gpio/gpio-lpc18xx.c                   | 14 ++----------
 drivers/gpio/gpio-moxart.c                    | 14 ++----------
 drivers/gpio/gpio-mvebu.c                     | 14 ++----------
 drivers/gpio/gpio-pl061.c                     | 32 ++++-----------------------
 drivers/gpio/gpio-tb10x.c                     | 14 ++----------
 drivers/gpio/gpio-tz1090-pdc.c                | 14 ++----------
 drivers/gpio/gpio-vf610.c                     | 14 ++----------
 drivers/gpio/gpio-zx.c                        | 28 ++++-------------------
 drivers/gpio/gpiolib.c                        | 23 +++++++++++++++++++
 drivers/pinctrl/bcm/pinctrl-bcm2835.c         | 14 ++----------
 drivers/pinctrl/intel/pinctrl-cherryview.c    | 14 ++----------
 drivers/pinctrl/intel/pinctrl-intel.c         | 14 ++----------
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 14 ++----------
 drivers/pinctrl/nomadik/pinctrl-abx500.c      | 18 ++-------------
 drivers/pinctrl/nomadik/pinctrl-nomadik.c     | 22 ++----------------
 drivers/pinctrl/pinctrl-adi2.c                | 14 ++----------
 drivers/pinctrl/pinctrl-as3722.c              | 14 ++----------
 drivers/pinctrl/pinctrl-at91.c                | 26 ++--------------------
 drivers/pinctrl/pinctrl-coh901.c              | 22 ++----------------
 drivers/pinctrl/pinctrl-digicolor.c           | 14 ++----------
 drivers/pinctrl/pinctrl-pistachio.c           | 14 ++----------
 drivers/pinctrl/pinctrl-rockchip.c            | 14 ++----------
 drivers/pinctrl/pinctrl-st.c                  | 14 ++----------
 drivers/pinctrl/pinctrl-xway.c                | 18 ++-------------
 drivers/pinctrl/qcom/pinctrl-msm.c            | 16 ++------------
 drivers/pinctrl/qcom/pinctrl-spmi-gpio.c      | 14 ++----------
 drivers/pinctrl/qcom/pinctrl-spmi-mpp.c       | 14 ++----------
 drivers/pinctrl/samsung/pinctrl-samsung.c     | 14 ++----------
 drivers/pinctrl/sunxi/pinctrl-sunxi.c         | 14 ++----------
 drivers/pinctrl/vt8500/pinctrl-wmt.c          | 14 ++----------
 include/linux/gpio/driver.h                   |  3 +++
 31 files changed, 88 insertions(+), 414 deletions(-)

-- 
2.1.4

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

end of thread, other threads:[~2015-10-06  7:23 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-13 13:21 [PATCH RFT 0/5] gpiochip: add and use generic request/free Jonas Gorski
2015-09-13 13:21 ` [PATCH RFT 1/5] gpiolib: provide generic request/free implementations Jonas Gorski
2015-10-05  9:17   ` Linus Walleij
2015-09-13 13:21 ` [PATCH RFT 2/5] gpio: replace trivial implementations of request/free with generic one Jonas Gorski
2015-09-14 14:37   ` Thomas Petazzoni
2015-09-14 17:14   ` James Hogan
2015-09-15  3:32   ` Stefan Agner
2015-09-20 13:16   ` Joachim Eastwood
2015-09-13 13:21 ` [PATCH RFT 3/5] gpio: gpio-xz: use the generic request/free implementations Jonas Gorski
2015-09-13 13:21 ` [PATCH RFT 4/5] gpio: gpio-pl061: " Jonas Gorski
2015-10-05  9:19   ` Linus Walleij
2015-10-05 13:12     ` Jonas Gorski
2015-10-06  7:23       ` Linus Walleij
2015-09-13 13:21 ` [PATCH RFT 5/5] pinctrl: replace trivial implementations of gpio_chip request/free Jonas Gorski
2015-09-13 19:07   ` Bjorn Andersson
2015-09-13 19:20   ` Heiko Stübner
2015-09-14 14:18   ` Eric Anholt
2015-09-14 14:41   ` Mika Westerberg
2015-09-14 16:53   ` Andrew Bresticker
2015-09-16 11:07   ` Baruch Siach
2015-09-20 13:40   ` Matthias Brugger
2015-10-01 12:32   ` Lee Jones
2015-10-05 10:37   ` Laxman Dewangan

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.