* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
[not found] ` <alpine.LFD.2.00.0811281702570.24773@localhost.localdomain>
@ 2008-11-28 22:09 ` Len Brown
2008-11-28 22:35 ` Sam Ravnborg
0 siblings, 1 reply; 19+ messages in thread
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
>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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 22:09 ` [RFC PATCH] x86: create drivers/x86/ from drivers/misc/ Len Brown
@ 2008-11-28 22:35 ` Sam Ravnborg
2008-11-28 23:16 ` Len Brown
2008-11-28 23:20 ` [RFC PATCH] x86: create drivers/x86/ " Len Brown
0 siblings, 2 replies; 19+ messages in thread
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
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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 22:35 ` Sam Ravnborg
@ 2008-11-28 23:16 ` Len Brown
2008-11-29 0:16 ` Henrique de Moraes Holschuh
` (3 more replies)
2008-11-28 23:20 ` [RFC PATCH] x86: create drivers/x86/ " Len Brown
1 sibling, 4 replies; 19+ messages in thread
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
> > 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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 22:35 ` Sam Ravnborg
2008-11-28 23:16 ` Len Brown
@ 2008-11-28 23:20 ` Len Brown
2008-12-01 4:49 ` Randy Dunlap
1 sibling, 1 reply; 19+ messages in thread
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
> You move 12 files but delete 11 lines.
obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o
was left behind by mistake.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 23:16 ` Len Brown
@ 2008-11-29 0:16 ` Henrique de Moraes Holschuh
2008-12-01 4:35 ` Len Brown
2008-11-29 1:00 ` Randy Dunlap
` (2 subsequent siblings)
3 siblings, 1 reply; 19+ messages in thread
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
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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 23:16 ` Len Brown
2008-11-29 0:16 ` Henrique de Moraes Holschuh
@ 2008-11-29 1:00 ` Randy Dunlap
2008-11-29 7:23 ` Sam Ravnborg
2008-11-29 7:38 ` Sam Ravnborg
3 siblings, 0 replies; 19+ messages in thread
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
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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 23:16 ` Len Brown
2008-11-29 0:16 ` Henrique de Moraes Holschuh
2008-11-29 1:00 ` Randy Dunlap
@ 2008-11-29 7:23 ` Sam Ravnborg
2008-11-29 7:38 ` Sam Ravnborg
3 siblings, 0 replies; 19+ messages in thread
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
>
> 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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 23:16 ` Len Brown
` (2 preceding siblings ...)
2008-11-29 7:23 ` Sam Ravnborg
@ 2008-11-29 7:38 ` Sam Ravnborg
2008-12-01 5:00 ` Len Brown
2008-12-01 6:02 ` [RFC PATCH v2] create drivers/platform/x86/ " Len Brown
3 siblings, 2 replies; 19+ messages in thread
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
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 [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-29 0:16 ` Henrique de Moraes Holschuh
@ 2008-12-01 4:35 ` Len Brown
0 siblings, 0 replies; 19+ messages in thread
From: Len Brown @ 2008-12-01 4:35 UTC (permalink / raw)
To: Henrique de Moraes Holschuh
Cc: Sam Ravnborg, Stephen Rothwell, Len Brown, linux-next, LKML,
Randy Dunlap, x86, linux-acpi
On Fri, 28 Nov 2008, Henrique de Moraes Holschuh wrote:
> 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.
Each of the drivers has a primary maintainer --
though some of them jare more active than others...
And I'll continue to be available to help them where I can.
> > > 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.
I agree.
drivers/platform/x86/ seems to be a better home than drivers/x86/
for this bunch. I'll update the patch to do this.
The other arch's can follow later if they choose.
thanks,
-Len
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-28 23:20 ` [RFC PATCH] x86: create drivers/x86/ " Len Brown
@ 2008-12-01 4:49 ` Randy Dunlap
0 siblings, 0 replies; 19+ messages in thread
From: Randy Dunlap @ 2008-12-01 4:49 UTC (permalink / raw)
To: Len Brown
Cc: Sam Ravnborg, Stephen Rothwell, Len Brown, linux-next, LKML,
Randy Dunlap, x86, linux-acpi
Len Brown wrote:
>
>> You move 12 files but delete 11 lines.
>
> obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o
>
> was left behind by mistake.
Yes, that caused the build error that was the original posting
for this thread.
~Randy
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-11-29 7:38 ` Sam Ravnborg
@ 2008-12-01 5:00 ` Len Brown
2008-12-01 5:54 ` Sam Ravnborg
2008-12-01 6:02 ` [RFC PATCH v2] create drivers/platform/x86/ " Len Brown
1 sibling, 1 reply; 19+ messages in thread
From: Len Brown @ 2008-12-01 5:00 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
On Sat, 29 Nov 2008, Sam Ravnborg wrote:
> Comments below in case we stick to this drivers/x86 thing...
now the "drivers/platform/x86/ thing"
aka the "get rid of drivers/misc/ thing":-)
> > 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.
grep 'source "drivers"' arch/x86/Kconfig
source "drivers/acpi/Kconfig"
source "drivers/cpuidle/Kconfig"
source "drivers/idle/Kconfig"
source "drivers/pci/pcie/Kconfig"
source "drivers/pci/Kconfig"
source "drivers/eisa/Kconfig"
source "drivers/mca/Kconfig"
source "drivers/pcmcia/Kconfig"
source "drivers/pci/hotplug/Kconfig"
source "drivers/Kconfig"
source "drivers/firmware/Kconfig"
source "drivers/x86/Kconfig"
Are the lines above a good example, a bad example,
or did I miss a nuance of the grand Kconfig design?
I really don't care one way or another, but there
seem to be examples of both ways...
> > 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.
sure, that sounds reasonable.
> > +++ 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.
Yes, all of this text came from the existing drivers/misc/
I'll fix it.
thanks,
-Len
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
2008-12-01 5:00 ` Len Brown
@ 2008-12-01 5:54 ` Sam Ravnborg
0 siblings, 0 replies; 19+ messages in thread
From: Sam Ravnborg @ 2008-12-01 5:54 UTC (permalink / raw)
To: Len Brown
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
On Mon, Dec 01, 2008 at 12:00:04AM -0500, Len Brown wrote:
> >
> > 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.
>
> grep 'source "drivers"' arch/x86/Kconfig
>
> source "drivers/acpi/Kconfig"
> source "drivers/cpuidle/Kconfig"
> source "drivers/idle/Kconfig"
> source "drivers/pci/pcie/Kconfig"
> source "drivers/pci/Kconfig"
> source "drivers/eisa/Kconfig"
> source "drivers/mca/Kconfig"
> source "drivers/pcmcia/Kconfig"
> source "drivers/pci/hotplug/Kconfig"
> source "drivers/Kconfig"
> source "drivers/firmware/Kconfig"
> source "drivers/x86/Kconfig"
>
> Are the lines above a good example, a bad example,
> or did I miss a nuance of the grand Kconfig design?
Unfortunately a typical example but if you look
closer most of the above is bus stuff, not driver stuff.
This is not the easist part to deal with
as there are > 10 arch to synchronize.
Sam
^ permalink raw reply [flat|nested] 19+ messages in thread
* [RFC PATCH v2] create drivers/platform/x86/ from drivers/misc/
2008-11-29 7:38 ` Sam Ravnborg
2008-12-01 5:00 ` Len Brown
@ 2008-12-01 6:02 ` Len Brown
2008-12-01 6:03 ` [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup Len Brown
` (2 more replies)
1 sibling, 3 replies; 19+ messages in thread
From: Len Brown @ 2008-12-01 6:02 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
Sam, Henrique,
I've responded to your feedback in v2, which follows.
Ingo,
this version does not touch arch/x86/
thanks,
-Len
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup
2008-12-01 6:02 ` [RFC PATCH v2] create drivers/platform/x86/ " Len Brown
@ 2008-12-01 6:03 ` Len Brown
2008-12-01 7:41 ` Sam Ravnborg
2008-12-01 6:05 ` [PATCH 2/2] create drivers/platform/x86/ from drivers/misc/ Len Brown
2008-12-01 7:48 ` [RFC PATCH v2] " Ingo Molnar
2 siblings, 1 reply; 19+ messages in thread
From: Len Brown @ 2008-12-01 6:03 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
From: Len Brown <len.brown@intel.com>
tabs->space and delete unnecessary dummy build-in.o rule.
Suggested-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/misc/Kconfig | 42 +++++++++++++++++++++---------------------
drivers/misc/Makefile | 3 ---
2 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index fee7304..dcf6169 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -120,7 +120,7 @@ config TIFM_CORE
cards are supported via 'MMC/SD Card support: TI Flash Media MMC/SD
Interface support (MMC_TIFM_SD)'.
- To compile this driver as a module, choose M here: the module will
+ To compile this driver as a module, choose M here: the module will
be called tifm_core.
config TIFM_7XX1
@@ -133,11 +133,11 @@ config TIFM_7XX1
To make actual use of the device, you will have to select some
flash card format drivers, as outlined in the TIFM_CORE Help.
- To compile this driver as a module, choose M here: the module will
+ 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)"
+ tristate "Acer WMI Laptop Extras (EXPERIMENTAL)"
depends on X86
depends on EXPERIMENTAL
depends on ACPI
@@ -159,14 +159,14 @@ config ACER_WMI
here.
config ASUS_LAPTOP
- tristate "Asus Laptop Extras (EXPERIMENTAL)"
- depends on X86
- depends on ACPI
+ 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---
+ ---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
@@ -179,12 +179,12 @@ config ASUS_LAPTOP
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
+ tristate "Fujitsu Laptop Extras"
+ depends on X86
+ depends on ACPI
depends on INPUT
- depends on BACKLIGHT_CLASS_DEVICE
- ---help---
+ depends on BACKLIGHT_CLASS_DEVICE
+ ---help---
This is a driver for laptops built by Fujitsu:
* P2xxx/P5xxx/S6xxx/S7xxx series Lifebooks
@@ -221,11 +221,11 @@ config HP_WMI
depends on INPUT
depends on RFKILL
help
- Say Y here if you want to support WMI-based hotkeys on HP laptops and
+ 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.
+ To compile this driver as a module, choose M here: the module will
+ be called hp-wmi.
config ICS932S401
tristate "Integrated Circuits ICS932S401"
@@ -238,11 +238,11 @@ config ICS932S401
will be called ics932s401.
config MSI_LAPTOP
- tristate "MSI Laptop Extras"
- depends on X86
- depends on ACPI
- depends on BACKLIGHT_CLASS_DEVICE
- ---help---
+ 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):
@@ -259,7 +259,7 @@ config MSI_LAPTOP
config PANASONIC_LAPTOP
tristate "Panasonic Laptop Extras"
depends on X86 && INPUT && ACPI
- depends on BACKLIGHT_CLASS_DEVICE
+ depends on BACKLIGHT_CLASS_DEVICE
---help---
This driver adds support for access to backlight control and hotkeys
on Panasonic Let's Note laptops.
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index 817f7f5..bcde73b 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -1,9 +1,6 @@
#
# Makefile for misc devices that really don't fit anywhere else.
#
-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
--
1.5.6.5
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 2/2] create drivers/platform/x86/ from drivers/misc/
2008-12-01 6:02 ` [RFC PATCH v2] create drivers/platform/x86/ " Len Brown
2008-12-01 6:03 ` [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup Len Brown
@ 2008-12-01 6:05 ` Len Brown
2008-12-01 7:48 ` [RFC PATCH v2] " Ingo Molnar
2 siblings, 0 replies; 19+ messages in thread
From: Len Brown @ 2008-12-01 6:05 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
From: Len Brown <len.brown@intel.com>
Move x86 platform specific drivers from drivers/misc/
to a new home under drivers/platform/x86/.
The community has been maintaining x86 vendor-specific
platform specific drivers under /drivers/misc/ for a few years.
The oldest ones started life under drivers/acpi.
They moved out of drivers/acpi/ because they don't actually
implement the ACPI specification, but either simply
use ACPI, or implement vendor-specific ACPI extensions.
In the future we anticipate...
drivers/misc/ will go away.
other architectures will create drivers/platform/<arch>
Signed-off-by: Len Brown <len.brown@intel.com>
---
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/misc/Kconfig | 280 -------------------
drivers/misc/Makefile | 12 -
drivers/platform/Kconfig | 5 +
drivers/platform/Makefile | 5 +
drivers/platform/x86/Kconfig | 297 +++++++++++++++++++++
drivers/platform/x86/Makefile | 16 ++
drivers/{misc => platform/x86}/acer-wmi.c | 0
drivers/{misc => platform/x86}/asus-laptop.c | 0
drivers/{misc => platform/x86}/compal-laptop.c | 0
drivers/{misc => platform/x86}/eeepc-laptop.c | 0
drivers/{misc => platform/x86}/fujitsu-laptop.c | 0
drivers/{misc => platform/x86}/hp-wmi.c | 0
drivers/{misc => platform/x86}/intel_menlow.c | 0
drivers/{misc => platform/x86}/msi-laptop.c | 0
drivers/{misc => platform/x86}/panasonic-laptop.c | 0
drivers/{misc => platform/x86}/sony-laptop.c | 0
drivers/{misc => platform/x86}/tc1100-wmi.c | 0
drivers/{misc => platform/x86}/thinkpad_acpi.c | 0
20 files changed, 326 insertions(+), 292 deletions(-)
create mode 100644 drivers/platform/Kconfig
create mode 100644 drivers/platform/Makefile
create mode 100644 drivers/platform/x86/Kconfig
create mode 100644 drivers/platform/x86/Makefile
rename drivers/{misc => platform/x86}/acer-wmi.c (100%)
rename drivers/{misc => platform/x86}/asus-laptop.c (100%)
rename drivers/{misc => platform/x86}/compal-laptop.c (100%)
rename drivers/{misc => platform/x86}/eeepc-laptop.c (100%)
rename drivers/{misc => platform/x86}/fujitsu-laptop.c (100%)
rename drivers/{misc => platform/x86}/hp-wmi.c (100%)
rename drivers/{misc => platform/x86}/intel_menlow.c (100%)
rename drivers/{misc => platform/x86}/msi-laptop.c (100%)
rename drivers/{misc => platform/x86}/panasonic-laptop.c (100%)
rename drivers/{misc => platform/x86}/sony-laptop.c (100%)
rename drivers/{misc => platform/x86}/tc1100-wmi.c (100%)
rename drivers/{misc => platform/x86}/thinkpad_acpi.c (100%)
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 2f557f5..00cf955 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -107,4 +107,6 @@ source "drivers/uio/Kconfig"
source "drivers/xen/Kconfig"
source "drivers/staging/Kconfig"
+
+source "drivers/platform/Kconfig"
endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index fceb71a..46d4828 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -102,3 +102,4 @@ obj-$(CONFIG_SSB) += ssb/
obj-$(CONFIG_VIRTIO) += virtio/
obj-$(CONFIG_REGULATOR) += regulator/
obj-$(CONFIG_STAGING) += staging/
+obj-y += platform/
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index dcf6169..8574879 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 bcde73b..5af1794 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -2,28 +2,16 @@
# Makefile for misc devices that really don't fit anywhere else.
#
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
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/platform/Kconfig b/drivers/platform/Kconfig
new file mode 100644
index 0000000..9652c3f
--- /dev/null
+++ b/drivers/platform/Kconfig
@@ -0,0 +1,5 @@
+# drivers/platform/Kconfig
+
+if X86
+source "drivers/platform/x86/Kconfig"
+endif
diff --git a/drivers/platform/Makefile b/drivers/platform/Makefile
new file mode 100644
index 0000000..782953a
--- /dev/null
+++ b/drivers/platform/Makefile
@@ -0,0 +1,5 @@
+#
+# Makefile for linux/drivers/platform
+#
+
+obj-$(CONFIG_X86) += x86/
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
new file mode 100644
index 0000000..4bb1e54
--- /dev/null
+++ b/drivers/platform/x86/Kconfig
@@ -0,0 +1,297 @@
+#
+# X86 Platform Specific Drivers
+#
+
+menuconfig X86_PLATFORM_DEVICES
+ bool "X86 Platform Specific Device Drivers"
+ 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 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 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 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.
+
+endif # X86_PLATFORM_DEVICES
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
new file mode 100644
index 0000000..4d26b1b
--- /dev/null
+++ b/drivers/platform/x86/Makefile
@@ -0,0 +1,16 @@
+#
+# Makefile for linux/drivers/platform/x86
+# x86 Platform-Specific Drivers
+#
+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/platform/x86/acer-wmi.c
similarity index 100%
rename from drivers/misc/acer-wmi.c
rename to drivers/platform/x86/acer-wmi.c
diff --git a/drivers/misc/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
similarity index 100%
rename from drivers/misc/asus-laptop.c
rename to drivers/platform/x86/asus-laptop.c
diff --git a/drivers/misc/compal-laptop.c b/drivers/platform/x86/compal-laptop.c
similarity index 100%
rename from drivers/misc/compal-laptop.c
rename to drivers/platform/x86/compal-laptop.c
diff --git a/drivers/misc/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
similarity index 100%
rename from drivers/misc/eeepc-laptop.c
rename to drivers/platform/x86/eeepc-laptop.c
diff --git a/drivers/misc/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
similarity index 100%
rename from drivers/misc/fujitsu-laptop.c
rename to drivers/platform/x86/fujitsu-laptop.c
diff --git a/drivers/misc/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
similarity index 100%
rename from drivers/misc/hp-wmi.c
rename to drivers/platform/x86/hp-wmi.c
diff --git a/drivers/misc/intel_menlow.c b/drivers/platform/x86/intel_menlow.c
similarity index 100%
rename from drivers/misc/intel_menlow.c
rename to drivers/platform/x86/intel_menlow.c
diff --git a/drivers/misc/msi-laptop.c b/drivers/platform/x86/msi-laptop.c
similarity index 100%
rename from drivers/misc/msi-laptop.c
rename to drivers/platform/x86/msi-laptop.c
diff --git a/drivers/misc/panasonic-laptop.c b/drivers/platform/x86/panasonic-laptop.c
similarity index 100%
rename from drivers/misc/panasonic-laptop.c
rename to drivers/platform/x86/panasonic-laptop.c
diff --git a/drivers/misc/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
similarity index 100%
rename from drivers/misc/sony-laptop.c
rename to drivers/platform/x86/sony-laptop.c
diff --git a/drivers/misc/tc1100-wmi.c b/drivers/platform/x86/tc1100-wmi.c
similarity index 100%
rename from drivers/misc/tc1100-wmi.c
rename to drivers/platform/x86/tc1100-wmi.c
diff --git a/drivers/misc/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
similarity index 100%
rename from drivers/misc/thinkpad_acpi.c
rename to drivers/platform/x86/thinkpad_acpi.c
--
1.5.6.5
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup
2008-12-01 6:03 ` [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup Len Brown
@ 2008-12-01 7:41 ` Sam Ravnborg
2008-12-01 19:23 ` Len Brown
0 siblings, 1 reply; 19+ messages in thread
From: Sam Ravnborg @ 2008-12-01 7:41 UTC (permalink / raw)
To: Len Brown
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
Hi Len.
> diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
> index 817f7f5..bcde73b 100644
> --- a/drivers/misc/Makefile
> +++ b/drivers/misc/Makefile
> @@ -1,9 +1,6 @@
> #
> # Makefile for misc devices that really don't fit anywhere else.
> #
> -obj- := misc.o # Dummy rule to force built-in.o to be made
> -
> -obj-$(CONFIG_IBM_ASM) += ibmasm/
^^
Was this on purpose?
I do not think so...
Sam
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [RFC PATCH v2] create drivers/platform/x86/ from drivers/misc/
2008-12-01 6:02 ` [RFC PATCH v2] create drivers/platform/x86/ " Len Brown
2008-12-01 6:03 ` [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup Len Brown
2008-12-01 6:05 ` [PATCH 2/2] create drivers/platform/x86/ from drivers/misc/ Len Brown
@ 2008-12-01 7:48 ` Ingo Molnar
2008-12-01 19:12 ` Len Brown
2 siblings, 1 reply; 19+ messages in thread
From: Ingo Molnar @ 2008-12-01 7:48 UTC (permalink / raw)
To: Len Brown
Cc: Sam Ravnborg, Stephen Rothwell, Len Brown, linux-next, LKML,
Randy Dunlap, x86, linux-acpi
* Len Brown <lenb@kernel.org> wrote:
> Sam, Henrique,
> I've responded to your feedback in v2, which follows.
>
> Ingo,
> this version does not touch arch/x86/
the problem isnt the bits that touch arch/x86/, but that we carry these
commits:
fbc2a06: Merge branch 'linus' into x86/uv
a3d732f: x86, UV: fix redundant creation of sgi_uv
7d9d1f2: sgi-xp: support getting the address of a partition's reserved page
31de5ec: sgi-xp: define xp_partition_id and xp_region_size
2525789: sgi-xp: create activate and notify gru message queues
6c1c325: sgi-xp: define xp_expand_memprotect() and xp_restrict_memprotect()
their drivers/misc impact is significant:
drivers/misc/sgi-gru/grufault.c | 4 +-
drivers/misc/sgi-gru/gruprocfs.c | 1 -
drivers/misc/sgi-xp/xp.h | 7 +-
drivers/misc/sgi-xp/xp_main.c | 7 +
drivers/misc/sgi-xp/xp_sn2.c | 34 +++++
drivers/misc/sgi-xp/xp_uv.c | 70 +++++++++-
drivers/misc/sgi-xp/xpc.h | 12 ++
drivers/misc/sgi-xp/xpc_sn2.c | 15 +--
drivers/misc/sgi-xp/xpc_uv.c | 290 ++++++++++++++++++++++++++++++--------
10 files changed, 368 insertions(+), 74 deletions(-)
And we'll likely get new commits in that space.
So if this is causing conflicts in linux-next then i'd suggest for you to
please do this "git mv drivers/misc/ drivers/x86/" rename (with which i
fully agree!) right after v2.6.29-rc1 - or near the end of the -rc1 merge
window.
In any case, please keep it in a separate branch in the ACPI tree so that
we can reconsider the ordering of this change in the future as well -
should it cause problems.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [RFC PATCH v2] create drivers/platform/x86/ from drivers/misc/
2008-12-01 7:48 ` [RFC PATCH v2] " Ingo Molnar
@ 2008-12-01 19:12 ` Len Brown
0 siblings, 0 replies; 19+ messages in thread
From: Len Brown @ 2008-12-01 19:12 UTC (permalink / raw)
To: Ingo Molnar
Cc: Sam Ravnborg, Stephen Rothwell, Len Brown, linux-next, LKML,
Randy Dunlap, x86, linux-acpi
> > this version does not touch arch/x86/
>
> the problem isnt the bits that touch arch/x86/, but that we carry these
> commits:
>
> fbc2a06: Merge branch 'linus' into x86/uv
> a3d732f: x86, UV: fix redundant creation of sgi_uv
> 7d9d1f2: sgi-xp: support getting the address of a partition's reserved page
> 31de5ec: sgi-xp: define xp_partition_id and xp_region_size
> 2525789: sgi-xp: create activate and notify gru message queues
> 6c1c325: sgi-xp: define xp_expand_memprotect() and xp_restrict_memprotect()
>
> their drivers/misc impact is significant:
>
> drivers/misc/sgi-gru/grufault.c | 4 +-
> drivers/misc/sgi-gru/gruprocfs.c | 1 -
> drivers/misc/sgi-xp/xp.h | 7 +-
> drivers/misc/sgi-xp/xp_main.c | 7 +
> drivers/misc/sgi-xp/xp_sn2.c | 34 +++++
> drivers/misc/sgi-xp/xp_uv.c | 70 +++++++++-
> drivers/misc/sgi-xp/xpc.h | 12 ++
> drivers/misc/sgi-xp/xpc_sn2.c | 15 +--
> drivers/misc/sgi-xp/xpc_uv.c | 290 ++++++++++++++++++++++++++++++--------
> 10 files changed, 368 insertions(+), 74 deletions(-)
>
> And we'll likely get new commits in that space.
>
> So if this is causing conflicts in linux-next then i'd suggest for you to
> please do this "git mv drivers/misc/ drivers/x86/" rename (with which i
> fully agree!) right after v2.6.29-rc1 - or near the end of the -rc1 merge
> window.
I only moved only the laptop drivers, didn't touch misc/sgi*/,
so I don't see any conflicts here.
> In any case, please keep it in a separate branch in the ACPI tree so that
> we can reconsider the ordering of this change in the future as well -
> should it cause problems.
sure.
Since we have no problems in linux-next now, I don't expect any at merge
time, but we'll have eyes open for issues then.
thanks,
-Len
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup
2008-12-01 7:41 ` Sam Ravnborg
@ 2008-12-01 19:23 ` Len Brown
0 siblings, 0 replies; 19+ messages in thread
From: Len Brown @ 2008-12-01 19:23 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Stephen Rothwell, Len Brown, linux-next, LKML, Randy Dunlap, x86,
linux-acpi
> > #
> > -obj- := misc.o # Dummy rule to force built-in.o to be made
> > -
> > -obj-$(CONFIG_IBM_ASM) += ibmasm/
> ^^
thanks for spotting that typo.
Looks like I lost the fight with vim's stupid feature
of adding a '#' to a blank line and deleted a line of code, sigh...
--
-Len Brown
Intel Open Source Technology Center
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2008-12-01 19:23 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20081128213620.2ec593d4.sfr@canb.auug.org.au>
[not found] ` <4930307C.30106@oracle.com>
[not found] ` <20081129083550.3c23af37.sfr@canb.auug.org.au>
[not found] ` <alpine.LFD.2.00.0811281649001.24773@localhost.localdomain>
[not found] ` <alpine.LFD.2.00.0811281702570.24773@localhost.localdomain>
2008-11-28 22:09 ` [RFC PATCH] x86: create drivers/x86/ from drivers/misc/ Len Brown
2008-11-28 22:35 ` Sam Ravnborg
2008-11-28 23:16 ` Len Brown
2008-11-29 0:16 ` Henrique de Moraes Holschuh
2008-12-01 4:35 ` Len Brown
2008-11-29 1:00 ` Randy Dunlap
2008-11-29 7:23 ` Sam Ravnborg
2008-11-29 7:38 ` Sam Ravnborg
2008-12-01 5:00 ` Len Brown
2008-12-01 5:54 ` Sam Ravnborg
2008-12-01 6:02 ` [RFC PATCH v2] create drivers/platform/x86/ " Len Brown
2008-12-01 6:03 ` [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup Len Brown
2008-12-01 7:41 ` Sam Ravnborg
2008-12-01 19:23 ` Len Brown
2008-12-01 6:05 ` [PATCH 2/2] create drivers/platform/x86/ from drivers/misc/ Len Brown
2008-12-01 7:48 ` [RFC PATCH v2] " Ingo Molnar
2008-12-01 19:12 ` Len Brown
2008-11-28 23:20 ` [RFC PATCH] x86: create drivers/x86/ " Len Brown
2008-12-01 4:49 ` Randy Dunlap
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox