首先定義響應LED的IO接口與功能描述:
static struct gpio_led mini6410_leds[]={
[0] = {
.name = "LED1",
.gpio = S3C64XX_GPK(4),
},
[1] = {
.name = "LED2",
.gpio = S3C64XX_GPK(5),
},
[3] = {
.name = "LED3",
.gpio = S3C64XX_GPK(6),
},
[4] = {
.name = "LED4",
.gpio = S3C64XX_GPK(7),
},
};
static struct gpio_led_platform_datamini6410_gpio_led_pdata = {
.leds = mini6410_leds,
.num_leds = ARRAY_SIZE(mini6410_leds),
};
static struct platform_device mini6410_device_led = {
.name = "gpio-leds",
.id = -1,
.dev = {
.platform_data = &mini6410_gpio_led_pdata,
}
};
最後將mini6410_device_button填入到板文件的初始化函數staticvoid __init mini6410_machine_init(void),實現gpio的初始化啓動過程。
測試:
確認leds的事件是否創建成功,打開/sys/class/leds/文件夾,可以看到創建的對應leds文件。
簡單的測試方法:
#echo 1>/sys/class/leds/brightless