summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/pinmux.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2012-02-01 12:02:47 -0500
committerLinus Walleij <linus.walleij@linaro.org>2012-02-01 13:42:35 -0500
commit9dfac4fd7f8cdcdf734dff2ccc7ca467f53f1cfd (patch)
tree6a9ee37b2aac4b288c85387d83310e5f9cd9108e /drivers/pinctrl/pinmux.c
parent8dc6ae4d448758a30cf5fa822d6fe6f4e15a04c6 (diff)
pinctrl: delete raw device pointers in pinmux maps
After discussion with Mark Brown in an unrelated thread about ADC lookups, it came to my knowledge that the ability to pass a struct device * in the regulator consumers is just a historical artifact, and not really recommended. Since there are no in-kernel users of these pointers, we just kill them right now, before someone starts to use them. Reviewed-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/pinmux.c')
-rw-r--r--drivers/pinctrl/pinmux.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
index 7c3193f7a044..1311f1d22002 100644
--- a/drivers/pinctrl/pinmux.c
+++ b/drivers/pinctrl/pinmux.c
@@ -354,7 +354,7 @@ int __init pinmux_register_mappings(struct pinmux_map const *maps,
354 return -EINVAL; 354 return -EINVAL;
355 } 355 }
356 356
357 if (!maps[i].ctrl_dev && !maps[i].ctrl_dev_name) { 357 if (!maps[i].ctrl_dev_name) {
358 pr_err("failed to register map %s (%d): no pin control device given\n", 358 pr_err("failed to register map %s (%d): no pin control device given\n",
359 maps[i].name, i); 359 maps[i].name, i);
360 return -EINVAL; 360 return -EINVAL;
@@ -366,7 +366,7 @@ int __init pinmux_register_mappings(struct pinmux_map const *maps,
366 return -EINVAL; 366 return -EINVAL;
367 } 367 }
368 368
369 if (!maps[i].dev && !maps[i].dev_name) 369 if (!maps[i].dev_name)
370 pr_debug("add system map %s function %s with no device\n", 370 pr_debug("add system map %s function %s with no device\n",
371 maps[i].name, 371 maps[i].name,
372 maps[i].function); 372 maps[i].function);
@@ -721,20 +721,12 @@ struct pinmux *pinmux_get(struct device *dev, const char *name)
721 /* 721 /*
722 * First, try to find the pctldev given in the map 722 * First, try to find the pctldev given in the map
723 */ 723 */
724 pctldev = get_pinctrl_dev_from_dev(map->ctrl_dev, 724 pctldev = get_pinctrl_dev_from_devname(map->ctrl_dev_name);
725 map->ctrl_dev_name);
726 if (!pctldev) { 725 if (!pctldev) {
727 const char *devname = NULL;
728
729 if (map->ctrl_dev)
730 devname = dev_name(map->ctrl_dev);
731 else if (map->ctrl_dev_name)
732 devname = map->ctrl_dev_name;
733
734 pr_warning("could not find a pinctrl device for pinmux function %s, fishy, they shall all have one\n", 726 pr_warning("could not find a pinctrl device for pinmux function %s, fishy, they shall all have one\n",
735 map->function); 727 map->function);
736 pr_warning("given pinctrl device name: %s", 728 pr_warning("given pinctrl device name: %s",
737 devname ? devname : "UNDEFINED"); 729 map->ctrl_dev_name);
738 730
739 /* Continue to check the other mappings anyway... */ 731 /* Continue to check the other mappings anyway... */
740 continue; 732 continue;
@@ -925,7 +917,7 @@ static int pinmux_hog_map(struct pinctrl_dev *pctldev,
925 struct pinmux *pmx; 917 struct pinmux *pmx;
926 int ret; 918 int ret;
927 919
928 if (map->dev || map->dev_name) { 920 if (map->dev_name) {
929 /* 921 /*
930 * TODO: the day we have device tree support, we can 922 * TODO: the day we have device tree support, we can
931 * traverse the device tree and hog to specific device nodes 923 * traverse the device tree and hog to specific device nodes
@@ -996,9 +988,8 @@ int pinmux_hog_maps(struct pinctrl_dev *pctldev)
996 if (!map->hog_on_boot) 988 if (!map->hog_on_boot)
997 continue; 989 continue;
998 990
999 if ((map->ctrl_dev == dev) || 991 if (map->ctrl_dev_name &&
1000 (map->ctrl_dev_name && 992 !strcmp(map->ctrl_dev_name, devname)) {
1001 !strcmp(map->ctrl_dev_name, devname))) {
1002 /* OK time to hog! */ 993 /* OK time to hog! */
1003 ret = pinmux_hog_map(pctldev, map); 994 ret = pinmux_hog_map(pctldev, map);
1004 if (ret) 995 if (ret)
@@ -1156,14 +1147,12 @@ static int pinmux_maps_show(struct seq_file *s, void *what)
1156 struct pinmux_map const *map = &pinmux_maps[i]; 1147 struct pinmux_map const *map = &pinmux_maps[i];
1157 1148
1158 seq_printf(s, "%s:\n", map->name); 1149 seq_printf(s, "%s:\n", map->name);
1159 if (map->dev || map->dev_name) 1150 if (map->dev_name)
1160 seq_printf(s, " device: %s\n", 1151 seq_printf(s, " device: %s\n",
1161 map->dev ? dev_name(map->dev) :
1162 map->dev_name); 1152 map->dev_name);
1163 else 1153 else
1164 seq_printf(s, " SYSTEM MUX\n"); 1154 seq_printf(s, " SYSTEM MUX\n");
1165 seq_printf(s, " controlling device %s\n", 1155 seq_printf(s, " controlling device %s\n",
1166 map->ctrl_dev ? dev_name(map->ctrl_dev) :
1167 map->ctrl_dev_name); 1156 map->ctrl_dev_name);
1168 seq_printf(s, " function: %s\n", map->function); 1157 seq_printf(s, " function: %s\n", map->function);
1169 seq_printf(s, " group: %s\n", map->group ? map->group : 1158 seq_printf(s, " group: %s\n", map->group ? map->group :