Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
360b52b0
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
360b52b0
编写于
5月 10, 2005
作者:
G
Greg KH
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[PATCH] USB: add modalias sysfs file for usb devices
Signed-off-by:
N
Greg Kroah-Hartman
<
gregkh@suse.de
>
上级
25b6f08e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
0 deletion
+34
-0
drivers/usb/core/sysfs.c
drivers/usb/core/sysfs.c
+34
-0
未找到文件。
drivers/usb/core/sysfs.c
浏览文件 @
360b52b0
...
...
@@ -286,6 +286,39 @@ static ssize_t show_interface_string(struct device *dev, char *buf)
}
static
DEVICE_ATTR
(
interface
,
S_IRUGO
,
show_interface_string
,
NULL
);
static
ssize_t
show_modalias
(
struct
device
*
dev
,
char
*
buf
)
{
struct
usb_interface
*
intf
;
struct
usb_device
*
udev
;
intf
=
to_usb_interface
(
dev
);
udev
=
interface_to_usbdev
(
intf
);
if
(
udev
->
descriptor
.
bDeviceClass
==
0
)
{
struct
usb_host_interface
*
alt
=
intf
->
cur_altsetting
;
return
sprintf
(
buf
,
"usb:v%04Xp%04Xd%04Xdc%02Xdsc%02Xdp%02Xic%02Xisc%02Xip%02X
\n
"
,
le16_to_cpu
(
udev
->
descriptor
.
idVendor
),
le16_to_cpu
(
udev
->
descriptor
.
idProduct
),
le16_to_cpu
(
udev
->
descriptor
.
bcdDevice
),
udev
->
descriptor
.
bDeviceClass
,
udev
->
descriptor
.
bDeviceSubClass
,
udev
->
descriptor
.
bDeviceProtocol
,
alt
->
desc
.
bInterfaceClass
,
alt
->
desc
.
bInterfaceSubClass
,
alt
->
desc
.
bInterfaceProtocol
);
}
else
{
return
sprintf
(
buf
,
"usb:v%04Xp%04Xd%04Xdc%02Xdsc%02Xdp%02Xic*isc*ip*
\n
"
,
le16_to_cpu
(
udev
->
descriptor
.
idVendor
),
le16_to_cpu
(
udev
->
descriptor
.
idProduct
),
le16_to_cpu
(
udev
->
descriptor
.
bcdDevice
),
udev
->
descriptor
.
bDeviceClass
,
udev
->
descriptor
.
bDeviceSubClass
,
udev
->
descriptor
.
bDeviceProtocol
);
}
}
static
DEVICE_ATTR
(
modalias
,
S_IRUGO
,
show_modalias
,
NULL
);
static
struct
attribute
*
intf_attrs
[]
=
{
&
dev_attr_bInterfaceNumber
.
attr
,
&
dev_attr_bAlternateSetting
.
attr
,
...
...
@@ -293,6 +326,7 @@ static struct attribute *intf_attrs[] = {
&
dev_attr_bInterfaceClass
.
attr
,
&
dev_attr_bInterfaceSubClass
.
attr
,
&
dev_attr_bInterfaceProtocol
.
attr
,
&
dev_attr_modalias
.
attr
,
NULL
,
};
static
struct
attribute_group
intf_attr_grp
=
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录