Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
cf9b475d
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
cf9b475d
编写于
9月 14, 2010
作者:
M
Mauro Carvalho Chehab
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
V4L/DVB: radio-si470x: remove the BKL lock used internally at the driver
Signed-off-by:
N
Mauro Carvalho Chehab
<
mchehab@redhat.com
>
上级
e69e34e9
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
10 deletion
+8
-10
drivers/media/radio/si470x/radio-si470x-usb.c
drivers/media/radio/si470x/radio-si470x-usb.c
+8
-9
drivers/media/radio/si470x/radio-si470x.h
drivers/media/radio/si470x/radio-si470x.h
+0
-1
未找到文件。
drivers/media/radio/si470x/radio-si470x-usb.c
浏览文件 @
cf9b475d
...
...
@@ -517,7 +517,7 @@ int si470x_fops_open(struct file *file)
struct
si470x_device
*
radio
=
video_drvdata
(
file
);
int
retval
;
lock_kernel
(
);
mutex_lock
(
&
radio
->
lock
);
radio
->
users
++
;
retval
=
usb_autopm_get_interface
(
radio
->
intf
);
...
...
@@ -558,7 +558,7 @@ int si470x_fops_open(struct file *file)
}
done:
unlock_kernel
(
);
mutex_unlock
(
&
radio
->
lock
);
return
retval
;
}
...
...
@@ -577,7 +577,7 @@ int si470x_fops_release(struct file *file)
goto
done
;
}
mutex_lock
(
&
radio
->
disconnect_
lock
);
mutex_lock
(
&
radio
->
lock
);
radio
->
users
--
;
if
(
radio
->
users
==
0
)
{
/* shutdown interrupt handler */
...
...
@@ -591,7 +591,7 @@ int si470x_fops_release(struct file *file)
video_unregister_device
(
radio
->
videodev
);
kfree
(
radio
->
int_in_buffer
);
kfree
(
radio
->
buffer
);
mutex_unlock
(
&
radio
->
disconnect_
lock
);
mutex_unlock
(
&
radio
->
lock
);
kfree
(
radio
);
goto
done
;
}
...
...
@@ -603,7 +603,7 @@ int si470x_fops_release(struct file *file)
retval
=
si470x_stop
(
radio
);
usb_autopm_put_interface
(
radio
->
intf
);
}
mutex_unlock
(
&
radio
->
disconnect_
lock
);
mutex_unlock
(
&
radio
->
lock
);
done:
return
retval
;
}
...
...
@@ -661,7 +661,6 @@ static int si470x_usb_driver_probe(struct usb_interface *intf,
radio
->
disconnected
=
0
;
radio
->
usbdev
=
interface_to_usbdev
(
intf
);
radio
->
intf
=
intf
;
mutex_init
(
&
radio
->
disconnect_lock
);
mutex_init
(
&
radio
->
lock
);
iface_desc
=
intf
->
cur_altsetting
;
...
...
@@ -830,7 +829,7 @@ static void si470x_usb_driver_disconnect(struct usb_interface *intf)
{
struct
si470x_device
*
radio
=
usb_get_intfdata
(
intf
);
mutex_lock
(
&
radio
->
disconnect_
lock
);
mutex_lock
(
&
radio
->
lock
);
radio
->
disconnected
=
1
;
usb_set_intfdata
(
intf
,
NULL
);
if
(
radio
->
users
==
0
)
{
...
...
@@ -843,10 +842,10 @@ static void si470x_usb_driver_disconnect(struct usb_interface *intf)
kfree
(
radio
->
int_in_buffer
);
video_unregister_device
(
radio
->
videodev
);
kfree
(
radio
->
buffer
);
mutex_unlock
(
&
radio
->
disconnect_
lock
);
mutex_unlock
(
&
radio
->
lock
);
kfree
(
radio
);
}
else
{
mutex_unlock
(
&
radio
->
disconnect_
lock
);
mutex_unlock
(
&
radio
->
lock
);
}
}
...
...
drivers/media/radio/si470x/radio-si470x.h
浏览文件 @
cf9b475d
...
...
@@ -177,7 +177,6 @@ struct si470x_device {
/* driver management */
unsigned
char
disconnected
;
struct
mutex
disconnect_lock
;
#endif
#if defined(CONFIG_I2C_SI470X) || defined(CONFIG_I2C_SI470X_MODULE)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录