Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
35438946
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
35438946
编写于
4月 03, 2010
作者:
M
Mauro Carvalho Chehab
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
V4L/DVB: ir-core: re-add some debug functions for keytable changes
Signed-off-by:
N
Mauro Carvalho Chehab
<
mchehab@redhat.com
>
上级
b3074c0a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
2 deletion
+17
-2
drivers/media/IR/ir-keytable.c
drivers/media/IR/ir-keytable.c
+17
-2
未找到文件。
drivers/media/IR/ir-keytable.c
浏览文件 @
35438946
...
@@ -100,6 +100,8 @@ static int ir_do_setkeycode(struct input_dev *dev,
...
@@ -100,6 +100,8 @@ static int ir_do_setkeycode(struct input_dev *dev,
/* Did the user wish to remove the mapping? */
/* Did the user wish to remove the mapping? */
if
(
keycode
==
KEY_RESERVED
||
keycode
==
KEY_UNKNOWN
)
{
if
(
keycode
==
KEY_RESERVED
||
keycode
==
KEY_UNKNOWN
)
{
IR_dprintk
(
1
,
"#%d: Deleting scan 0x%04x
\n
"
,
i
,
scancode
);
rc_tab
->
len
--
;
rc_tab
->
len
--
;
memmove
(
&
rc_tab
->
scan
[
i
],
&
rc_tab
->
scan
[
i
+
1
],
memmove
(
&
rc_tab
->
scan
[
i
],
&
rc_tab
->
scan
[
i
+
1
],
(
rc_tab
->
len
-
i
)
*
sizeof
(
struct
ir_scancode
));
(
rc_tab
->
len
-
i
)
*
sizeof
(
struct
ir_scancode
));
...
@@ -115,6 +117,9 @@ static int ir_do_setkeycode(struct input_dev *dev,
...
@@ -115,6 +117,9 @@ static int ir_do_setkeycode(struct input_dev *dev,
if
(
ir_resize_table
(
rc_tab
))
if
(
ir_resize_table
(
rc_tab
))
return
-
ENOMEM
;
return
-
ENOMEM
;
IR_dprintk
(
1
,
"#%d: New scan 0x%04x with key 0x%04x
\n
"
,
i
,
scancode
,
keycode
);
/* i is the proper index to insert our new keycode */
/* i is the proper index to insert our new keycode */
memmove
(
&
rc_tab
->
scan
[
i
+
1
],
&
rc_tab
->
scan
[
i
],
memmove
(
&
rc_tab
->
scan
[
i
+
1
],
&
rc_tab
->
scan
[
i
],
(
rc_tab
->
len
-
i
)
*
sizeof
(
struct
ir_scancode
));
(
rc_tab
->
len
-
i
)
*
sizeof
(
struct
ir_scancode
));
...
@@ -123,6 +128,8 @@ static int ir_do_setkeycode(struct input_dev *dev,
...
@@ -123,6 +128,8 @@ static int ir_do_setkeycode(struct input_dev *dev,
rc_tab
->
len
++
;
rc_tab
->
len
++
;
set_bit
(
keycode
,
dev
->
keybit
);
set_bit
(
keycode
,
dev
->
keybit
);
}
else
{
}
else
{
IR_dprintk
(
1
,
"#%d: Replacing scan 0x%04x with key 0x%04x
\n
"
,
i
,
scancode
,
keycode
);
/* A previous mapping was updated... */
/* A previous mapping was updated... */
clear_bit
(
old_keycode
,
dev
->
keybit
);
clear_bit
(
old_keycode
,
dev
->
keybit
);
/* ...but another scancode might use the same keycode */
/* ...but another scancode might use the same keycode */
...
@@ -224,6 +231,10 @@ static int ir_getkeycode(struct input_dev *dev,
...
@@ -224,6 +231,10 @@ static int ir_getkeycode(struct input_dev *dev,
}
}
spin_unlock_irqrestore
(
&
rc_tab
->
lock
,
flags
);
spin_unlock_irqrestore
(
&
rc_tab
->
lock
,
flags
);
if
(
key
==
KEY_RESERVED
)
IR_dprintk
(
1
,
"unknown key for scancode 0x%04x
\n
"
,
scancode
);
*
keycode
=
key
;
*
keycode
=
key
;
return
0
;
return
0
;
}
}
...
@@ -243,8 +254,9 @@ u32 ir_g_keycode_from_table(struct input_dev *dev, u32 scancode)
...
@@ -243,8 +254,9 @@ u32 ir_g_keycode_from_table(struct input_dev *dev, u32 scancode)
int
keycode
;
int
keycode
;
ir_getkeycode
(
dev
,
scancode
,
&
keycode
);
ir_getkeycode
(
dev
,
scancode
,
&
keycode
);
IR_dprintk
(
1
,
"%s: scancode 0x%04x keycode 0x%02x
\n
"
,
if
(
keycode
!=
KEY_RESERVED
)
dev
->
name
,
scancode
,
keycode
);
IR_dprintk
(
1
,
"%s: scancode 0x%04x keycode 0x%02x
\n
"
,
dev
->
name
,
scancode
,
keycode
);
return
keycode
;
return
keycode
;
}
}
EXPORT_SYMBOL_GPL
(
ir_g_keycode_from_table
);
EXPORT_SYMBOL_GPL
(
ir_g_keycode_from_table
);
...
@@ -386,6 +398,9 @@ int __ir_input_register(struct input_dev *input_dev,
...
@@ -386,6 +398,9 @@ int __ir_input_register(struct input_dev *input_dev,
if
(
rc
<
0
)
if
(
rc
<
0
)
goto
out_table
;
goto
out_table
;
IR_dprintk
(
1
,
"Registered input device on %s for %s remote.
\n
"
,
driver_name
,
rc_tab
->
name
);
return
0
;
return
0
;
out_table:
out_table:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录