diff options
author | Antony Pavlov <antonynpavlov@gmail.com> | 2015-04-29 11:56:58 +0300 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-04-30 08:12:57 +0200 |
commit | 377d261708d3057200c7ad9647fddb15169fea78 (patch) | |
tree | 9334590c4a63ec0b4ea01b91a7adc627a1ceb699 /drivers/pinctrl | |
parent | 92207cde490261c52cc804588561d8f3117cdf87 (diff) | |
download | barebox-377d261708d3057200c7ad9647fddb15169fea78.tar.gz barebox-377d261708d3057200c7ad9647fddb15169fea78.tar.xz |
of: use 'const void *' for struct of_device_id.data
Since 2011 barebox' of_device_id struct uses unsigned long type for data field:
struct of_device_id {
char *compatible;
unsigned long data;
};
Almost always struct of_device_id.data field are used as pointer
and need 'unsigned long' casting.
E.g. see 'git grep -A 4 of_device_id drivers/' output:
drivers/ata/sata-imx.c:static __maybe_unused struct of_device_id imx_sata_dt_ids[] = {
drivers/ata/sata-imx.c- {
drivers/ata/sata-imx.c- .compatible = "fsl,imx6q-ahci",
drivers/ata/sata-imx.c- .data = (unsigned long)&data_imx6,
drivers/ata/sata-imx.c- }, {
Here is of_device_id struct in linux kernel v4.0:
struct of_device_id {
char name[32];
char type[32];
char compatible[128];
const void *data;
};
Changing of_device_id.data type to 'const void *data' will increase
barebox' linux kernel compatibility and decrease number of 'unsigned
long' casts.
Part of the patch was done using the 'coccinelle' tool with the
following semantic patch:
@rule1@
identifier dev;
identifier type;
identifier func;
@@
func(...) {
<...
- dev_get_drvdata(dev, (unsigned long *)&type)
+ dev_get_drvdata(dev, (const void **)&type)
...>
}
@rule2@
identifier dev;
identifier type;
identifier func;
identifier data;
@@
func(...) {
<...
- dev_get_drvdata(dev, (unsigned long *)&type->data)
+ dev_get_drvdata(dev, (const void **)&type->data)
...>
}
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r-- | drivers/pinctrl/mvebu/armada-370.c | 2 | ||||
-rw-r--r-- | drivers/pinctrl/mvebu/armada-xp.c | 6 | ||||
-rw-r--r-- | drivers/pinctrl/mvebu/dove.c | 2 | ||||
-rw-r--r-- | drivers/pinctrl/mvebu/kirkwood.c | 12 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-at91.c | 12 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-rockchip.c | 8 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-tegra-xusb.c | 4 | ||||
-rw-r--r-- | drivers/pinctrl/pinctrl-tegra30.c | 6 |
8 files changed, 26 insertions, 26 deletions
diff --git a/drivers/pinctrl/mvebu/armada-370.c b/drivers/pinctrl/mvebu/armada-370.c index bcfe40e6c8..b7901f8c6d 100644 --- a/drivers/pinctrl/mvebu/armada-370.c +++ b/drivers/pinctrl/mvebu/armada-370.c @@ -384,7 +384,7 @@ static struct mvebu_pinctrl_soc_info mv88f6710_pinctrl_info = { static struct of_device_id armada_370_pinctrl_of_match[] = { { .compatible = "marvell,mv88f6710-pinctrl", - .data = (u32)&mv88f6710_pinctrl_info, + .data = &mv88f6710_pinctrl_info, }, { }, }; diff --git a/drivers/pinctrl/mvebu/armada-xp.c b/drivers/pinctrl/mvebu/armada-xp.c index 1745776a4d..51db35d068 100644 --- a/drivers/pinctrl/mvebu/armada-xp.c +++ b/drivers/pinctrl/mvebu/armada-xp.c @@ -362,9 +362,9 @@ static struct mvebu_pinctrl_soc_info armada_xp_pinctrl_info = { }; static struct of_device_id armada_xp_pinctrl_of_match[] = { - { .compatible = "marvell,mv78230-pinctrl", .data = (u32)V_MV78230, }, - { .compatible = "marvell,mv78260-pinctrl", .data = (u32)V_MV78260, }, - { .compatible = "marvell,mv78460-pinctrl", .data = (u32)V_MV78460, }, + { .compatible = "marvell,mv78230-pinctrl", .data = (void *)V_MV78230, }, + { .compatible = "marvell,mv78260-pinctrl", .data = (void *)V_MV78260, }, + { .compatible = "marvell,mv78460-pinctrl", .data = (void *)V_MV78460, }, { }, }; diff --git a/drivers/pinctrl/mvebu/dove.c b/drivers/pinctrl/mvebu/dove.c index a2133a093b..d1848a79d3 100644 --- a/drivers/pinctrl/mvebu/dove.c +++ b/drivers/pinctrl/mvebu/dove.c @@ -689,7 +689,7 @@ static struct mvebu_pinctrl_soc_info dove_pinctrl_info = { static struct of_device_id dove_pinctrl_of_match[] = { { .compatible = "marvell,dove-pinctrl", - .data = (u32)&dove_pinctrl_info + .data = &dove_pinctrl_info }, { } }; diff --git a/drivers/pinctrl/mvebu/kirkwood.c b/drivers/pinctrl/mvebu/kirkwood.c index 05142489c0..e2ac559668 100644 --- a/drivers/pinctrl/mvebu/kirkwood.c +++ b/drivers/pinctrl/mvebu/kirkwood.c @@ -405,27 +405,27 @@ static struct mvebu_pinctrl_soc_info mv98dx4122_info = { static struct of_device_id kirkwood_pinctrl_of_match[] = { { .compatible = "marvell,88f6180-pinctrl", - .data = (u32)&mv88f6180_info + .data = &mv88f6180_info }, { .compatible = "marvell,88f6190-pinctrl", - .data = (u32)&mv88f6190_info + .data = &mv88f6190_info }, { .compatible = "marvell,88f6192-pinctrl", - .data = (u32)&mv88f6192_info + .data = &mv88f6192_info }, { .compatible = "marvell,88f6281-pinctrl", - .data = (u32)&mv88f6281_info + .data = &mv88f6281_info }, { .compatible = "marvell,88f6282-pinctrl", - .data = (u32)&mv88f6282_info + .data = &mv88f6282_info }, { .compatible = "marvell,98dx4122-pinctrl", - .data = (u32)&mv98dx4122_info + .data = &mv98dx4122_info }, { } }; diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index b803f891eb..ebbc6f6f14 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -380,10 +380,10 @@ static struct at91_pinctrl_mux_ops at91sam9x5_ops = { static struct of_device_id at91_pinctrl_dt_ids[] = { { .compatible = "atmel,at91rm9200-pinctrl", - .data = (unsigned long)&at91rm9200_ops, + .data = &at91rm9200_ops, }, { .compatible = "atmel,at91sam9x5-pinctrl", - .data = (unsigned long)&at91sam9x5_ops, + .data = &at91sam9x5_ops, }, { /* sentinel */ } @@ -402,7 +402,7 @@ static struct at91_pinctrl_mux_ops *at91_pinctrl_get_driver_data(struct device_d else ops_data = (struct at91_pinctrl_mux_ops *)match->data; } else { - rc = dev_get_drvdata(dev, (unsigned long *)&ops_data); + rc = dev_get_drvdata(dev, (const void **)&ops_data); if (rc) ops_data = NULL; } @@ -606,10 +606,10 @@ static struct gpio_ops at91_gpio_ops = { static struct of_device_id at91_gpio_dt_ids[] = { { .compatible = "atmel,at91rm9200-gpio", - .data = (unsigned long)&at91rm9200_ops, + .data = &at91rm9200_ops, }, { .compatible = "atmel,at91sam9x5-gpio", - .data = (unsigned long)&at91sam9x5_ops, + .data = &at91sam9x5_ops, }, { /* sentinel */ }, @@ -631,7 +631,7 @@ static int at91_gpio_probe(struct device_d *dev) at91_gpio = &gpio_chip[alias_idx]; - ret = dev_get_drvdata(dev, (unsigned long *)&at91_gpio->ops); + ret = dev_get_drvdata(dev, (const void **)&at91_gpio->ops); if (ret) { dev_err(dev, "dev_get_drvdata failed: %d\n", ret); return ret; diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c index 3533aff942..1130f3d845 100644 --- a/drivers/pinctrl/pinctrl-rockchip.c +++ b/drivers/pinctrl/pinctrl-rockchip.c @@ -517,19 +517,19 @@ static struct rockchip_pin_ctrl rk3188_pin_ctrl = { static struct of_device_id rockchip_pinctrl_dt_match[] = { { .compatible = "rockchip,rk2928-pinctrl", - .data = (long)&rk2928_pin_ctrl, + .data = &rk2928_pin_ctrl, }, { .compatible = "rockchip,rk3066a-pinctrl", - .data = (long)&rk3066a_pin_ctrl, + .data = &rk3066a_pin_ctrl, }, { .compatible = "rockchip,rk3066b-pinctrl", - .data = (long)&rk3066b_pin_ctrl, + .data = &rk3066b_pin_ctrl, }, { .compatible = "rockchip,rk3188-pinctrl", - .data = (long)&rk3188_pin_ctrl, + .data = &rk3188_pin_ctrl, }, { /* sentinel */ } diff --git a/drivers/pinctrl/pinctrl-tegra-xusb.c b/drivers/pinctrl/pinctrl-tegra-xusb.c index 05cdecbabf..d567754fd7 100644 --- a/drivers/pinctrl/pinctrl-tegra-xusb.c +++ b/drivers/pinctrl/pinctrl-tegra-xusb.c @@ -387,7 +387,7 @@ static int pinctrl_tegra_xusb_probe(struct device_d *dev) dev->priv = padctl; padctl->dev = dev; - dev_get_drvdata(dev, (unsigned long *)&padctl->soc); + dev_get_drvdata(dev, (const void **)&padctl->soc); padctl->regs = dev_request_mem_region(dev, 0); if (IS_ERR(padctl->regs)) { @@ -500,7 +500,7 @@ static const struct tegra_xusb_padctl_soc tegra124_soc = { static __maybe_unused struct of_device_id pinctrl_tegra_xusb_dt_ids[] = { { .compatible = "nvidia,tegra124-xusb-padctl", - .data = (unsigned long)&tegra124_soc, + .data = &tegra124_soc, }, { /* sentinel */ } diff --git a/drivers/pinctrl/pinctrl-tegra30.c b/drivers/pinctrl/pinctrl-tegra30.c index aac67605cf..145a1a821e 100644 --- a/drivers/pinctrl/pinctrl-tegra30.c +++ b/drivers/pinctrl/pinctrl-tegra30.c @@ -891,7 +891,7 @@ static int pinctrl_tegra30_probe(struct device_d *dev) } } - dev_get_drvdata(dev, (unsigned long *)&ctrl->drvdata); + dev_get_drvdata(dev, (const void **)&ctrl->drvdata); ctrl->pinctrl.dev = dev; ctrl->pinctrl.ops = &pinctrl_tegra30_ops; @@ -911,12 +911,12 @@ static __maybe_unused struct of_device_id pinctrl_tegra30_dt_ids[] = { { #ifdef CONFIG_ARCH_TEGRA_3x_SOC .compatible = "nvidia,tegra30-pinmux", - .data = (unsigned long)&tegra30_drvdata, + .data = &tegra30_drvdata, }, { #endif #ifdef CONFIG_ARCH_TEGRA_124_SOC .compatible = "nvidia,tegra124-pinmux", - .data = (unsigned long)&tegra124_drvdata, + .data = &tegra124_drvdata, }, { #endif /* sentinel */ |