2010-07-21 00:45:10 -07:00
/*
* Samsung Platform - Keypad platform data definitions
*
* Copyright ( C ) 2010 Samsung Electronics Co . Ltd
* Author : Joonyoung Shim < jy0922 . shim @ samsung . com >
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation ; either version 2 of the License , or ( at your
* option ) any later version .
*/
# ifndef __PLAT_SAMSUNG_KEYPAD_H
# define __PLAT_SAMSUNG_KEYPAD_H
# include <linux/input/matrix_keypad.h>
# define SAMSUNG_MAX_ROWS 8
# define SAMSUNG_MAX_COLS 8
/**
* struct samsung_keypad_platdata - Platform device data for Samsung Keypad .
* @ keymap_data : pointer to & matrix_keymap_data .
* @ rows : number of keypad row supported .
* @ cols : number of keypad col supported .
* @ no_autorepeat : disable key autorepeat .
* @ wakeup : controls whether the device should be set up as wakeup source .
* @ cfg_gpio : configure the GPIO .
*
* Initialisation data specific to either the machine or the platform
* for the device driver to use or call - back when configuring gpio .
*/
struct samsung_keypad_platdata {
const struct matrix_keymap_data * keymap_data ;
unsigned int rows ;
unsigned int cols ;
bool no_autorepeat ;
bool wakeup ;
void ( * cfg_gpio ) ( unsigned int rows , unsigned int cols ) ;
} ;
2010-08-06 19:26:10 +09:00
/**
* samsung_keypad_set_platdata - Set platform data for Samsung Keypad device .
* @ pd : Platform data to register to device .
*
* Register the given platform data for use with Samsung Keypad device .
* The call will copy the platform data , so the board definitions can
* make the structure itself __initdata .
*/
extern void samsung_keypad_set_platdata ( struct samsung_keypad_platdata * pd ) ;
/* defined by architecture to configure gpio. */
extern void samsung_keypad_cfg_gpio ( unsigned int rows , unsigned int cols ) ;
2010-07-21 00:45:10 -07:00
# endif /* __PLAT_SAMSUNG_KEYPAD_H */