diff options
Diffstat (limited to 'target/linux/ramips/files/arch/mips/ralink/common/dev-gpio-buttons.c')
-rw-r--r-- | target/linux/ramips/files/arch/mips/ralink/common/dev-gpio-buttons.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/target/linux/ramips/files/arch/mips/ralink/common/dev-gpio-buttons.c b/target/linux/ramips/files/arch/mips/ralink/common/dev-gpio-buttons.c deleted file mode 100644 index 75a2a17..0000000 --- a/target/linux/ramips/files/arch/mips/ralink/common/dev-gpio-buttons.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Ralink SoC GPIO button support - * - * Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org> - * - * 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. - */ - -#include "linux/init.h" -#include <linux/platform_device.h> -#include <linux/slab.h> - -#include <asm/mach-ralink/dev-gpio-buttons.h> - -void __init ramips_register_gpio_buttons(int id, - unsigned poll_interval, - unsigned nbuttons, - struct gpio_keys_button *buttons) -{ - struct platform_device *pdev; - struct gpio_keys_platform_data pdata; - struct gpio_keys_button *p; - int err; - - p = kmalloc(nbuttons * sizeof(*p), GFP_KERNEL); - if (!p) - return; - - memcpy(p, buttons, nbuttons * sizeof(*p)); - - pdev = platform_device_alloc("gpio-keys-polled", id); - if (!pdev) - goto err_free_buttons; - - memset(&pdata, 0, sizeof(pdata)); - pdata.poll_interval = poll_interval; - pdata.nbuttons = nbuttons; - pdata.buttons = p; - - err = platform_device_add_data(pdev, &pdata, sizeof(pdata)); - if (err) - goto err_put_pdev; - - err = platform_device_add(pdev); - if (err) - goto err_put_pdev; - - return; - -err_put_pdev: - platform_device_put(pdev); - -err_free_buttons: - kfree(p); -} |