/* * GPIO Keys */ #define INIT_KEY(_code, _gpio, _desc) \ { \ .code = KEY_##_code, \ .gpio = _gpio, \ .desc = _desc, \ .type = EV_KEY, \ .wakeup = 1, \ } static struct gpio_keys_button magician_button_table[] = { INIT_KEY(POWER, GPIO0_MAGICIAN_KEY_POWER, "Power button"), INIT_KEY(ESC, GPIO37_MAGICIAN_KEY_HANGUP, "Hangup button"), INIT_KEY(F10, GPIO38_MAGICIAN_KEY_CONTACTS, "Contacts button"), INIT_KEY(CALENDAR, GPIO90_MAGICIAN_KEY_CALENDAR, "Calendar button"), INIT_KEY(CAMERA, GPIO91_MAGICIAN_KEY_CAMERA, "Camera button"), INIT_KEY(UP, GPIO93_MAGICIAN_KEY_UP, "Up button"), INIT_KEY(DOWN, GPIO94_MAGICIAN_KEY_DOWN, "Down button"), INIT_KEY(LEFT, GPIO95_MAGICIAN_KEY_LEFT, "Left button"), INIT_KEY(RIGHT, GPIO96_MAGICIAN_KEY_RIGHT, "Right button"), INIT_KEY(KPENTER, GPIO97_MAGICIAN_KEY_ENTER, "Action button"), INIT_KEY(RECORD, GPIO98_MAGICIAN_KEY_RECORD, "Record button"), INIT_KEY(VOLUMEUP, GPIO100_MAGICIAN_KEY_VOL_UP, "Volume up"), INIT_KEY(VOLUMEDOWN, GPIO101_MAGICIAN_KEY_VOL_DOWN, "Volume down"), INIT_KEY(PHONE, GPIO102_MAGICIAN_KEY_PHONE, "Phone button"), INIT_KEY(PLAY, GPIO99_MAGICIAN_HEADPHONE_IN, "Headset button"), };
/* * GPIO Keys */ #define INIT_KEY(_code, _gpio, _active_low, _desc) \ { \ .code = KEY_##_code, \ .gpio = _gpio, \ .active_low = _active_low, \ .desc = _desc, \ .type = EV_KEY, \ .wakeup = 1, \ } static struct gpio_keys_button gpio_keys_buttons[] = { INIT_KEY(POWER, GPIO0_HX4700_nKEY_POWER, 1, "Power button"), INIT_KEY(MAIL, GPIO94_HX4700_KEY_MAIL, 0, "Mail button"), INIT_KEY(ADDRESSBOOK, GPIO99_HX4700_KEY_CONTACTS,0, "Contacts button"), INIT_KEY(RECORD, GPIOD6_nKEY_RECORD, 1, "Record button"), INIT_KEY(CALENDAR, GPIOD1_nKEY_CALENDAR, 1, "Calendar button"), INIT_KEY(HOMEPAGE, GPIOD3_nKEY_HOME, 1, "Home button"), }; static struct gpio_keys_platform_data gpio_keys_data = { .buttons = gpio_keys_buttons, .nbuttons = ARRAY_SIZE(gpio_keys_buttons), }; static struct platform_device gpio_keys = { .name = "gpio-keys", .dev = {