source: trunk/target/linux/brcm63xx/patches-2.6.33/100-reset_buttons.patch @ 19921

Last change on this file since 19921 was 19921, checked in by florian, 6 years ago

[brcm63xx] add support for 2.6.33

File size: 2.0 KB
  • arch/mips/bcm63xx/boards/board_bcm963xx.c

    a b  
    1515#include <linux/mtd/partitions.h> 
    1616#include <linux/mtd/physmap.h> 
    1717#include <linux/ssb/ssb.h> 
     18#include <linux/gpio_buttons.h> 
     19#include <linux/input.h> 
    1820#include <asm/addrspace.h> 
    1921#include <bcm63xx_board.h> 
    2022#include <bcm63xx_cpu.h> 
    static struct board_info __initdata boar 
    288290                        .active_low     = 1, 
    289291                }, 
    290292        }, 
     293        .reset_buttons = { 
     294                { 
     295                        .desc           = "reset", 
     296                        .gpio           = 32, 
     297                        .active_low     = 1, 
     298                        .type           = EV_KEY, 
     299                        .code           = BTN_0, 
     300                        .threshold      = 3, 
     301                }, 
     302        }, 
    291303}; 
    292304 
    293305static struct board_info __initdata board_96348gw = { 
    static struct board_info __initdata boar 
    345357                        .active_low     = 1, 
    346358                }, 
    347359        }, 
     360        .reset_buttons = { 
     361                { 
     362                        .desc           = "reset", 
     363                        .gpio           = 36, 
     364                        .active_low     = 1, 
     365                        .type           = EV_KEY, 
     366                        .code           = BTN_0, 
     367                        .threshold      = 3, 
     368                }, 
     369        }, 
    348370}; 
    349371 
    350372static struct board_info __initdata board_FAST2404 = { 
    static struct platform_device bcm63xx_gp 
    770792        .dev.platform_data      = &bcm63xx_led_data, 
    771793}; 
    772794 
     795static struct gpio_buttons_platform_data bcm63xx_gpio_buttons_data = { 
     796        .poll_interval  = 20, 
     797}; 
     798 
     799static struct platform_device bcm63xx_gpio_buttons_device = { 
     800        .name           = "gpio-buttons", 
     801        .id             = 0, 
     802        .dev.platform_data = &bcm63xx_gpio_buttons_data, 
     803}; 
     804 
    773805/* 
    774806 * third stage init callback, register all board devices. 
    775807 */ 
    int __init board_register_devices(void) 
    825857 
    826858        platform_device_register(&bcm63xx_gpio_leds); 
    827859 
     860        if (board.reset_buttons) { 
     861                bcm63xx_gpio_buttons_data.nbuttons = ARRAY_SIZE(board.reset_buttons); 
     862                bcm63xx_gpio_buttons_data.buttons = board.reset_buttons; 
     863 
     864                platform_device_register(&bcm63xx_gpio_buttons_device); 
     865        } 
     866 
    828867        return 0; 
    829868} 
    830869 
  • arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h

    a b struct board_info { 
    5555 
    5656        /* GPIO LEDs */ 
    5757        struct gpio_led leds[5]; 
     58 
     59        /* Reset button */ 
     60        struct gpio_button reset_buttons[1]; 
    5861}; 
    5962 
    6063#endif /* ! BOARD_BCM963XX_H_ */ 
Note: See TracBrowser for help on using the repository browser.