patch-2.4.10 linux/drivers/macintosh/macserial.c
Next file: linux/drivers/macintosh/mediabay.c
Previous file: linux/drivers/macintosh/mac_keyb.c
Back to the patch index
Back to the overall index
- Lines: 229
- Date:
Sat Sep 8 12:38:42 2001
- Orig file:
v2.4.9/linux/drivers/macintosh/macserial.c
- Orig date:
Tue Jul 3 17:08:19 2001
diff -u --recursive --new-file v2.4.9/linux/drivers/macintosh/macserial.c linux/drivers/macintosh/macserial.c
@@ -32,7 +32,7 @@
#endif
#include <linux/slab.h>
-#include <asm/init.h>
+#include <asm/sections.h>
#include <asm/io.h>
#include <asm/pgtable.h>
#include <asm/irq.h>
@@ -185,9 +185,9 @@
dev_t device, const char *routine)
{
#ifdef SERIAL_PARANOIA_CHECK
- static const char *badmagic =
+ static const char badmagic[] = KERN_WARNING
"Warning: bad magic number for serial struct (%d, %d) in %s\n";
- static const char *badinfo =
+ static const char badinfo[] = KERN_WARNING
"Warning: null mac_serial for (%d, %d) in %s\n";
if (!info) {
@@ -418,7 +418,8 @@
if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
static int flip_buf_ovf;
if (++flip_buf_ovf <= 1)
- printk("FB. overflow: %d\n", flip_buf_ovf);
+ printk(KERN_WARNING "FB. overflow: %d\n",
+ flip_buf_ovf);
break;
}
tty->flip.count++;
@@ -513,7 +514,7 @@
if ((status & CTS) == 0) {
if (info->tx_stopped) {
#ifdef SERIAL_DEBUG_FLOW
- printk("CTS up\n");
+ printk(KERN_DEBUG "CTS up\n");
#endif
info->tx_stopped = 0;
if (!info->tx_active)
@@ -521,7 +522,7 @@
}
} else {
#ifdef SERIAL_DEBUG_FLOW
- printk("CTS down\n");
+ printk(KERN_DEBUG "CTS down\n");
#endif
info->tx_stopped = 1;
}
@@ -568,7 +569,8 @@
int shift;
if (!(info->flags & ZILOG_INITIALIZED)) {
- printk("rs_interrupt: irq %d, port not initialized\n", irq);
+ printk(KERN_WARNING "rs_interrupt: irq %d, port not "
+ "initialized\n", irq);
disable_irq(irq);
return;
}
@@ -589,7 +591,7 @@
for (;;) {
zs_intreg = read_zsreg(info->zs_chan_a, 3) >> shift;
#ifdef SERIAL_DEBUG_INTR
- printk("rs_interrupt: irq %d, zs_intreg 0x%x\n",
+ printk(KERN_DEBUG "rs_interrupt: irq %d, zs_intreg 0x%x\n",
irq, (int)zs_intreg);
#endif
@@ -662,7 +664,7 @@
struct mac_serial *info = (struct mac_serial *)tty->driver_data;
#ifdef SERIAL_DEBUG_STOP
- printk("rs_stop %ld....\n",
+ printk(KERN_DEBUG "rs_stop %ld....\n",
tty->ldisc.chars_in_buffer(tty));
#endif
@@ -686,7 +688,7 @@
unsigned long flags;
#ifdef SERIAL_DEBUG_STOP
- printk("rs_start %ld....\n",
+ printk(KERN_DEBUG "rs_start %ld....\n",
tty->ldisc.chars_in_buffer(tty));
#endif
@@ -1214,13 +1216,8 @@
else
feature_set(info->dev_node, FEATURE_Serial_IO_B);
delay = 10;
- if (info->is_cobalt_modem){
- mdelay(300);
- feature_set(info->dev_node, FEATURE_Modem_power);
- mdelay(5);
- feature_clear(info->dev_node, FEATURE_Modem_power);
- mdelay(10);
- feature_set(info->dev_node, FEATURE_Modem_power);
+ if (info->is_cobalt_modem) {
+ feature_set_modem_power(info->dev_node, 1);
delay = 2500; /* wait for 2.5s before using */
}
#ifdef CONFIG_PMAC_PBOOK
@@ -1228,11 +1225,13 @@
pmu_enable_irled(1);
#endif /* CONFIG_PMAC_PBOOK */
} else {
+ /* TODO: Make that depend on a timer, don't power down
+ * immediately
+ */
PWRDBG("ttyS%02d: shutting down hardware\n", info->line);
if (info->is_cobalt_modem) {
PWRDBG("ttyS%02d: shutting down modem\n", info->line);
- feature_clear(info->dev_node, FEATURE_Modem_power);
- mdelay(10);
+ feature_set_modem_power(info->dev_node, 0);
}
#ifdef CONFIG_PMAC_PBOOK
if (info->is_irda)
@@ -1648,7 +1647,7 @@
struct mac_serial *info = (struct mac_serial *)tty->driver_data;
unsigned long flags;
#ifdef SERIAL_DEBUG_THROTTLE
- printk("throttle %ld....\n",tty->ldisc.chars_in_buffer(tty));
+ printk(KERN_DEBUG "throttle %ld....\n",tty->ldisc.chars_in_buffer(tty));
#endif
if (serial_paranoia_check(info, tty->device, "rs_throttle"))
@@ -1701,7 +1700,8 @@
struct mac_serial *info = (struct mac_serial *)tty->driver_data;
unsigned long flags;
#ifdef SERIAL_DEBUG_THROTTLE
- printk("unthrottle %s: %d....\n",tty->ldisc.chars_in_buffer(tty));
+ printk(KERN_DEBUG "unthrottle %s: %d....\n",
+ tty->ldisc.chars_in_buffer(tty));
#endif
if (serial_paranoia_check(info, tty->device, "rs_unthrottle"))
@@ -1855,13 +1855,11 @@
static int set_modem_info(struct mac_serial *info, unsigned int cmd,
unsigned int *value)
{
- int error;
unsigned int arg, bits;
unsigned long flags;
- error = get_user(arg, value);
- if (error)
- return error;
+ if (get_user(arg, value))
+ return -EFAULT;
bits = (arg & TIOCM_RTS? RTS: 0) + (arg & TIOCM_DTR? DTR: 0);
save_flags(flags); cli();
switch (cmd) {
@@ -2000,13 +1998,13 @@
* one, we've got real problems, since it means the
* serial port won't be shutdown.
*/
- printk("rs_close: bad serial port count; tty->count is 1, "
- "info->count is %d\n", info->count);
+ printk(KERN_ERR "rs_close: bad serial port count; tty->count "
+ "is 1, info->count is %d\n", info->count);
info->count = 1;
}
if (--info->count < 0) {
- printk("rs_close: bad serial port count for ttys%d: %d\n",
- info->line, info->count);
+ printk(KERN_ERR "rs_close: bad serial port count for "
+ "ttys%d: %d\n", info->line, info->count);
info->count = 0;
}
if (info->count) {
@@ -2104,14 +2102,16 @@
* interval should also be less than the timeout.
*/
if (info->timeout <= HZ/50) {
- printk("macserial: invalid info->timeout=%d\n", info->timeout);
+ printk(KERN_INFO "macserial: invalid info->timeout=%d\n",
+ info->timeout);
info->timeout = HZ/50+1;
}
char_time = (info->timeout - HZ/50) / info->xmit_fifo_size;
char_time = char_time / 5;
if (char_time > HZ) {
- printk("macserial: char_time %ld >HZ !!!\n", char_time);
+ printk(KERN_WARNING "macserial: char_time %ld >HZ !!!\n",
+ char_time);
char_time = 1;
} else if (char_time == 0)
char_time = 1;
@@ -2374,7 +2374,7 @@
static void show_serial_version(void)
{
- printk("PowerMac Z8530 serial driver version 2.0\n");
+ printk(KERN_INFO "PowerMac Z8530 serial driver version 2.0\n");
}
/*
@@ -2461,8 +2461,8 @@
nchan = 0;
chip = n;
if (n >= NUM_CHANNELS) {
- printk("Sorry, can't use %s: no more channels\n",
- dev->full_name);
+ printk(KERN_WARNING "Sorry, can't use %s: no more "
+ "channels\n", dev->full_name);
continue;
}
chan_a_index = 0;
@@ -2631,7 +2631,8 @@
/* If console serial line, then enable interrupts. */
if (zs_soft[channel].is_cons) {
- printk("macserial: console line, enabling interrupt %d\n", zs_soft[channel].irq);
+ printk(KERN_INFO "macserial: console line, enabling "
+ "interrupt %d\n", zs_soft[channel].irq);
panic("macserial: console not supported yet !");
write_zsreg(zs_soft[channel].zs_channel, R1,
(EXT_INT_ENAB | INT_ALL_Rx | TxINT_ENAB));
@@ -2669,7 +2670,7 @@
init_waitqueue_head(&info->open_wait);
init_waitqueue_head(&info->close_wait);
info->timeout = HZ;
- printk("tty%02d at 0x%08x (irq = %d)", info->line,
+ printk(KERN_INFO "tty%02d at 0x%08x (irq = %d)", info->line,
info->port, info->irq);
printk(" is a Z8530 ESCC");
connector = get_property(info->dev_node, "AAPL,connector", &lenp);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)