pxa27x_keypad.c (ee1d8040a6b0a8106c7d9e80b9193077224493ba) pxa27x_keypad.c (fb054bf26914ee4c55cf149bc5b2a8e2c89fb81f)
1/*
2 * linux/drivers/input/keyboard/pxa27x_keypad.c
3 *
4 * Driver for the pxa27x matrix keyboard controller.
5 *
6 * Created: Feb 22, 2007
7 * Author: Rodolfo Giometti <giometti@linux.it>
8 *

--- 377 unchanged lines hidden (view full) ---

386 mask |= 0x0c;
387 direct_key_num = 4;
388 kpc |= KPC_REE1;
389 }
390
391 if (pdata->direct_key_num > direct_key_num)
392 direct_key_num = pdata->direct_key_num;
393
1/*
2 * linux/drivers/input/keyboard/pxa27x_keypad.c
3 *
4 * Driver for the pxa27x matrix keyboard controller.
5 *
6 * Created: Feb 22, 2007
7 * Author: Rodolfo Giometti <giometti@linux.it>
8 *

--- 377 unchanged lines hidden (view full) ---

386 mask |= 0x0c;
387 direct_key_num = 4;
388 kpc |= KPC_REE1;
389 }
390
391 if (pdata->direct_key_num > direct_key_num)
392 direct_key_num = pdata->direct_key_num;
393
394 keypad->direct_key_mask = ((1 << direct_key_num) - 1) & ~mask;
394 /*
395 * Direct keys usage may not start from KP_DKIN0, check the platfrom
396 * mask data to config the specific.
397 */
398 if (pdata->direct_key_mask)
399 keypad->direct_key_mask = pdata->direct_key_mask;
400 else
401 keypad->direct_key_mask = ((1 << direct_key_num) - 1) & ~mask;
395
396 /* enable direct key */
397 if (direct_key_num)
398 kpc |= KPC_DE | KPC_DIE | KPC_DKN(direct_key_num);
399
400 keypad_writel(KPC, kpc | KPC_RE_ZERO_DEB);
401 keypad_writel(KPREC, DEFAULT_KPREC);
402 keypad_writel(KPKDI, pdata->debounce_interval);

--- 223 unchanged lines hidden ---
402
403 /* enable direct key */
404 if (direct_key_num)
405 kpc |= KPC_DE | KPC_DIE | KPC_DKN(direct_key_num);
406
407 keypad_writel(KPC, kpc | KPC_RE_ZERO_DEB);
408 keypad_writel(KPREC, DEFAULT_KPREC);
409 keypad_writel(KPKDI, pdata->debounce_interval);

--- 223 unchanged lines hidden ---