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
078dfbd2
Commit
078dfbd2
authored
Jan 14, 2003
by
Greg Kroah-Hartman
Browse files
Options
Browse Files
Download
Plain Diff
Merge kroah.com:/home/linux/linux/BK/bleeding-2.5
into kroah.com:/home/linux/linux/BK/gregkh-2.5
parents
bae9a194
0f33aaa1
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
48 additions
and
30 deletions
+48
-30
MAINTAINERS
MAINTAINERS
+3
-3
drivers/usb/core/hcd.c
drivers/usb/core/hcd.c
+1
-1
drivers/usb/core/hcd.h
drivers/usb/core/hcd.h
+0
-3
drivers/usb/core/usb.c
drivers/usb/core/usb.c
+1
-0
drivers/usb/misc/speedtouch.c
drivers/usb/misc/speedtouch.c
+23
-22
drivers/usb/serial/bus.c
drivers/usb/serial/bus.c
+13
-0
drivers/usb/storage/scsiglue.c
drivers/usb/storage/scsiglue.c
+4
-0
include/linux/usb.h
include/linux/usb.h
+3
-1
No files found.
MAINTAINERS
View file @
078dfbd2
...
@@ -1901,11 +1901,11 @@ W: http://pegasus2.sourceforge.net/
...
@@ -1901,11 +1901,11 @@ W: http://pegasus2.sourceforge.net/
S: Maintained
S: Maintained
USB SCANNER DRIVER
USB SCANNER DRIVER
P:
Brian Beattie
P:
Henning Meier-Geinitz
M:
beattie@beattie-home.net
M:
henning@meier-geinitz.de
L: linux-usb-users@lists.sourceforge.net
L: linux-usb-users@lists.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
L: linux-usb-devel@lists.sourceforge.net
W: http://www.
beattie-home.net/linux
W: http://www.
meier-geinitz.de/kernel/
S: Maintained
S: Maintained
USB SE401 DRIVER
USB SE401 DRIVER
...
...
drivers/usb/core/hcd.c
View file @
078dfbd2
...
@@ -1001,7 +1001,7 @@ static int hcd_submit_urb (struct urb *urb, int mem_flags)
...
@@ -1001,7 +1001,7 @@ static int hcd_submit_urb (struct urb *urb, int mem_flags)
spin_lock_irqsave
(
&
hcd_data_lock
,
flags
);
spin_lock_irqsave
(
&
hcd_data_lock
,
flags
);
if
(
HCD_IS_RUNNING
(
hcd
->
state
)
&&
hcd
->
state
!=
USB_STATE_QUIESCING
)
{
if
(
HCD_IS_RUNNING
(
hcd
->
state
)
&&
hcd
->
state
!=
USB_STATE_QUIESCING
)
{
usb_get_dev
(
urb
->
dev
);
usb_get_dev
(
urb
->
dev
);
list_add
(
&
urb
->
urb_list
,
&
dev
->
urb_list
);
list_add
_tail
(
&
urb
->
urb_list
,
&
dev
->
urb_list
);
status
=
0
;
status
=
0
;
}
else
{
}
else
{
INIT_LIST_HEAD
(
&
urb
->
urb_list
);
INIT_LIST_HEAD
(
&
urb
->
urb_list
);
...
...
drivers/usb/core/hcd.h
View file @
078dfbd2
...
@@ -353,9 +353,6 @@ extern struct semaphore usb_bus_list_lock;
...
@@ -353,9 +353,6 @@ extern struct semaphore usb_bus_list_lock;
extern
void
usb_bus_get
(
struct
usb_bus
*
bus
);
extern
void
usb_bus_get
(
struct
usb_bus
*
bus
);
extern
void
usb_bus_put
(
struct
usb_bus
*
bus
);
extern
void
usb_bus_put
(
struct
usb_bus
*
bus
);
extern
struct
usb_interface
*
usb_ifnum_to_if
(
struct
usb_device
*
dev
,
unsigned
ifnum
);
extern
int
usb_find_interface_driver
(
struct
usb_device
*
dev
,
extern
int
usb_find_interface_driver
(
struct
usb_device
*
dev
,
struct
usb_interface
*
interface
);
struct
usb_interface
*
interface
);
...
...
drivers/usb/core/usb.c
View file @
078dfbd2
...
@@ -1484,6 +1484,7 @@ EXPORT_SYMBOL(usb_interface_claimed);
...
@@ -1484,6 +1484,7 @@ EXPORT_SYMBOL(usb_interface_claimed);
EXPORT_SYMBOL
(
usb_driver_release_interface
);
EXPORT_SYMBOL
(
usb_driver_release_interface
);
EXPORT_SYMBOL
(
usb_match_id
);
EXPORT_SYMBOL
(
usb_match_id
);
EXPORT_SYMBOL
(
usb_find_interface
);
EXPORT_SYMBOL
(
usb_find_interface
);
EXPORT_SYMBOL
(
usb_ifnum_to_if
);
EXPORT_SYMBOL
(
usb_new_device
);
EXPORT_SYMBOL
(
usb_new_device
);
EXPORT_SYMBOL
(
usb_reset_device
);
EXPORT_SYMBOL
(
usb_reset_device
);
...
...
drivers/usb/misc/speedtouch.c
View file @
078dfbd2
...
@@ -82,7 +82,7 @@
...
@@ -82,7 +82,7 @@
#endif
#endif
#define DRIVER_AUTHOR "Johan Verrept, Johan.Verrept@advalvas.be"
#define DRIVER_AUTHOR "Johan Verrept, Johan.Verrept@advalvas.be"
#define DRIVER_DESC "Driver for the Alcatel Speed
Touch USB ADSL modem"
#define DRIVER_DESC "Driver for the Alcatel SpeedTouch USB ADSL modem"
#define DRIVER_VERSION "1.5A"
#define DRIVER_VERSION "1.5A"
#define SPEEDTOUCH_VENDORID 0x06b9
#define SPEEDTOUCH_VENDORID 0x06b9
...
@@ -158,7 +158,7 @@ static const char udsl_driver_name[] = "Alcatel SpeedTouch USB";
...
@@ -158,7 +158,7 @@ static const char udsl_driver_name[] = "Alcatel SpeedTouch USB";
static
DECLARE_MUTEX
(
udsl_usb_ioctl_lock
);
static
DECLARE_MUTEX
(
udsl_usb_ioctl_lock
);
#ifdef DEBUG_PACKET
#ifdef DEBUG_PACKET
int
udsl_print_packet
(
const
unsigned
char
*
data
,
int
len
);
static
int
udsl_print_packet
(
const
unsigned
char
*
data
,
int
len
);
#endif
#endif
/*
/*
...
@@ -169,8 +169,8 @@ static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci);
...
@@ -169,8 +169,8 @@ static int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci);
static
void
udsl_atm_close
(
struct
atm_vcc
*
vcc
);
static
void
udsl_atm_close
(
struct
atm_vcc
*
vcc
);
static
int
udsl_atm_ioctl
(
struct
atm_dev
*
dev
,
unsigned
int
cmd
,
void
*
arg
);
static
int
udsl_atm_ioctl
(
struct
atm_dev
*
dev
,
unsigned
int
cmd
,
void
*
arg
);
static
int
udsl_atm_send
(
struct
atm_vcc
*
vcc
,
struct
sk_buff
*
skb
);
static
int
udsl_atm_send
(
struct
atm_vcc
*
vcc
,
struct
sk_buff
*
skb
);
int
udsl_atm_proc_read
(
struct
atm_dev
*
atm_dev
,
loff_t
*
pos
,
char
*
page
);
static
int
udsl_atm_proc_read
(
struct
atm_dev
*
atm_dev
,
loff_t
*
pos
,
char
*
page
);
void
udsl_atm_processqueue
(
unsigned
long
data
);
static
void
udsl_atm_processqueue
(
unsigned
long
data
);
static
struct
atmdev_ops
udsl_atm_devops
=
{
static
struct
atmdev_ops
udsl_atm_devops
=
{
.
open
=
udsl_atm_open
,
.
open
=
udsl_atm_open
,
...
@@ -190,7 +190,7 @@ struct udsl_atm_dev_data {
...
@@ -190,7 +190,7 @@ struct udsl_atm_dev_data {
static
int
udsl_usb_probe
(
struct
usb_interface
*
intf
,
static
int
udsl_usb_probe
(
struct
usb_interface
*
intf
,
const
struct
usb_device_id
*
id
);
const
struct
usb_device_id
*
id
);
static
void
udsl_usb_disconnect
(
struct
usb_interface
*
intf
);
static
void
udsl_usb_disconnect
(
struct
usb_interface
*
intf
);
int
udsl_usb_send_data
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
,
static
int
udsl_usb_send_data
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
,
struct
sk_buff
*
skb
);
struct
sk_buff
*
skb
);
static
int
udsl_usb_ioctl
(
struct
usb_interface
*
intf
,
unsigned
int
code
,
void
*
user_data
);
static
int
udsl_usb_ioctl
(
struct
usb_interface
*
intf
,
unsigned
int
code
,
void
*
user_data
);
static
int
udsl_usb_cancelsends
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
);
static
int
udsl_usb_cancelsends
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
);
...
@@ -213,8 +213,7 @@ static struct usb_driver udsl_usb_driver = {
...
@@ -213,8 +213,7 @@ static struct usb_driver udsl_usb_driver = {
*
*
****************************************************************************/
****************************************************************************/
struct
atm_dev
*
udsl_atm_startdevice
(
struct
udsl_instance_data
*
instance
,
static
struct
atm_dev
*
udsl_atm_startdevice
(
struct
udsl_instance_data
*
instance
,
struct
atmdev_ops
*
devops
)
struct
atmdev_ops
*
devops
)
{
{
MOD_INC_USE_COUNT
;
MOD_INC_USE_COUNT
;
instance
->
atm_dev
=
atm_dev_register
(
udsl_driver_name
,
devops
,
-
1
,
0
);
instance
->
atm_dev
=
atm_dev_register
(
udsl_driver_name
,
devops
,
-
1
,
0
);
...
@@ -231,7 +230,7 @@ struct atm_dev *udsl_atm_startdevice (struct udsl_instance_data *instance,
...
@@ -231,7 +230,7 @@ struct atm_dev *udsl_atm_startdevice (struct udsl_instance_data *instance,
return
instance
->
atm_dev
;
return
instance
->
atm_dev
;
}
}
void
udsl_atm_stopdevice
(
struct
udsl_instance_data
*
instance
)
static
void
udsl_atm_stopdevice
(
struct
udsl_instance_data
*
instance
)
{
{
struct
atm_vcc
*
walk
;
struct
atm_vcc
*
walk
;
struct
sk_buff
*
skb
;
struct
sk_buff
*
skb
;
...
@@ -257,7 +256,7 @@ void udsl_atm_stopdevice (struct udsl_instance_data *instance)
...
@@ -257,7 +256,7 @@ void udsl_atm_stopdevice (struct udsl_instance_data *instance)
MOD_DEC_USE_COUNT
;
MOD_DEC_USE_COUNT
;
}
}
void
udsl_atm_set_mac
(
struct
udsl_instance_data
*
instance
,
const
char
mac
[
6
])
static
void
udsl_atm_set_mac
(
struct
udsl_instance_data
*
instance
,
const
char
mac
[
6
])
{
{
if
(
!
instance
->
atm_dev
)
if
(
!
instance
->
atm_dev
)
return
;
return
;
...
@@ -270,7 +269,7 @@ void udsl_atm_set_mac (struct udsl_instance_data *instance, const char mac[6])
...
@@ -270,7 +269,7 @@ void udsl_atm_set_mac (struct udsl_instance_data *instance, const char mac[6])
* ATM helper functions
* ATM helper functions
*
*
****************************************************************************/
****************************************************************************/
struct
sk_buff
*
udsl_atm_alloc_tx
(
struct
atm_vcc
*
vcc
,
unsigned
int
size
)
st
atic
st
ruct
sk_buff
*
udsl_atm_alloc_tx
(
struct
atm_vcc
*
vcc
,
unsigned
int
size
)
{
{
struct
atmsar_vcc_data
*
atmsar_vcc
=
struct
atmsar_vcc_data
*
atmsar_vcc
=
((
struct
udsl_atm_dev_data
*
)
vcc
->
dev_data
)
->
atmsar_vcc
;
((
struct
udsl_atm_dev_data
*
)
vcc
->
dev_data
)
->
atmsar_vcc
;
...
@@ -282,13 +281,13 @@ struct sk_buff *udsl_atm_alloc_tx (struct atm_vcc *vcc, unsigned int size)
...
@@ -282,13 +281,13 @@ struct sk_buff *udsl_atm_alloc_tx (struct atm_vcc *vcc, unsigned int size)
return
NULL
;
return
NULL
;
}
}
int
udsl_atm_proc_read
(
struct
atm_dev
*
atm_dev
,
loff_t
*
pos
,
char
*
page
)
static
int
udsl_atm_proc_read
(
struct
atm_dev
*
atm_dev
,
loff_t
*
pos
,
char
*
page
)
{
{
struct
udsl_instance_data
*
instance
=
atm_dev
->
dev_data
;
struct
udsl_instance_data
*
instance
=
atm_dev
->
dev_data
;
int
left
=
*
pos
;
int
left
=
*
pos
;
if
(
!
left
--
)
if
(
!
left
--
)
return
sprintf
(
page
,
"Speed
Touch USB %s-%s (%02x:%02x:%02x:%02x:%02x:%02x)
\n
"
,
return
sprintf
(
page
,
"SpeedTouch USB %s-%s (%02x:%02x:%02x:%02x:%02x:%02x)
\n
"
,
instance
->
usb_dev
->
bus
->
bus_name
,
instance
->
usb_dev
->
devpath
,
instance
->
usb_dev
->
bus
->
bus_name
,
instance
->
usb_dev
->
devpath
,
atm_dev
->
esi
[
0
],
atm_dev
->
esi
[
1
],
atm_dev
->
esi
[
2
],
atm_dev
->
esi
[
0
],
atm_dev
->
esi
[
1
],
atm_dev
->
esi
[
2
],
atm_dev
->
esi
[
3
],
atm_dev
->
esi
[
4
],
atm_dev
->
esi
[
5
]);
atm_dev
->
esi
[
3
],
atm_dev
->
esi
[
4
],
atm_dev
->
esi
[
5
]);
...
@@ -317,7 +316,7 @@ int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t * pos, char *page)
...
@@ -317,7 +316,7 @@ int udsl_atm_proc_read (struct atm_dev *atm_dev, loff_t * pos, char *page)
* ATM DATA functions
* ATM DATA functions
*
*
****************************************************************************/
****************************************************************************/
int
udsl_atm_send
(
struct
atm_vcc
*
vcc
,
struct
sk_buff
*
skb
)
static
int
udsl_atm_send
(
struct
atm_vcc
*
vcc
,
struct
sk_buff
*
skb
)
{
{
struct
udsl_atm_dev_data
*
dev_data
=
vcc
->
dev_data
;
struct
udsl_atm_dev_data
*
dev_data
=
vcc
->
dev_data
;
struct
udsl_instance_data
*
instance
=
vcc
->
dev
->
dev_data
;
struct
udsl_instance_data
*
instance
=
vcc
->
dev
->
dev_data
;
...
@@ -361,7 +360,7 @@ int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb)
...
@@ -361,7 +360,7 @@ int udsl_atm_send (struct atm_vcc *vcc, struct sk_buff *skb)
};
};
void
udsl_atm_processqueue
(
unsigned
long
data
)
static
void
udsl_atm_processqueue
(
unsigned
long
data
)
{
{
struct
udsl_instance_data
*
instance
=
(
struct
udsl_instance_data
*
)
data
;
struct
udsl_instance_data
*
instance
=
(
struct
udsl_instance_data
*
)
data
;
struct
atmsar_vcc_data
*
atmsar_vcc
=
NULL
;
struct
atmsar_vcc_data
*
atmsar_vcc
=
NULL
;
...
@@ -420,7 +419,7 @@ void udsl_atm_processqueue (unsigned long data)
...
@@ -420,7 +419,7 @@ void udsl_atm_processqueue (unsigned long data)
* SAR driver entries
* SAR driver entries
*
*
****************************************************************************/
****************************************************************************/
int
udsl_atm_open
(
struct
atm_vcc
*
vcc
,
short
vpi
,
int
vci
)
static
int
udsl_atm_open
(
struct
atm_vcc
*
vcc
,
short
vpi
,
int
vci
)
{
{
struct
udsl_atm_dev_data
*
dev_data
;
struct
udsl_atm_dev_data
*
dev_data
;
struct
udsl_instance_data
*
instance
=
vcc
->
dev
->
dev_data
;
struct
udsl_instance_data
*
instance
=
vcc
->
dev
->
dev_data
;
...
@@ -458,7 +457,7 @@ int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci)
...
@@ -458,7 +457,7 @@ int udsl_atm_open (struct atm_vcc *vcc, short vpi, int vci)
return
0
;
return
0
;
}
}
void
udsl_atm_close
(
struct
atm_vcc
*
vcc
)
static
void
udsl_atm_close
(
struct
atm_vcc
*
vcc
)
{
{
struct
udsl_atm_dev_data
*
dev_data
=
vcc
->
dev_data
;
struct
udsl_atm_dev_data
*
dev_data
=
vcc
->
dev_data
;
struct
udsl_instance_data
*
instance
=
vcc
->
dev
->
dev_data
;
struct
udsl_instance_data
*
instance
=
vcc
->
dev
->
dev_data
;
...
@@ -485,7 +484,7 @@ void udsl_atm_close (struct atm_vcc *vcc)
...
@@ -485,7 +484,7 @@ void udsl_atm_close (struct atm_vcc *vcc)
return
;
return
;
};
};
int
udsl_atm_ioctl
(
struct
atm_dev
*
dev
,
unsigned
int
cmd
,
void
*
arg
)
static
int
udsl_atm_ioctl
(
struct
atm_dev
*
dev
,
unsigned
int
cmd
,
void
*
arg
)
{
{
switch
(
cmd
)
{
switch
(
cmd
)
{
case
ATM_QUERYLOOP
:
case
ATM_QUERYLOOP
:
...
@@ -538,7 +537,7 @@ static void udsl_usb_send_data_complete (struct urb *urb, struct pt_regs *regs)
...
@@ -538,7 +537,7 @@ static void udsl_usb_send_data_complete (struct urb *urb, struct pt_regs *regs)
ctx
->
skb
,
ctx
->
skb
->
len
,
err
);
ctx
->
skb
,
ctx
->
skb
->
len
,
err
);
}
}
int
udsl_usb_cancelsends
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
)
static
int
udsl_usb_cancelsends
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
)
{
{
int
i
;
int
i
;
...
@@ -558,7 +557,7 @@ int udsl_usb_cancelsends (struct udsl_instance_data *instance, struct atm_vcc *v
...
@@ -558,7 +557,7 @@ int udsl_usb_cancelsends (struct udsl_instance_data *instance, struct atm_vcc *v
}
}
/**** send ******/
/**** send ******/
int
udsl_usb_send_data
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
,
static
int
udsl_usb_send_data
(
struct
udsl_instance_data
*
instance
,
struct
atm_vcc
*
vcc
,
struct
sk_buff
*
skb
)
struct
sk_buff
*
skb
)
{
{
int
err
,
i
;
int
err
,
i
;
...
@@ -622,7 +621,7 @@ int udsl_usb_send_data (struct udsl_instance_data *instance, struct atm_vcc *vcc
...
@@ -622,7 +621,7 @@ int udsl_usb_send_data (struct udsl_instance_data *instance, struct atm_vcc *vcc
}
}
/********* receive *******/
/********* receive *******/
void
udsl_usb_data_receive
(
struct
urb
*
urb
,
struct
pt_regs
*
regs
)
static
void
udsl_usb_data_receive
(
struct
urb
*
urb
,
struct
pt_regs
*
regs
)
{
{
struct
udsl_data_ctx
*
ctx
;
struct
udsl_data_ctx
*
ctx
;
struct
udsl_instance_data
*
instance
;
struct
udsl_instance_data
*
instance
;
...
@@ -676,7 +675,7 @@ void udsl_usb_data_receive (struct urb *urb, struct pt_regs *regs)
...
@@ -676,7 +675,7 @@ void udsl_usb_data_receive (struct urb *urb, struct pt_regs *regs)
return
;
return
;
};
};
int
udsl_usb_data_init
(
struct
udsl_instance_data
*
instance
)
static
int
udsl_usb_data_init
(
struct
udsl_instance_data
*
instance
)
{
{
int
i
,
succes
;
int
i
,
succes
;
...
@@ -775,6 +774,8 @@ static int udsl_usb_data_exit (struct udsl_instance_data *instance)
...
@@ -775,6 +774,8 @@ static int udsl_usb_data_exit (struct udsl_instance_data *instance)
ctx
->
skb
=
NULL
;
ctx
->
skb
=
NULL
;
}
}
tasklet_kill
(
&
instance
->
recvqueue_tasklet
);
for
(
i
=
0
;
i
<
UDSL_NUMBER_SND_URBS
;
i
++
)
{
for
(
i
=
0
;
i
<
UDSL_NUMBER_SND_URBS
;
i
++
)
{
struct
udsl_usb_send_data_context
*
ctx
=
&
(
instance
->
send_ctx
[
i
]);
struct
udsl_usb_send_data_context
*
ctx
=
&
(
instance
->
send_ctx
[
i
]);
...
@@ -926,7 +927,7 @@ module_exit(udsl_usb_cleanup);
...
@@ -926,7 +927,7 @@ module_exit(udsl_usb_cleanup);
*
*
*******************************************************************************/
*******************************************************************************/
int
udsl_print_packet
(
const
unsigned
char
*
data
,
int
len
)
static
int
udsl_print_packet
(
const
unsigned
char
*
data
,
int
len
)
{
{
unsigned
char
buffer
[
256
];
unsigned
char
buffer
[
256
];
int
i
=
0
,
j
=
0
;
int
i
=
0
,
j
=
0
;
...
...
drivers/usb/serial/bus.c
View file @
078dfbd2
...
@@ -23,6 +23,17 @@
...
@@ -23,6 +23,17 @@
#include "usb-serial.h"
#include "usb-serial.h"
static
ssize_t
show_dev
(
struct
device
*
dev
,
char
*
buf
)
{
struct
usb_serial_port
*
port
=
to_usb_serial_port
(
dev
);
dev_t
base
;
port
=
to_usb_serial_port
(
dev
);
base
=
MKDEV
(
SERIAL_TTY_MAJOR
,
port
->
number
);
return
sprintf
(
buf
,
"%04x
\n
"
,
base
);
}
static
DEVICE_ATTR
(
dev
,
S_IRUGO
,
show_dev
,
NULL
);
static
int
usb_serial_device_match
(
struct
device
*
dev
,
struct
device_driver
*
drv
)
static
int
usb_serial_device_match
(
struct
device
*
dev
,
struct
device_driver
*
drv
)
{
{
...
@@ -79,6 +90,8 @@ static int usb_serial_device_probe (struct device *dev)
...
@@ -79,6 +90,8 @@ static int usb_serial_device_probe (struct device *dev)
minor
=
port
->
number
;
minor
=
port
->
number
;
tty_register_device
(
&
usb_serial_tty_driver
,
minor
);
tty_register_device
(
&
usb_serial_tty_driver
,
minor
);
device_create_file
(
dev
,
&
dev_attr_dev
);
dev_info
(
&
port
->
serial
->
dev
->
dev
,
dev_info
(
&
port
->
serial
->
dev
->
dev
,
"%s converter now attached to ttyUSB%d (or usb/tts/%d for devfs)
\n
"
,
"%s converter now attached to ttyUSB%d (or usb/tts/%d for devfs)
\n
"
,
driver
->
name
,
minor
,
minor
);
driver
->
name
,
minor
,
minor
);
...
...
drivers/usb/storage/scsiglue.c
View file @
078dfbd2
...
@@ -88,8 +88,12 @@ static int detect(struct SHT *sht)
...
@@ -88,8 +88,12 @@ static int detect(struct SHT *sht)
/* register the host */
/* register the host */
us
->
host
=
scsi_register
(
sht
,
sizeof
(
us
));
us
->
host
=
scsi_register
(
sht
,
sizeof
(
us
));
if
(
us
->
host
)
{
if
(
us
->
host
)
{
struct
usb_interface
*
iface
;
us
->
host
->
hostdata
[
0
]
=
(
unsigned
long
)
us
;
us
->
host
->
hostdata
[
0
]
=
(
unsigned
long
)
us
;
us
->
host_no
=
us
->
host
->
host_no
;
us
->
host_no
=
us
->
host
->
host_no
;
iface
=
usb_ifnum_to_if
(
us
->
pusb_dev
,
us
->
ifnum
);
if
(
iface
)
scsi_set_device
(
us
->
host
,
&
iface
->
dev
);
return
1
;
return
1
;
}
}
...
...
include/linux/usb.h
View file @
078dfbd2
...
@@ -277,7 +277,9 @@ extern void usb_driver_release_interface(struct usb_driver *driver,
...
@@ -277,7 +277,9 @@ extern void usb_driver_release_interface(struct usb_driver *driver,
const
struct
usb_device_id
*
usb_match_id
(
struct
usb_interface
*
interface
,
const
struct
usb_device_id
*
usb_match_id
(
struct
usb_interface
*
interface
,
const
struct
usb_device_id
*
id
);
const
struct
usb_device_id
*
id
);
struct
usb_interface
*
usb_find_interface
(
struct
usb_driver
*
drv
,
kdev_t
kdev
);
extern
struct
usb_interface
*
usb_find_interface
(
struct
usb_driver
*
drv
,
kdev_t
kdev
);
extern
struct
usb_interface
*
usb_ifnum_to_if
(
struct
usb_device
*
dev
,
unsigned
ifnum
);
/**
/**
* usb_make_path - returns stable device path in the usb tree
* usb_make_path - returns stable device path in the usb tree
...
...
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