gpio_keys.c änderungen für die überprüfung ----schnipp---- input = input_allocate_device(); if (!input) return -ENOMEM; platform_set_drvdata(pdev, input); printk("pdata->nbuttons = %i\n",pdata->nbuttons); printk("pdata->buttons[0].keycode = %i\n",pdata->buttons[0].keycode); printk("pdata->buttons[0].gpio = %i\n",pdata->buttons[0].gpio); printk("pdata->buttons[0].active_low = %i\n",pdata->buttons[0].active_low); printk("pdata->buttons[0].desc = %s\n",pdata->buttons[0].desc); input->evbit[0] = BIT(EV_KEY); input->name = pdev->name; input->phys = "gpio-keys/input0"; ----schanapp-------- code in simpad.c -----schnipp--------- PMCR = PMCR_SF; while(1); local_irq_enable(); /* we won't ever call it */ } /* * gpio_keys */ static struct gpio_keys_button simpad_button_table[] = { { KEY_POWER, GPIO_POWER_BUTTON, 1, "power button" }, }; static struct gpio_keys_platform_data simpad_keys_data = { .buttons = simpad_button_table, .nbuttons = ARRAY_SIZE(simpad_button_table), }; static struct platform_device simpad_keys = { .name = "gpio-keys", .dev = { .platform_data = &simpad_keys_data, }, }; /* * MediaQ Video Device */ static struct platform_device simpad_mq200fb = { .name = "simpad-mq200", .id = 0, }; -----schnapp-------