29.04.2015 Views

DevKit8500D/A User Manual - DMCS Pages for Students

DevKit8500D/A User Manual - DMCS Pages for Students

DevKit8500D/A User Manual - DMCS Pages for Students

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

GFP_KERNEL);<br />

…<br />

<strong>for</strong> (i = 0; i < pdata->num_leds; i++) {<br />

ret = create_gpio_led(&pdata->leds[i], &leds_data[i],<br />

&pdev->dev, pdata->gpio_blink_set);<br />

if (ret < 0)<br />

goto err;<br />

}<br />

…<br />

}<br />

static int __devinit create_gpio_led(const struct gpio_led *template,<br />

struct gpio_led_data *led_dat, struct device *parent,<br />

int (*blink_set)(unsigned, unsigned long *, unsigned long *))<br />

{<br />

…<br />

ret = gpio_request(template->gpio, template->name);<br />

…<br />

ret = gpio_direction_output(led_dat->gpio, led_dat->active_low ^ state);<br />

…<br />

ret = led_classdev_register(parent, &led_dat->cdev);<br />

…<br />

}<br />

c) <strong>User</strong> can access brightness file on the directory of /sys/class/leds/xxx/, called function<br />

gpio_led_set to configure led states.<br />

static void gpio_led_set(struct led_classdev *led_cdev,<br />

enum led_brightness value)<br />

{<br />

…<br />

gpio_set_value(led_dat->gpio, level);<br />

}<br />

55

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!