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 -
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 -
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 0Signed-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 -
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/0x40Fix 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 -
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 -
…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> -
* 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 -
* '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
... -
* '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 -
* '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 -
* '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
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 -
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
-
* '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 -
* '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 -
avoids derefencing an uninitialized pointer
Change-Id: Icf528441ae481e9f6f5ddc0be32c7c217fa49701
Signed-off-by: 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
... -
* '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
... -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 PielSigned-off-by: Guenter Roeck
-
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 -
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 -
"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 -
... as they're being called only from a __cpuinit function.
Signed-off-by: Jan Beulich
Signed-off-by: Guenter Roeck