linux/drivers/staging
Mika Westerberg 2956b5d94a pinctrl / gpio: Introduce .set_config() callback for GPIO chips
Currently we already have two pin configuration related callbacks
available for GPIO chips .set_single_ended() and .set_debounce(). In
future we expect to have even more, which does not scale well if we need
to add yet another callback to the GPIO chip structure for each possible
configuration parameter.

Better solution is to reuse what we already have available in the
generic pinconf.

To support this, we introduce a new .set_config() callback for GPIO
chips. The callback takes a single packed pin configuration value as
parameter. This can then be extended easily beyond what is currently
supported by just adding new types to the generic pinconf enum.

If the GPIO driver is backed up by a pinctrl driver the GPIO driver can
just assign gpiochip_generic_config() (introduced in this patch) to
.set_config and that will take care configuration requests are directed
to the pinctrl driver.

We then convert the existing drivers over .set_config() and finally
remove the .set_single_ended() and .set_debounce() callbacks.

Suggested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-01-26 15:27:37 +01:00
..
android mm: use vmf->address instead of of vmf->virtual_address 2016-12-14 16:04:09 -08:00
board
clocking-wizard staging: clocking-wizard: Fix incorrect type of speed grade 2016-10-25 09:54:32 +02:00
comedi staging: comedi: comedidev.h: Document usage of 'detach' handler 2016-12-08 21:01:23 +01:00
dgnc staging: dgnc: Fix lines longer than 80 characters 2016-12-07 11:41:17 +01:00
emxx_udc staging: emxx_udc: emxx_udc.c Align parenthesis 2016-11-23 10:05:39 +01:00
fbtft staging: fbtft: Fix 'line over 80 characters' 2016-11-10 13:55:02 +01:00
fsl-mc staging: fsl-mc: remove unnecessary info prints from bus driver 2016-12-08 21:00:08 +01:00
fwserial Staging: fwserial: remove unused function fill_unplug_req 2016-10-16 10:25:09 +02:00
gdm724x staging: gdm724x: Remove one blank line in sequence 2016-11-29 21:57:15 +01:00
goldfish
greybus pinctrl / gpio: Introduce .set_config() callback for GPIO chips 2017-01-26 15:27:37 +01:00
gs_fpgaboot Staging: gs_fpgaboot: Use octal permissions '0444' 2016-10-25 09:40:44 +02:00
i4l staging: i4l: pcbit: remove duplicated include from capi.c 2016-10-25 09:59:48 +02:00
iio staging: iio: tsl2583: move out of staging 2016-11-13 13:07:33 +00:00
ks7010 Staging: ks7010: ks7010_stio.h: fixed coding style error 2016-12-06 10:20:03 +01:00
lustre staging/lustre/libcfs: Convert to hotplug state machine 2016-12-25 10:47:43 +01:00
media media updates for v4.10-rc1 2016-12-16 09:39:16 -08:00
most staging: most: Eliminate usage of symbolic permissions 2016-11-29 21:57:14 +01:00
mt29f_spinand
netlogic Staging: netlogic: Compress return logic into one line 2016-10-16 10:27:33 +02:00
nvec staging: nvec: remove managed resource from PS2 driver 2016-11-07 11:48:25 +01:00
octeon ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
octeon-usb
olpc_dcon
rtl8188eu Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
rtl8192e Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
rtl8192u Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
rtl8712 Staging:rtl8712: Fixed coding style issue 2016-12-06 10:18:07 +01:00
rts5208 staging: rts5208: rtsx.c: Fix invalid use of sizeof in rtsx_probe() 2016-10-25 09:59:48 +02:00
skein staging: skein: threefish_block.c Remove blank lines 2016-11-21 11:10:56 +01:00
sm750fb staging: sm750fb: fix tabstop style warning 2016-11-30 12:59:53 +01:00
speakup staging: speakup: speakup_soft.c Align parenthesis 2016-11-23 10:07:32 +01:00
unisys Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
vc04_services staging: vc04_services: add HAS_DMA dependancy 2016-11-17 09:39:59 +01:00
vme Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
vt6655 staging: vt6655: Add spaces around + 2016-12-06 10:18:07 +01:00
vt6656 staging: vt6656: Fix coding style warnings on Block comments 2016-11-21 11:13:14 +01:00
wilc1000 Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
wlan-ng Staging/IIO patches for 4.10-rc1 2016-12-13 11:35:00 -08:00
xgifb staging: xgifb: XGI_main.h Align data columns 2016-11-19 14:17:51 +01:00
Kconfig staging: slicoss: remove the staging driver 2016-12-06 18:18:30 +01:00
Makefile staging: slicoss: remove the staging driver 2016-12-06 18:18:30 +01:00