Linux-Next discussions
 help / color / mirror / Atom feed
* Re: linux-next:  tree build failure
From: Stephen Rothwell @ 2008-11-28 10:43 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: linux-next
In-Reply-To: <s5hljv4406l.wl%tiwai@suse.de>

[-- Attachment #1: Type: text/plain, Size: 405 bytes --]

Hi Takashi,

On Fri, 28 Nov 2008 11:25:22 +0100 Takashi Iwai <tiwai@suse.de> wrote:
>
> It was already fixed on sound.git tree in this morning.
> Pull again if possible.

On Monday ...

Thanks for fixing it.  Please be a bit more careful about what gets put
into your for-next branch.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: [PATCH -next] at91rm9200 vs cpumask changes
From: Stephen Rothwell @ 2008-11-28 10:59 UTC (permalink / raw)
  To: Alexey Dobriyan; +Cc: linux-kernel, linux-next, rusty
In-Reply-To: <20081128103913.GA8488@x200.localdomain>

[-- Attachment #1: Type: text/plain, Size: 1089 bytes --]

Hi Alexey,

On Fri, 28 Nov 2008 13:39:13 +0300 Alexey Dobriyan <adobriyan@gmail.com> wrote:
>
> --- a/arch/arm/mach-at91/at91rm9200_time.c
> +++ b/arch/arm/mach-at91/at91rm9200_time.c
> @@ -169,7 +169,6 @@ static struct clock_event_device clkevt = {
>  	.features	= CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
>  	.shift		= 32,
>  	.rating		= 150,
> -	.cpumask	= CPU_MASK_CPU0,
>  	.set_next_event	= clkevt32k_next_event,
>  	.set_mode	= clkevt32k_mode,
>  };
> @@ -197,7 +196,7 @@ void __init at91rm9200_timer_init(void)
>  	clkevt.mult = div_sc(AT91_SLOW_CLOCK, NSEC_PER_SEC, clkevt.shift);
>  	clkevt.max_delta_ns = clockevent_delta2ns(AT91_ST_ALMV, &clkevt);
>  	clkevt.min_delta_ns = clockevent_delta2ns(2, &clkevt) + 1;
> -	clkevt.cpumask = cpumask_of_cpu(0);
> +	clkevt.cpumask = cpumask_of(0);
>  	clockevents_register_device(&clkevt);
>  
>  	/* register clocksource */

This patch is already in the rr tree today.  But thanks for the patch.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: next-20081126: x86_64: kernel BUG at kernel/params.c:637
From: Alexander Beregalov @ 2008-11-28 12:58 UTC (permalink / raw)
  To: LKML, linux-next, Ingo Molnar
In-Reply-To: <a4423d670811260830w19a67faak38b09f6153579af3@mail.gmail.com>

2008/11/26 Alexander Beregalov <a.beregalov@gmail.com>:
> Brought up 4 CPUs
> Total of 4 processors activated (23949.39 BogoMIPS).
> khelper used greatest stack depth: 5712 bytes left
> net_namespace: 752 bytes
> NET: Registered protocol family 16
> ACPI FADT declares the system doesn't support PCIe ASPM, so disab
>
> ACPI: bus type pci registered
> PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
> PCI: MCFG area at e0000000 reserved in E820
> PCI: Using MMCONFIG at e0000000 - efffffff
> PCI: Using configuration type 1 for base access
> PCI: Dell PowerEdge 1950 detected, enabling pci=bfsort.
> ------------[ cut here ]------------
> kernel BUG at kernel/params.c:637!
> invalid opcode: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> last sysfs file:
> CPU 0
> Modules linked in:
> Pid: 1, comm: swapper Not tainted 2.6.28-rc6-next-20081126 #24
> RIP: 0010:[<ffffffff806d7b25>]  [<ffffffff806d7b25>] param_sysfs_init+0x86/0xf3

Works again on next-20081128

^ permalink raw reply

* next-2008-11-28: bfin vs cpumask fixlet
From: Alexey Dobriyan @ 2008-11-28 15:17 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, linux-kernel, rusty
In-Reply-To: <20081128213620.2ec593d4.sfr@canb.auug.org.au>

--- a/arch/blackfin/kernel/time-ts.c
+++ b/arch/blackfin/kernel/time-ts.c
@@ -162,7 +162,6 @@ static struct clock_event_device clockevent_bfin = {
 	.name		= "bfin_core_timer",
 	.features	= CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
 	.shift		= 32,
-	.cpumask	= CPU_MASK_CPU0,
 	.set_next_event = bfin_timer_set_next_event,
 	.set_mode	= bfin_timer_set_mode,
 };
@@ -193,6 +192,7 @@ static int __init bfin_clockevent_init(void)
 	clockevent_bfin.mult = div_sc(timer_clk, NSEC_PER_SEC, clockevent_bfin.shift);
 	clockevent_bfin.max_delta_ns = clockevent_delta2ns(-1, &clockevent_bfin);
 	clockevent_bfin.min_delta_ns = clockevent_delta2ns(100, &clockevent_bfin);
+	clockevent_bfin.cpumask = cpumask_of(0);
 	clockevents_register_device(&clockevent_bfin);
 
 	return 0;

^ permalink raw reply

* Re: linux-next:  tree build failure
From: Takashi Iwai @ 2008-11-28 17:23 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next
In-Reply-To: <20081128214315.c0d0ea2e.sfr@canb.auug.org.au>

At Fri, 28 Nov 2008 21:43:15 +1100,
Stephen Rothwell wrote:
> 
> [1  <text/plain; US-ASCII (quoted-printable)>]
> Hi Takashi,
> 
> On Fri, 28 Nov 2008 11:25:22 +0100 Takashi Iwai <tiwai@suse.de> wrote:
> >
> > It was already fixed on sound.git tree in this morning.
> > Pull again if possible.
> 
> On Monday ...
> 
> Thanks for fixing it.  Please be a bit more careful about what gets put
> into your for-next branch.

Yep, sorry.
I tested allyesconfig and randconfig, but forgot defconfig through my
build tests.


Takashi

^ permalink raw reply

* Re: linux-next: Tree for November 28 (misc/tc1100)
From: Randy Dunlap @ 2008-11-28 17:55 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, LKML
In-Reply-To: <20081128213620.2ec593d4.sfr@canb.auug.org.au>

Stephen Rothwell wrote:
> Hi all,
> 
> Changes since 20081127:
> 
> Today's tree fails the powerpc allyesconfig build.
> 
> New tree:
> 	trivial
> 
> Undropped trees:
> 
> Dropped trees (temporarily):
> 	v4l-dvb (build problem)
> 	kbuild (build problem)
> 	semaphore-removal (due to unfixed conflicts against Linus' tree)
> 	cpu_alloc (build problem)
> 	perfmon3 (concerns from the x86 team)

make[2]: *** No rule to make target `drivers/misc/tc1100-wmi.o', needed by `drivers/misc/built-in.o'.

on allmodconfig & allyesconfig for i386.

On, moved to drivers/x86/.  Someone needs to clean up drivers/misc/Makefile.

-- 
~Randy

^ permalink raw reply

* drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
From: Stephen Rothwell @ 2008-11-28 21:35 UTC (permalink / raw)
  To: Len Brown; +Cc: linux-next, LKML, Randy Dunlap, x86
In-Reply-To: <4930307C.30106@oracle.com>

[-- Attachment #1: Type: text/plain, Size: 675 bytes --]

Hi Len,

On Fri, 28 Nov 2008 09:55:08 -0800 Randy Dunlap <randy.dunlap@oracle.com> wrote:
>
> make[2]: *** No rule to make target `drivers/misc/tc1100-wmi.o', needed by `drivers/misc/built-in.o'.
> 
> on allmodconfig & allyesconfig for i386.
> 
> On, moved to drivers/x86/.  Someone needs to clean up drivers/misc/Makefile.

Just wondering where the move to drivers/x86 was discussed, (reviewed and
tested) and why the change is in the acpi tree and not the x86 tree?

I am not saying it should not be done (I haven't looked enough to have an
opinion).
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
From: Len Brown @ 2008-11-28 21:50 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Len Brown, linux-next, LKML, Randy Dunlap, x86
In-Reply-To: <20081129083550.3c23af37.sfr@canb.auug.org.au>



On Sat, 29 Nov 2008, Stephen Rothwell wrote:

> > On, moved to drivers/x86/.  Someone needs to clean up drivers/misc/Makefile.
> 
> Just wondering where the move to drivers/x86 was discussed, (reviewed and
> tested) and why the change is in the acpi tree and not the x86 tree?
> 
> I am not saying it should not be done (I haven't looked enough to have an
> opinion).

Although I discussed it with Linus last week in Portland,
it is true that this patch erroneously appeared
in my tree before being sent to the list.

I guess I got interrupted...
I'll send it now, thanks for the note.

-Len

^ permalink raw reply

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Len Brown @ 2008-11-28 22:09 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Len Brown, linux-next, LKML, Randy Dunlap, x86, linux-acpi
In-Reply-To: <alpine.LFD.2.00.0811281702570.24773@localhost.localdomain>

>From 9f57b53c82091c7af2f6082d83d6fc6542e36917 Mon Sep 17 00:00:00 2001
From: Len Brown <len.brown@intel.com>
Date: Fri, 21 Nov 2008 00:57:09 -0500
Subject: [PATCH] x86: create drivers/x86/ from drivers/misc/
Organization: Intel Open Source Technology Center

Move x86 platform specific drivers from drivers/misc/
to a new home under drivers/x86/.

The community has been maintaining x86 platform specific drivers
under /drivers/misc/ for a few years.  The oldest ones started
life under drivers/acpi, but got booted out because they are
generally vendor-specific extensions to ACPI, or simply
users of ACPI, rather than implementers of the ACPI spec.

The thing that they have in common is that they are
x86 vendor specific platform drivers.  So when asked,
Linus suggested we move them to drivers/x86.

Signed-off-by: Len Brown <len.brown@intel.com>
---
just the interesting part of the patch is included below, due to size.


 arch/x86/Kconfig                         |    2 +
 arch/x86/Makefile                        |    3 +
 drivers/misc/Kconfig                     |  280 ----------------------------
 drivers/misc/Makefile                    |   11 --
 drivers/x86/Kconfig                      |  290 ++++++++++++++++++++++++++++++
 drivers/x86/Makefile                     |   17 ++
 drivers/{misc => x86}/acer-wmi.c         |    0
 drivers/{misc => x86}/asus-laptop.c      |    0
 drivers/{misc => x86}/compal-laptop.c    |    0
 drivers/{misc => x86}/eeepc-laptop.c     |    0
 drivers/{misc => x86}/fujitsu-laptop.c   |    0
 drivers/{misc => x86}/hp-wmi.c           |    0
 drivers/{misc => x86}/intel_menlow.c     |    0
 drivers/{misc => x86}/msi-laptop.c       |    0
 drivers/{misc => x86}/panasonic-laptop.c |    0
 drivers/{misc => x86}/sony-laptop.c      |    0
 drivers/{misc => x86}/tc1100-wmi.c       |    0
 drivers/{misc => x86}/thinkpad_acpi.c    |    0
 18 files changed, 312 insertions(+), 291 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 93224b5..b89db1e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1904,6 +1904,8 @@ source "drivers/Kconfig"
 
 source "drivers/firmware/Kconfig"
 
+source "drivers/x86/Kconfig"
+
 source "fs/Kconfig"
 
 source "arch/x86/Kconfig.debug"
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index d1a47ad..a750519 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -171,6 +171,9 @@ ifeq ($(CONFIG_X86_32),y)
 drivers-$(CONFIG_FB) += arch/x86/video/
 endif
 
+# x86 platform-specific drivers
+drivers-y       += drivers/x86/
+
 ####
 # boot loader support. Several targets are kept for legacy purposes
 
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index fee7304..8b775b8 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -136,97 +136,6 @@ config TIFM_7XX1
           To compile this driver as a module, choose M here: the module will
 	  be called tifm_7xx1.
 
-config ACER_WMI
-        tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
-	depends on X86
-	depends on EXPERIMENTAL
-	depends on ACPI
-	depends on LEDS_CLASS
-	depends on NEW_LEDS
-	depends on BACKLIGHT_CLASS_DEVICE
-	depends on SERIO_I8042
-	depends on RFKILL
-	select ACPI_WMI
-	---help---
-	  This is a driver for newer Acer (and Wistron) laptops. It adds
-	  wireless radio and bluetooth control, and on some laptops,
-	  exposes the mail LED and LCD backlight.
-
-	  For more information about this driver see
-	  <file:Documentation/laptops/acer-wmi.txt>
-
-	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
-	  here.
-
-config ASUS_LAPTOP
-        tristate "Asus Laptop Extras (EXPERIMENTAL)"
-        depends on X86
-        depends on ACPI
-	depends on EXPERIMENTAL && !ACPI_ASUS
-	depends on LEDS_CLASS
-	depends on NEW_LEDS
-	depends on BACKLIGHT_CLASS_DEVICE
-        ---help---
-	  This is the new Linux driver for Asus laptops. It may also support some
-	  MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate
-	  standard ACPI events that go through /proc/acpi/events. It also adds
-	  support for video output switching, LCD backlight control, Bluetooth and
-	  Wlan control, and most importantly, allows you to blink those fancy LEDs.
-
-	  For more information and a userspace daemon for handling the extra
-	  buttons see <http://acpi4asus.sf.net/>.
-
-	  If you have an ACPI-compatible ASUS laptop, say Y or M here.
-
-config FUJITSU_LAPTOP
-        tristate "Fujitsu Laptop Extras"
-        depends on X86
-        depends on ACPI
-	depends on INPUT
-        depends on BACKLIGHT_CLASS_DEVICE
-        ---help---
-	  This is a driver for laptops built by Fujitsu:
-
-	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
-	    * Possibly other Fujitsu laptop models
-	    * Tested with S6410 and S7020
-
-	  It adds support for LCD brightness control and some hotkeys.
-
-	  If you have a Fujitsu laptop, say Y or M here.
-
-config FUJITSU_LAPTOP_DEBUG
-	bool "Verbose debug mode for Fujitsu Laptop Extras"
-	depends on FUJITSU_LAPTOP
-	default n
-	---help---
-	  Enables extra debug output from the fujitsu extras driver, at the
-	  expense of a slight increase in driver size.
-
-	  If you are not sure, say N here.
-
-config TC1100_WMI
-	tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
-	depends on X86 && !X86_64
-	depends on EXPERIMENTAL
-	depends on ACPI
-	select ACPI_WMI
-	---help---
-	  This is a driver for the WMI extensions (wireless and bluetooth power
-	  control) of the HP Compaq TC1100 tablet.
-
-config HP_WMI
-       tristate "HP WMI extras"
-       depends on ACPI_WMI
-       depends on INPUT
-       depends on RFKILL
-       help
-         Say Y here if you want to support WMI-based hotkeys on HP laptops and
-	 to read data from WMI such as docking or ambient light sensor state.
-
-         To compile this driver as a module, choose M here: the module will
-         be called hp-wmi.
-
 config ICS932S401
 	tristate "Integrated Circuits ICS932S401"
 	depends on I2C && EXPERIMENTAL
@@ -237,170 +146,6 @@ config ICS932S401
 	  This driver can also be built as a module. If so, the module
 	  will be called ics932s401.
 
-config MSI_LAPTOP
-        tristate "MSI Laptop Extras"
-        depends on X86
-        depends on ACPI
-        depends on BACKLIGHT_CLASS_DEVICE
-        ---help---
-	  This is a driver for laptops built by MSI (MICRO-STAR
-	  INTERNATIONAL):
-
-	  MSI MegaBook S270 (MS-1013)
-	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
-
-	  It adds support for Bluetooth, WLAN and LCD brightness control.
-
-	  More information about this driver is available at
-	  <http://0pointer.de/lennart/tchibo.html>.
-
-	  If you have an MSI S270 laptop, say Y or M here.
-
-config PANASONIC_LAPTOP
-	tristate "Panasonic Laptop Extras"
-	depends on X86 && INPUT && ACPI
-        depends on BACKLIGHT_CLASS_DEVICE
-	---help---
-	  This driver adds support for access to backlight control and hotkeys
-	  on Panasonic Let's Note laptops.
-
-	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
-	  R2, R3, R5, T2, W2 and Y2 series), say Y.
-
-config COMPAL_LAPTOP
-	tristate "Compal Laptop Extras"
-	depends on X86
-	depends on ACPI
-	depends on BACKLIGHT_CLASS_DEVICE
-	---help---
-	  This is a driver for laptops built by Compal:
-
-	  Compal FL90/IFL90
-	  Compal FL91/IFL91
-	  Compal FL92/JFL92
-	  Compal FT00/IFT00
-
-	  It adds support for Bluetooth, WLAN and LCD brightness control.
-
-	  If you have an Compal FL9x/IFL9x/FT00 laptop, say Y or M here.
-
-config SONY_LAPTOP
-	tristate "Sony Laptop Extras"
-	depends on X86 && ACPI
-	select BACKLIGHT_CLASS_DEVICE
-	depends on INPUT
-	  ---help---
-	  This mini-driver drives the SNC and SPIC devices present in the ACPI
-	  BIOS of the Sony Vaio laptops.
-
-	  It gives access to some extra laptop functionalities like Bluetooth,
-	  screen brightness control, Fn keys and allows powering on/off some
-	  devices.
-
-	  Read <file:Documentation/laptops/sony-laptop.txt> for more information.
-
-config SONYPI_COMPAT
-	bool "Sonypi compatibility"
-	depends on SONY_LAPTOP
-	  ---help---
-	  Build the sonypi driver compatibility code into the sony-laptop driver.
-
-config THINKPAD_ACPI
-	tristate "ThinkPad ACPI Laptop Extras"
-	depends on X86 && ACPI
-	select BACKLIGHT_LCD_SUPPORT
-	select BACKLIGHT_CLASS_DEVICE
-	select HWMON
-	select NVRAM
-	select INPUT
-	select NEW_LEDS
-	select LEDS_CLASS
-	select NET
-	select RFKILL
-	---help---
-	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
-	  support for Fn-Fx key combinations, Bluetooth control, video
-	  output switching, ThinkLight control, UltraBay eject and more.
-	  For more information about this driver see
-	  <file:Documentation/laptops/thinkpad-acpi.txt> and
-	  <http://ibm-acpi.sf.net/> .
-
-	  This driver was formerly known as ibm-acpi.
-
-	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
-
-config THINKPAD_ACPI_DEBUG
-	bool "Verbose debug mode"
-	depends on THINKPAD_ACPI
-	default n
-	---help---
-	  Enables extra debugging information, at the expense of a slightly
-	  increase in driver size.
-
-	  If you are not sure, say N here.
-
-config THINKPAD_ACPI_DOCK
-	bool "Legacy Docking Station Support"
-	depends on THINKPAD_ACPI
-	depends on ACPI_DOCK=n
-	default n
-	---help---
-	  Allows the thinkpad_acpi driver to handle docking station events.
-	  This support was made obsolete by the generic ACPI docking station
-	  support (CONFIG_ACPI_DOCK).  It will allow locking and removing the
-	  laptop from the docking station, but will not properly connect PCI
-	  devices.
-
-	  If you are not sure, say N here.
-
-config THINKPAD_ACPI_BAY
-	bool "Legacy Removable Bay Support"
-	depends on THINKPAD_ACPI
-	default y
-	---help---
-	  Allows the thinkpad_acpi driver to handle removable bays.  It will
-	  electrically disable the device in the bay, and also generate
-	  notifications when the bay lever is ejected or inserted.
-
-	  If you are not sure, say Y here.
-
-config THINKPAD_ACPI_VIDEO
-	bool "Video output control support"
-	depends on THINKPAD_ACPI
-	default y
-	---help---
-	  Allows the thinkpad_acpi driver to provide an interface to control
-	  the various video output ports.
-
-	  This feature often won't work well, depending on ThinkPad model,
-	  display state, video output devices in use, whether there is a X
-	  server running, phase of the moon, and the current mood of
-	  Schroedinger's cat.  If you can use X.org's RandR to control
-	  your ThinkPad's video output ports instead of this feature,
-	  don't think twice: do it and say N here to save some memory.
-
-	  If you are not sure, say Y here.
-
-config THINKPAD_ACPI_HOTKEY_POLL
-	bool "Support NVRAM polling for hot keys"
-	depends on THINKPAD_ACPI
-	default y
-	---help---
-	  Some thinkpad models benefit from NVRAM polling to detect a few of
-	  the hot key press events.  If you know your ThinkPad model does not
-	  need to do NVRAM polling to support any of the hot keys you use,
-	  unselecting this option will save about 1kB of memory.
-
-	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
-	  unlikely to need NVRAM polling in their latest BIOS versions.
-
-	  NVRAM polling can detect at most the following keys: ThinkPad/Access
-	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
-	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
-
-	  If you are not sure, say Y here.  The driver enables polling only if
-	  it is strictly necessary to do so.
-
 config ATMEL_SSC
 	tristate "Device driver for Atmel SSC peripheral"
 	depends on AVR32 || ARCH_AT91
@@ -413,31 +158,6 @@ config ATMEL_SSC
 
 	  If unsure, say N.
 
-config INTEL_MENLOW
-	tristate "Thermal Management driver for Intel menlow platform"
-	depends on ACPI_THERMAL
-	select THERMAL
-	depends on X86
-	---help---
-	  ACPI thermal management enhancement driver on
-	  Intel Menlow platform.
-
-	  If unsure, say N.
-
-config EEEPC_LAPTOP
-	tristate "Eee PC Hotkey Driver (EXPERIMENTAL)"
-	depends on X86
-	depends on ACPI
-	depends on BACKLIGHT_CLASS_DEVICE
-	depends on HWMON
-	depends on EXPERIMENTAL
-	depends on RFKILL
-	---help---
-	  This driver supports the Fn-Fx keys on Eee PC laptops.
-	  It also adds the ability to switch camera/wlan on/off.
-
-	  If you have an Eee PC laptop, say Y or M here.
-
 config ENCLOSURE_SERVICES
 	tristate "Enclosure Services"
 	default n
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 817f7f5..4a62847 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -5,15 +5,9 @@ obj- := misc.o	# Dummy rule to force built-in.o to be made
 
 obj-$(CONFIG_IBM_ASM)		+= ibmasm/
 obj-$(CONFIG_HDPU_FEATURES)	+= hdpuftrs/
-obj-$(CONFIG_ASUS_LAPTOP)	+= asus-laptop.o
-obj-$(CONFIG_EEEPC_LAPTOP)	+= eeepc-laptop.o
-obj-$(CONFIG_MSI_LAPTOP)	+= msi-laptop.o
-obj-$(CONFIG_COMPAL_LAPTOP)	+= compal-laptop.o
-obj-$(CONFIG_ACER_WMI)		+= acer-wmi.o
 obj-$(CONFIG_ATMEL_PWM)		+= atmel_pwm.o
 obj-$(CONFIG_ATMEL_SSC)		+= atmel-ssc.o
 obj-$(CONFIG_ATMEL_TCLIB)	+= atmel_tclib.o
-obj-$(CONFIG_HP_WMI)		+= hp-wmi.o
 obj-$(CONFIG_ICS932S401)	+= ics932s401.o
 obj-$(CONFIG_TC1100_WMI)	+= tc1100-wmi.o
 obj-$(CONFIG_LKDTM)		+= lkdtm.o
@@ -21,12 +15,7 @@ obj-$(CONFIG_TIFM_CORE)       	+= tifm_core.o
 obj-$(CONFIG_TIFM_7XX1)       	+= tifm_7xx1.o
 obj-$(CONFIG_PHANTOM)		+= phantom.o
 obj-$(CONFIG_SGI_IOC4)		+= ioc4.o
-obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
-obj-$(CONFIG_THINKPAD_ACPI)	+= thinkpad_acpi.o
-obj-$(CONFIG_FUJITSU_LAPTOP)	+= fujitsu-laptop.o
-obj-$(CONFIG_PANASONIC_LAPTOP)	+= panasonic-laptop.o
 obj-$(CONFIG_EEPROM_93CX6)	+= eeprom_93cx6.o
-obj-$(CONFIG_INTEL_MENLOW)	+= intel_menlow.o
 obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
 obj-$(CONFIG_KGDB_TESTS)	+= kgdbts.o
 obj-$(CONFIG_SGI_XP)		+= sgi-xp/



^ permalink raw reply related

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Sam Ravnborg @ 2008-11-28 22:35 UTC (permalink / raw)
  To: Len Brown
  Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
	linux-acpi
In-Reply-To: <alpine.LFD.2.00.0811281706540.24773@localhost.localdomain>

On Fri, Nov 28, 2008 at 05:09:09PM -0500, Len Brown wrote:
> >From 9f57b53c82091c7af2f6082d83d6fc6542e36917 Mon Sep 17 00:00:00 2001
> From: Len Brown <len.brown@intel.com>
> Date: Fri, 21 Nov 2008 00:57:09 -0500
> Subject: [PATCH] x86: create drivers/x86/ from drivers/misc/
> Organization: Intel Open Source Technology Center
> 
> Move x86 platform specific drivers from drivers/misc/
> to a new home under drivers/x86/.
> 
> The community has been maintaining x86 platform specific drivers
> under /drivers/misc/ for a few years.  The oldest ones started
> life under drivers/acpi, but got booted out because they are
> generally vendor-specific extensions to ACPI, or simply
> users of ACPI, rather than implementers of the ACPI spec.
> 
> The thing that they have in common is that they are
> x86 vendor specific platform drivers.  So when asked,
> Linus suggested we move them to drivers/x86.

We already have 81 one directory entries under drivers/
and with patch you open up for an additional
directory for each arch - not elegant.

As it is today (before this patch) the directories unider
drivers/ said what the drivers was used for - which is logical.

But with this new arch specific directory it is no longer obvious
is a driver should be located under say drivers/net/* or
drivers/arm/* in case it is a arm specific driver.

What is wrong with the current location under misc/*?
If there is a good reason to keep them separated
follow the style of other directories under
drivers/* and introduce drivers/misc/x86.

> 
> Signed-off-by: Len Brown <len.brown@intel.com>
> ---
> just the interesting part of the patch is included below, due to size.

git format-patch -M -B is your friend...

> 
> 
>  arch/x86/Kconfig                         |    2 +
>  arch/x86/Makefile                        |    3 +
>  drivers/misc/Kconfig                     |  280 ----------------------------
>  drivers/misc/Makefile                    |   11 --
>  drivers/x86/Kconfig                      |  290 ++++++++++++++++++++++++++++++
>  drivers/x86/Makefile                     |   17 ++
>  drivers/{misc => x86}/acer-wmi.c         |    0
>  drivers/{misc => x86}/asus-laptop.c      |    0
>  drivers/{misc => x86}/compal-laptop.c    |    0
>  drivers/{misc => x86}/eeepc-laptop.c     |    0
>  drivers/{misc => x86}/fujitsu-laptop.c   |    0
>  drivers/{misc => x86}/hp-wmi.c           |    0
>  drivers/{misc => x86}/intel_menlow.c     |    0
>  drivers/{misc => x86}/msi-laptop.c       |    0
>  drivers/{misc => x86}/panasonic-laptop.c |    0
>  drivers/{misc => x86}/sony-laptop.c      |    0
>  drivers/{misc => x86}/tc1100-wmi.c       |    0
>  drivers/{misc => x86}/thinkpad_acpi.c    |    0
>  18 files changed, 312 insertions(+), 291 deletions(-)
> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 93224b5..b89db1e 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -1904,6 +1904,8 @@ source "drivers/Kconfig"
>  
>  source "drivers/firmware/Kconfig"
>  
> +source "drivers/x86/Kconfig"
> +
>  source "fs/Kconfig"
>  
>  source "arch/x86/Kconfig.debug"
> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index d1a47ad..a750519 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -171,6 +171,9 @@ ifeq ($(CONFIG_X86_32),y)
>  drivers-$(CONFIG_FB) += arch/x86/video/
>  endif
>  
> +# x86 platform-specific drivers
> +drivers-y       += drivers/x86/
> +
>  ####
>  # boot loader support. Several targets are kept for legacy purposes
>  
> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
> index fee7304..8b775b8 100644
> --- a/drivers/misc/Kconfig
> +++ b/drivers/misc/Kconfig
> @@ -136,97 +136,6 @@ config TIFM_7XX1
>            To compile this driver as a module, choose M here: the module will
>  	  be called tifm_7xx1.
>  
> -config ACER_WMI
> -        tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
> -	depends on X86
> -	depends on EXPERIMENTAL
> -	depends on ACPI
> -	depends on LEDS_CLASS
> -	depends on NEW_LEDS
> -	depends on BACKLIGHT_CLASS_DEVICE
> -	depends on SERIO_I8042
> -	depends on RFKILL
> -	select ACPI_WMI
> -	---help---
> -	  This is a driver for newer Acer (and Wistron) laptops. It adds
> -	  wireless radio and bluetooth control, and on some laptops,
> -	  exposes the mail LED and LCD backlight.
> -
> -	  For more information about this driver see
> -	  <file:Documentation/laptops/acer-wmi.txt>
> -
> -	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
> -	  here.
> -
> -config ASUS_LAPTOP
> -        tristate "Asus Laptop Extras (EXPERIMENTAL)"
> -        depends on X86
> -        depends on ACPI
> -	depends on EXPERIMENTAL && !ACPI_ASUS
> -	depends on LEDS_CLASS
> -	depends on NEW_LEDS
> -	depends on BACKLIGHT_CLASS_DEVICE
> -        ---help---
> -	  This is the new Linux driver for Asus laptops. It may also support some
> -	  MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate
> -	  standard ACPI events that go through /proc/acpi/events. It also adds
> -	  support for video output switching, LCD backlight control, Bluetooth and
> -	  Wlan control, and most importantly, allows you to blink those fancy LEDs.
> -
> -	  For more information and a userspace daemon for handling the extra
> -	  buttons see <http://acpi4asus.sf.net/>.
> -
> -	  If you have an ACPI-compatible ASUS laptop, say Y or M here.
> -
> -config FUJITSU_LAPTOP
> -        tristate "Fujitsu Laptop Extras"
> -        depends on X86
> -        depends on ACPI
> -	depends on INPUT
> -        depends on BACKLIGHT_CLASS_DEVICE
> -        ---help---
> -	  This is a driver for laptops built by Fujitsu:
> -
> -	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
> -	    * Possibly other Fujitsu laptop models
> -	    * Tested with S6410 and S7020
> -
> -	  It adds support for LCD brightness control and some hotkeys.
> -
> -	  If you have a Fujitsu laptop, say Y or M here.
> -
> -config FUJITSU_LAPTOP_DEBUG
> -	bool "Verbose debug mode for Fujitsu Laptop Extras"
> -	depends on FUJITSU_LAPTOP
> -	default n
> -	---help---
> -	  Enables extra debug output from the fujitsu extras driver, at the
> -	  expense of a slight increase in driver size.
> -
> -	  If you are not sure, say N here.
> -
> -config TC1100_WMI
> -	tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
> -	depends on X86 && !X86_64
> -	depends on EXPERIMENTAL
> -	depends on ACPI
> -	select ACPI_WMI
> -	---help---
> -	  This is a driver for the WMI extensions (wireless and bluetooth power
> -	  control) of the HP Compaq TC1100 tablet.
> -
> -config HP_WMI
> -       tristate "HP WMI extras"
> -       depends on ACPI_WMI
> -       depends on INPUT
> -       depends on RFKILL
> -       help
> -         Say Y here if you want to support WMI-based hotkeys on HP laptops and
> -	 to read data from WMI such as docking or ambient light sensor state.
> -
> -         To compile this driver as a module, choose M here: the module will
> -         be called hp-wmi.
> -
>  config ICS932S401
>  	tristate "Integrated Circuits ICS932S401"
>  	depends on I2C && EXPERIMENTAL
> @@ -237,170 +146,6 @@ config ICS932S401
>  	  This driver can also be built as a module. If so, the module
>  	  will be called ics932s401.
>  
> -config MSI_LAPTOP
> -        tristate "MSI Laptop Extras"
> -        depends on X86
> -        depends on ACPI
> -        depends on BACKLIGHT_CLASS_DEVICE
> -        ---help---
> -	  This is a driver for laptops built by MSI (MICRO-STAR
> -	  INTERNATIONAL):
> -
> -	  MSI MegaBook S270 (MS-1013)
> -	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
> -
> -	  It adds support for Bluetooth, WLAN and LCD brightness control.
> -
> -	  More information about this driver is available at
> -	  <http://0pointer.de/lennart/tchibo.html>.
> -
> -	  If you have an MSI S270 laptop, say Y or M here.
> -
> -config PANASONIC_LAPTOP
> -	tristate "Panasonic Laptop Extras"
> -	depends on X86 && INPUT && ACPI
> -        depends on BACKLIGHT_CLASS_DEVICE
> -	---help---
> -	  This driver adds support for access to backlight control and hotkeys
> -	  on Panasonic Let's Note laptops.
> -
> -	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
> -	  R2, R3, R5, T2, W2 and Y2 series), say Y.
> -
> -config COMPAL_LAPTOP
> -	tristate "Compal Laptop Extras"
> -	depends on X86
> -	depends on ACPI
> -	depends on BACKLIGHT_CLASS_DEVICE
> -	---help---
> -	  This is a driver for laptops built by Compal:
> -
> -	  Compal FL90/IFL90
> -	  Compal FL91/IFL91
> -	  Compal FL92/JFL92
> -	  Compal FT00/IFT00
> -
> -	  It adds support for Bluetooth, WLAN and LCD brightness control.
> -
> -	  If you have an Compal FL9x/IFL9x/FT00 laptop, say Y or M here.
> -
> -config SONY_LAPTOP
> -	tristate "Sony Laptop Extras"
> -	depends on X86 && ACPI
> -	select BACKLIGHT_CLASS_DEVICE
> -	depends on INPUT
> -	  ---help---
> -	  This mini-driver drives the SNC and SPIC devices present in the ACPI
> -	  BIOS of the Sony Vaio laptops.
> -
> -	  It gives access to some extra laptop functionalities like Bluetooth,
> -	  screen brightness control, Fn keys and allows powering on/off some
> -	  devices.
> -
> -	  Read <file:Documentation/laptops/sony-laptop.txt> for more information.
> -
> -config SONYPI_COMPAT
> -	bool "Sonypi compatibility"
> -	depends on SONY_LAPTOP
> -	  ---help---
> -	  Build the sonypi driver compatibility code into the sony-laptop driver.
> -
> -config THINKPAD_ACPI
> -	tristate "ThinkPad ACPI Laptop Extras"
> -	depends on X86 && ACPI
> -	select BACKLIGHT_LCD_SUPPORT
> -	select BACKLIGHT_CLASS_DEVICE
> -	select HWMON
> -	select NVRAM
> -	select INPUT
> -	select NEW_LEDS
> -	select LEDS_CLASS
> -	select NET
> -	select RFKILL
> -	---help---
> -	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
> -	  support for Fn-Fx key combinations, Bluetooth control, video
> -	  output switching, ThinkLight control, UltraBay eject and more.
> -	  For more information about this driver see
> -	  <file:Documentation/laptops/thinkpad-acpi.txt> and
> -	  <http://ibm-acpi.sf.net/> .
> -
> -	  This driver was formerly known as ibm-acpi.
> -
> -	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
> -
> -config THINKPAD_ACPI_DEBUG
> -	bool "Verbose debug mode"
> -	depends on THINKPAD_ACPI
> -	default n
> -	---help---
> -	  Enables extra debugging information, at the expense of a slightly
> -	  increase in driver size.
> -
> -	  If you are not sure, say N here.
> -
> -config THINKPAD_ACPI_DOCK
> -	bool "Legacy Docking Station Support"
> -	depends on THINKPAD_ACPI
> -	depends on ACPI_DOCK=n
> -	default n
> -	---help---
> -	  Allows the thinkpad_acpi driver to handle docking station events.
> -	  This support was made obsolete by the generic ACPI docking station
> -	  support (CONFIG_ACPI_DOCK).  It will allow locking and removing the
> -	  laptop from the docking station, but will not properly connect PCI
> -	  devices.
> -
> -	  If you are not sure, say N here.
> -
> -config THINKPAD_ACPI_BAY
> -	bool "Legacy Removable Bay Support"
> -	depends on THINKPAD_ACPI
> -	default y
> -	---help---
> -	  Allows the thinkpad_acpi driver to handle removable bays.  It will
> -	  electrically disable the device in the bay, and also generate
> -	  notifications when the bay lever is ejected or inserted.
> -
> -	  If you are not sure, say Y here.
> -
> -config THINKPAD_ACPI_VIDEO
> -	bool "Video output control support"
> -	depends on THINKPAD_ACPI
> -	default y
> -	---help---
> -	  Allows the thinkpad_acpi driver to provide an interface to control
> -	  the various video output ports.
> -
> -	  This feature often won't work well, depending on ThinkPad model,
> -	  display state, video output devices in use, whether there is a X
> -	  server running, phase of the moon, and the current mood of
> -	  Schroedinger's cat.  If you can use X.org's RandR to control
> -	  your ThinkPad's video output ports instead of this feature,
> -	  don't think twice: do it and say N here to save some memory.
> -
> -	  If you are not sure, say Y here.
> -
> -config THINKPAD_ACPI_HOTKEY_POLL
> -	bool "Support NVRAM polling for hot keys"
> -	depends on THINKPAD_ACPI
> -	default y
> -	---help---
> -	  Some thinkpad models benefit from NVRAM polling to detect a few of
> -	  the hot key press events.  If you know your ThinkPad model does not
> -	  need to do NVRAM polling to support any of the hot keys you use,
> -	  unselecting this option will save about 1kB of memory.
> -
> -	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
> -	  unlikely to need NVRAM polling in their latest BIOS versions.
> -
> -	  NVRAM polling can detect at most the following keys: ThinkPad/Access
> -	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
> -	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
> -
> -	  If you are not sure, say Y here.  The driver enables polling only if
> -	  it is strictly necessary to do so.
> -
>  config ATMEL_SSC
>  	tristate "Device driver for Atmel SSC peripheral"
>  	depends on AVR32 || ARCH_AT91
> @@ -413,31 +158,6 @@ config ATMEL_SSC
>  
>  	  If unsure, say N.
>  
> -config INTEL_MENLOW
> -	tristate "Thermal Management driver for Intel menlow platform"
> -	depends on ACPI_THERMAL
> -	select THERMAL
> -	depends on X86
> -	---help---
> -	  ACPI thermal management enhancement driver on
> -	  Intel Menlow platform.
> -
> -	  If unsure, say N.
> -
> -config EEEPC_LAPTOP
> -	tristate "Eee PC Hotkey Driver (EXPERIMENTAL)"
> -	depends on X86
> -	depends on ACPI
> -	depends on BACKLIGHT_CLASS_DEVICE
> -	depends on HWMON
> -	depends on EXPERIMENTAL
> -	depends on RFKILL
> -	---help---
> -	  This driver supports the Fn-Fx keys on Eee PC laptops.
> -	  It also adds the ability to switch camera/wlan on/off.
> -
> -	  If you have an Eee PC laptop, say Y or M here.
> -
>  config ENCLOSURE_SERVICES
>  	tristate "Enclosure Services"
>  	default n
> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
> index 817f7f5..4a62847 100644
> --- a/drivers/misc/Makefile
> +++ b/drivers/misc/Makefile
> @@ -5,15 +5,9 @@ obj- := misc.o	# Dummy rule to force built-in.o to be made
>  
>  obj-$(CONFIG_IBM_ASM)		+= ibmasm/
>  obj-$(CONFIG_HDPU_FEATURES)	+= hdpuftrs/
> -obj-$(CONFIG_ASUS_LAPTOP)	+= asus-laptop.o
> -obj-$(CONFIG_EEEPC_LAPTOP)	+= eeepc-laptop.o
> -obj-$(CONFIG_MSI_LAPTOP)	+= msi-laptop.o
> -obj-$(CONFIG_COMPAL_LAPTOP)	+= compal-laptop.o
> -obj-$(CONFIG_ACER_WMI)		+= acer-wmi.o
>  obj-$(CONFIG_ATMEL_PWM)		+= atmel_pwm.o
>  obj-$(CONFIG_ATMEL_SSC)		+= atmel-ssc.o
>  obj-$(CONFIG_ATMEL_TCLIB)	+= atmel_tclib.o
> -obj-$(CONFIG_HP_WMI)		+= hp-wmi.o
>  obj-$(CONFIG_ICS932S401)	+= ics932s401.o
>  obj-$(CONFIG_TC1100_WMI)	+= tc1100-wmi.o
>  obj-$(CONFIG_LKDTM)		+= lkdtm.o
> @@ -21,12 +15,7 @@ obj-$(CONFIG_TIFM_CORE)       	+= tifm_core.o
>  obj-$(CONFIG_TIFM_7XX1)       	+= tifm_7xx1.o
>  obj-$(CONFIG_PHANTOM)		+= phantom.o
>  obj-$(CONFIG_SGI_IOC4)		+= ioc4.o
> -obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
> -obj-$(CONFIG_THINKPAD_ACPI)	+= thinkpad_acpi.o
> -obj-$(CONFIG_FUJITSU_LAPTOP)	+= fujitsu-laptop.o
> -obj-$(CONFIG_PANASONIC_LAPTOP)	+= panasonic-laptop.o
>  obj-$(CONFIG_EEPROM_93CX6)	+= eeprom_93cx6.o
> -obj-$(CONFIG_INTEL_MENLOW)	+= intel_menlow.o
>  obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
>  obj-$(CONFIG_KGDB_TESTS)	+= kgdbts.o
>  obj-$(CONFIG_SGI_XP)		+= sgi-xp/

You move 12 files but delete 11 lines.

Also - where are the new Makefile?

	Sam

^ permalink raw reply

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Len Brown @ 2008-11-28 23:16 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
	linux-acpi
In-Reply-To: <20081128223533.GA5175@uranus.ravnborg.org>



> > Move x86 platform specific drivers from drivers/misc/
> > to a new home under drivers/x86/.
> > 
> > The community has been maintaining x86 platform specific drivers
> > under /drivers/misc/ for a few years.  The oldest ones started
> > life under drivers/acpi, but got booted out because they are
> > generally vendor-specific extensions to ACPI, or simply
> > users of ACPI, rather than implementers of the ACPI spec.
> > 
> > The thing that they have in common is that they are
> > x86 vendor specific platform drivers.  So when asked,
> > Linus suggested we move them to drivers/x86.
> 
> We already have 81 one directory entries under drivers/
> and with patch you open up for an additional
> directory for each arch - not elegant.

I followed the example of drivers/s390/,
per Linus' suggestion.

The other place that seemed to suggest itself was
arch/x86/drivers/, as we already have:

arch/um/drivers/
arch/sh/drivers/
arch/cris/*/drivers/

> As it is today (before this patch) the directories unider
> drivers/ said what the drivers was used for - which is logical.
> 
> But with this new arch specific directory it is no longer obvious
> is a driver should be located under say drivers/net/* or
> drivers/arm/* in case it is a arm specific driver.

These are vendor-specific, aka "platform specific" drivers
for various x86 platforms.

> What is wrong with the current location under misc/*?

mostly that it "misc" means nothing at all...
Indeed, misc should probably be deleted for this reason...

> If there is a good reason to keep them separated
> follow the style of other directories under
> drivers/* and introduce drivers/misc/x86.

is there an example besides lguest/x86?

> git format-patch -M -B is your friend...

here you go:

>From 9f57b53c82091c7af2f6082d83d6fc6542e36917 Mon Sep 17 00:00:00 2001
From: Len Brown <len.brown@intel.com>
Date: Fri, 21 Nov 2008 00:57:09 -0500
Subject: [PATCH] x86: create drivers/x86/ from drivers/misc/
Organization: Intel Open Source Technology Center

Move x86 platform specific drivers from drivers/misc/
to a new home under drivers/x86/.

Signed-off-by: Len Brown <len.brown@intel.com>
---
 arch/x86/Kconfig                         |    2 +
 arch/x86/Makefile                        |    3 +
 drivers/misc/Kconfig                     |  280 ----------------------------
 drivers/misc/Makefile                    |   11 --
 drivers/x86/Kconfig                      |  290 ++++++++++++++++++++++++++++++
 drivers/x86/Makefile                     |   17 ++
 drivers/{misc => x86}/acer-wmi.c         |    0 
 drivers/{misc => x86}/asus-laptop.c      |    0 
 drivers/{misc => x86}/compal-laptop.c    |    0 
 drivers/{misc => x86}/eeepc-laptop.c     |    0 
 drivers/{misc => x86}/fujitsu-laptop.c   |    0 
 drivers/{misc => x86}/hp-wmi.c           |    0 
 drivers/{misc => x86}/intel_menlow.c     |    0 
 drivers/{misc => x86}/msi-laptop.c       |    0 
 drivers/{misc => x86}/panasonic-laptop.c |    0 
 drivers/{misc => x86}/sony-laptop.c      |    0 
 drivers/{misc => x86}/tc1100-wmi.c       |    0 
 drivers/{misc => x86}/thinkpad_acpi.c    |    0 
 18 files changed, 312 insertions(+), 291 deletions(-)
 create mode 100644 drivers/x86/Kconfig
 create mode 100644 drivers/x86/Makefile
 rename drivers/{misc => x86}/acer-wmi.c (100%)
 rename drivers/{misc => x86}/asus-laptop.c (100%)
 rename drivers/{misc => x86}/compal-laptop.c (100%)
 rename drivers/{misc => x86}/eeepc-laptop.c (100%)
 rename drivers/{misc => x86}/fujitsu-laptop.c (100%)
 rename drivers/{misc => x86}/hp-wmi.c (100%)
 rename drivers/{misc => x86}/intel_menlow.c (100%)
 rename drivers/{misc => x86}/msi-laptop.c (100%)
 rename drivers/{misc => x86}/panasonic-laptop.c (100%)
 rename drivers/{misc => x86}/sony-laptop.c (100%)
 rename drivers/{misc => x86}/tc1100-wmi.c (100%)
 rename drivers/{misc => x86}/thinkpad_acpi.c (100%)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 93224b5..b89db1e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1904,6 +1904,8 @@ source "drivers/Kconfig"
 
 source "drivers/firmware/Kconfig"
 
+source "drivers/x86/Kconfig"
+
 source "fs/Kconfig"
 
 source "arch/x86/Kconfig.debug"
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index d1a47ad..a750519 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -171,6 +171,9 @@ ifeq ($(CONFIG_X86_32),y)
 drivers-$(CONFIG_FB) += arch/x86/video/
 endif
 
+# x86 platform-specific drivers
+drivers-y       += drivers/x86/
+
 ####
 # boot loader support. Several targets are kept for legacy purposes
 
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index fee7304..8b775b8 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -136,97 +136,6 @@ config TIFM_7XX1
           To compile this driver as a module, choose M here: the module will
 	  be called tifm_7xx1.
 
-config ACER_WMI
-        tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
-	depends on X86
-	depends on EXPERIMENTAL
-	depends on ACPI
-	depends on LEDS_CLASS
-	depends on NEW_LEDS
-	depends on BACKLIGHT_CLASS_DEVICE
-	depends on SERIO_I8042
-	depends on RFKILL
-	select ACPI_WMI
-	---help---
-	  This is a driver for newer Acer (and Wistron) laptops. It adds
-	  wireless radio and bluetooth control, and on some laptops,
-	  exposes the mail LED and LCD backlight.
-
-	  For more information about this driver see
-	  <file:Documentation/laptops/acer-wmi.txt>
-
-	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
-	  here.
-
-config ASUS_LAPTOP
-        tristate "Asus Laptop Extras (EXPERIMENTAL)"
-        depends on X86
-        depends on ACPI
-	depends on EXPERIMENTAL && !ACPI_ASUS
-	depends on LEDS_CLASS
-	depends on NEW_LEDS
-	depends on BACKLIGHT_CLASS_DEVICE
-        ---help---
-	  This is the new Linux driver for Asus laptops. It may also support some
-	  MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate
-	  standard ACPI events that go through /proc/acpi/events. It also adds
-	  support for video output switching, LCD backlight control, Bluetooth and
-	  Wlan control, and most importantly, allows you to blink those fancy LEDs.
-
-	  For more information and a userspace daemon for handling the extra
-	  buttons see <http://acpi4asus.sf.net/>.
-
-	  If you have an ACPI-compatible ASUS laptop, say Y or M here.
-
-config FUJITSU_LAPTOP
-        tristate "Fujitsu Laptop Extras"
-        depends on X86
-        depends on ACPI
-	depends on INPUT
-        depends on BACKLIGHT_CLASS_DEVICE
-        ---help---
-	  This is a driver for laptops built by Fujitsu:
-
-	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
-	    * Possibly other Fujitsu laptop models
-	    * Tested with S6410 and S7020
-
-	  It adds support for LCD brightness control and some hotkeys.
-
-	  If you have a Fujitsu laptop, say Y or M here.
-
-config FUJITSU_LAPTOP_DEBUG
-	bool "Verbose debug mode for Fujitsu Laptop Extras"
-	depends on FUJITSU_LAPTOP
-	default n
-	---help---
-	  Enables extra debug output from the fujitsu extras driver, at the
-	  expense of a slight increase in driver size.
-
-	  If you are not sure, say N here.
-
-config TC1100_WMI
-	tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
-	depends on X86 && !X86_64
-	depends on EXPERIMENTAL
-	depends on ACPI
-	select ACPI_WMI
-	---help---
-	  This is a driver for the WMI extensions (wireless and bluetooth power
-	  control) of the HP Compaq TC1100 tablet.
-
-config HP_WMI
-       tristate "HP WMI extras"
-       depends on ACPI_WMI
-       depends on INPUT
-       depends on RFKILL
-       help
-         Say Y here if you want to support WMI-based hotkeys on HP laptops and
-	 to read data from WMI such as docking or ambient light sensor state.
-
-         To compile this driver as a module, choose M here: the module will
-         be called hp-wmi.
-
 config ICS932S401
 	tristate "Integrated Circuits ICS932S401"
 	depends on I2C && EXPERIMENTAL
@@ -237,170 +146,6 @@ config ICS932S401
 	  This driver can also be built as a module. If so, the module
 	  will be called ics932s401.
 
-config MSI_LAPTOP
-        tristate "MSI Laptop Extras"
-        depends on X86
-        depends on ACPI
-        depends on BACKLIGHT_CLASS_DEVICE
-        ---help---
-	  This is a driver for laptops built by MSI (MICRO-STAR
-	  INTERNATIONAL):
-
-	  MSI MegaBook S270 (MS-1013)
-	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
-
-	  It adds support for Bluetooth, WLAN and LCD brightness control.
-
-	  More information about this driver is available at
-	  <http://0pointer.de/lennart/tchibo.html>.
-
-	  If you have an MSI S270 laptop, say Y or M here.
-
-config PANASONIC_LAPTOP
-	tristate "Panasonic Laptop Extras"
-	depends on X86 && INPUT && ACPI
-        depends on BACKLIGHT_CLASS_DEVICE
-	---help---
-	  This driver adds support for access to backlight control and hotkeys
-	  on Panasonic Let's Note laptops.
-
-	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
-	  R2, R3, R5, T2, W2 and Y2 series), say Y.
-
-config COMPAL_LAPTOP
-	tristate "Compal Laptop Extras"
-	depends on X86
-	depends on ACPI
-	depends on BACKLIGHT_CLASS_DEVICE
-	---help---
-	  This is a driver for laptops built by Compal:
-
-	  Compal FL90/IFL90
-	  Compal FL91/IFL91
-	  Compal FL92/JFL92
-	  Compal FT00/IFT00
-
-	  It adds support for Bluetooth, WLAN and LCD brightness control.
-
-	  If you have an Compal FL9x/IFL9x/FT00 laptop, say Y or M here.
-
-config SONY_LAPTOP
-	tristate "Sony Laptop Extras"
-	depends on X86 && ACPI
-	select BACKLIGHT_CLASS_DEVICE
-	depends on INPUT
-	  ---help---
-	  This mini-driver drives the SNC and SPIC devices present in the ACPI
-	  BIOS of the Sony Vaio laptops.
-
-	  It gives access to some extra laptop functionalities like Bluetooth,
-	  screen brightness control, Fn keys and allows powering on/off some
-	  devices.
-
-	  Read <file:Documentation/laptops/sony-laptop.txt> for more information.
-
-config SONYPI_COMPAT
-	bool "Sonypi compatibility"
-	depends on SONY_LAPTOP
-	  ---help---
-	  Build the sonypi driver compatibility code into the sony-laptop driver.
-
-config THINKPAD_ACPI
-	tristate "ThinkPad ACPI Laptop Extras"
-	depends on X86 && ACPI
-	select BACKLIGHT_LCD_SUPPORT
-	select BACKLIGHT_CLASS_DEVICE
-	select HWMON
-	select NVRAM
-	select INPUT
-	select NEW_LEDS
-	select LEDS_CLASS
-	select NET
-	select RFKILL
-	---help---
-	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
-	  support for Fn-Fx key combinations, Bluetooth control, video
-	  output switching, ThinkLight control, UltraBay eject and more.
-	  For more information about this driver see
-	  <file:Documentation/laptops/thinkpad-acpi.txt> and
-	  <http://ibm-acpi.sf.net/> .
-
-	  This driver was formerly known as ibm-acpi.
-
-	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
-
-config THINKPAD_ACPI_DEBUG
-	bool "Verbose debug mode"
-	depends on THINKPAD_ACPI
-	default n
-	---help---
-	  Enables extra debugging information, at the expense of a slightly
-	  increase in driver size.
-
-	  If you are not sure, say N here.
-
-config THINKPAD_ACPI_DOCK
-	bool "Legacy Docking Station Support"
-	depends on THINKPAD_ACPI
-	depends on ACPI_DOCK=n
-	default n
-	---help---
-	  Allows the thinkpad_acpi driver to handle docking station events.
-	  This support was made obsolete by the generic ACPI docking station
-	  support (CONFIG_ACPI_DOCK).  It will allow locking and removing the
-	  laptop from the docking station, but will not properly connect PCI
-	  devices.
-
-	  If you are not sure, say N here.
-
-config THINKPAD_ACPI_BAY
-	bool "Legacy Removable Bay Support"
-	depends on THINKPAD_ACPI
-	default y
-	---help---
-	  Allows the thinkpad_acpi driver to handle removable bays.  It will
-	  electrically disable the device in the bay, and also generate
-	  notifications when the bay lever is ejected or inserted.
-
-	  If you are not sure, say Y here.
-
-config THINKPAD_ACPI_VIDEO
-	bool "Video output control support"
-	depends on THINKPAD_ACPI
-	default y
-	---help---
-	  Allows the thinkpad_acpi driver to provide an interface to control
-	  the various video output ports.
-
-	  This feature often won't work well, depending on ThinkPad model,
-	  display state, video output devices in use, whether there is a X
-	  server running, phase of the moon, and the current mood of
-	  Schroedinger's cat.  If you can use X.org's RandR to control
-	  your ThinkPad's video output ports instead of this feature,
-	  don't think twice: do it and say N here to save some memory.
-
-	  If you are not sure, say Y here.
-
-config THINKPAD_ACPI_HOTKEY_POLL
-	bool "Support NVRAM polling for hot keys"
-	depends on THINKPAD_ACPI
-	default y
-	---help---
-	  Some thinkpad models benefit from NVRAM polling to detect a few of
-	  the hot key press events.  If you know your ThinkPad model does not
-	  need to do NVRAM polling to support any of the hot keys you use,
-	  unselecting this option will save about 1kB of memory.
-
-	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
-	  unlikely to need NVRAM polling in their latest BIOS versions.
-
-	  NVRAM polling can detect at most the following keys: ThinkPad/Access
-	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
-	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
-
-	  If you are not sure, say Y here.  The driver enables polling only if
-	  it is strictly necessary to do so.
-
 config ATMEL_SSC
 	tristate "Device driver for Atmel SSC peripheral"
 	depends on AVR32 || ARCH_AT91
@@ -413,31 +158,6 @@ config ATMEL_SSC
 
 	  If unsure, say N.
 
-config INTEL_MENLOW
-	tristate "Thermal Management driver for Intel menlow platform"
-	depends on ACPI_THERMAL
-	select THERMAL
-	depends on X86
-	---help---
-	  ACPI thermal management enhancement driver on
-	  Intel Menlow platform.
-
-	  If unsure, say N.
-
-config EEEPC_LAPTOP
-	tristate "Eee PC Hotkey Driver (EXPERIMENTAL)"
-	depends on X86
-	depends on ACPI
-	depends on BACKLIGHT_CLASS_DEVICE
-	depends on HWMON
-	depends on EXPERIMENTAL
-	depends on RFKILL
-	---help---
-	  This driver supports the Fn-Fx keys on Eee PC laptops.
-	  It also adds the ability to switch camera/wlan on/off.
-
-	  If you have an Eee PC laptop, say Y or M here.
-
 config ENCLOSURE_SERVICES
 	tristate "Enclosure Services"
 	default n
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 817f7f5..4a62847 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -5,15 +5,9 @@ obj- := misc.o	# Dummy rule to force built-in.o to be made
 
 obj-$(CONFIG_IBM_ASM)		+= ibmasm/
 obj-$(CONFIG_HDPU_FEATURES)	+= hdpuftrs/
-obj-$(CONFIG_ASUS_LAPTOP)	+= asus-laptop.o
-obj-$(CONFIG_EEEPC_LAPTOP)	+= eeepc-laptop.o
-obj-$(CONFIG_MSI_LAPTOP)	+= msi-laptop.o
-obj-$(CONFIG_COMPAL_LAPTOP)	+= compal-laptop.o
-obj-$(CONFIG_ACER_WMI)		+= acer-wmi.o
 obj-$(CONFIG_ATMEL_PWM)		+= atmel_pwm.o
 obj-$(CONFIG_ATMEL_SSC)		+= atmel-ssc.o
 obj-$(CONFIG_ATMEL_TCLIB)	+= atmel_tclib.o
-obj-$(CONFIG_HP_WMI)		+= hp-wmi.o
 obj-$(CONFIG_ICS932S401)	+= ics932s401.o
 obj-$(CONFIG_TC1100_WMI)	+= tc1100-wmi.o
 obj-$(CONFIG_LKDTM)		+= lkdtm.o
@@ -21,12 +15,7 @@ obj-$(CONFIG_TIFM_CORE)       	+= tifm_core.o
 obj-$(CONFIG_TIFM_7XX1)       	+= tifm_7xx1.o
 obj-$(CONFIG_PHANTOM)		+= phantom.o
 obj-$(CONFIG_SGI_IOC4)		+= ioc4.o
-obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
-obj-$(CONFIG_THINKPAD_ACPI)	+= thinkpad_acpi.o
-obj-$(CONFIG_FUJITSU_LAPTOP)	+= fujitsu-laptop.o
-obj-$(CONFIG_PANASONIC_LAPTOP)	+= panasonic-laptop.o
 obj-$(CONFIG_EEPROM_93CX6)	+= eeprom_93cx6.o
-obj-$(CONFIG_INTEL_MENLOW)	+= intel_menlow.o
 obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
 obj-$(CONFIG_KGDB_TESTS)	+= kgdbts.o
 obj-$(CONFIG_SGI_XP)		+= sgi-xp/
diff --git a/drivers/x86/Kconfig b/drivers/x86/Kconfig
new file mode 100644
index 0000000..dabc2c5
--- /dev/null
+++ b/drivers/x86/Kconfig
@@ -0,0 +1,290 @@
+#
+# X86 Platform Specific Drivers
+#
+
+menuconfig X86_PLATFORM_DEVICES
+	bool "X86 Platform devices"
+	default y
+	---help---
+	  Say Y here to get to see options for device drivers for various
+	  x86 platforms, including vendor-specific laptop extension drivers.
+	  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if X86_PLATFORM_DEVICES
+
+config ACER_WMI
+        tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	depends on ACPI
+	depends on LEDS_CLASS
+	depends on NEW_LEDS
+	depends on BACKLIGHT_CLASS_DEVICE
+	depends on SERIO_I8042
+	depends on RFKILL
+	select ACPI_WMI
+	---help---
+	  This is a driver for newer Acer (and Wistron) laptops. It adds
+	  wireless radio and bluetooth control, and on some laptops,
+	  exposes the mail LED and LCD backlight.
+
+	  For more information about this driver see
+	  <file:Documentation/laptops/acer-wmi.txt>
+
+	  If you have an ACPI-WMI compatible Acer/ Wistron laptop, say Y or M
+	  here.
+
+config ASUS_LAPTOP
+        tristate "Asus Laptop Extras (EXPERIMENTAL)"
+        depends on ACPI
+	depends on EXPERIMENTAL && !ACPI_ASUS
+	depends on LEDS_CLASS
+	depends on NEW_LEDS
+	depends on BACKLIGHT_CLASS_DEVICE
+        ---help---
+	  This is the new Linux driver for Asus laptops. It may also support some
+	  MEDION, JVC or VICTOR laptops. It makes all the extra buttons generate
+	  standard ACPI events that go through /proc/acpi/events. It also adds
+	  support for video output switching, LCD backlight control, Bluetooth and
+	  Wlan control, and most importantly, allows you to blink those fancy LEDs.
+
+	  For more information and a userspace daemon for handling the extra
+	  buttons see <http://acpi4asus.sf.net/>.
+
+	  If you have an ACPI-compatible ASUS laptop, say Y or M here.
+
+config FUJITSU_LAPTOP
+        tristate "Fujitsu Laptop Extras"
+        depends on ACPI
+	depends on INPUT
+        depends on BACKLIGHT_CLASS_DEVICE
+        ---help---
+	  This is a driver for laptops built by Fujitsu:
+
+	    * P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
+	    * Possibly other Fujitsu laptop models
+	    * Tested with S6410 and S7020
+
+	  It adds support for LCD brightness control and some hotkeys.
+
+	  If you have a Fujitsu laptop, say Y or M here.
+
+config FUJITSU_LAPTOP_DEBUG
+	bool "Verbose debug mode for Fujitsu Laptop Extras"
+	depends on FUJITSU_LAPTOP
+	default n
+	---help---
+	  Enables extra debug output from the fujitsu extras driver, at the
+	  expense of a slight increase in driver size.
+
+	  If you are not sure, say N here.
+
+config TC1100_WMI
+	tristate "HP Compaq TC1100 Tablet WMI Extras (EXPERIMENTAL)"
+	depends on !X86_64
+	depends on EXPERIMENTAL
+	depends on ACPI
+	select ACPI_WMI
+	---help---
+	  This is a driver for the WMI extensions (wireless and bluetooth power
+	  control) of the HP Compaq TC1100 tablet.
+
+config HP_WMI
+       tristate "HP WMI extras"
+       depends on ACPI_WMI
+       depends on INPUT
+       depends on RFKILL
+       help
+         Say Y here if you want to support WMI-based hotkeys on HP laptops and
+	 to read data from WMI such as docking or ambient light sensor state.
+
+         To compile this driver as a module, choose M here: the module will
+         be called hp-wmi.
+
+config MSI_LAPTOP
+        tristate "MSI Laptop Extras"
+        depends on ACPI
+        depends on BACKLIGHT_CLASS_DEVICE
+        ---help---
+	  This is a driver for laptops built by MSI (MICRO-STAR
+	  INTERNATIONAL):
+
+	  MSI MegaBook S270 (MS-1013)
+	  Cytron/TCM/Medion/Tchibo MD96100/SAM2000
+
+	  It adds support for Bluetooth, WLAN and LCD brightness control.
+
+	  More information about this driver is available at
+	  <http://0pointer.de/lennart/tchibo.html>.
+
+	  If you have an MSI S270 laptop, say Y or M here.
+
+config PANASONIC_LAPTOP
+	tristate "Panasonic Laptop Extras"
+	depends on INPUT && ACPI
+        depends on BACKLIGHT_CLASS_DEVICE
+	---help---
+	  This driver adds support for access to backlight control and hotkeys
+	  on Panasonic Let's Note laptops.
+
+	  If you have a Panasonic Let's note laptop (such as the R1(N variant),
+	  R2, R3, R5, T2, W2 and Y2 series), say Y.
+
+config COMPAL_LAPTOP
+	tristate "Compal Laptop Extras"
+	depends on ACPI
+	depends on BACKLIGHT_CLASS_DEVICE
+	---help---
+	  This is a driver for laptops built by Compal:
+
+	  Compal FL90/IFL90
+	  Compal FL91/IFL91
+	  Compal FL92/JFL92
+	  Compal FT00/IFT00
+
+	  It adds support for Bluetooth, WLAN and LCD brightness control.
+
+	  If you have an Compal FL9x/IFL9x/FT00 laptop, say Y or M here.
+
+config SONY_LAPTOP
+	tristate "Sony Laptop Extras"
+	depends on ACPI
+	select BACKLIGHT_CLASS_DEVICE
+	depends on INPUT
+	  ---help---
+	  This mini-driver drives the SNC and SPIC devices present in the ACPI
+	  BIOS of the Sony Vaio laptops.
+
+	  It gives access to some extra laptop functionalities like Bluetooth,
+	  screen brightness control, Fn keys and allows powering on/off some
+	  devices.
+
+	  Read <file:Documentation/laptops/sony-laptop.txt> for more information.
+
+config SONYPI_COMPAT
+	bool "Sonypi compatibility"
+	depends on SONY_LAPTOP
+	  ---help---
+	  Build the sonypi driver compatibility code into the sony-laptop driver.
+
+config THINKPAD_ACPI
+	tristate "ThinkPad ACPI Laptop Extras"
+	depends on ACPI
+	select BACKLIGHT_LCD_SUPPORT
+	select BACKLIGHT_CLASS_DEVICE
+	select HWMON
+	select NVRAM
+	select INPUT
+	select NEW_LEDS
+	select LEDS_CLASS
+	select NET
+	select RFKILL
+	---help---
+	  This is a driver for the IBM and Lenovo ThinkPad laptops. It adds
+	  support for Fn-Fx key combinations, Bluetooth control, video
+	  output switching, ThinkLight control, UltraBay eject and more.
+	  For more information about this driver see
+	  <file:Documentation/laptops/thinkpad-acpi.txt> and
+	  <http://ibm-acpi.sf.net/> .
+
+	  This driver was formerly known as ibm-acpi.
+
+	  If you have an IBM or Lenovo ThinkPad laptop, say Y or M here.
+
+config THINKPAD_ACPI_DEBUG
+	bool "Verbose debug mode"
+	depends on THINKPAD_ACPI
+	default n
+	---help---
+	  Enables extra debugging information, at the expense of a slightly
+	  increase in driver size.
+
+	  If you are not sure, say N here.
+
+config THINKPAD_ACPI_DOCK
+	bool "Legacy Docking Station Support"
+	depends on THINKPAD_ACPI
+	depends on ACPI_DOCK=n
+	default n
+	---help---
+	  Allows the thinkpad_acpi driver to handle docking station events.
+	  This support was made obsolete by the generic ACPI docking station
+	  support (CONFIG_ACPI_DOCK).  It will allow locking and removing the
+	  laptop from the docking station, but will not properly connect PCI
+	  devices.
+
+	  If you are not sure, say N here.
+
+config THINKPAD_ACPI_BAY
+	bool "Legacy Removable Bay Support"
+	depends on THINKPAD_ACPI
+	default y
+	---help---
+	  Allows the thinkpad_acpi driver to handle removable bays.  It will
+	  electrically disable the device in the bay, and also generate
+	  notifications when the bay lever is ejected or inserted.
+
+	  If you are not sure, say Y here.
+
+config THINKPAD_ACPI_VIDEO
+	bool "Video output control support"
+	depends on THINKPAD_ACPI
+	default y
+	---help---
+	  Allows the thinkpad_acpi driver to provide an interface to control
+	  the various video output ports.
+
+	  This feature often won't work well, depending on ThinkPad model,
+	  display state, video output devices in use, whether there is a X
+	  server running, phase of the moon, and the current mood of
+	  Schroedinger's cat.  If you can use X.org's RandR to control
+	  your ThinkPad's video output ports instead of this feature,
+	  don't think twice: do it and say N here to save some memory.
+
+	  If you are not sure, say Y here.
+
+config THINKPAD_ACPI_HOTKEY_POLL
+	bool "Support NVRAM polling for hot keys"
+	depends on THINKPAD_ACPI
+	default y
+	---help---
+	  Some thinkpad models benefit from NVRAM polling to detect a few of
+	  the hot key press events.  If you know your ThinkPad model does not
+	  need to do NVRAM polling to support any of the hot keys you use,
+	  unselecting this option will save about 1kB of memory.
+
+	  ThinkPads T40 and newer, R52 and newer, and X31 and newer are
+	  unlikely to need NVRAM polling in their latest BIOS versions.
+
+	  NVRAM polling can detect at most the following keys: ThinkPad/Access
+	  IBM, Zoom, Switch Display (fn+F7), ThinkLight, Volume up/down/mute,
+	  Brightness up/down, Display Expand (fn+F8), Hibernate (fn+F12).
+
+	  If you are not sure, say Y here.  The driver enables polling only if
+	  it is strictly necessary to do so.
+
+config INTEL_MENLOW
+	tristate "Thermal Management driver for Intel menlow platform"
+	depends on ACPI_THERMAL
+	select THERMAL
+	---help---
+	  ACPI thermal management enhancement driver on
+	  Intel Menlow platform.
+
+	  If unsure, say N.
+
+config EEEPC_LAPTOP
+	tristate "Eee PC Hotkey Driver (EXPERIMENTAL)"
+	depends on ACPI
+	depends on BACKLIGHT_CLASS_DEVICE
+	depends on HWMON
+	depends on EXPERIMENTAL
+	depends on RFKILL
+	---help---
+	  This driver supports the Fn-Fx keys on Eee PC laptops.
+	  It also adds the ability to switch camera/wlan on/off.
+
+	  If you have an Eee PC laptop, say Y or M here.
+
+endif # X86_PLATFORM_DEVICES
diff --git a/drivers/x86/Makefile b/drivers/x86/Makefile
new file mode 100644
index 0000000..4f14f28
--- /dev/null
+++ b/drivers/x86/Makefile
@@ -0,0 +1,17 @@
+#
+# x86 Platform-Specific Drivers
+#
+obj- := x86.o	# Dummy rule to force built-in.o to be made
+
+obj-$(CONFIG_ASUS_LAPTOP)	+= asus-laptop.o
+obj-$(CONFIG_EEEPC_LAPTOP)	+= eeepc-laptop.o
+obj-$(CONFIG_MSI_LAPTOP)	+= msi-laptop.o
+obj-$(CONFIG_COMPAL_LAPTOP)	+= compal-laptop.o
+obj-$(CONFIG_ACER_WMI)		+= acer-wmi.o
+obj-$(CONFIG_HP_WMI)		+= hp-wmi.o
+obj-$(CONFIG_TC1100_WMI)	+= tc1100-wmi.o
+obj-$(CONFIG_SONY_LAPTOP)	+= sony-laptop.o
+obj-$(CONFIG_THINKPAD_ACPI)	+= thinkpad_acpi.o
+obj-$(CONFIG_FUJITSU_LAPTOP)	+= fujitsu-laptop.o
+obj-$(CONFIG_PANASONIC_LAPTOP)	+= panasonic-laptop.o
+obj-$(CONFIG_INTEL_MENLOW)	+= intel_menlow.o
diff --git a/drivers/misc/acer-wmi.c b/drivers/x86/acer-wmi.c
similarity index 100%
rename from drivers/misc/acer-wmi.c
rename to drivers/x86/acer-wmi.c
diff --git a/drivers/misc/asus-laptop.c b/drivers/x86/asus-laptop.c
similarity index 100%
rename from drivers/misc/asus-laptop.c
rename to drivers/x86/asus-laptop.c
diff --git a/drivers/misc/compal-laptop.c b/drivers/x86/compal-laptop.c
similarity index 100%
rename from drivers/misc/compal-laptop.c
rename to drivers/x86/compal-laptop.c
diff --git a/drivers/misc/eeepc-laptop.c b/drivers/x86/eeepc-laptop.c
similarity index 100%
rename from drivers/misc/eeepc-laptop.c
rename to drivers/x86/eeepc-laptop.c
diff --git a/drivers/misc/fujitsu-laptop.c b/drivers/x86/fujitsu-laptop.c
similarity index 100%
rename from drivers/misc/fujitsu-laptop.c
rename to drivers/x86/fujitsu-laptop.c
diff --git a/drivers/misc/hp-wmi.c b/drivers/x86/hp-wmi.c
similarity index 100%
rename from drivers/misc/hp-wmi.c
rename to drivers/x86/hp-wmi.c
diff --git a/drivers/misc/intel_menlow.c b/drivers/x86/intel_menlow.c
similarity index 100%
rename from drivers/misc/intel_menlow.c
rename to drivers/x86/intel_menlow.c
diff --git a/drivers/misc/msi-laptop.c b/drivers/x86/msi-laptop.c
similarity index 100%
rename from drivers/misc/msi-laptop.c
rename to drivers/x86/msi-laptop.c
diff --git a/drivers/misc/panasonic-laptop.c b/drivers/x86/panasonic-laptop.c
similarity index 100%
rename from drivers/misc/panasonic-laptop.c
rename to drivers/x86/panasonic-laptop.c
diff --git a/drivers/misc/sony-laptop.c b/drivers/x86/sony-laptop.c
similarity index 100%
rename from drivers/misc/sony-laptop.c
rename to drivers/x86/sony-laptop.c
diff --git a/drivers/misc/tc1100-wmi.c b/drivers/x86/tc1100-wmi.c
similarity index 100%
rename from drivers/misc/tc1100-wmi.c
rename to drivers/x86/tc1100-wmi.c
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/x86/thinkpad_acpi.c
similarity index 100%
rename from drivers/misc/thinkpad_acpi.c
rename to drivers/x86/thinkpad_acpi.c
-- 
1.5.6.5


^ permalink raw reply related

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Len Brown @ 2008-11-28 23:20 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
	linux-acpi
In-Reply-To: <20081128223533.GA5175@uranus.ravnborg.org>



> You move 12 files but delete 11 lines.

obj-$(CONFIG_TC1100_WMI)        += tc1100-wmi.o

was left behind by mistake.

^ permalink raw reply

* Re: linux-next: manual merge of the firmware tree
From: Divy Le Ray @ 2008-11-29  0:14 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: David Woodhouse, linux-next, David S. Miller, Jaswinder Singh
In-Reply-To: <20081128160339.23fa014f.sfr@canb.auug.org.au>

Stephen Rothwell wrote:
> Hi David,
> 
> Today's linux-next merge of the firmware tree got conflicts in
> firmware/Makefile and firmware/WHENCE between commit
> ad58633c8381e88b54055771877726d3d5d24734 ("cxgb3: integrate FW and
> protocol engines in the kernel") from the net tree and various commits
> from the firmware tree.
> 
> Just overlapping additions.  I fixed it up (see below) and can carry the
> fix.
> 
> Is it time that some of these went to their respective maintainers?
> --

Hi Stephen,

I created this situation and apologize for it. I should have sent the
patch to the firmware tree maintainer.

Cheers,
Divy

^ permalink raw reply

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Henrique de Moraes Holschuh @ 2008-11-29  0:16 UTC (permalink / raw)
  To: Len Brown
  Cc: Sam Ravnborg, Stephen Rothwell, Len Brown, linux-next, LKML,
	Randy Dunlap, x86, linux-acpi
In-Reply-To: <alpine.LFD.2.00.0811281801520.24773@localhost.localdomain>

On Fri, 28 Nov 2008, Len Brown wrote:
> > > Move x86 platform specific drivers from drivers/misc/
> > > to a new home under drivers/x86/.
[...]
> > We already have 81 one directory entries under drivers/
> > and with patch you open up for an additional
> > directory for each arch - not elegant.
> 
> I followed the example of drivers/s390/,
> per Linus' suggestion.
> 
> The other place that seemed to suggest itself was
> arch/x86/drivers/, as we already have:
> 
> arch/um/drivers/
> arch/sh/drivers/
> arch/cris/*/drivers/

IMHO, from a purely "tree organization" point of view, it would be best if
arch-specific platform drivers were under drivers/platform/<arch>/.  And
arch/ be left for the core arch-specific stuff.

Whether that would work well, when arch maintenance factors are taken into
account, I don't know.

> > As it is today (before this patch) the directories unider
> > drivers/ said what the drivers was used for - which is logical.
> > 
> > But with this new arch specific directory it is no longer obvious
> > is a driver should be located under say drivers/net/* or
> > drivers/arm/* in case it is a arm specific driver.

drivers/platform/<arch> would help in that regard, I think.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

^ permalink raw reply

* Re: linux-next: manual merge of the firmware tree
From: Stephen Rothwell @ 2008-11-29  0:48 UTC (permalink / raw)
  To: Divy Le Ray; +Cc: David Woodhouse, linux-next, David S. Miller, Jaswinder Singh
In-Reply-To: <49308976.7010206@chelsio.com>

[-- Attachment #1: Type: text/plain, Size: 631 bytes --]

Hi Divy,

On Fri, 28 Nov 2008 16:14:46 -0800 Divy Le Ray <divy@chelsio.com> wrote:
>
> I created this situation and apologize for it. I should have sent the
> patch to the firmware tree maintainer.

Its not a big issue - the conflict has a very obvious resolution and "git
rerere" remembers it for me.  As far as I know, there is no "firmware
maintainer" - David just has a git tree that was used when the initial
conversions were done.  Some of those have not yet been finalised and so
are still in his tree.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Randy Dunlap @ 2008-11-29  1:00 UTC (permalink / raw)
  To: Len Brown
  Cc: Sam Ravnborg, Stephen Rothwell, Len Brown, linux-next, LKML, x86,
	linux-acpi
In-Reply-To: <alpine.LFD.2.00.0811281801520.24773@localhost.localdomain>

Len Brown wrote:
> 
>>> Move x86 platform specific drivers from drivers/misc/
>>> to a new home under drivers/x86/.
>>>
>>> The community has been maintaining x86 platform specific drivers
>>> under /drivers/misc/ for a few years.  The oldest ones started
>>> life under drivers/acpi, but got booted out because they are
>>> generally vendor-specific extensions to ACPI, or simply
>>> users of ACPI, rather than implementers of the ACPI spec.
>>>
>>> The thing that they have in common is that they are
>>> x86 vendor specific platform drivers.  So when asked,
>>> Linus suggested we move them to drivers/x86.
>> We already have 81 one directory entries under drivers/
>> and with patch you open up for an additional
>> directory for each arch - not elegant.
> 
> I followed the example of drivers/s390/,
> per Linus' suggestion.
> 
> The other place that seemed to suggest itself was
> arch/x86/drivers/, as we already have:
> 
> arch/um/drivers/
> arch/sh/drivers/
> arch/cris/*/drivers/
> 
>> As it is today (before this patch) the directories unider
>> drivers/ said what the drivers was used for - which is logical.
>>
>> But with this new arch specific directory it is no longer obvious
>> is a driver should be located under say drivers/net/* or
>> drivers/arm/* in case it is a arm specific driver.
> 
> These are vendor-specific, aka "platform specific" drivers
> for various x86 platforms.
> 
>> What is wrong with the current location under misc/*?
> 
> mostly that it "misc" means nothing at all...
> Indeed, misc should probably be deleted for this reason...

Yes, IIRC, we had eliminated drivers/misc/ at one point,
and then it came back on us.

~Randy

^ permalink raw reply

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Sam Ravnborg @ 2008-11-29  7:23 UTC (permalink / raw)
  To: Len Brown
  Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
	linux-acpi
In-Reply-To: <alpine.LFD.2.00.0811281801520.24773@localhost.localdomain>

> 
> I followed the example of drivers/s390/,
> per Linus' suggestion.

And in s390 we have:

block/
char/
cio/
crypto/
ebcdic.c
kvm/
Makefile
net/
s390mach.c
s390mach.h
s390_rdev.c
scsi/
sysinfo.c

So we end up with block drivers in drivers/block AND drivers/s390/block
This is the wrong way to divide up things.

find -name arm
./net/arm
./scsi/arm

find -name cris
./net/cris

find -name x86
./lguest/x86


See above. I have all net drivers under drivers/net/ and for 
arm and cris they have their own subdirectory.
Except for s390 where I have to go finding them in other places.

> The other place that seemed to suggest itself was
> arch/x86/drivers/, as we already have:
> 
> arch/um/drivers/
> arch/sh/drivers/
> arch/cris/*/drivers/

The approach has been for a long time to move away from
storing drivers under arch/*/drivers and cris is slowly
moving their drivers.
I dunno about um and sh.

	Sam

^ permalink raw reply

* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
From: Sam Ravnborg @ 2008-11-29  7:38 UTC (permalink / raw)
  To: Len Brown
  Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
	linux-acpi
In-Reply-To: <alpine.LFD.2.00.0811281801520.24773@localhost.localdomain>

Comments below in case we stick to this drivers/x86 thing...

	Sam

> 
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 93224b5..b89db1e 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -1904,6 +1904,8 @@ source "drivers/Kconfig"
>  
>  source "drivers/firmware/Kconfig"
>  
> +source "drivers/x86/Kconfig"
> +
>  source "fs/Kconfig"

Any chance we can have this in drivers/Kconfig?

Just wrap all of the file in an

if X86
.....
endif

So we keep all the drivers/ stuff in one Kconfig file and
not spread all over.

> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> index d1a47ad..a750519 100644
> --- a/arch/x86/Makefile
> +++ b/arch/x86/Makefile
> @@ -171,6 +171,9 @@ ifeq ($(CONFIG_X86_32),y)
>  drivers-$(CONFIG_FB) += arch/x86/video/
>  endif
>  
> +# x86 platform-specific drivers
> +drivers-y       += drivers/x86/
> +


Can this be included in drivers/Makefile like this:

obj-$(CONFIG_X86) += x86/

Notice that parisc already do the same. (Yes they have
a drivers/parisc dir).

We shall try to visit our tree in natural order when we build
and such a rule breaks this.
Also it is good to keep drivers/ stuff in one place.

> +++ b/drivers/x86/Kconfig
> @@ -0,0 +1,290 @@
> +#
> +# X86 Platform Specific Drivers
> +#
> +
> +menuconfig X86_PLATFORM_DEVICES
> +	bool "X86 Platform devices"
> +	default y
> +	---help---
> +	  Say Y here to get to see options for device drivers for various
> +	  x86 platforms, including vendor-specific laptop extension drivers.
> +	  This option alone does not add any kernel code.
> +
> +	  If you say N, all options in this submenu will be skipped and disabled.
> +
> +if X86_PLATFORM_DEVICES
> +
> +config ACER_WMI
> +        tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
spaces => tab

> +config ASUS_LAPTOP
> +        tristate "Asus Laptop Extras (EXPERIMENTAL)"
> +        depends on ACPI
spaces => tab

> +config FUJITSU_LAPTOP
> +        tristate "Fujitsu Laptop Extras"
> +        depends on ACPI
> +	depends on INPUT
> +        depends on BACKLIGHT_CLASS_DEVICE
> +        ---help---
spaces => tab

> +config HP_WMI
> +       tristate "HP WMI extras"
> +       depends on ACPI_WMI
> +       depends on INPUT
> +       depends on RFKILL
> +       help
> +         Say Y here if you want to support WMI-based hotkeys on HP laptops and
spaces => tab

> +	 to read data from WMI such as docking or ambient light sensor state.
> +
> +         To compile this driver as a module, choose M here: the module will
> +         be called hp-wmi.
> +
> +config MSI_LAPTOP
> +        tristate "MSI Laptop Extras"
> +        depends on ACPI
> +        depends on BACKLIGHT_CLASS_DEVICE
> +        ---help---
spaces => tab

> diff --git a/drivers/x86/Makefile b/drivers/x86/Makefile
> new file mode 100644
> index 0000000..4f14f28
> --- /dev/null
> +++ b/drivers/x86/Makefile
> @@ -0,0 +1,17 @@
> +#
> +# x86 Platform-Specific Drivers
> +#
> +obj- := x86.o	# Dummy rule to force built-in.o to be made

This is not needed. I can see divers/misc uses the same
but it is bogus.

	Sam

^ permalink raw reply

* Re: drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
From: Ingo Molnar @ 2008-11-29  9:34 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: Len Brown, linux-next, LKML, Randy Dunlap, x86
In-Reply-To: <20081129083550.3c23af37.sfr@canb.auug.org.au>


* Stephen Rothwell <sfr@canb.auug.org.au> wrote:

> Hi Len,
> 
> On Fri, 28 Nov 2008 09:55:08 -0800 Randy Dunlap <randy.dunlap@oracle.com> wrote:
> >
> > make[2]: *** No rule to make target `drivers/misc/tc1100-wmi.o', needed by `drivers/misc/built-in.o'.
> > 
> > on allmodconfig & allyesconfig for i386.
> > 
> > On, moved to drivers/x86/.  Someone needs to clean up drivers/misc/Makefile.
> 
> Just wondering where the move to drivers/x86 was discussed, (reviewed 
> and tested) and why the change is in the acpi tree and not the x86 
> tree?

it will all conflict with pending bits in the x86 tree, so i'd prefer if 
Len did this atomically after 2.6.29-rc1, without it having this 
long-term breakage effect.

Historically drivers/misc/ has been more active via the ACPI tree. (Len 
being the (in-)voluntary maintainer for those platform details)

So drivers/x86/ makes sense i guess. Eventually the really lowlevel bits 
might move to arch/x86/drivers/ or so - but i've got no strong opinion on 
it. There seems to be enough precedent of existing drivers/$ARCH 
hierarchies.

	Ingo

^ permalink raw reply

* Re: linux-next: manual merge of the firmware tree
From: David Woodhouse @ 2008-11-29 10:11 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Divy Le Ray, linux-next, David S. Miller, Jaswinder Singh
In-Reply-To: <20081129114846.4b97cd96.sfr@canb.auug.org.au>

On Sat, 2008-11-29 at 11:48 +1100, Stephen Rothwell wrote:
> On Fri, 28 Nov 2008 16:14:46 -0800 Divy Le Ray <divy@chelsio.com> wrote:
> > I created this situation and apologize for it. I should have sent the
> > patch to the firmware tree maintainer.

No, I think you did the right thing. Thank you for the patch.

> Its not a big issue - the conflict has a very obvious resolution and "git
> rerere" remembers it for me.  As far as I know, there is no "firmware
> maintainer" - David just has a git tree that was used when the initial
> conversions were done.  Some of those have not yet been finalised and so
> are still in his tree.

I had said that it's time for the 'firmware tree' to be discarded, and
the patches pushed upstream via the appropriate maintainers. The reason
I'd waited was because I'd told DaveM I'd wait for the dust to settle on
the first round of patches before sending the rest.

Now I'm a little concerned about the conflicts in the WHENCE file if we
have patches going through different routes. Perhaps we should stop just
adding stuff at the _end_ and sort it? Or rearrange it differently?

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

^ permalink raw reply

* Re: next-20081125: crypto hard disk gets unaccessable
From: Andrew Morton @ 2008-11-30  3:29 UTC (permalink / raw)
  To: Nico -telmich- Schottelius
  Cc: Christophe Saout, LKML, Herbert, dm-devel, linux-next,
	linux-crypto, Xu
In-Reply-To: <20081128063355.GA4700@denkbrett.schottelius.org>

(cc's added)

On Fri, 28 Nov 2008 07:33:55 +0100 Nico -telmich- Schottelius <nico-linux-next@schottelius.org> wrote:

> Hello!
> 
> After about four suspend & resume operations in the midst of editing
> a file, the system beeped twice and issued this error:
> 
> [69186.618730] note: kcryptd[2848] exited with preempt_count 2
> 
> [full call trace attached]
> 
> /dev/sda3 was mapped via cryptsetup luksOpen to /dev/mapper/home
> and also mounted an home.
> 
> After that error, all accesses to /home hung. Access to /
> (provided by sda1) were still working.
> 
> System is again the Lenovo X200, including sierra loaded and used.
> 
> ...
>

[lots of snippage]

> [69134.199241] device ppp0 left promiscuous mode
> [69186.618203] general protection fault: 0000 [#1] PREEMPT SMP 
> [69186.618216] last sysfs file: /sys/class/power_supply/BAT0/energy_full
> [69186.618220] CPU 0 
> [69186.618224] Modules linked in: ppp_deflate zlib_deflate zlib_inflate bsd_comp ppp_async crc_ccitt ppp_generic slhc sierra usbserial usb_storage libusual nfs lockd nfs_acl sunrpc iwlagn tun sg usblp sr_mod cdrom vfat fat i915 drm rfcomm l2cap uinput autofs4 ipv6 cpufreq_powersave sha256_generic ansi_cprng krng chainiv rng aes_x86_64 aes_generic cbc dm_crypt dm_mod md_mod loop btusb bluetooth arc4 ecb cryptomgr aead crypto_blkcipher crypto_hash snd_hda_intel snd_pcm snd_page_alloc snd_hwdep snd_seq snd_timer snd_seq_device i2c_i801 rtc_cmos rtc_core snd rtc_lib iwlcore i2c_core pcspkr soundcore mac80211 cfg80211 ehci_hcd video output uhci_hcd wmi usbcore e1000e intel_agp thinkpad_acpi rfkill hwmon backlight led_class nvram [last unloaded: iwlagn]
> [69186.618352] Pid: 2848, comm: kcryptd Not tainted 2.6.28-rc6-next-20081125-denkbrett #15
> [69186.618357] RIP: 0010:[<ffffffff8031f246>]  [<ffffffff8031f246>] crypto_xor+0x7/0x48
> [69186.618372] RSP: 0018:ffff880079879cc8  EFLAGS: 00010212
> [69186.618377] RAX: 00000000fffffff0 RBX: b6e3880000000010 RCX: 0000000000000000
> [69186.618382] RDX: 0000000000000010 RSI: b6e3880000000000 RDI: ffff88007a3da4e0
> [69186.618387] RBP: 0000000000000010 R08: 0000000000000010 R09: 0000000000000000
> [69186.618392] R10: 0000000000000000 R11: ffff88007a3da4e0 R12: 0000000000000010
> [69186.618397] R13: ffff88000c8c9000 R14: ffff88007a3da4e0 R15: 00000000000001f0
> [69186.618403] FS:  0000000000000000(0000) GS:ffffffff805f51c0(0000) knlGS:0000000000000000
> [69186.618408] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> [69186.618413] CR2: 00007f56a00ef000 CR3: 0000000053dc9000 CR4: 00000000000006e0
> [69186.618418] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> [69186.618423] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> [69186.618429] Process kcryptd (pid: 2848, threadinfo ffff880079878000, task ffff88007c2f23a0)
> [69186.618433] Stack:
> [69186.618436]  ffffffffa027226a ffffffff805e1e00 ffff880079879db0 ffff88007ad33800
> [69186.618444]  ffff88007b400360 ffffffffa0285705 fffffff000011212 0000000000000000
> [69186.618453]  b6e3880000000000 ffffe200002bebf8 ffff88000c8c9000 ffff88007a3da4a0
> [69186.618462] Call Trace:
> [69186.618468]  [<ffffffffa027226a>] ? crypto_cbc_encrypt+0xfa/0x15a [cbc]
> [69186.618481]  [<ffffffffa0285705>] ? aes_encrypt+0x0/0x7 [aes_x86_64]
> [69186.618494]  [<ffffffffa020667d>] ? async_encrypt+0x35/0x3a [crypto_blkcipher]
> [69186.618509]  [<ffffffffa0269a6f>] ? crypt_convert+0x1d2/0x253 [dm_crypt]
> [69186.618522]  [<ffffffffa0269ed6>] ? kcryptd_crypt+0x3e6/0x407 [dm_crypt]
> [69186.618533]  [<ffffffffa0269af0>] ? kcryptd_crypt+0x0/0x407 [dm_crypt]
> [69186.618543]  [<ffffffff80241704>] ? run_workqueue+0x87/0x122
> [69186.618552]  [<ffffffff80241877>] ? worker_thread+0xd8/0xe7
> [69186.618560]  [<ffffffff80244e00>] ? autoremove_wake_function+0x0/0x2e
> [69186.618569]  [<ffffffff8024179f>] ? worker_thread+0x0/0xe7
> [69186.618575]  [<ffffffff8024179f>] ? worker_thread+0x0/0xe7
> [69186.618582]  [<ffffffff80244ae7>] ? kthread+0x47/0x73
> [69186.618589]  [<ffffffff8020c4e9>] ? child_rip+0xa/0x21
> [69186.618597]  [<ffffffff80244aa0>] ? kthread+0x0/0x73
> [69186.618604]  [<ffffffff8020c4df>] ? child_rip+0x0/0x21
> [69186.618611] Code: 08 48 89 51 08 48 89 0a 48 b9 00 01 10 00 00 00 ad de 48 ba 00 02 20 00 00 00 ad de 48 89 08 48 89 50 08 c3 41 89 d0 31 c9 eb 0e <8b> 04 0e 41 83 e8 04 31 04 0f 48 83 c1 04 41 83 f8 03 77 ec 41 
> [69186.618678] RIP  [<ffffffff8031f246>] crypto_xor+0x7/0x48
> [69186.618686]  RSP <ffff880079879cc8>
> [69186.618723] ---[ end trace 728c95da3be59caf ]---
> [69186.618730] note: kcryptd[2848] exited with preempt_count 2
> 

Either a bug in dm-crypt or in crypto core, I'd guess.

I assume that 2.6.28-rc6 is OK?

^ permalink raw reply

* Re: next-20081125: crypto hard disk gets unaccessable
From: Herbert Xu @ 2008-11-30  4:32 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Christophe Saout, Nico -telmich- Schottelius, LKML, dm-devel,
	linux-next, linux-crypto
In-Reply-To: <20081129192939.925275f0.akpm@linux-foundation.org>

On Sat, Nov 29, 2008 at 07:29:39PM -0800, Andrew Morton wrote:
>
> > [69186.618377] RAX: 00000000fffffff0 RBX: b6e3880000000010 RCX: 0000000000000000
> > [69186.618382] RDX: 0000000000000010 RSI: b6e3880000000000 RDI: ffff88007a3da4e0

> > [69186.618611] Code: 08 48 89 51 08 48 89 0a 48 b9 00 01 10 00 00 00 ad de 48 ba 00 02 20 00 00 00 ad de 48 89 08 48 89 50 08 c3 41 89 d0 31 c9 eb 0e <8b> 04 0e 41 83 e8 04 31 04 0f 48 83 c1 04 41 83 f8 03 77 ec 41 

	8b 04 0e                mov    (%rsi,%rcx,1),%eax

So we were fed a bogus pointer by the caller.
 
> I assume that 2.6.28-rc6 is OK?

Nothing has changed in the crypto ciphers lately.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* next-2008-11-28 : can't mount UDF DVD
From: Laurent Riffard @ 2008-11-30 23:44 UTC (permalink / raw)
  To: Stephen Rothwell, Jan Kara, Marcin Slusarz; +Cc: linux-next, LKML
In-Reply-To: <20081128213620.2ec593d4.sfr@canb.auug.org.au>

Hi,

With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW:

~$ mount -oro -t udf /dev/sr0 /media/cdrom/
mount: Not a directory

There was no problem with 2.6.28-rc6.

I made a bisection:

33284bdf40f88160a154202510b27d983138c805 is first bad commit
commit 33284bdf40f88160a154202510b27d983138c805
Author: Marcin Slusarz <marcin.slusarz@gmail.com>
Date:   Sun Nov 16 20:52:19 2008 +0100

    udf: implement mode and dmode mounting options

    "dmode" allows overriding permissions of directories and
    "mode" allows overriding permissions of files.

    Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
    Cc: Jan Kara <jack@suse.cz>
    Signed-off-by: Jan Kara <jack@suse.cz>


Indeed, with this commit, I *must* use the dmode option to mount my DVD:

~$ sudo mount -oro,dmode=0755 -t udf /dev/sr0 /media/cdrom/
~$ grep /media/cdrom /proc/mounts 
/dev/scd0 /media/cdrom udf ro,mode=177777,dmode=755,utf8 0 0
~$ ls -la /media/cdrom/
total 46
drwxr-xr-x  5 root    root     344 Dec 24  2007 .
drwxr-xr-x 12 root    root    4096 Dec  1 00:17 ..
drwxr-xr-x  2 laurent laurent 7112 Nov 30 20:14 flexbackup
drwxr-xr-x  2 root    root      40 Nov 20  2005 lost+found
drwxr-xr-x 10 laurent laurent 4548 Nov 25  2005 patches
~$ ls -la /media/cdrom/flexbackup/
total 4307946
drwxr-xr-x 2 laurent laurent       7112 Nov 30 20:14 .
drwxr-xr-x 5 root    root           344 Dec 24  2007 ..
?rwsrwsrwt 1 laurent laurent         44 Oct  1  2006 00-index-key
...

Althought I was able to mount it with no special option on 2.6.28-rc6:

~$ sudo mount -oro -t udf /dev/sr0 /media/cdrom/
~$ grep /media/cdrom /proc/mounts 
/dev/scd0 /media/cdrom udf ro,utf8 0 0
~$ ls -la /media/cdrom/
total 46
drwxrwxrwx  5 root    root     344 2007-12-24 18:09 .
drwxr-xr-x 12 root    root    4096 2008-12-01 00:22 ..
drwxr-x---  2 laurent laurent 7112 2008-11-30 20:14 flexbackup
drwxr-xr-x  2 root    root      40 2005-11-20 23:37 lost+found
drwxr-x--- 10 laurent laurent 4548 2005-11-25 18:18 patches
~$ ls -la /media/cdrom/flexbackup/
total 4307946
drwxr-x--- 2 laurent laurent       7112 2008-11-30 20:14 .
drwxrwxrwx 5 root    root           344 2007-12-24 18:09 ..
-rw-r----- 1 laurent laurent         44 2006-10-01 15:36 00-index-key
...

~~
laurent

^ permalink raw reply

* linux-next: sparc tree build failure
From: Stephen Rothwell @ 2008-11-30 23:46 UTC (permalink / raw)
  To: David Miller; +Cc: linux-next, Sam Ravnborg

[-- Attachment #1: Type: text/plain, Size: 623 bytes --]

Hi Dave,

Today's linux-next build (powerpc ppc64_defconfig) failed like this:

  GEN     /scratch/sfr/powerpc_ppc64_defconfig/Makefile
***
*** Can't find default configuration "arch/sparc/configs/ppc64_defconfig"!
***

Caused by commit 9cdcf85e1bf5dca97c1304292810041af2fcbd42 ("Subject:
[PATCH 08/10] sparc,sparc64: unify Makefile") which seems to arbitrarily
set SRCARCH in the top level make file to sparc!

(One way to take over the world, I guess :-))

I have dropped the sparc tree for today.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply

* Re: Re: next-20081125: crypto hard disk gets unaccessable
From: Milan Broz @ 2008-12-01  0:16 UTC (permalink / raw)
  To: Nico -telmich- Schottelius
  Cc: Christophe Saout, LKML, device-mapper development, linux-next,
	linux-crypto, Herbert, Xu
In-Reply-To: <20081129192939.925275f0.akpm@linux-foundation.org>

Andrew Morton wrote:
> (cc's added)
> 
>> After about four suspend & resume operations in the midst of editing
>> a file, the system beeped twice and issued this error:

Did this work before? If so, please can you provide version where
it works?

It is suspend to encrypted swap?

There should not be any recent change in dm-crypt related to this path,
so I expect it is some bug related to suspend/resume in combination with
running crypto - like corruption of some memory caused during suspend...


> [lots of snippage]
>> [69186.618357] RIP: 0010:[<ffffffff8031f246>]  [<ffffffff8031f246>] crypto_xor+0x7/0x48

> [69186.618468]  [<ffffffffa027226a>] ? crypto_cbc_encrypt+0xfa/0x15a [cbc]
> [69186.618481]  [<ffffffffa0285705>] ? aes_encrypt+0x0/0x7 [aes_x86_64]
> [69186.618494]  [<ffffffffa020667d>] ? async_encrypt+0x35/0x3a [crypto_blkcipher]
> [69186.618509]  [<ffffffffa0269a6f>] ? crypt_convert+0x1d2/0x253 [dm_crypt]
> [69186.618522]  [<ffffffffa0269ed6>] ? kcryptd_crypt+0x3e6/0x407 [dm_crypt]
> [69186.618533]  [<ffffffffa0269af0>] ? kcryptd_crypt+0x0/0x407 [dm_crypt]

I assume that crypto run here synchronously (not through asynchronous completion callback).

Herbert - is my guess ok? (The asynchronous handling in dm-crypt was the only part changed recently.)
(And I think that except crypto hw nobody uses asynchronous mode yet by default.)

Milan
--
mbroz@redhat.com

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox