Commit 3da38566 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6

parents 7c4d3367 959a85ad
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.15 # Linux kernel version: 2.6.16-rc1
# Mon Jan 9 14:36:29 2006 # Wed Jan 18 13:41:02 2006
# #
CONFIG_SPARC=y CONFIG_SPARC=y
CONFIG_SPARC64=y CONFIG_SPARC64=y
...@@ -233,6 +233,11 @@ CONFIG_VLAN_8021Q=m ...@@ -233,6 +233,11 @@ CONFIG_VLAN_8021Q=m
# CONFIG_ATALK is not set # CONFIG_ATALK is not set
# CONFIG_X25 is not set # CONFIG_X25 is not set
# CONFIG_LAPB is not set # CONFIG_LAPB is not set
#
# TIPC Configuration (EXPERIMENTAL)
#
# CONFIG_TIPC is not set
# CONFIG_NET_DIVERT is not set # CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
...@@ -420,8 +425,7 @@ CONFIG_ISCSI_TCP=m ...@@ -420,8 +425,7 @@ CONFIG_ISCSI_TCP=m
# CONFIG_SCSI_QLOGIC_FC is not set # CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLOGICPTI is not set # CONFIG_SCSI_QLOGICPTI is not set
CONFIG_SCSI_QLA2XXX=y # CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE is not set
# CONFIG_SCSI_LPFC is not set # CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_DC390T is not set
...@@ -653,7 +657,6 @@ CONFIG_SERIAL_SUNSU_CONSOLE=y ...@@ -653,7 +657,6 @@ CONFIG_SERIAL_SUNSU_CONSOLE=y
CONFIG_SERIAL_SUNSAB=m CONFIG_SERIAL_SUNSAB=m
CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_PTYS is not set
...@@ -738,6 +741,12 @@ CONFIG_I2C_ALGOBIT=y ...@@ -738,6 +741,12 @@ CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set # CONFIG_I2C_DEBUG_CHIP is not set
#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# #
# Dallas's 1-wire bus # Dallas's 1-wire bus
# #
...@@ -1015,6 +1024,7 @@ CONFIG_USB_UHCI_HCD=m ...@@ -1015,6 +1024,7 @@ CONFIG_USB_UHCI_HCD=m
# #
CONFIG_USB_HID=y CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT=y CONFIG_USB_HIDINPUT=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set # CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y CONFIG_USB_HIDDEV=y
# CONFIG_USB_AIPTEK is not set # CONFIG_USB_AIPTEK is not set
...@@ -1269,12 +1279,13 @@ CONFIG_KPROBES=y ...@@ -1269,12 +1279,13 @@ CONFIG_KPROBES=y
# Kernel hacking # Kernel hacking
# #
CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_LOG_BUF_SHIFT=18 CONFIG_LOG_BUF_SHIFT=18
CONFIG_DETECT_SOFTLOCKUP=y CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHEDSTATS=y CONFIG_SCHEDSTATS=y
# CONFIG_DEBUG_SLAB is not set # CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set # CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_DEBUG_KOBJECT is not set # CONFIG_DEBUG_KOBJECT is not set
...@@ -1282,6 +1293,7 @@ CONFIG_DEBUG_BUGVERBOSE=y ...@@ -1282,6 +1293,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set # CONFIG_DEBUG_INFO is not set
CONFIG_DEBUG_FS=y CONFIG_DEBUG_FS=y
# CONFIG_DEBUG_VM is not set # CONFIG_DEBUG_VM is not set
CONFIG_FORCED_INLINING=y
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_DCFLUSH is not set # CONFIG_DEBUG_DCFLUSH is not set
......
...@@ -164,6 +164,7 @@ void machine_restart(char * cmd) ...@@ -164,6 +164,7 @@ void machine_restart(char * cmd)
panic("Reboot failed!"); panic("Reboot failed!");
} }
#ifdef CONFIG_COMPAT
static void show_regwindow32(struct pt_regs *regs) static void show_regwindow32(struct pt_regs *regs)
{ {
struct reg_window32 __user *rw; struct reg_window32 __user *rw;
...@@ -189,6 +190,9 @@ static void show_regwindow32(struct pt_regs *regs) ...@@ -189,6 +190,9 @@ static void show_regwindow32(struct pt_regs *regs)
r_w.ins[0], r_w.ins[1], r_w.ins[2], r_w.ins[3], r_w.ins[0], r_w.ins[1], r_w.ins[2], r_w.ins[3],
r_w.ins[4], r_w.ins[5], r_w.ins[6], r_w.ins[7]); r_w.ins[4], r_w.ins[5], r_w.ins[6], r_w.ins[7]);
} }
#else
#define show_regwindow32(regs) do { } while (0)
#endif
static void show_regwindow(struct pt_regs *regs) static void show_regwindow(struct pt_regs *regs)
{ {
......
...@@ -561,6 +561,8 @@ static int __init set_preferred_console(void) ...@@ -561,6 +561,8 @@ static int __init set_preferred_console(void)
serial_console = 1; serial_console = 1;
} else if (idev == PROMDEV_ITTYB && odev == PROMDEV_OTTYB) { } else if (idev == PROMDEV_ITTYB && odev == PROMDEV_OTTYB) {
serial_console = 2; serial_console = 2;
} else if (idev == PROMDEV_IRSC && odev == PROMDEV_ORSC) {
serial_console = 3;
} else { } else {
prom_printf("Inconsistent console: " prom_printf("Inconsistent console: "
"input %d, output %d\n", "input %d, output %d\n",
......
...@@ -99,8 +99,12 @@ prom_query_input_device(void) ...@@ -99,8 +99,12 @@ prom_query_input_device(void)
if (!strncmp(propb, "keyboard", 8)) if (!strncmp(propb, "keyboard", 8))
return PROMDEV_ITTYA; return PROMDEV_ITTYA;
if (!strncmp (propb, "rsc", 3))
return PROMDEV_IRSC;
if (strncmp (propb, "tty", 3) || !propb[3]) if (strncmp (propb, "tty", 3) || !propb[3])
return PROMDEV_I_UNK; return PROMDEV_I_UNK;
switch (propb[3]) { switch (propb[3]) {
case 'a': return PROMDEV_ITTYA; case 'a': return PROMDEV_ITTYA;
case 'b': return PROMDEV_ITTYB; case 'b': return PROMDEV_ITTYB;
...@@ -136,8 +140,12 @@ prom_query_output_device(void) ...@@ -136,8 +140,12 @@ prom_query_output_device(void)
if (!strncmp(propb, "screen", 6)) if (!strncmp(propb, "screen", 6))
return PROMDEV_OTTYA; return PROMDEV_OTTYA;
if (!strncmp (propb, "rsc", 3))
return PROMDEV_ORSC;
if (strncmp (propb, "tty", 3) || !propb[3]) if (strncmp (propb, "tty", 3) || !propb[3])
return PROMDEV_O_UNK; return PROMDEV_O_UNK;
switch (propb[3]) { switch (propb[3]) {
case 'a': return PROMDEV_OTTYA; case 'a': return PROMDEV_OTTYA;
case 'b': return PROMDEV_OTTYB; case 'b': return PROMDEV_OTTYB;
......
...@@ -34,6 +34,7 @@ sunserial_console_termios(struct console *con) ...@@ -34,6 +34,7 @@ sunserial_console_termios(struct console *con)
char *mode_prop = "ttyX-mode"; char *mode_prop = "ttyX-mode";
char *cd_prop = "ttyX-ignore-cd"; char *cd_prop = "ttyX-ignore-cd";
char *dtr_prop = "ttyX-rts-dtr-off"; char *dtr_prop = "ttyX-rts-dtr-off";
char *ssp_console_modes_prop = "ssp-console-modes";
int baud, bits, stop, cflag; int baud, bits, stop, cflag;
char parity; char parity;
int carrier = 0; int carrier = 0;
...@@ -43,14 +44,39 @@ sunserial_console_termios(struct console *con) ...@@ -43,14 +44,39 @@ sunserial_console_termios(struct console *con)
if (!serial_console) if (!serial_console)
return; return;
if (serial_console == 1) { switch (serial_console) {
case PROMDEV_OTTYA:
mode_prop[3] = 'a'; mode_prop[3] = 'a';
cd_prop[3] = 'a'; cd_prop[3] = 'a';
dtr_prop[3] = 'a'; dtr_prop[3] = 'a';
} else { break;
case PROMDEV_OTTYB:
mode_prop[3] = 'b'; mode_prop[3] = 'b';
cd_prop[3] = 'b'; cd_prop[3] = 'b';
dtr_prop[3] = 'b'; dtr_prop[3] = 'b';
break;
case PROMDEV_ORSC:
nd = prom_pathtoinode("rsc");
if (!nd) {
strcpy(mode, "115200,8,n,1,-");
goto no_options;
}
if (!prom_node_has_property(nd, ssp_console_modes_prop)) {
strcpy(mode, "115200,8,n,1,-");
goto no_options;
}
memset(mode, 0, sizeof(mode));
prom_getstring(nd, ssp_console_modes_prop, mode, sizeof(mode));
goto no_options;
default:
strcpy(mode, "9600,8,n,1,-");
goto no_options;
} }
topnd = prom_getchild(prom_root_node); topnd = prom_getchild(prom_root_node);
...@@ -110,6 +136,10 @@ sunserial_console_termios(struct console *con) ...@@ -110,6 +136,10 @@ sunserial_console_termios(struct console *con)
case 9600: cflag |= B9600; break; case 9600: cflag |= B9600; break;
case 19200: cflag |= B19200; break; case 19200: cflag |= B19200; break;
case 38400: cflag |= B38400; break; case 38400: cflag |= B38400; break;
case 57600: cflag |= B57600; break;
case 115200: cflag |= B115200; break;
case 230400: cflag |= B230400; break;
case 460800: cflag |= B460800; break;
default: baud = 9600; cflag |= B9600; break; default: baud = 9600; cflag |= B9600; break;
} }
......
...@@ -897,9 +897,6 @@ static int sunsab_console_setup(struct console *con, char *options) ...@@ -897,9 +897,6 @@ static int sunsab_console_setup(struct console *con, char *options)
sunserial_console_termios(con); sunserial_console_termios(con);
/* Firmware console speed is limited to 150-->38400 baud so
* this hackish cflag thing is OK.
*/
switch (con->cflag & CBAUD) { switch (con->cflag & CBAUD) {
case B150: baud = 150; break; case B150: baud = 150; break;
case B300: baud = 300; break; case B300: baud = 300; break;
...@@ -910,6 +907,10 @@ static int sunsab_console_setup(struct console *con, char *options) ...@@ -910,6 +907,10 @@ static int sunsab_console_setup(struct console *con, char *options)
default: case B9600: baud = 9600; break; default: case B9600: baud = 9600; break;
case B19200: baud = 19200; break; case B19200: baud = 19200; break;
case B38400: baud = 38400; break; case B38400: baud = 38400; break;
case B57600: baud = 57600; break;
case B115200: baud = 115200; break;
case B230400: baud = 230400; break;
case B460800: baud = 460800; break;
}; };
/* /*
......
...@@ -163,6 +163,7 @@ enum prom_input_device { ...@@ -163,6 +163,7 @@ enum prom_input_device {
PROMDEV_IKBD, /* input from keyboard */ PROMDEV_IKBD, /* input from keyboard */
PROMDEV_ITTYA, /* input from ttya */ PROMDEV_ITTYA, /* input from ttya */
PROMDEV_ITTYB, /* input from ttyb */ PROMDEV_ITTYB, /* input from ttyb */
PROMDEV_IRSC, /* input from rsc */
PROMDEV_I_UNK, PROMDEV_I_UNK,
}; };
...@@ -174,6 +175,7 @@ enum prom_output_device { ...@@ -174,6 +175,7 @@ enum prom_output_device {
PROMDEV_OSCREEN, /* to screen */ PROMDEV_OSCREEN, /* to screen */
PROMDEV_OTTYA, /* to ttya */ PROMDEV_OTTYA, /* to ttya */
PROMDEV_OTTYB, /* to ttyb */ PROMDEV_OTTYB, /* to ttyb */
PROMDEV_ORSC, /* to rsc */
PROMDEV_O_UNK, PROMDEV_O_UNK,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment