LED子系统

通过LED子系统 驱动控制 LED 1 ~ 4,

主要的驱动文件为:

/driver/leds/leds-gpio.c

1、查看/driver/leds/Makefile

obj-$(CONFIG_LEDS_GPIO)                    += leds-gpio.o

查看/driver/leds/Konfig

config LEDS_GPIO

       tristate"LED Support for GPIO connected LEDs"

       dependson LEDS_CLASS && GENERIC_GPIO

其中

config LEDS_CLASS

       tristate"LED Class Support"

所以配置内核makemenuconfig 时,需要选中这两项,此外还要选中 Platform device bindings for GPIO LEDs,加载驱动的时候要判断这个是否配置,不配置,文件系统中不能出现sys/class/leds/led1。

2、修改板级文件 mach-mini6410.c

添加:

//LEDS platform driver
static struct gpio_led s3c_gpio_leds[] = {

       {
              .name                    = "led1",
              .gpio                     = S3C64XX_GPK(4),
              .active_low= 1,
       },
       {
              .name                    = "led2",
              .gpio                     = S3C64XX_GPK(5),
              .active_low= 1,
       },
       {
              .name                    = "led3",
              .gpio                     = S3C64XX_GPK(6),
              .active_low= 1,
       },
       {
              .name                    = "led4",
              .gpio                     = S3C64XX_GPK(7),
              .active_low= 1,
       },
};

static struct gpio_led_platform_data s3c_gpio_led_data = {
       .leds        = s3c_gpio_leds,
       .num_leds       = ARRAY_SIZE(s3c_gpio_leds),
};

static struct platform_device s3c_leds_gpio= {
       .name      = "leds-gpio",
       .id    = -1,
       .dev = {
              .platform_data = &s3c_gpio_led_data,
       },
};

然后把这个s3c_leds_gpio加入到mini6410_devices数组

static struct platform_device*mini6410_devices[] __initdata = {

       ……

       &s3c_leds_gpio, //添加

};

 

3、查看文件:

 ls /sys/class/leds/

led1
led2
led3
led4

cd led1

echo 1 > brightness  led1亮 

echo 0 > brightness  led1灭

依此类推,控制其他的led灯。

PS:echo 1 > brightness    1与brightness 之间要空格,这个是shell语法规则。

参考博客:http://blog.csdn.net/weiqing1981127/article/category/1271694 ,这个博客是有关linux的各种子系统的。

总结:

1.子系统,平台设备,都要到板级文件中注册,驱动名和设备名要一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值