&hdmi_lcdc_device, &meram_device, }; /* Keypad Initialization */ #define KEYPAD_BUTTON(ev_type, ev_code, act_low) \ { \ .type = ev_type, \ .code = ev_code, \ .active_low = act_low, \ } #define KEYPAD_BUTTON_LOW(event_code) KEYPAD_BUTTON(EV_KEY, event_code, 1) static struct tca6416_button mackerel_gpio_keys[] = { KEYPAD_BUTTON_LOW(KEY_HOME), KEYPAD_BUTTON_LOW(KEY_MENU), KEYPAD_BUTTON_LOW(KEY_BACK), KEYPAD_BUTTON_LOW(KEY_POWER), }; static struct tca6416_keys_platform_data mackerel_tca6416_keys_info = { .buttons = mackerel_gpio_keys, .nbuttons = ARRAY_SIZE(mackerel_gpio_keys), .rep = 1, .use_polling = 0, .pinmask = 0x000F, }; /* I2C */ #define IRQ7 evt2irq(0x02e0)
if (ret < 0) { printk(KERN_WARNING "failed to request GPIO#%d: %d\n", KEYPAD_IRQ, ret); return ret; } if (gpio_direction_input(KEYPAD_IRQ)) { printk(KERN_WARNING "GPIO#%d cannot be configured as " "input\n", KEYPAD_IRQ); return -ENXIO; } return ret; } static struct tca6416_button am3517_gpio_keys[] = { KEYPAD_BUTTON_LOW(KEY_DOWN), KEYPAD_BUTTON_LOW(KEY_UP), KEYPAD_BUTTON_LOW(KEY_MENU), KEYPAD_BUTTON_LOW(KEY_MODE), KEYPAD_BUTTON_LOW(KEY_LEFTSHIFT), KEYPAD_BUTTON_LOW(KEY_REWIND), KEYPAD_BUTTON_LOW(KEY_FORWARD), KEYPAD_BUTTON_LOW(KEY_STOP), KEYPAD_BUTTON_LOW(KEY_PLAY), KEYPAD_BUTTON_LOW(KEY_RECORD), }; static struct tca6416_keys_platform_data am3517evm_tca6416_keys_info = { .buttons = am3517_gpio_keys, .nbuttons = ARRAY_SIZE(am3517_gpio_keys), .rep = 0,