27 Oct, 2010

11 commits

  • Keep the current interface but ignore the KM_type and use a stack based
    approach.

    The advantage is that we get rid of crappy code like:

    #define __KM_PTE \
    (in_nmi() ? KM_NMI_PTE : \
    in_irq() ? KM_IRQ_PTE : \
    KM_PTE0)

    and in general can stop worrying about what context we're in and what kmap
    slots might be appropriate for that.

    The downside is that FRV kmap_atomic() gets more expensive.

    For now we use a CPP trick suggested by Andrew:

    #define kmap_atomic(page, args...) __kmap_atomic(page)

    to avoid having to touch all kmap_atomic() users in a single patch.

    [ not compiled on:
    - mn10300: the arch doesn't actually build with highmem to begin with ]

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: fix up drivers/gpu/drm/i915/intel_overlay.c]
    Acked-by: Rik van Riel
    Signed-off-by: Peter Zijlstra
    Acked-by: Chris Metcalf
    Cc: David Howells
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Steven Rostedt
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: David Miller
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Dave Airlie
    Cc: Li Zefan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • Ensure kmap_atomic() usage is strictly nested

    Signed-off-by: Peter Zijlstra
    Reviewed-by: Rik van Riel
    Acked-by: Chris Metcalf
    Cc: David Howells
    Cc: Hugh Dickins
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Steven Rostedt
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: David Miller
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Zijlstra
     
  • For NUMA node systems it is important to have visibility in memory
    characteristics. Two of the /proc/vmstat values "nr_written" and
    "nr_dirtied" are added here.

    # cat /sys/devices/system/node/node20/vmstat
    nr_written 0
    nr_dirtied 0

    Signed-off-by: Michael Rubin
    Reviewed-by: Wu Fengguang
    Cc: Dave Chinner
    Cc: Jens Axboe
    Cc: KOSAKI Motohiro
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Rubin
     
  • Unloading ipmi module can trigger following error. (if
    CONFIG_DEBUG_SPINLOCK=y)

    [ 9633.779590] BUG: spinlock bad magic on CPU#1, rmmod/7170
    [ 9633.779606] lock: f41f5414, .magic: 00000000, .owner:
    /-1, .owner_cpu: 0
    [ 9633.779626] Pid: 7170, comm: rmmod Not tainted
    2.6.36-rc7-11474-gb71eb1e-dirty #328
    [ 9633.779644] Call Trace:
    [ 9633.779657] [] ? printk+0x18/0x1c
    [ 9633.779672] [] spin_bug+0xa3/0xf0
    [ 9633.779685] [] do_raw_spin_lock+0x7d/0x160
    [ 9633.779702] [] ? release_sysfs_dirent+0x47/0xb0
    [ 9633.779718] [] ? sysfs_addrm_finish+0xa8/0xd0
    [ 9633.779734] [] _raw_spin_lock_irqsave+0xc/0x20
    [ 9633.779752] [] cleanup_one_si+0x6a/0x200 [ipmi_si]
    [ 9633.779768] [] ? sysfs_hash_and_remove+0x72/0x80
    [ 9633.779786] [] ipmi_pnp_remove+0xd/0xf [ipmi_si]
    [ 9633.779802] [] pnp_device_remove+0x1b/0x40

    Fix this by initializing spinlocks in a smi_info_alloc() helper function,
    right after memory allocation and clearing.

    Signed-off-by: Eric Dumazet
    Acked-by: David Miller
    Cc: Yinghai Lu
    Acked-by: Corey Minyard
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     
  • This is a bug fix. Some SPI connected devices using 16/24 bit accesses,
    previously failed, now work.

    This typo slipped in after testing, during some restructuring.

    Signed-off-by: Michael Hennerich
    Cc: Mike Frysinger
    Cc: Chris Verges
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Hennerich
     
  • …structures have been torn down

    Under some workloads, some channel messages have been observed being
    delayed on the sending side past the point where the receiving side has
    been able to tear down its partition structures.

    This condition is already detected in xpc_handle_activate_IRQ_uv(), but
    that information is not given to xpc_handle_activate_mq_msg_uv(). As a
    result, xpc_handle_activate_mq_msg_uv() assumes the structures still exist
    and references them, causing a NULL-pointer deref.

    Signed-off-by: Robin Holt <holt@sgi.com>
    Cc: <stable@kernel.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

    Robin Holt
     
  • * git://git.infradead.org/battery-2.6:
    power_supply: Makefile cleanup
    bq27x00_battery: Add missing kfree(di->bus) in bq27x00_battery_remove()
    power_supply: Introduce maximum current property
    power_supply: Add types for USB chargers
    ds2782_battery: Fix units
    power_supply: Add driver for TWL4030/TPS65950 BCI charger
    bq20z75: Add support for more power supply properties
    wm831x_power: Add missing kfree(wm831x_power) in wm831x_power_remove()
    jz4740-battery: Add missing kfree(jz_battery) in jz_battery_remove()
    ds2760_battery: Add missing kfree(di) in ds2760_battery_remove()
    olpc_battery: Fix endian neutral breakage for s16 values
    ds2760_battery: Fix W1 and W1_SLAVE_DS2760 dependency
    pcf50633-charger: Add missing sysfs_remove_group()
    power_supply: Add driver for TI BQ20Z75 gas gauge IC
    wm831x_power: Remove duplicate chg mask
    omap: rx51: Add support for USB chargers
    power_supply: Add isp1704 charger detection driver

    Linus Torvalds
     
  • * 'linux_next' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/i7core: (34 commits)
    i7core_edac: return -ENODEV when devices were already probed
    i7core_edac: properly terminate pci_dev_table
    i7core_edac: Avoid PCI refcount to reach zero on successive load/reload
    i7core_edac: Fix refcount error at PCI devices
    i7core_edac: it is safe to i7core_unregister_mci() when mci=NULL
    i7core_edac: Fix an oops at i7core probe
    i7core_edac: Remove unused member channels in i7core_pvt
    i7core_edac: Remove unused arg csrow from get_dimm_config
    i7core_edac: Reduce args of i7core_register_mci
    i7core_edac: Introduce i7core_unregister_mci
    i7core_edac: Use saved pointers
    i7core_edac: Check probe counter in i7core_remove
    i7core_edac: Call pci_dev_put() when alloc_i7core_dev() failed
    i7core_edac: Fix error path of i7core_register_mci
    i7core_edac: Fix order of lines in i7core_register_mci
    i7core_edac: Always do get/put for all devices
    i7core_edac: Introduce i7core_pci_ctl_create/release
    i7core_edac: Introduce free_i7core_dev
    i7core_edac: Introduce alloc_i7core_dev
    i7core_edac: Reduce args of i7core_get_onedevice
    ...

    Linus Torvalds
     
  • * 'for_linus' of git://github.com/at91linux/linux-2.6-at91:
    AT91: rtc: enable built-in RTC in Kconfig for at91sam9g45 family
    at91/atmel-mci: inclusion of sd/mmc driver in at91sam9g45 chip and board
    AT91: pm: make sure that r0 is 0 when dealing with cache operations
    AT91: pm: use plain cpu_do_idle() for "wait for interrupt"
    AT91: reset: extend alternate reset procedure to several chips
    AT91: reset routine cleanup, remove not needed icache flush
    AT91: trivial: align comment of at91sam9g20_reset with one more tab
    AT91: Fix AT91SAM9G20 reset as per the errata in the data sheet
    AT91: add board support for Pcontrol_G20

    Linus Torvalds
     
  • * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
    OMAP: DSS2: don't power off a panel twice
    OMAP: DSS2: OMAPFB: Allow usage of def_vrfb only for omap2,3
    OMAP: DSS2: OMAPFB: make VRFB depends on OMAP2,3
    OMAP: DSS2: OMAPFB: Allow FB_OMAP2 to build without VRFB
    arm/omap: simplify conditional
    OMAP: DSS2: DSI: Remove extra iounmap in error path
    OMAP: DSS2: Use dss_features framework on DSS2 code
    OMAP: DSS2: Introduce dss_features files
    video/omap: remove mux.h include
    ARM: omap/fb: move get_fbmem_region() to .init.text
    ARM: omap/fb: move omapfb_reserve_sram to .init.text
    ARM: omap/fb: move omap_init_fb to .init.text
    OMAP: DSS2: OMAPFB: swap front and back porches for both hsync and vsync
    OMAP: DSS2: make filter coefficient tables human readable
    OMAP: DSS2: Add SPI dependency to Kconfig of ACX565AKM panel

    Linus Torvalds
     
  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
    [CPUFREQ]: x86, cpufreq: Mark longrun_get_policy with __cpuinit.
    [CPUFREQ] add sampling_down_factor tunable to improve ondemand performance
    [CPUFREQ] arch/x86/kernel/cpu/cpufreq: Fix unsigned return type
    [CPUFREQ] drivers/cpufreq: Adjust confusing if indentation

    Linus Torvalds
     

26 Oct, 2010

29 commits

  • Enable built-in RTC IP in Kconfig and modify comments and help messages.
    RTT as RTC is still available but should not be selected in common case.

    Reported-by: Yegor Yefremov
    Signed-off-by: Nicolas Ferre

    Nicolas Ferre
     
  • This adds the support of atmel-mci sd/mmc driver in at91sam9g45 devices and
    board files. This also configures the DMA controller slave interface for
    at_hdmac dmaengine driver.

    Signed-off-by: Nicolas Ferre

    Nicolas Ferre
     
  • * '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
     
  • 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
     
  • 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
     
  • 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