alistair23-linux/drivers/pinctrl
Axel Lin 9b77ace409 pinctrl: core: Add proper mutex lock in pinctrl_request_gpio
This one is missed in commit 42fed7ba "pinctrl: move subsystem mutex to
pinctrl_dev struct".

I think this fixes the race between pin_free() and pin_request() calls.
It protects accessing the members of pctldev->desc.
(e.g. update desc->mux_usecount, desc->gpio_owner, desc->mux_owner, etc)
Current code grabs pctldev->mutex before calling pinmux_free_gpio(),
but did not grab the mutex while calling pinmux_request_gpio().

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2013-08-28 13:13:05 +02:00
..
mvebu
sh-pfc sh-pfc: r8a7790: Add DU pin groups and functions 2013-08-14 22:49:22 +02:00
sirf pinctrl: sirf: add lost atlas6 uart0-no-stream-control pingroup 2013-08-23 08:56:27 +02:00
spear pinctrl: SPEAr310: Pass correct of_device_id table name to MODULE_DEVICE_TABLE 2013-08-23 08:56:30 +02:00
vt8500 pinctrl: vt8500: wmt: remove redundant dev_err call in wmt_pinctrl_probe() 2013-06-27 11:51:51 +02:00
core.c pinctrl: core: Add proper mutex lock in pinctrl_request_gpio 2013-08-28 13:13:05 +02:00
core.h
devicetree.c
devicetree.h
Kconfig pinctrl: palmas: Fix device name in Kconfig text 2013-08-23 08:56:31 +02:00
Makefile pinctrl: palmas: add pincontrol driver 2013-08-14 21:00:42 +02:00
pinconf-generic.c pinctrl: utils : add support to pass config type in generic util APIs 2013-08-23 08:56:32 +02:00
pinconf.c pinctrl: pinconf: fix comparison of different types 2013-08-07 22:30:32 +02:00
pinconf.h pinctrl: add function to parse generic pinconfig properties from a dt node 2013-06-16 11:57:32 +02:00
pinctrl-ab8500.c
pinctrl-ab8505.c
pinctrl-ab8540.c
pinctrl-ab9540.c
pinctrl-abx500.c pinctrl: abx500: rework error path 2013-06-24 15:20:32 +02:00
pinctrl-abx500.h
pinctrl-at91.c pinctrl: at91: choose appropriate handler for level interrupts 2013-08-07 22:30:16 +02:00
pinctrl-baytrail.c pinctrl-baytrail: fix to avoid sparse warnings 2013-07-23 01:23:27 +02:00
pinctrl-bcm2835.c pinctrl: bcm2835: Staticize bcm2835_gpio_pins 2013-06-18 16:50:27 +02:00
pinctrl-coh901.c Pin control changes for the v3.11 kernel cycle: 2013-07-03 11:48:03 -07:00
pinctrl-coh901.h
pinctrl-exynos.c Pin control changes for the v3.11 kernel cycle: 2013-07-03 11:48:03 -07:00
pinctrl-exynos.h
pinctrl-exynos5440.c pinctrl: exynos5440: fix issues reported by prevent tool 2013-06-16 11:56:52 +02:00
pinctrl-falcon.c pinctrl/lantiq: add missing pin definition to falcon pinctrl driver 2013-08-14 22:49:24 +02:00
pinctrl-imx.c pinctrl: imx: Fix compilation with DEBUG enabled 2013-08-23 20:52:46 +02:00
pinctrl-imx.h pinctrl: imx: Use struct type for pins 2013-08-16 14:43:56 +02:00
pinctrl-imx6dl.c
pinctrl-imx6q.c
pinctrl-imx6sl.c
pinctrl-imx23.c
pinctrl-imx28.c
pinctrl-imx35.c
pinctrl-imx51.c
pinctrl-imx53.c
pinctrl-lantiq.c
pinctrl-lantiq.h
pinctrl-mxs.c
pinctrl-mxs.h
pinctrl-nomadik-db8500.c
pinctrl-nomadik-db8540.c
pinctrl-nomadik-stn8815.c
pinctrl-nomadik.c pinctrl: nomadik: simplify use of devm_ioremap_resource 2013-08-15 22:12:47 +02:00
pinctrl-nomadik.h
pinctrl-palmas.c pinctrl: utils : add support to pass config type in generic util APIs 2013-08-23 08:56:32 +02:00
pinctrl-rockchip.c pinctrl: rockchip: Simplify for loop iteration 2013-08-23 08:56:32 +02:00
pinctrl-s3c24xx.c pinctrl: s3c24xx: use correct header for chained_irq functions 2013-06-19 02:41:20 +09:00
pinctrl-s3c64xx.c
pinctrl-samsung.c pinctrl: samsung: Parse pin groups before calling pinctrl_register() 2013-08-23 08:56:31 +02:00
pinctrl-samsung.h ARM SoC late changes 2013-07-02 14:42:51 -07:00
pinctrl-single.c pinctrl: single: adopt pinctrl sleep mode management 2013-06-17 18:18:34 +02:00
pinctrl-st.c pinctrl: st: Staticize local symbols 2013-08-07 22:30:06 +02:00
pinctrl-sunxi-pins.h pinctrl: sunxi: Add Allwinner A20 pins set 2013-08-23 08:56:30 +02:00
pinctrl-sunxi.c pinctrl: sunxi: Add Allwinner A20 pins set 2013-08-23 08:56:30 +02:00
pinctrl-sunxi.h pinctrl: sunxi: Add external interrupts support 2013-06-16 11:57:31 +02:00
pinctrl-tegra.c pinctrl: tegra: use pinctrl-utils APIs for mapping 2013-08-23 08:56:32 +02:00
pinctrl-tegra.h
pinctrl-tegra20.c
pinctrl-tegra30.c
pinctrl-tegra114.c
pinctrl-tz1090-pdc.c pinctrl: remove slew-rate parameter from tz1090 2013-06-25 15:34:49 +02:00
pinctrl-tz1090.c pinctrl: remove slew-rate parameter from tz1090 2013-06-25 15:34:49 +02:00
pinctrl-u300.c drivers/pinctrl: don't check resource with devm_ioremap_resource 2013-08-07 22:29:21 +02:00
pinctrl-utils.c pinctrl: utils : add support to pass config type in generic util APIs 2013-08-23 08:56:32 +02:00
pinctrl-utils.h pinctrl: add utility functions for add map/configs 2013-08-14 21:00:41 +02:00
pinctrl-vf610.c pinctrl: add VF610 pinctrl driver 2013-06-16 11:56:51 +02:00
pinctrl-xway.c pinctrl/lantiq: add missing gphy led setup 2013-08-14 22:49:24 +02:00
pinmux.c pinctrl: improve warning messages 2013-08-14 22:49:14 +02:00
pinmux.h