[PATCH 2/4] pinctrl: Remove unsafe __refdata
Barry Song
21cnbao at gmail.com
Thu Oct 20 09:46:07 UTC 2011
2011/10/20 Stephen Warren <swarren at nvidia.com>:
> A pin controller's pin definitions are used both during pinctrl_register()
> and pinctrl_unregister(). The latter happens outside of __init/__devinit
> time, and hence it is unsafe to mark the pin array as __refdata.
Thanks.
Acked-by: Barry Song <Baohua.Song at csr.com>
missed this when porting prima2 pinmux driver. is this __refdata used
just due to a typo?
i don't find prima2 pinctrl_pin_desc tables uses any code/data in __init/__exit.
if we need the table to be in init section, we should have used
__initconst/__initdata instead.
>
> Signed-off-by: Stephen Warren <swarren at nvidia.com>
> ---
> drivers/pinctrl/pinmux-sirf.c | 2 +-
> drivers/pinctrl/pinmux-u300.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pinctrl/pinmux-sirf.c b/drivers/pinctrl/pinmux-sirf.c
> index cad4f5d..3bc083c 100644
> --- a/drivers/pinctrl/pinmux-sirf.c
> +++ b/drivers/pinctrl/pinmux-sirf.c
> @@ -30,7 +30,7 @@
> * pad list for the pinmux subsystem
> * refer to CS-131858-DC-6A.xls
> */
> -static const struct pinctrl_pin_desc __refdata sirfsoc_pads[] = {
> +static const struct pinctrl_pin_desc sirfsoc_pads[] = {
> PINCTRL_PIN(4, "pwm0"),
> PINCTRL_PIN(5, "pwm1"),
> PINCTRL_PIN(6, "pwm2"),
> diff --git a/drivers/pinctrl/pinmux-u300.c b/drivers/pinctrl/pinmux-u300.c
> index be6e04d..ed8bcd8 100644
> --- a/drivers/pinctrl/pinmux-u300.c
> +++ b/drivers/pinctrl/pinmux-u300.c
> @@ -179,7 +179,7 @@
> #define U300_NUM_PADS 467
>
> /* Pad names for the pinmux subsystem */
> -static const struct pinctrl_pin_desc __refdata u300_pads[] = {
> +static const struct pinctrl_pin_desc u300_pads[] = {
> /* Pads along the top edge of the chip */
> PINCTRL_PIN(0, "P PAD VDD 28"),
> PINCTRL_PIN(1, "P PAD GND 28"),
> --
> 1.7.0.4
-barry
More information about the linaro-dev
mailing list