Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 67374
b: refs/heads/master
c: e4533b2
h: refs/heads/master
v: v3
  • Loading branch information
David Woodhouse authored and Paul Mackerras committed Sep 22, 2007
1 parent 8847469 commit ef4f253
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c4d5e375470862fd741f93bf0686d7ac2f7fdce4
refs/heads/master: e4533b243e5e0c3a26287a902a1ed0f8f5b1cec0
25 changes: 25 additions & 0 deletions trunk/drivers/serial/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -986,6 +986,31 @@ config SERIAL_PMACZILOG
PowerMac machines.
Say Y or M if you want to be able to these serial ports.

config SERIAL_PMACZILOG_TTYS
bool "Use ttySn device nodes for Zilog z85c30"
depends on SERIAL_PMACZILOG
help
The pmac_zilog driver for the z85C30 chip on many powermacs
historically used the device numbers for /dev/ttySn. The
8250 serial port driver also uses these numbers, which means
the two drivers being unable to coexist; you could not use
both z85C30 and 8250 type ports at the same time.

If this option is not selected, the pmac_zilog driver will
use the device numbers allocated for /dev/ttyPZn. This allows
the pmac_zilog and 8250 drivers to co-exist, but may cause
existing userspace setups to break. Programs that need to
access the built-in serial ports on powermacs will need to
be reconfigured to use /dev/ttyPZn instead of /dev/ttySn.

If you enable this option, any z85c30 ports in the system will
be registered as ttyS0 onwards as in the past, and you will be
unable to use the 8250 module for PCMCIA or other 16C550-style
UARTs.

Say N unless you need the z85c30 ports on your powermac
to appear as /dev/ttySn.

config SERIAL_PMACZILOG_CONSOLE
bool "Console on PowerMac z85c30 serial port"
depends on SERIAL_PMACZILOG=y
Expand Down
20 changes: 15 additions & 5 deletions trunk/drivers/serial/pmac_zilog.c
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,16 @@ MODULE_LICENSE("GPL");

#define PWRDBG(fmt, arg...) printk(KERN_DEBUG fmt , ## arg)

#ifdef CONFIG_SERIAL_PMACZILOG_TTYS
#define PMACZILOG_MAJOR TTY_MAJOR
#define PMACZILOG_MINOR 64
#define PMACZILOG_NAME "ttyS"
#else
#define PMACZILOG_MAJOR 204
#define PMACZILOG_MINOR 192
#define PMACZILOG_NAME "ttyPZ"
#endif


/*
* For the sake of early serial console, we can do a pre-probe
Expand All @@ -99,9 +109,10 @@ static DEFINE_MUTEX(pmz_irq_mutex);

static struct uart_driver pmz_uart_reg = {
.owner = THIS_MODULE,
.driver_name = "ttyS",
.dev_name = "ttyS",
.major = TTY_MAJOR,
.driver_name = PMACZILOG_NAME,
.dev_name = PMACZILOG_NAME,
.major = PMACZILOG_MAJOR,
.minor = PMACZILOG_MINOR,
};


Expand Down Expand Up @@ -1778,7 +1789,7 @@ static void pmz_console_write(struct console *con, const char *s, unsigned int c
static int __init pmz_console_setup(struct console *co, char *options);

static struct console pmz_console = {
.name = "ttyS",
.name = PMACZILOG_NAME,
.write = pmz_console_write,
.device = uart_console_device,
.setup = pmz_console_setup,
Expand All @@ -1802,7 +1813,6 @@ static int __init pmz_register(void)

pmz_uart_reg.nr = pmz_ports_count;
pmz_uart_reg.cons = PMACZILOG_CONSOLE;
pmz_uart_reg.minor = 64;

/*
* Register this driver with the serial core
Expand Down

0 comments on commit ef4f253

Please sign in to comment.