pinctrl: pxa2xx: Make use of struct pinfunction
Since pin control provides a generic data type for the pin function, use it in the driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Message-ID: <20240311140833.1168742-1-andriy.shevchenko@linux.intel.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
4cece76496
commit
ea217fefef
@ -109,7 +109,7 @@ static const char *pxa2xx_pmx_get_func_name(struct pinctrl_dev *pctldev,
|
||||
unsigned function)
|
||||
{
|
||||
struct pxa_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
|
||||
struct pxa_pinctrl_function *pf = pctl->functions + function;
|
||||
struct pinfunction *pf = pctl->functions + function;
|
||||
|
||||
return pf->name;
|
||||
}
|
||||
@ -127,7 +127,7 @@ static int pxa2xx_pmx_get_func_groups(struct pinctrl_dev *pctldev,
|
||||
unsigned * const num_groups)
|
||||
{
|
||||
struct pxa_pinctrl *pctl = pinctrl_dev_get_drvdata(pctldev);
|
||||
struct pxa_pinctrl_function *pf = pctl->functions + function;
|
||||
struct pinfunction *pf = pctl->functions + function;
|
||||
|
||||
*groups = pf->groups;
|
||||
*num_groups = pf->ngroups;
|
||||
@ -249,11 +249,11 @@ static struct pinctrl_desc pxa2xx_pinctrl_desc = {
|
||||
.pmxops = &pxa2xx_pinmux_ops,
|
||||
};
|
||||
|
||||
static const struct pxa_pinctrl_function *
|
||||
pxa2xx_find_function(struct pxa_pinctrl *pctl, const char *fname,
|
||||
const struct pxa_pinctrl_function *functions)
|
||||
static const struct pinfunction *pxa2xx_find_function(struct pxa_pinctrl *pctl,
|
||||
const char *fname,
|
||||
const struct pinfunction *functions)
|
||||
{
|
||||
const struct pxa_pinctrl_function *func;
|
||||
const struct pinfunction *func;
|
||||
|
||||
for (func = functions; func->name; func++)
|
||||
if (!strcmp(fname, func->name))
|
||||
@ -264,8 +264,8 @@ pxa2xx_find_function(struct pxa_pinctrl *pctl, const char *fname,
|
||||
|
||||
static int pxa2xx_build_functions(struct pxa_pinctrl *pctl)
|
||||
{
|
||||
struct pinfunction *functions;
|
||||
int i;
|
||||
struct pxa_pinctrl_function *functions;
|
||||
struct pxa_desc_function *df;
|
||||
|
||||
/*
|
||||
@ -296,9 +296,9 @@ static int pxa2xx_build_functions(struct pxa_pinctrl *pctl)
|
||||
static int pxa2xx_build_groups(struct pxa_pinctrl *pctl)
|
||||
{
|
||||
int i, j, ngroups;
|
||||
struct pxa_pinctrl_function *func;
|
||||
struct pxa_desc_function *df;
|
||||
char **gtmp;
|
||||
struct pinfunction *func;
|
||||
const char **gtmp;
|
||||
|
||||
gtmp = devm_kmalloc_array(pctl->dev, pctl->npins, sizeof(*gtmp),
|
||||
GFP_KERNEL);
|
||||
@ -316,13 +316,9 @@ static int pxa2xx_build_groups(struct pxa_pinctrl *pctl)
|
||||
pctl->ppins[j].pin.name;
|
||||
func = pctl->functions + i;
|
||||
func->ngroups = ngroups;
|
||||
func->groups =
|
||||
devm_kmalloc_array(pctl->dev, ngroups,
|
||||
sizeof(char *), GFP_KERNEL);
|
||||
func->groups = devm_kmemdup(pctl->dev, gtmp, ngroups * sizeof(*gtmp), GFP_KERNEL);
|
||||
if (!func->groups)
|
||||
return -ENOMEM;
|
||||
|
||||
memcpy(func->groups, gtmp, ngroups * sizeof(*gtmp));
|
||||
}
|
||||
|
||||
devm_kfree(pctl->dev, gtmp);
|
||||
|
@ -57,12 +57,6 @@ struct pxa_pinctrl_group {
|
||||
unsigned pin;
|
||||
};
|
||||
|
||||
struct pxa_pinctrl_function {
|
||||
const char *name;
|
||||
const char **groups;
|
||||
unsigned ngroups;
|
||||
};
|
||||
|
||||
struct pxa_pinctrl {
|
||||
spinlock_t lock;
|
||||
void __iomem **base_gafr;
|
||||
@ -76,7 +70,7 @@ struct pxa_pinctrl {
|
||||
unsigned ngroups;
|
||||
struct pxa_pinctrl_group *groups;
|
||||
unsigned nfuncs;
|
||||
struct pxa_pinctrl_function *functions;
|
||||
struct pinfunction *functions;
|
||||
char *name;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user