* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:12 [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute Dong Aisheng
@ 2011-11-11 15:06 ` Uwe Kleine-König
2011-11-11 15:25 ` Dong Aisheng-B29396
2011-11-11 15:12 ` [PATCH 2/2] ARM: mxs: remove mmc_platform_data __initdata attribute Dong Aisheng
1 sibling, 1 reply; 9+ messages in thread
From: Uwe Kleine-König @ 2011-11-11 15:06 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 11, 2011 at 11:12:39PM +0800, Dong Aisheng wrote:
> The flexcan driver still uses it after init.
As "it" is a copy of flexcan_pdata it's completely OK for the driver to
use it.
What is the exact problem you want to address?
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
@ 2011-11-11 15:12 Dong Aisheng
2011-11-11 15:06 ` Uwe Kleine-König
2011-11-11 15:12 ` [PATCH 2/2] ARM: mxs: remove mmc_platform_data __initdata attribute Dong Aisheng
0 siblings, 2 replies; 9+ messages in thread
From: Dong Aisheng @ 2011-11-11 15:12 UTC (permalink / raw)
To: linux-arm-kernel
The flexcan driver still uses it after init.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawn.guo@freescale.com>
Cc: Wolfram Sang <w.sang@pengutronix.de>
Cc: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/mach-mxs/mach-mx28evk.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c
index 4a3cca3..226ba64 100644
--- a/arch/arm/mach-mxs/mach-mx28evk.c
+++ b/arch/arm/mach-mxs/mach-mx28evk.c
@@ -327,7 +327,7 @@ static void mx28evk_flexcan1_switch(int enable)
}
static const struct flexcan_platform_data
- mx28evk_flexcan_pdata[] __initconst = {
+ mx28evk_flexcan_pdata[] = {
{
.transceiver_switch = mx28evk_flexcan0_switch,
}, {
--
1.7.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 2/2] ARM: mxs: remove mmc_platform_data __initdata attribute
2011-11-11 15:12 [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute Dong Aisheng
2011-11-11 15:06 ` Uwe Kleine-König
@ 2011-11-11 15:12 ` Dong Aisheng
1 sibling, 0 replies; 9+ messages in thread
From: Dong Aisheng @ 2011-11-11 15:12 UTC (permalink / raw)
To: linux-arm-kernel
The mmc driver still uses it after init.
Signed-off-by: Dong Aisheng <b29396@freescale.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawn.guo@freescale.com>
Cc: Wolfram Sang <w.sang@pengutronix.de>
Cc: Uwe Kleine-K?nig <u.kleine-koenig@pengutronix.de>
---
arch/arm/mach-mxs/mach-mx23evk.c | 2 +-
arch/arm/mach-mxs/mach-mx28evk.c | 2 +-
arch/arm/mach-mxs/mach-stmp378x_devb.c | 2 +-
arch/arm/mach-mxs/mach-tx28.c | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-mxs/mach-mx23evk.c b/arch/arm/mach-mxs/mach-mx23evk.c
index 2c8eb7c..9a0c568 100644
--- a/arch/arm/mach-mxs/mach-mx23evk.c
+++ b/arch/arm/mach-mxs/mach-mx23evk.c
@@ -133,7 +133,7 @@ static const struct mxsfb_platform_data mx23evk_mxsfb_pdata __initconst = {
.ld_intf_width = STMLCDIF_24BIT,
};
-static struct mxs_mmc_platform_data mx23evk_mmc_pdata __initdata = {
+static struct mxs_mmc_platform_data mx23evk_mmc_pdata = {
.wp_gpio = MX23EVK_MMC0_WRITE_PROTECT,
.flags = SLOTF_8_BIT_CAPABLE,
};
diff --git a/arch/arm/mach-mxs/mach-mx28evk.c b/arch/arm/mach-mxs/mach-mx28evk.c
index 226ba64..9a57da9 100644
--- a/arch/arm/mach-mxs/mach-mx28evk.c
+++ b/arch/arm/mach-mxs/mach-mx28evk.c
@@ -361,7 +361,7 @@ static const struct mxsfb_platform_data mx28evk_mxsfb_pdata __initconst = {
.ld_intf_width = STMLCDIF_24BIT,
};
-static struct mxs_mmc_platform_data mx28evk_mmc_pdata[] __initdata = {
+static struct mxs_mmc_platform_data mx28evk_mmc_pdata[] = {
{
/* mmc0 */
.wp_gpio = MX28EVK_MMC0_WRITE_PROTECT,
diff --git a/arch/arm/mach-mxs/mach-stmp378x_devb.c b/arch/arm/mach-mxs/mach-stmp378x_devb.c
index afec337..aaf06bf 100644
--- a/arch/arm/mach-mxs/mach-stmp378x_devb.c
+++ b/arch/arm/mach-mxs/mach-stmp378x_devb.c
@@ -66,7 +66,7 @@ static const iomux_cfg_t stmp378x_dvb_pads[] __initconst = {
MX23_PAD_PWM3__GPIO_1_29 | MXS_PAD_CTRL, /* power enable */
};
-static struct mxs_mmc_platform_data stmp378x_dvb_mmc_pdata __initdata = {
+static struct mxs_mmc_platform_data stmp378x_dvb_mmc_pdata = {
.wp_gpio = STMP378X_DEVB_MMC0_WRITE_PROTECT,
};
diff --git a/arch/arm/mach-mxs/mach-tx28.c b/arch/arm/mach-mxs/mach-tx28.c
index ce5d563..ec8337e 100644
--- a/arch/arm/mach-mxs/mach-tx28.c
+++ b/arch/arm/mach-mxs/mach-tx28.c
@@ -139,7 +139,7 @@ static struct i2c_board_info tx28_stk5v3_i2c_boardinfo[] __initdata = {
},
};
-static struct mxs_mmc_platform_data tx28_mmc0_pdata __initdata = {
+static struct mxs_mmc_platform_data tx28_mmc0_pdata = {
.wp_gpio = -EINVAL,
.flags = SLOTF_4_BIT_CAPABLE,
};
--
1.7.0.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:06 ` Uwe Kleine-König
@ 2011-11-11 15:25 ` Dong Aisheng-B29396
2011-11-11 15:27 ` Russell King - ARM Linux
2011-11-11 15:42 ` Uwe Kleine-König
0 siblings, 2 replies; 9+ messages in thread
From: Dong Aisheng-B29396 @ 2011-11-11 15:25 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Uwe Kleine-K?nig [mailto:u.kleine-koenig at pengutronix.de]
> Sent: Friday, November 11, 2011 11:06 PM
> To: Dong Aisheng-B29396
> Cc: linux-arm-kernel at lists.infradead.org; kernel at pengutronix.de;
> s.hauer at pengutronix.de; w.sang at pengutronix.de; Guo Shawn-R65073
> Subject: Re: [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst
> attribute
>
> On Fri, Nov 11, 2011 at 11:12:39PM +0800, Dong Aisheng wrote:
> > The flexcan driver still uses it after init.
> As "it" is a copy of flexcan_pdata it's completely OK for the driver to
> use it.
>
> What is the exact problem you want to address?
>
Sorry, I just checked the code and found platform_device_add_data will
Add a copy of platform specific data.
Originally I thought the driver may access the freed pdata after init.
So, does it mean that every pdata of pdevice added
by mxs_add_platform_device_dmamask can be prefixed by __init*?
And, below change seems correct?
diff --git a/arch/arm/mach-mxs/module-tx28.c b/arch/arm/mach-mxs/module-tx28.c
index 0fcff47..a096cca 100644
--- a/arch/arm/mach-mxs/module-tx28.c
+++ b/arch/arm/mach-mxs/module-tx28.c
@@ -66,11 +66,11 @@ static const iomux_cfg_t tx28_fec1_pads[] __initconst = {
MX28_PAD_ENET0_CRS__ENET1_RX_EN,
};
-static struct fec_platform_data tx28_fec0_data = {
+static struct fec_platform_data __initconst tx28_fec0_data = {
.phy = PHY_INTERFACE_MODE_RMII,
};
-static struct fec_platform_data tx28_fec1_data = {
+static struct fec_platform_data __initconst tx28_fec1_data = {
.phy = PHY_INTERFACE_MODE_RMII,
};
Regards
Dong Aisheng
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:25 ` Dong Aisheng-B29396
@ 2011-11-11 15:27 ` Russell King - ARM Linux
2011-11-11 15:30 ` Dong Aisheng-B29396
2011-11-11 15:42 ` Uwe Kleine-König
1 sibling, 1 reply; 9+ messages in thread
From: Russell King - ARM Linux @ 2011-11-11 15:27 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 11, 2011 at 03:25:01PM +0000, Dong Aisheng-B29396 wrote:
> -static struct fec_platform_data tx28_fec0_data = {
> +static struct fec_platform_data __initconst tx28_fec0_data = {
No. It's spelt:
static const struct fec_platform_data tx28_fec0_data __initconst = {
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:27 ` Russell King - ARM Linux
@ 2011-11-11 15:30 ` Dong Aisheng-B29396
2011-11-11 15:33 ` Russell King - ARM Linux
0 siblings, 1 reply; 9+ messages in thread
From: Dong Aisheng-B29396 @ 2011-11-11 15:30 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> Sent: Friday, November 11, 2011 11:28 PM
> To: Dong Aisheng-B29396
> Cc: Uwe Kleine-K?nig; Guo Shawn-R65073; s.hauer at pengutronix.de;
> kernel at pengutronix.de; linux-arm-kernel at lists.infradead.org;
> w.sang at pengutronix.de
> Subject: Re: [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst
> attribute
>
> On Fri, Nov 11, 2011 at 03:25:01PM +0000, Dong Aisheng-B29396 wrote:
> > -static struct fec_platform_data tx28_fec0_data = {
> > +static struct fec_platform_data __initconst tx28_fec0_data = {
>
> No. It's spelt:
>
> static const struct fec_platform_data tx28_fec0_data __initconst = {
Thanks for reminder, I missed the first const. :-)
Regards
Dong Aisheng
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:30 ` Dong Aisheng-B29396
@ 2011-11-11 15:33 ` Russell King - ARM Linux
2011-11-11 15:36 ` Dong Aisheng-B29396
0 siblings, 1 reply; 9+ messages in thread
From: Russell King - ARM Linux @ 2011-11-11 15:33 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 11, 2011 at 03:30:04PM +0000, Dong Aisheng-B29396 wrote:
> > -----Original Message-----
> > From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> > Sent: Friday, November 11, 2011 11:28 PM
> > To: Dong Aisheng-B29396
> > Cc: Uwe Kleine-K?nig; Guo Shawn-R65073; s.hauer at pengutronix.de;
> > kernel at pengutronix.de; linux-arm-kernel at lists.infradead.org;
> > w.sang at pengutronix.de
> > Subject: Re: [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst
> > attribute
> >
> > On Fri, Nov 11, 2011 at 03:25:01PM +0000, Dong Aisheng-B29396 wrote:
> > > -static struct fec_platform_data tx28_fec0_data = {
> > > +static struct fec_platform_data __initconst tx28_fec0_data = {
> >
> > No. It's spelt:
> >
> > static const struct fec_platform_data tx28_fec0_data __initconst = {
> Thanks for reminder, I missed the first const. :-)
That's not the only thing. Note the placement of the __initconst too.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:33 ` Russell King - ARM Linux
@ 2011-11-11 15:36 ` Dong Aisheng-B29396
0 siblings, 0 replies; 9+ messages in thread
From: Dong Aisheng-B29396 @ 2011-11-11 15:36 UTC (permalink / raw)
To: linux-arm-kernel
> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> Sent: Friday, November 11, 2011 11:33 PM
> To: Dong Aisheng-B29396
> Cc: Uwe Kleine-K?nig; Guo Shawn-R65073; s.hauer at pengutronix.de;
> kernel at pengutronix.de; linux-arm-kernel at lists.infradead.org;
> w.sang at pengutronix.de
> Subject: Re: [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst
> attribute
>
> On Fri, Nov 11, 2011 at 03:30:04PM +0000, Dong Aisheng-B29396 wrote:
> > > -----Original Message-----
> > > From: Russell King - ARM Linux [mailto:linux at arm.linux.org.uk]
> > > Sent: Friday, November 11, 2011 11:28 PM
> > > To: Dong Aisheng-B29396
> > > Cc: Uwe Kleine-K?nig; Guo Shawn-R65073; s.hauer at pengutronix.de;
> > > kernel at pengutronix.de; linux-arm-kernel at lists.infradead.org;
> > > w.sang at pengutronix.de
> > > Subject: Re: [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata
> > > __initconst attribute
> > >
> > > On Fri, Nov 11, 2011 at 03:25:01PM +0000, Dong Aisheng-B29396 wrote:
> > > > -static struct fec_platform_data tx28_fec0_data = {
> > > > +static struct fec_platform_data __initconst tx28_fec0_data = {
> > >
> > > No. It's spelt:
> > >
> > > static const struct fec_platform_data tx28_fec0_data __initconst = {
> > Thanks for reminder, I missed the first const. :-)
>
> That's not the only thing. Note the placement of the __initconst too.
Got it, thanks for your carefully review. :-)
Regards
Dong Aisheng
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute
2011-11-11 15:25 ` Dong Aisheng-B29396
2011-11-11 15:27 ` Russell King - ARM Linux
@ 2011-11-11 15:42 ` Uwe Kleine-König
1 sibling, 0 replies; 9+ messages in thread
From: Uwe Kleine-König @ 2011-11-11 15:42 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 11, 2011 at 03:25:01PM +0000, Dong Aisheng-B29396 wrote:
> > -----Original Message-----
> > From: Uwe Kleine-K?nig [mailto:u.kleine-koenig at pengutronix.de]
> > Sent: Friday, November 11, 2011 11:06 PM
> > To: Dong Aisheng-B29396
> > Cc: linux-arm-kernel at lists.infradead.org; kernel at pengutronix.de;
> > s.hauer at pengutronix.de; w.sang at pengutronix.de; Guo Shawn-R65073
> > Subject: Re: [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst
> > attribute
> >
> > On Fri, Nov 11, 2011 at 11:12:39PM +0800, Dong Aisheng wrote:
> > > The flexcan driver still uses it after init.
> > As "it" is a copy of flexcan_pdata it's completely OK for the driver to
> > use it.
> >
> > What is the exact problem you want to address?
> >
> Sorry, I just checked the code and found platform_device_add_data will
> Add a copy of platform specific data.
> Originally I thought the driver may access the freed pdata after init.
>
> So, does it mean that every pdata of pdevice added
> by mxs_add_platform_device_dmamask can be prefixed by __init*?
>
> And, below change seems correct?
> diff --git a/arch/arm/mach-mxs/module-tx28.c b/arch/arm/mach-mxs/module-tx28.c
> index 0fcff47..a096cca 100644
> --- a/arch/arm/mach-mxs/module-tx28.c
> +++ b/arch/arm/mach-mxs/module-tx28.c
> @@ -66,11 +66,11 @@ static const iomux_cfg_t tx28_fec1_pads[] __initconst = {
> MX28_PAD_ENET0_CRS__ENET1_RX_EN,
> };
>
> -static struct fec_platform_data tx28_fec0_data = {
> +static struct fec_platform_data __initconst tx28_fec0_data = {
> .phy = PHY_INTERFACE_MODE_RMII,
> };
>
> -static struct fec_platform_data tx28_fec1_data = {
> +static struct fec_platform_data __initconst tx28_fec1_data = {
> .phy = PHY_INTERFACE_MODE_RMII,
> };
Apart from Russell's objections, yes.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2011-11-11 15:42 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-11 15:12 [PATCH 1/2] ARM: mx28evk: remove flexcan_pdata __initconst attribute Dong Aisheng
2011-11-11 15:06 ` Uwe Kleine-König
2011-11-11 15:25 ` Dong Aisheng-B29396
2011-11-11 15:27 ` Russell King - ARM Linux
2011-11-11 15:30 ` Dong Aisheng-B29396
2011-11-11 15:33 ` Russell King - ARM Linux
2011-11-11 15:36 ` Dong Aisheng-B29396
2011-11-11 15:42 ` Uwe Kleine-König
2011-11-11 15:12 ` [PATCH 2/2] ARM: mxs: remove mmc_platform_data __initdata attribute Dong Aisheng
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).