···201201};202202203203/* Pin control settings */204204-static struct pinctrl_map __initdata u300_pinmux_map[] = {204204+static const struct pinctrl_map u300_pinmux_map[] = {205205 /* anonymous maps for chip power and EMIFs */206206 PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-u300", NULL, "power"),207207 PIN_MAP_MUX_GROUP_HOG_DEFAULT("pinctrl-u300", NULL, "emif0"),
+17-26
drivers/pinctrl/core.c
···13761376}13771377EXPORT_SYMBOL_GPL(devm_pinctrl_put);1378137813791379-int pinctrl_register_map(const struct pinctrl_map *maps, unsigned num_maps,13801380- bool dup)13791379+/**13801380+ * pinctrl_register_mappings() - register a set of pin controller mappings13811381+ * @maps: the pincontrol mappings table to register. Note the pinctrl-core13821382+ * keeps a reference to the passed in maps, so they should _not_ be13831383+ * marked with __initdata.13841384+ * @num_maps: the number of maps in the mapping table13851385+ */13861386+int pinctrl_register_mappings(const struct pinctrl_map *maps,13871387+ unsigned num_maps)13811388{13821389 int i, ret;13831390 struct pinctrl_maps *maps_node;···14371430 if (!maps_node)14381431 return -ENOMEM;1439143214331433+ maps_node->maps = maps;14401434 maps_node->num_maps = num_maps;14411441- if (dup) {14421442- maps_node->maps = kmemdup(maps, sizeof(*maps) * num_maps,14431443- GFP_KERNEL);14441444- if (!maps_node->maps) {14451445- kfree(maps_node);14461446- return -ENOMEM;14471447- }14481448- } else {14491449- maps_node->maps = maps;14501450- }1451143514521436 mutex_lock(&pinctrl_maps_mutex);14531437 list_add_tail(&maps_node->node, &pinctrl_maps);···1446144814471449 return 0;14481450}14491449-14501450-/**14511451- * pinctrl_register_mappings() - register a set of pin controller mappings14521452- * @maps: the pincontrol mappings table to register. This should probably be14531453- * marked with __initdata so it can be discarded after boot. This14541454- * function will perform a shallow copy for the mapping entries.14551455- * @num_maps: the number of maps in the mapping table14561456- */14571457-int pinctrl_register_mappings(const struct pinctrl_map *maps,14581458- unsigned num_maps)14591459-{14601460- return pinctrl_register_map(maps, num_maps, true);14611461-}14621451EXPORT_SYMBOL_GPL(pinctrl_register_mappings);1463145214641464-void pinctrl_unregister_map(const struct pinctrl_map *map)14531453+/**14541454+ * pinctrl_unregister_mappings() - unregister a set of pin controller mappings14551455+ * @maps: the pincontrol mappings table passed to pinctrl_register_mappings()14561456+ * when registering the mappings.14571457+ */14581458+void pinctrl_unregister_mappings(const struct pinctrl_map *map)14651459{14661460 struct pinctrl_maps *maps_node;14671461···14681478 }14691479 mutex_unlock(&pinctrl_maps_mutex);14701480}14811481+EXPORT_SYMBOL_GPL(pinctrl_unregister_mappings);1471148214721483/**14731484 * pinctrl_force_sleep() - turn a given controller device into sleep state
-4
drivers/pinctrl/core.h
···236236pinctrl_find_gpio_range_from_pin_nolock(struct pinctrl_dev *pctldev,237237 unsigned int pin);238238239239-int pinctrl_register_map(const struct pinctrl_map *maps, unsigned num_maps,240240- bool dup);241241-void pinctrl_unregister_map(const struct pinctrl_map *map);242242-243239extern int pinctrl_force_sleep(struct pinctrl_dev *pctldev);244240extern int pinctrl_force_default(struct pinctrl_dev *pctldev);245241