Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
620150dc
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
620150dc
编写于
9月 12, 2009
作者:
B
Blue Swirl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Try to fix BSD breakage by
806b6024
Signed-off-by:
N
Blue Swirl
<
blauwirbel@gmail.com
>
上级
15cc9235
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
32 addition
and
10 deletion
+32
-10
usb-bsd.c
usb-bsd.c
+32
-10
未找到文件。
usb-bsd.c
浏览文件 @
620150dc
...
...
@@ -63,6 +63,7 @@ typedef struct USBHostDevice {
}
USBHostDevice
;
#if 0
static int ensure_ep_open(USBHostDevice *dev, int ep, int mode)
{
char buf[32];
...
...
@@ -110,6 +111,7 @@ static void ensure_eps_closed(USBHostDevice *dev)
epnum
++
;
}
}
#endif
static
void
usb_host_handle_reset
(
USBDevice
*
dev
)
{
...
...
@@ -118,6 +120,7 @@ static void usb_host_handle_reset(USBDevice *dev)
#endif
}
#if 0
/* XXX:
* -check device states against transfer requests
* and return appropriate response
...
...
@@ -275,6 +278,7 @@ static int usb_host_handle_data(USBDevice *dev, USBPacket *p)
return
ret
;
}
}
#endif
static
void
usb_host_handle_destroy
(
USBDevice
*
opaque
)
{
...
...
@@ -293,9 +297,15 @@ static void usb_host_handle_destroy(USBDevice *opaque)
qemu_free
(
s
);
}
static
int
usb_host_initfn
(
USBDevice
*
dev
)
{
return
0
;
}
USBDevice
*
usb_host_device_open
(
const
char
*
devname
)
{
struct
usb_device_info
bus_info
,
dev_info
;
USBDevice
*
d
=
NULL
;
USBHostDevice
*
dev
;
char
ctlpath
[
PATH_MAX
+
1
];
char
buspath
[
PATH_MAX
+
1
];
...
...
@@ -343,9 +353,6 @@ USBDevice *usb_host_device_open(const char *devname)
}
if
(
dfd
>=
0
)
{
dev
=
qemu_mallocz
(
sizeof
(
USBHostDevice
));
dev
->
devfd
=
dfd
;
if
(
ioctl
(
dfd
,
USB_GET_DEVICEINFO
,
&
dev_info
)
<
0
)
{
#ifdef DEBUG
printf
(
"usb_host_device_open: failed to grab device info - %s
\n
"
,
...
...
@@ -354,18 +361,14 @@ USBDevice *usb_host_device_open(const char *devname)
goto
fail
;
}
d
=
usb_create
(
NULL
/* FIXME */
,
"USB Host Device"
);
dev
=
DO_UPCAST
(
USBHostDevice
,
dev
,
d
);
if
(
dev_info
.
udi_speed
==
1
)
dev
->
dev
.
speed
=
USB_SPEED_LOW
-
1
;
else
dev
->
dev
.
speed
=
USB_SPEED_FULL
-
1
;
dev
->
dev
.
handle_packet
=
usb_generic_handle_packet
;
dev
->
dev
.
handle_reset
=
usb_host_handle_reset
;
dev
->
dev
.
handle_control
=
usb_host_handle_control
;
dev
->
dev
.
handle_data
=
usb_host_handle_data
;
dev
->
dev
.
handle_destroy
=
usb_host_handle_destroy
;
if
(
strncmp
(
dev_info
.
udi_product
,
"product"
,
7
)
!=
0
)
pstrcpy
(
dev
->
dev
.
devname
,
sizeof
(
dev
->
dev
.
devname
),
dev_info
.
udi_product
);
...
...
@@ -389,6 +392,25 @@ fail:
return
NULL
;
}
static
struct
USBDeviceInfo
usb_host_dev_info
=
{
.
qdev
.
name
=
"USB Host Device"
,
.
qdev
.
size
=
sizeof
(
USBHostDevice
),
.
init
=
usb_host_initfn
,
.
handle_packet
=
usb_generic_handle_packet
,
.
handle_reset
=
usb_host_handle_reset
,
#if 0
.handle_control = usb_host_handle_control,
.handle_data = usb_host_handle_data,
#endif
.
handle_destroy
=
usb_host_handle_destroy
,
};
static
void
usb_host_register_devices
(
void
)
{
usb_qdev_register
(
&
usb_host_dev_info
);
}
device_init
(
usb_host_register_devices
)
static
int
usb_host_scan
(
void
*
opaque
,
USBScanFunc
*
func
)
{
struct
usb_device_info
bus_info
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录