26 Oct, 2010

40 commits

  • Now that the genirq code provides an IRQ bitmap of its own and the
    necessary API to manipulate it, there's no need to keep our own version
    around anymore.

    In the process we kill off some unused IRQ reservation code, with future
    users now having to tie in to the genirq API as normal.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Now that there's a HAVE_GENERIC_HARDIRQS, switch over.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Switch over to the new allocator functions.

    Signed-off-by: Thomas Gleixner
    Signed-off-by: Paul Mundt

    Thomas Gleixner
     
  • CPUs can be in either the legacy 29-bit or 32-bit physical addressing
    modes. This follows the x86 approach of tracking the phys bits in cpuinfo
    and exposing it to userspace through procfs.

    This change was requested to permit kexec-tools to detect the physical
    addressing mode in order to determine the appropriate address mangling.

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • * 'for-next' of git://android.git.kernel.org/kernel/tegra:
    spi: tegra: fix error setting on timeout
    spi: add spi_tegra driver
    tegra: harmony: enable PCI Express
    tegra: add PCI Express support
    tegra: add PCI Express clocks
    [ARM] tegra: Add APB DMA support
    [ARM] tegra: Add cpufreq support
    [ARM] tegra: common: Update common clock init table
    [ARM] tegra: clock: Add dvfs support, bug fixes, and cleanups
    [ARM] tegra: Add support for reading fuses
    [ARM] tegra: gpio: Add suspend and wake support
    [ARM] tegra: pinmux: add safe values, move tegra2, add suspend
    [ARM] tegra: add suspend and mirror irqs to legacy controller
    [ARM] tegra: Add legacy irq support
    [ARM] tegra: update iomap

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
    Blackfin: fix inverted anomaly 05000481 logic
    Blackfin: drop unused irq_panic()/DEBUG_ICACHE_CHECK
    Blackfin: ppi/spi/twi headers: add missing __BFP undef
    Blackfin: update defconfigs
    Blackfin: bfin_twi.h: start a common TWI header
    netdev: bfin_mac: push settings to platform resources

    Linus Torvalds
     
  • avoids derefencing an uninitialized pointer

    Change-Id: Icf528441ae481e9f6f5ddc0be32c7c217fa49701
    Signed-off-by: Erik Gilling

    Erik Gilling
     
  • * 'next' of git://git.monstr.eu/linux-2.6-microblaze: (42 commits)
    microblaze: Fix build with make 3.82
    fbdev/xilinxfb: Microblaze driver support
    microblaze: Support C optimized lib functions for little-endian
    microblaze: Separate library optimized functions
    microblaze: Support timer on AXI lite
    microblaze: Add support for little-endian Microblaze
    microblaze: KGDB little endian support
    microblaze: Add PVR for endians plus detection
    net: emaclite: Add support for little-endian platforms
    microblaze: trivial: Add comment for AXI pvr
    microblaze: pci-common cleanup
    microblaze: Support early console on uart16550
    microblaze: Do not compile early console support for uartlite if is disabled
    microblaze: Setup early console dynamically
    microblaze: Rename all uartlite early printk functions
    microblaze: remove early printk uarlite console dependency from header
    microblaze: Remove additional compatible properties
    microblaze: Remove hardcoded asm instraction for PVR loading
    microblaze: Use static const char * const where possible
    microblaze: Define VMALLOC_START/END
    ...

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: (24 commits)
    hwmon: lis3: Release resources in case of failure
    hwmon: lis3: Short explanations of platform data fields
    hwmon: lis3: Enhance lis3 selftest with IRQ line test
    hwmon: lis3: use block read to access data registers
    hwmon: lis3: Adjust fuzziness for 8 bit device
    hwmon: lis3: New parameters to platform data
    hwmon: lis3: restore axis enabled bits
    hwmon: lis3: Power on corrections
    hwmon: lis3: Update coordinates at polled device open
    hwmon: lis3: Cleanup interrupt handling
    hwmon: lis3: regulator control
    hwmon: lis3: pm_runtime support
    Kirkwood: add fan support for Network Space Max v2
    hwmon: add generic GPIO fan driver
    hwmon: (coretemp) fix reading of microcode revision (v2)
    hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs
    hwmon: (pkgtemp) align driver initialization style with coretemp
    hwmon: LTC4261 Hardware monitoring driver
    hwmon: (lis3) add axes module parameter for custom axis-mapping
    hwmon: (hp_accel) Add HP Mini 510x family support
    ...

    Linus Torvalds
     
  • In the MN10300 arch, we occasionally see an assertion being tripped in
    alloc_cwqs() at the following line:

    /* just in case, make sure it's actually aligned */
    ---> BUG_ON(!IS_ALIGNED(wq->cpu_wq.v, align));
    return wq->cpu_wq.v ? 0 : -ENOMEM;

    The values are:

    wa->cpu_wq.v => 0x902776e0
    align => 0x100

    and align is calculated by the following:

    const size_t align = max_t(size_t, 1 << WORK_STRUCT_FLAG_BITS,
    __alignof__(unsigned long long));

    This is because the pointer in question (wq->cpu_wq.v) loses some of its
    lower bits to control flags, and so the object it points to must be
    sufficiently aligned to avoid the need to use those bits for pointing to
    things.

    Currently, 4 control bits and 4 colour bits are used in normal
    circumstances, plus a debugging bit if debugging is set. This requires
    the cpu_workqueue_struct struct to be at least 256 bytes aligned (or 512
    bytes aligned with debugging).

    PERCPU() alignment on MN13000, however, is only 32 bytes as set in
    vmlinux.lds.S. So we set this to PAGE_SIZE (4096) to match most other
    arches and stick a comment in alloc_cwqs() for anyone else who triggers
    the assertion.

    Reported-by: Akira Takeuchi
    Signed-off-by: David Howells
    Acked-by: Mark Salter
    Cc: Tejun Heo
    Signed-off-by: Linus Torvalds

    David Howells
     
  • If lis3lv02d_init_device fails, HW resources were not released
    properly. In case of failure call release_resources if available.

    Signed-off-by: Samu Onkalo
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • No one uses these MMRs so we didn't notice when the anomaly handling
    logic was inverted.

    Reported-by: Robin Getz
    Signed-off-by: Mike Frysinger

    Mike Frysinger
     
  • This code was useful during early port development when our icache code
    wasn't solid, but that ship has sailed long ago, and no code calls this
    function anymore (irq_panic). So punt it.

    Signed-off-by: Mike Frysinger

    Mike Frysinger
     
  • Short documentation at kernel doc format.

    Signed-off-by: Samu Onkalo
    Acked-by: Jonathan Cameron
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Configure chip to data ready mode in selftest and count received
    interrupts to see that interrupt line(s) are working.

    Signed-off-by: Samu Onkalo
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Add optional blockread function to interface driver. If available
    the chip driver uses it for data register access. For 12 bit device
    it reads 6 bytes to get 3*16bit data. For 8 bit device it reads out
    5 bytes since every second byte is dummy.
    This optimizes bus usage and reduces number of operations and
    interrupts needed for one data update.

    Signed-off-by: Samu Onkalo
    Acked-by: Jonathan Cameron
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Default fuziness is set smaller for 8 device.
    In 12 bit device LSB is quite close to 1 mg
    (mg = 1 / 1000 of earth gravity).
    In 8bit device LSB is about 18 mg.
    Set fuziness to 1 for 8 bit device.

    Signed-off-by: Samu Onkalo
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Added default output data rate setting to platform data.
    If default rate is 0, reset default value is used.
    Added control for duration via platform data.
    Added possibility to configure interrupts to trig on
    both rising and falling edge. The lis3 WU unit can be
    configured quite many ways and with some configurations it
    is quite handy to get coordinate refresh when some
    event trigs and when it reason goes away.

    Signed-off-by: Samu Onkalo
    Acked-by: Jonathan Cameron
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • All axis enable bits are set to 0 at module remove.
    Restore reset default value at init.

    Signed-off-by: Samu Onkalo
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Sometimes lis3 chip seems to fail to setup factory tuning at boot up.
    This probably happens if there is some odd power ramp down ramp up sequence
    for example in device restart. Set boot bit in control2 register to
    trig boot sequence manually and wait until it is finished.

    Signed-off-by: Samu Onkalo
    Acked-by: Jonathan Cameron
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Call input device poll function at device open to refresh coordinates
    immediately. This is needed for the case where poll interval is set to
    zero and coordinate updates happens purely under interrupt control.

    Signed-off-by: Samu Onkalo
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Irqcfg moved to chip data instead of platform data.
    This simplifies access in interrupt handler little bit.

    Input device open and close functions set status for
    interrupt threaded handler once.

    Unnecessary check for interrupt source removed since
    it is enough that active interrupt line indicates that
    there was an interrupt.

    Signed-off-by: Samu Onkalo
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Based on pm_runtime control, turn lis3 regulators on and off.
    Perform context save and restore on transitions.

    Feature is optional and must be enabled in platform data.

    Signed-off-by: Samu Onkalo
    Acked-by: Jonathan Cameron
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Add pm_runtime support to lis3 core driver.
    Add pm_runtime support to lis3 i2c driver.

    spi and hp_accel drivers are not yet supported. Old always
    on functionality remains for those.

    For sysfs there is 5 second delay before turning off the
    chip to avoid long ramp up delay.

    Signed-off-by: Samu Onkalo
    Acked-by: Jonathan Cameron
    Acked-by: Eric Piel
    Signed-off-by: Guenter Roeck

    Samu Onkalo
     
  • Signed-off-by: Simon Guinot
    Acked-by: Nicolas Pitre
    Signed-off-by: Guenter Roeck

    Simon Guinot
     
  • This patch adds hwmon support for fans connected to GPIO lines.

    Platform specific information such as GPIO pinout and speed conversion array
    (rpm from/to GPIO value) are passed to the driver via platform_data.

    Signed-off-by: Simon Guinot
    Signed-off-by: Guenter Roeck

    Simon Guinot
     
  • According to the documentation, simply reading the respective MSR
    isn't sufficient: It should be written with zeros, cpuid(1) be
    executed, and then read (see arch/x86/kernel/cpu/intel.c for an
    example).

    v2: Fail probe when microcode revision cannot be determined, but is
    needed to check for proper operation.

    Signed-off-by: Jan Beulich
    Cc: Fenghua Yu
    Cc: Chen Gong
    Cc: Jean Delvare
    Acked-by: Fenghua Yu
    Signed-off-by: Guenter Roeck

    Jan Beulich
     
  • CONFIG_HOTPLUG_CPU is used too much in some drivers.
    This patch clean them up.

    Signed-off-by: Chen Gong
    Signed-off-by: Guenter Roeck

    Chen Gong
     
  • pkgtemp is derived from coretemp, so some reasonable
    logics should be applied onto pkgtemp, too. Such as
    the init logic here.

    Signed-off-by: Chen Gong
    Signed-off-by: Guenter Roeck

    Chen Gong
     
  • This driver adds support for Linear Technology LTC4261 I2C Negative
    Voltage Hot Swap Controller.

    Reviewed-by: Ira W. Snyder
    Reviewed-by: Tom Grennan
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     
  • The axis-mapping of lis3dev device on many (rather most) HP machines
    doesn't follow the standard. When each new model appears, users need to
    adjust again. Testing this requires the rebuild of kernel, thus it's not
    trivial for end-users.

    This patch adds a module parameter "axes" to allow a custom axis-mapping
    without patching and recompiling the kernel driver. User can pass the
    parameter such as axes=3,2,1. Also it can be changed via sysfs.

    Signed-off-by: Takashi Iwai
    Acked-by: Eric Piel
    Cc: Jean Delvare
    Cc: Guenter Roeck
    Signed-off-by: Andrew Morton
    Signed-off-by: Guenter Roeck

    Takashi Iwai
     
  • This patch is an enhanced version of Takashi Iwai's
    [PATCH] hp_accel: Add quirks for HP ProBook 532x and HP Mini 5102
    My HP Mini 5101 works fine with this patch.
    Confirmed with Tux Racer.

    Signed-off by: Masanari Iida
    Acked-by: Takashi Iwai
    Cc: Eric Piel

    Signed-off-by: Guenter Roeck

    Masanari Iida
     
  • A new version of LIS3 chip has slight incompatibilities from former
    versions. This patch adds the minimal support for it.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Guenter Roeck

    Takashi Iwai
     
  • These likely originate from these drivers being clones of one another
    and/or other drivers which actually needed these includes.

    Signed-off-by: Jan Beulich
    Signed-off-by: Guenter Roeck

    Jan Beulich
     
  • "break" after "return" is at best bogus (good compilers even warn about
    the "break" being unreachable).

    Signed-off-by: Jan Beulich
    Cc: Rudolf Marek
    Signed-off-by: Guenter Roeck

    Jan Beulich
     
  • ... as they're being called only from a __cpuinit function.

    Signed-off-by: Jan Beulich
    Signed-off-by: Guenter Roeck

    Jan Beulich
     
  • * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)
    SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred
    nfs: fix unchecked value
    Ask for time_delta during fsinfo probe
    Revalidate caches on lock
    SUNRPC: After calling xprt_release(), we must restart from call_reserve
    NFSv4: Fix up the 'dircount' hint in encode_readdir
    NFSv4: Clean up nfs4_decode_dirent
    NFSv4: nfs4_decode_dirent must clear entry->fattr->valid
    NFSv4: Fix a regression in decode_getfattr
    NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer
    NFS: Ensure we check all allocation return values in new readdir code
    NFS: Readdir plus in v4
    NFS: introduce generic decode_getattr function
    NFS: check xdr_decode for errors
    NFS: nfs_readdir_filler catch all errors
    NFS: readdir with vmapped pages
    NFS: remove page size checking code
    NFS: decode_dirent should use an xdr_stream
    SUNRPC: Add a helper function xdr_inline_peek
    NFS: remove readdir plus limit
    ...

    Linus Torvalds
     
  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (163 commits)
    omap: complete removal of machine_desc.io_pg_offst and .phys_io
    omap: UART: fix wakeup registers for OMAP24xx UART2
    omap: Fix spotty MMC voltages
    ASoC: OMAP4: MCPDM: Remove unnecessary include of plat/control.h
    serial: omap-serial: fix signess error
    OMAP3: DMA: Errata i541: sDMA FIFO draining does not finish
    omap: dma: Fix buffering disable bit setting for omap24xx
    omap: serial: Fix the boot-up crash/reboot without CONFIG_PM
    OMAP3: PM: fix scratchpad memory accesses for off-mode
    omap4: pandaboard: enable the ehci port on pandaboard
    omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set
    omap4: pandaboard: remove unused hsmmc definition
    OMAP: McBSP: Remove null omap44xx ops comment
    OMAP: McBSP: Swap CLKS source definition
    OMAP: McBSP: Fix CLKR and FSR signal muxing
    OMAP2+: clock: reduce the amount of standard debugging while disabling unused clocks
    OMAP: control: move plat-omap/control.h to mach-omap2/control.h
    OMAP: split plat-omap/common.c
    OMAP: McBSP: implement functional clock switching via clock framework
    OMAP: McBSP: implement McBSP CLKR and FSR signal muxing via mach-omap2/mcbsp.c
    ...

    Fixed up trivial conflicts in arch/arm/mach-omap2/
    {board-zoom-peripherals.c,devices.c} as per Tony

    Linus Torvalds
     
  • …t/khilman/linux-davinci

    * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (50 commits)
    davinci: fix remaining board support after io_pgoffst removal
    davinci: mityomapl138: make file local data static
    arm/davinci: remove duplicated include
    davinci: Initial support for Omapl138-Hawkboard
    davinci: MityDSP-L138/MityARM-1808 read MAC address from I2C Prom
    davinci: add tnetv107x touchscreen platform device
    input: add driver for tnetv107x touchscreen controller
    davinci: add keypad config for tnetv107x evm board
    davinci: add tnetv107x keypad platform device
    input: add driver for tnetv107x on-chip keypad controller
    net: davinci_emac: cleanup unused cpdma code
    net: davinci_emac: switch to new cpdma layer
    net: davinci_emac: separate out cpdma code
    net: davinci_emac: cleanup unused mdio emac code
    omap: cleanup unused davinci mdio arch code
    davinci: cleanup mdio arch code and switch to phy_id
    net: davinci_emac: switch to new mdio
    omap: add mdio platform devices
    davinci: add mdio platform devices
    net: davinci_emac: separate out davinci mdio
    ...

    Fix up trivial conflict in drivers/input/keyboard/Kconfig (two entries
    added next to each other - one from the davinci merge, one from the
    input merge)

    Linus Torvalds
     
  • * 'for-linus' of git://git.open-osd.org/linux-open-osd:
    exofs: Remove inode->i_count manipulation in exofs_new_inode
    fs/exofs: typo fix of faild to failed
    exofs: Set i_mapping->backing_dev_info anyway
    exofs: Cleaup read path in regard with read_for_write

    Linus Torvalds