Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
eb202621
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 4 年多
通知
15
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
eb202621
编写于
4月 19, 2012
作者:
B
Bryan Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
led-triggers: rename *trigger to *trig for unified naming scheme
No functional change. Signed-off-by:
N
Bryan Wu
<
bryan.wu@canonical.com
>
上级
28a33cbc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
42 addition
and
42 deletion
+42
-42
drivers/leds/led-triggers.c
drivers/leds/led-triggers.c
+42
-42
未找到文件。
drivers/leds/led-triggers.c
浏览文件 @
eb202621
...
...
@@ -99,7 +99,7 @@ ssize_t led_trigger_show(struct device *dev, struct device_attribute *attr,
EXPORT_SYMBOL_GPL
(
led_trigger_show
);
/* Caller must ensure led_cdev->trigger_lock held */
void
led_trigger_set
(
struct
led_classdev
*
led_cdev
,
struct
led_trigger
*
trig
ger
)
void
led_trigger_set
(
struct
led_classdev
*
led_cdev
,
struct
led_trigger
*
trig
)
{
unsigned
long
flags
;
...
...
@@ -114,13 +114,13 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trigger)
led_cdev
->
trigger
=
NULL
;
led_brightness_set
(
led_cdev
,
LED_OFF
);
}
if
(
trig
ger
)
{
write_lock_irqsave
(
&
trig
ger
->
leddev_list_lock
,
flags
);
list_add_tail
(
&
led_cdev
->
trig_list
,
&
trig
ger
->
led_cdevs
);
write_unlock_irqrestore
(
&
trig
ger
->
leddev_list_lock
,
flags
);
led_cdev
->
trigger
=
trig
ger
;
if
(
trig
ger
->
activate
)
trig
ger
->
activate
(
led_cdev
);
if
(
trig
)
{
write_lock_irqsave
(
&
trig
->
leddev_list_lock
,
flags
);
list_add_tail
(
&
led_cdev
->
trig_list
,
&
trig
->
led_cdevs
);
write_unlock_irqrestore
(
&
trig
->
leddev_list_lock
,
flags
);
led_cdev
->
trigger
=
trig
;
if
(
trig
->
activate
)
trig
->
activate
(
led_cdev
);
}
}
EXPORT_SYMBOL_GPL
(
led_trigger_set
);
...
...
@@ -153,24 +153,24 @@ EXPORT_SYMBOL_GPL(led_trigger_set_default);
/* LED Trigger Interface */
int
led_trigger_register
(
struct
led_trigger
*
trig
ger
)
int
led_trigger_register
(
struct
led_trigger
*
trig
)
{
struct
led_classdev
*
led_cdev
;
struct
led_trigger
*
trig
;
struct
led_trigger
*
_
trig
;
rwlock_init
(
&
trig
ger
->
leddev_list_lock
);
INIT_LIST_HEAD
(
&
trig
ger
->
led_cdevs
);
rwlock_init
(
&
trig
->
leddev_list_lock
);
INIT_LIST_HEAD
(
&
trig
->
led_cdevs
);
down_write
(
&
triggers_list_lock
);
/* Make sure the trigger's name isn't already in use */
list_for_each_entry
(
trig
,
&
trigger_list
,
next_trig
)
{
if
(
!
strcmp
(
trig
->
name
,
trigger
->
name
))
{
list_for_each_entry
(
_
trig
,
&
trigger_list
,
next_trig
)
{
if
(
!
strcmp
(
_trig
->
name
,
trig
->
name
))
{
up_write
(
&
triggers_list_lock
);
return
-
EEXIST
;
}
}
/* Add to the list of led triggers */
list_add_tail
(
&
trig
ger
->
next_trig
,
&
trigger_list
);
list_add_tail
(
&
trig
->
next_trig
,
&
trigger_list
);
up_write
(
&
triggers_list_lock
);
/* Register with any LEDs that have this as a default trigger */
...
...
@@ -178,8 +178,8 @@ int led_trigger_register(struct led_trigger *trigger)
list_for_each_entry
(
led_cdev
,
&
leds_list
,
node
)
{
down_write
(
&
led_cdev
->
trigger_lock
);
if
(
!
led_cdev
->
trigger
&&
led_cdev
->
default_trigger
&&
!
strcmp
(
led_cdev
->
default_trigger
,
trig
ger
->
name
))
led_trigger_set
(
led_cdev
,
trig
ger
);
!
strcmp
(
led_cdev
->
default_trigger
,
trig
->
name
))
led_trigger_set
(
led_cdev
,
trig
);
up_write
(
&
led_cdev
->
trigger_lock
);
}
up_read
(
&
leds_list_lock
);
...
...
@@ -188,20 +188,20 @@ int led_trigger_register(struct led_trigger *trigger)
}
EXPORT_SYMBOL_GPL
(
led_trigger_register
);
void
led_trigger_unregister
(
struct
led_trigger
*
trig
ger
)
void
led_trigger_unregister
(
struct
led_trigger
*
trig
)
{
struct
led_classdev
*
led_cdev
;
/* Remove from the list of led triggers */
down_write
(
&
triggers_list_lock
);
list_del
(
&
trig
ger
->
next_trig
);
list_del
(
&
trig
->
next_trig
);
up_write
(
&
triggers_list_lock
);
/* Remove anyone actively using this trigger */
down_read
(
&
leds_list_lock
);
list_for_each_entry
(
led_cdev
,
&
leds_list
,
node
)
{
down_write
(
&
led_cdev
->
trigger_lock
);
if
(
led_cdev
->
trigger
==
trig
ger
)
if
(
led_cdev
->
trigger
==
trig
)
led_trigger_set
(
led_cdev
,
NULL
);
up_write
(
&
led_cdev
->
trigger_lock
);
}
...
...
@@ -211,58 +211,58 @@ EXPORT_SYMBOL_GPL(led_trigger_unregister);
/* Simple LED Tigger Interface */
void
led_trigger_event
(
struct
led_trigger
*
trig
ger
,
void
led_trigger_event
(
struct
led_trigger
*
trig
,
enum
led_brightness
brightness
)
{
struct
list_head
*
entry
;
if
(
!
trig
ger
)
if
(
!
trig
)
return
;
read_lock
(
&
trig
ger
->
leddev_list_lock
);
list_for_each
(
entry
,
&
trig
ger
->
led_cdevs
)
{
read_lock
(
&
trig
->
leddev_list_lock
);
list_for_each
(
entry
,
&
trig
->
led_cdevs
)
{
struct
led_classdev
*
led_cdev
;
led_cdev
=
list_entry
(
entry
,
struct
led_classdev
,
trig_list
);
led_set_brightness
(
led_cdev
,
brightness
);
}
read_unlock
(
&
trig
ger
->
leddev_list_lock
);
read_unlock
(
&
trig
->
leddev_list_lock
);
}
EXPORT_SYMBOL_GPL
(
led_trigger_event
);
void
led_trigger_blink
(
struct
led_trigger
*
trig
ger
,
void
led_trigger_blink
(
struct
led_trigger
*
trig
,
unsigned
long
*
delay_on
,
unsigned
long
*
delay_off
)
{
struct
list_head
*
entry
;
if
(
!
trig
ger
)
if
(
!
trig
)
return
;
read_lock
(
&
trig
ger
->
leddev_list_lock
);
list_for_each
(
entry
,
&
trig
ger
->
led_cdevs
)
{
read_lock
(
&
trig
->
leddev_list_lock
);
list_for_each
(
entry
,
&
trig
->
led_cdevs
)
{
struct
led_classdev
*
led_cdev
;
led_cdev
=
list_entry
(
entry
,
struct
led_classdev
,
trig_list
);
led_blink_set
(
led_cdev
,
delay_on
,
delay_off
);
}
read_unlock
(
&
trig
ger
->
leddev_list_lock
);
read_unlock
(
&
trig
->
leddev_list_lock
);
}
EXPORT_SYMBOL_GPL
(
led_trigger_blink
);
void
led_trigger_register_simple
(
const
char
*
name
,
struct
led_trigger
**
tp
)
{
struct
led_trigger
*
trig
ger
;
struct
led_trigger
*
trig
;
int
err
;
trig
ger
=
kzalloc
(
sizeof
(
struct
led_trigger
),
GFP_KERNEL
);
trig
=
kzalloc
(
sizeof
(
struct
led_trigger
),
GFP_KERNEL
);
if
(
trig
ger
)
{
trig
ger
->
name
=
name
;
err
=
led_trigger_register
(
trig
ger
);
if
(
trig
)
{
trig
->
name
=
name
;
err
=
led_trigger_register
(
trig
);
if
(
err
<
0
)
{
kfree
(
trig
ger
);
trig
ger
=
NULL
;
kfree
(
trig
);
trig
=
NULL
;
printk
(
KERN_WARNING
"LED trigger %s failed to register"
" (%d)
\n
"
,
name
,
err
);
}
...
...
@@ -270,15 +270,15 @@ void led_trigger_register_simple(const char *name, struct led_trigger **tp)
printk
(
KERN_WARNING
"LED trigger %s failed to register"
" (no memory)
\n
"
,
name
);
*
tp
=
trig
ger
;
*
tp
=
trig
;
}
EXPORT_SYMBOL_GPL
(
led_trigger_register_simple
);
void
led_trigger_unregister_simple
(
struct
led_trigger
*
trig
ger
)
void
led_trigger_unregister_simple
(
struct
led_trigger
*
trig
)
{
if
(
trig
ger
)
led_trigger_unregister
(
trig
ger
);
kfree
(
trig
ger
);
if
(
trig
)
led_trigger_unregister
(
trig
);
kfree
(
trig
);
}
EXPORT_SYMBOL_GPL
(
led_trigger_unregister_simple
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录