Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
leds
leds-rb532.c
Go to the documentation of this file.
1
/*
2
* LEDs driver for the "User LED" on Routerboard532
3
*
4
* Copyright (C) 2009 Phil Sutter <
[email protected]
>
5
*
6
* Based on leds-cobalt-qube.c by Florian Fainelly and
7
* rb-diag.c (my own standalone driver for both LED and
8
* button of Routerboard532).
9
*/
10
11
#include <
linux/leds.h
>
12
#include <linux/module.h>
13
#include <
linux/platform_device.h
>
14
15
#include <
asm/mach-rc32434/gpio.h
>
16
#include <
asm/mach-rc32434/rb.h
>
17
18
static
void
rb532_led_set(
struct
led_classdev
*
cdev
,
19
enum
led_brightness
brightness
)
20
{
21
if
(brightness)
22
set_latch_u5
(
LO_ULED
, 0);
23
24
else
25
set_latch_u5
(0,
LO_ULED
);
26
}
27
28
static
enum
led_brightness
rb532_led_get(
struct
led_classdev
*cdev)
29
{
30
return
(
get_latch_u5
() &
LO_ULED
) ?
LED_FULL
:
LED_OFF
;
31
}
32
33
static
struct
led_classdev
rb532_uled = {
34
.name =
"uled"
,
35
.brightness_set = rb532_led_set,
36
.brightness_get = rb532_led_get,
37
.default_trigger =
"nand-disk"
,
38
};
39
40
static
int
__devinit
rb532_led_probe(
struct
platform_device
*pdev)
41
{
42
return
led_classdev_register
(&pdev->
dev
, &rb532_uled);
43
}
44
45
static
int
__devexit
rb532_led_remove(
struct
platform_device
*pdev)
46
{
47
led_classdev_unregister
(&rb532_uled);
48
return
0;
49
}
50
51
static
struct
platform_driver
rb532_led_driver = {
52
.probe = rb532_led_probe,
53
.remove =
__devexit_p
(rb532_led_remove),
54
.driver = {
55
.name =
"rb532-led"
,
56
.owner =
THIS_MODULE
,
57
},
58
};
59
60
module_platform_driver
(rb532_led_driver);
61
62
MODULE_LICENSE
(
"GPL"
);
63
MODULE_DESCRIPTION
(
"User LED support for Routerboard532"
);
64
MODULE_AUTHOR
(
"Phil Sutter <
[email protected]
>"
);
65
MODULE_ALIAS
(
"platform:rb532-led"
);
Generated on Thu Jan 10 2013 13:43:03 for Linux Kernel by
1.8.2