]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/mach-omap2/board-h4.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / arm / mach-omap2 / board-h4.c
index 929993b4bf26bbb77cbcb385a570d15adc50f231..25cc9dad4b02d2b66dd70c9cf026360890697bb4 100644 (file)
 static unsigned int row_gpios[6] = { 88, 89, 124, 11, 6, 96 };
 static unsigned int col_gpios[7] = { 90, 91, 100, 36, 12, 97, 98 };
 
-static int h4_keymap[] = {
+static const unsigned int h4_keymap[] = {
        KEY(0, 0, KEY_LEFT),
-       KEY(0, 1, KEY_RIGHT),
-       KEY(0, 2, KEY_A),
-       KEY(0, 3, KEY_B),
-       KEY(0, 4, KEY_C),
-       KEY(1, 0, KEY_DOWN),
+       KEY(1, 0, KEY_RIGHT),
+       KEY(2, 0, KEY_A),
+       KEY(3, 0, KEY_B),
+       KEY(4, 0, KEY_C),
+       KEY(0, 1, KEY_DOWN),
        KEY(1, 1, KEY_UP),
-       KEY(1, 2, KEY_E),
-       KEY(1, 3, KEY_F),
-       KEY(1, 4, KEY_G),
-       KEY(2, 0, KEY_ENTER),
-       KEY(2, 1, KEY_I),
+       KEY(2, 1, KEY_E),
+       KEY(3, 1, KEY_F),
+       KEY(4, 1, KEY_G),
+       KEY(0, 2, KEY_ENTER),
+       KEY(1, 2, KEY_I),
        KEY(2, 2, KEY_J),
-       KEY(2, 3, KEY_K),
-       KEY(2, 4, KEY_3),
-       KEY(3, 0, KEY_M),
-       KEY(3, 1, KEY_N),
-       KEY(3, 2, KEY_O),
+       KEY(3, 2, KEY_K),
+       KEY(4, 2, KEY_3),
+       KEY(0, 3, KEY_M),
+       KEY(1, 3, KEY_N),
+       KEY(2, 3, KEY_O),
        KEY(3, 3, KEY_P),
-       KEY(3, 4, KEY_Q),
-       KEY(4, 0, KEY_R),
-       KEY(4, 1, KEY_4),
-       KEY(4, 2, KEY_T),
-       KEY(4, 3, KEY_U),
+       KEY(4, 3, KEY_Q),
+       KEY(0, 4, KEY_R),
+       KEY(1, 4, KEY_4),
+       KEY(2, 4, KEY_T),
+       KEY(3, 4, KEY_U),
        KEY(4, 4, KEY_ENTER),
-       KEY(5, 0, KEY_V),
-       KEY(5, 1, KEY_W),
-       KEY(5, 2, KEY_L),
-       KEY(5, 3, KEY_S),
-       KEY(5, 4, KEY_ENTER),
-       0
+       KEY(0, 5, KEY_V),
+       KEY(1, 5, KEY_W),
+       KEY(2, 5, KEY_L),
+       KEY(3, 5, KEY_S),
+       KEY(4, 5, KEY_ENTER),
 };
 
 static struct mtd_partition h4_partitions[] = {
@@ -136,12 +135,16 @@ static struct platform_device h4_flash_device = {
        .resource       = &h4_flash_resource,
 };
 
+static const struct matrix_keymap_data h4_keymap_data = {
+       .keymap         = h4_keymap,
+       .keymap_size    = ARRAY_SIZE(h4_keymap),
+};
+
 static struct omap_kp_platform_data h4_kp_data = {
        .rows           = 6,
        .cols           = 7,
-       .keymap         = h4_keymap,
-       .keymapsize     = ARRAY_SIZE(h4_keymap),
-       .rep            = 1,
+       .keymap_data    = &h4_keymap_data,
+       .rep            = true,
        .row_gpios      = row_gpios,
        .col_gpios      = col_gpios,
 };
@@ -283,7 +286,7 @@ static struct omap_usb_config h4_usb_config __initdata = {
        .hmc_mode       = 0x00,         /* 0:dev|otg 1:disable 2:disable */
 };
 
-static struct omap_board_config_kernel h4_config[] = {
+static struct omap_board_config_kernel h4_config[] __initdata = {
        { OMAP_TAG_LCD,         &h4_lcd_config },
 };
 
@@ -291,9 +294,9 @@ static void __init omap_h4_init_irq(void)
 {
        omap_board_config = h4_config;
        omap_board_config_size = ARRAY_SIZE(h4_config);
-       omap2_init_common_hw(NULL, NULL);
+       omap2_init_common_infrastructure();
+       omap2_init_common_devices(NULL, NULL);
        omap_init_irq();
-       omap_gpio_init();
        h4_init_flash();
 }
 
@@ -321,8 +324,6 @@ static struct i2c_board_info __initdata h4_i2c_board_info[] = {
 static struct omap_board_mux board_mux[] __initdata = {
        { .reg_offset = OMAP_MUX_TERMINATOR },
 };
-#else
-#define board_mux      NULL
 #endif
 
 static void __init omap_h4_init(void)