mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-09 15:29:16 +00:00
pinctrl: sh-pfc: sh73a0: Remove unnecessary SoC data allocation
The SoC data structure allocated at init time only holds a regulator pointer that is only used in the init function. Replace it with a local variable and get rid of the SoC data structure allocation altogether. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
6064b1474e
commit
0a332c96c2
@ -542,7 +542,7 @@ static int sh_pfc_probe(struct platform_device *pdev)
|
|||||||
*/
|
*/
|
||||||
ret = sh_pfc_register_pinctrl(pfc);
|
ret = sh_pfc_register_pinctrl(pfc);
|
||||||
if (unlikely(ret != 0))
|
if (unlikely(ret != 0))
|
||||||
goto error;
|
return ret;
|
||||||
|
|
||||||
#ifdef CONFIG_GPIO_SH_PFC
|
#ifdef CONFIG_GPIO_SH_PFC
|
||||||
/*
|
/*
|
||||||
@ -564,11 +564,6 @@ static int sh_pfc_probe(struct platform_device *pdev)
|
|||||||
dev_info(pfc->dev, "%s support registered\n", info->name);
|
dev_info(pfc->dev, "%s support registered\n", info->name);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
|
||||||
if (info->ops && info->ops->exit)
|
|
||||||
info->ops->exit(pfc);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sh_pfc_remove(struct platform_device *pdev)
|
static int sh_pfc_remove(struct platform_device *pdev)
|
||||||
@ -580,9 +575,6 @@ static int sh_pfc_remove(struct platform_device *pdev)
|
|||||||
#endif
|
#endif
|
||||||
sh_pfc_unregister_pinctrl(pfc);
|
sh_pfc_unregister_pinctrl(pfc);
|
||||||
|
|
||||||
if (pfc->info->ops && pfc->info->ops->exit)
|
|
||||||
pfc->info->ops->exit(pfc);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ struct sh_pfc_pin_range {
|
|||||||
struct sh_pfc {
|
struct sh_pfc {
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
const struct sh_pfc_soc_info *info;
|
const struct sh_pfc_soc_info *info;
|
||||||
void *soc_data;
|
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
|
|
||||||
unsigned int num_windows;
|
unsigned int num_windows;
|
||||||
|
@ -3824,35 +3824,24 @@ static void sh73a0_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
|
|||||||
* SoC information
|
* SoC information
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct sh73a0_pinmux_data {
|
|
||||||
struct regulator_dev *vccq_mc0;
|
|
||||||
};
|
|
||||||
|
|
||||||
static int sh73a0_pinmux_soc_init(struct sh_pfc *pfc)
|
static int sh73a0_pinmux_soc_init(struct sh_pfc *pfc)
|
||||||
{
|
{
|
||||||
struct sh73a0_pinmux_data *data;
|
|
||||||
struct regulator_config cfg = { };
|
struct regulator_config cfg = { };
|
||||||
|
struct regulator_dev *vccq;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
data = devm_kzalloc(pfc->dev, sizeof(*data), GFP_KERNEL);
|
|
||||||
if (data == NULL)
|
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
cfg.dev = pfc->dev;
|
cfg.dev = pfc->dev;
|
||||||
cfg.init_data = &sh73a0_vccq_mc0_init_data;
|
cfg.init_data = &sh73a0_vccq_mc0_init_data;
|
||||||
cfg.driver_data = pfc;
|
cfg.driver_data = pfc;
|
||||||
|
|
||||||
data->vccq_mc0 = devm_regulator_register(pfc->dev,
|
vccq = devm_regulator_register(pfc->dev, &sh73a0_vccq_mc0_desc, &cfg);
|
||||||
&sh73a0_vccq_mc0_desc, &cfg);
|
if (IS_ERR(vccq)) {
|
||||||
if (IS_ERR(data->vccq_mc0)) {
|
ret = PTR_ERR(vccq);
|
||||||
ret = PTR_ERR(data->vccq_mc0);
|
|
||||||
dev_err(pfc->dev, "Failed to register VCCQ MC0 regulator: %d\n",
|
dev_err(pfc->dev, "Failed to register VCCQ MC0 regulator: %d\n",
|
||||||
ret);
|
ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
pfc->soc_data = data;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,7 +116,6 @@ struct sh_pfc;
|
|||||||
|
|
||||||
struct sh_pfc_soc_operations {
|
struct sh_pfc_soc_operations {
|
||||||
int (*init)(struct sh_pfc *pfc);
|
int (*init)(struct sh_pfc *pfc);
|
||||||
void (*exit)(struct sh_pfc *pfc);
|
|
||||||
unsigned int (*get_bias)(struct sh_pfc *pfc, unsigned int pin);
|
unsigned int (*get_bias)(struct sh_pfc *pfc, unsigned int pin);
|
||||||
void (*set_bias)(struct sh_pfc *pfc, unsigned int pin,
|
void (*set_bias)(struct sh_pfc *pfc, unsigned int pin,
|
||||||
unsigned int bias);
|
unsigned int bias);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user