1*d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 230ba3eadSSriramakrishnan Govindarajan /* 330ba3eadSSriramakrishnan Govindarajan * tca6416 keypad platform support 430ba3eadSSriramakrishnan Govindarajan * 530ba3eadSSriramakrishnan Govindarajan * Copyright (C) 2010 Texas Instruments 630ba3eadSSriramakrishnan Govindarajan * 730ba3eadSSriramakrishnan Govindarajan * Author: Sriramakrishnan <srk@ti.com> 830ba3eadSSriramakrishnan Govindarajan */ 930ba3eadSSriramakrishnan Govindarajan 1030ba3eadSSriramakrishnan Govindarajan #ifndef _TCA6416_KEYS_H 1130ba3eadSSriramakrishnan Govindarajan #define _TCA6416_KEYS_H 1230ba3eadSSriramakrishnan Govindarajan 1330ba3eadSSriramakrishnan Govindarajan #include <linux/types.h> 1430ba3eadSSriramakrishnan Govindarajan 1530ba3eadSSriramakrishnan Govindarajan struct tca6416_button { 1630ba3eadSSriramakrishnan Govindarajan /* Configuration parameters */ 1730ba3eadSSriramakrishnan Govindarajan int code; /* input event code (KEY_*, SW_*) */ 1830ba3eadSSriramakrishnan Govindarajan int active_low; 1930ba3eadSSriramakrishnan Govindarajan int type; /* input event type (EV_KEY, EV_SW) */ 2030ba3eadSSriramakrishnan Govindarajan }; 2130ba3eadSSriramakrishnan Govindarajan 2230ba3eadSSriramakrishnan Govindarajan struct tca6416_keys_platform_data { 2330ba3eadSSriramakrishnan Govindarajan struct tca6416_button *buttons; 2430ba3eadSSriramakrishnan Govindarajan int nbuttons; 2530ba3eadSSriramakrishnan Govindarajan unsigned int rep:1; /* enable input subsystem auto repeat */ 2630ba3eadSSriramakrishnan Govindarajan uint16_t pinmask; 2730ba3eadSSriramakrishnan Govindarajan uint16_t invert; 2830ba3eadSSriramakrishnan Govindarajan int use_polling; /* use polling if Interrupt is not connected*/ 2930ba3eadSSriramakrishnan Govindarajan }; 3030ba3eadSSriramakrishnan Govindarajan #endif 31