cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

keypad-omap.h (1332B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 *  Copyright (C) 2006 Komal Shah <komal_shah802003@yahoo.com>
      4 */
      5#ifndef __KEYPAD_OMAP_H
      6#define __KEYPAD_OMAP_H
      7
      8#ifndef CONFIG_ARCH_OMAP1
      9#warning Please update the board to use matrix-keypad driver
     10#define omap_readw(reg)		0
     11#define omap_writew(val, reg)	do {} while (0)
     12#endif
     13#include <linux/input/matrix_keypad.h>
     14
     15struct omap_kp_platform_data {
     16	int rows;
     17	int cols;
     18	const struct matrix_keymap_data *keymap_data;
     19	bool rep;
     20	unsigned long delay;
     21	bool dbounce;
     22	/* specific to OMAP242x*/
     23	unsigned int *row_gpios;
     24	unsigned int *col_gpios;
     25};
     26
     27/* Group (0..3) -- when multiple keys are pressed, only the
     28 * keys pressed in the same group are considered as pressed. This is
     29 * in order to workaround certain crappy HW designs that produce ghost
     30 * keypresses. Two free bits, not used by neither row/col nor keynum,
     31 * must be available for use as group bits. The below GROUP_SHIFT
     32 * macro definition is based on some prior knowledge of the
     33 * matrix_keypad defined KEY() macro internals.
     34 */
     35#define GROUP_SHIFT	14
     36#define GROUP_0		(0 << GROUP_SHIFT)
     37#define GROUP_1		(1 << GROUP_SHIFT)
     38#define GROUP_2		(2 << GROUP_SHIFT)
     39#define GROUP_3		(3 << GROUP_SHIFT)
     40#define GROUP_MASK	GROUP_3
     41#if KEY_MAX & GROUP_MASK
     42#error Group bits in conflict with keynum bits
     43#endif
     44
     45
     46#endif
     47