lkml.org 
[lkml]   [2011]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 2/4] pinctrl: Remove unsafe __refdata
    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
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2011-10-20 11:49    [W:0.026 / U:30.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site