mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 10:43:43 +00:00
pinctrl: st: Use temporary variable for struct device
Use temporary variable for struct device to make code neater. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
e803ab971b
commit
f972707662
@ -814,26 +814,25 @@ static int st_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
|
||||
{
|
||||
struct st_pinctrl *info = pinctrl_dev_get_drvdata(pctldev);
|
||||
const struct st_pctl_group *grp;
|
||||
struct device *dev = info->dev;
|
||||
struct pinctrl_map *new_map;
|
||||
struct device_node *parent;
|
||||
int map_num, i;
|
||||
|
||||
grp = st_pctl_find_group_by_name(info, np->name);
|
||||
if (!grp) {
|
||||
dev_err(info->dev, "unable to find group for node %pOFn\n",
|
||||
np);
|
||||
dev_err(dev, "unable to find group for node %pOFn\n", np);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
map_num = grp->npins + 1;
|
||||
new_map = devm_kcalloc(pctldev->dev,
|
||||
map_num, sizeof(*new_map), GFP_KERNEL);
|
||||
new_map = devm_kcalloc(dev, map_num, sizeof(*new_map), GFP_KERNEL);
|
||||
if (!new_map)
|
||||
return -ENOMEM;
|
||||
|
||||
parent = of_get_parent(np);
|
||||
if (!parent) {
|
||||
devm_kfree(pctldev->dev, new_map);
|
||||
devm_kfree(dev, new_map);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@ -853,7 +852,7 @@ static int st_pctl_dt_node_to_map(struct pinctrl_dev *pctldev,
|
||||
new_map[i].data.configs.configs = &grp->pin_conf[i].config;
|
||||
new_map[i].data.configs.num_configs = 1;
|
||||
}
|
||||
dev_info(pctldev->dev, "maps: function %s group %s num %d\n",
|
||||
dev_info(dev, "maps: function %s group %s num %d\n",
|
||||
(*map)->data.mux.function, grp->name, map_num);
|
||||
|
||||
return 0;
|
||||
@ -1173,6 +1172,7 @@ static int st_pctl_dt_parse_groups(struct device_node *np,
|
||||
/* bank pad direction val altfunction */
|
||||
const __be32 *list;
|
||||
struct property *pp;
|
||||
struct device *dev = info->dev;
|
||||
struct st_pinconf *conf;
|
||||
struct device_node *pins;
|
||||
int i = 0, npins = 0, nr_props, ret = 0;
|
||||
@ -1197,9 +1197,8 @@ static int st_pctl_dt_parse_groups(struct device_node *np,
|
||||
|
||||
grp->npins = npins;
|
||||
grp->name = np->name;
|
||||
grp->pins = devm_kcalloc(info->dev, npins, sizeof(u32), GFP_KERNEL);
|
||||
grp->pin_conf = devm_kcalloc(info->dev,
|
||||
npins, sizeof(*conf), GFP_KERNEL);
|
||||
grp->pins = devm_kcalloc(dev, npins, sizeof(*grp->pins), GFP_KERNEL);
|
||||
grp->pin_conf = devm_kcalloc(dev, npins, sizeof(*grp->pin_conf), GFP_KERNEL);
|
||||
|
||||
if (!grp->pins || !grp->pin_conf) {
|
||||
ret = -ENOMEM;
|
||||
@ -1247,6 +1246,7 @@ static int st_pctl_dt_parse_groups(struct device_node *np,
|
||||
static int st_pctl_parse_functions(struct device_node *np,
|
||||
struct st_pinctrl *info, u32 index, int *grp_index)
|
||||
{
|
||||
struct device *dev = info->dev;
|
||||
struct device_node *child;
|
||||
struct st_pmx_func *func;
|
||||
struct st_pctl_group *grp;
|
||||
@ -1256,11 +1256,10 @@ static int st_pctl_parse_functions(struct device_node *np,
|
||||
func->name = np->name;
|
||||
func->ngroups = of_get_child_count(np);
|
||||
if (func->ngroups == 0) {
|
||||
dev_err(info->dev, "No groups defined\n");
|
||||
dev_err(dev, "No groups defined\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
func->groups = devm_kcalloc(info->dev,
|
||||
func->ngroups, sizeof(char *), GFP_KERNEL);
|
||||
func->groups = devm_kcalloc(dev, func->ngroups, sizeof(*func->groups), GFP_KERNEL);
|
||||
if (!func->groups)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -1275,8 +1274,7 @@ static int st_pctl_parse_functions(struct device_node *np,
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
dev_info(info->dev, "Function[%d\t name:%s,\tgroups:%d]\n",
|
||||
index, func->name, func->ngroups);
|
||||
dev_info(dev, "Function[%d\t name:%s,\tgroups:%d]\n", index, func->name, func->ngroups);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -1577,10 +1575,11 @@ static const struct of_device_id st_pctl_of_match[] = {
|
||||
static int st_pctl_probe_dt(struct platform_device *pdev,
|
||||
struct pinctrl_desc *pctl_desc, struct st_pinctrl *info)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
int ret = 0;
|
||||
int i = 0, j = 0, k = 0, bank;
|
||||
struct pinctrl_pin_desc *pdesc;
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
struct device_node *np = dev->of_node;
|
||||
struct device_node *child;
|
||||
int grp_index = 0;
|
||||
int irq = 0;
|
||||
@ -1588,30 +1587,26 @@ static int st_pctl_probe_dt(struct platform_device *pdev,
|
||||
|
||||
st_pctl_dt_child_count(info, np);
|
||||
if (!info->nbanks) {
|
||||
dev_err(&pdev->dev, "you need at least one gpio bank\n");
|
||||
dev_err(dev, "you need at least one gpio bank\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
dev_info(&pdev->dev, "nbanks = %d\n", info->nbanks);
|
||||
dev_info(&pdev->dev, "nfunctions = %d\n", info->nfunctions);
|
||||
dev_info(&pdev->dev, "ngroups = %d\n", info->ngroups);
|
||||
dev_info(dev, "nbanks = %d\n", info->nbanks);
|
||||
dev_info(dev, "nfunctions = %d\n", info->nfunctions);
|
||||
dev_info(dev, "ngroups = %d\n", info->ngroups);
|
||||
|
||||
info->functions = devm_kcalloc(&pdev->dev,
|
||||
info->nfunctions, sizeof(*info->functions), GFP_KERNEL);
|
||||
info->functions = devm_kcalloc(dev, info->nfunctions, sizeof(*info->functions), GFP_KERNEL);
|
||||
|
||||
info->groups = devm_kcalloc(&pdev->dev,
|
||||
info->ngroups, sizeof(*info->groups),
|
||||
GFP_KERNEL);
|
||||
info->groups = devm_kcalloc(dev, info->ngroups, sizeof(*info->groups), GFP_KERNEL);
|
||||
|
||||
info->banks = devm_kcalloc(&pdev->dev,
|
||||
info->nbanks, sizeof(*info->banks), GFP_KERNEL);
|
||||
info->banks = devm_kcalloc(dev, info->nbanks, sizeof(*info->banks), GFP_KERNEL);
|
||||
|
||||
if (!info->functions || !info->groups || !info->banks)
|
||||
return -ENOMEM;
|
||||
|
||||
info->regmap = syscon_regmap_lookup_by_phandle(np, "st,syscfg");
|
||||
if (IS_ERR(info->regmap)) {
|
||||
dev_err(info->dev, "No syscfg phandle specified\n");
|
||||
dev_err(dev, "No syscfg phandle specified\n");
|
||||
return PTR_ERR(info->regmap);
|
||||
}
|
||||
info->data = of_match_node(st_pctl_of_match, np)->data;
|
||||
@ -1621,7 +1616,7 @@ static int st_pctl_probe_dt(struct platform_device *pdev,
|
||||
if (irq > 0) {
|
||||
res = platform_get_resource_byname(pdev,
|
||||
IORESOURCE_MEM, "irqmux");
|
||||
info->irqmux_base = devm_ioremap_resource(&pdev->dev, res);
|
||||
info->irqmux_base = devm_ioremap_resource(dev, res);
|
||||
|
||||
if (IS_ERR(info->irqmux_base))
|
||||
return PTR_ERR(info->irqmux_base);
|
||||
@ -1632,8 +1627,7 @@ static int st_pctl_probe_dt(struct platform_device *pdev,
|
||||
}
|
||||
|
||||
pctl_desc->npins = info->nbanks * ST_GPIO_PINS_PER_BANK;
|
||||
pdesc = devm_kcalloc(&pdev->dev,
|
||||
pctl_desc->npins, sizeof(*pdesc), GFP_KERNEL);
|
||||
pdesc = devm_kcalloc(dev, pctl_desc->npins, sizeof(*pdesc), GFP_KERNEL);
|
||||
if (!pdesc)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -1663,7 +1657,7 @@ static int st_pctl_probe_dt(struct platform_device *pdev,
|
||||
ret = st_pctl_parse_functions(child, info,
|
||||
i++, &grp_index);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "No functions found.\n");
|
||||
dev_err(dev, "No functions found.\n");
|
||||
of_node_put(child);
|
||||
return ret;
|
||||
}
|
||||
@ -1675,24 +1669,25 @@ static int st_pctl_probe_dt(struct platform_device *pdev,
|
||||
|
||||
static int st_pctl_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
struct st_pinctrl *info;
|
||||
struct pinctrl_desc *pctl_desc;
|
||||
int ret, i;
|
||||
|
||||
if (!pdev->dev.of_node) {
|
||||
dev_err(&pdev->dev, "device node not found.\n");
|
||||
if (!dev->of_node) {
|
||||
dev_err(dev, "device node not found.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
pctl_desc = devm_kzalloc(&pdev->dev, sizeof(*pctl_desc), GFP_KERNEL);
|
||||
pctl_desc = devm_kzalloc(dev, sizeof(*pctl_desc), GFP_KERNEL);
|
||||
if (!pctl_desc)
|
||||
return -ENOMEM;
|
||||
|
||||
info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL);
|
||||
info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL);
|
||||
if (!info)
|
||||
return -ENOMEM;
|
||||
|
||||
info->dev = &pdev->dev;
|
||||
info->dev = dev;
|
||||
platform_set_drvdata(pdev, info);
|
||||
ret = st_pctl_probe_dt(pdev, pctl_desc, info);
|
||||
if (ret)
|
||||
@ -1702,11 +1697,11 @@ static int st_pctl_probe(struct platform_device *pdev)
|
||||
pctl_desc->pctlops = &st_pctlops;
|
||||
pctl_desc->pmxops = &st_pmxops;
|
||||
pctl_desc->confops = &st_confops;
|
||||
pctl_desc->name = dev_name(&pdev->dev);
|
||||
pctl_desc->name = dev_name(dev);
|
||||
|
||||
info->pctl = devm_pinctrl_register(&pdev->dev, pctl_desc, info);
|
||||
info->pctl = devm_pinctrl_register(dev, pctl_desc, info);
|
||||
if (IS_ERR(info->pctl)) {
|
||||
dev_err(&pdev->dev, "Failed pinctrl registration\n");
|
||||
dev_err(dev, "Failed pinctrl registration\n");
|
||||
return PTR_ERR(info->pctl);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user