aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-03-07mfd: Add HTCPLD driverCory Maccarrone4-0/+744
This change introduces a driver for the HTC PLD chip found on some smartphones, such as the HTC Wizard and HTC Herald. It works through the I2C bus and acts as a GPIO extender. Specifically: * it can have several sub-devices, each with its own I2C address * Each sub-device provides 8 output and 8 input pins * The chip attaches to one GPIO to signal when any of the input GPIOs change -- at which point all chips must be scanned for changes This driver implements the GPIOs throught the kernel's GPIO and IRQ framework. This allows any GPIO-servicing drivers to operate on htcpld pins, such as the gpio-keys and gpio-leds drivers. Signed-off-by: Cory Maccarrone <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07regulator: Add max8925 supportHaojian Zhuang3-0/+313
MAX8925 contains 3 Buck and 20 LDO regulator. Signed-off-by: Haojian Zhuang <[email protected]> Acked-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07backlight: Enable max8925 backlightHaojian Zhuang3-0/+208
Enable max8925 backlight sub device. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Add subdevs in max8925Haojian Zhuang3-0/+239
Add subdevs in MAX8925. MAX8925 includes regulator, backlight and touch components. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Initial max8925 supportHaojian Zhuang5-0/+602
Basic Max8925 support, which is a power management IC from Maxim Semiconductor. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07regulator: Unsupport 88pm8607 A0 and A1Haojian Zhuang1-213/+77
Remove the support 88PM8607 A0/A1 stepping. There's some register definition changes in B0 stepping. It can make software more efficient. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07input: Enable touch on 88pm860xHaojian Zhuang4-0/+255
Enable touchscreen driver for the 88pm860x multi function core. Signed-off-by: Haojian Zhuang <[email protected]> Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07led: Enable led in 88pm860xHaojian Zhuang3-0/+333
Enable led sub device in Marvell 88PM860x. Two LED arrays can be supported. Each LED array can be used for R,G,B leds. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07backlight: Enable backlight in 88pm860xHaojian Zhuang3-0/+311
At most, three backlight device can be supported in 88pm860x driver. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Append subdev into 88pm860x driverHaojian Zhuang2-12/+356
Append backlight, led & touch subdevs into 88pm860x driver. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Add irq support in 88pm860xHaojian Zhuang2-33/+247
88PM860x is a complex PMIC device. It contains touch, charger, sound, rtc, backlight, led, and so on. Host communicates to 88PM860x by I2C bus. Use thread irq to support this usage case. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Rename 88pm8607 to 88pm860x in mfdHaojian Zhuang3-12/+13
Rename 88PM8607 to 88PM860X in both Makefile and Kconfig under mfd directory. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Support 88pm8606 in 860x driverHaojian Zhuang4-114/+203
88PM8606 and 88PM8607 are two discrete chips used for power management. Hardware designer can use them together or only one of them according to requirement. There's some logic tightly linked between these two chips. For example, USB charger driver needs to access both chips by I2C interface. Now share one driver to these two devices. Only one I2C client is identified in platform init data. If another chip is also used, user should mark it in companion_addr field of platform init data. Then driver could create another I2C client for the companion chip. All I2C operations are accessed by 860x-i2c driver. In order to support both I2C client address, the read/write API is changed in below. reg_read(client, offset) reg_write(client, offset, data) The benefit is that client drivers only need one kind of read/write API. I2C and MFD driver can be shared in both 8606 and 8607. Since API is changed, update API in 8607 regulator driver. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Split 88pm8607 driverHaojian Zhuang5-306/+346
Create 88pm8607-i2c driver to support all I2C operation of 88PM8607. Signed-off-by: Haojian Zhuang <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Convert AB3100 driver to threaded IRQLinus Walleij2-33/+13
This converts the AB3100 core MFD driver to use a threaded interrupt handler instead of the explicit top/bottom-half construction with a workqueue. This saves some code and make it more similar to other modern MFD drivers. Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07gpiolib: Add support for WM8350 GPIO controllerMark Brown5-0/+192
Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Update WM8350 drivers for changed interrupt numbersMark Brown2-3/+3
The headphone detect and charger are using the IRQ numbers so need to take account of irq_base with the genirq conversion. I obviously picked the wrong system for initial testing. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Don't allow WM8350 to be built modularMark Brown1-3/+3
The genirq implementation does not allow modules to implement irq_chips so the conversion of WM8350 to genirq means we can no longer allow the driver to be built as a module. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Convert WM8350 to genirqMark Brown2-81/+118
This gives us use of the diagnostic facilities genirq provides and will allow implementation of interrupt support for the WM8350 GPIOs. Stub functions are provided to ease the transition of the individual drivers, probably after additional work to pass the IRQ numbers via the struct devices. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07rtc: Suppress duplicate enable/disable of WM8350 update interruptMark Brown2-0/+8
Unlike the wm8350-custom code genirq nests enable and disable calls so we can't just unconditionally mask or unmask the interrupt, we need to remember the state we set and only mask or unmask when there is a real change. Signed-off-by: Mark Brown <[email protected]> Acked-by: Alessandro Zummo <[email protected]> Cc: [email protected] Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Add a data argument to the WM8350 IRQ free functionMark Brown6-19/+20
To better match genirq. Signed-off-by: Mark Brown <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Correct use after free for t7l66xbJulia Lawall1-1/+1
The structure t7l66xb should not be freed before the subsequent references to its fields in the arguments to clk_put. Furthermore, this structure is allocated near the beginning of the function, and a goto to the label err_noirq appears after a successful allocation, so it would seem that the kfree should be moved down below this label. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,e; identifier f; iterator I; statement S; @@ *kfree(x); ... when != &x when != x = e when != I(x,...) S *x->f // </smpl> Signed-off-by: Julia Lawall <[email protected]>
2010-03-07mfd: Use resouce_size for tc6393xbH Hartley Sweeten1-1/+1
Use resource_size() for ioremap. Signed-off-by: H Hartley Sweeten <[email protected]> Cc: Ian Molton <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Use resource_size() for t7l66xbH Hartley Sweeten1-1/+1
Use resource_size() for ioremap. Signed-off-by: H Hartley Sweeten <[email protected]> Cc: Ian Molton <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07mfd: Use resource_size() in sm501H Hartley Sweeten1-4/+3
The requested memory region is smaller than the actual ioremap(). Use resource_size() to get the correct size. Signed-off-by: H Hartley Sweeten <[email protected]> Cc: Ben Dooks <[email protected]> Signed-off-by: Samuel Ortiz <[email protected]>
2010-03-07Merge branch 'next' of ↵Linus Torvalds5-0/+844
git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix cast warning in pcc driver. [CPUFREQ] Processor Clocking Control interface driver
2010-03-07USB: remove unused defintion of struct usb_device_statusDmitry Torokhov1-5/+0
The recent rework of /proc/bus/usb/devices polling support made this structure unused so let's remove it. Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-07Revert "lib: build list_sort() only if needed"Linus Torvalds4-7/+1
This reverts commit a069c266ae5fdfbf5b4aecf2c672413aa33b2504. It turns ou that not only was it missing a case (XFS) that needed it, but perhaps more importantly, people sometimes want to enable new modules that they hadn't had enabled before, and if such a module uses list_sort(), it can't easily be inserted any more. So rather than add a "select LIST_SORT" to the XFS case, just leave it compiled in. It's not all _that_ big, after all, and the inconvenience isn't worth it. Requested-by: Alexey Dobriyan <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: Don Mullis <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Dave Chinner <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-07[WATCHDOG] drivers/watchdog/wdt.c:wdt_ioctl(): make `ident' non-staticAndrew Morton2-2/+2
Making this instance static exposes the code to SMP races, etc. Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2010-03-07[WATCHDOG] change reboot_notifier to platform-shutdown method.Wim Van Sebroeck2-56/+21
Platform device drivers can use the .shutdown method to handle soft shutdown's instead of reboot_notifier's. Signed-off-by: Wim Van Sebroeck <[email protected]>
2010-03-07[WATCHDOG] watchdog_info constifyWim Van Sebroeck52-53/+53
make the watchdog_info struct const where possible. Signed-off-by: Wim Van Sebroeck <[email protected]>
2010-03-07ALSA: hda - Add ASRock mobo to MSI blacklistMichele Ballabio1-0/+1
This avoids a lockup at boot. Signed-off-by: Michele Ballabio <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2010-03-07Merge branch 'fix/hda' into topic/hdaTakashi Iwai1-7/+4
2010-03-06vsprintf: move %pR resource printf_specs off the stackBjorn Helgaas1-21/+24
This adds separate I/O and memory specs, so we don't have to change the field width in a shared spec, which then lets us make all the specs const and static, since they never change. Signed-off-by: Bjorn Helgaas <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06vsprintf: clarify comments for printf_spec flagsBjorn Helgaas1-2/+2
Add clues about what the SMALL and SPECIAL flags do. Signed-off-by: Bjorn Helgaas <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06vsprintf.c: Reduce sizeof struct printf_spec from 24 to 8 bytesJoe Perches1-10/+12
Reducing the size of struct printf_spec is a good thing because multiple instances are commonly passed on stack. It's possible for type to be u8 and field_width to be s8, but this is likely small enough for now. Signed-off-by: Joe Perches <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06usbfs: fix deadlock on 'usbfs_mutex', clean up pollLinus Torvalds1-42/+24
The caller of usbfs_conn_disc_event() in some cases (but not always) already holds usbfs_mutex, so trying to protect the event counter with that lock causes nasty deadlocks. The problem was introduced by commit 554f76962d ("USB: Remove BKL from poll()") when the BLK protection was turned into using the mutex instead. So fix this by using an atomic variable instead. And while we're at it, get rid of the atrocious naming of said variable and the waitqueue it is associated with. This also cleans up the unnecessary locking in the poll routine, since the whole point of how the pollwait table works is that you can just add yourself to the waiting list, and then check the condition you're waiting for afterwards - avoiding all races. It also gets rid of the unnecessary dynamic allocation of the device status that just contained a single word. We should use f_version for this, as Dmitry Torokhov points out. That simplifies everything further. Reported-and-tested-by: Jeff Chua <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Acked-by: Alan Stern <[email protected]> Cc: Oliver Neukum <[email protected]> Cc: Dmitry Torokhov <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-03-06parisc: use __ratelimit in unaligned.cAkinobu Mita1-10/+4
Replace open-coded rate limiting logic with __ratelimit(). Signed-off-by: Akinobu Mita <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: Convert to read/update_persistent_clockjohn stultz1-16/+13
This patch converts the parisc architecture to use the generic read_persistent_clock and update_persistent_clock interfaces, reducing the amount of arch specific code we have to maintain, and allowing for further cleanups in the future. I have not built or tested this patch, so help from arch maintainers would be appreciated. Signed-off-by: John Stultz <[email protected]> Acked-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: Simplify param.h by including <asm-generic/param.h>Robert P. J. Day1-22/+1
Signed-off-by: Robert P. J. Day <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: drop unnecessary cast in __ldcw_align() macroHelge Deller1-1/+1
__ldcw_align() can directly access the slock member of struct arch_spinlock_t instead of using an ugly cast. Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: add strict copy size checks (v2)Helge Deller3-3/+41
Add CONFIG_DEBUG_STRICT_USER_COPY_CHECKS, copied from the x86 implementation. Tested with 32 and 64bit kernel. Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: remove trailing space in messagesFrans Pop3-4/+4
Signed-off-by: Frans Pop <[email protected]> Cc: [email protected] Cc: Kyle McMartin <[email protected]> Cc: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: ditto sys_accept4Kyle McMartin2-1/+3
tested with test_accept4.c from de11defebf00007677fb7ee91d9b089b78786fbb Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06parisc: wire up sys_recvmmsgHelge Deller2-1/+3
Signed-off-by: Helge Deller <[email protected]> Signed-off-by: Kyle McMartin <[email protected]>
2010-03-06Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfsLinus Torvalds26-0/+10554
* git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs: [LogFS] Change magic number [LogFS] Remove h_version field [LogFS] Check feature flags [LogFS] Only write journal if dirty [LogFS] Fix bdev erases [LogFS] Silence gcc [LogFS] Prevent 64bit divisions in hash_index [LogFS] Plug memory leak on error paths [LogFS] Add MAINTAINERS entry [LogFS] add new flash file system Fixed up trivial conflict in lib/Kconfig, and a semantic conflict in fs/logfs/inode.c introduced by write_inode() being changed to use writeback_control' by commit a9185b41a4f84971b930c519f0c63bd450c4810d ("pass writeback_control to ->write_inode")
2010-03-06PM: Provide generic subsystem-level callbacksRafael J. Wysocki5-6/+350
There are subsystems whose power management callbacks only need to invoke the callbacks provided by device drivers. Still, their system sleep PM callbacks should play well with the runtime PM callbacks, so that devices suspended at run time can be left in that state for a system sleep transition. Provide a set of generic PM callbacks for such subsystems and define convenience macros for populating dev_pm_ops structures. Signed-off-by: Rafael J. Wysocki <[email protected]>
2010-03-06PM / Runtime: Document power.runtime_auto and related functionsRafael J. Wysocki1-0/+28
The power.runtime_auto device flag and the helper functions pm_runtime_allow() and pm_runtime_forbid() used to modify it are a part of the run-time power management framework and therefore they should be described in Documentation/power/runtime_pm.txt. Signed-off-by: Rafael J. Wysocki <[email protected]>
2010-03-06Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dmLinus Torvalds17-140/+212
* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm raid1: fix deadlock when suspending failed device dm: eliminate some holes data structures dm ioctl: introduce flag indicating uevent was generated dm: free dm_io before bio_endio not after dm table: remove unused dm_get_device range parameters dm ioctl: only issue uevent on resume if state changed dm raid1: always return error if all legs fail dm mpath: refactor pg_init dm mpath: wait for pg_init completion when suspending dm mpath: hold io until all pg_inits completed dm mpath: avoid storing private suspended state dm: document when snapshot has finished merging dm table: remove dm_get from dm_table_get_md dm mpath: skip activate_path for failed paths dm mpath: pass struct pgpath to pg init done
2010-03-06Merge branch 'hwmon-for-linus' of ↵Linus Torvalds19-1579/+3335
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (23 commits) hwmon: Remove the deprecated adt7473 driver hwmon: Fix off-by-one kind values hwmon: (tmp421) Fix temperature conversions hwmon: (tmp421) Restore missing inputs hwmon: Driver for Andigilog aSC7621 family monitoring chips hwmon: (adt7411) Improve locking hwmon: Add driver for ADT7411 voltage and temperature sensor hwmon: (w83793) Add watchdog functionality hwmon: (g760a) Make rpm_from_cnt static hwmon: (it87) Validate auto pwm settings hwmon: (it87) Add support for old automatic fan speed control hwmon: (it87) Drop dead web links in documentation hwmon: (it87) Add an entry in MAINTAINERS hwmon: (it87) Use strict_strtol instead of simple_strtol hwmon: (it87) Fix many checkpatch errors and warnings hwmon: (it87) Add support for beep on alarm hwmon: (it87) Create vid attributes by group hwmon: (it87) Refactor attributes creation and removal hwmon: (it87) Expose the PWM/temperature mappings hwmon: (it87) Display fan outputs in automatic mode as such ...