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
7f729ccf
Commit
7f729ccf
authored
Nov 13, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/home/rmk/linux-2.6-serial
parents
cbc74951
ee31b337
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
82 additions
and
65 deletions
+82
-65
drivers/serial/8250.c
drivers/serial/8250.c
+4
-1
drivers/serial/8250_pnp.c
drivers/serial/8250_pnp.c
+2
-0
drivers/serial/dz.c
drivers/serial/dz.c
+24
-24
drivers/serial/mpc52xx_uart.c
drivers/serial/mpc52xx_uart.c
+2
-2
drivers/serial/sa1100.c
drivers/serial/sa1100.c
+1
-3
drivers/serial/serial_core.c
drivers/serial/serial_core.c
+49
-35
No files found.
drivers/serial/8250.c
View file @
7f729ccf
...
@@ -999,6 +999,9 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags)
...
@@ -999,6 +999,9 @@ static void autoconfig(struct uart_8250_port *up, unsigned int probeflags)
serial_outp
(
up
,
UART_MCR
,
save_mcr
);
serial_outp
(
up
,
UART_MCR
,
save_mcr
);
serial8250_clear_fifos
(
up
);
serial8250_clear_fifos
(
up
);
(
void
)
serial_in
(
up
,
UART_RX
);
(
void
)
serial_in
(
up
,
UART_RX
);
if
(
up
->
capabilities
&
UART_CAP_UUE
)
serial_outp
(
up
,
UART_IER
,
UART_IER_UUE
);
else
serial_outp
(
up
,
UART_IER
,
0
);
serial_outp
(
up
,
UART_IER
,
0
);
out:
out:
...
...
drivers/serial/8250_pnp.c
View file @
7f729ccf
...
@@ -323,6 +323,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
...
@@ -323,6 +323,8 @@ static const struct pnp_device_id pnp_dev_table[] = {
{
"USR9180"
,
0
},
{
"USR9180"
,
0
},
/* U.S. Robotics 56K Voice INT PnP*/
/* U.S. Robotics 56K Voice INT PnP*/
{
"USR9190"
,
0
},
{
"USR9190"
,
0
},
/* HP Compaq Tablet PC tc1100 Wacom tablet */
{
"WACF005"
,
0
},
/* Rockwell's (PORALiNK) 33600 INT PNP */
/* Rockwell's (PORALiNK) 33600 INT PNP */
{
"WCI0003"
,
0
},
{
"WCI0003"
,
0
},
/* Unkown PnP modems */
/* Unkown PnP modems */
...
...
drivers/serial/dz.c
View file @
7f729ccf
...
@@ -645,9 +645,9 @@ static void __init dz_init_ports(void)
...
@@ -645,9 +645,9 @@ static void __init dz_init_ports(void)
if
(
mips_machtype
==
MACH_DS23100
||
if
(
mips_machtype
==
MACH_DS23100
||
mips_machtype
==
MACH_DS5100
)
mips_machtype
==
MACH_DS5100
)
base
=
(
unsigned
long
)
KN01_DZ11_BASE
;
base
=
CKSEG1ADDR
(
KN01_SLOT_BASE
+
KN01_DZ11
)
;
else
else
base
=
(
unsigned
long
)
KN02_DZ11_BASE
;
base
=
CKSEG1ADDR
(
KN02_SLOT_BASE
+
KN02_DZ11
)
;
for
(
i
=
0
,
dport
=
dz_ports
;
i
<
DZ_NB_PORT
;
i
++
,
dport
++
)
{
for
(
i
=
0
,
dport
=
dz_ports
;
i
<
DZ_NB_PORT
;
i
++
,
dport
++
)
{
spin_lock_init
(
&
dport
->
port
.
lock
);
spin_lock_init
(
&
dport
->
port
.
lock
);
...
...
drivers/serial/mpc52xx_uart.c
View file @
7f729ccf
...
@@ -725,7 +725,7 @@ mpc52xx_uart_probe(struct platform_device *dev)
...
@@ -725,7 +725,7 @@ mpc52xx_uart_probe(struct platform_device *dev)
int
i
,
idx
,
ret
;
int
i
,
idx
,
ret
;
/* Check validity & presence */
/* Check validity & presence */
idx
=
p
dev
->
id
;
idx
=
dev
->
id
;
if
(
idx
<
0
||
idx
>=
MPC52xx_PSC_MAXNUM
)
if
(
idx
<
0
||
idx
>=
MPC52xx_PSC_MAXNUM
)
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -748,7 +748,7 @@ mpc52xx_uart_probe(struct platform_device *dev)
...
@@ -748,7 +748,7 @@ mpc52xx_uart_probe(struct platform_device *dev)
port
->
ops
=
&
mpc52xx_uart_ops
;
port
->
ops
=
&
mpc52xx_uart_ops
;
/* Search for IRQ and mapbase */
/* Search for IRQ and mapbase */
for
(
i
=
0
;
i
<
p
dev
->
num_resources
;
i
++
,
res
++
)
{
for
(
i
=
0
;
i
<
dev
->
num_resources
;
i
++
,
res
++
)
{
if
(
res
->
flags
&
IORESOURCE_MEM
)
if
(
res
->
flags
&
IORESOURCE_MEM
)
port
->
mapbase
=
res
->
start
;
port
->
mapbase
=
res
->
start
;
else
if
(
res
->
flags
&
IORESOURCE_IRQ
)
else
if
(
res
->
flags
&
IORESOURCE_IRQ
)
...
...
drivers/serial/sa1100.c
View file @
7f729ccf
...
@@ -156,7 +156,7 @@ static void sa1100_stop_tx(struct uart_port *port)
...
@@ -156,7 +156,7 @@ static void sa1100_stop_tx(struct uart_port *port)
}
}
/*
/*
*
interrupts may not be disabled on entry
*
port locked and interrupts disabled
*/
*/
static
void
sa1100_start_tx
(
struct
uart_port
*
port
)
static
void
sa1100_start_tx
(
struct
uart_port
*
port
)
{
{
...
@@ -164,11 +164,9 @@ static void sa1100_start_tx(struct uart_port *port)
...
@@ -164,11 +164,9 @@ static void sa1100_start_tx(struct uart_port *port)
unsigned
long
flags
;
unsigned
long
flags
;
u32
utcr3
;
u32
utcr3
;
spin_lock_irqsave
(
&
sport
->
port
.
lock
,
flags
);
utcr3
=
UART_GET_UTCR3
(
sport
);
utcr3
=
UART_GET_UTCR3
(
sport
);
sport
->
port
.
read_status_mask
|=
UTSR0_TO_SM
(
UTSR0_TFS
);
sport
->
port
.
read_status_mask
|=
UTSR0_TO_SM
(
UTSR0_TFS
);
UART_PUT_UTCR3
(
sport
,
utcr3
|
UTCR3_TIE
);
UART_PUT_UTCR3
(
sport
,
utcr3
|
UTCR3_TIE
);
spin_unlock_irqrestore
(
&
sport
->
port
.
lock
,
flags
);
}
}
/*
/*
...
...
drivers/serial/serial_core.c
View file @
7f729ccf
...
@@ -209,8 +209,14 @@ static void uart_shutdown(struct uart_state *state)
...
@@ -209,8 +209,14 @@ static void uart_shutdown(struct uart_state *state)
struct
uart_info
*
info
=
state
->
info
;
struct
uart_info
*
info
=
state
->
info
;
struct
uart_port
*
port
=
state
->
port
;
struct
uart_port
*
port
=
state
->
port
;
if
(
!
(
info
->
flags
&
UIF_INITIALIZED
))
/*
return
;
* Set the TTY IO error marker
*/
if
(
info
->
tty
)
set_bit
(
TTY_IO_ERROR
,
&
info
->
tty
->
flags
);
if
(
info
->
flags
&
UIF_INITIALIZED
)
{
info
->
flags
&=
~
UIF_INITIALIZED
;
/*
/*
* Turn off DTR and RTS early.
* Turn off DTR and RTS early.
...
@@ -236,6 +242,12 @@ static void uart_shutdown(struct uart_state *state)
...
@@ -236,6 +242,12 @@ static void uart_shutdown(struct uart_state *state)
* Ensure that the IRQ handler isn't running on another CPU.
* Ensure that the IRQ handler isn't running on another CPU.
*/
*/
synchronize_irq
(
port
->
irq
);
synchronize_irq
(
port
->
irq
);
}
/*
* kill off our tasklet
*/
tasklet_kill
(
&
info
->
tlet
);
/*
/*
* Free the transmit buffer page.
* Free the transmit buffer page.
...
@@ -244,15 +256,6 @@ static void uart_shutdown(struct uart_state *state)
...
@@ -244,15 +256,6 @@ static void uart_shutdown(struct uart_state *state)
free_page
((
unsigned
long
)
info
->
xmit
.
buf
);
free_page
((
unsigned
long
)
info
->
xmit
.
buf
);
info
->
xmit
.
buf
=
NULL
;
info
->
xmit
.
buf
=
NULL
;
}
}
/*
* kill off our tasklet
*/
tasklet_kill
(
&
info
->
tlet
);
if
(
info
->
tty
)
set_bit
(
TTY_IO_ERROR
,
&
info
->
tty
->
flags
);
info
->
flags
&=
~
UIF_INITIALIZED
;
}
}
/**
/**
...
@@ -1928,14 +1931,25 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port)
...
@@ -1928,14 +1931,25 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port)
if
(
state
->
info
&&
state
->
info
->
flags
&
UIF_INITIALIZED
)
{
if
(
state
->
info
&&
state
->
info
->
flags
&
UIF_INITIALIZED
)
{
struct
uart_ops
*
ops
=
port
->
ops
;
struct
uart_ops
*
ops
=
port
->
ops
;
int
ret
;
ops
->
set_mctrl
(
port
,
0
);
ops
->
set_mctrl
(
port
,
0
);
ops
->
startup
(
port
);
ret
=
ops
->
startup
(
port
);
if
(
ret
==
0
)
{
uart_change_speed
(
state
,
NULL
);
uart_change_speed
(
state
,
NULL
);
spin_lock_irq
(
&
port
->
lock
);
spin_lock_irq
(
&
port
->
lock
);
ops
->
set_mctrl
(
port
,
port
->
mctrl
);
ops
->
set_mctrl
(
port
,
port
->
mctrl
);
ops
->
start_tx
(
port
);
ops
->
start_tx
(
port
);
spin_unlock_irq
(
&
port
->
lock
);
spin_unlock_irq
(
&
port
->
lock
);
}
else
{
/*
* Failed to resume - maybe hardware went away?
* Clear the "initialized" flag so we won't try
* to call the low level drivers shutdown method.
*/
state
->
info
->
flags
&=
~
UIF_INITIALIZED
;
uart_shutdown
(
state
);
}
}
}
up
(
&
state
->
sem
);
up
(
&
state
->
sem
);
...
...
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