Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
3ac7f581
Commit
3ac7f581
authored
Jun 05, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/gregkh/linux/pci-2.5
into home.transmeta.com:/home/torvalds/v2.5/linux
parents
cbef6c0f
ff0699a5
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1023 additions
and
64 deletions
+1023
-64
Documentation/DocBook/Makefile
Documentation/DocBook/Makefile
+2
-1
Documentation/DocBook/gadget.tmpl
Documentation/DocBook/gadget.tmpl
+966
-0
drivers/usb/image/hpusbscsi.c
drivers/usb/image/hpusbscsi.c
+0
-11
drivers/usb/input/hid-input.c
drivers/usb/input/hid-input.c
+51
-48
drivers/usb/input/hid.h
drivers/usb/input/hid.h
+1
-2
drivers/usb/serial/empeg.c
drivers/usb/serial/empeg.c
+3
-2
No files found.
Documentation/DocBook/Makefile
View file @
3ac7f581
...
@@ -11,7 +11,8 @@ DOCBOOKS := wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml \
...
@@ -11,7 +11,8 @@ DOCBOOKS := wanbook.sgml z8530book.sgml mcabook.sgml videobook.sgml \
kernel-locking.sgml via-audio.sgml mousedrivers.sgml
\
kernel-locking.sgml via-audio.sgml mousedrivers.sgml
\
deviceiobook.sgml procfs-guide.sgml tulip-user.sgml
\
deviceiobook.sgml procfs-guide.sgml tulip-user.sgml
\
writing_usb_driver.sgml scsidrivers.sgml sis900.sgml
\
writing_usb_driver.sgml scsidrivers.sgml sis900.sgml
\
kernel-api.sgml journal-api.sgml lsm.sgml usb.sgml
kernel-api.sgml journal-api.sgml lsm.sgml usb.sgml
\
gadget.sgml
###
###
# The build process is as follows (targets):
# The build process is as follows (targets):
...
...
Documentation/DocBook/gadget.tmpl
0 → 100644
View file @
3ac7f581
This diff is collapsed.
Click to expand it.
drivers/usb/image/hpusbscsi.c
View file @
3ac7f581
...
@@ -93,17 +93,6 @@ hpusbscsi_usb_probe(struct usb_interface *intf,
...
@@ -93,17 +93,6 @@ hpusbscsi_usb_probe(struct usb_interface *intf,
}
}
}
}
/* USB initialisation magic for the simple case */
result
=
usb_set_interface
(
dev
,
altsetting
->
desc
.
bInterfaceNumber
,
0
);
switch
(
result
)
{
case
0
:
/* no error */
break
;
default:
printk
(
KERN_ERR
"unknown error %d from usb_set_interface
\n
"
,
result
);
goto
out_free_controlurb
;
}
/* build and submit an interrupt URB for status byte handling */
/* build and submit an interrupt URB for status byte handling */
usb_fill_int_urb
(
new
->
controlurb
,
new
->
dev
,
usb_fill_int_urb
(
new
->
controlurb
,
new
->
dev
,
usb_rcvintpipe
(
new
->
dev
,
new
->
ep_int
),
usb_rcvintpipe
(
new
->
dev
,
new
->
ep_int
),
...
...
drivers/usb/input/hid-input.c
View file @
3ac7f581
...
@@ -70,8 +70,11 @@ static struct input_dev *find_input(struct hid_device *hid, struct hid_field *fi
...
@@ -70,8 +70,11 @@ static struct input_dev *find_input(struct hid_device *hid, struct hid_field *fi
hidinput
=
list_entry
(
lh
,
struct
hid_input
,
list
);
hidinput
=
list_entry
(
lh
,
struct
hid_input
,
list
);
for
(
i
=
0
;
i
<
hidinput
->
maxfield
;
i
++
)
if
(
!
hidinput
->
report
)
if
(
hidinput
->
fields
[
i
]
==
field
)
continue
;
for
(
i
=
0
;
i
<
hidinput
->
report
->
maxfield
;
i
++
)
if
(
hidinput
->
report
->
field
[
i
]
==
field
)
return
&
hidinput
->
input
;
return
&
hidinput
->
input
;
}
}
...
@@ -527,7 +530,7 @@ int hidinput_connect(struct hid_device *hid)
...
@@ -527,7 +530,7 @@ int hidinput_connect(struct hid_device *hid)
struct
hid_report
*
report
;
struct
hid_report
*
report
;
struct
list_head
*
list
;
struct
list_head
*
list
;
struct
hid_input
*
hidinput
=
NULL
;
struct
hid_input
*
hidinput
=
NULL
;
int
i
,
j
;
int
i
,
j
,
k
;
INIT_LIST_HEAD
(
&
hid
->
inputs
);
INIT_LIST_HEAD
(
&
hid
->
inputs
);
...
@@ -539,57 +542,57 @@ int hidinput_connect(struct hid_device *hid)
...
@@ -539,57 +542,57 @@ int hidinput_connect(struct hid_device *hid)
if
(
i
==
hid
->
maxcollection
)
if
(
i
==
hid
->
maxcollection
)
return
-
1
;
return
-
1
;
report_enum
=
hid
->
report_enum
+
HID_INPUT_REPORT
;
for
(
k
=
HID_INPUT_REPORT
;
k
<=
HID_OUTPUT_REPORT
;
k
++
)
{
list
=
report_enum
->
report_list
.
next
;
report_enum
=
hid
->
report_enum
+
k
;
while
(
list
!=
&
report_enum
->
report_list
)
{
list
=
report_enum
->
report_list
.
next
;
report
=
(
struct
hid_report
*
)
list
;
while
(
list
!=
&
report_enum
->
report_list
)
{
report
=
(
struct
hid_report
*
)
list
;
if
(
!
report
->
maxfield
)
if
(
!
report
->
maxfield
)
continue
;
continue
;
if
(
!
hidinput
)
{
hidinput
=
kmalloc
(
sizeof
(
*
hidinput
),
GFP_KERNEL
);
if
(
!
hidinput
)
{
if
(
!
hidinput
)
{
err
(
"Out of memory during hid input probe"
);
hidinput
=
kmalloc
(
sizeof
(
*
hidinput
),
GFP_KERNEL
);
return
-
1
;
if
(
!
hidinput
)
{
err
(
"Out of memory during hid input probe"
);
return
-
1
;
}
memset
(
hidinput
,
0
,
sizeof
(
*
hidinput
));
list_add_tail
(
&
hidinput
->
list
,
&
hid
->
inputs
);
hidinput
->
input
.
private
=
hid
;
hidinput
->
input
.
event
=
hidinput_input_event
;
hidinput
->
input
.
open
=
hidinput_open
;
hidinput
->
input
.
close
=
hidinput_close
;
hidinput
->
input
.
name
=
hid
->
name
;
hidinput
->
input
.
phys
=
hid
->
phys
;
hidinput
->
input
.
uniq
=
hid
->
uniq
;
hidinput
->
input
.
id
.
bustype
=
BUS_USB
;
hidinput
->
input
.
id
.
vendor
=
dev
->
descriptor
.
idVendor
;
hidinput
->
input
.
id
.
product
=
dev
->
descriptor
.
idProduct
;
hidinput
->
input
.
id
.
version
=
dev
->
descriptor
.
bcdDevice
;
}
}
memset
(
hidinput
,
0
,
sizeof
(
*
hidinput
));
list_add_tail
(
&
hidinput
->
list
,
&
hid
->
inputs
);
hidinput
->
input
.
private
=
hid
;
hidinput
->
input
.
event
=
hidinput_input_event
;
hidinput
->
input
.
open
=
hidinput_open
;
hidinput
->
input
.
close
=
hidinput_close
;
hidinput
->
input
.
name
=
hid
->
name
;
hidinput
->
input
.
phys
=
hid
->
phys
;
hidinput
->
input
.
uniq
=
hid
->
uniq
;
hidinput
->
input
.
id
.
bustype
=
BUS_USB
;
hidinput
->
input
.
id
.
vendor
=
dev
->
descriptor
.
idVendor
;
hidinput
->
input
.
id
.
product
=
dev
->
descriptor
.
idProduct
;
hidinput
->
input
.
id
.
version
=
dev
->
descriptor
.
bcdDevice
;
}
for
(
i
=
0
;
i
<
report
->
maxfield
;
i
++
)
for
(
i
=
0
;
i
<
report
->
maxfield
;
i
++
)
for
(
j
=
0
;
j
<
report
->
field
[
i
]
->
maxusage
;
j
++
)
for
(
j
=
0
;
j
<
report
->
field
[
i
]
->
maxusage
;
j
++
)
hidinput_configure_usage
(
hidinput
,
report
->
field
[
i
],
hidinput_configure_usage
(
hidinput
,
report
->
field
[
i
],
report
->
field
[
i
]
->
usage
+
j
);
report
->
field
[
i
]
->
usage
+
j
);
if
(
hid
->
quirks
&
HID_QUIRK_MULTI_INPUT
)
{
if
(
hid
->
quirks
&
HID_QUIRK_MULTI_INPUT
)
{
/* This will leave hidinput NULL, so that it
/* This will leave hidinput NULL, so that it
* allocates another one if we have more inputs on
* allocates another one if we have more inputs on
* the same interface. Some devices (e.g. Happ's
* the same interface. Some devices (e.g. Happ's
* UGCI) cram a lot of unrelated inputs into the
* UGCI) cram a lot of unrelated inputs into the
* same interface. */
* same interface. */
hidinput
->
fields
=
report
->
field
;
hidinput
->
report
=
report
;
hidinput
->
maxfield
=
report
->
maxfield
;
input_register_device
(
&
hidinput
->
input
);
hidinput
=
NULL
;
input_register_device
(
&
hidinput
->
input
);
}
hidinput
=
NULL
;
}
list
=
list
->
next
;
list
=
list
->
next
;
}
}
}
/* This only gets called when we are a single-input (most of the
/* This only gets called when we are a single-input (most of the
...
...
drivers/usb/input/hid.h
View file @
3ac7f581
...
@@ -324,8 +324,7 @@ struct hid_control_fifo {
...
@@ -324,8 +324,7 @@ struct hid_control_fifo {
struct
hid_input
{
struct
hid_input
{
struct
list_head
list
;
struct
list_head
list
;
struct
hid_field
**
fields
;
struct
hid_report
*
report
;
int
maxfield
;
struct
input_dev
input
;
struct
input_dev
input
;
};
};
...
...
drivers/usb/serial/empeg.c
View file @
3ac7f581
...
@@ -460,14 +460,15 @@ static void empeg_unthrottle (struct usb_serial_port *port)
...
@@ -460,14 +460,15 @@ static void empeg_unthrottle (struct usb_serial_port *port)
static
int
empeg_startup
(
struct
usb_serial
*
serial
)
static
int
empeg_startup
(
struct
usb_serial
*
serial
)
{
{
int
r
;
dbg
(
"%s"
,
__FUNCTION__
);
dbg
(
"%s"
,
__FUNCTION__
);
dbg
(
"%s - Set config to 1"
,
__FUNCTION__
);
dbg
(
"%s - Set config to 1"
,
__FUNCTION__
);
usb_set_configuration
(
serial
->
dev
,
1
);
r
=
usb_set_configuration
(
serial
->
dev
,
1
);
/* continue on with initialization */
/* continue on with initialization */
return
0
;
return
r
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment