int ini_find_default (char *param) { char key[MAX_KEY_SIZE]; KEY_DEF (key, sizeof(key), param); return ini_find (key); }
int ini_getstr_default (char **value, char *param) { char key[MAX_KEY_SIZE]; KEY_DEF (key, sizeof(key), param); if (ini_getstr (value, key)) return 1; return 0; }
int ini_getdouble_default (double *value, char *param) { char key[MAX_KEY_SIZE]; KEY_DEF (key, sizeof(key), param); if (ini_getdouble (value, key)) return 1; return 0; }
int ini_getbool_default (int *value, char *param) { char key[MAX_KEY_SIZE]; KEY_DEF (key, param); if (ini_getbool (value, key)) return 1; return 0; }
static struct input_dev *buttons_dev; extern u32 pca9535_read_input(void); extern void a716_audio_earphone_isr(u16 data); static u16 buttons_state = 0; static struct { u16 keyno; u8 irq; u8 gpio; char *desc; } buttontab [] = { #define KEY_DEF(x) A716_IRQ (x), GPIO_NR_A716_##x { KEY_POWER, KEY_DEF(POWER_BUTTON_N), "POWER" }, { _KEY_CALENDAR, KEY_DEF(CALENDAR_BUTTON_N), "CALENDAR" }, { _KEY_CONTACTS, KEY_DEF(CONTACTS_BUTTON_N), "CONTACTS" }, { _KEY_MAIL, KEY_DEF(TASKS_BUTTON_N), "TASKS" }, { _KEY_HOMEPAGE, KEY_DEF(HOME_BUTTON_N), "HOME" }, #undef KEY_DEF }; static irqreturn_t gpio_irq_handler(int irq, void *dev_id) { int button, down; for (button = 0; button < ARRAY_SIZE(buttontab); button++) if (buttontab[button].irq == irq) break;