[PATCH 4/4] ArchosG9: add keyboard input and new reset menu entries

Sascha Hauer s.hauer at pengutronix.de
Mon Mar 11 17:45:13 EDT 2013


On Mon, Mar 11, 2013 at 12:36:07AM +0100, Vicente Bergas wrote:
> 
> Signed-off-by: Vicente Bergas <vicencb at gmail.com>
> ---
>  arch/arm/boards/archosg9/board.c              | 25 +++++++++++++++++++++++
>  arch/arm/boards/archosg9/env/bin/init         | 28 ++++++++++++++++++++++++++
>  arch/arm/boards/archosg9/env/boot/usb-android |  2 +-
>  arch/arm/boards/archosg9/env/boot/usb-linux   |  2 +-
>  arch/arm/boards/archosg9/env/menu/mainmenu    | 29 +++++++++++++++++++++++++++
>  arch/arm/configs/archosg9_defconfig           | 11 ++++++----
>  6 files changed, 91 insertions(+), 6 deletions(-)
>  create mode 100644 arch/arm/boards/archosg9/env/bin/init
>  create mode 100644 arch/arm/boards/archosg9/env/menu/mainmenu
> 
> diff --git a/arch/arm/boards/archosg9/board.c b/arch/arm/boards/archosg9/board.c
> index bf247de..edeb871 100644
> --- a/arch/arm/boards/archosg9/board.c
> +++ b/arch/arm/boards/archosg9/board.c
> @@ -20,6 +20,9 @@
>  #include <sizes.h>
>  #include <i2c/i2c.h>
>  #include <gpio.h>
> +#include <gpio_keys.h>
> +#include <twl6030_pwrbtn.h>
> +#include <readkey.h>
>  #include "archos_features.h"
>  
>  static int archosg9_console_init(void){
> @@ -44,11 +47,33 @@ mem_initcall(archosg9_mem_init);
>  static struct i2c_board_info i2c_devices[] = {
>  	{ I2C_BOARD_INFO("twl6030", 0x48), },
>  };
> +#ifdef CONFIG_KEYBOARD_TWL6030
> +static struct twl6030_pwrbtn_platform_data pwrbtn_data = {
> +	.code = KEY_ENTER
> +};
> +#endif
> +#ifdef CONFIG_KEYBOARD_GPIO
> +static struct gpio_keys_button keys[] = {
> +	{ .code = KEY_UP  , .gpio = 43, .active_low = 1 },
> +	{ .code = KEY_DOWN, .gpio = 44, .active_low = 1 },
> +};
> +static struct gpio_keys_platform_data gk_data = {
> +	.buttons = keys,
> +	.nbuttons = ARRAY_SIZE(keys),
> +};
> +#endif
>  
>  static int archosg9_devices_init(void){
>  	i2c_register_board_info(0, i2c_devices, ARRAY_SIZE(i2c_devices));
>  	omap44xx_add_i2c1(NULL);
>  	omap44xx_add_mmc1(NULL);
> +#ifdef CONFIG_KEYBOARD_TWL6030
> +	add_generic_device_res("twl6030_pwrbtn", DEVICE_ID_DYNAMIC, 0, 0,
> +		&pwrbtn_data);
> +#endif
> +#ifdef CONFIG_KEYBOARD_GPIO
> +	add_gpio_keys_device(DEVICE_ID_DYNAMIC, &gk_data);
> +#endif

If you are not really really concerned about binary size I suggest to
drop the ifdefs. It makes for better readability.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list