jornadakbd
struct jornadakbd *jornadakbd = input_get_drvdata(input);
jornada_scan_keyb(jornadakbd->new_scan);
jornada_parse_kbd(jornadakbd);
memcpy(jornadakbd->old_scan, jornadakbd->new_scan, JORNADA_SCAN_SIZE);
struct jornadakbd *jornadakbd;
jornadakbd = devm_kzalloc(&pdev->dev, sizeof(struct jornadakbd),
if (!jornadakbd)
jornadakbd->input = input_dev;
memcpy(jornadakbd->keymap, jornada_scancodes,
sizeof(jornadakbd->keymap));
input_set_drvdata(input_dev, jornadakbd);
input_dev->keycode = jornadakbd->keymap;
if (jornadakbd->keymap[i])
__set_bit(jornadakbd->keymap[i], input_dev->keybit);
static void jornada_parse_kbd(struct jornadakbd *jornadakbd)
struct input_dev *input_dev = jornadakbd->input;
unsigned short *keymap = jornadakbd->keymap;
unsigned char new = jornadakbd->new_scan[i];
unsigned char old = jornadakbd->old_scan[i];
if (!jornadakbd || !input_dev)
platform_set_drvdata(pdev, jornadakbd);
memcpy(jornadakbd->keymap, jornada_std_keymap,
jornadakbd->input = input_dev;
input_dev->keycode = jornadakbd->keymap;
for (i = 0; i < ARRAY_SIZE(jornadakbd->keymap); i++)
__set_bit(jornadakbd->keymap[i], input_dev->keybit);
return input_register_device(jornadakbd->input);
struct jornadakbd *jornadakbd = platform_get_drvdata(pdev);
struct input_dev *input = jornadakbd->input;
input_report_key(input, jornadakbd->keymap[scan_code],
struct jornadakbd *jornadakbd;
jornadakbd = devm_kzalloc(&pdev->dev, sizeof(*jornadakbd), GFP_KERNEL);