1. 17 7月, 2007 1 次提交
  2. 12 7月, 2007 16 次提交
  3. 09 6月, 2007 3 次提交
  4. 22 5月, 2007 1 次提交
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  5. 10 5月, 2007 1 次提交
    • R
      Add suspend-related notifications for CPU hotplug · 8bb78442
      Rafael J. Wysocki 提交于
      Since nonboot CPUs are now disabled after tasks and devices have been
      frozen and the CPU hotplug infrastructure is used for this purpose, we need
      special CPU hotplug notifications that will help the CPU-hotplug-aware
      subsystems distinguish normal CPU hotplug events from CPU hotplug events
      related to a system-wide suspend or resume operation in progress.  This
      patch introduces such notifications and causes them to be used during
      suspend and resume transitions.  It also changes all of the
      CPU-hotplug-aware subsystems to take these notifications into consideration
      (for now they are handled in the same way as the corresponding "normal"
      ones).
      
      [oleg@tv-sign.ru: cleanups]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8bb78442
  6. 09 5月, 2007 3 次提交
    • M
      drivers/base/platform.c: fix small typo in doc · 01afd806
      Márton Németh 提交于
      Typo: iwithout -> without.
      Signed-off-by: NMárton Németh <nm127@freemail.hu>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      01afd806
    • R
      devres: kernel-doc and DocBook · d3e6975e
      Randy Dunlap 提交于
      Make devres.c ready for adding to DocBook.
      Add devres.c to DocBook.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      d3e6975e
    • D
      fix hotplug for legacy platform drivers · 49a4ec18
      David Brownell 提交于
      We've had various reports of some legacy "probe the hardware" style
      platform drivers having nasty problems with hotplug support.
      
      The core issue is that those legacy drivers don't fully conform to the
      driver model.  They assume a role that should be the responsibility of
      infrastructure code: creating device nodes.
      
      The "modprobe" step in hotplugging relies on drivers to have split those
      roles into different modules.  The lack of this split causes the problems.
      When a driver creates nodes for devices that don't exist (sending a hotplug
      event), then exits (aborting one modprobe) before the "modprobe $MODALIAS"
      step completes (by failing, since it's in the middle of a modprobe), the
      result can be an endless loop of modprobe invocations ...  badness.
      
      This fix uses the newish per-device flag controlling issuance of "add"
      events.  (A previous version of this patch used a per-device "driver can
      hotplug" flag, which only scrubbed $MODALIAS from the environment rather
      than suppressing the entire hotplug event.) It also shrinks that flag to
      one bit, saving a word in "struct device".
      
      So the net of this patch is removing some nasty failures with legacy
      drivers, while retaining hotplug capability for the majority of platform
      drivers.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Andres Salomon <dilinger@debian.org>
      Cc: Dominik Brodowski <linux@dominikbrodowski.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      49a4ec18
  7. 08 5月, 2007 1 次提交
    • H
      Introduce CONFIG_HAS_DMA · 411f0f3e
      Heiko Carstens 提交于
      Architectures that don't support DMA can say so by adding a config NO_DMA
      to their Kconfig file.  This will prevent compilation of some dma specific
      driver code.  Also dma-mapping-broken.h isn't needed anymore on at least
      s390.  This avoids compilation and linking of otherwise dead/broken code.
      
      Other architectures that include dma-mapping-broken.h are arm26, h8300,
      m68k, m68knommu and v850.  If these could be converted as well we could get
      rid of the header file.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      "John W. Linville" <linville@tuxdriver.com>
      Cc: Kyle McMartin <kyle@parisc-linux.org>
      Cc: <James.Bottomley@SteelEye.com>
      Cc: Tejun Heo <htejun@gmail.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: <geert@linux-m68k.org>
      Cc: <zippel@linux-m68k.org>
      Cc: <spyro@f2s.com>
      Cc: <uclinux-v850@lsi.nec.co.jp>
      Cc: <ysato@users.sourceforge.jp>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      411f0f3e
  8. 03 5月, 2007 4 次提交
    • A
      PCI: remove the broken PCI_MULTITHREAD_PROBE option · 5adc55da
      Adrian Bunk 提交于
      This patch removes the PCI_MULTITHREAD_PROBE option that had already 
      been marked as broken.
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      5adc55da
    • G
      remove "struct subsystem" as it is no longer needed · 823bccfc
      Greg Kroah-Hartman 提交于
      We need to work on cleaning up the relationship between kobjects, ksets and
      ktypes.  The removal of 'struct subsystem' is the first step of this,
      especially as it is not really needed at all.
      
      Thanks to Kay for fixing the bugs in this patch.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      823bccfc
    • J
      platform: reorder platform_device_del · dc4c15d4
      Jean Delvare 提交于
      In platform_device_del(), we currently delete the device resources
      first, then we delete the device itself. This causes a (minor) bug to
      occur when one unregisters a platform device before unregistering its
      platform driver, and the driver is requesting (in .probe()) and
      releasing (in .remove()) a resource of the device. The device
      resources are already gone by the time the driver gets the chance to
      release the resources it had been requesting, causing an error like:
      Trying to free nonexistent resource <0000000000000295-0000000000000296>
      
      If the platform driver is unregistered first, the problem doesn't
      occur, as the driver will have the opportunity to release the
      resources it had requested before the device resources themselves are
      released. It's a bit odd that unregistering the driver first or the
      device first doesn't lead to the same result.
      
      So I believe that we should delete the device first in
      platform_device_del(). I've searched the git history and found that it
      used to be the case before 2.6.8, but was changed here:
      
      http://www.kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git;a=commitdiff;h=96ef7b3689936ee1e64b711511342026a8ce459c
      
      > 2004/07/14 16:09:44-07:00 dtor_core
      > [PATCH] Driver core: Fix OOPS in device_platform_unregister
      > 
      > Driver core: platform_device_unregister should release resources first
      >              and only then call device_unregister, otherwise if there
      >              are no more references to the device it will be freed and
      >              the fucntion will try to access freed memory.  
      
      However we now have an explicit call to put_device() at the end of
      platform_device_unregister() so I guess the original problem no longer
      exists and it is safe to revert that change.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      dc4c15d4
    • G
      Driver core: fix show_uevent from taking up way too much stack · c7308c81
      Greg Kroah-Hartman 提交于
      Declaring an array of PAGE_SIZE does bad things for people running with
      4k stacks...
      
      Thanks to Tilman Schmidt for tracking this down.
      
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c7308c81
  9. 28 4月, 2007 10 次提交