OpenCloudOS-Kernel/drivers/pinctrl
Mika Westerberg 58957d2edf pinctrl: Widen the generic pinconf argument from 16 to 24 bits
The current pinconf packed format allows only 16-bit argument limiting
the maximum value 65535. For most types this is enough. However,
debounce time can be in range of hundreths of milliseconds in case of
mechanical switches so we cannot represent the worst case using the
current format.

In order to support larger values change the packed format so that the
lower 8 bits are used as type which leaves 24 bits for the argument.
This allows representing values up to 16777215 and debounce times up to
16 seconds.

We also convert the existing users to use 32-bit integer when extracting
argument from the packed configuration value.

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:22:32 +01:00
..
aspeed pinctrl-aspeed-g5: Never set SCU90[6] 2016-11-07 10:31:33 +01:00
bcm pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
berlin pinctrl: berlin: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 00:02:13 +02:00
freescale Bulk pin control changes for the v4.10 kernel cycle: 2016-12-13 07:59:10 -08:00
intel pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
mediatek pinctrl: mt8173: set GPIO16 to usb iddig mode 2016-12-07 15:27:01 +01:00
meson pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
mvebu pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181 2016-09-21 11:49:18 +02:00
nomadik pinctrl: nomadik: split up and comments MC0 pins 2016-11-18 09:54:32 +01:00
pxa pinctrl: pxa: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 00:03:04 +02:00
qcom pinctrl: qcom: Add msm8994 pinctrl driver 2016-11-04 23:55:36 +01:00
samsung pinctrl: samsung: Add GPF support for Exynos5433 2016-11-15 09:42:44 +01:00
sh-pfc pinctrl: sh-pfc: r8a7795: Add group for QSPI0 and QSPI1 pins 2016-11-16 10:29:14 +01:00
sirf pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
spear pinctrl: spear: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 00:03:18 +02:00
stm32 Bulk pin control changes for the v4.10 kernel cycle: 2016-12-13 07:59:10 -08:00
sunxi pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
tegra This is the bulk of pin control changes for the v4.8 kernel cycle. 2016-07-28 17:06:51 -07:00
uniphier pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
vt8500 pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
Kconfig pinctrl: New driver for TI DA850/OMAP-L138/AM18XX pinconf 2016-12-07 15:27:00 +01:00
Makefile pinctrl: New driver for TI DA850/OMAP-L138/AM18XX pinconf 2016-12-07 15:27:00 +01:00
core.c pinctrl: copy per-pin driver private data to struct pin_desc 2016-05-31 10:27:19 +02:00
core.h pinctrl: copy per-pin driver private data to struct pin_desc 2016-05-31 10:27:19 +02:00
devicetree.c pinctrl: Introduce generic #pinctrl-cells and pinctrl_parse_index_with_args 2016-11-04 22:50:55 +01:00
devicetree.h pinctrl: Introduce generic #pinctrl-cells and pinctrl_parse_index_with_args 2016-11-04 22:50:55 +01:00
pinconf-generic.c pinctrl: generic: Parse pinmux init nodes if node status is okay 2016-10-29 10:31:58 +02:00
pinconf.c pinctrl: pinconf: separate config parameters with commas for debugfs 2016-05-31 10:29:06 +02:00
pinconf.h pinctrl: pinconf-generic: Allow driver to specify DT params 2015-01-11 22:32:19 +01:00
pinctrl-adi2-bf54x.c pinctrl: pinctrl-adi: combine multiple groups of one function together 2014-02-25 10:49:13 +01:00
pinctrl-adi2-bf60x.c added tabs instead of spaces 2015-07-16 09:39:01 +02:00
pinctrl-adi2.c pinctrl: adi2: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:20 +02:00
pinctrl-adi2.h pinctrl: pinctrl-adi: combine multiple groups of one function together 2014-02-25 10:49:13 +01:00
pinctrl-amd.c Linux 4.8-rc6 2016-09-23 14:57:16 +02:00
pinctrl-amd.h Fix inconsistent spinlock of AMD GPIO driver which can be 2015-04-07 11:36:49 +02:00
pinctrl-as3722.c pinctrl: as3722: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:21 +02:00
pinctrl-at91-pio4.c pinctrl: at91-pio4: make it explicitly non-modular 2016-06-13 08:40:14 +02:00
pinctrl-at91.c pinctrl: at91: add support for OUTPUT config 2016-10-31 09:16:46 +01:00
pinctrl-at91.h pinctrl: at91: use own header 2014-10-29 09:28:35 +01:00
pinctrl-coh901.c pinctrl: coh901: fix initconst annotation 2016-02-15 20:40:52 +01:00
pinctrl-coh901.h
pinctrl-da850-pupd.c pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
pinctrl-digicolor.c Revert "pinctrl: digicolor: add missing platform_set_drvdata() call" 2016-06-23 09:50:05 +02:00
pinctrl-falcon.c staging: drivers: pinctrl: Fixed checkpatch.pl warnings 2015-01-21 11:02:26 +01:00
pinctrl-lantiq.c pinctrl: lantiq: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:23 +02:00
pinctrl-lantiq.h pinctrl/lantiq: introduce new dedicated devicetree bindings 2015-11-30 13:12:07 +01:00
pinctrl-lpc18xx.c pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
pinctrl-max77620.c pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
pinctrl-oxnas.c pinctrl: oxnas: Add support for OX820 2016-10-24 16:30:14 +02:00
pinctrl-palmas.c pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
pinctrl-pic32.c pinctrl: pic32: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:24 +02:00
pinctrl-pic32.h pinctrl: pinctrl-pic32: Add PIC32 pin control driver 2016-02-05 23:54:47 +01:00
pinctrl-pistachio.c pinctrl: pistachio: fix mfio pll_lock pinmux 2016-08-22 15:28:35 +02:00
pinctrl-rockchip.c pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
pinctrl-single.c pinctrl: Widen the generic pinconf argument from 16 to 24 bits 2017-01-26 15:22:32 +01:00
pinctrl-st.c Bulk pin control changes for the v4.10 kernel cycle: 2016-12-13 07:59:10 -08:00
pinctrl-sx150x.c pinctrl: sx150x: use new nested IRQ infrastructure 2016-12-07 16:02:55 +01:00
pinctrl-tb10x.c pinctrl: tb10x: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:25 +02:00
pinctrl-tz1090-pdc.c pinctrl: tz1090-pdc: Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:26 +02:00
pinctrl-tz1090.c pinctrl: tz1090 Use devm_pinctrl_register() for pinctrl registration 2016-04-21 09:23:26 +02:00
pinctrl-u300.c pinctrl: u300: make u300_pmx_registers static 2016-06-13 09:27:43 +02:00
pinctrl-utils.c pinctrl: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map 2016-04-01 15:06:36 +02:00
pinctrl-utils.h pinctrl: Rename pinctrl_utils_dt_free_map to pinctrl_utils_free_map 2016-04-01 15:06:36 +02:00
pinctrl-xway.c This is the bulk of pin control changes for the v4.8 kernel cycle. 2016-07-28 17:06:51 -07:00
pinctrl-zynq.c pinctrl: zynq: Add a 8 bit wide nand option 2016-11-04 15:19:00 +01:00
pinmux.c pinctrl: return -ENOMEM instead of -EINVAL for kasprintf() failure 2016-05-31 10:33:00 +02:00
pinmux.h