Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #include <linux/kernel.h>
  2 #include <linux/module.h>
  3 #include <linux/platform_device.h>
  4 #include <linux/gpio_keys.h>
  5 #include <linux/input.h>
  6 #include <linux/leds.h>
  7 
  8 #include <asm/mach-types.h>
  9 
 10 static struct gpio_keys_button csb701_buttons[] = {
 11         {
 12                 .code   = 0x7,
 13                 .gpio   = 1,
 14                 .active_low = 1,
 15                 .desc   = "SW2",
 16                 .type   = EV_SW,
 17                 .wakeup = 1,
 18         },
 19 };
 20 
 21 static struct gpio_keys_platform_data csb701_gpio_keys_data = {
 22         .buttons = csb701_buttons,
 23         .nbuttons = ARRAY_SIZE(csb701_buttons),
 24 };
 25 
 26 static struct gpio_led csb701_leds[] = {
 27         {
 28                 .name   = "csb701:yellow:heartbeat",
 29                 .default_trigger = "heartbeat",
 30                 .gpio   = 11,
 31                 .active_low = 1,
 32         },
 33 };
 34 
 35 static struct platform_device csb701_gpio_keys = {
 36         .name           = "gpio-keys",
 37         .id             = -1,
 38         .dev.platform_data = &csb701_gpio_keys_data,
 39 };
 40 
 41 static struct gpio_led_platform_data csb701_leds_gpio_data = {
 42         .leds           = csb701_leds,
 43         .num_leds       = ARRAY_SIZE(csb701_leds),
 44 };
 45 
 46 static struct platform_device csb701_leds_gpio = {
 47         .name           = "leds-gpio",
 48         .id             = -1,
 49         .dev.platform_data = &csb701_leds_gpio_data,
 50 };
 51 
 52 static struct platform_device *devices[] __initdata = {
 53         &csb701_gpio_keys,
 54         &csb701_leds_gpio,
 55 };
 56 
 57 static int __init csb701_init(void)
 58 {
 59         if (!machine_is_csb726())
 60                 return -ENODEV;
 61 
 62         return platform_add_devices(devices, ARRAY_SIZE(devices));
 63 }
 64 
 65 module_init(csb701_init);
 66 
 67 
  This page was automatically generated by the LXR engine.