2011/10/20 Stephen Warren swarren@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@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@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