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 --- |