MINI2440: remove __initdata from some structsmini2440-dev-unlikely
authorMichel Pollet <buserror@gmail.com>
Sat, 22 Aug 2009 09:21:55 +0000 (22 10:21 +0100)
committerMichel Pollet <buserror@gmail.com>
Tue, 24 Nov 2009 22:38:46 +0000 (24 22:38 +0000)
Some drivers keep the data around, past init, and will hang
the kernel when trying to access pueged init data. 2.6.31 seems
a lot more "efficient" at unmapping purged init data than before.

Signed-off-by: Michel Pollet <buserror@gmail.com>
arch/arm/mach-s3c2440/mach-mini2440.c

index c9e645e..9eb96fb 100644 (file)
@@ -78,7 +78,7 @@
 
 #define MACH_MINI2440_DM9K_BASE (S3C2410_CS4 + 0x300)
 
-static struct map_desc mini2440_iodesc[] __initdata = {
+static struct map_desc mini2440_iodesc[] = {
        /* nothing to declare, move along */
 };
 
@@ -87,7 +87,7 @@ static struct map_desc mini2440_iodesc[] __initdata = {
 #define UFCON S3C2410_UFCON_RXTRIG8 | S3C2410_UFCON_FIFOMODE
 
 
-static struct s3c2410_uartcfg mini2440_uartcfgs[] __initdata = {
+static struct s3c2410_uartcfg mini2440_uartcfgs[] = {
        [0] = {
                .hwport      = 0,
                .flags       = 0,
@@ -131,14 +131,14 @@ static void mini2440_udc_pullup(enum s3c2410_udc_cmd_e cmd)
        }
 }
 
-static struct s3c2410_udc_mach_info mini2440_udc_cfg __initdata = {
+static struct s3c2410_udc_mach_info mini2440_udc_cfg = {
        .udc_command            = mini2440_udc_pullup,
 };
 
 /* touchscreen configuration */
 
 #ifdef CONFIG_TOUCHSCREEN_FILTER
-static struct ts_filter_linear_configuration mini2440_ts_linear_config __initdata = {
+static struct ts_filter_linear_configuration mini2440_ts_linear_config = {
        .constants = {
                0, /* x factor */
                1, /* y proportion */
@@ -154,25 +154,25 @@ static struct ts_filter_linear_configuration mini2440_ts_linear_config __initdat
        .coord1 = 1,
 };
 
-static struct ts_filter_group_configuration mini2440_ts_group_config __initdata = {
+static struct ts_filter_group_configuration mini2440_ts_group_config = {
        .extent = 12,
        .close_enough = 10,
        .threshold = 6,         /* at least half of the points in a group */
        .attempts = 10,
 };
 
-static struct ts_filter_median_configuration mini2440_ts_median_config __initdata = {
+static struct ts_filter_median_configuration mini2440_ts_median_config = {
        .extent = 20,
        .decimation_below = 3,
        .decimation_threshold = 8 * 3,
        .decimation_above = 4,
 };
 
-static struct ts_filter_mean_configuration mini2440_ts_mean_config __initdata = {
+static struct ts_filter_mean_configuration mini2440_ts_mean_config = {
        .bits_filter_length = 2, /* 4 points */
 };
 
-static struct s3c2410_ts_mach_info mini2440_ts_cfg __initdata = {
+static struct s3c2410_ts_mach_info mini2440_ts_cfg = {
        .delay = 10000,
        .presc = 0xff, /* slow as we can go */
        .filter_sequence = {
@@ -338,7 +338,7 @@ static struct s3c2410fb_mach_info mini2440_fb_info __initdata = {
 
 /* MMC/SD  */
 
-static struct s3c24xx_mci_pdata mini2440_mmc_cfg __initdata = {
+static struct s3c24xx_mci_pdata mini2440_mmc_cfg = {
    .gpio_detect   = S3C2410_GPG(8),
    .gpio_wprotect = S3C2410_GPH(8),
    .set_power     = NULL,
@@ -347,7 +347,7 @@ static struct s3c24xx_mci_pdata mini2440_mmc_cfg __initdata = {
 
 /* NAND Flash on MINI2440 board */
 
-static struct mtd_partition mini2440_default_nand_part[] __initdata = {
+static struct mtd_partition mini2440_default_nand_part[] = {
        [0] = {
                .name   = "u-boot",
                .size   = SZ_256K,
@@ -372,7 +372,7 @@ static struct mtd_partition mini2440_default_nand_part[] __initdata = {
        },
 };
 
-static struct s3c2410_nand_set mini2440_nand_sets[] __initdata = {
+static struct s3c2410_nand_set mini2440_nand_sets[] = {
        [0] = {
                .name           = "nand",
                .nr_chips       = 1,
@@ -382,7 +382,7 @@ static struct s3c2410_nand_set mini2440_nand_sets[] __initdata = {
        },
 };
 
-static struct s3c2410_platform_nand mini2440_nand_info __initdata = {
+static struct s3c2410_platform_nand mini2440_nand_info = {
        .tacls          = 0,
        .twrph0         = 25,
        .twrph1         = 15,
@@ -393,7 +393,7 @@ static struct s3c2410_platform_nand mini2440_nand_info __initdata = {
 
 /* DM9000AEP 10/100 ethernet controller */
 
-static struct resource mini2440_dm9k_resource[] __initdata = {
+static struct resource mini2440_dm9k_resource[] = {
        [0] = {
                .start = MACH_MINI2440_DM9K_BASE,
                .end   = MACH_MINI2440_DM9K_BASE + 3,
@@ -415,11 +415,11 @@ static struct resource mini2440_dm9k_resource[] __initdata = {
  * The DM9000 has no eeprom, and it's MAC address is set by
  * the bootloader before starting the kernel.
  */
-static struct dm9000_plat_data mini2440_dm9k_pdata __initdata = {
+static struct dm9000_plat_data mini2440_dm9k_pdata = {
        .flags          = (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
 };
 
-static struct platform_device mini2440_device_eth __initdata = {
+static struct platform_device mini2440_device_eth = {
        .name           = "dm9000",
        .id             = -1,
        .num_resources  = ARRAY_SIZE(mini2440_dm9k_resource),
@@ -446,7 +446,7 @@ static struct platform_device mini2440_device_eth __initdata = {
  *     |  |  +----+  +----+
  *       .....
  */
-static struct gpio_keys_button mini2440_buttons[] __initdata = {
+static struct gpio_keys_button mini2440_buttons[] = {
        {
                .gpio           = S3C2410_GPG(0),               /* K1 */
                .code           = KEY_F1,
@@ -489,12 +489,12 @@ static struct gpio_keys_button mini2440_buttons[] __initdata = {
 #endif
 };
 
-static struct gpio_keys_platform_data mini2440_button_data __initdata = {
+static struct gpio_keys_platform_data mini2440_button_data = {
        .buttons        = mini2440_buttons,
        .nbuttons       = ARRAY_SIZE(mini2440_buttons),
 };
 
-static struct platform_device mini2440_button_device __initdata = {
+static struct platform_device mini2440_button_device = {
        .name           = "gpio-keys",
        .id             = -1,
        .dev            = {
@@ -504,42 +504,42 @@ static struct platform_device mini2440_button_device __initdata = {
 
 /* LEDS */
 
-static struct s3c24xx_led_platdata mini2440_led1_pdata __initdata = {
+static struct s3c24xx_led_platdata mini2440_led1_pdata = {
        .name           = "led1",
        .gpio           = S3C2410_GPB(5),
        .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
        .def_trigger    = "heartbeat",
 };
 
-static struct s3c24xx_led_platdata mini2440_led2_pdata __initdata = {
+static struct s3c24xx_led_platdata mini2440_led2_pdata = {
        .name           = "led2",
        .gpio           = S3C2410_GPB(6),
        .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
        .def_trigger    = "nand-disk",
 };
 
-static struct s3c24xx_led_platdata mini2440_led3_pdata __initdata = {
+static struct s3c24xx_led_platdata mini2440_led3_pdata = {
        .name           = "led3",
        .gpio           = S3C2410_GPB(7),
        .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
        .def_trigger    = "mmc0",
 };
 
-static struct s3c24xx_led_platdata mini2440_led4_pdata __initdata = {
+static struct s3c24xx_led_platdata mini2440_led4_pdata = {
        .name           = "led4",
        .gpio           = S3C2410_GPB(8),
        .flags          = S3C24XX_LEDF_ACTLOW | S3C24XX_LEDF_TRISTATE,
        .def_trigger    = "",
 };
 
-static struct s3c24xx_led_platdata mini2440_led_backlight_pdata __initdata = {
+static struct s3c24xx_led_platdata mini2440_led_backlight_pdata = {
        .name           = "backlight",
        .gpio           = S3C2410_GPG(4),
        .flags          = S3C24XX_LEDF_STARTON,
        .def_trigger    = "backlight",
 };
 
-static struct platform_device mini2440_led1 __initdata = {
+static struct platform_device mini2440_led1 = {
        .name           = "s3c24xx_led",
        .id             = 1,
        .dev            = {
@@ -547,7 +547,7 @@ static struct platform_device mini2440_led1 __initdata = {
        },
 };
 
-static struct platform_device mini2440_led2 __initdata = {
+static struct platform_device mini2440_led2 = {
        .name           = "s3c24xx_led",
        .id             = 2,
        .dev            = {
@@ -555,7 +555,7 @@ static struct platform_device mini2440_led2 __initdata = {
        },
 };
 
-static struct platform_device mini2440_led3 __initdata = {
+static struct platform_device mini2440_led3 = {
        .name           = "s3c24xx_led",
        .id             = 3,
        .dev            = {
@@ -563,7 +563,7 @@ static struct platform_device mini2440_led3 __initdata = {
        },
 };
 
-static struct platform_device mini2440_led4 __initdata = {
+static struct platform_device mini2440_led4 = {
        .name           = "s3c24xx_led",
        .id             = 4,
        .dev            = {
@@ -571,7 +571,7 @@ static struct platform_device mini2440_led4 __initdata = {
        },
 };
 
-static struct platform_device mini2440_led_backlight __initdata = {
+static struct platform_device mini2440_led_backlight = {
        .name           = "s3c24xx_led",
        .id             = 5,
        .dev            = {
@@ -581,14 +581,14 @@ static struct platform_device mini2440_led_backlight __initdata = {
 
 /* AUDIO */
 
-static struct s3c24xx_uda134x_platform_data mini2440_audio_pins __initdata = {
+static struct s3c24xx_uda134x_platform_data mini2440_audio_pins = {
        .l3_clk = S3C2410_GPB(4),
        .l3_mode = S3C2410_GPB(2),
        .l3_data = S3C2410_GPB(3),
        .model = UDA134X_UDA1341
 };
 
-static struct platform_device mini2440_audio __initdata = {
+static struct platform_device mini2440_audio = {
        .name           = "s3c24xx_uda134x",
        .id             = 0,
        .dev            = {
@@ -604,14 +604,14 @@ static struct at24_platform_data at24c08 = {
        .page_size      = 16,
 };
 
-static struct i2c_board_info mini2440_i2c_devs[] __initdata = {
+static struct i2c_board_info mini2440_i2c_devs[] = {
        {
                I2C_BOARD_INFO("24c08", 0x50),
                .platform_data = &at24c08,
        },
 };
 
-static struct platform_device *mini2440_devices[] __initdata = {
+static struct platform_device *mini2440_devices[] = {
        &s3c_device_usb,
        &s3c_device_wdt,
 /*     &s3c_device_adc,*/ /* ADC doesn't like living with touchscreen ! */