int __init latte_init_keypad(void) { char *get_cid, *get_carrier, *get_keycaps; board_get_cid_tag(&get_cid); board_get_carrier_tag(&get_carrier); board_get_keycaps_tag(&get_keycaps); if (system_rev < 2) { latte_keypad_data.name = "latte-keypad-v0"; latte_keypad_matrix_info.keymap = latte_keymap_x0; } if (system_rev == 2) latte_keypad_data.name = "latte-keypad-v1"; if (platform_device_register(&latte_reset_keys_device)) printk(KERN_WARNING "%s: register reset key fail\n", __func__); return platform_device_register(&latte_keypad_device); }
int __init chacha_init_keypad(void) { char *get_cid; char *get_carrier; char *get_keycaps; uint8_t cid_len; KEY_LOGD("%s\n", __func__); board_get_cid_tag(&get_cid); board_get_carrier_tag(&get_carrier); board_get_keycaps_tag(&get_keycaps); KEY_LOGI("%s: get CID: %s\n\tCarrier: %s, Keycaps: %s\n", __func__, get_cid, get_carrier, get_keycaps); cid_len = strlen(get_cid); if (cid_len) { if (strstr(SKU_BOPOMO, get_cid) != NULL) { chacha_keypad_data.name = "chacha-keypad-bopomo"; } else if (strstr(SKU_FRA, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(0, 3)] = KEY_W; chacha_keymap[KEYMAP_INDEX(3, 0)] = KEY_Z; chacha_keymap[KEYMAP_INDEX(3, 4)] = KEY_A; chacha_keypad_nav_map[1].code = KEY_Q; chacha_keypad_data.name = "chacha-keypad-fra"; } else if (strstr(SKU_ITA, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-ita"; } else if (strstr(SKU_TUR, get_cid) != NULL) { chacha_keypad_data.name = "chacha-keypad-tur"; } else if (strstr(SKU_ELL, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-ell"; } else if (strstr(SKU_GER, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(0, 3)] = KEY_Y; chacha_keymap[KEYMAP_INDEX(5, 4)] = KEY_Z; chacha_keypad_data.name = "chacha-keypad-ger"; } else if (strstr(SKU_ARA, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-ara"; } else if (strstr(SKU_ESN, get_cid) != NULL) { chacha_keypad_data.name = "chacha-keypad-esn"; } else if (strstr(SKU_NOR, get_cid) != NULL) { chacha_keypad_data.name = "chacha-keypad-nor"; } else if (strstr(SKU_RUS, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keymap[KEYMAP_INDEX(3, 5)] = KEY_F16; chacha_keypad_data.name = "chacha-keypad-rus"; } else if (strstr(SKU_HK, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-hk"; } else if (strstr(SKU_CN, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-cn"; } else if (strstr(SKU_AW, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-aw"; } else if (strstr(SKU_THAI, get_cid) != NULL) { chacha_keymap[KEYMAP_INDEX(4, 3)] = KEY_F15; chacha_keypad_data.name = "chacha-keypad-tai"; } else if (strstr(SKU_STROKE_ENG, get_cid) != NULL) { chacha_keypad_data.name = "chacha-keypad-steng"; } else { if (strstr(SKU_WWE, get_cid) == NULL) KEY_LOGI("%s: CID not matched\n", __func__); } } if (platform_device_register(&chacha_reset_keys_device)) KEY_LOGE("%s: register reset key fail\n", __func__); return platform_device_register(&chacha_keypad_device); }
int __init vision_init_keypad(void) { char *get_cid; char *get_carrier; char *get_keycaps; uint8_t cid_len; printk(KERN_DEBUG "%s\n", __func__); board_get_cid_tag(&get_cid); board_get_carrier_tag(&get_carrier); board_get_keycaps_tag(&get_keycaps); printk(KERN_DEBUG "%s: get CID: %s\n\tCarrier: %s, Keycaps: %s\n", __func__, get_cid, get_carrier, get_keycaps); cid_len = strlen(get_cid); if (cid_len) { if (strstr(SKU_WWE, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-wwe"; } else if (strstr(SKU_WWE_BOPOMO, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-wwe-bopomo"; } else if (strstr(SKU_FRA, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_APOSTROPHE; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(5, 1)] = KEY_W; vision_pmic_keymap[KEYMAP_INDEX(5, 4)] = KEY_Q; vision_pmic_keymap[KEYMAP_INDEX(5, 5)] = KEY_Z; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_pmic_keymap[KEYMAP_INDEX(6, 5)] = KEY_A; vision_keypad_data.name = "vision-keypad-fra"; } else if (strstr(SKU_ITA, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-ita"; } else if (strstr(SKU_TUR, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_APOSTROPHE; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-tur"; } else if (strstr(SKU_ELL, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-ell"; } else if (strstr(SKU_GER, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_SLASH; vision_pmic_keymap[KEYMAP_INDEX(3, 5)] = KEY_Z; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(5, 1)] = KEY_Y; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-ger"; } else if (strstr(SKU_ARA, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_F16; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-ara"; } else if (strstr(SKU_ESN, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_APOSTROPHE; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-esn"; } else if (strstr(SKU_NOR, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 1)] = KEY_F16; vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_F17; vision_pmic_keymap[KEYMAP_INDEX(1, 2)] = KEY_F18; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-nor"; } else if (strstr(SKU_RUS, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(0, 1)] = KEY_F16; vision_pmic_keymap[KEYMAP_INDEX(0, 2)] = KEY_SEMICOLON; vision_pmic_keymap[KEYMAP_INDEX(0, 6)] = KEY_F17; vision_pmic_keymap[KEYMAP_INDEX(2, 0)] = KEY_F18; vision_pmic_keymap[KEYMAP_INDEX(4, 0)] = KEY_DOT; vision_pmic_keymap[KEYMAP_INDEX(5, 0)] = KEY_SEARCH; vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-rus"; } else if (strstr(SKU_HK, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-hk"; } else if (strstr(SKU_SEA, get_cid) != NULL) { vision_pmic_keymap[KEYMAP_INDEX(6, 3)] = KEY_TAB; vision_keypad_data.name = "vision-keypad-sea"; } } if (platform_device_register(&vision_reset_keys_device)) printk(KERN_WARNING "%s: register reset key fail\n", __func__); return platform_device_register(&vision_keypad_input_device); }