struct pinctrl_map * amlogic_register_mux_map(struct device *dev,const char *state_name, const char *func,const char *group) { struct pinctrl_map * map1; int ret; map1=kzalloc(sizeof(struct pinctrl_map),GFP_KERNEL); if(!(map1)){ printk("%s:mallo error\n",__func__); return NULL; } map1->dev_name=dev_name(dev); map1->ctrl_dev_name=pctdev_name; map1->type=PIN_MAP_TYPE_MUX_GROUP; if(state_name) map1->name=state_name; else map1->name=PINCTRL_STATE_DEFAULT; map1->data.mux.function=func; map1->data.mux.group=group; ret=pinctrl_register_map(map1, 1, false, false); if(!ret) return map1; else kfree(map1); return NULL; }
struct pinctrl_map * amlogic_register_config_map(struct device *dev,const char *state_name,const char *group, unsigned long *configs,unsigned int num_configs) { struct pinctrl_map * map1; int ret; map1=kzalloc(sizeof(struct pinctrl_map),GFP_KERNEL); if(!(map1)){ printk("%s:mallo error\n",__func__); return NULL; } map1->dev_name=dev_name(dev); map1->ctrl_dev_name=pctdev_name; map1->type=PIN_MAP_TYPE_CONFIGS_GROUP; if(state_name) map1->name=state_name; else map1->name=PINCTRL_STATE_DEFAULT; map1->data.configs.group_or_pin=group; map1->data.configs.configs=configs; map1->data.configs.num_configs=num_configs; ret=pinctrl_register_map(map1, 1, false); if(!ret) return map1; else kfree(map1); return NULL; }