1. 07 Jan, 2009 40 commits
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · b424e8d3
      Linus Torvalds authored
      * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (98 commits)
        PCI PM: Put PM callbacks in the order of execution
        PCI PM: Run default PM callbacks for all devices using new framework
        PCI PM: Register power state of devices during initialization
        PCI PM: Call pci_fixup_device from legacy routines
        PCI PM: Rearrange code in pci-driver.c
        PCI PM: Avoid touching devices behind bridges in unknown state
        PCI PM: Move pci_has_legacy_pm_support
        PCI PM: Power-manage devices without drivers during suspend-resume
        PCI PM: Add suspend counterpart of pci_reenable_device
        PCI PM: Fix poweroff and restore callbacks
        PCI: Use msleep instead of cpu_relax during ASPM link retraining
        PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions
        PCI: PCIe portdrv: Rearrange code so that related things are together
        PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services
        PCI: PCIe portdrv: Add kerneldoc comments to some core functions
        x86/PCI: Do not use interrupt links for devices using MSI-X
        net: sfc: Use pci_clear_master() to disable bus mastering
        PCI: Add pci_clear_master() as opposite of pci_set_master()
        PCI hotplug: remove redundant test in cpq hotplug
        PCI: pciehp: cleanup register and field definitions
        ...
      b424e8d3
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · 7c7758f9
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (123 commits)
        wimax/i2400m: add CREDITS and MAINTAINERS entries
        wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install
        i2400m: Makefile and Kconfig
        i2400m/SDIO: TX and RX path backends
        i2400m/SDIO: firmware upload backend
        i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends
        i2400m/SDIO: header for the SDIO subdriver
        i2400m/USB: TX and RX path backends
        i2400m/USB: firmware upload backend
        i2400m/USB: probe/disconnect, dev init/shutdown and reset backends
        i2400m/USB: header for the USB bus driver
        i2400m: debugfs controls
        i2400m: various functions for device management
        i2400m: RX and TX data/control paths
        i2400m: firmware loading and bootrom initialization
        i2400m: linkage to the networking stack
        i2400m: Generic probe/disconnect, reset and message passing
        i2400m: host/device procotol and core driver definitions
        i2400m: documentation and instructions for usage
        wimax: Makefile, Kconfig and docbook linkage for the stack
        ...
      7c7758f9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async · 67acd8b4
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async:
        async: don't do the initcall stuff post boot
        bootchart: improve output based on Dave Jones' feedback
        async: make the final inode deletion an asynchronous event
        fastboot: Make libata initialization even more async
        fastboot: make the libata port scan asynchronous
        fastboot: make scsi probes asynchronous
        async: Asynchronous function calls to speed up kernel boot
      67acd8b4
    • David Miller's avatar
      topology: Fix sparc64 build. · b13d3720
      David Miller authored
      Due to changeset ba84be23 ("remove
      linux/hardirq.h from asm-generic/local.h") the sparc64 build started
      failing on drivers/base/topology.c:
      
        drivers/base/topology.c: In function ‘show_physical_package_id’:
        drivers/base/topology.c:103: error: implicit declaration of function ‘cpu_data’
        drivers/base/topology.c:103: error: request for member ‘proc_id’ in something not a structure or union
        drivers/base/topology.c: In function ‘show_core_id’:
        drivers/base/topology.c:106: error: request for member ‘core_id’ in something not a structure or union
      
      Adding the obvious fix of including asm/cpudata.h into asm/topology.h on
      sparc64 doesn't fix it, in fact it makes things worse because of the
      header file dependency chain:
      
      	linux/gfp.h --> linux/mmzone.h --> linux/topology.h -->
      	asm/topology.h --> asm/cpudata.h --> linux/percpu.h -->
      	linux/slab.h
      
      which results in:
      
        include/linux/slub_def.h: In function ‘kmalloc_large’:
        include/linux/slub_def.h:209: error: implicit declaration of function ‘__get_free_pages’
        include/linux/slub_def.h:209: error: ‘__GFP_COMP’ undeclared (first use in this function)
        include/linux/slub_def.h:209: error: (Each undeclared identifier is reported only once
        include/linux/slub_def.h:209: error: for each function it appears in.)
        include/linux/slub_def.h:209: warning: cast to pointer from integer of different size
      
      The simplest thing to do is to add yet another one-off hack like parts
      of the guilty changeset did, by putting an explicit linux/hardirq.h
      include into drivers/base/topology.c
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b13d3720
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes · c6906a2c
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes:
        kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation
        kbuild: add a symlink to the source for separate objdirs
        kconfig: add script to manipulate .config files on the command line
        kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope
        bootchart: improve output based on Dave Jones' feedback
        fix modules_install via NFS
        qnx: include <linux/types.h> for definitions of __[us]{8,16,32,64} types
      c6906a2c
    • Wolfram Sang's avatar
      kbuild: fix typos (s/bin_shipped/bin.o_shipped/) in Documentation · baa91878
      Wolfram Sang authored
      The text always mentions ...bin.o_shipped, just the example makefiles
      actually use ...bin_shipped. It was corrected in one place some time
      ago, these ones seem to have been forgotten.
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      baa91878
    • Andi Kleen's avatar
      kbuild: add a symlink to the source for separate objdirs · 399b835b
      Andi Kleen authored
      I have some scripts which need to map back to the source directory
      from an objdir. This was so far done by parsing the Makefile,
      but the Makefile format changes occasionally and breaks my scripts
      then.
      
      To make this more reliable add a "source" symlink back.
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      399b835b
    • Andi Kleen's avatar
      kconfig: add script to manipulate .config files on the command line · 8e54701e
      Andi Kleen authored
      I often change single options in .config files. Instead of using
      an editor or one of the frontends it's convenient to do this from
      the command line. It's also useful to do from automated build scripts
      when building different variants from a base config file.
      
      I extracted most of the CONFIG manipulation code from one of my
      build scripts into a new shell script scripts/config
      
      The script is not integrated with the normal Kconfig machinery
      and doesn't do any checking against Kconfig files, but just manipulates
      that text format. This is always done at make time anyways.
      
      I believe this script would be a useful standard addition for scripts/*
      
      Sample usage:
      
      ./scripts/config --disable smp
      Disable SMP in .config file
      
      ./scripts/config --file otherdir/.config --module e1000e
      Enable E1000E as module in otherdir/.config
      
      ./scripts/config --state smp
      y
      Check state of config option CONFIG_SMP
      
      After merging into git please make scripts/config executable
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      8e54701e
    • Jike Song's avatar
      kbuild: reintroduce ALLSOURCE_ARCHS support for tags/cscope · 4f628248
      Jike Song authored
      This patch reintroduce the ALLSOURCE_ARCHS support for tags/TAGS/
      cscope targets. The Kbuild previously has this feature, but after
      moving the targets into scripts/tags.sh, ALLSOURCE_ARCHS disappears.
      
      It's something like this:
      
      	$ make ALLSOURCE_ARCHS="x86 mips arm" tags cscope
      Signed-off-by: default avatarJike Song <albcamus@gmail.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      4f628248
    • Arjan van de Ven's avatar
      bootchart: improve output based on Dave Jones' feedback · 40c8c85a
      Arjan van de Ven authored
      Dave Jones, in his blog, had some feedback about the bootchart script:
      Primarily his complaint was that shorter delays weren't visualized.
      
      The reason for that was that too small delays will have their labels
      mixed up in the graph in an unreadable mess.
      
      This patch has a fix for this; for one, it makes the output wider,
      so more will fit.
      The second part is that smaller delays are now shown with a
      much smaller font for the label; while this isn't per se
      readable at a 1:1 zoom, at least you can zoom in with most SVG
      viewing applications and see what it is you are looking at.
      Signed-off-by: default avatarArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      40c8c85a
    • Sam Ravnborg's avatar
      fix modules_install via NFS · 8b249b68
      Sam Ravnborg authored
      Rafael reported:
      
      I get the following error from 'make modules_install' on my test boxes:
      
        HOSTCC  firmware/ihex2fw
      /home/rafael/src/linux-2.6/firmware/ihex2fw.c:268: fatal error: opening dependency file firmware/.ihex2fw.d: Read-only file system
      compilation terminated.
      make[3]: *** [firmware/ihex2fw] Error 1
      make[2]: *** [_modinst_post] Error 2
      make[1]: *** [sub-make] Error 2
      make: *** [all] Error 2
      
      where the configuration is that the kernel is compiled on a build box
      with 'make O=<destdir> -j5' and then <destdir> is mounted over NFS read-only by
      each test box (full path to this directory is the same on the build box and on
      the test boxes).  Then, I cd into <destdir>, run 'make modules_install' and get
      the error above.
      
      The issue turns out to be that we when we install firmware pick
      up the list of firmware blobs from firmware/Makefile.
      And this triggers the Makefile rules to update ihex2fw.
      
      There were two solutions for this issue:
      1) Move the list of firmware blobs to a separate file
      2) Avoid ihex2fw rebuild by moving it to scripts
      
      As I seriously beleive that the list of firmware blobs should be
      done in a fundamental different way solution 2) was selected.
      Reported-and-tested-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      8b249b68
    • Anders Larsen's avatar
      qnx: include <linux/types.h> for definitions of __[us]{8,16,32,64} types · 8d1a0a13
      Anders Larsen authored
      On 2008-12-30 11:32:33, Sam Ravnborg wrote:
      > We have added a few additional validation checks of the userspace headers:
      ...
      > 3) We should include <linux/types.h> and not <asm/types.h>
      > 4) If we use a __[us]{8,16,32,64} type then we must include <linux/types.h>
      
      Satisfy these requirements for the linux/qnx*.h headers.
      Signed-off-by: default avatarAnders Larsen <al@alarsen.net>
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      8d1a0a13
    • Harvey Harrison's avatar
      xtensa: introduce swab.h · 8903709b
      Harvey Harrison authored
      Fixes compile breakage as linux/byteorder.h was removed.
      Signed-off-by: default avatarHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8903709b
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · daf4b805
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
        firewire: reorder struct fw_card for better cache efficiency
        firewire: fix resetting of bus manager retry counter
        firewire: improve refcounting of fw_card
        firewire: typo in comment
        firewire: fix small memory leak at module removal
        firewire: fw-sbp2: remove unnecessary locking
        ieee1934: dv1394: interrupt enabling/disabling broken on big-endian
        ieee1394: dv1394: annotate frame input/output structs as little endian
        ieee1394: eth1394: trivial sparse annotations
        ieee1394: mark bus_info_data as a __be32 array
        ieee1394: replace CSR_SET_BUS_INFO_GENERATION macro
        ieee1394: pcilynx: trivial endian annotation
        ieee1394: ignore nonzero Bus_Info_Block.max_rom, fetch config ROM in quadlets
        ieee1394: consolidate uses of IEEE1934_BUSID_MAGIC
        ieee1394: ohci1394: flush MMIO writes before delay in initialization
        ieee1394: ohci1394: pass error codes from request_irq through
        ieee1394: ohci1394: don't leave interrupts enabled during suspend/resume
        ieee1394: mark all hpsb_address_ops instances as const
        ieee1394: replace a GFP_ATOMIC by GFP_KERNEL allocation
      daf4b805
    • Linus Torvalds's avatar
      Merge branch 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc · a0c9f240
      Linus Torvalds authored
      * 'proc-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/adobriyan/proc:
        proc: remove write-only variable in proc_pident_lookup()
        proc: fix sparse warning
        proc: add /proc/*/stack
        proc: remove '##' usage
        proc: remove useless WARN_ONs
        proc: stop using BKL
      a0c9f240
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 · 5bb47b9f
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: (171 commits)
        Blackfin arch: fix bug - BF527 0.2 silicon has different CPUID (DSPID) value
        Blackfin arch: Enlarge flash partition for kenel for bf533/bf537 boards
        Blackfin arch: fix bug: kernel crash when enable SDIO host driver
        Blackfin arch: Print FP at level KERN_NOTICE
        Blackfin arch: drop ad73311 test code
        Blackfin arch: update board default configs
        Blackfin arch: Set PB4 as the default irq for bf548 board v1.4+.
        Blackfin arch: fix typo in early printk bit size processing
        Blackfin arch: enable reprogram cclk and sclk for bf518f-ezbrd
        Blackfin arch: add SDIO host driver platform data
        Blackfin arch: fix bug - kernel stops at initial console
        Blackfin arch: fix bug - kernel crash after config IP for ethernet port
        Blackfin arch: add sdh support for bf518f-ezbrd
        Blackfin arch: fix bug - kernel detects BF532 incorrectly
        Blackfin arch: add () to avoid warnings from gcc
        Blackfin arch: change HWTRACE Kconfig and set it on default
        Blackfin arch: Clean oprofile build path for blackfin
        Blackfin arch: remove hardware PM code, oprofile not use it
        Blackfin arch: rewrite get_sclk()/get_vco()
        Blackfin arch: cleanup and unify the ins functions
        ...
      5bb47b9f
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 · 2f2408a8
      Linus Torvalds authored
      * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (29 commits)
        hwmon: Fix various typos
        hwmon: Check for ACPI resource conflicts
        hwmon: (lm70) Add TI TMP121 support
        hwmon: (lm70) Code streamlining and cleanup
        hwmon: Deprecate the fscher and fscpos drivers
        hwmon: (fschmd) Add watchdog support
        hwmon: (fschmd) Cleanups for watchdog support
        hwmon: (i5k_amb) Load automatically on all 5000/5400 chipsets
        hwmon: (it87) Add support for the ITE IT8720F
        hwmon: Don't overuse I2C_CLIENT_MODULE_PARM
        hwmon: Add LTC4245 driver
        hwmon: (f71882fg) Fix fan_to/from_reg prototypes
        hwmon: (f71882fg) Printout fan modes
        hwmon: (f71882fg) Add documentation
        hwmon: (f71882fg) Fix auto_channels_temp temp numbering with f8000
        hwmon: (f71882fg) Add missing pwm3 attr for f71862fg
        hwmon: (f71882fg) Add F8000 support
        hwmon: (f71882fg) Remove the fan_mode module option
        hwmon: (f71882fg) Separate max and crit alarm and beep
        hwmon: (f71882fg) Check for hwmon powerdown state
        ...
      2f2408a8
    • Linus Torvalds's avatar
      Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 · fa7b906e
      Linus Torvalds authored
      * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
        i2c: Use snprintf to set adapter names
        Input: apanel - convert to new i2c binding
        i2c: Drop I2C_CLASS_CAM_DIGITAL
        i2c: Drop I2C_CLASS_CAM_ANALOG and I2C_CLASS_SOUND
        i2c: Drop I2C_CLASS_ALL
        i2c: Get rid of remaining bus_id access
        i2c: Replace bus_id with dev_name(), dev_set_name()
      fa7b906e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6 · 08249903
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
        avr32: Move syscalls.h under arch/avr32/include/asm/
        avr32: Define DIE_OOPS
        avr32: Remove DMATEST from defconfigs
        arch/avr32: Eliminate NULL test and memset after alloc_bootmem
        avr32: data param to at32_add_device_mci() must be non-NULL
        atmel-mci: move atmel-mci.h file to include/linux
        avr32: Hammerhead board support
        avr32: Allow reserving multiple pins at once
        favr-32: Remove deprecated call
        MIMC200: Remove deprecated call
        avr: struct device - replace bus_id with dev_name(), dev_set_name()
        avr32: Introducing asm/syscalls.h
      08249903
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes · 0d6326a1
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
        GFS2: Fix typo in gfs_page_mkwrite()
        GFS2: LSF and LBD are now one and the same
        GFS2: Set GFP_NOFS when allocating page on write
      0d6326a1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6 · 52fefcec
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6:
        xtensa: Update platform files to reflect new location of the header files.
        xtensa: switch to packed struct unaligned access implementation
        xtensa: Add xt2000 support files.
        xtensa: move headers files to arch/xtensa/include
        xtensa: use the new byteorder headers
      52fefcec
    • Heiko Carstens's avatar
      stop_machine/cpu hotplug: fix disable_nonboot_cpus · a0e280e0
      Heiko Carstens authored
      disable_nonboot_cpus calls _cpu_down. But _cpu_down requires that the
      caller already created the stop_machine workqueue (like cpu_down does).
      Otherwise a call to stop_machine will lead to accesses to random memory
      regions.
      
      When introducing this new interface (9ea09af3
      "stop_machine: introduce stop_machine_create/destroy") I missed the second
      call site of _cpu_down.
      So add the missing stop_machine_create/destroy calls to disable_nonboot_cpus
      as well.
      
      Fixes suspend-to-ram/disk and also this bug:
      
      [  286.547348] BUG: unable to handle kernel paging request at 6b6b6b6b
      [  286.548940] IP: [<c0150ca4>] __stop_machine+0x88/0xe3
      [  286.550598] Oops: 0002 [#1] SMP
      [  286.560580] Pid: 3273, comm: halt Not tainted (2.6.28-06127-g238c6d54
      [  286.560580] EIP: is at __stop_machine+0x88/0xe3
      [  286.560580] Process halt (pid: 3273, ti=f1a28000 task=f4530f30
      [  286.560580] Call Trace:
      [  286.560580]  [<c03d04e4>] ? _cpu_down+0x10f/0x234
      [  286.560580]  [<c012a57e>] ? disable_nonboot_cpus+0x58/0xdc
      [  286.560580]  [<c01360c0>] ? kernel_poweroff+0x22/0x39
      [  286.560580]  [<c0136301>] ? sys_reboot+0xde/0x14c
      [  286.560580]  [<c01331b2>] ? complete_signal+0x179/0x191
      [  286.560580]  [<c0133396>] ? send_signal+0x1cc/0x1e1
      [  286.560580]  [<c03de418>] ? _spin_unlock_irqrestore+0x2d/0x3c
      [  286.560580]  [<c0133b65>] ? group_send_signal_info+0x58/0x61
      [  286.560580]  [<c0133b9e>] ? kill_pid_info+0x30/0x3a
      [  286.560580]  [<c0133d49>] ? sys_kill+0x75/0x13a
      [  286.560580]  [<c01a06cb>] ? mntput_no_expire+ox1f/0x101
      [  286.560580]  [<c019b3b3>] ? dput+0x1e/0x105
      [  286.560580]  [<c018ef87>] ?  __fput+0x150/0x158
      [  286.560580]  [<c0157abf>] ? audit_syscall_entry+0x137/0x159
      [  286.560580]  [<c010329f>] ? sysenter_do_call+0x12/0x34
      Reported-and-tested-by: default avatar"Justin P. Mattock" <justinmattock@gmail.com>
      Reviewed-by: default avatarPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Tested-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a0e280e0
    • Alan Cox's avatar
      touchscreen: Fix build of da9034 · 30aafdba
      Alan Cox authored
      Missing an include and thus breaks the x86-64 build.
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      30aafdba
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial · 57c44c5f
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)
        trivial: chack -> check typo fix in main Makefile
        trivial: Add a space (and a comma) to a printk in 8250 driver
        trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx
        trivial: Fix misspelling of "firmware" in powerpc Makefile
        trivial: Fix misspelling of "firmware" in usb.c
        trivial: Fix misspelling of "firmware" in qla1280.c
        trivial: Fix misspelling of "firmware" in a100u2w.c
        trivial: Fix misspelling of "firmware" in megaraid.c
        trivial: Fix misspelling of "firmware" in ql4_mbx.c
        trivial: Fix misspelling of "firmware" in acpi_memhotplug.c
        trivial: Fix misspelling of "firmware" in ipw2100.c
        trivial: Fix misspelling of "firmware" in atmel.c
        trivial: Fix misspelled firmware in Kconfig
        trivial: fix an -> a typos in documentation and comments
        trivial: fix then -> than typos in comments and documentation
        trivial: update Jesper Juhl CREDITS entry with new email
        trivial: fix singal -> signal typo
        trivial: Fix incorrect use of "loose" in event.c
        trivial: printk: fix indentation of new_text_line declaration
        trivial: rtc-stk17ta8: fix sparse warning
        ...
      57c44c5f
    • Jiri Kosina's avatar
      HID: fix hid->hiddev initialization in hiddev_connect() · 76052749
      Jiri Kosina authored
      Commit 07903407 ("HID: hiddev cleanup -- handle all error conditions
      properly") by mistake removed proper initialization of hid->hiddev pointer
      in hiddev_connect() in case usb_register_dev() succeeds for the hiddev node.
      Put it properly back in place.
      Reported-and-tested-by: default avatarGabriel C <nix.or.die@googlemail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      76052749
    • Detlef Riekenberg's avatar
      linux/types.h: Don't depend on __GNUC__ for __le64/__be64 · 940fbf41
      Detlef Riekenberg authored
      The typedefs for __u64 and __s64 where fixed to be available for other
      compiler on May 2 2008 by H.  Peter Anvin (in commit edfa5cfa)
      Acked-by: default avatarH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarDetlef Riekenberg <wine.dev@web.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      940fbf41
    • Rafael J. Wysocki's avatar
      PCI PM: Put PM callbacks in the order of execution · f6dc1e5e
      Rafael J. Wysocki authored
      Put PM callbacks in drivers/pci/pci-driver.c in the order in which
      they are executed which makes it much easier to follow the code.
      
      No functional changes should result from this.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      f6dc1e5e
    • Rafael J. Wysocki's avatar
      PCI PM: Run default PM callbacks for all devices using new framework · d67e37d7
      Rafael J. Wysocki authored
      It should be quite clear that it generally makes sense to execute
      the default PM callbacks (ie. the callbacks used for handling
      suspend, hibernation and resume of PCI devices without drivers) for
      all devices.  Of course, the drivers that provide legacy PCI PM
      support (ie. the ->suspend, ->suspend_late, ->resume_early
      or ->resume hooks in the pci_driver structure), carry out these
      operations too, so we can't do it for devices with such drivers.
      Still, we can make the default PM callbacks run for devices with
      drivers using the new framework (ie. implement the pm object), since
      there are no such drivers at the moment.
      
      This also simplifies the code and makes it smaller.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      d67e37d7
    • Rafael J. Wysocki's avatar
      PCI PM: Register power state of devices during initialization · 98e6e286
      Rafael J. Wysocki authored
      Use the observation that the power state of a PCI device can be
      loaded into its pci_dev structure as soon as pci_pm_init() is run for
      it and make that happen.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      98e6e286
    • Rafael J. Wysocki's avatar
      PCI PM: Call pci_fixup_device from legacy routines · ad8cfa1d
      Rafael J. Wysocki authored
      The size of drivers/pci/pci-driver.c can be reduced quite a bit
      if pci_fixup_device() is called from the legacy PM callbacks, so make
      it happen.
      
      No functional changes should result from this.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      ad8cfa1d
    • Rafael J. Wysocki's avatar
      PCI PM: Rearrange code in pci-driver.c · bb808945
      Rafael J. Wysocki authored
      Rename two functions and rearrange code in drivers/pci/pci-driver.c
      so that it's easier to follow.  In particular, separate invocations
      of the legacy callbacks from the rest of the new callbacks' code.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      bb808945
    • Rafael J. Wysocki's avatar
      PCI PM: Avoid touching devices behind bridges in unknown state · 73410429
      Rafael J. Wysocki authored
      It generally is better to avoid accessing devices behind bridges that
      may not be in the D0 power state, because in that case the bridges'
      secondary buses may not be accessible.  For this reason, during the
      early phase of resume (ie. with interrupts disabled), before
      restoring the standard config registers of a device, check the power
      state of the bridge the device is behind and postpone the restoration
      of the device's config space, as well as any other operations that
      would involve accessing the device, if that state is not D0.
      
      In such cases the restoration of the device's config space will be
      retried during the "normal" phase of resume (ie. with interrupts
      enabled), so that the bridge can be put into D0 before that happens.
      
      Also, save standard configuration registers of PCI devices during the
      "normal" phase of suspend (ie. with interrupts enabled), so that the
      bridges the devices are behind can be put into low power states (we
      don't put bridges into low power states at the moment, but we may
      want to do it in the future and it seems reasonable to design for
      that).
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      73410429
    • Rafael J. Wysocki's avatar
      PCI PM: Move pci_has_legacy_pm_support · 07e836e8
      Rafael J. Wysocki authored
      Move pci_has_legacy_pm_support() closer to the functions that
      call it.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      07e836e8
    • Rafael J. Wysocki's avatar
      PCI PM: Power-manage devices without drivers during suspend-resume · 571ff758
      Rafael J. Wysocki authored
      PCI devices without drivers can be put into low power states during
      suspend with the help of pci_prepare_to_sleep() and prevented from
      generating wake-up events during resume with the help of
      pci_enable_wake().  However, it's better not to put bridges into
      low power states during suspend, because that might result in entire
      bus segments being powered off.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      571ff758
    • Rafael J. Wysocki's avatar
      PCI PM: Add suspend counterpart of pci_reenable_device · fa58d305
      Rafael J. Wysocki authored
      PCI devices without drivers are not disabled during suspend and
      hibernation, but they are enabled during resume, with the help of
      pci_reenable_device(), so there is an unbalanced execution of
      pcibios_enable_device() in the resume code path.
      
      To correct this introduce function pci_disable_enabled_device()
      that will disable the argument device, if it is enabled when the
      function is being run, without updating the device's pci_dev
      structure and use it in the suspend code path to balance the
      pci_reenable_device() executed during resume.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      fa58d305
    • Rafael J. Wysocki's avatar
      PCI PM: Fix poweroff and restore callbacks · c9b9972b
      Rafael J. Wysocki authored
      pci_fixup_device() is called too early in pci_pm_poweroff() and too
      late in pci_pm_restore().  Moreover, pci_pm_restore_noirq() calls
      pci_fixup_device() twice and in a wrong way.  Fix that.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@suse.cz>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      c9b9972b
    • Andrew Patterson's avatar
      PCI: Use msleep instead of cpu_relax during ASPM link retraining · 987a4c78
      Andrew Patterson authored
      The cpu_relax() function can be a noop on certain architectures like
      IA-64 when CPU threads are disabled, so use msleep instead during link
      retraining busy/wait loop.
      
      Introduce define LINK_RETRAIN_TIMEOUT instead of hard-coding timeout in
      pcie_aspm_configure_common_clock.
      
      Use time_after() to avoid jiffy wraparound when checking for expired
      timeout.
      
      After timeout expires, recheck link status register link training bit
      instead of checking for expired timeout to avoid possible false
      positive.
      
      Note that Matthew Wilcox came up with the first rough version of this
      patch.
      Reviewed-by: default avatarMatthew Wilcox <willy@linux.intel.com>
      Signed-off-by: default avatarAndrew Patterson <andrew.patterson@hp.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      987a4c78
    • Rafael J. Wysocki's avatar
      PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions · d9347371
      Rafael J. Wysocki authored
      Add kerneldoc comments to the reamining functions in
      drivers/pci/pcie/portdrv_core.c .
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      d9347371
    • Rafael J. Wysocki's avatar
      PCI: PCIe portdrv: Rearrange code so that related things are together · fa6c9937
      Rafael J. Wysocki authored
      Rearrange code in drivers/pci/pcie/portdrv_bus.c and
      drivers/pci/pcie/portdrv_core.c so that related functions and data
      structures are closer together.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      fa6c9937
    • Rafael J. Wysocki's avatar
      PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services · e7ae8848
      Rafael J. Wysocki authored
      There is a problem with the suspend and resume of PCI Express port
      service devices that the ->suspend() and ->resume() routines of each
      service device are called twice in each suspend-resume cycle, which
      is obviously wrong.
      
      The scenario is that first, the PCI Express port driver calls
      suspend and resume routines of each port service driver from its
      pcie_portdrv_suspend() and pcie_portdrv_resume() callbacks,
      respectively (which is correct), and second, the pcie_port_bus_type
      driver calls them from its ->suspend() and ->resume() callbacks
      (which is not correct, because it doesn't happen at the right time).
      
      The solution is to remove the ->suspend() and ->resume() callbacks
      from pcie_port_bus_type and the associated functions.
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      e7ae8848