LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c
@ 2007-10-23 22:36 Jeff Garzik
2007-10-23 22:36 ` [PATCH 2/12] X86: fix nvidia HPET warning Jeff Garzik
` (13 more replies)
0 siblings, 14 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, tglx
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 871 bytes --]
Fix !CONFIG_SMP warning:
arch/x86/kernel/acpi/processor.c: In function ‘arch_acpi_processor_init_pdc’:
arch/x86/kernel/acpi/processor.c:65: warning: unused variable ‘cpu’
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
Ideally this warning should be hidden inside a wrapper or somesuch, to
camouflage the unneeded argument in !SMP case.
diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
index 2ed0a4c..45e262a 100644
--- a/arch/x86/kernel/acpi/processor.c
+++ b/arch/x86/kernel/acpi/processor.c
@@ -62,7 +62,9 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
/* Initialize _PDC data based on the CPU vendor */
void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
{
+#ifdef CONFIG_SMP
unsigned int cpu = pr->id;
+#endif
struct cpuinfo_x86 *c = &cpu_data(cpu);
pr->pdc = NULL;
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 2/12] X86: fix nvidia HPET warning
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-24 4:05 ` Jeremy Fitzhardinge
2007-10-24 12:03 ` Ingo Molnar
2007-10-23 22:36 ` [PATCH 3/12] ACPI sbs: fix retval warning Jeff Garzik
` (12 subsequent siblings)
13 siblings, 2 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, tglx
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 631 bytes --]
arch/x86/kernel/early-quirks.c:40: warning: ‘nvidia_hpet_check’ defined but not used
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
index dc34acb..639e632 100644
--- a/arch/x86/kernel/early-quirks.c
+++ b/arch/x86/kernel/early-quirks.c
@@ -35,12 +35,14 @@ static void __init via_bugs(void)
}
#ifdef CONFIG_ACPI
+#ifdef CONFIG_X86_IO_APIC
static int __init nvidia_hpet_check(struct acpi_table_header *header)
{
return 0;
}
-#endif
+#endif /* CONFIG_X86_IO_APIC */
+#endif /* CONFIG_ACPI */
static void __init nvidia_bugs(void)
{
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 3/12] ACPI sbs: fix retval warning
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
2007-10-23 22:36 ` [PATCH 2/12] X86: fix nvidia HPET warning Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-30 10:31 ` Jeff Garzik
2007-10-23 22:36 ` [PATCH 4/12] riscom8: fix SMP brokenness Jeff Garzik
` (11 subsequent siblings)
13 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, len.brown
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2111 bytes --]
drivers/acpi/sbs.c: In function ‘acpi_battery_add’:
drivers/acpi/sbs.c:811: warning: ignoring return value of ‘device_create_file’, declared with attribute warn_unused_result
Additional cleanups:
* use struct acpi_battery in acpi_battery_remove() to clean up function
calls, just like acpi_battery_add() already does.
* un-indent unregister call, as it mistakenly gives the impression that
it belongs inside the 'if' test
* remove unneeded braces
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c
index 90fd09c..c5c011b 100644
--- a/drivers/acpi/sbs.c
+++ b/drivers/acpi/sbs.c
@@ -113,6 +113,7 @@ struct acpi_battery {
u16 spec;
u8 id;
u8 present:1;
+ u8 have_sysfs:1;
};
#define to_acpi_battery(x) container_of(x, struct acpi_battery, bat);
@@ -808,7 +809,8 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
}
battery->bat.get_property = acpi_sbs_battery_get_property;
result = power_supply_register(&sbs->device->dev, &battery->bat);
- device_create_file(battery->bat.dev, &alarm_attr);
+ if (device_create_file(battery->bat.dev, &alarm_attr) == 0)
+ battery->have_sysfs = 1;
printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n",
ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
battery->name, sbs->battery->present ? "present" : "absent");
@@ -817,14 +819,16 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
static void acpi_battery_remove(struct acpi_sbs *sbs, int id)
{
- if (sbs->battery[id].bat.dev)
- device_remove_file(sbs->battery[id].bat.dev, &alarm_attr);
- power_supply_unregister(&sbs->battery[id].bat);
+ struct acpi_battery *battery = &sbs->battery[id];
+
+ if (battery->have_sysfs)
+ device_remove_file(battery->bat.dev, &alarm_attr);
+
+ power_supply_unregister(&battery->bat);
+
#ifdef CONFIG_ACPI_PROCFS
- if (sbs->battery[id].proc_entry) {
- acpi_sbs_remove_fs(&(sbs->battery[id].proc_entry),
- acpi_battery_dir);
- }
+ if (sbs->battery[id].proc_entry)
+ acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir);
#endif
}
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
2007-10-23 22:36 ` [PATCH 2/12] X86: fix nvidia HPET warning Jeff Garzik
2007-10-23 22:36 ` [PATCH 3/12] ACPI sbs: fix retval warning Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-24 6:47 ` Jiri Slaby
2008-02-07 0:29 ` [bug] " Ingo Molnar
2007-10-23 22:36 ` [PATCH 5/12] ISDN/sc: fix longstanding warning Jeff Garzik
` (10 subsequent siblings)
13 siblings, 2 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm
After analyzing the elements that save_flags/cli/sti/restore_flags were
protecting, convert their usages to a global spinlock (the easiest and
most obvious next-step). There were some usages of flags being
intentionally cached, because the code already knew the state of
interrupts. These have been taken into account.
This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig
index 6549110..27ab43e 100644
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
@@ -276,7 +276,7 @@ config N_HDLC
config RISCOM8
tristate "SDL RISCom/8 card support"
- depends on SERIAL_NONSTANDARD && BROKEN_ON_SMP
+ depends on SERIAL_NONSTANDARD
help
This is a driver for the SDL Communications RISCom/8 multiport card,
which gives you many serial ports. You would need something like
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
index b37e626..45d109c 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -47,6 +47,7 @@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/tty_flip.h>
+#include <linux/spinlock.h>
#include <asm/uaccess.h>
@@ -82,6 +83,8 @@
static struct riscom_board * IRQ_to_board[16];
static struct tty_driver *riscom_driver;
+static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
+
static struct riscom_board rc_board[RC_NBOARD] = {
{
.base = RC_IOBASE1,
@@ -218,13 +221,14 @@ static void __init rc_init_CD180(struct riscom_board const * bp)
{
unsigned long flags;
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
rc_out(bp, RC_CTOUT, 0); /* Clear timeout */
rc_wait_CCR(bp); /* Wait for CCR ready */
rc_out(bp, CD180_CCR, CCR_HARDRESET); /* Reset CD180 chip */
- sti();
+ spin_unlock_irqrestore(&riscom_lock, flags);
msleep(50); /* Delay 0.05 sec */
- cli();
+ spin_lock_irqsave(&riscom_lock, flags);
rc_out(bp, CD180_GIVR, RC_ID); /* Set ID for this chip */
rc_out(bp, CD180_GICR, 0); /* Clear all bits */
rc_out(bp, CD180_PILR1, RC_ACK_MINT); /* Prio for modem intr */
@@ -235,7 +239,7 @@ static void __init rc_init_CD180(struct riscom_board const * bp)
rc_out(bp, CD180_PPRH, (RC_OSCFREQ/(1000000/RISCOM_TPS)) >> 8);
rc_out(bp, CD180_PPRL, (RC_OSCFREQ/(1000000/RISCOM_TPS)) & 0xff);
- restore_flags(flags);
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
/* Main probing routine, also sets irq. */
@@ -817,9 +821,9 @@ static int rc_setup_port(struct riscom_board *bp, struct riscom_port *port)
}
port->xmit_buf = (unsigned char *) tmp;
}
-
- save_flags(flags); cli();
-
+
+ spin_lock_irqsave(&riscom_lock, flags);
+
if (port->tty)
clear_bit(TTY_IO_ERROR, &port->tty->flags);
@@ -830,7 +834,7 @@ static int rc_setup_port(struct riscom_board *bp, struct riscom_port *port)
rc_change_speed(bp, port);
port->flags |= ASYNC_INITIALIZED;
- restore_flags(flags);
+ spin_unlock_irqrestore(&riscom_lock, flags);
return 0;
}
@@ -906,6 +910,7 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp,
int retval;
int do_clocal = 0;
int CD;
+ unsigned long flags;
/*
* If the device is in the middle of being closed, then block
@@ -941,19 +946,26 @@ static int block_til_ready(struct tty_struct *tty, struct file * filp,
*/
retval = 0;
add_wait_queue(&port->open_wait, &wait);
- cli();
+
+ spin_lock_irqsave(&riscom_lock, flags);
+
if (!tty_hung_up_p(filp))
port->count--;
- sti();
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
+
port->blocked_open++;
while (1) {
- cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
rc_out(bp, CD180_CAR, port_No(port));
CD = rc_in(bp, CD180_MSVR) & MSVR_CD;
rc_out(bp, CD180_MSVR, MSVR_RTS);
bp->DTR &= ~(1u << port_No(port));
rc_out(bp, RC_DTR, bp->DTR);
- sti();
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
+
set_current_state(TASK_INTERRUPTIBLE);
if (tty_hung_up_p(filp) ||
!(port->flags & ASYNC_INITIALIZED)) {
@@ -1025,8 +1037,9 @@ static void rc_close(struct tty_struct * tty, struct file * filp)
if (!port || rc_paranoia_check(port, tty->name, "close"))
return;
-
- save_flags(flags); cli();
+
+ spin_lock_irqsave(&riscom_lock, flags);
+
if (tty_hung_up_p(filp))
goto out;
@@ -1093,7 +1106,9 @@ static void rc_close(struct tty_struct * tty, struct file * filp)
}
port->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CLOSING);
wake_up_interruptible(&port->close_wait);
-out: restore_flags(flags);
+
+out:
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static int rc_write(struct tty_struct * tty,
@@ -1112,34 +1127,33 @@ static int rc_write(struct tty_struct * tty,
if (!tty || !port->xmit_buf)
return 0;
- save_flags(flags);
while (1) {
- cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
c = min_t(int, count, min(SERIAL_XMIT_SIZE - port->xmit_cnt - 1,
SERIAL_XMIT_SIZE - port->xmit_head));
- if (c <= 0) {
- restore_flags(flags);
- break;
- }
+ if (c <= 0)
+ break; /* lock continues to be held */
memcpy(port->xmit_buf + port->xmit_head, buf, c);
port->xmit_head = (port->xmit_head + c) & (SERIAL_XMIT_SIZE-1);
port->xmit_cnt += c;
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
buf += c;
count -= c;
total += c;
}
- cli();
if (port->xmit_cnt && !tty->stopped && !tty->hw_stopped &&
!(port->IER & IER_TXRDY)) {
port->IER |= IER_TXRDY;
rc_out(bp, CD180_CAR, port_No(port));
rc_out(bp, CD180_IER, port->IER);
}
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
return total;
}
@@ -1155,7 +1169,7 @@ static void rc_put_char(struct tty_struct * tty, unsigned char ch)
if (!tty || !port->xmit_buf)
return;
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
if (port->xmit_cnt >= SERIAL_XMIT_SIZE - 1)
goto out;
@@ -1163,7 +1177,9 @@ static void rc_put_char(struct tty_struct * tty, unsigned char ch)
port->xmit_buf[port->xmit_head++] = ch;
port->xmit_head &= SERIAL_XMIT_SIZE - 1;
port->xmit_cnt++;
-out: restore_flags(flags);
+
+out:
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static void rc_flush_chars(struct tty_struct * tty)
@@ -1178,11 +1194,13 @@ static void rc_flush_chars(struct tty_struct * tty)
!port->xmit_buf)
return;
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
port->IER |= IER_TXRDY;
rc_out(port_Board(port), CD180_CAR, port_No(port));
rc_out(port_Board(port), CD180_IER, port->IER);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static int rc_write_room(struct tty_struct * tty)
@@ -1217,9 +1235,11 @@ static void rc_flush_buffer(struct tty_struct *tty)
if (rc_paranoia_check(port, tty->name, "rc_flush_buffer"))
return;
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
port->xmit_cnt = port->xmit_head = port->xmit_tail = 0;
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
tty_wakeup(tty);
}
@@ -1236,11 +1256,15 @@ static int rc_tiocmget(struct tty_struct *tty, struct file *file)
return -ENODEV;
bp = port_Board(port);
- save_flags(flags); cli();
+
+ spin_lock_irqsave(&riscom_lock, flags);
+
rc_out(bp, CD180_CAR, port_No(port));
status = rc_in(bp, CD180_MSVR);
result = rc_in(bp, RC_RI) & (1u << port_No(port)) ? 0 : TIOCM_RNG;
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
+
result |= ((status & MSVR_RTS) ? TIOCM_RTS : 0)
| ((status & MSVR_DTR) ? TIOCM_DTR : 0)
| ((status & MSVR_CD) ? TIOCM_CAR : 0)
@@ -1261,7 +1285,8 @@ static int rc_tiocmset(struct tty_struct *tty, struct file *file,
bp = port_Board(port);
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
if (set & TIOCM_RTS)
port->MSVR |= MSVR_RTS;
if (set & TIOCM_DTR)
@@ -1275,7 +1300,9 @@ static int rc_tiocmset(struct tty_struct *tty, struct file *file,
rc_out(bp, CD180_CAR, port_No(port));
rc_out(bp, CD180_MSVR, port->MSVR);
rc_out(bp, RC_DTR, bp->DTR);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
+
return 0;
}
@@ -1284,7 +1311,8 @@ static inline void rc_send_break(struct riscom_port * port, unsigned long length
struct riscom_board *bp = port_Board(port);
unsigned long flags;
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
port->break_length = RISCOM_TPS / HZ * length;
port->COR2 |= COR2_ETC;
port->IER |= IER_TXRDY;
@@ -1294,7 +1322,8 @@ static inline void rc_send_break(struct riscom_port * port, unsigned long length
rc_wait_CCR(bp);
rc_out(bp, CD180_CCR, CCR_CORCHG2);
rc_wait_CCR(bp);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static inline int rc_set_serial_info(struct riscom_port * port,
@@ -1303,7 +1332,6 @@ static inline int rc_set_serial_info(struct riscom_port * port,
struct serial_struct tmp;
struct riscom_board *bp = port_Board(port);
int change_speed;
- unsigned long flags;
if (copy_from_user(&tmp, newinfo, sizeof(tmp)))
return -EFAULT;
@@ -1337,9 +1365,11 @@ static inline int rc_set_serial_info(struct riscom_port * port,
port->closing_wait = tmp.closing_wait;
}
if (change_speed) {
- save_flags(flags); cli();
+ unsigned long flags;
+
+ spin_lock_irqsave(&riscom_lock, flags);
rc_change_speed(bp, port);
- restore_flags(flags);
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
return 0;
}
@@ -1419,17 +1449,19 @@ static void rc_throttle(struct tty_struct * tty)
return;
bp = port_Board(port);
-
- save_flags(flags); cli();
+
+ spin_lock_irqsave(&riscom_lock, flags);
+
port->MSVR &= ~MSVR_RTS;
rc_out(bp, CD180_CAR, port_No(port));
- if (I_IXOFF(tty)) {
+ if (I_IXOFF(tty)) {
rc_wait_CCR(bp);
rc_out(bp, CD180_CCR, CCR_SSCH2);
rc_wait_CCR(bp);
}
rc_out(bp, CD180_MSVR, port->MSVR);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static void rc_unthrottle(struct tty_struct * tty)
@@ -1443,7 +1475,8 @@ static void rc_unthrottle(struct tty_struct * tty)
bp = port_Board(port);
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
port->MSVR |= MSVR_RTS;
rc_out(bp, CD180_CAR, port_No(port));
if (I_IXOFF(tty)) {
@@ -1452,7 +1485,8 @@ static void rc_unthrottle(struct tty_struct * tty)
rc_wait_CCR(bp);
}
rc_out(bp, CD180_MSVR, port->MSVR);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static void rc_stop(struct tty_struct * tty)
@@ -1466,11 +1500,13 @@ static void rc_stop(struct tty_struct * tty)
bp = port_Board(port);
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
port->IER &= ~IER_TXRDY;
rc_out(bp, CD180_CAR, port_No(port));
rc_out(bp, CD180_IER, port->IER);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
static void rc_start(struct tty_struct * tty)
@@ -1484,13 +1520,15 @@ static void rc_start(struct tty_struct * tty)
bp = port_Board(port);
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
if (port->xmit_cnt && port->xmit_buf && !(port->IER & IER_TXRDY)) {
port->IER |= IER_TXRDY;
rc_out(bp, CD180_CAR, port_No(port));
rc_out(bp, CD180_IER, port->IER);
}
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
/*
@@ -1542,9 +1580,9 @@ static void rc_set_termios(struct tty_struct * tty, struct ktermios * old_termio
tty->termios->c_iflag == old_termios->c_iflag)
return;
- save_flags(flags); cli();
+ spin_lock_irqsave(&riscom_lock, flags);
rc_change_speed(port_Board(port), port);
- restore_flags(flags);
+ spin_unlock_irqrestore(&riscom_lock, flags);
if ((old_termios->c_cflag & CRTSCTS) &&
!(tty->termios->c_cflag & CRTSCTS)) {
@@ -1633,11 +1671,12 @@ static void rc_release_drivers(void)
{
unsigned long flags;
- save_flags(flags);
- cli();
+ spin_lock_irqsave(&riscom_lock, flags);
+
tty_unregister_driver(riscom_driver);
put_tty_driver(riscom_driver);
- restore_flags(flags);
+
+ spin_unlock_irqrestore(&riscom_lock, flags);
}
#ifndef MODULE
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 5/12] ISDN/sc: fix longstanding warning
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (2 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 4/12] riscom8: fix SMP brokenness Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-24 7:24 ` Karsten Keil
2007-10-23 22:36 ` [PATCH 6/12] KVM: work around SMP requirement Jeff Garzik
` (9 subsequent siblings)
13 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, kkeil, isdn4linux
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1480 bytes --]
drivers/isdn/sc/shmem.c: In function ‘memcpy_toshmem’:
drivers/isdn/sc/shmem.c:54: warning: passing argument 1 of ‘memcpy_toio’ makes pointer from integer without a cast
Also, remove some unneeded braces, and add some useful whitespace.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/drivers/isdn/sc/shmem.c b/drivers/isdn/sc/shmem.c
index 034d41a..e0331e0 100644
--- a/drivers/isdn/sc/shmem.c
+++ b/drivers/isdn/sc/shmem.c
@@ -28,15 +28,15 @@ void memcpy_toshmem(int card, void *dest, const void *src, size_t n)
{
unsigned long flags;
unsigned char ch;
+ unsigned long dest_rem = ((unsigned long) dest) % 0x4000;
- if(!IS_VALID_CARD(card)) {
+ if (!IS_VALID_CARD(card)) {
pr_debug("Invalid param: %d is not a valid card id\n", card);
return;
}
- if(n > SRAM_PAGESIZE) {
+ if (n > SRAM_PAGESIZE)
return;
- }
/*
* determine the page to load from the address
@@ -50,8 +50,7 @@ void memcpy_toshmem(int card, void *dest, const void *src, size_t n)
outb(((sc_adapter[card]->shmem_magic + ch * SRAM_PAGESIZE) >> 14) | 0x80,
sc_adapter[card]->ioport[sc_adapter[card]->shmem_pgport]);
- memcpy_toio(sc_adapter[card]->rambase +
- ((unsigned long) dest % 0x4000), src, n);
+ memcpy_toio(sc_adapter[card]->rambase + dest_rem, src, n);
spin_unlock_irqrestore(&sc_adapter[card]->lock, flags);
pr_debug("%s: set page to %#x\n",sc_adapter[card]->devicename,
((sc_adapter[card]->shmem_magic + ch * SRAM_PAGESIZE)>>14)|0x80);
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 6/12] KVM: work around SMP requirement
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (3 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 5/12] ISDN/sc: fix longstanding warning Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-23 22:44 ` Adrian Bunk
2007-10-23 22:36 ` [PATCH 7/12] eexpress: fix !SMP unused-var warning Jeff Garzik
` (8 subsequent siblings)
13 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, avi
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 719 bytes --]
KVM is currently completely broken for the !CONFIG_SMP case.
drivers/kvm/kvm_main.c: In function ‘kvm_flush_remote_tlbs’:
drivers/kvm/kvm_main.c:220: error: implicit declaration of function ‘smp_call_function_mask’
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
I hope the KVM maintainer can come up with a better solution...
diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
index 8749fa4..e35fbc6 100644
--- a/drivers/kvm/Kconfig
+++ b/drivers/kvm/Kconfig
@@ -16,7 +16,7 @@ if VIRTUALIZATION
config KVM
tristate "Kernel-based Virtual Machine (KVM) support"
- depends on X86 && EXPERIMENTAL
+ depends on X86 && EXPERIMENTAL && SMP
select PREEMPT_NOTIFIERS
select ANON_INODES
---help---
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 7/12] eexpress: fix !SMP unused-var warning
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (4 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 6/12] KVM: work around SMP requirement Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-23 22:36 ` [PATCH 8/12] ni5010: kill unused variable Jeff Garzik
` (7 subsequent siblings)
13 siblings, 0 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, netdev
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index 9c85e50..70509ed 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -651,9 +651,9 @@ static void eexp_timeout(struct net_device *dev)
*/
static int eexp_xmit(struct sk_buff *buf, struct net_device *dev)
{
- struct net_local *lp = netdev_priv(dev);
short length = buf->len;
#ifdef CONFIG_SMP
+ struct net_local *lp = netdev_priv(dev);
unsigned long flags;
#endif
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 8/12] ni5010: kill unused variable
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (5 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 7/12] eexpress: fix !SMP unused-var warning Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-23 22:36 ` [PATCH 9/12] cgroup: " Jeff Garzik
` (6 subsequent siblings)
13 siblings, 0 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, netdev
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c
index 14a768f..a20005c 100644
--- a/drivers/net/ni5010.c
+++ b/drivers/net/ni5010.c
@@ -518,7 +518,6 @@ static void dump_packet(void *buf, int len)
/* We have a good packet, get it out of the buffer. */
static void ni5010_rx(struct net_device *dev)
{
- struct ni5010_local *lp = netdev_priv(dev);
int ioaddr = dev->base_addr;
unsigned char rcv_stat;
struct sk_buff *skb;
@@ -577,7 +576,6 @@ static void ni5010_rx(struct net_device *dev)
PRINTK2((KERN_DEBUG "%s: Received packet, size=%#4.4x\n",
dev->name, i_pkt_size));
-
}
static int process_xmt_interrupt(struct net_device *dev)
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 9/12] cgroup: kill unused variable
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (6 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 8/12] ni5010: kill unused variable Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-24 0:19 ` Paul Menage
2007-10-23 22:36 ` [PATCH 10/12] mac80211: fix warning created by BIT() Jeff Garzik
` (5 subsequent siblings)
13 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, menage
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index 5987dcc..3fe21e1 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -2402,7 +2402,6 @@ struct file_operations proc_cgroup_operations = {
static int proc_cgroupstats_show(struct seq_file *m, void *v)
{
int i;
- struct cgroupfs_root *root;
seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\n");
mutex_lock(&cgroup_mutex);
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 10/12] mac80211: fix warning created by BIT()
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (7 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 9/12] cgroup: " Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-23 23:15 ` Randy Dunlap
2007-10-23 22:36 ` [PATCH 11/12] NET: fix subqueue bugs Jeff Garzik
` (4 subsequent siblings)
13 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, linux-wireless, linville
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 891 bytes --]
Now that BIT() forces unsigned long, this warning appears:
net/mac80211/ieee80211_sta.c: In function ‘ieee80211_rx_mgmt_assoc_resp’:
net/mac80211/ieee80211_sta.c:1187: warning: format ‘%d’ expects type ‘int’, but argument 7 has type ‘long unsigned int’
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
index f7ffeec..bdfd901 100644
--- a/net/mac80211/ieee80211_sta.c
+++ b/net/mac80211/ieee80211_sta.c
@@ -1182,7 +1182,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
aid = le16_to_cpu(mgmt->u.assoc_resp.aid);
printk(KERN_DEBUG "%s: RX %sssocResp from %s (capab=0x%x "
- "status=%d aid=%d)\n",
+ "status=%d aid=%ld)\n",
dev->name, reassoc ? "Rea" : "A", print_mac(mac, mgmt->sa),
capab_info, status_code, aid & ~(BIT(15) | BIT(14)));
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 11/12] NET: fix subqueue bugs
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (8 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 10/12] mac80211: fix warning created by BIT() Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-23 22:38 ` David Miller
2007-10-23 22:36 ` [PATCH 12/12] sound/isa: fix printk format Jeff Garzik
` (3 subsequent siblings)
13 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML, davem; +Cc: akpm, netdev
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]
net/sched/sch_prio.c: In function ‘prio_dequeue’:
net/sched/sch_prio.c:139: warning: passing argument 2 of ‘netif_subqueue_stopped’ makes pointer from integer without a cast
net/sched/sch_prio.c: In function ‘rr_dequeue’:
net/sched/sch_prio.c:169: warning: passing argument 2 of ‘netif_subqueue_stopped’ makes pointer from integer without a cast
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c
index abd82fc..de89409 100644
--- a/net/sched/sch_prio.c
+++ b/net/sched/sch_prio.c
@@ -136,7 +136,7 @@ prio_dequeue(struct Qdisc* sch)
* pulling an skb. This way we avoid excessive requeues
* for slower queues.
*/
- if (!netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) {
+ if (!__netif_subqueue_stopped(sch->dev, (q->mq ? prio : 0))) {
qdisc = q->queues[prio];
skb = qdisc->dequeue(qdisc);
if (skb) {
@@ -165,7 +165,7 @@ static struct sk_buff *rr_dequeue(struct Qdisc* sch)
* for slower queues. If the queue is stopped, try the
* next queue.
*/
- if (!netif_subqueue_stopped(sch->dev,
+ if (!__netif_subqueue_stopped(sch->dev,
(q->mq ? q->curband : 0))) {
qdisc = q->queues[q->curband];
skb = qdisc->dequeue(qdisc);
^ permalink raw reply related [flat|nested] 44+ messages in thread
* [PATCH 12/12] sound/isa: fix printk format
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (9 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 11/12] NET: fix subqueue bugs Jeff Garzik
@ 2007-10-23 22:36 ` Jeff Garzik
2007-10-24 4:03 ` [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeremy Fitzhardinge
` (2 subsequent siblings)
13 siblings, 0 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:36 UTC (permalink / raw)
To: LKML; +Cc: akpm, perex
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 790 bytes --]
sound/isa/ad1848/ad1848_lib.c: In function ‘snd_ad1848_mce_down’:
sound/isa/ad1848/ad1848_lib.c:216: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘long unsigned int’
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
diff --git a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c
index a901cd1..9a64035 100644
--- a/sound/isa/ad1848/ad1848_lib.c
+++ b/sound/isa/ad1848/ad1848_lib.c
@@ -213,7 +213,7 @@ static void snd_ad1848_mce_down(struct snd_ad1848 *chip)
for (timeout = 12000; timeout > 0 && (inb(AD1848P(chip, REGSEL)) & AD1848_INIT); timeout--)
udelay(100);
- snd_printdd("(1) timeout = %d\n", timeout);
+ snd_printdd("(1) timeout = %ld\n", timeout);
#ifdef CONFIG_SND_DEBUG
if (inb(AD1848P(chip, REGSEL)) & AD1848_INIT)
^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [PATCH 11/12] NET: fix subqueue bugs
2007-10-23 22:36 ` [PATCH 11/12] NET: fix subqueue bugs Jeff Garzik
@ 2007-10-23 22:38 ` David Miller
2007-10-23 22:40 ` Jeff Garzik
0 siblings, 1 reply; 44+ messages in thread
From: David Miller @ 2007-10-23 22:38 UTC (permalink / raw)
To: jeff; +Cc: linux-kernel, akpm, netdev
From: Jeff Garzik <jeff@garzik.org>
Date: Tue, 23 Oct 2007 18:36:46 -0400 (EDT)
> net/sched/sch_prio.c: In function ^[$,1rx^[(Bprio_dequeue^[$,1ry^[(B:
> net/sched/sch_prio.c:139: warning: passing argument 2 of ^[$,1rx^[(Bnetif_subqueue_stopped^[$,1ry^[(B makes pointer from integer without a cast
> net/sched/sch_prio.c: In function ^[$,1rx^[(Brr_dequeue^[$,1ry^[(B:
> net/sched/sch_prio.c:169: warning: passing argument 2 of ^[$,1rx^[(Bnetif_subqueue_stopped^[$,1ry^[(B makes pointer from integer without a cast
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
I have another copy of this from Pavel earlier in my inbox
and I promise I will integrate his patch today :-)
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 11/12] NET: fix subqueue bugs
2007-10-23 22:38 ` David Miller
@ 2007-10-23 22:40 ` Jeff Garzik
0 siblings, 0 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:40 UTC (permalink / raw)
To: David Miller; +Cc: linux-kernel, akpm, netdev
David Miller wrote:
> From: Jeff Garzik <jeff@garzik.org>
> Date: Tue, 23 Oct 2007 18:36:46 -0400 (EDT)
>
>> net/sched/sch_prio.c: In function ^[$,1rxprio_dequeue^[$,1ry:
>> net/sched/sch_prio.c:139: warning: passing argument 2 of ^[$,1rxnetif_subqueue_stopped^[$,1ry makes pointer from integer without a cast
>> net/sched/sch_prio.c: In function ^[$,1rxrr_dequeue^[$,1ry:
>> net/sched/sch_prio.c:169: warning: passing argument 2 of ^[$,1rxnetif_subqueue_stopped^[$,1ry makes pointer from integer without a cast
>>
>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>
> I have another copy of this from Pavel earlier in my inbox
> and I promise I will integrate his patch today :-)
Either way, all good :) Just dumping my fixes from last night.
Jeff
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 6/12] KVM: work around SMP requirement
2007-10-23 22:36 ` [PATCH 6/12] KVM: work around SMP requirement Jeff Garzik
@ 2007-10-23 22:44 ` Adrian Bunk
2007-10-23 22:46 ` Jeff Garzik
0 siblings, 1 reply; 44+ messages in thread
From: Adrian Bunk @ 2007-10-23 22:44 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, avi
On Tue, Oct 23, 2007 at 06:36:40PM -0400, Jeff Garzik wrote:
> KVM is currently completely broken for the !CONFIG_SMP case.
>
> drivers/kvm/kvm_main.c: In function ‘kvm_flush_remote_tlbs’:
> drivers/kvm/kvm_main.c:220: error: implicit declaration of function ‘smp_call_function_mask’
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
> I hope the KVM maintainer can come up with a better solution...
>
> diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
> index 8749fa4..e35fbc6 100644
> --- a/drivers/kvm/Kconfig
> +++ b/drivers/kvm/Kconfig
> @@ -16,7 +16,7 @@ if VIRTUALIZATION
>
> config KVM
> tristate "Kernel-based Virtual Machine (KVM) support"
> - depends on X86 && EXPERIMENTAL
> + depends on X86 && EXPERIMENTAL && SMP
>...
Assuming it won't get fixed soon, the pattern would be "(SMP || BROKEN)".
The effect is the same, but this makes it more obvious that KVM
does not depend architecturally on SMP but just broken.
Of course, the preferred solution is to simply get KVM fixed...
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 6/12] KVM: work around SMP requirement
2007-10-23 22:44 ` Adrian Bunk
@ 2007-10-23 22:46 ` Jeff Garzik
2007-10-24 8:36 ` Avi Kivity
0 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-23 22:46 UTC (permalink / raw)
To: Adrian Bunk; +Cc: LKML, akpm, avi
Adrian Bunk wrote:
> On Tue, Oct 23, 2007 at 06:36:40PM -0400, Jeff Garzik wrote:
>> KVM is currently completely broken for the !CONFIG_SMP case.
>>
>> drivers/kvm/kvm_main.c: In function ‘kvm_flush_remote_tlbs’:
>> drivers/kvm/kvm_main.c:220: error: implicit declaration of function ‘smp_call_function_mask’
>>
>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>> ---
>> I hope the KVM maintainer can come up with a better solution...
>>
>> diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
>> index 8749fa4..e35fbc6 100644
>> --- a/drivers/kvm/Kconfig
>> +++ b/drivers/kvm/Kconfig
>> @@ -16,7 +16,7 @@ if VIRTUALIZATION
>>
>> config KVM
>> tristate "Kernel-based Virtual Machine (KVM) support"
>> - depends on X86 && EXPERIMENTAL
>> + depends on X86 && EXPERIMENTAL && SMP
>> ...
>
> Assuming it won't get fixed soon, the pattern would be "(SMP || BROKEN)".
>
> The effect is the same, but this makes it more obvious that KVM
> does not depend architecturally on SMP but just broken.
>
> Of course, the preferred solution is to simply get KVM fixed...
In general I agree, but I specifically avoided CONFIG_BROKEN in case it
was an intentional choice to require an SMP kernel.
Jeff
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 10/12] mac80211: fix warning created by BIT()
2007-10-23 22:36 ` [PATCH 10/12] mac80211: fix warning created by BIT() Jeff Garzik
@ 2007-10-23 23:15 ` Randy Dunlap
0 siblings, 0 replies; 44+ messages in thread
From: Randy Dunlap @ 2007-10-23 23:15 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, linux-wireless, linville
On Tue, 23 Oct 2007 18:36:45 -0400 (EDT) Jeff Garzik wrote:
> Now that BIT() forces unsigned long, this warning appears:
>
> net/mac80211/ieee80211_sta.c: In function âieee80211_rx_mgmt_assoc_respâ:
> net/mac80211/ieee80211_sta.c:1187: warning: format â%dâ expects type âintâ, but argument 7 has type âlong unsigned intâ
LC_ALL=C make ...
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>
> diff --git a/net/mac80211/ieee80211_sta.c b/net/mac80211/ieee80211_sta.c
> index f7ffeec..bdfd901 100644
> --- a/net/mac80211/ieee80211_sta.c
> +++ b/net/mac80211/ieee80211_sta.c
> @@ -1182,7 +1182,7 @@ static void ieee80211_rx_mgmt_assoc_resp(struct net_device *dev,
> aid = le16_to_cpu(mgmt->u.assoc_resp.aid);
>
> printk(KERN_DEBUG "%s: RX %sssocResp from %s (capab=0x%x "
> - "status=%d aid=%d)\n",
> + "status=%d aid=%ld)\n",
> dev->name, reassoc ? "Rea" : "A", print_mac(mac, mgmt->sa),
> capab_info, status_code, aid & ~(BIT(15) | BIT(14)));
>
> -
Patch was submitted yesterday by Johannes Berg, but does need to be
pushed by someone... (like this)
---
~Randy
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 9/12] cgroup: kill unused variable
2007-10-23 22:36 ` [PATCH 9/12] cgroup: " Jeff Garzik
@ 2007-10-24 0:19 ` Paul Menage
0 siblings, 0 replies; 44+ messages in thread
From: Paul Menage @ 2007-10-24 0:19 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm
On 10/23/07, Jeff Garzik <jeff@garzik.org> wrote:
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Acked-by: Paul Menage <menage@google.com>
> ---
>
> diff --git a/kernel/cgroup.c b/kernel/cgroup.c
> index 5987dcc..3fe21e1 100644
> --- a/kernel/cgroup.c
> +++ b/kernel/cgroup.c
> @@ -2402,7 +2402,6 @@ struct file_operations proc_cgroup_operations = {
> static int proc_cgroupstats_show(struct seq_file *m, void *v)
> {
> int i;
> - struct cgroupfs_root *root;
>
> seq_puts(m, "#subsys_name\thierarchy\tnum_cgroups\n");
> mutex_lock(&cgroup_mutex);
>
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (10 preceding siblings ...)
2007-10-23 22:36 ` [PATCH 12/12] sound/isa: fix printk format Jeff Garzik
@ 2007-10-24 4:03 ` Jeremy Fitzhardinge
2007-10-24 12:01 ` Ingo Molnar
2007-10-24 16:27 ` [2.6 patch] x86/kernel/acpi/processor.c: fix SMP=n warning Adrian Bunk
13 siblings, 0 replies; 44+ messages in thread
From: Jeremy Fitzhardinge @ 2007-10-24 4:03 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, tglx
Jeff Garzik wrote:
> Fix !CONFIG_SMP warning:
>
> arch/x86/kernel/acpi/processor.c: In function ‘arch_acpi_processor_init_pdc’:
> arch/x86/kernel/acpi/processor.c:65: warning: unused variable ‘cpu’
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
> Ideally this warning should be hidden inside a wrapper or somesuch, to
> camouflage the unneeded argument in !SMP case.
>
> diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
> index 2ed0a4c..45e262a 100644
> --- a/arch/x86/kernel/acpi/processor.c
> +++ b/arch/x86/kernel/acpi/processor.c
> @@ -62,7 +62,9 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
> /* Initialize _PDC data based on the CPU vendor */
> void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
> {
> +#ifdef CONFIG_SMP
> unsigned int cpu = pr->id;
> +#endif
> struct cpuinfo_x86 *c = &cpu_data(cpu);
>
Surely just replace cpu with pr->id? That's the only use.
J
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 2/12] X86: fix nvidia HPET warning
2007-10-23 22:36 ` [PATCH 2/12] X86: fix nvidia HPET warning Jeff Garzik
@ 2007-10-24 4:05 ` Jeremy Fitzhardinge
2007-10-24 6:05 ` Jeff Garzik
2007-10-24 12:03 ` Ingo Molnar
1 sibling, 1 reply; 44+ messages in thread
From: Jeremy Fitzhardinge @ 2007-10-24 4:05 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, tglx
Jeff Garzik wrote:
> arch/x86/kernel/early-quirks.c:40: warning: ‘nvidia_hpet_check’ defined but not used
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>
> diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
> index dc34acb..639e632 100644
> --- a/arch/x86/kernel/early-quirks.c
> +++ b/arch/x86/kernel/early-quirks.c
> @@ -35,12 +35,14 @@ static void __init via_bugs(void)
> }
>
> #ifdef CONFIG_ACPI
> +#ifdef CONFIG_X86_IO_APIC
>
Why not #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)? Saves
a line and a layer of #if(def).
>
> static int __init nvidia_hpet_check(struct acpi_table_header *header)
> {
> return 0;
> }
> -#endif
> +#endif /* CONFIG_X86_IO_APIC */
> +#endif /* CONFIG_ACPI */
>
J
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 2/12] X86: fix nvidia HPET warning
2007-10-24 4:05 ` Jeremy Fitzhardinge
@ 2007-10-24 6:05 ` Jeff Garzik
0 siblings, 0 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-24 6:05 UTC (permalink / raw)
To: Jeremy Fitzhardinge; +Cc: LKML, akpm, tglx
Jeremy Fitzhardinge wrote:
> Jeff Garzik wrote:
>> arch/x86/kernel/early-quirks.c:40: warning: ‘nvidia_hpet_check’ defined but not used
>>
>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>> ---
>>
>> diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c
>> index dc34acb..639e632 100644
>> --- a/arch/x86/kernel/early-quirks.c
>> +++ b/arch/x86/kernel/early-quirks.c
>> @@ -35,12 +35,14 @@ static void __init via_bugs(void)
>> }
>>
>> #ifdef CONFIG_ACPI
>> +#ifdef CONFIG_X86_IO_APIC
>>
>
> Why not #if defined(CONFIG_ACPI) && defined(CONFIG_X86_IO_APIC)? Saves
> a line and a layer of #if(def).
quite agreed, but I was merely duplicating (with precision :)) the
ifdef-ery used in the caller
Jeff
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-23 22:36 ` [PATCH 4/12] riscom8: fix SMP brokenness Jeff Garzik
@ 2007-10-24 6:47 ` Jiri Slaby
2007-10-24 6:52 ` Jeff Garzik
2007-10-24 7:10 ` Andrew Morton
2008-02-07 0:29 ` [bug] " Ingo Molnar
1 sibling, 2 replies; 44+ messages in thread
From: Jiri Slaby @ 2007-10-24 6:47 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm
On 10/24/2007 12:36 AM, Jeff Garzik wrote:
> After analyzing the elements that save_flags/cli/sti/restore_flags were
> protecting, convert their usages to a global spinlock (the easiest and
> most obvious next-step). There were some usages of flags being
> intentionally cached, because the code already knew the state of
> interrupts. These have been taken into account.
>
> This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested.
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>
[...]
> diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
> index b37e626..45d109c 100644
> --- a/drivers/char/riscom8.c
> +++ b/drivers/char/riscom8.c
[...]
> @@ -82,6 +83,8 @@
> static struct riscom_board * IRQ_to_board[16];
> static struct tty_driver *riscom_driver;
>
> +static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
This is deprecated (see linux/spinlock_types.h for details), use DEFINE_SPINLOCK
instead, otherwise seems OK.
Revieweved-by: Jiri Slaby <jirislaby@gmail.com>
thanks,
--
Jiri Slaby (jirislaby@gmail.com)
Faculty of Informatics, Masaryk University
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-24 6:47 ` Jiri Slaby
@ 2007-10-24 6:52 ` Jeff Garzik
2007-10-24 7:44 ` Jiri Slaby
2007-10-24 7:10 ` Andrew Morton
1 sibling, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2007-10-24 6:52 UTC (permalink / raw)
To: Jiri Slaby; +Cc: LKML, akpm
Jiri Slaby wrote:
> On 10/24/2007 12:36 AM, Jeff Garzik wrote:
>> After analyzing the elements that save_flags/cli/sti/restore_flags were
>> protecting, convert their usages to a global spinlock (the easiest and
>> most obvious next-step). There were some usages of flags being
>> intentionally cached, because the code already knew the state of
>> interrupts. These have been taken into account.
>>
>> This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested.
>>
>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>> ---
>>
> [...]
>> diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
>> index b37e626..45d109c 100644
>> --- a/drivers/char/riscom8.c
>> +++ b/drivers/char/riscom8.c
> [...]
>> @@ -82,6 +83,8 @@
>> static struct riscom_board * IRQ_to_board[16];
>> static struct tty_driver *riscom_driver;
>>
>> +static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
>
> This is deprecated (see linux/spinlock_types.h for details), use DEFINE_SPINLOCK
> instead, otherwise seems OK.
>
> Revieweved-by: Jiri Slaby <jirislaby@gmail.com>
I noticed you reviewed my other riscom8 patch... you don't have hardware
perchance, do you? :)
Jeff
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-24 6:47 ` Jiri Slaby
2007-10-24 6:52 ` Jeff Garzik
@ 2007-10-24 7:10 ` Andrew Morton
2007-10-24 7:44 ` Jiri Slaby
1 sibling, 1 reply; 44+ messages in thread
From: Andrew Morton @ 2007-10-24 7:10 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Jeff Garzik, LKML
On Wed, 24 Oct 2007 08:47:23 +0200 Jiri Slaby <jirislaby@gmail.com> wrote:
> > +static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
>
> This is deprecated (see linux/spinlock_types.h for details), use DEFINE_SPINLOCK
> instead, otherwise seems OK.
Hey, if only we had a little perl script to check stuff like that.
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 5/12] ISDN/sc: fix longstanding warning
2007-10-23 22:36 ` [PATCH 5/12] ISDN/sc: fix longstanding warning Jeff Garzik
@ 2007-10-24 7:24 ` Karsten Keil
0 siblings, 0 replies; 44+ messages in thread
From: Karsten Keil @ 2007-10-24 7:24 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, isdn4linux
On Tue, Oct 23, 2007 at 06:36:39PM -0400, Jeff Garzik wrote:
> drivers/isdn/sc/shmem.c: In function ‘memcpy_toshmem’:
> drivers/isdn/sc/shmem.c:54: warning: passing argument 1 of ‘memcpy_toio’ makes pointer from integer without a cast
>
> Also, remove some unneeded braces, and add some useful whitespace.
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Acked.
> ---
>
> diff --git a/drivers/isdn/sc/shmem.c b/drivers/isdn/sc/shmem.c
> index 034d41a..e0331e0 100644
> --- a/drivers/isdn/sc/shmem.c
> +++ b/drivers/isdn/sc/shmem.c
> @@ -28,15 +28,15 @@ void memcpy_toshmem(int card, void *dest, const void *src, size_t n)
> {
> unsigned long flags;
> unsigned char ch;
> + unsigned long dest_rem = ((unsigned long) dest) % 0x4000;
>
> - if(!IS_VALID_CARD(card)) {
> + if (!IS_VALID_CARD(card)) {
> pr_debug("Invalid param: %d is not a valid card id\n", card);
> return;
> }
>
> - if(n > SRAM_PAGESIZE) {
> + if (n > SRAM_PAGESIZE)
> return;
> - }
>
> /*
> * determine the page to load from the address
> @@ -50,8 +50,7 @@ void memcpy_toshmem(int card, void *dest, const void *src, size_t n)
>
> outb(((sc_adapter[card]->shmem_magic + ch * SRAM_PAGESIZE) >> 14) | 0x80,
> sc_adapter[card]->ioport[sc_adapter[card]->shmem_pgport]);
> - memcpy_toio(sc_adapter[card]->rambase +
> - ((unsigned long) dest % 0x4000), src, n);
> + memcpy_toio(sc_adapter[card]->rambase + dest_rem, src, n);
> spin_unlock_irqrestore(&sc_adapter[card]->lock, flags);
> pr_debug("%s: set page to %#x\n",sc_adapter[card]->devicename,
> ((sc_adapter[card]->shmem_magic + ch * SRAM_PAGESIZE)>>14)|0x80);
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
Karsten Keil
SuSE Labs
ISDN and VOIP development
SUSE LINUX Products GmbH, Maxfeldstr.5 90409 Nuernberg, GF: Markus Rex, HRB 16746 (AG Nuernberg)
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-24 6:52 ` Jeff Garzik
@ 2007-10-24 7:44 ` Jiri Slaby
0 siblings, 0 replies; 44+ messages in thread
From: Jiri Slaby @ 2007-10-24 7:44 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm
On 10/24/2007 08:52 AM, Jeff Garzik wrote:
> Jiri Slaby wrote:
>> Revieweved-by: Jiri Slaby <jirislaby@gmail.com>
>
> I noticed you reviewed my other riscom8 patch... you don't have hardware
> perchance, do you? :)
No, otherwise I told you so :).
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-24 7:10 ` Andrew Morton
@ 2007-10-24 7:44 ` Jiri Slaby
2007-10-24 8:00 ` Andrew Morton
0 siblings, 1 reply; 44+ messages in thread
From: Jiri Slaby @ 2007-10-24 7:44 UTC (permalink / raw)
To: Andrew Morton; +Cc: Jeff Garzik, LKML
On 10/24/2007 09:10 AM, Andrew Morton wrote:
> On Wed, 24 Oct 2007 08:47:23 +0200 Jiri Slaby <jirislaby@gmail.com> wrote:
>
>>> +static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
>> This is deprecated (see linux/spinlock_types.h for details), use DEFINE_SPINLOCK
>> instead, otherwise seems OK.
>
> Hey, if only we had a little perl script to check stuff like that.
Can we integrate this into checkpatch?
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-24 7:44 ` Jiri Slaby
@ 2007-10-24 8:00 ` Andrew Morton
0 siblings, 0 replies; 44+ messages in thread
From: Andrew Morton @ 2007-10-24 8:00 UTC (permalink / raw)
To: Jiri Slaby; +Cc: Jeff Garzik, LKML
On Wed, 24 Oct 2007 09:44:07 +0200 Jiri Slaby <jirislaby@gmail.com> wrote:
> On 10/24/2007 09:10 AM, Andrew Morton wrote:
> > On Wed, 24 Oct 2007 08:47:23 +0200 Jiri Slaby <jirislaby@gmail.com> wrote:
> >
> >>> +static spinlock_t riscom_lock = SPIN_LOCK_UNLOCKED;
> >> This is deprecated (see linux/spinlock_types.h for details), use DEFINE_SPINLOCK
> >> instead, otherwise seems OK.
> >
> > Hey, if only we had a little perl script to check stuff like that.
>
> Can we integrate this into checkpatch?
We already did.
Now we need to integrate checkpatch into git...
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 6/12] KVM: work around SMP requirement
2007-10-23 22:46 ` Jeff Garzik
@ 2007-10-24 8:36 ` Avi Kivity
2007-10-24 12:32 ` [patch] kvm: fix !SMP build error Ingo Molnar
0 siblings, 1 reply; 44+ messages in thread
From: Avi Kivity @ 2007-10-24 8:36 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Adrian Bunk, LKML, akpm
Jeff Garzik wrote:
> Adrian Bunk wrote:
>> On Tue, Oct 23, 2007 at 06:36:40PM -0400, Jeff Garzik wrote:
>>> KVM is currently completely broken for the !CONFIG_SMP case.
>>>
>>> drivers/kvm/kvm_main.c: In function ‘kvm_flush_remote_tlbs’:
>>> drivers/kvm/kvm_main.c:220: error: implicit declaration of function
>>> ‘smp_call_function_mask’
>>>
>>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>>> ---
>>> I hope the KVM maintainer can come up with a better solution...
>>>
>>> diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
>>> index 8749fa4..e35fbc6 100644
>>> --- a/drivers/kvm/Kconfig
>>> +++ b/drivers/kvm/Kconfig
>>> @@ -16,7 +16,7 @@ if VIRTUALIZATION
>>>
>>> config KVM
>>> tristate "Kernel-based Virtual Machine (KVM) support"
>>> - depends on X86 && EXPERIMENTAL
>>> + depends on X86 && EXPERIMENTAL && SMP
>>> ...
>>
>> Assuming it won't get fixed soon, the pattern would be "(SMP ||
>> BROKEN)".
>>
>> The effect is the same, but this makes it more obvious that KVM does
>> not depend architecturally on SMP but just broken.
>>
>> Of course, the preferred solution is to simply get KVM fixed...
>
> In general I agree, but I specifically avoided CONFIG_BROKEN in case
> it was an intentional choice to require an SMP kernel.
>
Of course SMP is not required. I'll submit a patch to make
smp_call_function_mask() available on UP kernels. Andrew, please don't
apply the KVM Kconfig patch.
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (11 preceding siblings ...)
2007-10-24 4:03 ` [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeremy Fitzhardinge
@ 2007-10-24 12:01 ` Ingo Molnar
2007-10-24 16:27 ` [2.6 patch] x86/kernel/acpi/processor.c: fix SMP=n warning Adrian Bunk
13 siblings, 0 replies; 44+ messages in thread
From: Ingo Molnar @ 2007-10-24 12:01 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, tglx, H. Peter Anvin
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 254 bytes --]
* Jeff Garzik <jeff@garzik.org> wrote:
> Fix !CONFIG_SMP warning:
>
> arch/x86/kernel/acpi/processor.c: In function ‘arch_acpi_processor_init_pdc’:
> arch/x86/kernel/acpi/processor.c:65: warning: unused variable ‘cpu’
thanks, applied.
Ingo
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 2/12] X86: fix nvidia HPET warning
2007-10-23 22:36 ` [PATCH 2/12] X86: fix nvidia HPET warning Jeff Garzik
2007-10-24 4:05 ` Jeremy Fitzhardinge
@ 2007-10-24 12:03 ` Ingo Molnar
1 sibling, 0 replies; 44+ messages in thread
From: Ingo Molnar @ 2007-10-24 12:03 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, tglx, H. Peter Anvin
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=unknown-8bit, Size: 160 bytes --]
* Jeff Garzik <jeff@garzik.org> wrote:
> arch/x86/kernel/early-quirks.c:40: warning:
> ‘nvidia_hpet_check’ defined but not used
thanks, applied.
Ingo
^ permalink raw reply [flat|nested] 44+ messages in thread
* [patch] kvm: fix !SMP build error
2007-10-24 8:36 ` Avi Kivity
@ 2007-10-24 12:32 ` Ingo Molnar
2007-10-24 12:36 ` Ingo Molnar
0 siblings, 1 reply; 44+ messages in thread
From: Ingo Molnar @ 2007-10-24 12:32 UTC (permalink / raw)
To: Avi Kivity; +Cc: Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
* Avi Kivity <avi@qumranet.com> wrote:
> Of course SMP is not required. I'll submit a patch to make
> smp_call_function_mask() available on UP kernels. Andrew, please
> don't apply the KVM Kconfig patch.
i have triggered this and fixed it the right way - see the patch below.
This fixes the 2.6.24-rc1 build error.
Ingo
------------------->
Subject: kvm: fix !SMP build error
From: Ingo Molnar <mingo@elte.hu>
fix !SMP build error:
drivers/kvm/kvm_main.c: In function 'kvm_flush_remote_tlbs':
drivers/kvm/kvm_main.c:220: error: implicit declaration of function 'smp_call_function_mask'
(and also avoid unused function warning related to up_smp_call_function()
not making use of the 'func' parameter.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
include/linux/smp.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Index: linux/include/linux/smp.h
===================================================================
--- linux.orig/include/linux/smp.h
+++ linux/include/linux/smp.h
@@ -84,11 +84,12 @@ void smp_prepare_boot_cpu(void);
* These macros fold the SMP functionality into a single CPU system
*/
#define raw_smp_processor_id() 0
-static inline int up_smp_call_function(void)
+static inline int up_smp_call_function(void (*func)(void *), void *info)
{
return 0;
}
-#define smp_call_function(func,info,retry,wait) (up_smp_call_function())
+#define smp_call_function(func,info,retry,wait) \
+ (up_smp_call_function(func, info))
#define on_each_cpu(func,info,retry,wait) \
({ \
local_irq_disable(); \
@@ -107,6 +108,8 @@ static inline void smp_send_reschedule(i
local_irq_enable(); \
0; \
})
+#define smp_call_function_mask(mask,func,info,wait) \
+ (up_smp_call_function(func, info))
#endif /* !SMP */
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-10-24 12:32 ` [patch] kvm: fix !SMP build error Ingo Molnar
@ 2007-10-24 12:36 ` Ingo Molnar
2007-10-24 18:11 ` Ingo Molnar
0 siblings, 1 reply; 44+ messages in thread
From: Ingo Molnar @ 2007-10-24 12:36 UTC (permalink / raw)
To: Avi Kivity; +Cc: Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
* Ingo Molnar <mingo@elte.hu> wrote:
> i have triggered this and fixed it the right way - see the patch
> below. This fixes the 2.6.24-rc1 build error.
and this followup patch is needed too if my patch is applied.
Ingo
------------------->
Subject: x86: fix build error in arch/x86/kernel/cpu/mtrr/main.c
From: Ingo Molnar <mingo@elte.hu>
ipi_handler() must be available on !SMP too.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/x86/kernel/cpu/mtrr/main.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
Index: linux/arch/x86/kernel/cpu/mtrr/main.c
===================================================================
--- linux.orig/arch/x86/kernel/cpu/mtrr/main.c
+++ linux/arch/x86/kernel/cpu/mtrr/main.c
@@ -139,13 +139,12 @@ struct set_mtrr_data {
mtrr_type smp_type;
};
-#ifdef CONFIG_SMP
-
static void ipi_handler(void *info)
/* [SUMMARY] Synchronisation handler. Executed by "other" CPUs.
[RETURNS] Nothing.
*/
{
+#ifdef CONFIG_SMP
struct set_mtrr_data *data = info;
unsigned long flags;
@@ -168,9 +167,8 @@ static void ipi_handler(void *info)
atomic_dec(&data->count);
local_irq_restore(flags);
-}
-
#endif
+}
static inline int types_compatible(mtrr_type type1, mtrr_type type2) {
return type1 == MTRR_TYPE_UNCACHABLE ||
^ permalink raw reply [flat|nested] 44+ messages in thread
* [2.6 patch] x86/kernel/acpi/processor.c: fix SMP=n warning
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
` (12 preceding siblings ...)
2007-10-24 12:01 ` Ingo Molnar
@ 2007-10-24 16:27 ` Adrian Bunk
13 siblings, 0 replies; 44+ messages in thread
From: Adrian Bunk @ 2007-10-24 16:27 UTC (permalink / raw)
To: Jeff Garzik, lenb, mingo, hpa; +Cc: LKML, akpm, tglx, linux-acpi
On Tue, Oct 23, 2007 at 06:36:33PM -0400, Jeff Garzik wrote:
> Fix !CONFIG_SMP warning:
>
> arch/x86/kernel/acpi/processor.c: In function ‘arch_acpi_processor_init_pdc’:
> arch/x86/kernel/acpi/processor.c:65: warning: unused variable ‘cpu’
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
> Ideally this warning should be hidden inside a wrapper or somesuch, to
> camouflage the unneeded argument in !SMP case.
>
> diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
> index 2ed0a4c..45e262a 100644
> --- a/arch/x86/kernel/acpi/processor.c
> +++ b/arch/x86/kernel/acpi/processor.c
> @@ -62,7 +62,9 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
> /* Initialize _PDC data based on the CPU vendor */
> void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
> {
> +#ifdef CONFIG_SMP
> unsigned int cpu = pr->id;
> +#endif
>...
The #ifdef is ugly.
What about the patch below instead?
cu
Adrian
<-- snip -->
This patch fixes the following warning with CONFIG_SMP=n:
<-- snip -->
...
arch/x86/kernel/acpi/processor.c: In function `arch_acpi_processor_init_pdc':
arch/x86/kernel/acpi/processor.c:65: warning: unused variable `cpu'
...
<-- snip -->
Based on a patch by Jeff Garzik.
Signed-off-by: Adrian Bunk <bunk@kernel.org>
---
96d83d412fb6530173110c872f1125ae21938a99
diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
index 2ed0a4c..f63e5ff 100644
--- a/arch/x86/kernel/acpi/processor.c
+++ b/arch/x86/kernel/acpi/processor.c
@@ -62,8 +62,7 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
/* Initialize _PDC data based on the CPU vendor */
void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
{
- unsigned int cpu = pr->id;
- struct cpuinfo_x86 *c = &cpu_data(cpu);
+ struct cpuinfo_x86 *c = &cpu_data(pr->id);
pr->pdc = NULL;
if (c->x86_vendor == X86_VENDOR_INTEL)
^ permalink raw reply related [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-10-24 12:36 ` Ingo Molnar
@ 2007-10-24 18:11 ` Ingo Molnar
2007-11-01 3:34 ` Randy Dunlap
0 siblings, 1 reply; 44+ messages in thread
From: Ingo Molnar @ 2007-10-24 18:11 UTC (permalink / raw)
To: Avi Kivity; +Cc: Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
* Ingo Molnar <mingo@elte.hu> wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> > i have triggered this and fixed it the right way - see the patch
> > below. This fixes the 2.6.24-rc1 build error.
>
> and this followup patch is needed too if my patch is applied.
plus the patch below is needed too in addition.
Ingo
------------->
Subject: x86: fix build error in arch/x86/kernel/nmi_32.c
From: Ingo Molnar <mingo@elte.hu>
nmi_cpu_busy() must be available on !SMP too.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
arch/x86/kernel/nmi_32.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux/arch/x86/kernel/nmi_32.c
===================================================================
--- linux.orig/arch/x86/kernel/nmi_32.c
+++ linux/arch/x86/kernel/nmi_32.c
@@ -53,13 +53,13 @@ static int unknown_nmi_panic_callback(st
static int endflag __initdata = 0;
-#ifdef CONFIG_SMP
/* The performance counters used by NMI_LOCAL_APIC don't trigger when
* the CPU is idle. To make sure the NMI watchdog really ticks on all
* CPUs during the test make them busy.
*/
static __init void nmi_cpu_busy(void *data)
{
+#ifdef CONFIG_SMP
local_irq_enable_in_hardirq();
/* Intentionally don't use cpu_relax here. This is
to make sure that the performance counter really ticks,
@@ -69,8 +69,8 @@ static __init void nmi_cpu_busy(void *da
care if they get somewhat less cycles. */
while (endflag == 0)
mb();
-}
#endif
+}
static int __init check_nmi_watchdog(void)
{
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [PATCH 3/12] ACPI sbs: fix retval warning
2007-10-23 22:36 ` [PATCH 3/12] ACPI sbs: fix retval warning Jeff Garzik
@ 2007-10-30 10:31 ` Jeff Garzik
0 siblings, 0 replies; 44+ messages in thread
From: Jeff Garzik @ 2007-10-30 10:31 UTC (permalink / raw)
To: LKML, len.brown; +Cc: akpm, Alexey Starikovskiy
Jeff Garzik wrote:
> drivers/acpi/sbs.c: In function ‘acpi_battery_add’:
> drivers/acpi/sbs.c:811: warning: ignoring return value of ‘device_create_file’, declared with attribute warn_unused_result
>
> Additional cleanups:
> * use struct acpi_battery in acpi_battery_remove() to clean up function
> calls, just like acpi_battery_add() already does.
>
> * un-indent unregister call, as it mistakenly gives the impression that
> it belongs inside the 'if' test
>
> * remove unneeded braces
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>
> diff --git a/drivers/acpi/sbs.c b/drivers/acpi/sbs.c
> index 90fd09c..c5c011b 100644
> --- a/drivers/acpi/sbs.c
> +++ b/drivers/acpi/sbs.c
> @@ -113,6 +113,7 @@ struct acpi_battery {
> u16 spec;
> u8 id;
> u8 present:1;
> + u8 have_sysfs:1;
> };
>
> #define to_acpi_battery(x) container_of(x, struct acpi_battery, bat);
> @@ -808,7 +809,8 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
> }
> battery->bat.get_property = acpi_sbs_battery_get_property;
> result = power_supply_register(&sbs->device->dev, &battery->bat);
> - device_create_file(battery->bat.dev, &alarm_attr);
> + if (device_create_file(battery->bat.dev, &alarm_attr) == 0)
> + battery->have_sysfs = 1;
> printk(KERN_INFO PREFIX "%s [%s]: Battery Slot [%s] (battery %s)\n",
> ACPI_SBS_DEVICE_NAME, acpi_device_bid(sbs->device),
> battery->name, sbs->battery->present ? "present" : "absent");
> @@ -817,14 +819,16 @@ static int acpi_battery_add(struct acpi_sbs *sbs, int id)
>
> static void acpi_battery_remove(struct acpi_sbs *sbs, int id)
> {
> - if (sbs->battery[id].bat.dev)
> - device_remove_file(sbs->battery[id].bat.dev, &alarm_attr);
> - power_supply_unregister(&sbs->battery[id].bat);
> + struct acpi_battery *battery = &sbs->battery[id];
> +
> + if (battery->have_sysfs)
> + device_remove_file(battery->bat.dev, &alarm_attr);
> +
> + power_supply_unregister(&battery->bat);
> +
> #ifdef CONFIG_ACPI_PROCFS
> - if (sbs->battery[id].proc_entry) {
> - acpi_sbs_remove_fs(&(sbs->battery[id].proc_entry),
> - acpi_battery_dir);
> - }
> + if (sbs->battery[id].proc_entry)
> + acpi_sbs_remove_fs(&battery->proc_entry, acpi_battery_dir);
Len, this seems to have been missed in the recent ACPI push.
Can you queue this, or a similar fix, for the recently-added compiler
warning (at the top of this email)?
Jeff
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-10-24 18:11 ` Ingo Molnar
@ 2007-11-01 3:34 ` Randy Dunlap
2007-11-01 8:31 ` Ingo Molnar
0 siblings, 1 reply; 44+ messages in thread
From: Randy Dunlap @ 2007-11-01 3:34 UTC (permalink / raw)
To: Ingo Molnar
Cc: Avi Kivity, Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
On Wed, 24 Oct 2007 20:11:07 +0200 Ingo Molnar wrote:
>
> * Ingo Molnar <mingo@elte.hu> wrote:
>
> > * Ingo Molnar <mingo@elte.hu> wrote:
> >
> > > i have triggered this and fixed it the right way - see the patch
> > > below. This fixes the 2.6.24-rc1 build error.
> >
> > and this followup patch is needed too if my patch is applied.
>
> plus the patch below is needed too in addition.
>
> Ingo
Hi,
I'm still hitting this build error. Are these 3 patches not yet
merged??
Thanks.
> ------------->
> Subject: x86: fix build error in arch/x86/kernel/nmi_32.c
> From: Ingo Molnar <mingo@elte.hu>
>
> nmi_cpu_busy() must be available on !SMP too.
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
> arch/x86/kernel/nmi_32.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Index: linux/arch/x86/kernel/nmi_32.c
> ===================================================================
> --- linux.orig/arch/x86/kernel/nmi_32.c
> +++ linux/arch/x86/kernel/nmi_32.c
> @@ -53,13 +53,13 @@ static int unknown_nmi_panic_callback(st
>
> static int endflag __initdata = 0;
>
> -#ifdef CONFIG_SMP
> /* The performance counters used by NMI_LOCAL_APIC don't trigger when
> * the CPU is idle. To make sure the NMI watchdog really ticks on all
> * CPUs during the test make them busy.
> */
> static __init void nmi_cpu_busy(void *data)
> {
> +#ifdef CONFIG_SMP
> local_irq_enable_in_hardirq();
> /* Intentionally don't use cpu_relax here. This is
> to make sure that the performance counter really ticks,
> @@ -69,8 +69,8 @@ static __init void nmi_cpu_busy(void *da
> care if they get somewhat less cycles. */
> while (endflag == 0)
> mb();
> -}
> #endif
> +}
>
> static int __init check_nmi_watchdog(void)
> {
> -
---
~Randy
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-11-01 3:34 ` Randy Dunlap
@ 2007-11-01 8:31 ` Ingo Molnar
2007-11-01 13:10 ` Avi Kivity
0 siblings, 1 reply; 44+ messages in thread
From: Ingo Molnar @ 2007-11-01 8:31 UTC (permalink / raw)
To: Randy Dunlap
Cc: Avi Kivity, Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
* Randy Dunlap <rdunlap@xenotime.net> wrote:
> > > and this followup patch is needed too if my patch is applied.
> >
> > plus the patch below is needed too in addition.
> >
> > Ingo
>
> Hi,
> I'm still hitting this build error. Are these 3 patches not yet
> merged??
i thought we agreed it would go in via KVM. Can send it as part of the
scheduler git tree too, these patches are working fine for me. Avi?
Ingo
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-11-01 8:31 ` Ingo Molnar
@ 2007-11-01 13:10 ` Avi Kivity
2007-11-01 14:59 ` Ingo Molnar
0 siblings, 1 reply; 44+ messages in thread
From: Avi Kivity @ 2007-11-01 13:10 UTC (permalink / raw)
To: Ingo Molnar
Cc: Randy Dunlap, Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
Ingo Molnar wrote:
> * Randy Dunlap <rdunlap@xenotime.net> wrote:
>
>
>>>> and this followup patch is needed too if my patch is applied.
>>>>
>>> plus the patch below is needed too in addition.
>>>
>>> Ingo
>>>
>> Hi,
>> I'm still hitting this build error. Are these 3 patches not yet
>> merged??
>>
>
> i thought we agreed it would go in via KVM. Can send it as part of the
> scheduler git tree too, these patches are working fine for me. Avi?
>
>
I thought you were handling it, as they aren't part of kvm proper. But
I can send them, sure.
--
Any sufficiently difficult bug is indistinguishable from a feature.
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-11-01 13:10 ` Avi Kivity
@ 2007-11-01 14:59 ` Ingo Molnar
2007-11-01 21:16 ` Avi Kivity
0 siblings, 1 reply; 44+ messages in thread
From: Ingo Molnar @ 2007-11-01 14:59 UTC (permalink / raw)
To: Avi Kivity
Cc: Randy Dunlap, Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
* Avi Kivity <avi@qumranet.com> wrote:
> I thought you were handling it, as they aren't part of kvm proper.
> But I can send them, sure.
i've got them in my queue already so i'll send them in the next
scheduler batch, ok?
Ingo
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [patch] kvm: fix !SMP build error
2007-11-01 14:59 ` Ingo Molnar
@ 2007-11-01 21:16 ` Avi Kivity
0 siblings, 0 replies; 44+ messages in thread
From: Avi Kivity @ 2007-11-01 21:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: Randy Dunlap, Jeff Garzik, Adrian Bunk, LKML, akpm, Linus Torvalds
Ingo Molnar wrote:
> * Avi Kivity <avi@qumranet.com> wrote:
>
>
>> I thought you were handling it, as they aren't part of kvm proper.
>> But I can send them, sure.
>>
>
> i've got them in my queue already so i'll send them in the next
> scheduler batch, ok?
>
Thanks.
--
Any sufficiently difficult bug is indistinguishable from a feature.
^ permalink raw reply [flat|nested] 44+ messages in thread
* [bug] Re: [PATCH 4/12] riscom8: fix SMP brokenness
2007-10-23 22:36 ` [PATCH 4/12] riscom8: fix SMP brokenness Jeff Garzik
2007-10-24 6:47 ` Jiri Slaby
@ 2008-02-07 0:29 ` Ingo Molnar
2008-02-20 20:37 ` Jeff Garzik
1 sibling, 1 reply; 44+ messages in thread
From: Ingo Molnar @ 2008-02-07 0:29 UTC (permalink / raw)
To: Jeff Garzik; +Cc: LKML, akpm, Linus Torvalds
[-- Attachment #1: Type: text/plain, Size: 2712 bytes --]
* Jeff Garzik <jeff@garzik.org> wrote:
> After analyzing the elements that save_flags/cli/sti/restore_flags
> were protecting, convert their usages to a global spinlock (the
> easiest and most obvious next-step). There were some usages of flags
> being intentionally cached, because the code already knew the state of
> interrupts. These have been taken into account.
>
> This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested.
regression for sale :-) The above patch, after sitting in -mm for
approximately 3 months, just went upstream today via commit
d9afa43532adf8a31b93c4c7601f and promptly broke tonight's x86.git
randconfig qa run via tons of these messages:
[ 3.768431] BUG: scheduling while atomic: swapper/1/0x00000002
[ 3.769430] 1 lock held by swapper/1:
[ 3.770437] #0: (riscom_lock){--..}, at: [<80389ceb>] rc_release_drivers+0xe/0x33
[ 3.776430] Pid: 1, comm: swapper Not tainted 2.6.24 #14
[ 3.777428] [<801167d3>] __schedule_bug+0x6e/0x75
[ 3.779427] [<80756065>] schedule+0x35c/0x429
[ 3.781427] [<80103a0b>] ? restore_nocheck+0x12/0x15
[ 3.784427] [<80103a0b>] ? restore_nocheck+0x12/0x15
[ 3.786426] [<80756381>] schedule_timeout+0x69/0xa2
[ 3.788426] [<80758337>] ? _spin_unlock_irq+0x25/0x40
[ 3.790426] [<80755c0e>] wait_for_common+0x96/0x10d
[ 3.792425] [<80115edc>] ? default_wake_function+0x0/0xd
[ 3.794425] [<80755d07>] wait_for_completion+0x12/0x14
[ 3.796425] [<801282fe>] call_usermodehelper_exec+0x78/0x8c
[ 3.798424] [<8015a041>] ? slob_alloc+0xd8/0x1ad
[ 3.800424] [<80301640>] kobject_uevent_env+0x3ae/0x3c5
[ 3.802424] [<803ac361>] ? dev_uevent+0x0/0x25a
[ 3.804424] [<80301661>] kobject_uevent+0xa/0xc
[ 3.806423] [<803acc06>] device_del+0x139/0x15d
[ 3.808423] [<803acc58>] device_unregister+0x2e/0x3b
[ 3.810423] [<803acc8e>] device_destroy+0x29/0x2f
[ 3.812422] [<8035965f>] tty_unregister_device+0x18/0x1a
[ 3.814422] [<8035970b>] tty_unregister_driver+0xaa/0xf6
[ 3.816422] [<80389cf7>] rc_release_drivers+0x1a/0x33
[ 3.818421] [<80ac5e16>] riscom8_init_module+0x4ff/0x539
[ 3.820421] [<8012e76f>] ? ktime_get_ts+0x44/0x49
[ 3.822421] [<80aaf701>] kernel_init+0x9a/0x263
[ 3.824421] [<80ac5917>] ? riscom8_init_module+0x0/0x539
[ 3.827420] [<80aaf667>] ? kernel_init+0x0/0x263
[ 3.829420] [<8010455f>] kernel_thread_helper+0x7/0x18
[ 3.831419] =======================
to reproduce: enable CONFIG_RISCOM8=y on an SMP+PREEMPT kernel and boot
it. You dont need a riscom8 to trigger these messages (i dont have it
either). (i suspect 'modprobe riscom8' would trigger similar messages)
Bootlog and config attached.
Ingo
[-- Attachment #2: boot.log.bz2 --]
[-- Type: application/x-bzip2, Size: 52824 bytes --]
[-- Attachment #3: config --]
[-- Type: text/plain, Size: 45592 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.24
# Thu Feb 7 01:07:17 2008
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_X86=y
# CONFIG_GENERIC_LOCKBREAK is not set
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_SEMAPHORE_SLEEPERS=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_QUICKLIST=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_HWEIGHT=y
# CONFIG_GENERIC_GPIO is not set
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_DMI=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_CALIBRATE_DELAY=y
# CONFIG_GENERIC_TIME_VSYSCALL is not set
# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
# CONFIG_ZONE_DMA32 is not set
CONFIG_ARCH_POPULATES_NODE_MAP=y
# CONFIG_AUDIT_ARCH is not set
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_KTIME_SCALAR=y
CONFIG_BOOTPARAM_SUPPORT=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
CONFIG_USER_NS=y
# CONFIG_PID_NS is not set
# CONFIG_AUDIT is not set
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=20
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
# CONFIG_GROUP_SCHED is not set
# CONFIG_BOOTPARAM_MAXCPUS_1 is not set
CONFIG_BOOTPARAM_NOSMP=y
# CONFIG_CGROUP_CPUACCT is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_EMBEDDED=y
# CONFIG_UID16 is not set
# CONFIG_SYSCTL_SYSCALL is not set
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
# CONFIG_BUG is not set
CONFIG_ELF_CORE=y
CONFIG_COMPAT_BRK=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
# CONFIG_EPOLL is not set
CONFIG_SIGNALFD=y
# CONFIG_TIMERFD is not set
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_SLAB is not set
# CONFIG_SLUB is not set
CONFIG_SLOB=y
CONFIG_PROFILING=y
# CONFIG_MARKERS is not set
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_KPROBES=y
# CONFIG_PROC_PAGE_MONITOR is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
CONFIG_LBD=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_LSF=y
# CONFIG_BLK_DEV_BSG is not set
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_CLASSIC_RCU=y
# CONFIG_PREEMPT_RCU is not set
#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
# CONFIG_NO_HZ is not set
# CONFIG_BOOTPARAM_NO_HZ_OFF is not set
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
# CONFIG_BOOTPARAM_HIGHRES_OFF is not set
# CONFIG_SMP is not set
# CONFIG_X86_PC is not set
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
CONFIG_X86_GENERICARCH=y
# CONFIG_X86_ES7000 is not set
# CONFIG_X86_RDC321X is not set
# CONFIG_X86_VSMP is not set
# CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER is not set
# CONFIG_PARAVIRT_GUEST is not set
CONFIG_X86_CYCLONE_TIMER=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
CONFIG_MGEODE_LX=y
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_GENERIC_CPU is not set
# CONFIG_X86_GENERIC is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_TSC=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
CONFIG_X86_DEBUGCTLMSR=y
# CONFIG_HPET_TIMER is not set
# CONFIG_IOMMU_HELPER is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
# CONFIG_RCU_TRACE is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_VM86=y
CONFIG_TOSHIBA=y
CONFIG_I8K=y
# CONFIG_X86_REBOOTFIXUPS is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
# CONFIG_VMSPLIT_3G is not set
# CONFIG_VMSPLIT_3G_OPT is not set
CONFIG_VMSPLIT_2G=y
# CONFIG_VMSPLIT_2G_OPT is not set
# CONFIG_VMSPLIT_1G is not set
CONFIG_PAGE_OFFSET=0x80000000
CONFIG_HIGHMEM=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_FLATMEM_MANUAL=y
# CONFIG_DISCONTIGMEM_MANUAL is not set
# CONFIG_SPARSEMEM_MANUAL is not set
CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_NR_QUICK=1
CONFIG_VIRT_TO_BUS=y
# CONFIG_HIGHPTE is not set
# CONFIG_MATH_EMULATION is not set
# CONFIG_MTRR is not set
# CONFIG_SECCOMP is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
CONFIG_CRASH_DUMP=y
CONFIG_PHYSICAL_START=0x100000
CONFIG_RELOCATABLE=y
CONFIG_PHYSICAL_ALIGN=0x100000
# CONFIG_COMPAT_VDSO is not set
CONFIG_BOOTPARAM_NMI_WATCHDOG_BIT_1=y
CONFIG_BOOTPARAM_NOAPIC=y
CONFIG_BOOTPARAM_NOLAPIC=y
# CONFIG_BOOTPARAM_NOLAPIC_TIMER is not set
# CONFIG_BOOTPARAM_LAPIC is not set
CONFIG_BOOTPARAM_HPET_DISABLE=y
CONFIG_BOOTPARAM_IDLE_MWAIT=y
CONFIG_BOOTPARAM_IDLE_POLL=y
CONFIG_BOOTPARAM_HIGHMEM_512M=y
# CONFIG_BOOTPARAM_NOPAT is not set
# CONFIG_BOOTPARAM_NOTSC is not set
CONFIG_BOOTPARAM_ACPI_OFF=y
# CONFIG_BOOTPARAM_PCI_NOACPI is not set
# CONFIG_BOOTPARAM_PCI_NOMSI is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management options
#
# CONFIG_PM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_IDLE is not set
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_GOBIOS=y
# CONFIG_PCI_GOMMCONFIG is not set
# CONFIG_PCI_GODIRECT is not set
# CONFIG_PCI_GOANY is not set
CONFIG_PCI_BIOS=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_LEGACY is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_HT_IRQ=y
CONFIG_ISA_DMA_API=y
CONFIG_ISA=y
CONFIG_EISA=y
CONFIG_EISA_PCI_EISA=y
# CONFIG_EISA_NAMES is not set
# CONFIG_MCA is not set
# CONFIG_SCx200 is not set
CONFIG_GEODE_MFGPT_TIMER=y
CONFIG_PCCARD=y
CONFIG_PCMCIA_DEBUG=y
CONFIG_PCMCIA=y
# CONFIG_PCMCIA_LOAD_CIS is not set
CONFIG_PCMCIA_IOCTL=y
# CONFIG_CARDBUS is not set
#
# PC-card bridges
#
CONFIG_YENTA=y
# CONFIG_YENTA_O2 is not set
# CONFIG_YENTA_RICOH is not set
# CONFIG_YENTA_TI is not set
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
# CONFIG_I82092 is not set
# CONFIG_I82365 is not set
# CONFIG_TCIC is not set
CONFIG_PCMCIA_PROBE=y
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_MISC=y
#
# Networking
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
CONFIG_XFRM_MIGRATE=y
# CONFIG_XFRM_STATISTICS is not set
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_ASK_IP_FIB_HASH is not set
CONFIG_IP_FIB_TRIE=y
# CONFIG_IP_FIB_HASH is not set
# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
# CONFIG_IP_ROUTE_MULTIPATH is not set
CONFIG_IP_ROUTE_VERBOSE=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=y
CONFIG_ARPD=y
# CONFIG_SYN_COOKIES is not set
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_INET_LRO=y
# CONFIG_INET_DIAG is not set
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
# CONFIG_IPV6_PRIVACY is not set
# CONFIG_IPV6_ROUTER_PREF is not set
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
# CONFIG_INET6_AH is not set
# CONFIG_INET6_ESP is not set
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
CONFIG_INET6_TUNNEL=y
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
# CONFIG_IPV6_SIT is not set
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
# CONFIG_NETLABEL is not set
CONFIG_NETWORK_SECMARK=y
# CONFIG_NETFILTER is not set
CONFIG_IP_DCCP=y
CONFIG_IP_DCCP_ACKVEC=y
#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2=y
CONFIG_IP_DCCP_CCID2_DEBUG=y
CONFIG_IP_DCCP_CCID3=y
CONFIG_IP_DCCP_CCID3_DEBUG=y
CONFIG_IP_DCCP_CCID3_RTO=100
CONFIG_IP_DCCP_TFRC_LIB=y
CONFIG_IP_DCCP_TFRC_DEBUG=y
#
# DCCP Kernel Hacking
#
CONFIG_IP_DCCP_DEBUG=y
# CONFIG_IP_SCTP is not set
CONFIG_TIPC=y
CONFIG_TIPC_ADVANCED=y
CONFIG_TIPC_ZONES=3
CONFIG_TIPC_CLUSTERS=1
CONFIG_TIPC_NODES=255
CONFIG_TIPC_SLAVE_NODES=0
CONFIG_TIPC_PORTS=8191
CONFIG_TIPC_LOG=0
# CONFIG_TIPC_DEBUG is not set
# CONFIG_ATM is not set
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
# CONFIG_DECNET is not set
CONFIG_LLC=y
# CONFIG_LLC2 is not set
CONFIG_IPX=y
CONFIG_IPX_INTERN=y
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
CONFIG_LAPB=y
CONFIG_ECONET=y
CONFIG_ECONET_AUNUDP=y
# CONFIG_ECONET_NATIVE is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_HAMRADIO=y
#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
# CONFIG_NETROM is not set
CONFIG_ROSE=y
#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
# CONFIG_BPQETHER is not set
# CONFIG_DMASCC is not set
CONFIG_SCC=y
# CONFIG_SCC_DELAY is not set
# CONFIG_SCC_TRXECHO is not set
CONFIG_BAYCOM_SER_FDX=y
# CONFIG_BAYCOM_SER_HDX is not set
CONFIG_YAM=y
CONFIG_CAN=y
# CONFIG_CAN_RAW is not set
CONFIG_CAN_BCM=y
#
# CAN Device Drivers
#
CONFIG_CAN_VCAN=y
# CONFIG_CAN_DEBUG_DEVICES is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_DEBUG=y
CONFIG_RXKAD=y
CONFIG_FIB_RULES=y
#
# Wireless
#
# CONFIG_CFG80211 is not set
CONFIG_WIRELESS_EXT=y
# CONFIG_MAC80211 is not set
CONFIG_IEEE80211=y
# CONFIG_IEEE80211_DEBUG is not set
CONFIG_IEEE80211_CRYPT_WEP=y
CONFIG_IEEE80211_CRYPT_CCMP=y
CONFIG_IEEE80211_CRYPT_TKIP=y
CONFIG_IEEE80211_SOFTMAC=y
# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_DEBUG_DRIVER=y
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
# CONFIG_PROC_EVENTS is not set
# CONFIG_PARPORT is not set
# CONFIG_PNP is not set
# CONFIG_BLK_DEV is not set
CONFIG_BLK_CPQ_DA=y
# CONFIG_MISC_DEVICES is not set
CONFIG_TIFM_CORE=y
#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_SCSI_PROC_FS=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
CONFIG_CHR_DEV_SG=y
CONFIG_CHR_DEV_SCH=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
# CONFIG_SCSI_SAS_ATA is not set
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SAS_LIBSAS_DEBUG=y
# CONFIG_SCSI_SRP_ATTRS is not set
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_SCSI_AIC7XXX=y
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_SATA_AHCI=y
CONFIG_SATA_SVW=y
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
CONFIG_SATA_QSTOR=y
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SX4=y
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_SATA_SIS=y
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
CONFIG_SATA_INIC162X=y
# CONFIG_PATA_ALI is not set
CONFIG_PATA_AMD=y
CONFIG_PATA_ARTOP=y
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
CONFIG_PATA_CS5520=y
CONFIG_PATA_CS5530=y
# CONFIG_PATA_CS5535 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
CONFIG_ATA_GENERIC=y
CONFIG_PATA_HPT366=y
# CONFIG_PATA_HPT37X is not set
CONFIG_PATA_HPT3X2N=y
# CONFIG_PATA_HPT3X3 is not set
CONFIG_PATA_IT821X=y
CONFIG_PATA_IT8213=y
CONFIG_PATA_JMICRON=y
# CONFIG_PATA_LEGACY is not set
CONFIG_PATA_TRIFLEX=y
CONFIG_PATA_MARVELL=y
# CONFIG_PATA_MPIIX is not set
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_NETCELL=y
CONFIG_PATA_NINJA32=y
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OPTI is not set
CONFIG_PATA_OPTIDMA=y
# CONFIG_PATA_PCMCIA is not set
CONFIG_PATA_PDC_OLD=y
# CONFIG_PATA_QDI is not set
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RZ1000=y
CONFIG_PATA_SC1200=y
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_PDC2027X=y
# CONFIG_PATA_SIL680 is not set
CONFIG_PATA_SIS=y
CONFIG_PATA_VIA=y
# CONFIG_PATA_WINBOND is not set
CONFIG_PATA_WINBOND_VLB=y
CONFIG_PATA_PLATFORM=y
# CONFIG_MD is not set
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
CONFIG_FUSION_MAX_SGE=128
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LOGGING is not set
#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
# CONFIG_FIREWIRE_SBP2 is not set
# CONFIG_IEEE1394 is not set
CONFIG_I2O=y
# CONFIG_I2O_LCT_NOTIFY_ON_CHANGES is not set
CONFIG_I2O_EXT_ADAPTEC=y
# CONFIG_I2O_CONFIG is not set
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
# CONFIG_I2O_SCSI is not set
CONFIG_I2O_PROC=y
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
# CONFIG_DUMMY is not set
CONFIG_BONDING=y
CONFIG_MACVLAN=y
CONFIG_EQUALIZER=y
CONFIG_TUN=y
# CONFIG_VETH is not set
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
CONFIG_MARVELL_PHY=y
# CONFIG_DAVICOM_PHY is not set
CONFIG_QSEMI_PHY=y
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
CONFIG_SMSC_PHY=y
# CONFIG_BROADCOM_PHY is not set
CONFIG_ICPLUS_PHY=y
# CONFIG_REALTEK_PHY is not set
CONFIG_FIXED_PHY=y
CONFIG_MDIO_BITBANG=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
CONFIG_HAPPYMEAL=y
# CONFIG_SUNGEM is not set
CONFIG_CASSINI=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=y
# CONFIG_EL2 is not set
CONFIG_ELPLUS=y
CONFIG_EL16=y
CONFIG_EL3=y
CONFIG_3C515=y
# CONFIG_VORTEX is not set
# CONFIG_TYPHOON is not set
CONFIG_LANCE=y
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_ENC28J60 is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_NET_TULIP is not set
CONFIG_AT1700=y
CONFIG_DEPCA=y
CONFIG_HP100=y
CONFIG_NET_ISA=y
CONFIG_E2100=y
CONFIG_EWRK3=y
# CONFIG_EEXPRESS is not set
# CONFIG_EEXPRESS_PRO is not set
CONFIG_HPLAN_PLUS=y
CONFIG_HPLAN=y
CONFIG_LP486E=y
CONFIG_ETH16I=y
CONFIG_NE2000=y
CONFIG_ZNET=y
# CONFIG_SEEQ8005 is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
CONFIG_APRICOT=y
# CONFIG_B44 is not set
CONFIG_FORCEDETH=y
CONFIG_FORCEDETH_NAPI=y
CONFIG_CS89x0=y
CONFIG_EEPRO100=y
CONFIG_E100=y
CONFIG_LNE390=y
CONFIG_FEALNX=y
CONFIG_NATSEMI=y
# CONFIG_NE2K_PCI is not set
CONFIG_NE3210=y
CONFIG_ES3210=y
# CONFIG_8139CP is not set
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
CONFIG_8139_OLD_RX_RESET=y
CONFIG_R6040=y
# CONFIG_SIS900 is not set
CONFIG_EPIC100=y
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=y
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
CONFIG_E1000_NAPI=y
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
# CONFIG_E1000E is not set
# CONFIG_E1000E_ENABLED is not set
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_NS83820 is not set
CONFIG_HAMACHI=y
CONFIG_YELLOWFIN=y
CONFIG_R8169=y
# CONFIG_R8169_NAPI is not set
# CONFIG_R8169_VLAN is not set
CONFIG_SKGE=y
# CONFIG_SKGE_DEBUG is not set
CONFIG_SKY2=y
# CONFIG_SKY2_DEBUG is not set
# CONFIG_SK98LIN is not set
CONFIG_VIA_VELOCITY=y
CONFIG_TIGON3=y
CONFIG_BNX2=y
CONFIG_QLA3XXX=y
# CONFIG_ATL1 is not set
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
CONFIG_CHELSIO_T3=y
# CONFIG_IXGBE is not set
CONFIG_IXGB=y
# CONFIG_IXGB_NAPI is not set
# CONFIG_S2IO is not set
CONFIG_MYRI10GE=y
CONFIG_NETXEN_NIC=y
CONFIG_NIU=y
# CONFIG_MLX4_CORE is not set
CONFIG_TEHUTI=y
CONFIG_BNX2X=y
CONFIG_TR=y
# CONFIG_IBMTR is not set
CONFIG_IBMOL=y
# CONFIG_IBMLS is not set
# CONFIG_3C359 is not set
CONFIG_TMS380TR=y
# CONFIG_TMSPCI is not set
# CONFIG_SKISA is not set
CONFIG_PROTEON=y
CONFIG_ABYSS=y
CONFIG_SMCTR=y
#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
CONFIG_LIBERTAS=y
# CONFIG_LIBERTAS_USB is not set
CONFIG_LIBERTAS_CS=y
CONFIG_LIBERTAS_SDIO=y
# CONFIG_LIBERTAS_DEBUG is not set
CONFIG_AIRO=y
# CONFIG_HERMES is not set
CONFIG_ATMEL=y
# CONFIG_PCI_ATMEL is not set
# CONFIG_PCMCIA_ATMEL is not set
CONFIG_AIRO_CS=y
# CONFIG_PCMCIA_WL3501 is not set
CONFIG_PRISM54=y
# CONFIG_USB_ZD1201 is not set
CONFIG_USB_NET_RNDIS_WLAN=y
# CONFIG_HOSTAP is not set
# CONFIG_BCM43XX is not set
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_DM9601 is not set
CONFIG_USB_NET_GL620A=y
# CONFIG_USB_NET_NET1080 is not set
CONFIG_USB_NET_PLUSB=y
# CONFIG_USB_NET_MCS7830 is not set
CONFIG_USB_NET_RNDIS_HOST=y
# CONFIG_USB_NET_CDC_SUBSET is not set
CONFIG_USB_NET_ZAURUS=y
# CONFIG_NET_PCMCIA is not set
CONFIG_WAN=y
# CONFIG_LANMEDIA is not set
CONFIG_HDLC=y
# CONFIG_HDLC_RAW is not set
# CONFIG_HDLC_RAW_ETH is not set
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
# CONFIG_HDLC_X25 is not set
# CONFIG_PCI200SYN is not set
# CONFIG_WANXL is not set
CONFIG_PC300=y
#
# Cyclades-PC300 MLPPP support is disabled.
#
#
# Refer to the file README.mlppp, provided by PC300 package.
#
# CONFIG_PC300TOO is not set
CONFIG_N2=y
CONFIG_C101=y
CONFIG_FARSYNC=y
# CONFIG_DLCI is not set
# CONFIG_SBNI is not set
CONFIG_FDDI=y
CONFIG_DEFXX=y
CONFIG_DEFXX_MMIO=y
CONFIG_SKFP=y
CONFIG_HIPPI=y
# CONFIG_ROADRUNNER is not set
# CONFIG_PPP is not set
CONFIG_SLIP=y
# CONFIG_SLIP_COMPRESSED is not set
CONFIG_SLIP_SMART=y
# CONFIG_SLIP_MODE_SLIP6 is not set
CONFIG_NET_FC=y
CONFIG_NETCONSOLE=y
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_VIRTIO_NET is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
CONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_SUNKBD=y
CONFIG_KEYBOARD_LKKBD=y
# CONFIG_KEYBOARD_XTKBD is not set
CONFIG_KEYBOARD_NEWTON=y
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
# CONFIG_MOUSE_PS2_TRACKPOINT is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
CONFIG_MOUSE_INPORT=y
# CONFIG_MOUSE_ATIXL is not set
CONFIG_MOUSE_LOGIBM=y
# CONFIG_MOUSE_PC110PAD is not set
CONFIG_MOUSE_VSXXXAA=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=y
# CONFIG_JOYSTICK_A3D is not set
CONFIG_JOYSTICK_ADI=y
CONFIG_JOYSTICK_COBRA=y
CONFIG_JOYSTICK_GF2K=y
CONFIG_JOYSTICK_GRIP=y
CONFIG_JOYSTICK_GRIP_MP=y
CONFIG_JOYSTICK_GUILLEMOT=y
# CONFIG_JOYSTICK_INTERACT is not set
CONFIG_JOYSTICK_SIDEWINDER=y
CONFIG_JOYSTICK_TMDC=y
# CONFIG_JOYSTICK_IFORCE is not set
# CONFIG_JOYSTICK_WARRIOR is not set
# CONFIG_JOYSTICK_MAGELLAN is not set
# CONFIG_JOYSTICK_SPACEORB is not set
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
CONFIG_JOYSTICK_TWIDJOY=y
# CONFIG_JOYSTICK_JOYDUMP is not set
# CONFIG_JOYSTICK_XPAD is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_GTCO=y
# CONFIG_TABLET_USB_KBTAB is not set
# CONFIG_TABLET_USB_WACOM is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_PCSPKR is not set
CONFIG_INPUT_WISTRON_BTNS=y
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
CONFIG_INPUT_POWERMATE=y
# CONFIG_INPUT_YEALINK is not set
CONFIG_INPUT_UINPUT=y
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
CONFIG_GAMEPORT_L4=y
CONFIG_GAMEPORT_EMU10K1=y
CONFIG_GAMEPORT_FM801=y
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_COMPUTONE=y
CONFIG_ROCKETPORT=y
CONFIG_CYCLADES=y
# CONFIG_CYZ_INTR is not set
CONFIG_DIGIEPCA=y
CONFIG_ESPSERIAL=y
# CONFIG_MOXA_INTELLIO is not set
CONFIG_MOXA_SMARTIO=y
CONFIG_MOXA_SMARTIO_NEW=y
# CONFIG_ISI is not set
# CONFIG_SYNCLINK is not set
# CONFIG_SYNCLINKMP is not set
# CONFIG_SYNCLINK_GT is not set
CONFIG_N_HDLC=y
CONFIG_RISCOM8=y
CONFIG_SPECIALIX=y
CONFIG_SPECIALIX_RTSCTS=y
# CONFIG_SX is not set
# CONFIG_RIO is not set
# CONFIG_STALDRV is not set
# CONFIG_NOZOMI is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_SERIAL_8250_PCI is not set
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
#
# You are using the RTC framework, not the legacy CMOS RTC driver
#
# CONFIG_GEN_RTC is not set
# CONFIG_DTLK is not set
CONFIG_R3964=y
# CONFIG_APPLICOM is not set
CONFIG_SONYPI=y
#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=y
# CONFIG_CARDMAN_4000 is not set
# CONFIG_CARDMAN_4040 is not set
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_NSC_GPIO is not set
CONFIG_CS5535_GPIO=y
# CONFIG_RAW_DRIVER is not set
CONFIG_HANGCHECK_TIMER=y
CONFIG_TCG_TPM=y
CONFIG_TCG_ATMEL=y
# CONFIG_TELCLOCK is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=y
CONFIG_I2C_ALGOPCA=y
#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
CONFIG_I2C_ALI15X3=y
CONFIG_I2C_AMD756=y
CONFIG_I2C_AMD756_S4882=y
CONFIG_I2C_AMD8111=y
CONFIG_I2C_ELEKTOR=y
CONFIG_I2C_I801=y
CONFIG_I2C_I810=y
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
CONFIG_I2C_OCORES=y
# CONFIG_I2C_PARPORT_LIGHT is not set
CONFIG_I2C_PROSAVAGE=y
# CONFIG_I2C_SAVAGE4 is not set
CONFIG_I2C_SIMTEC=y
# CONFIG_SCx200_ACB is not set
CONFIG_I2C_SIS5595=y
# CONFIG_I2C_SIS630 is not set
CONFIG_I2C_SIS96X=y
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
CONFIG_I2C_VIA=y
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
CONFIG_I2C_PCA_ISA=y
#
# Miscellaneous I2C Chip support
#
CONFIG_DS1682=y
# CONFIG_SENSORS_EEPROM is not set
CONFIG_SENSORS_PCF8574=y
# CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCF8591 is not set
CONFIG_TPS65010=y
# CONFIG_SENSORS_MAX6875 is not set
CONFIG_SENSORS_TSL2550=y
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
CONFIG_I2C_DEBUG_BUS=y
# CONFIG_I2C_DEBUG_CHIP is not set
#
# SPI support
#
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
# CONFIG_SPI_BITBANG is not set
#
# SPI Protocol Masters
#
CONFIG_SPI_AT25=y
CONFIG_SPI_SPIDEV=y
# CONFIG_SPI_TLE62X0 is not set
CONFIG_W1=y
CONFIG_W1_CON=y
#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=y
# CONFIG_W1_MASTER_DS2490 is not set
# CONFIG_W1_MASTER_DS2482 is not set
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
CONFIG_W1_SLAVE_SMEM=y
CONFIG_W1_SLAVE_DS2433=y
# CONFIG_W1_SLAVE_DS2433_CRC is not set
# CONFIG_W1_SLAVE_DS2760 is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_BATTERY_DS2760 is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
CONFIG_SENSORS_ADM1025=y
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
CONFIG_SENSORS_ADM1031=y
# CONFIG_SENSORS_ADM9240 is not set
CONFIG_SENSORS_ADT7470=y
# CONFIG_SENSORS_K8TEMP is not set
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
# CONFIG_SENSORS_DS1621 is not set
CONFIG_SENSORS_I5K_AMB=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_F71882FG=y
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_FSCHMD is not set
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
# CONFIG_SENSORS_CORETEMP is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
CONFIG_SENSORS_LM70=y
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
CONFIG_SENSORS_LM80=y
CONFIG_SENSORS_LM83=y
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
# CONFIG_SENSORS_LM90 is not set
CONFIG_SENSORS_LM92=y
# CONFIG_SENSORS_LM93 is not set
CONFIG_SENSORS_MAX1619=y
CONFIG_SENSORS_MAX6650=y
# CONFIG_SENSORS_PC87360 is not set
CONFIG_SENSORS_PC87427=y
# CONFIG_SENSORS_SIS5595 is not set
CONFIG_SENSORS_DME1737=y
CONFIG_SENSORS_SMSC47M1=y
# CONFIG_SENSORS_SMSC47M192 is not set
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_THMC50=y
# CONFIG_SENSORS_VIA686A is not set
CONFIG_SENSORS_VT1211=y
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=y
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83627HF=y
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_HDAPS is not set
CONFIG_SENSORS_APPLESMC=y
# CONFIG_HWMON_DEBUG_CHIP is not set
# CONFIG_WATCHDOG is not set
#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
# CONFIG_SSB_PCIHOST is not set
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
# CONFIG_SSB_PCMCIAHOST is not set
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set
#
# Multimedia devices
#
# CONFIG_DVB_CORE is not set
# CONFIG_DAB is not set
#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_ALI=y
CONFIG_AGP_ATI=y
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_AMD64 is not set
CONFIG_AGP_INTEL=y
CONFIG_AGP_NVIDIA=y
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_SWORKS is not set
CONFIG_AGP_VIA=y
CONFIG_AGP_EFFICEON=y
# CONFIG_DRM is not set
CONFIG_VGASTATE=y
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_SVGALIB=y
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_BACKLIGHT is not set
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
#
# Frame buffer hardware drivers
#
CONFIG_FB_PM2=y
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=y
CONFIG_FB_ARC=y
CONFIG_FB_IMSTT=y
# CONFIG_FB_UVESA is not set
# CONFIG_FB_EFI is not set
CONFIG_FB_HECUBA=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
CONFIG_FB_I810=y
CONFIG_FB_I810_GTF=y
CONFIG_FB_I810_I2C=y
# CONFIG_FB_LE80578 is not set
CONFIG_FB_INTEL=y
CONFIG_FB_INTEL_DEBUG=y
# CONFIG_FB_INTEL_I2C is not set
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=y
# CONFIG_FB_MATROX_MAVEN is not set
CONFIG_FB_MATROX_MULTIHEAD=y
# CONFIG_FB_ATY128 is not set
CONFIG_FB_ATY=y
# CONFIG_FB_ATY_CT is not set
CONFIG_FB_ATY_GX=y
# CONFIG_FB_ATY_BACKLIGHT is not set
CONFIG_FB_S3=y
# CONFIG_FB_SAVAGE is not set
CONFIG_FB_SIS=y
CONFIG_FB_SIS_300=y
# CONFIG_FB_SIS_315 is not set
CONFIG_FB_NEOMAGIC=y
CONFIG_FB_KYRO=y
CONFIG_FB_3DFX=y
CONFIG_FB_3DFX_ACCEL=y
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
CONFIG_FB_ARK=y
CONFIG_FB_PM3=y
CONFIG_FB_GEODE=y
CONFIG_FB_GEODE_LX=y
CONFIG_FB_GEODE_GX=y
# CONFIG_FB_GEODE_GX_SET_FBSIZE is not set
CONFIG_FB_GEODE_GX1=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y
#
# Display hardware drivers
#
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_VIDEO_SELECT=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
#
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
CONFIG_HIDRAW=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
CONFIG_USB_HIDINPUT_POWERBOOK=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_MOUSE=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
CONFIG_USB_DEBUG=y
# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set
#
# Miscellaneous USB options
#
# CONFIG_USB_DEVICEFS is not set
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_SSB=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_U132_HCD is not set
# CONFIG_USB_SL811_HCD is not set
CONFIG_USB_R8A66597_HCD=y
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
#
# may also be needed; see USB_STORAGE Help for more information
#
# CONFIG_USB_STORAGE is not set
CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
CONFIG_USB_MICROTEK=y
# CONFIG_USB_MON is not set
#
# USB port drivers
#
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_EZUSB=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_AIRCABLE=y
# CONFIG_USB_SERIAL_AIRPRIME is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP2101=y
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=y
# CONFIG_USB_SERIAL_FUNSOFT is not set
CONFIG_USB_SERIAL_VISOR=y
# CONFIG_USB_SERIAL_IPAQ is not set
CONFIG_USB_SERIAL_IR=y
# CONFIG_USB_SERIAL_EDGEPORT is not set
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KEYSPAN_MPR=y
CONFIG_USB_SERIAL_KEYSPAN_USA28=y
# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
CONFIG_USB_SERIAL_KEYSPAN_USA28XA=y
# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
CONFIG_USB_SERIAL_KEYSPAN_USA19=y
CONFIG_USB_SERIAL_KEYSPAN_USA18X=y
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
CONFIG_USB_SERIAL_KEYSPAN_USA19QW=y
CONFIG_USB_SERIAL_KEYSPAN_USA19QI=y
CONFIG_USB_SERIAL_KEYSPAN_USA49W=y
# CONFIG_USB_SERIAL_KEYSPAN_USA49WLC is not set
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7840=y
# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=y
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_HP4X is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_XIRCOM=y
CONFIG_USB_SERIAL_OPTION=y
# CONFIG_USB_SERIAL_OMNINET is not set
CONFIG_USB_SERIAL_DEBUG=y
#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_AUERSWALD=y
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
CONFIG_USB_FTDI_ELAN=y
# CONFIG_USB_APPLEDISPLAY is not set
CONFIG_USB_SISUSBVGA=y
# CONFIG_USB_SISUSBVGA_CON is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
CONFIG_USB_IOWARRIOR=y
# CONFIG_USB_GADGET is not set
CONFIG_MMC=y
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
#
# MMC/SD Card Drivers
#
# CONFIG_MMC_BLOCK is not set
# CONFIG_SDIO_UART is not set
#
# MMC/SD Host Controller Drivers
#
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_WBSD is not set
CONFIG_MMC_TIFM_SD=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC=y
#
# Reporting subsystems
#
CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_MM_EDAC=y
CONFIG_EDAC_AMD76X=y
CONFIG_EDAC_E7XXX=y
CONFIG_EDAC_E752X=y
CONFIG_EDAC_I82875P=y
# CONFIG_EDAC_I82975X is not set
CONFIG_EDAC_I3000=y
CONFIG_EDAC_I82860=y
CONFIG_EDAC_R82600=y
# CONFIG_EDAC_I5000 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set
CONFIG_RTC_DEBUG=y
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
# CONFIG_RTC_INTF_DEV is not set
CONFIG_RTC_DRV_TEST=y
#
# I2C RTC drivers
#
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_DS1374=y
# CONFIG_RTC_DRV_DS1672 is not set
CONFIG_RTC_DRV_MAX6900=y
# CONFIG_RTC_DRV_RS5C372 is not set
CONFIG_RTC_DRV_ISL1208=y
CONFIG_RTC_DRV_X1205=y
# CONFIG_RTC_DRV_PCF8563 is not set
CONFIG_RTC_DRV_PCF8583=y
CONFIG_RTC_DRV_M41T80=y
# CONFIG_RTC_DRV_M41T80_WDT is not set
#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_R9701 is not set
CONFIG_RTC_DRV_RS5C348=y
#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1511=y
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
CONFIG_RTC_DRV_STK17TA8=y
CONFIG_RTC_DRV_M48T86=y
CONFIG_RTC_DRV_M48T59=y
CONFIG_RTC_DRV_V3020=y
#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
#
# Userspace I/O
#
CONFIG_UIO=y
# CONFIG_UIO_CIF is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not set
CONFIG_DELL_RBU=y
# CONFIG_DCDBAS is not set
CONFIG_DMIID=y
#
# File systems
#
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4DEV_FS=y
# CONFIG_EXT4DEV_FS_XATTR is not set
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
CONFIG_JFS_FS=y
# CONFIG_JFS_POSIX_ACL is not set
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
# CONFIG_XFS_QUOTA is not set
CONFIG_XFS_SECURITY=y
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
# CONFIG_INOTIFY_USER is not set
# CONFIG_QUOTA is not set
# CONFIG_DNOTIFY is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
# CONFIG_VFAT_FS is not set
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
# CONFIG_PROC_VMCORE is not set
# CONFIG_PROC_SYSCTL is not set
CONFIG_SYSFS=y
# CONFIG_TMPFS is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
#
# Miscellaneous filesystems
#
CONFIG_ADFS_FS=y
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
CONFIG_ECRYPT_FS=y
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
CONFIG_BEFS_FS=y
CONFIG_BEFS_DEBUG=y
# CONFIG_BFS_FS is not set
CONFIG_EFS_FS=y
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
CONFIG_HPFS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=y
# CONFIG_UFS_FS_WRITE is not set
# CONFIG_UFS_DEBUG is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
# CONFIG_ACORN_PARTITION_EESOX is not set
CONFIG_ACORN_PARTITION_ICS=y
# CONFIG_ACORN_PARTITION_ADFS is not set
CONFIG_ACORN_PARTITION_POWERTEC=y
# CONFIG_ACORN_PARTITION_RISCIX is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
# CONFIG_SOLARIS_X86_PARTITION is not set
# CONFIG_UNIXWARE_DISKLABEL is not set
# CONFIG_LDM_PARTITION is not set
# CONFIG_SGI_PARTITION is not set
CONFIG_ULTRIX_PARTITION=y
# CONFIG_SUN_PARTITION is not set
# CONFIG_KARMA_PARTITION is not set
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
# CONFIG_NLS_CODEPAGE_855 is not set
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
# CONFIG_NLS_CODEPAGE_865 is not set
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
# CONFIG_NLS_CODEPAGE_950 is not set
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
CONFIG_NLS_ISO8859_3=y
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
# CONFIG_DETECT_SOFTLOCKUP is not set
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_PREEMPT is not set
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
# CONFIG_RT_MUTEX_TESTER is not set
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_TRACE_IRQFLAGS=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
CONFIG_STACKTRACE=y
CONFIG_DEBUG_HIGHMEM=y
# CONFIG_DEBUG_VM is not set
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_FAULT_INJECTION is not set
CONFIG_LATENCYTOP=y
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
CONFIG_SAMPLES=y
# CONFIG_SAMPLE_KOBJECT is not set
# CONFIG_KGDB is not set
CONFIG_NONPROMISC_DEVMEM=y
CONFIG_EARLY_PRINTK=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_4KSTACKS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
# CONFIG_DOUBLEFAULT is not set
CONFIG_PAGE_FAULT_HANDLERS=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
# CONFIG_DEBUG_BOOT_PARAMS is not set
# CONFIG_CPA_DEBUG is not set
#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_CAPABILITIES=y
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=y
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
# CONFIG_CRYPTO_WP512 is not set
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_LRW=y
# CONFIG_CRYPTO_XTS is not set
CONFIG_CRYPTO_CTR=y
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_CCM is not set
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# CONFIG_CRYPTO_TWOFISH_586 is not set
# CONFIG_CRYPTO_SERPENT is not set
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_586=y
# CONFIG_CRYPTO_CAST5 is not set
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_SALSA20=y
# CONFIG_CRYPTO_SALSA20_586 is not set
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
# CONFIG_CRYPTO_DEV_PADLOCK_AES is not set
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
CONFIG_CRYPTO_DEV_GEODE=y
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
CONFIG_VIRTUALIZATION=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_FORCE_MINIMAL_CONFIG=y
CONFIG_FORCE_MINIMAL_CONFIG_PHYS=y
CONFIG_X86_32_ALWAYS_ON=y
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [bug] Re: [PATCH 4/12] riscom8: fix SMP brokenness
2008-02-07 0:29 ` [bug] " Ingo Molnar
@ 2008-02-20 20:37 ` Jeff Garzik
2008-02-20 22:00 ` Alan Cox
0 siblings, 1 reply; 44+ messages in thread
From: Jeff Garzik @ 2008-02-20 20:37 UTC (permalink / raw)
To: Ingo Molnar; +Cc: LKML, akpm, Linus Torvalds, Alan Cox
Ingo Molnar wrote:
> * Jeff Garzik <jeff@garzik.org> wrote:
>
>> After analyzing the elements that save_flags/cli/sti/restore_flags
>> were protecting, convert their usages to a global spinlock (the
>> easiest and most obvious next-step). There were some usages of flags
>> being intentionally cached, because the code already knew the state of
>> interrupts. These have been taken into account.
>>
>> This allows us to remove CONFIG_BROKEN_ON_SMP. Completely untested.
>
> regression for sale :-) The above patch, after sitting in -mm for
> approximately 3 months, just went upstream today via commit
> d9afa43532adf8a31b93c4c7601f and promptly broke tonight's x86.git
> randconfig qa run via tons of these messages:
>
> [ 3.768431] BUG: scheduling while atomic: swapper/1/0x00000002
> [ 3.769430] 1 lock held by swapper/1:
> [ 3.770437] #0: (riscom_lock){--..}, at: [<80389ceb>] rc_release_drivers+0xe/0x33
> [ 3.776430] Pid: 1, comm: swapper Not tainted 2.6.24 #14
> [ 3.777428] [<801167d3>] __schedule_bug+0x6e/0x75
> [ 3.779427] [<80756065>] schedule+0x35c/0x429
> [ 3.781427] [<80103a0b>] ? restore_nocheck+0x12/0x15
> [ 3.784427] [<80103a0b>] ? restore_nocheck+0x12/0x15
> [ 3.786426] [<80756381>] schedule_timeout+0x69/0xa2
> [ 3.788426] [<80758337>] ? _spin_unlock_irq+0x25/0x40
> [ 3.790426] [<80755c0e>] wait_for_common+0x96/0x10d
> [ 3.792425] [<80115edc>] ? default_wake_function+0x0/0xd
> [ 3.794425] [<80755d07>] wait_for_completion+0x12/0x14
> [ 3.796425] [<801282fe>] call_usermodehelper_exec+0x78/0x8c
> [ 3.798424] [<8015a041>] ? slob_alloc+0xd8/0x1ad
> [ 3.800424] [<80301640>] kobject_uevent_env+0x3ae/0x3c5
> [ 3.802424] [<803ac361>] ? dev_uevent+0x0/0x25a
> [ 3.804424] [<80301661>] kobject_uevent+0xa/0xc
> [ 3.806423] [<803acc06>] device_del+0x139/0x15d
> [ 3.808423] [<803acc58>] device_unregister+0x2e/0x3b
> [ 3.810423] [<803acc8e>] device_destroy+0x29/0x2f
> [ 3.812422] [<8035965f>] tty_unregister_device+0x18/0x1a
> [ 3.814422] [<8035970b>] tty_unregister_driver+0xaa/0xf6
> [ 3.816422] [<80389cf7>] rc_release_drivers+0x1a/0x33
> [ 3.818421] [<80ac5e16>] riscom8_init_module+0x4ff/0x539
> [ 3.820421] [<8012e76f>] ? ktime_get_ts+0x44/0x49
> [ 3.822421] [<80aaf701>] kernel_init+0x9a/0x263
> [ 3.824421] [<80ac5917>] ? riscom8_init_module+0x0/0x539
> [ 3.827420] [<80aaf667>] ? kernel_init+0x0/0x263
> [ 3.829420] [<8010455f>] kernel_thread_helper+0x7/0x18
> [ 3.831419] =======================
This is unfortunately very low on the priority stack. I was a bit
surprised when it went in, honestly, since I hadn't gotten any "it
works" test reports yet... but that's my fault for not keeping akpm up
to date.
We'll want to revert this for 2.6.25 release, if it doesn't get fixed up.
Jeff
^ permalink raw reply [flat|nested] 44+ messages in thread
* Re: [bug] Re: [PATCH 4/12] riscom8: fix SMP brokenness
2008-02-20 20:37 ` Jeff Garzik
@ 2008-02-20 22:00 ` Alan Cox
0 siblings, 0 replies; 44+ messages in thread
From: Alan Cox @ 2008-02-20 22:00 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Ingo Molnar, LKML, akpm, Linus Torvalds
> This is unfortunately very low on the priority stack. I was a bit
> surprised when it went in, honestly, since I hadn't gotten any "it
> works" test reports yet... but that's my fault for not keeping akpm up
> to date.
>
> We'll want to revert this for 2.6.25 release, if it doesn't get fixed up.
Fix is trivial: Don't take the lock in rc_release_drivers. The
tty_unregister_driver does its own thing as does put_tty_driver.
Alan
^ permalink raw reply [flat|nested] 44+ messages in thread
end of thread, other threads:[~2008-02-20 22:10 UTC | newest]
Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-23 22:36 [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeff Garzik
2007-10-23 22:36 ` [PATCH 2/12] X86: fix nvidia HPET warning Jeff Garzik
2007-10-24 4:05 ` Jeremy Fitzhardinge
2007-10-24 6:05 ` Jeff Garzik
2007-10-24 12:03 ` Ingo Molnar
2007-10-23 22:36 ` [PATCH 3/12] ACPI sbs: fix retval warning Jeff Garzik
2007-10-30 10:31 ` Jeff Garzik
2007-10-23 22:36 ` [PATCH 4/12] riscom8: fix SMP brokenness Jeff Garzik
2007-10-24 6:47 ` Jiri Slaby
2007-10-24 6:52 ` Jeff Garzik
2007-10-24 7:44 ` Jiri Slaby
2007-10-24 7:10 ` Andrew Morton
2007-10-24 7:44 ` Jiri Slaby
2007-10-24 8:00 ` Andrew Morton
2008-02-07 0:29 ` [bug] " Ingo Molnar
2008-02-20 20:37 ` Jeff Garzik
2008-02-20 22:00 ` Alan Cox
2007-10-23 22:36 ` [PATCH 5/12] ISDN/sc: fix longstanding warning Jeff Garzik
2007-10-24 7:24 ` Karsten Keil
2007-10-23 22:36 ` [PATCH 6/12] KVM: work around SMP requirement Jeff Garzik
2007-10-23 22:44 ` Adrian Bunk
2007-10-23 22:46 ` Jeff Garzik
2007-10-24 8:36 ` Avi Kivity
2007-10-24 12:32 ` [patch] kvm: fix !SMP build error Ingo Molnar
2007-10-24 12:36 ` Ingo Molnar
2007-10-24 18:11 ` Ingo Molnar
2007-11-01 3:34 ` Randy Dunlap
2007-11-01 8:31 ` Ingo Molnar
2007-11-01 13:10 ` Avi Kivity
2007-11-01 14:59 ` Ingo Molnar
2007-11-01 21:16 ` Avi Kivity
2007-10-23 22:36 ` [PATCH 7/12] eexpress: fix !SMP unused-var warning Jeff Garzik
2007-10-23 22:36 ` [PATCH 8/12] ni5010: kill unused variable Jeff Garzik
2007-10-23 22:36 ` [PATCH 9/12] cgroup: " Jeff Garzik
2007-10-24 0:19 ` Paul Menage
2007-10-23 22:36 ` [PATCH 10/12] mac80211: fix warning created by BIT() Jeff Garzik
2007-10-23 23:15 ` Randy Dunlap
2007-10-23 22:36 ` [PATCH 11/12] NET: fix subqueue bugs Jeff Garzik
2007-10-23 22:38 ` David Miller
2007-10-23 22:40 ` Jeff Garzik
2007-10-23 22:36 ` [PATCH 12/12] sound/isa: fix printk format Jeff Garzik
2007-10-24 4:03 ` [PATCH 1/12] X86: fix !CONFIG_SMP warning in processor.c Jeremy Fitzhardinge
2007-10-24 12:01 ` Ingo Molnar
2007-10-24 16:27 ` [2.6 patch] x86/kernel/acpi/processor.c: fix SMP=n warning Adrian Bunk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).