mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 16:37:50 +00:00
pinctrl: renesas: Make sh_pfc_pin_to_bias_reg() static
Now all R-Car pin control drivers have been converted to the common R-Car bias handling, sh_pfc_pin_to_bias_reg() is only called from a single place. Move it from core.c to pinctrl.c, make it static, and rename it to rcar_pin_to_bias_reg(), as it is specific to R-Car SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Link: https://lore.kernel.org/r/20210303132619.3938128-2-geert+renesas@glider.be
This commit is contained in:
parent
f7adcca27e
commit
b82fd2df17
3 changed files with 22 additions and 26 deletions
|
@ -394,26 +394,6 @@ int sh_pfc_config_mux(struct sh_pfc *pfc, unsigned mark, int pinmux_type)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct pinmux_bias_reg *
|
|
||||||
sh_pfc_pin_to_bias_reg(const struct sh_pfc *pfc, unsigned int pin,
|
|
||||||
unsigned int *bit)
|
|
||||||
{
|
|
||||||
unsigned int i, j;
|
|
||||||
|
|
||||||
for (i = 0; pfc->info->bias_regs[i].puen; i++) {
|
|
||||||
for (j = 0; j < ARRAY_SIZE(pfc->info->bias_regs[i].pins); j++) {
|
|
||||||
if (pfc->info->bias_regs[i].pins[j] == pin) {
|
|
||||||
*bit = j;
|
|
||||||
return &pfc->info->bias_regs[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
WARN_ONCE(1, "Pin %u is not in bias info list\n", pin);
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int sh_pfc_init_ranges(struct sh_pfc *pfc)
|
static int sh_pfc_init_ranges(struct sh_pfc *pfc)
|
||||||
{
|
{
|
||||||
struct sh_pfc_pin_range *range;
|
struct sh_pfc_pin_range *range;
|
||||||
|
|
|
@ -29,10 +29,6 @@ void sh_pfc_write(struct sh_pfc *pfc, u32 reg, u32 data);
|
||||||
int sh_pfc_get_pin_index(struct sh_pfc *pfc, unsigned int pin);
|
int sh_pfc_get_pin_index(struct sh_pfc *pfc, unsigned int pin);
|
||||||
int sh_pfc_config_mux(struct sh_pfc *pfc, unsigned mark, int pinmux_type);
|
int sh_pfc_config_mux(struct sh_pfc *pfc, unsigned mark, int pinmux_type);
|
||||||
|
|
||||||
const struct pinmux_bias_reg *
|
|
||||||
sh_pfc_pin_to_bias_reg(const struct sh_pfc *pfc, unsigned int pin,
|
|
||||||
unsigned int *bit);
|
|
||||||
|
|
||||||
unsigned int rcar_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin);
|
unsigned int rcar_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin);
|
||||||
void rcar_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
|
void rcar_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
|
||||||
unsigned int bias);
|
unsigned int bias);
|
||||||
|
|
|
@ -840,12 +840,32 @@ int sh_pfc_register_pinctrl(struct sh_pfc *pfc)
|
||||||
return pinctrl_enable(pmx->pctl);
|
return pinctrl_enable(pmx->pctl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct pinmux_bias_reg *
|
||||||
|
rcar_pin_to_bias_reg(const struct sh_pfc *pfc, unsigned int pin,
|
||||||
|
unsigned int *bit)
|
||||||
|
{
|
||||||
|
unsigned int i, j;
|
||||||
|
|
||||||
|
for (i = 0; pfc->info->bias_regs[i].puen; i++) {
|
||||||
|
for (j = 0; j < ARRAY_SIZE(pfc->info->bias_regs[i].pins); j++) {
|
||||||
|
if (pfc->info->bias_regs[i].pins[j] == pin) {
|
||||||
|
*bit = j;
|
||||||
|
return &pfc->info->bias_regs[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WARN_ONCE(1, "Pin %u is not in bias info list\n", pin);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
unsigned int rcar_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin)
|
unsigned int rcar_pinmux_get_bias(struct sh_pfc *pfc, unsigned int pin)
|
||||||
{
|
{
|
||||||
const struct pinmux_bias_reg *reg;
|
const struct pinmux_bias_reg *reg;
|
||||||
unsigned int bit;
|
unsigned int bit;
|
||||||
|
|
||||||
reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
|
reg = rcar_pin_to_bias_reg(pfc, pin, &bit);
|
||||||
if (!reg)
|
if (!reg)
|
||||||
return PIN_CONFIG_BIAS_DISABLE;
|
return PIN_CONFIG_BIAS_DISABLE;
|
||||||
|
|
||||||
|
@ -864,7 +884,7 @@ void rcar_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
|
||||||
u32 enable, updown;
|
u32 enable, updown;
|
||||||
unsigned int bit;
|
unsigned int bit;
|
||||||
|
|
||||||
reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
|
reg = rcar_pin_to_bias_reg(pfc, pin, &bit);
|
||||||
if (!reg)
|
if (!reg)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue