1. 27 May, 2011 3 commits
    • Sarah Sharp's avatar
      Intel xhci: Limit number of active endpoints to 64. · 2cf95c18
      Sarah Sharp authored
      The Panther Point chipset has an xHCI host controller that has a limit to
      the number of active endpoints it can handle.  Ideally, it would signal
      that it can't handle anymore endpoints by returning a Resource Error for
      the Configure Endpoint command, but they don't.  Instead it needs software
      to keep track of the number of active endpoints, across configure endpoint
      commands, reset device commands, disable slot commands, and address device
      commands.
      
      Add a new endpoint context counter, xhci_hcd->num_active_eps, and use it
      to track the number of endpoints the xHC has active.  This gets a little
      tricky, because commands to change the number of active endpoints can
      fail.  This patch adds a new xHCI quirk for these Intel hosts, and the new
      code should not have any effect on other xHCI host controllers.
      
      Fail a new device allocation if we don't have room for the new default
      control endpoint.  Use the endpoint ring pointers to determine what
      endpoints were active before a Reset Device command or a Disable Slot
      command, and drop those once the command completes.
      
      Fail a configure endpoint command if it would add too many new endpoints.
      We have to be a bit over zealous here, and only count the number of new
      endpoints to be added, without subtracting the number of dropped
      endpoints.  That's because a second configure endpoint command for a
      different device could sneak in before we know if the first command is
      completed.  If the first command dropped resources, the host controller
      fails the command for some reason, and we're nearing the limit of
      endpoints, we could end up oversubscribing the host.
      
      To fix this race condition, when evaluating whether a configure endpoint
      command will fix in our bandwidth budget, only add the new endpoints to
      xhci->num_active_eps, and don't subtract the dropped endpoints.  Ignore
      changed endpoints (ones that are dropped and then re-added), as that
      shouldn't effect the host's endpoint resources.  When the configure
      endpoint command completes, subtract off the dropped endpoints.
      
      This may mean some configuration changes may temporarily fail, but it's
      always better to under-subscribe than over-subscribe resources.
      
      (Originally my plan had been to push the resource allocation down into the
      ring allocation functions.  However, that would cause us to allocate
      unnecessary resources when endpoints were changed, because the xHCI driver
      allocates a new ring for the changed endpoint, and only deletes the old
      ring once the Configure Endpoint command succeeds.  A further complication
      would have been dealing with the per-device endpoint ring cache.)
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      2cf95c18
    • Sarah Sharp's avatar
      Intel xhci: Ignore spurious successful event. · ad808333
      Sarah Sharp authored
      The xHCI host controller in the Panther Point chipset sometimes produces
      spurious events on the event ring.  If it receives a short packet, it
      first puts a Transfer Event with a short transfer completion code on the
      event ring.  Then it puts a Transfer Event with a successful completion
      code on the ring for the same TD.  The xHCI driver correctly processes the
      short transfer completion code, gives the URB back to the driver, and then
      prints a warning in dmesg about the spurious event.  These warning
      messages really fill up dmesg when an HD webcam is plugged into xHCI.
      
      This spurious successful event behavior isn't technically disallowed by
      the xHCI specification, so make the xHCI driver just ignore the spurious
      completion event.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      ad808333
    • Sarah Sharp's avatar
      Intel xhci: Support EHCI/xHCI port switching. · 69e848c2
      Sarah Sharp authored
      The Intel Panther Point chipsets contain an EHCI and xHCI host controller
      that shares some number of skew-dependent ports.  These ports can be
      switched from the EHCI to the xHCI host (and vice versa) by a hardware MUX
      that is controlled by registers in the xHCI PCI configuration space.  The
      USB 3.0 SuperSpeed terminations on the xHCI ports can be controlled
      separately from the USB 2.0 data wires.
      
      This switchover mechanism is there to support users who do a custom
      install of certain non-Linux operating systems that don't have official
      USB 3.0 support.  By default, the ports are under EHCI, SuperSpeed
      terminations are off, and USB 3.0 devices will show up under the EHCI
      controller at reduced speeds.  (This was more palatable for the marketing
      folks than having completely dead USB 3.0 ports if no xHCI drivers are
      available.)  Users should be able to turn on xHCI by default through a
      BIOS option, but users are happiest when they don't have to change random
      BIOS settings.
      
      This patch introduces a driver method to switchover the ports from EHCI to
      xHCI before the EHCI driver finishes PCI enumeration.  We want to switch
      the ports over before the USB core has the chance to enumerate devices
      under EHCI, or boot from USB mass storage will fail if the boot device
      connects under EHCI first, and then gets disconnected when the port
      switches over to xHCI.
      
      Add code to the xHCI PCI quirk to switch the ports from EHCI to xHCI.  The
      PCI quirks code will run before any other PCI probe function is called, so
      this avoids the issue with boot devices.
      
      Another issue is with BIOS behavior during system resume from hibernate.
      If the BIOS doesn't support xHCI, it may switch the devices under EHCI to
      allow use of the USB keyboard, mice, and mass storage devices.  It's
      supposed to remember the value of the port routing registers and switch
      them back when the OS attempts to take control of the xHCI host controller,
      but we all know not to trust BIOS writers.
      
      Make both the xHCI driver and the EHCI driver attempt to switchover the
      ports in their PCI resume functions.  We can't guarantee which PCI device
      will be resumed first, so this avoids any race conditions.  Writing a '1'
      to an already set port switchover bit or a '0' to a cleared port switchover
      bit should have no effect.
      
      The xHCI PCI configuration registers will be documented in the EDS-level
      chipset spec, which is not public yet.  I have permission from legal and
      the Intel chipset group to release this patch early to allow good Linux
      support at product launch.  I've tried to document the registers as much
      as possible, so please let me know if anything is unclear.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      69e848c2
  2. 26 May, 2011 1 commit
  3. 25 May, 2011 5 commits
    • Sarah Sharp's avatar
      xhci: STFU: Be quieter during URB submission and completion. · f444ff27
      Sarah Sharp authored
      Unsurprisingly, URBs get submitted and completed a lot in the xHCI
      driver.  If we have to print 10 lines of debug for every URB submitted
      or completed, then that can cause the whole system to stay in the
      interrupt handler too long, and can cause Missed Service completion
      codes for isochronous transfers.
      
      Cut down the debugging in the URB submission and completion paths:
       - Don't squawk about successful transfers, only unsuccessful ones.
       - Only print the number of bytes transferred if this was a short
         transfer.
       - Don't print the endpoint index for successful transfers (will add
         more debug to failed transfers to show endpoint index there later).
       - Stop printing MMIO writes.  This debugging shows up when the endpoint
         doorbell is rung a to start a transfer (basically for every URB).
       - Don't print out the ring enqueue and dequeue pointers
       - Stop printing when we're pointing to a link TRB.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      f444ff27
    • Sarah Sharp's avatar
      xhci: STFU: Don't print event ring dequeue pointer. · 5153b7b3
      Sarah Sharp authored
      Stop printing out the event ring dequeue pointer and status register in
      the operational register set.  The host will report an OK status 99% of
      the time the interrupt handler is called, and usually when it's really
      hosed, a host controller won't even call the interrupt handler.  So the
      line is really useless.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      5153b7b3
    • Sarah Sharp's avatar
      xhci: STFU: Remove function tracing. · 380032c3
      Sarah Sharp authored
      Remove unnecessary debugging from the xHCI driver.  We don't need to
      know what function we're calling or returning from.  Now I know how to
      use markup-oops.pl to de-mystify stack dumps of crashes.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      380032c3
    • Sarah Sharp's avatar
      xhci: Don't submit commands when the host is dead. · fe6c6c13
      Sarah Sharp authored
      When the xHCI host controller dies, the USB core may attempt to reset the
      devices to their default configuration before disconnecting them.  This
      causes calls into the xHCI bandwidth allocation functions.  Don't allow
      those functions to submit commands or work on xHCI structures if the host
      controller is marked as dying.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      fe6c6c13
    • Sarah Sharp's avatar
      xhci: Clear stopped_td when Stop Endpoint command completes. · 0714a57c
      Sarah Sharp authored
      When an URB is cancelled, the xHCI driver issues a Stop Endpoint command
      so that it can manipulate the ring and remove the transfer.  The xHC
      hardware then places a transfer event with the completion code "Stopped"
      or "Stopped Invalid" to let the driver know what TD it was in the middle
      of processing.  This TD and TRB is stored in ep->stopped_td and
      ep->stopped_trb.  These pointers are also used in handling stalled
      endpoints.
      
      By design, the Stop Endpoint command can race with URB completion.  By
      the time the Stop Endpoint command is handled, the URBs to be cancelled
      may have been given back to the driver.  Unfortunately, the stopped_td
      and stopped_trb pointers were not getting cleared in this case.
      
      The USB core unconditionally tries to reset the toggle bits on any
      endpoints when a new alternate interface setting is installed.  When the
      xHCI driver saw that ep->stopped_td was still set from the Stop Endpoint
      command, xhci_reset_endpoint assumed the endpoint was actually stalled,
      and attempted to clean up the endpoint rings.  This would manifest
      itself in a failed Reset Endpoint command and failed Set TR dequeue
      Pointer command after a successful Configure Endpoint command.  It may
      have also been causing driver oops when the stopped_td was accessed.
      
      This patch should be backported to stable kernels since 2.6.31.  Before
      2.6.33, stopped_td was found in the xhci_endpoint_ring, not the
      xhci_virt_ep.
      Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
      0714a57c
  4. 24 May, 2011 7 commits
  5. 23 May, 2011 24 commits
    • Linus Torvalds's avatar
      Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 · 5e152b4c
      Linus Torvalds authored
      * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (27 commits)
        PCI: Don't use dmi_name_in_vendors in quirk
        PCI: remove unused AER functions
        PCI/sysfs: move bus cpuaffinity to class dev_attrs
        PCI: add rescan to /sys/.../pci_bus/.../
        PCI: update bridge resources to get more big ranges when allocating space (again)
        KVM: Use pci_store/load_saved_state() around VM device usage
        PCI: Add interfaces to store and load the device saved state
        PCI: Track the size of each saved capability data area
        PCI/e1000e: Add and use pci_disable_link_state_locked()
        x86/PCI: derive pcibios_last_bus from ACPI MCFG
        PCI: add latency tolerance reporting enable/disable support
        PCI: add OBFF enable/disable support
        PCI: add ID-based ordering enable/disable support
        PCI hotplug: acpiphp: assume device is in state D0 after powering on a slot.
        PCI: Set PCIE maxpayload for card during hotplug insertion
        PCI/ACPI: Report _OSC control mask returned on failure to get control
        x86/PCI: irq and pci_ids patch for Intel Panther Point DeviceIDs
        PCI: handle positive error codes
        PCI: check pci_vpd_pci22_wait() return
        PCI: Use ICH6_GPIO_EN in ich6_lpc_acpi_gpio
        ...
      
      Fix up trivial conflicts in include/linux/pci_ids.h: commit a6e5e2be
      moved the intel SMBUS ID definitons to the i2c-i801.c driver.
      5e152b4c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs · a77febbe
      Linus Torvalds authored
      * 'for-linus' of git://oss.sgi.com/xfs/xfs:
        xfs: obey minleft values during extent allocation correctly
        xfs: reset buffer pointers before freeing them
        xfs: avoid getting stuck during async inode flushes
        xfs: fix xfs_itruncate_start tracing
        xfs: fix duplicate workqueue initialisation
        xfs: kill off xfs_printk()
        xfs: fix race condition in AIL push trigger
        xfs: make AIL target updates and compares 32bit safe.
        xfs: always push the AIL to the target
        xfs: exit AIL push work correctly when AIL is empty
        xfs: ensure reclaim cursor is reset correctly at end of AG
        xfs: add an x86 compat handler for XFS_IOC_ZERO_RANGE
        xfs: fix compiler warning in xfs_trace.h
        xfs: cleanup duplicate initializations
        xfs: reduce the number of pagb_lock roundtrips in xfs_alloc_clear_busy
        xfs: exact busy extent tracking
        xfs: do not immediately reuse busy extent ranges
        xfs: optimize AGFL refills
      a77febbe
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm · 42cd71bf
      Linus Torvalds authored
      * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (137 commits)
        ARM: bcmring: convert to use sp804 clockevents
        ARM: bcmring: convert to sp804 clocksource
        ARM: 6912/1: bcmring: Add clkdev table in init_early
        clockevents: ARM sp804: obtain sp804 timer rate via clks
        clockevents: ARM sp804: allow clockevent name to be specified
        clocksource: ARM sp804: obtain sp804 timer rate via clks
        clocksource: ARM sp804: allow clocksource name to be specified
        clocksource: convert OMAP1 to 32-bit down counting clocksource
        clocksource: convert MXS timrotv2 to 32-bit down counting clocksource
        clocksource: convert SPEAr platforms 16-bit up counting clocksource
        clocksource: convert Integrator/AP 16-bit down counting clocksource
        clocksource: convert W90x900 24-bit down counting clocksource
        clocksource: convert ARM 32-bit down counting clocksources
        clocksource: convert ARM 32-bit up counting clocksources
        clocksource: add common mmio clocksource
        ARM: update sa1100 to reflect PXA updates
        ARM: omap1: convert to using readl/writel instead of volatile struct
        ARM: omap1: delete useless interrupt handler
        ARM: s5p: consolidate selection of timer register
        ARM: 6939/1: fix missing 'cpu_relax()' declaration
        ...
      42cd71bf
    • Vikram Narayanan's avatar
      Documentation: update GregKH links · f5039935
      Vikram Narayanan authored
      Fixed the broken links in the SubmittingPatches file.
      
      [ The old links turn out to not be broken after all, but the new links
        are certainly more readable - Linus ]
      Signed-off-by: default avatarVikram Narayanan <vikram186@gmail.com>
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f5039935
    • Nicolas Kaiser's avatar
      Documentation: fix vgaarbiter.txt typos etc. · f14d8d3a
      Nicolas Kaiser authored
      Fixed typos.
      
      v2: Incorporated changes by Randy Dunlap.
      Signed-off-by: default avatarNicolas Kaiser <nikai@nikai.net>
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f14d8d3a
    • Harry Wei's avatar
      Documentation: update LXR web link · 82082660
      Harry Wei authored
      Update LXR (Linux cross reference) web link.
      Signed-off-by: default avatarHarry Wei <harryxiyou@gmail.com>
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      82082660
    • Lucian Adrian Grijincu's avatar
      Documentation: update epoll sysctl text · 52307a9e
      Lucian Adrian Grijincu authored
      max_user_instances was removed in this commit:
      
         commit 9df04e1f
         Author: Davide Libenzi <davidel@xmailserver.org>
         Date:   Thu Jan 29 14:25:26 2009 -0800
      
          epoll: drop max_user_instances and rely only on max_user_watches
      
      but the documentation entry was not removed.
      
      Cc: Davide Libenzi <davidel@xmailserver.org>
      Signed-off-by: default avatarLucian Adrian Grijincu <lucian.grijincu@gmail.com>
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      52307a9e
    • Randy Dunlap's avatar
      Documentation: update dontdiff file · 56dab6c2
      Randy Dunlap authored
      v2, updated based on comments from Joe and Paul.
      
      Update to Documentation/dontdiff, based on many updates to
      various .gitignore patches over the last 2 years.
      
      Initially begun by Michael Prokop <mika@grml.org>, with lots of
      changes by Randy Dunlap.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Michael Prokop <mika@grml.org>
      Cc: Joe Perches <joe@perches.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      56dab6c2
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of... · ea2b50ef
      Linus Torvalds authored
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86, apic: Include module.h header in apic_flat_64.c
        x86, apic: Make apic drivers static
        x86, apic: Clean up bigsmp apic selection code
        x86, apic: Use .apicdrivers section for the apic drivers list
        x86, apic: Introduce .apicdrivers section to find the list of apic drivers
        x86, x2apic: Move the common bits to x2apic.h
        x86, x2apic: Minimize IPI register writes using cluster groups
        x86, x2apic: Track the x2apic cluster sibling map
        x86, x2apic: Remove duplicate code for IPI mask routines
        x86, apic: Use probe routines to simplify apic selection
        x86, ioapic: Consolidate mp_ioapic_routing[] into 'struct ioapic'
        x86, ioapic: Consolidate gsi routing info into 'struct ioapic'
        x86, ioapic: Consolidate mp_ioapics[] into 'struct ioapic'
        x86, ioapic: Consolidate ioapic_saved_data[] into 'struct ioapic'
        x86, ioapic: Add struct ioapic
        x86, ioapic: Remove duplicate code for saving/restoring RTEs
        x86, ioapic: Use ioapic_saved_data while enabling intr-remapping
        x86, ioapic: Allocate ioapic_saved_data early
        x86, ioapic: Fix potential resume deadlock
      ea2b50ef
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of... · 15a3d11b
      Linus Torvalds authored
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        sched: Increase SCHED_LOAD_SCALE resolution
        sched: Introduce SCHED_POWER_SCALE to scale cpu_power calculations
        sched: Cleanup set_load_weight()
      15a3d11b
    • Linus Torvalds's avatar
      Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 · 1f3a8e09
      Linus Torvalds authored
      * 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (970 commits)
        staging: usbip: replace usbip_u{dbg,err,info} and printk with dev_ and pr_
        staging:iio: Trivial kconfig reorganization and uniformity improvements.
        staging:iio:documenation partial update.
        staging:iio: use pollfunc allocation helpers in remaining drivers.
        staging:iio:max1363 misc cleanups and use of for_each_bit_set to simplify event code spitting out.
        staging:iio: implement an iio_info structure to take some of the constant elements out of iio_dev.
        staging:iio:meter:ade7758: Use private data space from iio_allocate_device
        staging:iio:accel:lis3l02dq make write_reg_8 take value not a pointer to value.
        staging:iio: ring core cleanups + check if read_last available in lis3l02dq
        staging:iio:core cleanup: squash tiny wrappers and use dev_set_name to handle creation of event interface name.
        staging:iio: poll func allocation clean up.
        staging:iio:ad7780 trivial unused header cleanup.
        staging:iio:adc: AD7780: Use private data space from iio_allocate_device + trivial fixes
        staging:iio:adc:AD7780: Convert to new channel registration method
        staging:iio:adc: AD7606: Drop dev_data in favour of iio_priv()
        staging:iio:adc: AD7606: Consitently use indio_dev
        staging:iio: Rip out helper for software rings.
        staging:iio:adc:AD7298: Use private data space from iio_allocate_device
        staging:iio: rationalization of different buffer implementation hooks.
        staging:iio:imu:adis16400 avoid allocating rx, tx, and state separately from iio_dev.
        ...
      
      Fix up trivial conflicts in
       - drivers/staging/intel_sst/intelmid.c: patches applied in both branches
       - drivers/staging/rt2860/common/cmm_data_{pci,usb}.c: removed vs spelling
       - drivers/staging/usbip/vhci_sysfs.c: trivial header file inclusion
      1f3a8e09
    • Linus Torvalds's avatar
      Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · c44dead7
      Linus Torvalds authored
      * 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (205 commits)
        USB: EHCI: Remove SPARC_LEON {read,write}_be definitions from ehci.h
        USB: UHCI: Support big endian GRUSBHC HC
        sparc: add {read,write}*_be routines
        USB: UHCI: Add support for big endian descriptors
        USB: UHCI: Use ACCESS_ONCE rather than using a full compiler barrier
        USB: UHCI: Add support for big endian mmio
        usb-storage: Correct adjust_quirks to include latest flags
        usb/isp1760: Fix possible unlink problems
        usb/isp1760: Move function isp1760_endpoint_disable() within file.
        USB: remove remaining usages of hcd->state from usbcore and fix regression
        usb: musb: ux500: add configuration and build options for ux500 dma
        usb: musb: ux500: add dma glue layer for ux500
        usb: musb: ux500: add dma name for ux500
        usb: musb: ux500: add ux500 specific code for gadget side
        usb: musb: fix compile error
        usb-storage: fix up the unusual_realtek device list
        USB: gadget: f_audio: Fix invalid dereference of initdata
        EHCI: don't rescan interrupt QHs needlessly
        OHCI: fix regression caused by nVidia shutdown workaround
        USB: OTG: msm: Free VCCCX regulator even if we can't set the voltage
        ...
      c44dead7
    • Randy Dunlap's avatar
      x86, apic: Include module.h header in apic_flat_64.c · b18bf094
      Randy Dunlap authored
      apic_flat_64.c needs to include module.h because it uses
      EXPORT_SYMBOL_GPL().
      
      This fixes these warnings on some !SMP randconfigs:
      
        arch/x86/kernel/apic/apic_flat_64.c:31: warning: data definition has no type or storage class
        arch/x86/kernel/apic/apic_flat_64.c:31: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL'
        arch/x86/kernel/apic/apic_flat_64.c:31: warning: parameter names (without types) in function declaration
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Link: http://lkml.kernel.org/r/20110523104300.dd532a99.randy.dunlap@oracle.comSigned-off-by: default avatarIngo Molnar <mingo@elte.hu>
      b18bf094
    • Linus Torvalds's avatar
      Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 · 99dff585
      Linus Torvalds authored
      * 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: (48 commits)
        serial: 8250_pci: add support for Cronyx Omega PCI multiserial board.
        tty/serial: Fix break handling for PORT_TEGRA
        tty/serial: Add explicit PORT_TEGRA type
        n_tracerouter and n_tracesink ldisc additions.
        Intel PTI implementaiton of MIPI 1149.7.
        Kernel documentation for the PTI feature.
        export kernel call get_task_comm().
        tty: Remove to support serial for S5P6442
        pch_phub: Support new device ML7223
        8250_pci: Add support for the Digi/IBM PCIe 2-port Adapter
        ASoC: Update cx20442 for TTY API change
        pch_uart: Support new device ML7223 IOH
        parport: Use request_muxed_region for IT87 probe and lock
        tty/serial: add support for Xilinx PS UART
        n_gsm: Use print_hex_dump_bytes
        drivers/tty/moxa.c: Put correct tty value
        TTY: tty_io, annotate locking functions
        TTY: serial_core, remove superfluous set_task_state
        TTY: serial_core, remove invalid test
        Char: moxa, fix locking in moxa_write
        ...
      
      Fix up trivial conflicts in drivers/bluetooth/hci_ldisc.c and
      drivers/tty/serial/Makefile.
      
      I did the hci_ldisc thing as an evil merge, cleaning things up.
      99dff585
    • Guenter Roeck's avatar
      hwmon: (coretemp) Fix compile error if CONFIG_SMP is not defined · bb74e8ca
      Guenter Roeck authored
      cpu_sibling_mask() is not defined unless CONFIG_SMP is defined, so it
      must not be used directly in the code without ifdef protection.
      
      To solve the problem and avoid ifdefs in the code, define
      for_each_sibling() and use it instead.
      Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: Durgadoss R <durgadoss.r@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bb74e8ca
    • Linus Torvalds's avatar
      Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · 30cb6d5f
      Linus Torvalds authored
      * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        hrtimers: Reorder clock bases
        hrtimers: Avoid touching inactive timer bases
        hrtimers: Make struct hrtimer_cpu_base layout less stupid
        timerfd: Manage cancelable timers in timerfd
        clockevents: Move C3 stop test outside lock
        alarmtimer: Drop device refcount after rtc_open()
        alarmtimer: Check return value of class_find_device()
        timerfd: Allow timers to be cancelled when clock was set
        hrtimers: Prepare for cancel on clock was set timers
      30cb6d5f
    • Russell King's avatar
      Merge branch 'devel-stable' into for-linus · 9a55d975
      Russell King authored
      Conflicts:
      	arch/arm/Kconfig
      	arch/arm/mach-ns9xxx/include/mach/uncompress.h
      9a55d975
    • Russell King's avatar
      Merge branches 'consolidate', 'ep93xx', 'fixes', 'misc', 'mmci', 'remove' and... · ec19628d
      Russell King authored
      Merge branches 'consolidate', 'ep93xx', 'fixes', 'misc', 'mmci', 'remove' and 'spear' into for-linus
      ec19628d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 · 4867faab
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
        slub: Deal with hyperthetical case of PAGE_SIZE > 2M
        slub: Remove node check in slab_free
        slub: avoid label inside conditional
        slub: Make CONFIG_DEBUG_PAGE_ALLOC work with new fastpath
        slub: Avoid warning for !CONFIG_SLUB_DEBUG
        slub: Remove CONFIG_CMPXCHG_LOCAL ifdeffery
        slub: Move debug handlign in __slab_free
        slub: Move node determination out of hotpath
        slub: Eliminate repeated use of c->page through a new page variable
        slub: get_map() function to establish map of free objects in a slab
        slub: Use NUMA_NO_NODE in get_partial
        slub: Fix a typo in config name
      4867faab
    • Russell King's avatar
      Merge branches 'consolidate-clksrc', 'consolidate-flash',... · 4b60e5f9
      Russell King authored
      Merge branches 'consolidate-clksrc', 'consolidate-flash', 'consolidate-generic', 'consolidate-smp', 'consolidate-stmp' and 'consolidate-zones' into consolidate
      4b60e5f9
    • Russell King's avatar
      ARM: bcmring: convert to use sp804 clockevents · e8765afe
      Russell King authored
      bcmring has a set of four sp804 timers incorporated, yet it has its
      own copy of the sp804 code.  Convert its clockevent implementation
      to the standard sp804 support code.
      
      Cc: Jiandong Zheng <jdzheng@broadcom.com>
      Cc: Scott Branden <sbranden@broadcom.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      e8765afe
    • Russell King's avatar
      ARM: bcmring: convert to sp804 clocksource · 82d63734
      Russell King authored
      bcmring has a set of four sp804 timers incorporated, yet it has its
      own copy of the sp804 code.  Convert its clocksource implementation
      to the standard sp804 support code.
      
      Cc: Jiandong Zheng <jdzheng@broadcom.com>
      Cc: Scott Branden <sbranden@broadcom.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      82d63734
    • Jiandong Zheng's avatar
      ARM: 6912/1: bcmring: Add clkdev table in init_early · ede2e234
      Jiandong Zheng authored
      Move adding clkdev table to init_early to make sure the common sp804 clockevents can be initialized properly.
      Signed-off-by: default avatarJiandong Zheng <jdzheng@broadcom.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      ede2e234
    • Russell King's avatar
      clockevents: ARM sp804: obtain sp804 timer rate via clks · 23828a7a
      Russell King authored
      This allows platforms to specify the rate of the SP804 clockevent via
      the clk subsystem.  While ARM boards clock these at 1MHz, BCMRing also
      has SP804 timers but are clocked at different rates.
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      23828a7a