Loading Documentation/pinctrl.txt +3 −1 Original line number Diff line number Diff line Loading @@ -1193,4 +1193,6 @@ foo_switch() ... } The above has to be done from process context. The above has to be done from process context. The reservation of the pins will be done when the state is activated, so in effect one specific pin can be used by different functions at different times on a running system. drivers/pinctrl/Kconfig +1 −21 Original line number Diff line number Diff line Loading @@ -188,27 +188,7 @@ config PINCTRL_EXYNOS4 depends on OF && GPIOLIB select PINCTRL_SAMSUNG config PINCTRL_MVEBU bool depends on ARCH_MVEBU select PINMUX select PINCONF config PINCTRL_DOVE bool select PINCTRL_MVEBU config PINCTRL_KIRKWOOD bool select PINCTRL_MVEBU config PINCTRL_ARMADA_370 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_XP bool select PINCTRL_MVEBU source "drivers/pinctrl/mvebu/Kconfig" source "drivers/pinctrl/spear/Kconfig" Loading drivers/pinctrl/Makefile +1 −5 Original line number Diff line number Diff line Loading @@ -36,12 +36,8 @@ obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o obj-$(CONFIG_PINCTRL_EXYNOS4) += pinctrl-exynos.o obj-$(CONFIG_PINCTRL_MVEBU) += pinctrl-mvebu.o obj-$(CONFIG_PINCTRL_DOVE) += pinctrl-dove.o obj-$(CONFIG_PINCTRL_KIRKWOOD) += pinctrl-kirkwood.o obj-$(CONFIG_PINCTRL_ARMADA_370) += pinctrl-armada-370.o obj-$(CONFIG_PINCTRL_ARMADA_XP) += pinctrl-armada-xp.o obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o obj-$(CONFIG_PLAT_ORION) += mvebu/ obj-$(CONFIG_PLAT_SPEAR) += spear/ drivers/pinctrl/core.c +2 −0 Original line number Diff line number Diff line Loading @@ -563,6 +563,8 @@ static int add_setting(struct pinctrl *p, struct pinctrl_map const *map) return -EPROBE_DEFER; } setting->dev_name = map->dev_name; switch (map->type) { case PIN_MAP_TYPE_MUX_GROUP: ret = pinmux_map_to_setting(map, setting); Loading drivers/pinctrl/core.h +2 −0 Original line number Diff line number Diff line Loading @@ -105,12 +105,14 @@ struct pinctrl_setting_configs { * @type: the type of setting * @pctldev: pin control device handling to be programmed. Not used for * PIN_MAP_TYPE_DUMMY_STATE. * @dev_name: the name of the device using this state * @data: Data specific to the setting type */ struct pinctrl_setting { struct list_head node; enum pinctrl_map_type type; struct pinctrl_dev *pctldev; const char *dev_name; union { struct pinctrl_setting_mux mux; struct pinctrl_setting_configs configs; Loading Loading
Documentation/pinctrl.txt +3 −1 Original line number Diff line number Diff line Loading @@ -1193,4 +1193,6 @@ foo_switch() ... } The above has to be done from process context. The above has to be done from process context. The reservation of the pins will be done when the state is activated, so in effect one specific pin can be used by different functions at different times on a running system.
drivers/pinctrl/Kconfig +1 −21 Original line number Diff line number Diff line Loading @@ -188,27 +188,7 @@ config PINCTRL_EXYNOS4 depends on OF && GPIOLIB select PINCTRL_SAMSUNG config PINCTRL_MVEBU bool depends on ARCH_MVEBU select PINMUX select PINCONF config PINCTRL_DOVE bool select PINCTRL_MVEBU config PINCTRL_KIRKWOOD bool select PINCTRL_MVEBU config PINCTRL_ARMADA_370 bool select PINCTRL_MVEBU config PINCTRL_ARMADA_XP bool select PINCTRL_MVEBU source "drivers/pinctrl/mvebu/Kconfig" source "drivers/pinctrl/spear/Kconfig" Loading
drivers/pinctrl/Makefile +1 −5 Original line number Diff line number Diff line Loading @@ -36,12 +36,8 @@ obj-$(CONFIG_PINCTRL_U300) += pinctrl-u300.o obj-$(CONFIG_PINCTRL_COH901) += pinctrl-coh901.o obj-$(CONFIG_PINCTRL_SAMSUNG) += pinctrl-samsung.o obj-$(CONFIG_PINCTRL_EXYNOS4) += pinctrl-exynos.o obj-$(CONFIG_PINCTRL_MVEBU) += pinctrl-mvebu.o obj-$(CONFIG_PINCTRL_DOVE) += pinctrl-dove.o obj-$(CONFIG_PINCTRL_KIRKWOOD) += pinctrl-kirkwood.o obj-$(CONFIG_PINCTRL_ARMADA_370) += pinctrl-armada-370.o obj-$(CONFIG_PINCTRL_ARMADA_XP) += pinctrl-armada-xp.o obj-$(CONFIG_PINCTRL_XWAY) += pinctrl-xway.o obj-$(CONFIG_PINCTRL_LANTIQ) += pinctrl-lantiq.o obj-$(CONFIG_PLAT_ORION) += mvebu/ obj-$(CONFIG_PLAT_SPEAR) += spear/
drivers/pinctrl/core.c +2 −0 Original line number Diff line number Diff line Loading @@ -563,6 +563,8 @@ static int add_setting(struct pinctrl *p, struct pinctrl_map const *map) return -EPROBE_DEFER; } setting->dev_name = map->dev_name; switch (map->type) { case PIN_MAP_TYPE_MUX_GROUP: ret = pinmux_map_to_setting(map, setting); Loading
drivers/pinctrl/core.h +2 −0 Original line number Diff line number Diff line Loading @@ -105,12 +105,14 @@ struct pinctrl_setting_configs { * @type: the type of setting * @pctldev: pin control device handling to be programmed. Not used for * PIN_MAP_TYPE_DUMMY_STATE. * @dev_name: the name of the device using this state * @data: Data specific to the setting type */ struct pinctrl_setting { struct list_head node; enum pinctrl_map_type type; struct pinctrl_dev *pctldev; const char *dev_name; union { struct pinctrl_setting_mux mux; struct pinctrl_setting_configs configs; Loading