Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
54a5c4cd
K
Kernel
项目概览
openeuler
/
Kernel
12 个月 前同步成功
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
54a5c4cd
编写于
6月 20, 2005
作者:
G
Greg Kroah-Hartman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[PATCH] USB: convert usbfs/inode.c to use usb notifiers
Signed-off-by:
N
Greg Kroah-Hartman
<
gregkh@suse.de
>
上级
a7b986b3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
31 addition
and
28 deletion
+31
-28
drivers/usb/core/hcd.c
drivers/usb/core/hcd.c
+0
-2
drivers/usb/core/hcd.h
drivers/usb/core/hcd.h
+0
-10
drivers/usb/core/hub.c
drivers/usb/core/hub.c
+0
-3
drivers/usb/core/inode.c
drivers/usb/core/inode.c
+31
-13
未找到文件。
drivers/usb/core/hcd.c
浏览文件 @
54a5c4cd
...
...
@@ -793,7 +793,6 @@ static int usb_register_bus(struct usb_bus *bus)
up
(
&
usb_bus_list_lock
);
usb_notify_add_bus
(
bus
);
usbfs_add_bus
(
bus
);
usbmon_notify_bus_add
(
bus
);
dev_info
(
bus
->
controller
,
"new USB bus registered, assigned bus number %d
\n
"
,
bus
->
busnum
);
...
...
@@ -823,7 +822,6 @@ static void usb_deregister_bus (struct usb_bus *bus)
usb_notify_remove_bus
(
bus
);
usbmon_notify_bus_remove
(
bus
);
usbfs_remove_bus
(
bus
);
clear_bit
(
bus
->
busnum
,
busmap
.
busmap
);
...
...
drivers/usb/core/hcd.h
浏览文件 @
54a5c4cd
...
...
@@ -400,23 +400,13 @@ static inline int hcd_bus_resume (struct usb_bus *bus)
* these are expected to be called from the USB core/hub thread
* with the kernel lock held
*/
extern
void
usbfs_add_bus
(
struct
usb_bus
*
bus
);
extern
void
usbfs_remove_bus
(
struct
usb_bus
*
bus
);
extern
void
usbfs_add_device
(
struct
usb_device
*
dev
);
extern
void
usbfs_remove_device
(
struct
usb_device
*
dev
);
extern
void
usbfs_update_special
(
void
);
extern
int
usbfs_init
(
void
);
extern
void
usbfs_cleanup
(
void
);
#else
/* CONFIG_USB_DEVICEFS */
static
inline
void
usbfs_add_bus
(
struct
usb_bus
*
bus
)
{}
static
inline
void
usbfs_remove_bus
(
struct
usb_bus
*
bus
)
{}
static
inline
void
usbfs_add_device
(
struct
usb_device
*
dev
)
{}
static
inline
void
usbfs_remove_device
(
struct
usb_device
*
dev
)
{}
static
inline
void
usbfs_update_special
(
void
)
{}
static
inline
int
usbfs_init
(
void
)
{
return
0
;
}
static
inline
void
usbfs_cleanup
(
void
)
{
}
...
...
drivers/usb/core/hub.c
浏览文件 @
54a5c4cd
...
...
@@ -1136,7 +1136,6 @@ void usb_disconnect(struct usb_device **pdev)
*/
dev_dbg
(
&
udev
->
dev
,
"unregistering device
\n
"
);
release_address
(
udev
);
usbfs_remove_device
(
udev
);
usb_remove_sysfs_dev_files
(
udev
);
/* Avoid races with recursively_mark_NOTATTACHED() */
...
...
@@ -1374,8 +1373,6 @@ int usb_new_device(struct usb_device *udev)
/* USB device state == configured ... usable */
usb_notify_add_device
(
udev
);
/* add a /proc/bus/usb entry */
usbfs_add_device
(
udev
);
return
0
;
fail:
...
...
drivers/usb/core/inode.c
浏览文件 @
54a5c4cd
...
...
@@ -39,6 +39,7 @@
#include <linux/usbdevice_fs.h>
#include <linux/smp_lock.h>
#include <linux/parser.h>
#include <linux/notifier.h>
#include <asm/byteorder.h>
#include "usb.h"
#include "hcd.h"
...
...
@@ -619,7 +620,7 @@ void usbfs_update_special (void)
}
}
void
usbfs_add_bus
(
struct
usb_bus
*
bus
)
static
void
usbfs_add_bus
(
struct
usb_bus
*
bus
)
{
struct
dentry
*
parent
;
char
name
[
8
];
...
...
@@ -642,12 +643,9 @@ void usbfs_add_bus(struct usb_bus *bus)
err
(
"error creating usbfs bus entry"
);
return
;
}
usbfs_update_special
();
usbfs_conn_disc_event
();
}
void
usbfs_remove_bus
(
struct
usb_bus
*
bus
)
static
void
usbfs_remove_bus
(
struct
usb_bus
*
bus
)
{
if
(
bus
->
usbfs_dentry
)
{
fs_remove_file
(
bus
->
usbfs_dentry
);
...
...
@@ -659,12 +657,9 @@ void usbfs_remove_bus(struct usb_bus *bus)
remove_special_files
();
num_buses
=
0
;
}
usbfs_update_special
();
usbfs_conn_disc_event
();
}
void
usbfs_add_device
(
struct
usb_device
*
dev
)
static
void
usbfs_add_device
(
struct
usb_device
*
dev
)
{
char
name
[
8
];
int
i
;
...
...
@@ -690,12 +685,9 @@ void usbfs_add_device(struct usb_device *dev)
}
if
(
dev
->
usbfs_dentry
->
d_inode
)
dev
->
usbfs_dentry
->
d_inode
->
i_size
=
i_size
;
usbfs_update_special
();
usbfs_conn_disc_event
();
}
void
usbfs_remove_device
(
struct
usb_device
*
dev
)
static
void
usbfs_remove_device
(
struct
usb_device
*
dev
)
{
struct
dev_state
*
ds
;
struct
siginfo
sinfo
;
...
...
@@ -716,10 +708,33 @@ void usbfs_remove_device(struct usb_device *dev)
kill_proc_info_as_uid
(
ds
->
discsignr
,
&
sinfo
,
ds
->
disc_pid
,
ds
->
disc_uid
,
ds
->
disc_euid
);
}
}
}
static
int
usbfs_notify
(
struct
notifier_block
*
self
,
unsigned
long
action
,
void
*
dev
)
{
switch
(
action
)
{
case
USB_DEVICE_ADD
:
usbfs_add_device
(
dev
);
break
;
case
USB_DEVICE_REMOVE
:
usbfs_remove_device
(
dev
);
break
;
case
USB_BUS_ADD
:
usbfs_add_bus
(
dev
);
break
;
case
USB_BUS_REMOVE
:
usbfs_remove_bus
(
dev
);
}
usbfs_update_special
();
usbfs_conn_disc_event
();
return
NOTIFY_OK
;
}
static
struct
notifier_block
usbfs_nb
=
{
.
notifier_call
=
usbfs_notify
,
};
/* --------------------------------------------------------------------- */
static
struct
proc_dir_entry
*
usbdir
=
NULL
;
...
...
@@ -732,6 +747,8 @@ int __init usbfs_init(void)
if
(
retval
)
return
retval
;
usb_register_notify
(
&
usbfs_nb
);
/* create mount point for usbfs */
usbdir
=
proc_mkdir
(
"usb"
,
proc_bus
);
...
...
@@ -740,6 +757,7 @@ int __init usbfs_init(void)
void
usbfs_cleanup
(
void
)
{
usb_unregister_notify
(
&
usbfs_nb
);
unregister_filesystem
(
&
usb_fs_type
);
if
(
usbdir
)
remove_proc_entry
(
"usb"
,
proc_bus
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录