2011-07-06 17:27:17 +00:00
|
|
|
--- a/arch/mips/lantiq/xway/devices.c
|
|
|
|
+++ b/arch/mips/lantiq/xway/devices.c
|
2011-09-26 09:35:02 +00:00
|
|
|
@@ -131,6 +131,26 @@ ltq_register_madwifi_eep(void)
|
2011-07-06 17:27:17 +00:00
|
|
|
lantiq_emulate_madwifi_eep = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
+/* gpio buttons */
|
|
|
|
+static struct gpio_buttons_platform_data ltq_gpio_buttons_platform_data;
|
|
|
|
+
|
|
|
|
+static struct platform_device ltq_gpio_buttons_platform_device =
|
|
|
|
+{
|
|
|
|
+ .name = "gpio-buttons",
|
|
|
|
+ .id = 0,
|
|
|
|
+ .dev = {
|
|
|
|
+ .platform_data = (void *) <q_gpio_buttons_platform_data,
|
|
|
|
+ },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+void __init
|
|
|
|
+ltq_register_gpio_buttons(struct gpio_button *buttons, int cnt)
|
|
|
|
+{
|
|
|
|
+ ltq_gpio_buttons_platform_data.buttons = buttons;
|
|
|
|
+ ltq_gpio_buttons_platform_data.nbuttons = cnt;
|
|
|
|
+ platform_device_register(<q_gpio_buttons_platform_device);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
static struct resource ltq_spi_resources[] = {
|
|
|
|
{
|
|
|
|
.start = LTQ_SSC_BASE_ADDR,
|
|
|
|
--- a/arch/mips/lantiq/xway/devices.h
|
|
|
|
+++ b/arch/mips/lantiq/xway/devices.h
|
|
|
|
@@ -12,6 +12,7 @@
|
|
|
|
#include "../devices.h"
|
|
|
|
#include <linux/phy.h>
|
|
|
|
#include <linux/spi/spi.h>
|
|
|
|
+#include <linux/gpio_buttons.h>
|
|
|
|
|
|
|
|
extern void ltq_register_gpio(void);
|
|
|
|
extern void ltq_register_gpio_stp(void);
|
2011-09-26 09:35:02 +00:00
|
|
|
@@ -20,5 +21,6 @@ extern void ltq_register_etop(struct ltq
|
2011-07-06 17:27:17 +00:00
|
|
|
extern void ltq_register_spi(struct ltq_spi_platform_data *pdata,
|
|
|
|
struct spi_board_info const *info, unsigned n);
|
|
|
|
extern void ltq_register_madwifi_eep(void);
|
|
|
|
+extern void ltq_register_gpio_buttons(struct gpio_button *buttons, int cnt);
|
|
|
|
|
|
|
|
#endif
|