]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pinctrl: generic: change signature of pinctrl_generic_to_map() to pass void data
authorConor Dooley <conor.dooley@microchip.com>
Tue, 19 May 2026 09:37:22 +0000 (10:37 +0100)
committerLinus Walleij <linusw@kernel.org>
Tue, 26 May 2026 11:32:52 +0000 (13:32 +0200)
In order to make pinctrl_generic_to_map() usable for controllers that
use pinmux, change the functions char array pointer that it passes to
pinctrl_generic_add_group() to a void pointer. In the pinmux case this
property will contain the mux setting as a number rather than as strings
in the pins + functions case.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
drivers/pinctrl/pinconf.h
drivers/pinctrl/pinctrl-generic.c

index c6c9dc07b08d34a6f026e3e4b46cbef44c34c9d4..396f65ffe7a650e412d21e0627804cc7c03c0c2d 100644 (file)
@@ -177,8 +177,7 @@ int pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *pare
                           struct device_node *np, struct pinctrl_map **maps,
                           unsigned int *num_maps, unsigned int *num_reserved_maps,
                           const char **group_name, unsigned int ngroups,
-                          const char **functions, unsigned int *pins,
-                          unsigned int npins);
+                          void *data, unsigned int *pins, unsigned int npins);
 #else
 static inline int
 pinctrl_generic_pins_function_dt_node_to_map(struct pinctrl_dev *pctldev,
@@ -194,8 +193,7 @@ pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *parent,
                       struct device_node *np, struct pinctrl_map **maps,
                       unsigned int *num_maps, unsigned int *num_reserved_maps,
                       const char **group_name, unsigned int ngroups,
-                      const char **functions, unsigned int *pins,
-                      unsigned int npins)
+                      void *data, unsigned int *pins, unsigned int npins)
 {
        return -ENOTSUPP;
 }
index e4cd16ce2bda379ab0933acda782d02ba1ed2e1c..a3faad7911cbfff9654b94a0d4b17d9a73147401 100644 (file)
@@ -21,8 +21,7 @@ int pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *pare
                           struct device_node *np, struct pinctrl_map **maps,
                           unsigned int *num_maps, unsigned int *num_reserved_maps,
                           const char **group_names, unsigned int ngroups,
-                          const char **functions, unsigned int *pins,
-                          unsigned int npins)
+                          void *data, unsigned int *pins, unsigned int npins)
 {
        struct device *dev = pctldev->dev;
        unsigned int num_configs;
@@ -45,7 +44,7 @@ int pinctrl_generic_to_map(struct pinctrl_dev *pctldev, struct device_node *pare
        if (ret < 0)
                return ret;
 
-       ret = pinctrl_generic_add_group(pctldev, group_name, pins, npins, functions);
+       ret = pinctrl_generic_add_group(pctldev, group_name, pins, npins, data);
        if (ret < 0)
                return dev_err_probe(dev, ret, "failed to add group %s: %d\n",
                                     group_name, ret);