mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-29 08:14:58 +00:00 
			
		
		
		
	 30ba3ead05
			
		
	
	
		30ba3ead05
		
	
	
	
	
		
			
			This patch implements a simple Keypad driver that functions as an I2C client. It handles key press events for keys connected to TCA6416 I2C based IO expander. Signed-off-by: Sriramakrishnan <srk@ti.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
		
			
				
	
	
		
			35 lines
		
	
	
		
			847 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			847 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * tca6416 keypad platform support
 | |
|  *
 | |
|  * Copyright (C) 2010 Texas Instruments
 | |
|  *
 | |
|  * Author: Sriramakrishnan <srk@ti.com>
 | |
|  *
 | |
|  * This program is free software; you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU General Public License version 2 as
 | |
|  * published by the Free Software Foundation.
 | |
|  */
 | |
| 
 | |
| #ifndef _TCA6416_KEYS_H
 | |
| #define _TCA6416_KEYS_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| 
 | |
| struct tca6416_button {
 | |
| 	/* Configuration parameters */
 | |
| 	int code;		/* input event code (KEY_*, SW_*) */
 | |
| 	int active_low;
 | |
| 	int type;		/* input event type (EV_KEY, EV_SW) */
 | |
| };
 | |
| 
 | |
| struct tca6416_keys_platform_data {
 | |
| 	struct tca6416_button *buttons;
 | |
| 	int nbuttons;
 | |
| 	unsigned int rep:1;	/* enable input subsystem auto repeat */
 | |
| 	uint16_t pinmask;
 | |
| 	uint16_t invert;
 | |
| 	int irq_is_gpio;
 | |
| 	int use_polling;	/* use polling if Interrupt is not connected*/
 | |
| };
 | |
| #endif
 |