2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-27 22:53:55 +08:00
linux-next/drivers/pinctrl
Timur Tabi e508099084 pinctrl: qcom: qdf2xxx: add support for new ACPI HID QCOM8002
Newer versions of the firmware for the Qualcomm Datacenter Technologies
QDF2400 restricts access to a subset of the GPIOs on the TLMM.  To
prevent older kernels from accidentally accessing the restricted GPIOs,
we change the ACPI HID for the TLMM block from QCOM8001 to QCOM8002,
and introduce a new property "gpios".  This property is an array of
specific GPIOs that are accessible.  When an older kernel boots on
newer (restricted) firmware, it will fail to probe.

To implement the sparse GPIO map, we register all of the GPIOs, but
fill in the data only for available GPIOs.  This ensures that the driver
cannot accidentally access an unavailable GPIO.

The pinctrl-msm driver also scans the "gpios" property to determine
which pins are available, and ensure that only those can be registered.

Support for QCOM8001 is removed as there is no longer any firmware that
implements it.

Signed-off-by: Timur Tabi <timur@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-05-02 14:36:08 +02:00
..
actions pinctrl: actions: Add Actions S900 pinctrl driver 2018-05-02 14:36:08 +02:00
aspeed pinctrl: aspeed: Rework strap register write logic for the AST2500 2017-08-31 13:39:38 +02:00
bcm This is the bulk of pin control changes for the v4.15 2017-11-16 10:57:11 -08:00
berlin pinctrl: move const qualifier before struct 2017-08-14 15:01:02 +02:00
freescale pinctrl: imx: Add pinctrl driver support for imx6sll 2018-03-23 04:16:10 +01:00
intel pinctrl: intel: Implement intel_gpio_get_direction callback 2018-03-23 04:07:22 +01:00
mediatek pinctrl: mtk: fix check warnings. 2018-03-26 10:58:33 +02:00
meson Pin control bulk changes for the v4.17 kernel cycle: 2018-04-03 12:20:54 -07:00
mvebu This is the bulk of pin control changes for the v4.16 kernel cycle: 2018-02-02 14:22:53 -08:00
nomadik pinctrl: nomadik: Drop U8540/9540 support 2018-03-23 03:38:14 +01:00
pxa pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE 2017-11-30 14:42:04 +01:00
qcom pinctrl: qcom: qdf2xxx: add support for new ACPI HID QCOM8002 2018-05-02 14:36:08 +02:00
samsung pinctrl: samsung: add pin_dbg_show callback for debugfs 2018-05-02 14:36:08 +02:00
sh-pfc Pin control bulk changes for the v4.17 kernel cycle: 2018-04-03 12:20:54 -07:00
sirf Merge branch 'gpio-irqchip-rework' of /home/linus/linux-gpio into devel 2017-11-09 09:38:42 +01:00
spear pinctrl: spear: Delete an error message for a failed memory allocation in spear_pinctrl_probe() 2018-01-03 08:46:55 +01:00
sprd pinctrl: sprd: Use seq_putc() in sprd_pinconf_group_dbg_show() 2018-01-16 11:08:24 +01:00
stm32 pinctrl: stm32: add 'depends on HAS_IOMEM' to fix unmet dependency 2018-03-23 04:04:40 +01:00
sunxi pinctrl: sunxi: add support for the Allwinner H6 main pin controller 2018-03-27 15:09:42 +02:00
tegra pinctrl: tegra: Delete two error messages for a failed memory allocation in tegra_pinctrl_probe() 2018-01-03 08:46:55 +01:00
ti pinctrl: ti-iodelay: remove redundant unused variable dev 2017-11-08 13:49:57 +01:00
uniphier pinctrl: uniphier: add UART hardware flow control pin-mux settings 2018-03-27 15:14:43 +02:00
vt8500 pinctrl: vt8500: Delete an error message for a failed memory allocation in five functions 2018-01-08 08:15:46 +01:00
zte pinctrl: zte: fix 'functions' allocation in zx_pinctrl_build_state() 2017-08-14 15:01:01 +02:00
core.c pinctrl: core: Add missing EXPORT on pinctrl_register_mappings 2018-03-02 11:05:35 +01:00
core.h pinctrl/gpio: Unify namespace for cross-calls 2017-09-22 11:02:10 +02:00
devicetree.c pinctrl: devicetree: Fix dt_to_map_one_config handling of hogs 2018-03-02 09:41:21 +01:00
devicetree.h pinctrl: core: Use delayed work for hogs 2017-01-03 09:26:16 +01:00
Kconfig pinctrl: actions: Add Actions S900 pinctrl driver 2018-05-02 14:36:08 +02:00
Makefile pinctrl: actions: Add Actions S900 pinctrl driver 2018-05-02 14:36:08 +02:00
pinconf-generic.c pinctrl: Add skew-delay pin config and bindings 2017-11-08 13:49:45 +01:00
pinconf.c pinctrl: check ops->pin_config_set in pinconf_set_config() 2017-08-14 15:01:59 +02:00
pinconf.h pinctrl: move const qualifier before struct 2017-08-14 15:01:02 +02:00
pinctrl-amd.c pinctrl/amd: poll InterruptEnable bits in enable_irq 2018-03-26 11:09:49 +02:00
pinctrl-amd.h pinctrl/amd: save pin registers over suspend/resume 2017-09-12 15:58:45 +02:00
pinctrl-artpec6.c pinctrl: artpec-6: Add smaller groups for uarts 2018-03-01 17:04:09 +01: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: account for const type of of_device_id.data 2018-01-08 08:15:47 +01:00
pinctrl-at91.c pinctrl: at91: Delete an error message for a failed memory allocation in at91_pinctrl_mux_mask() 2018-01-03 08:46:49 +01:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: axp209: account for const type of of_device_id.data 2018-01-08 08:15:47 +01:00
pinctrl-coh901.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
pinctrl-coh901.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pinctrl-da850-pupd.c Merge branch 'ib-pinctrl-genprops' into devel 2017-01-26 15:27:54 +01:00
pinctrl-digicolor.c pinctrl: digicolor: constify pinconf_ops, pinctrl_ops, and pinmux_ops structures 2017-08-22 14:39:36 +02:00
pinctrl-falcon.c pinctrl: update my email address 2016-12-30 09:17:02 +01:00
pinctrl-gemini.c This is the bulk of pin control changes for the v4.16 kernel cycle: 2018-02-02 14:22:53 -08:00
pinctrl-ingenic.c pinctrl: ingenic: Remove redundant dev_err call in ingenic_pinctrl_probe() 2018-01-18 08:51:32 +01:00
pinctrl-lantiq.c pinctrl: update my email address 2016-12-30 09:17:02 +01:00
pinctrl-lantiq.h pinctrl: update my email address 2016-12-30 09:17:02 +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: max77620: Use common error handling code in max77620_pinconf_set() 2017-11-08 13:49:57 +01:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: add open drain configuration for irq output 2018-02-22 16:08:59 +01:00
pinctrl-ocelot.c pinctrl: ocelot: fix gpio direction 2018-03-26 11:04:48 +02:00
pinctrl-oxnas.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
pinctrl-palmas.c pinctrl: palmas: Delete an error message for a failed memory allocation in palmas_pinctrl_probe() 2018-01-03 08:46:49 +01:00
pinctrl-pic32.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
pinctrl-pic32.h pinctrl: pinctrl-pic32: Add PIC32 pin control driver 2016-02-05 23:54:47 +01:00
pinctrl-pistachio.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
pinctrl-rk805.c pinctrl: Add pinctrl driver for the RK805 PMIC 2017-08-21 08:54:46 +01:00
pinctrl-rockchip.c pinctrl: rockchip: Fix a typo in four comment lines 2018-01-03 08:46:51 +01:00
pinctrl-rza1.c pinctrl: rza1: Add support for RZ/A1L 2017-10-09 09:16:21 +02:00
pinctrl-single.c pinctrl: pinctrl-single: Fix pcs_request_gpio() when bits_per_mux != 0 2018-03-26 10:48:17 +02:00
pinctrl-st.c gpio: Move irqdomain into struct gpio_irq_chip 2017-11-08 14:06:21 +01:00
pinctrl-sx150x.c pinctrl: sx150x: Add a static gpio/pinctrl pin range mapping 2018-01-18 11:04:47 +01:00
pinctrl-tb10x.c pinctrl: tb10x: constify pinconf_ops, pinctrl_ops, and pinmux_ops structures 2017-08-22 14:41:40 +02:00
pinctrl-u300.c pinctrl: u300: make u300_pmx_registers static 2016-06-13 09:27:43 +02:00
pinctrl-utils.c pinctrl: utils: Delete an error message for a failed memory allocation in pinctrl_utils_add_map_configs() 2018-01-03 08:46:53 +01: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 pinctrl: xway: Delete two error messages for a failed memory allocation in pinmux_xway_probe() 2018-01-03 08:46:53 +01:00
pinctrl-zynq.c pinctrl: zynq: Fix warnings in the driver 2017-08-14 15:01:01 +02:00
pinmux.c pinctrl: pinmux: Use seq_putc() in pinmux_pins_show() 2018-01-16 11:07:18 +01:00
pinmux.h pinctrl: move const qualifier before struct 2017-08-14 15:01:02 +02:00