ARM: shmobile: ape6evm: add "__initconst" annotations where needed
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Wed, 31 Jul 2013 12:40:14 +0000 (14:40 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Thu, 1 Aug 2013 10:04:41 +0000 (19:04 +0900)
This patch adds __initconst markers to the platform data and resources,
used on ape6evm as parameters to platform_device_register_resndata().
The data is duplicated inside that function, therefore original data
can be discarded after initialisation is completed.

Reported-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski+renesas@gmail.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/board-ape6evm.c

index ccf8b042908330d8e2b490599c98014a5d6bf525..c5e6cba8f7b07fcd730994e36a34b43c705d6151 100644 (file)
@@ -44,7 +44,7 @@ static struct regulator_consumer_supply dummy_supplies[] = {
 };
 
 /* SMSC LAN9220 */
-static const struct resource lan9220_res[] = {
+static const struct resource lan9220_res[] __initconst = {
        DEFINE_RES_MEM(0x08000000, 0x1000),
        {
                .start  = irq_pin(40), /* IRQ40 */
@@ -52,7 +52,7 @@ static const struct resource lan9220_res[] = {
        },
 };
 
-static const struct smsc911x_platform_config lan9220_data = {
+static const struct smsc911x_platform_config lan9220_data __initconst = {
        .flags          = SMSC911X_USE_32BIT,
        .irq_type       = SMSC911X_IRQ_TYPE_PUSH_PULL,
        .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH,
@@ -73,39 +73,39 @@ static struct regulator_consumer_supply fixed3v3_power_consumers[] =
 };
 
 /* MMCIF */
-static struct sh_mmcif_plat_data mmcif0_pdata = {
+static const struct sh_mmcif_plat_data mmcif0_pdata __initconst = {
        .caps           = MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE,
 };
 
-static struct resource mmcif0_resources[] = {
+static const struct resource mmcif0_resources[] __initconst = {
        DEFINE_RES_MEM_NAMED(0xee200000, 0x100, "MMCIF0"),
        DEFINE_RES_IRQ(gic_spi(169)),
 };
 
 /* SDHI0 */
-static struct sh_mobile_sdhi_info sdhi0_pdata = {
+static const struct sh_mobile_sdhi_info sdhi0_pdata __initconst = {
        .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE,
        .tmio_caps      = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ,
 };
 
-static struct resource sdhi0_resources[] = {
+static const struct resource sdhi0_resources[] __initconst = {
        DEFINE_RES_MEM_NAMED(0xee100000, 0x100, "SDHI0"),
        DEFINE_RES_IRQ(gic_spi(165)),
 };
 
 /* SDHI1 */
-static struct sh_mobile_sdhi_info sdhi1_pdata = {
+static const struct sh_mobile_sdhi_info sdhi1_pdata __initconst = {
        .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_WRPROTECT_DISABLE,
        .tmio_caps      = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
                          MMC_CAP_NEEDS_POLL,
 };
 
-static struct resource sdhi1_resources[] = {
+static const struct resource sdhi1_resources[] __initconst = {
        DEFINE_RES_MEM_NAMED(0xee120000, 0x100, "SDHI1"),
        DEFINE_RES_IRQ(gic_spi(166)),
 };
 
-static const struct pinctrl_map ape6evm_pinctrl_map[] = {
+static const struct pinctrl_map ape6evm_pinctrl_map[] __initconst = {
        /* SCIFA0 console */
        PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a73a4",
                                  "scifa0_data", "scifa0"),