summaryrefslogtreecommitdiff
path: root/include/linux/pinctrl
diff options
context:
space:
mode:
authorThomas Richard <thomas.richard@bootlin.com>2025-05-20 15:28:27 +0200
committerLinus Walleij <linus.walleij@linaro.org>2025-05-21 10:09:47 +0200
commit2e9ba1d9a31f68b4deb5f9e62a9201a51b00abf7 (patch)
tree5aaabcb12eb1be1ce28b2176e0576bddf123d4f6 /include/linux/pinctrl
parent223657cfc87c3d5b9c2172014181c8ed7acf58e8 (diff)
downloadlinux-next-2e9ba1d9a31f68b4deb5f9e62a9201a51b00abf7.tar.gz
linux-next-2e9ba1d9a31f68b4deb5f9e62a9201a51b00abf7.zip
pinctrl: core: add devm_pinctrl_register_mappings()
Using devm_pinctrl_register_mappings(), the core can automatically unregister pinctrl mappings. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Thomas Richard <thomas.richard@bootlin.com> Link: https://lore.kernel.org/20250520-aaeon-up-board-pinctrl-support-v6-3-dcb3756be3c6@bootlin.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'include/linux/pinctrl')
-rw-r--r--include/linux/pinctrl/machine.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/pinctrl/machine.h b/include/linux/pinctrl/machine.h
index 0940fabb154d..25620229b1d6 100644
--- a/include/linux/pinctrl/machine.h
+++ b/include/linux/pinctrl/machine.h
@@ -149,12 +149,16 @@ struct pinctrl_map {
#define PIN_MAP_CONFIGS_GROUP_HOG_DEFAULT(dev, grp, cfgs) \
PIN_MAP_CONFIGS_GROUP(dev, PINCTRL_STATE_DEFAULT, dev, grp, cfgs)
+struct device;
struct pinctrl_map;
#ifdef CONFIG_PINCTRL
int pinctrl_register_mappings(const struct pinctrl_map *map,
unsigned int num_maps);
+int devm_pinctrl_register_mappings(struct device *dev,
+ const struct pinctrl_map *map,
+ unsigned int num_maps);
void pinctrl_unregister_mappings(const struct pinctrl_map *map);
void pinctrl_provide_dummies(void);
#else
@@ -165,6 +169,13 @@ static inline int pinctrl_register_mappings(const struct pinctrl_map *map,
return 0;
}
+static inline int devm_pinctrl_register_mappings(struct device *dev,
+ const struct pinctrl_map *map,
+ unsigned int num_maps)
+{
+ return 0;
+}
+
static inline void pinctrl_unregister_mappings(const struct pinctrl_map *map)
{
}