linux-next: Tree for November 28
Subsystems (13)
Hi all,
Changes since 20081127:
Today's tree fails the powerpc allyesconfig build.
New tree:
trivial
Undropped trees:
Dropped trees (temporarily):
v4l-dvb (build problem)
kbuild (build problem)
semaphore-removal (due to unfixed conflicts against Linus' tree) cpu_alloc (build problem)
perfmon3 (concerns from the x86 team)
The net tree lost its 3 conflicts and a merge fix, but gained a build failure.
The firmware tree gained 2 conflicts against the net tree.
The sound tree gained a build failure.
----------------------------------------------------------------------------
I have created today's linux-next tree atgit://git.kernel.org/pub/scm/linux/kernel/git/sfr/linux-next.git
(patches at
http://www.kernel.org/pub/linux/kernel/people/sfr/linux-next/). If you are tracking the linux-next tree using git, you should not use "git pull" to do so as that will try to merge the new linux-next release with the old one. You should use "git fetch" as mentioned in the FAQ on the wiki (see below).
You can see which trees have been included by looking in the Next/Trees file in the source. There are also quilt-import.log and merge.log files in the Next directory. Between each merge, the tree was built with a ppc64_defconfig for powerpc and an allmodconfig for x86_64. After the final fixups (if any), it is also built with powerpc allnoconfig, 44x_defconfig and allyesconfig and i386, sparc and sparc64 defconfig.
Below is a summary of the state of the merge.
We are up to 127 trees (counting Linus' and 15 trees of patches pending for Linus' tree), more are welcome (even if they are currently empty). Thanks to those who have contributed, and to those who haven't, please do.
Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next . If maintainers want to give advice about cross compilers/configs that work, we are always open to add more builds.
Thanks to Jan Dittmer for adding the linux-next tree to his build tests at http://l4x.org/k/ , the guys at http://test.kernel.org/ and Randy Dunlap for doing many randconfig builds.
There is a wiki covering stuff to do with linux-next at
http://linux.f-seidel.de/linux-next/pmwiki/ . Thanks to Frank Seidel.
Signature · 155 lines
Cheers, Stephen Rothwell [email protected] $ git checkout master $ git reset --hard stable Merging origin/master Merging arm-current/master Merging m68k-current/for-linus Merging powerpc-merge/merge Merging sparc-current/master Merging scsi-rc-fixes/master Merging net-current/master Merging sound-current/for-linus Merging pci-current/for-linus Merging wireless-current/master Merging kbuild-current/master Merging quilt/driver-core.current Merging quilt/usb.current Merging cpufreq-current/fixes Merging input-current/for-linus Merging md-current/for-2.6.26 Merging dwmw2/master Merging arm/devel Merging avr32/avr32-arch Merging blackfin/for-linus Merging cris/for-next Merging ia64/test Merging m68k/for-next Merging m68knommu/for-next Merging mips/mips-for-linux-next Merging parisc/master Merging powerpc/next Merging 4xx/next CONFLICT (content): Merge conflict in arch/powerpc/configs/ppc44x_defconfig Merging galak/next Merging pxa/for-next Merging s390/features CONFLICT (content): Merge conflict in drivers/char/Makefile Merging sh/master Merging sparc/master Merging x86/auto-x86-next Merging xtensa/master Merging quilt/driver-core Merging quilt/usb Merging tip-core/auto-core-next Merging cpus4096/auto-cpus4096-next Merging ftrace/auto-ftrace-next CONFLICT (content): Merge conflict in scripts/recordmcount.pl Merging genirq/auto-genirq-next Merging safe-poison-pointers/auto-safe-poison-pointers-next Merging sched/auto-sched-next Merging stackprotector/auto-stackprotector-next Merging timers/auto-timers-next Merging pci/linux-next Merging quilt/device-mapper Merging hid/for-next Merging quilt/i2c Merging quilt/jdelvare-hwmon Merging quilt/kernel-doc Merging jfs/next Merging quilt/ide Merging libata/NEXT Merging nfs/linux-next Merging xfs/master Merging infiniband/for-next Merging acpi/test Merging nfsd/nfsd-next Merging ieee1394/for-next Merging ubi/linux-next Merging kvm/master CONFLICT (content): Merge conflict in arch/x86/kernel/reboot.c Merging dlm/next Merging scsi/master Merging ocfs2/linux-next Merging ext4/next Merging async_tx/next Merging udf/for_next Merging net/master Applying net: async_tx merge fix Applying net: decnet build fix Merging mtd/master CONFLICT (content): Merge conflict in drivers/mtd/maps/physmap.c Merging wireless/master Merging crypto/master Merging vfs/for-next Merging sound/for-next Merging cpufreq/next Merging v9fs/for-next Merging quilt/rr CONFLICT (content): Merge conflict in arch/x86/kernel/io_apic.c CONFLICT (content): Merge conflict in arch/x86/kernel/setup.c CONFLICT (content): Merge conflict in kernel/irq/manage.c CONFLICT (content): Merge conflict in kernel/irq/proc.c Merging cifs/master Merging mmc/next Merging gfs2/master Merging input/next Merging semaphore/semaphore Merging bkl-removal/bkl-removal Merging ubifs/linux-next Merging lsm/for-next Merging block/for-next Merging embedded/master Merging firmware/master CONFLICT (content): Merge conflict in drivers/net/tg3.c CONFLICT (content): Merge conflict in firmware/Makefile CONFLICT (content): Merge conflict in firmware/WHENCE Merging pcmcia/master Merging battery/master Merging leds/for-mm Merging backlight/for-mm Merging kgdb/kgdb-next Merging slab/for-next Merging uclinux/for-next Merging md/for-next Merging kmemcheck/auto-kmemcheck-next CONFLICT (content): Merge conflict in MAINTAINERS CONFLICT (content): Merge conflict in arch/x86/mm/Makefile CONFLICT (content): Merge conflict in mm/slab.c CONFLICT (content): Merge conflict in mm/slub.c Merging generic-ipi/auto-generic-ipi-next Merging mfd/for-next Merging hdlc/hdlc-next Merging drm/drm-next Merging voltage/for-next Merging security-testing/next CONFLICT (content): Merge conflict in fs/nfsd/nfs4recover.c CONFLICT (content): Merge conflict in fs/ocfs2/namei.c CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_cred.h CONFLICT (content): Merge conflict in fs/xfs/linux-2.6/xfs_globals.h CONFLICT (content): Merge conflict in fs/xfs/xfs_vnodeops.h Merging lblnet/master Merging quilt/ttydev CONFLICT (content): Merge conflict in fs/devpts/inode.c Merging agp/agp-next Merging oprofile/auto-oprofile-next Merging fastboot/auto-fastboot-next Merging sparseirq/auto-sparseirq-next Merging iommu/auto-iommu-next Merging uwb/for-upstream Merging watchdog/master Merging proc/proc CONFLICT (content): Merge conflict in fs/proc/base.c CONFLICT (content): Merge conflict in kernel/exit.c Merging bdev/master Merging dwmw2-iommu/master Merging cputime/cputime CONFLICT (content): Merge conflict in kernel/sched.c Merging osd/linux-next Merging fatfs/master Merging fuse/for-next Merging trivial/for-next Merging quilt/staging Merging scsi-post-merge/master Created commit 16b3b1d: Revert "ALSA: hda - Move power_save option to hda_intel.c"
next-2008-11-28: bfin vs cpumask fixlet
arch/blackfin/kernel/time-ts.c +1 -1
@@ -162,7 +162,6 @@ static struct clock_event_device clockevent_bfin = { .name = "bfin_core_timer", .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .shift = 32, - .cpumask = CPU_MASK_CPU0, .set_next_event = bfin_timer_set_next_event, .set_mode = bfin_timer_set_mode, };
@@ -193,6 +192,7 @@ static int __init bfin_clockevent_init(void) clockevent_bfin.mult =div_sc (timer_clk,NSEC_PER_SEC , clockevent_bfin.shift); clockevent_bfin.max_delta_ns =clockevent_delta2ns (-1 , &clockevent_bfin); clockevent_bfin.min_delta_ns =clockevent_delta2ns (100 , &clockevent_bfin); + clockevent_bfin.cpumask =cpumask_of (0 );clockevents_register_device (&clockevent_bfin);return 0 ;
Re: next-2008-11-28: bfin vs cpumask fixlet
arch/blackfin/kernel/time-ts.c static struct clock_event_device clockevent_bfin = { · line 165
Quoted 7 lines · On Saturday 29 November 2008 01:47:55 Alexey Dobriyan wrote:
arch/blackfin/kernel/time-ts.c +0
-1@@ -162,7 +162,6 @@ static struct clock_event_device clockevent_bfin = { .name = "bfin_core_timer", .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, .shift = 32, - .cpumask = CPU_MASK_CPU0,
Thanks Alexey, applied.
I grepped harder, and this seems to be the last one.
Cheers,
Rusty.
Re: linux-next: Tree for November 28 (misc/tc1100)
In reply to Stephen RothwellQuoted 9 lines · Stephen Rothwell
Hi all,
Changes since 20081127:
Today's tree fails the powerpc allyesconfig build.
New tree:
trivial
Quoted 8 lines
Undropped trees:
Dropped trees (temporarily):
v4l-dvb (build problem)
kbuild (build problem)
semaphore-removal (due to unfixed conflicts against Linus' tree)cpu_alloc(build problem)
perfmon3 (concerns from the x86 team)
make[2]: *** No rule to make target drivers/misc/tc1100-wmi.o', needed by drivers/misc/built-in.o'.
on allmodconfig & allyesconfig for i386.
On, moved to drivers/x86/. Someone needs to clean up drivers/misc/Makefile.
Signature · 1 line
~Randy
drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
Hi Len,
Quoted 6 lines · On Fri, 28 Nov 2008 09:55:08 -0800 Randy Dunlap <[email protected]> wrote:
make[2]: *** No rule to make target
drivers/misc/tc1100-wmi.o', needed bydrivers/misc/built-in.o'.on allmodconfig & allyesconfig for i386.
On, moved to
drivers/x86/. Someone needs to clean updrivers/misc/Makefile.
Just wondering where the move to drivers/x86 was discussed, (reviewed and tested) and why the change is in the acpi tree and not the x86 tree?
I am not saying it should not be done (I haven't looked enough to have an opinion).
Signature · 3 lines
Cheers, Stephen Rothwell [email protected] http://www.canb.auug.org.au/~sfr/
Len Brown
reviewerRe: drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
Quoted 7 lines · Stephen Rothwell
Quoted 1 line
On, moved to
drivers/x86/. Someone needs to clean updrivers/misc/Makefile.Just wondering where the move to
drivers/x86was discussed, (reviewed and tested) and why the change is in the acpi tree and not the x86 tree?I am not saying it should not be done (I haven't looked enough to have an opinion).
Although I discussed it with Linus last week in Portland, it is true that this patch erroneously appeared in my tree before being sent to the list.
I guess I got interrupted...
I'll send it now, thanks for the note.
-Len
A message that is not in the archive (sent off-list or not yet received): [email protected]
Len Brown
reviewerRe: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 1 line
From
9f57b53c82091c7af2f6082d83d6fc6542e36917Mon Sep 17 00:00:00 2001
From: Len Brown <[email protected]>
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.
---
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(-)arch/x86/Kconfig +2 -0
@@ -1904,6 +1904,8 @@ source "drivers/Kconfig" source "drivers/firmware/Kconfig" +source "drivers/x86/Kconfig" + source "fs/Kconfig" source "arch/x86/Kconfig.debug"
arch/x86/Makefile +3 -0
@@ -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
drivers/misc/Kconfig +0 -280
298 lines not on this page · raw message
drivers/misc/Makefile +0 -11
@@ -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/
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 15 lines · Len Brown
Quoted 1 line
From
9f57b53c82091c7af2f6082d83d6fc6542e36917Mon Sep 17 00:00:00 2001From: Len Brown <[email protected]>
Date: Fri, 21 Nov 2008 00:57:09 -0500
Subject: [PATCH] x86: createdrivers/x86/fromdrivers/misc/
Organization: Intel Open Source Technology CenterMove x86 platform specific drivers from
drivers/misc/to a new home underdrivers/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.
Quoted 3 lines
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.
Quoted 4 lines
Signed-off-by Len Brown <[email protected]>---
just the interesting part of the patch is included below, due to size.
git format-patch -M -B is your friend...
Quoted 377 lines
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(-)arch/x86/Kconfig +2
-0@@ -1904,6 +1904,8 @@ source "drivers/Kconfig" source "drivers/firmware/Kconfig" +source "drivers/x86/Kconfig" + source "fs/Kconfig" source "arch/x86/Kconfig.debug"arch/x86/Makefile +3
-0@@ -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 purposesdrivers/misc/Kconfig +0
-280@@ -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 ndrivers/misc/Makefile +0
-6@@ -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
drivers/misc/Makefile obj-$(CONFIG_TIFM_CORE) += tifm_core.o · line 21
Quoted 10 lines
drivers/misc/Makefile +0
-5obj-$(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
Len Brown
reviewerRe: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 11 lines
Quoted 11 lines
Move x86 platform specific drivers from
drivers/misc/to a new home underdrivers/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.
Quoted 7 lines
Quoted 3 lines
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/
Quoted 6 lines
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/*ordrivers/arm/*in case it is a arm specific driver.
These are vendor-specific, aka "platform specific" drivers for various x86 platforms.
Quoted 1 line
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...
Quoted 3 lines
If there is a good reason to keep them separated
follow the style of other directories underdrivers/*and introducedrivers/misc/x86.
is there an example besides lguest/x86?
Quoted 1 line
git format-patch -M -B is your friend...
here you go:
Quoted 1 line
From
9f57b53c82091c7af2f6082d83d6fc6542e36917Mon Sep 17 00:00:00 2001
From: Len Brown <[email protected]>
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/.
---
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%)arch/x86/Kconfig +2 -0
@@ -1904,6 +1904,8 @@ source "drivers/Kconfig" source "drivers/firmware/Kconfig" +source "drivers/x86/Kconfig" + source "fs/Kconfig" source "arch/x86/Kconfig.debug"
arch/x86/Makefile +3 -0
@@ -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
drivers/misc/Kconfig +0 -280
298 lines not on this page · raw message
drivers/misc/Makefile +0 -11
@@ -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/
drivers/x86/Kconfig new file +290 -0
290 lines not on this page · raw message
drivers/x86/Makefile new file +17 -0
@@ -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
drivers/x86/acer-wmi.c renamed from drivers/misc/acer-wmi.c +0 -0
drivers/x86/asus-laptop.c renamed from drivers/misc/asus-laptop.c +0 -0
drivers/x86/compal-laptop.c renamed from drivers/misc/compal-laptop.c +0 -0
drivers/x86/eeepc-laptop.c renamed from drivers/misc/eeepc-laptop.c +0 -0
drivers/x86/fujitsu-laptop.c renamed from drivers/misc/fujitsu-laptop.c +0 -0
drivers/x86/hp-wmi.c renamed from drivers/misc/hp-wmi.c +0 -0
drivers/x86/intel_menlow.c renamed from drivers/misc/intel_menlow.c +0 -0
drivers/x86/msi-laptop.c renamed from drivers/misc/msi-laptop.c +0 -0
drivers/x86/panasonic-laptop.c renamed from drivers/misc/panasonic-laptop.c +0 -0
drivers/x86/sony-laptop.c renamed from drivers/misc/sony-laptop.c +0 -0
drivers/x86/tc1100-wmi.c renamed from drivers/misc/tc1100-wmi.c +0 -0
drivers/x86/thinkpad_acpi.c renamed from drivers/misc/thinkpad_acpi.c +0 -0
Signature · 1 line
1.5.6.5
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 2 lines · Len Brown
Quoted 2 lines
Quoted 2 lines
Move x86 platform specific drivers from
drivers/misc/to a new home underdrivers/x86/.
[...]
Quoted 7 lines
Quoted 3 lines
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.
Quoted 6 lines
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.
Quoted 6 lines
Quoted 6 lines
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/*ordrivers/arm/*in case it is a arm specific driver.
drivers/platform/<arch> would help in that regard, I think.
Signature · 4 lines
"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
Len Brown
reviewerRe: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 18 lines · Henrique de Moraes Holschuh
Quoted 2 lines · Len Brown
Quoted 2 lines
Quoted 2 lines
Move x86 platform specific drivers from
drivers/misc/to a new home underdrivers/x86/.[...]
Quoted 7 lines
Quoted 3 lines
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.Quoted 6 lines
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/
Quoted 6 lines
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.
Quoted 8 lines
Quoted 6 lines
Quoted 6 lines
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/*ordrivers/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
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
In reply to Len BrownQuoted 34 lines · Len Brown
Quoted 10 lines
Quoted 10 lines
Move x86 platform specific drivers from
drivers/misc/to a new home underdrivers/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.Quoted 6 lines
Quoted 3 lines
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/Quoted 6 lines
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/*ordrivers/arm/*in case it is a arm specific driver.
Quoted 7 lines
These are vendor-specific, aka "platform specific" drivers for various x86 platforms.
Quoted 1 line
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
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
In reply to Len BrownQuoted 3 lines
I followed the example of
drivers/s390/,
per Linus' suggestion.
And in s390 we have:
block/
char/
cio/crypto/ebcdic.c
kvm/Makefilenet/s390mach.cs390mach.hs390_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.
Quoted 6 lines
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
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
In reply to Len BrownComments below in case we stick to this drivers/x86 thing...
Sam
arch/x86/Kconfig source "drivers/Kconfig" · line 1909
Quoted 12 lines
arch/x86/Kconfig +2
-0@@ -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.
arch/x86/Makefile ifeq ($(CONFIG_X86_32),y) · line 176
Quoted 11 lines
arch/x86/Makefile +3
-0@@ -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.
Quoted 10 lines
arch/x86/Makefile +9
-0+++ b/drivers/x86/Kconfig@@ -0,0 +1,290 @@ +# +# X86 Platform Specific Drivers +# + +menuconfig X86_PLATFORM_DEVICES + bool "X86 Platform devices" + default y + ---help---
arch/x86/Makefile line 18
Quoted 10 lines
arch/x86/Makefile +10
-0+ 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
arch/x86/Makefile line 21
Quoted 3 lines
arch/x86/Makefile +3
-0+config ASUS_LAPTOP + tristate "Asus Laptop Extras (EXPERIMENTAL)" + depends on ACPI
spaces => tab
arch/x86/Makefile line 27
Quoted 6 lines
arch/x86/Makefile +6
-0+config FUJITSU_LAPTOP + tristate "Fujitsu Laptop Extras" + depends on ACPI + depends on INPUT + depends on BACKLIGHT_CLASS_DEVICE + ---help---
spaces => tab
arch/x86/Makefile line 34
Quoted 7 lines
arch/x86/Makefile +7
-0+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
arch/x86/Makefile line 44
Quoted 10 lines
arch/x86/Makefile +10
-0+ 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
drivers/x86/Makefile line 4
Quoted 10 lines
drivers/x86/Makefile new file +4
-0@@ -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
Len Brown
reviewerRe: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 1 line · Sam Ravnborg
Comments below in case we stick to this
drivers/x86thing...
now the "drivers/platform/x86/ thing"
aka the "get rid of drivers/misc/ thing":-)
Quoted 14 lines
arch/x86/Kconfig source "drivers/Kconfig" · line 1909
Quoted 11 lines
arch/x86/Kconfig +2
-0@@ -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?
Quoted 8 lines
Just wrap all of the file in an
if X86
.....
endifSo we keep all the
drivers/stuff in oneKconfigfile 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...
Quoted 14 lines
arch/x86/Makefile ifeq ($(CONFIG_X86_32),y) · line 176
Quoted 11 lines
arch/x86/Makefile +3
-0@@ -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/Makefilelike this:
Quoted 8 lines
obj-$(CONFIG_X86) += x86/
Notice that parisc already do the same. (Yes they have a
drivers/pariscdir).We shall try to visit our tree in natural order when we build and such a rule breaks this.
Also it is good to keepdrivers/stuff in one place.
sure, that sounds reasonable.
Quoted 56 lines
Quoted 10 lines
arch/x86/Makefile +9
-0+++ b/drivers/x86/Kconfig@@ -0,0 +1,290 @@ +# +# X86 Platform Specific Drivers +# + +menuconfig X86_PLATFORM_DEVICES + bool "X86 Platform devices" + default y + ---help---arch/x86/Makefile line 18
Quoted 10 lines
arch/x86/Makefile +10
-0+ 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
arch/x86/Makefile line 21
Quoted 3 lines
arch/x86/Makefile +3
-0+config ASUS_LAPTOP + tristate "Asus Laptop Extras (EXPERIMENTAL)" + depends on ACPIspaces => tab
arch/x86/Makefile line 27
Quoted 6 lines
arch/x86/Makefile +6
-0+config FUJITSU_LAPTOP + tristate "Fujitsu Laptop Extras" + depends on ACPI + depends on INPUT + depends on BACKLIGHT_CLASS_DEVICE + ---help---spaces => tab
arch/x86/Makefile line 34
Quoted 7 lines
arch/x86/Makefile +7
-0+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 andspaces => tab
arch/x86/Makefile line 44
Quoted 10 lines
arch/x86/Makefile +10
-0+ 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
Quoted 13 lines
drivers/x86/Makefile line 4
Quoted 10 lines
drivers/x86/Makefile new file +4
-0@@ -0,0 +1,17 @@ +# +# x86 Platform-Specific Drivers +# +obj- := x86.o # Dummy rule to force built-in.o to be madeThis 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
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 27 lines · Len Brown
Quoted 11 lines
Any chance we can have this in
drivers/Kconfig?Just wrap all of the file in an
if X86
.....
endifSo we keep all the
drivers/stuff in oneKconfigfile and not spread all over.grep 'source "drivers"'
arch/x86/Kconfigsource "
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"
Quoted 2 lines
Are the lines above a good example, a bad example, or did I miss a nuance of the grand
Kconfigdesign?
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
Len Brown
reviewerRFC PATCH v2 1/1 create drivers/platform/x86/ from drivers/misc/
In reply to Sam RavnborgSam, Henrique,
I've responded to your feedback in v2, which follows.
Ingo,
this version does not touch arch/x86/
thanks,
-Len
Len Brown
reviewerPATCH 1/2 drivers/misc/Makefile, Kconfig: cleanup
From: Len Brown <[email protected]>
tabs->space and delete unnecessary dummy build-in.o rule.
--- drivers/misc/Kconfig | 42 +++++++++++++++++++++--------------------- drivers/misc/Makefile | 3 --- 2 files changed, 21 insertions(+), 24 deletions(-)
drivers/misc/Kconfig +21 -21
@@ -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.
drivers/misc/Makefile +0 -3
@@ -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
Signature · 1 line
1.5.6.5
Re: [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup
Hi Len.
drivers/misc/Makefile line 6
Quoted 11 lines
drivers/misc/Makefile +0
-3@@ -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
Len Brown
reviewerRe: [PATCH 1/2] drivers/misc/Makefile, Kconfig: cleanup
Quoted 6 lines
drivers/misc/Makefile line 6
Quoted 5 lines
#
drivers/misc/Makefile +0
-3-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
Len Brown
reviewerPATCH 2/2 create drivers/platform/x86/ from drivers/misc/
In reply to Len BrownFrom: Len Brown <[email protected]>
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>
---
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%)drivers/Kconfig +2 -0
@@ -107,4 +107,6 @@ source "drivers/uio/Kconfig" source "drivers/xen/Kconfig" source "drivers/staging/Kconfig" + +source "drivers/platform/Kconfig" endmenu
drivers/Makefile +1 -0
@@ -102,3 +102,4 @@ obj-$(CONFIG_SSB) += ssb/ obj-$(CONFIG_VIRTIO) += virtio/ obj-$(CONFIG_REGULATOR) += regulator/ obj-$(CONFIG_STAGING) += staging/ +obj-y += platform/
drivers/misc/Kconfig +0 -280
298 lines not on this page · raw message
drivers/misc/Makefile +0 -12
@@ -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/
drivers/platform/Kconfig new file +5 -0
@@ -0,0 +1,5 @@ +# drivers/platform/Kconfig + +if X86 +source "drivers/platform/x86/Kconfig" +endif
drivers/platform/Makefile new file +5 -0
@@ -0,0 +1,5 @@ +# +# Makefile for linux/drivers/platform +# + +obj-$(CONFIG_X86) += x86/
drivers/platform/x86/Kconfig new file +297 -0
297 lines not on this page · raw message
drivers/platform/x86/Makefile new file +16 -0
@@ -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
drivers/platform/x86/acer-wmi.c renamed from drivers/misc/acer-wmi.c +0 -0
drivers/platform/x86/asus-laptop.c renamed from drivers/misc/asus-laptop.c +0 -0
drivers/platform/x86/compal-laptop.c renamed from drivers/misc/compal-laptop.c +0 -0
drivers/platform/x86/eeepc-laptop.c renamed from drivers/misc/eeepc-laptop.c +0 -0
drivers/platform/x86/fujitsu-laptop.c renamed from drivers/misc/fujitsu-laptop.c +0 -0
drivers/platform/x86/hp-wmi.c renamed from drivers/misc/hp-wmi.c +0 -0
drivers/platform/x86/intel_menlow.c renamed from drivers/misc/intel_menlow.c +0 -0
drivers/platform/x86/msi-laptop.c renamed from drivers/misc/msi-laptop.c +0 -0
drivers/platform/x86/panasonic-laptop.c renamed from drivers/misc/panasonic-laptop.c +0 -0
drivers/platform/x86/sony-laptop.c renamed from drivers/misc/sony-laptop.c +0 -0
drivers/platform/x86/tc1100-wmi.c renamed from drivers/misc/tc1100-wmi.c +0 -0
drivers/platform/x86/thinkpad_acpi.c renamed from drivers/misc/thinkpad_acpi.c +0 -0
Signature · 1 line
1.5.6.5
Re: [RFC PATCH v2] create drivers/platform/x86/ from drivers/misc/
In reply to Len BrownQuoted 5 lines · Len Brown
Sam, Henrique,
I've responded to your feedback in v2, which follows.Ingo,
this version does not toucharch/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
Len Brown
reviewerRe: [RFC PATCH v2] create drivers/platform/x86/ from drivers/misc/
Quoted 27 lines
Quoted 3 lines
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 ofsgi_uv
7d9d1f2: sgi-xp: support getting the address of a partition's reserved page 31de5ec: sgi-xp: definexp_partition_idandxp_region_size2525789: sgi-xp: create activate and notify gru message queues 6c1c325: sgi-xp: definexp_expand_memprotect()andxp_restrict_memprotect()their
drivers/miscimpact 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(-)
Quoted 6 lines
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.
Quoted 3 lines
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
Len Brown
reviewerRe: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
In reply to Sam RavnborgQuoted 3 lines
You move 12 files but delete 11 lines.
obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o
was left behind by mistake.
Re: [RFC PATCH] x86: create drivers/x86/ from drivers/misc/
Quoted 6 lines · Len Brown
Quoted 2 lines
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
Re: drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
In reply to Stephen RothwellQuoted 6 lines · Stephen Rothwell
Hi Len,
Quoted 3 lines · On Fri, 28 Nov 2008 09:55:08 -0800 Randy Dunlap <[email protected]> wrote:
make[2]: *** No rule to make target
drivers/misc/tc1100-wmi.o', needed bydrivers/misc/built-in.o'.
Quoted 7 lines
Quoted 3 lines
on allmodconfig & allyesconfig for i386.
On, moved to
drivers/x86/. Someone needs to clean updrivers/misc/Makefile.Just wondering where the move to
drivers/x86was discussed, (reviewed and tested) and why the change is in the acpi tree and not the x86 tree?
it will all conflict with pending bits in the x86 tree, so i'd prefer if Len did this atomically after 2.6.29-rc1, without it having this long-term breakage effect.
Historically drivers/misc/ has been more active via the ACPI tree. (Len being the (in-)voluntary maintainer for those platform details)
So drivers/x86/ makes sense i guess. Eventually the really lowlevel bits might move to arch/x86/drivers/ or so - but i've got no strong opinion on it. There seems to be enough precedent of existing drivers/$ARCH hierarchies.
Ingo
Len Brown
reviewerRe: drivers/x86 (Was: Re: linux-next: Tree for November 28 (misc/tc1100))
Quoted 13 lines · Ingo Molnar
Quoted 10 lines · Stephen Rothwell
Hi Len,
Quoted 6 lines · On Fri, 28 Nov 2008 09:55:08 -0800 Randy Dunlap <[email protected]> wrote:
make[2]: *** No rule to make target
drivers/misc/tc1100-wmi.o', needed bydrivers/misc/built-in.o'.on allmodconfig & allyesconfig for i386.
On, moved to
drivers/x86/. Someone needs to clean updrivers/misc/Makefile.
Quoted 7 lines
Quoted 3 lines
Just wondering where the move to
drivers/x86was discussed, (reviewed and tested) and why the change is in the acpi tree and not the x86 tree?it will all conflict with pending bits in the x86 tree, so i'd prefer if Len did this atomically after 2.6.29-rc1, without it having this long-term breakage effect.
Is linux-next running into a conflict between x86 and the acpi tree today?
thanks,
-Len
next-2008-11-28 : can't mount UDF DVD
In reply to Stephen RothwellHi,
With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW:
~$ mount -oro -t udf /dev/sr0 /media/cdrom/
mount: Not a directory
There was no problem with 2.6.28-rc6.
I made a bisection:
33284bdf40f88160a154202510b27d983138c805 is first bad commit commit 33284bdf40f88160a154202510b27d983138c805
Author: Marcin Slusarz <[email protected]> Date: Sun Nov 16 20:52:19 2008 +0100
udf: implement mode and dmode mounting options
"dmode" allows overriding permissions of directories and "mode" allows overriding permissions of files.
Indeed, with this commit, I *must* use the dmode option to mount my DVD:
~$ sudo mount -oro,dmode=0755 -t udf /dev/sr0 /media/cdrom/ ~$ grep /media/cdrom /proc/mounts/dev/scd0 /media/cdrom udf ro,mode=177777,dmode=755,utf8 0 0 ~$ ls -la /media/cdrom/
total 46
drwxr-xr-x 5 root root 344 Dec 24 2007 .
drwxr-xr-x 12 root root 4096 Dec 1 00:17 ..
drwxr-xr-x 2 laurent laurent 7112 Nov 30 20:14 flexbackup
drwxr-xr-x 2 root root 40 Nov 20 2005 lost+found
drwxr-xr-x 10 laurent laurent 4548 Nov 25 2005 patches ~$ ls -la /media/cdrom/flexbackup/
total 4307946
drwxr-xr-x 2 laurent laurent 7112 Nov 30 20:14 .
drwxr-xr-x 5 root root 344 Dec 24 2007 ..
?rwsrwsrwt 1 laurent laurent 44 Oct 1 2006 00-index-key
...
Althought I was able to mount it with no special option on 2.6.28-rc6:
~$ sudo mount -oro -t udf /dev/sr0 /media/cdrom/
~$ grep /media/cdrom /proc/mounts/dev/scd0 /media/cdrom udf ro,utf8 0 0
~$ ls -la /media/cdrom/
total 46
drwxrwxrwx 5 root root 344 2007-12-24 18:09 .
drwxr-xr-x 12 root root 4096 2008-12-01 00:22 ..
drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 flexbackup
drwxr-xr-x 2 root root 40 2005-11-20 23:37 lost+found
drwxr-x--- 10 laurent laurent 4548 2005-11-25 18:18 patches ~$ ls -la /media/cdrom/flexbackup/
total 4307946
drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 .
drwxrwxrwx 5 root root 344 2007-12-24 18:09 ..
-rw-r----- 1 laurent laurent 44 2006-10-01 15:36 00-index-key
...
~~
laurent
Re: next-2008-11-28 : can't mount UDF DVD
Quoted 21 lines · Laurent Riffard
Hi,
With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW:
~$ mount -oro -t udf
/dev/sr0/media/cdrom/
mount: Not a directoryThere was no problem with 2.6.28-rc6.
I made a bisection:
33284bdf40f88160a154202510b27d983138c805is first bad commit commit33284bdf40f88160a154202510b27d983138c805Author: Marcin Slusarz <[email protected]> Date: Sun Nov 16 20:52:19 2008 +0100udf: implement mode and dmode mounting options
"dmode" allows overriding permissions of directories and "mode" allows overriding permissions of files.
Quoted 6 lines
Signed-off-by Marcin Slusarz <[email protected]>Cc Jan Kara <[email protected]>Signed-off-by Jan Kara <[email protected]>Indeed, with this commit, I *must* use the dmode option to mount my DVD:
That's not intended behaviour... ;)
Quoted 3 lines
~$ sudo mount -oro,dmode=0755 -t udf
/dev/sr0/media/cdrom/ ~$ grep /media/cdrom/proc/mounts/dev/scd0/media/cdrom udf ro,mode=177777,dmode=755,utf8 0 0
^^^^^^
funny (it's 65535 / (u16)-1)
Quoted 33 lines
~$ ls -la /media/cdrom/
total 46
drwxr-xr-x 5 root root 344 Dec 24 2007 .
drwxr-xr-x 12 root root 4096 Dec 1 00:17 ..
drwxr-xr-x 2 laurent laurent 7112 Nov 30 20:14 flexbackup
drwxr-xr-x 2 root root 40 Nov 20 2005 lost+found
drwxr-xr-x 10 laurent laurent 4548 Nov 25 2005 patches ~$ ls -la /media/cdrom/flexbackup/
total 4307946
drwxr-xr-x 2 laurent laurent 7112 Nov 30 20:14 .
drwxr-xr-x 5 root root 344 Dec 24 2007 ..
?rwsrwsrwt 1 laurent laurent 44 Oct 1 2006 00-index-key
...Althought I was able to mount it with no special option on 2.6.28-rc6:
~$ sudo mount -oro -t udf
/dev/sr0/media/cdrom/
~$ grep /media/cdrom/proc/mounts/dev/scd0/media/cdrom udf ro,utf8 0 0
~$ ls -la /media/cdrom/
total 46
drwxrwxrwx 5 root root 344 2007-12-24 18:09 .
drwxr-xr-x 12 root root 4096 2008-12-01 00:22 ..
drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 flexbackup
drwxr-xr-x 2 root root 40 2005-11-20 23:37 lost+found
drwxr-x--- 10 laurent laurent 4548 2005-11-25 18:18 patches ~$ ls -la /media/cdrom/flexbackup/
total 4307946
drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 .
drwxrwxrwx 5 root root 344 2007-12-24 18:09 ..
-rw-r----- 1 laurent laurent 44 2006-10-01 15:36 00-index-key
...
Quoted 2 lines
~~
laurent
Can you check whether attached patch fixes it?
What architecture are you testing on?
fs/udf/inode.c +2 -2
@@ -1222,10 +1222,10 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) iinfo->i_lenExtents = inode->i_size;if (fe->icbTag.fileType !=ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_fmode !=-1 ) + sbi->s_fmode != (mode_t)-1 ) inode->i_mode = sbi->s_fmode;else if (fe->icbTag.fileType ==ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_dmode !=-1 ) + sbi->s_dmode != (mode_t)-1 ) inode->i_mode = sbi->s_dmode;else inode->i_mode =udf_convert_permissions (fe);
fs/udf/super.c +2 -2
@@ -284,9 +284,9 @@ static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt)seq_printf (seq,",gid=%u" , sbi->s_gid);if (sbi->s_umask !=0 )seq_printf (seq,",umask=%o" , sbi->s_umask); -if (sbi->s_fmode !=-1 ) +if (sbi->s_fmode != (mode_t)-1 )seq_printf (seq,",mode=%o" , sbi->s_fmode); -if (sbi->s_dmode !=-1 ) +if (sbi->s_dmode != (mode_t)-1 )seq_printf (seq,",dmode=%o" , sbi->s_dmode);if (UDF_QUERY_FLAG (sb,UDF_FLAG_SESSION_SET ))seq_printf (seq,",session=%u" , sbi->s_session);
Laurent Riffard
Tested-byRe: next-2008-11-28 : can't mount UDF DVD
Quoted 37 lines · Marcin Slusarz
Quoted 21 lines · Laurent Riffard
Hi,
With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW:
~$ mount -oro -t udf
/dev/sr0/media/cdrom/
mount: Not a directoryThere was no problem with 2.6.28-rc6.
I made a bisection:
33284bdf40f88160a154202510b27d983138c805is first bad commit commit33284bdf40f88160a154202510b27d983138c805Author: Marcin Slusarz <[email protected]> Date: Sun Nov 16 20:52:19 2008 +0100udf: implement mode and dmode mounting options
"dmode" allows overriding permissions of directories and "mode" allows overriding permissions of files.
Quoted 6 lines
Signed-off-by Marcin Slusarz <[email protected]>Cc Jan Kara <[email protected]>Signed-off-by Jan Kara <[email protected]>Indeed, with this commit, I *must* use the dmode option to mount my DVD:
That's not intended behaviour... ;)
Quoted 3 lines
~$ sudo mount -oro,dmode=0755 -t udf
/dev/sr0/media/cdrom/ ~$ grep /media/cdrom/proc/mounts/dev/scd0/media/cdrom udf ro,mode=177777,dmode=755,utf8 0 0^^^^^^funny (it's 65535 / (u16)-1)
[snip]
Quoted 3 lines
Can you check whether attached patch fixes it?
What architecture are you testing on?
i686, 32-bit althought CPU is "AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ stepping 02".
~$ uname -a
Linux calimero 2.6.28-rc6-next-20081128-05108-g389b1c9 #62 SMP PREEMPT Mon Dec 1 19:53:55 CET 2008 i686 GNU/Linux
Current kernel is next-20081128 + reiser4 patches + your patch: it seems to works well now.
First test: mount with default options. It works as expected.
~$ sudo mount -oro -t udf /dev/sr0 /media/cdrom/
~$ grep /media/cdrom /proc/mounts/dev/scd0 /media/cdrom udf ro,utf8 0 0
~$ ls -al /media/cdrom/
total 46
drwxrwxrwx 5 root root 344 2007-12-24 18:09 .
drwxr-xr-x 12 root root 4096 2008-12-01 20:04 ..
drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 flexbackup
drwxr-xr-x 2 root root 40 2005-11-20 23:37 lost+found
drwxr-x--- 10 laurent laurent 4548 2005-11-25 18:18 patches ~$ ls -al /media/cdrom/flexbackup/
total 4307946
drwxr-x--- 2 laurent laurent 7112 2008-11-30 20:14 .
drwxrwxrwx 5 root root 344 2007-12-24 18:09 ..
-rw-r----- 1 laurent laurent 44 2006-10-01 15:36 00-index-key
[...]
~$ sudo umount /dev/scd0
Second test : mount with dmode=0755 option. Does work as expected too.
~$ sudo mount -oro,dmode=0755 -t udf /dev/sr0 /media/cdrom/ ~$ grep /media/cdrom /proc/mounts/dev/scd0 /media/cdrom udf ro,dmode=755,utf8 0 0
~$ ls -al /media/cdrom/
total 46
drwxr-xr-x 5 root root 344 2007-12-24 18:09 .
drwxr-xr-x 12 root root 4096 2008-12-01 20:04 ..
drwxr-xr-x 2 laurent laurent 7112 2008-11-30 20:14 flexbackup
drwxr-xr-x 2 root root 40 2005-11-20 23:37 lost+found
drwxr-xr-x 10 laurent laurent 4548 2005-11-25 18:18 patches ~$ ls -al /media/cdrom/flexbackup/
total 4307946
drwxr-xr-x 2 laurent laurent 7112 2008-11-30 20:14 .
drwxr-xr-x 5 root root 344 2007-12-24 18:09 ..
-rw-r----- 1 laurent laurent 44 2006-10-01 15:36 00-index-key
[...]
Quoted 23 lines
fs/udf/inode.c +2
-2@@ -1222,10 +1222,10 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) iinfo->i_lenExtents = inode->i_size;if (fe->icbTag.fileType !=ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_fmode !=-1 ) + sbi->s_fmode != (mode_t)-1 ) inode->i_mode = sbi->s_fmode;else if (fe->icbTag.fileType ==ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_dmode !=-1 ) + sbi->s_dmode != (mode_t)-1 ) inode->i_mode = sbi->s_dmode;else inode->i_mode =udf_convert_permissions (fe);fs/udf/super.c +0
-0@@ -284,9 +284,9 @@ static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt)seq_printf (seq,",gid=%u" , sbi->s_gid);
fs/udf/super.c static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt) · line 292
Quoted 10 lines
fs/udf/super.c +2
-2if (sbi->s_umask !=0 )seq_printf (seq,",umask=%o" , sbi->s_umask); -if (sbi->s_fmode !=-1 ) +if (sbi->s_fmode != (mode_t)-1 )seq_printf (seq,",mode=%o" , sbi->s_fmode); -if (sbi->s_dmode !=-1 ) +if (sbi->s_dmode != (mode_t)-1 )seq_printf (seq,",dmode=%o" , sbi->s_dmode);if (UDF_QUERY_FLAG (sb,UDF_FLAG_SESSION_SET ))seq_printf (seq,",session=%u" , sbi->s_session);
Thanks
~~
laurent
PATCH 1/1 udf: fix default mode and dmode options handling
Quoted 5 lines · Laurent Riffard
Quoted 2 lines
Quoted 1 line
With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW:
Can you check whether attached patch fixes it?
Current kernel is next-20081128 + reiser4 patches + your patch: it seems to works well now. (...)
Tested-by Laurent Riffard <[email protected]>
Thanks!
Jan, please apply this patch:
---
From: Marcin Slusarz <[email protected]>
Subject: [PATCH] udf: fix default mode and dmode options handling
On x86 (and several other archs) mode_t is defined as "unsigned short" and comparing unsigned shorts to negative ints is broken (because short is promoted to int and then compared). Fix it.
--- fs/udf/inode.c | 4 ++-- fs/udf/super.c | 8 ++++---- fs/udf/udf_sb.h | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-)
fs/udf/inode.c +2 -2
@@ -1222,10 +1222,10 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) iinfo->i_lenExtents = inode->i_size;if (fe->icbTag.fileType !=ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_fmode !=-1 ) + sbi->s_fmode !=UDF_INVALID_MODE ) inode->i_mode = sbi->s_fmode;else if (fe->icbTag.fileType ==ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_dmode !=-1 ) + sbi->s_dmode !=UDF_INVALID_MODE ) inode->i_mode = sbi->s_dmode;else inode->i_mode =udf_convert_permissions (fe);
fs/udf/super.c +4 -4
@@ -284,9 +284,9 @@ static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt)seq_printf (seq,",gid=%u" , sbi->s_gid);if (sbi->s_umask !=0 )seq_printf (seq,",umask=%o" , sbi->s_umask); -if (sbi->s_fmode !=-1 ) +if (sbi->s_fmode !=UDF_INVALID_MODE )seq_printf (seq,",mode=%o" , sbi->s_fmode); -if (sbi->s_dmode !=-1 ) +if (sbi->s_dmode !=UDF_INVALID_MODE )seq_printf (seq,",dmode=%o" , sbi->s_dmode);if (UDF_QUERY_FLAG (sb,UDF_FLAG_SESSION_SET ))seq_printf (seq,",session=%u" , sbi->s_session);
@@ -1894,8 +1894,8 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) uopt.uid =-1 ; uopt.gid =-1 ; uopt.umask =0 ; - uopt.fmode =-1 ; - uopt.dmode =-1 ; + uopt.fmode =UDF_INVALID_MODE ; + uopt.dmode =UDF_INVALID_MODE ; sbi =kzalloc (sizeof (struct udf_sb_info ),GFP_KERNEL );if (!sbi)
fs/udf/udf_sb.h +2 -0
@@ -48,6 +48,8 @@#define UDF_SPARABLE_MAP15 0x1522U#define UDF_METADATA_MAP25 0x2511U +#define UDF_INVALID_MODE ((mode_t)-1) +#pragma pack(1)/* XXX(hch): Why? This file just defines in-core structures */ struct udf_meta_data {
Signature · 1 line
1.5.6.4
Re: [PATCH] udf: fix default mode and dmode options handling
Quoted 10 lines · Marcin Slusarz
Quoted 5 lines · Laurent Riffard
Quoted 2 lines
Quoted 1 line
With next-2008-11-28, I was unable to mount an UDF-formatted DVD-RW:
Can you check whether attached patch fixes it?
Current kernel is next-20081128 + reiser4 patches + your patch: it seems to works well now. (...)
Tested-by Laurent Riffard <[email protected]>Thanks!
Jan, please apply this patch:
OK, committed.
Honza
Quoted 76 lines
---
From: Marcin Slusarz <[email protected]>
Subject: [PATCH] udf: fix default mode and dmode options handlingOn x86 (and several other archs)
mode_tis defined as "unsigned short" and comparing unsigned shorts to negative ints is broken (because short is promoted to int and then compared). Fix it.Reported-and-tested-by Laurent Riffard <[email protected]>Signed-off-by Marcin Slusarz <[email protected]>--- fs/udf/inode.c | 4 ++-- fs/udf/super.c | 8 ++++---- fs/udf/udf_sb.h | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-)fs/udf/inode.c +2
-2@@ -1222,10 +1222,10 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh) iinfo->i_lenExtents = inode->i_size;if (fe->icbTag.fileType !=ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_fmode !=-1 ) + sbi->s_fmode !=UDF_INVALID_MODE ) inode->i_mode = sbi->s_fmode;else if (fe->icbTag.fileType ==ICBTAG_FILE_TYPE_DIRECTORY && - sbi->s_dmode !=-1 ) + sbi->s_dmode !=UDF_INVALID_MODE ) inode->i_mode = sbi->s_dmode;else inode->i_mode =udf_convert_permissions (fe);fs/udf/super.c +4
-4@@ -284,9 +284,9 @@ static int udf_show_options(struct seq_file *seq, struct vfsmount *mnt)seq_printf (seq,",gid=%u" , sbi->s_gid);if (sbi->s_umask !=0 )seq_printf (seq,",umask=%o" , sbi->s_umask); -if (sbi->s_fmode !=-1 ) +if (sbi->s_fmode !=UDF_INVALID_MODE )seq_printf (seq,",mode=%o" , sbi->s_fmode); -if (sbi->s_dmode !=-1 ) +if (sbi->s_dmode !=UDF_INVALID_MODE )seq_printf (seq,",dmode=%o" , sbi->s_dmode);if (UDF_QUERY_FLAG (sb,UDF_FLAG_SESSION_SET ))seq_printf (seq,",session=%u" , sbi->s_session);@@ -1894,8 +1894,8 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent) uopt.uid =-1 ; uopt.gid =-1 ; uopt.umask =0 ; - uopt.fmode =-1 ; - uopt.dmode =-1 ; + uopt.fmode =UDF_INVALID_MODE ; + uopt.dmode =UDF_INVALID_MODE ; sbi =kzalloc (sizeof (struct udf_sb_info ),GFP_KERNEL );if (!sbi)fs/udf/udf_sb.h +2
-0@@ -48,6 +48,8 @@#define UDF_SPARABLE_MAP15 0x1522U#define UDF_METADATA_MAP25 0x2511U +#define UDF_INVALID_MODE ((mode_t)-1) +#pragma pack(1)/* XXX(hch): Why? This file just defines in-core structures */ struct udf_meta_data {Signature · 1 line
1.5.6.4
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR