pcmcia/pxa2xx_sharpsl: retain ops structure on collie
diff mbox

Message ID 1312715131-3956-1-git-send-email-dbaryshkov@gmail.com
State New, archived
Headers show

Commit Message

Dmitry Baryshkov Aug. 7, 2011, 11:05 a.m. UTC
The pxa2xx_sharpsl driver part is also used on collie, which (as
a StrongARM board) has different expectations for PCMCIA drivers.
So, on collie place sharpsl_pcmcia_ops in .data section rather than
in __initdata.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: stable@kernel.org

Comments

Dmitry Baryshkov Aug. 18, 2011, 11:46 a.m. UTC | #1
On Sun, Aug 7, 2011 at 3:05 PM, Dmitry Eremin-Solenikov
<dbaryshkov@gmail.com> wrote:
> The pxa2xx_sharpsl driver part is also used on collie, which (as
> a StrongARM board) has different expectations for PCMCIA drivers.
> So, on collie place sharpsl_pcmcia_ops in .data section rather than
> in __initdata.
>
> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> Cc: stable@kernel.org

Any comments on this patch?

> diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c
> index 69ae2fd..f2405dc 100644
> --- a/drivers/pcmcia/pxa2xx_sharpsl.c
> +++ b/drivers/pcmcia/pxa2xx_sharpsl.c
> @@ -219,7 +219,11 @@ static void sharpsl_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
>        sharpsl_pcmcia_init_reset(skt);
>  }
>
> +#ifdef CONFIG_SA1100_COLLIE
> +static struct pcmcia_low_level sharpsl_pcmcia_ops = {
> +#else
>  static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = {
> +#endif
>        .owner                  = THIS_MODULE,
>        .hw_init                = sharpsl_pcmcia_hw_init,
>        .hw_shutdown            = sharpsl_pcmcia_hw_shutdown,
> --
> 1.7.2.5
>
>
Eric Miao Aug. 19, 2011, 2:19 a.m. UTC | #2
On Thu, Aug 18, 2011 at 7:46 PM, Dmitry Eremin-Solenikov
<dbaryshkov@gmail.com> wrote:
> On Sun, Aug 7, 2011 at 3:05 PM, Dmitry Eremin-Solenikov
> <dbaryshkov@gmail.com> wrote:
>> The pxa2xx_sharpsl driver part is also used on collie, which (as
>> a StrongARM board) has different expectations for PCMCIA drivers.
>> So, on collie place sharpsl_pcmcia_ops in .data section rather than
>> in __initdata.
>>
>> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> Cc: stable@kernel.org
>
> Any comments on this patch?
>
>> diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c
>> index 69ae2fd..f2405dc 100644
>> --- a/drivers/pcmcia/pxa2xx_sharpsl.c
>> +++ b/drivers/pcmcia/pxa2xx_sharpsl.c
>> @@ -219,7 +219,11 @@ static void sharpsl_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
>>        sharpsl_pcmcia_init_reset(skt);
>>  }
>>
>> +#ifdef CONFIG_SA1100_COLLIE
>> +static struct pcmcia_low_level sharpsl_pcmcia_ops = {
>> +#else
>>  static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = {
>> +#endif

Looks OK, and maybe we can put it even simpler by just removing __initdata.

>>        .owner                  = THIS_MODULE,
>>        .hw_init                = sharpsl_pcmcia_hw_init,
>>        .hw_shutdown            = sharpsl_pcmcia_hw_shutdown,
>> --
>> 1.7.2.5
>>
>>
>
>
>
> --
> With best wishes
> Dmitry
>
Pavel Machek Aug. 26, 2011, 8:34 p.m. UTC | #3
On Fri 2011-08-19 10:19:33, Eric Miao wrote:
> On Thu, Aug 18, 2011 at 7:46 PM, Dmitry Eremin-Solenikov
> <dbaryshkov@gmail.com> wrote:
> > On Sun, Aug 7, 2011 at 3:05 PM, Dmitry Eremin-Solenikov
> > <dbaryshkov@gmail.com> wrote:
> >> The pxa2xx_sharpsl driver part is also used on collie, which (as
> >> a StrongARM board) has different expectations for PCMCIA drivers.
> >> So, on collie place sharpsl_pcmcia_ops in .data section rather than
> >> in __initdata.
> >>
> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> >> Cc: stable@kernel.org
> >
> > Any comments on this patch?
> >
> >> diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c
> >> index 69ae2fd..f2405dc 100644
> >> --- a/drivers/pcmcia/pxa2xx_sharpsl.c
> >> +++ b/drivers/pcmcia/pxa2xx_sharpsl.c
> >> @@ -219,7 +219,11 @@ static void sharpsl_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
> >>        sharpsl_pcmcia_init_reset(skt);
> >>  }
> >>
> >> +#ifdef CONFIG_SA1100_COLLIE
> >> +static struct pcmcia_low_level sharpsl_pcmcia_ops = {
> >> +#else
> >>  static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = {
> >> +#endif
> 
> Looks OK, and maybe we can put it even simpler by just removing __initdata.

I'd say so; ifdef to have  initdata there is just too ugly. But I
don't think it is stable material...
Dmitry Baryshkov Aug. 26, 2011, 8:44 p.m. UTC | #4
Hello,

On 8/27/11, Pavel Machek <pavel@ucw.cz> wrote:
> On Fri 2011-08-19 10:19:33, Eric Miao wrote:
>> On Thu, Aug 18, 2011 at 7:46 PM, Dmitry Eremin-Solenikov
>> <dbaryshkov@gmail.com> wrote:
>> > On Sun, Aug 7, 2011 at 3:05 PM, Dmitry Eremin-Solenikov
>> > <dbaryshkov@gmail.com> wrote:
>> >> The pxa2xx_sharpsl driver part is also used on collie, which (as
>> >> a StrongARM board) has different expectations for PCMCIA drivers.
>> >> So, on collie place sharpsl_pcmcia_ops in .data section rather than
>> >> in __initdata.
>> >>
>> >> Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
>> >> Cc: stable@kernel.org
>> >
>> > Any comments on this patch?
>> >
>> >> diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c
>> >> b/drivers/pcmcia/pxa2xx_sharpsl.c
>> >> index 69ae2fd..f2405dc 100644
>> >> --- a/drivers/pcmcia/pxa2xx_sharpsl.c
>> >> +++ b/drivers/pcmcia/pxa2xx_sharpsl.c
>> >> @@ -219,7 +219,11 @@ static void sharpsl_pcmcia_socket_suspend(struct
>> >> soc_pcmcia_socket *skt)
>> >>        sharpsl_pcmcia_init_reset(skt);
>> >>  }
>> >>
>> >> +#ifdef CONFIG_SA1100_COLLIE
>> >> +static struct pcmcia_low_level sharpsl_pcmcia_ops = {
>> >> +#else
>> >>  static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = {
>> >> +#endif
>>
>> Looks OK, and maybe we can put it even simpler by just removing
>> __initdata.
>
> I'd say so; ifdef to have  initdata there is just too ugly. But I
> don't think it is stable material...

Maybe... And memory lost on PXA will be minimal.
It's stable material in the sense that lack of this patch causes
kernel panics.

Patch
diff mbox

diff --git a/drivers/pcmcia/pxa2xx_sharpsl.c b/drivers/pcmcia/pxa2xx_sharpsl.c
index 69ae2fd..f2405dc 100644
--- a/drivers/pcmcia/pxa2xx_sharpsl.c
+++ b/drivers/pcmcia/pxa2xx_sharpsl.c
@@ -219,7 +219,11 @@  static void sharpsl_pcmcia_socket_suspend(struct soc_pcmcia_socket *skt)
 	sharpsl_pcmcia_init_reset(skt);
 }
 
+#ifdef CONFIG_SA1100_COLLIE
+static struct pcmcia_low_level sharpsl_pcmcia_ops = {
+#else
 static struct pcmcia_low_level sharpsl_pcmcia_ops __initdata = {
+#endif
 	.owner                  = THIS_MODULE,
 	.hw_init                = sharpsl_pcmcia_hw_init,
 	.hw_shutdown            = sharpsl_pcmcia_hw_shutdown,