summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2009-01-06pci: use pci_ioremap_bar() in drivers/edacArjan van de Ven
Use the newly introduced pci_ioremap_bar() function in drivers/edac. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Acked-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06random: don't try to look at entropy_count outside the lockMatt Mackall
As a non-atomic value, it's only safe to look at entropy_count when the pool lock is held, so we move the BUG_ON inside the lock for correctness. Also remove the spurious comment. It's ok for entropy_count to temporarily exceed POOLBITS so long as it's left in a consistent state when the lock is released. This is a more correct, simple, and idiomatic fix for the bug in 8b76f46a2db. I've left the reorderings introduced by that patch in place as they're harmless, even though they don't properly deal with potential atomicity issues. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06consolemap: indentation & braces disagree - reindentIlpo Järvinen
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rapidio: remove excess kernel-doc notationRandy Dunlap
Remove excess kernel-doc notation from rio header and driver: Warning(include/linux/rio_drv.h:399): Excess function parameter or struct member 'buffer' description in 'rio_get_inb_message' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06fbdev/logo: check compatibility of main and extra logosGeert Uytterhoeven
The code to draw penguin logos always uses some properties of the main logo. This is incorrect if additional logos (CONFIG_FB_LOGO_EXTRA=y) have different types than the main logo, which causes corrupted logo images. http://bugzilla.kernel.org/show_bug.cgi?id=12181 Hence skip additional logos that are not compatible with the main logo. Technically, it's possible to draw multiple logos of different types on truecolor displays, but this would complicate the (already quite complicated) logo drawing code even more. This patch fixes a problem with Debian's linux-image-2.6.26-1-powerpc64 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508173 Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06sm501: unsigned ptr cannot be negativeroel kluin
unsigned ptr cannot be negative Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Cc: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06intelfb: fix sparse warningsHannes Eder
Fix this sparse warnings: drivers/video/intelfb/intelfbdrv.c:1497:3: warning: returning void-valued expression drivers/video/intelfb/intelfbdrv.c:1525:3: warning: returning void-valued expression drivers/video/intelfb/intelfbdrv.c:1544:3: warning: returning void-valued expression drivers/video/intelfb/intelfbdrv.c:1558:3: warning: returning void-valued expression Signed-off-by: Hannes Eder <hannes@hanneseder.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06i810: fix sparse warningsHannes Eder
Fix this sparse warnings: drivers/video/i810/i810_accel.c:305:3: warning: returning void-valued expression drivers/video/i810/i810_accel.c:331:3: warning: returning void-valued expression drivers/video/i810/i810_accel.c:370:3: warning: returning void-valued expression Signed-off-by: Hannes Eder <hannes@hanneseder.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06neofb: fix sparse warningsHannes Eder
Fix this sparse warnings: drivers/video/neofb.c:1456:4: warning: returning void-valued expression drivers/video/neofb.c:1464:3: warning: returning void-valued expression Signed-off-by: Hannes Eder <hannes@hanneseder.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06pm3fb: fix sparse warningHannes Eder
Fix this sparse warning: drivers/video/pm3fb.c:543:3: warning: returning void-valued expression Signed-off-by: Hannes Eder <hannes@hanneseder.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06viafb: fix sparse warningsHannes Eder
Fix this sparse warnings: drivers/video/via/viafbdev.c:871:3: warning: returning void-valued expression drivers/video/via/viafbdev.c:938:3: warning: returning void-valued expression drivers/video/via/viafbdev.c:995:3: warning: returning void-valued expression Signed-off-by: Hannes Eder <hannes@hanneseder.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06nvidia: fix sparse warningsHannes Eder
Fix this sparse warnings: drivers/video/nvidia/nv_accel.c:304:3: warning: returning void-valued expression drivers/video/nvidia/nv_accel.c:323:3: warning: returning void-valued expression Signed-off-by: Hannes Eder <hannes@hanneseder.net> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06gbefb: unsigned var->pixclock cannot be less than 0roel kluin
unsigned var->pixclock cannot be less than 0 Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06fb: carminefb: trivial annotation packing color registerHarvey Harrison
drivers/video/carminefb.c:171:41: warning: cast to restricted __be32 Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06blackfin: remove __FUNCTION__ in video driverHarvey Harrison
__FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Acked-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06fbdev: fix typo in drivers/video/modedb.cJiri Moravec
When I viewed drivers/video/modedb.c, I noticed a very old typo already contained in 2.6.0. This typo remained unheeded at least 5 years. Clear evidence of its importance. ;) Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06pci: use pci_ioremap_bar() in drivers/videoArjan van de Ven
Use the newly introduced pci_ioremap_bar() function in drivers/video. pci_ioremap_bar() just takes a pci device and a bar number, with the goal of making it really hard to get wrong, while also having a central place to stick sanity checks. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Cc: Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06gpio: pca953x handles more chips, i2c fault codesDavid Brownell
Minor updates to the pca953x GPIO expander driver: handle several more compatible parts, and stop assuming that the I2C layer's return codes are garbage (that's now been fixed). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Cc: Eric Miao <eric.miao@marvell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06twl4030-gpio: cleanup debounceDavid Brownell
Provide a static debounce configuration mechanism for twl4030 GPIOs, replacing the previous dynamic one. The single user of that mechanism was for MMC card detect debouncing. Boards can provide a bitmask saying which GPIOs to debounce (30 msec). It's always enabled for pins with the MMC card-detect/VMMCx link active, so most boards won't need to set the debounce mask. This is a net code shrink, including runtime footprint. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06drivers/rtc: correct an error testJulia Lawall
rtc is clearly does not satisfy IS_ERR at the point where it is tested, so I have changed the test to consider the just initialized rtc->rtc_dev. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @match exists@ expression x, E; identifier fld; position p1,p2; @@ ( x = E; | x = E | x@p1->fld ... when != x = E IS_ERR(x@p2) ... when any ) @other_match exists@ expression match.x, E1, E2; position match.p1,match.p2; @@ x = E1 ... when != x = E2 when != x@p1 x@p2 @ script:python depends on !other_match@ p1 << match.p1; p2 << match.p2; @@ print "* file %s dereference %s test %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Cc: Bryan Wu <bryan.wu@analog.com> Cc: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: driver for Marvell's SoCs 88F6281 and 88F6192Saeed Bishara
Driver for the on-chip RTC found in some of Marvell's SoCs such as the Kirkwood 88F6281 and 88F6192 devices. Signed-off-by: Saeed Bishara <saeed@marvell.com> Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com> Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: rtc-ds1216 fixesAlessandro Zummo
Fixes a few issues with the rtc-ds1216 driver - use rtc_valid_tm - use platform_driver_probe - fix init sequence - it was using rtc_unregister_driver where not needed. I also added resource_size and removed an useless pointer assignment. Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Tested-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: add rtc-tx4939 driverAtsushi Nemoto
Add support for RTC in TX4939 SoC. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: use set_mmss when set_time is not availableAlessandro Zummo
Drivers should only need to implement either set_mmss (counter based RTCs) or set_time (most RTCs). The RTC subsystem will handle them appropriately. Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: Kumar Gala <galak@kernel.crashing.org> Cc: David Brownell <david-b@pacbell.net> Cc: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: rtc-ds3234 fixesAlessandro Zummo
- no changelogs in code - no banners - use local buffers - fix probe sequence - do not init .driver.bus Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: Dennis Aberilla <denzzzhome@yahoo.com> Acked-by: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: rtc-max6902 fixesAlessandro Zummo
- no changelogs in code - no banners - use local buffers - fix probe sequence - fixed style issues - fix spi_write call - removed old debug code replaces http://patchwork.ozlabs.org/patch/9421/ and http://patchwork.ozlabs.org/patch/9455/ Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Acked-by: David Brownell <david-b@pacbell.net> Cc: Raphael Assenat <raph@raphnet.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: Au1000 On-Chip Counter0-as-RTC driver.Manuel Lauss
Simple driver which uses the Au1xxx Time-Of-Year counter (counter0) as a 1Hz RTC. [akpm@linux-foundation.org: repair Kconfig] Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: kconfig cleanupAlessandro Zummo
Remove double spaces and adds some suggestions. It also fixes the descriptions of options that are no more available as modules. Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: rtc-ds1390 probe sequence and misc fixesAlessandro Zummo
Small fixes for the ds1390 driver - fixed initialization of the spi device - added missing includes - removed printks - removed useless wrappers for rtc ops - removed dead code Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: Mark Jackson <mpfj@mimc.co.uk> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: pxa27x/pxa3xx driver fixes, revisedAlessandro Zummo
Small fixes for the pxa27x/pxa3xx driver - use platform_driver_probe - fixed exit paths - fixed probe sequence - added missing include - using linux/io.h instead of asm/io.h Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Tested-by: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Jonathan Cameron <jic23@cam.ac.uk> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: driver for pxa27x and pxa3xx SoCRobert Jarzmik
With PXA27x and above, a new RTC hardware block was added in addition to the legacy one which is also found on the SA1100 SOC family. This second RTC block is called "wristwatch" and "periodic interrupt" and works independently from the other RTC block. The driver offers provides : - a 1Hz ticking clock - a periodic alarm, in the 1Hz to 1000Hz range - a one shot alarm Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr> Cc: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: move power of 2 periodic frequency check down into driversJonathan Cameron
Move the power of 2 check on frequencies down into individual rtc drivers This is to allow for non power of 2 real time clock periodic interrupts such as those on the pxa27x to be found in the new pxa27x-rtc driver Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: bunch of drivers: fix 'no irq' case handingAnton Vorontsov
This patch fixes a bunch of irq checking misuses. Most drivers were getting irq via platform_get_irq(), which returns -ENXIO or r->start. rtc-cmos.c is special. It is using PNP and platform bindings. Hopefully nobody is using PNP IRQ 0 for RTC. So the changes should be safe. rtc-sh.c is using platform_get_irq, but was storing a result into an unsigned type, then was checking for < 0. This is fixed now. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06rtc: struct device: replace bus_id with dev_name(), dev_set_name()Kay Sievers
Acked-by: Alessandro Zummo <a.zummo@towertech.it> Acked-By: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06genrtc: disable genrtc on Blackfin systemsMike Frysinger
Blackfin platforms do not support the hardware which this driver drives. Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06i2o: remove extraneous kernel-docRandy Dunlap
Remove excess kernel-doc function parameter notation from i2o/. Warning(drivers/message/i2o/iop.c:64): Excess function parameter 'msg' description in 'i2o_msg_get_wait' Warning(drivers/message/i2o/device.c:62): Excess function parameter 'drv' description in 'i2o_device_claim' Warning(drivers/message/i2o/device.c:95): Excess function parameter 'drv' description in 'i2o_device_claim_release' Warning(drivers/message/i2o/driver.c:186): Excess function parameter 'msg' description in 'i2o_driver_dispatch' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06drivers/spi: move a dereference below a NULL testJulia Lawall
In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ type T; expression E; identifier i,fld; statement S; @@ - T i = E->fld; + T i; ... when != E when != i if (E == NULL) S + i = E->fld; // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06spi: use generic gpio calls in spi_s3c24xx_gpioBen Dooks
Change the spi_s3c2410 driver to use the generic gpio calls that are now available. Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06spi: atmel_spi update chipselect handlingHaavard Skinnemoen
This solves several issues: * It fixes the wrong idle clock polarity issue in a cleaner and less expensive way. * It handles the AT32AP7000 errata "SPI Chip Select 0 BITS field overrides other Chip Selects". Other chips, e.g. AT91SAM9261, have similar issues. Currently, the AT91RM9200 code path is left alone. But it might be interesting to try the same technique on RM9200 using a different CSR register. [dbrownell@users.sourceforge.net: restore debug message for activation] Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06atmel_spi: clean up SPIv1 quirk handlingHaavard Skinnemoen
Currently, we have a flag called "new_1" which is basically equivalent to cpu_is_at91rm9200(). The latter is also called directly a few places. Clean up this mess by introducing a atmel_spi_v2() function for determining the controller version, and move all version dependent code over to use it. This allows us to remove the new_1 flag. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06spi_gpio driverDavid Brownell
Generalize the old at91rm9200 "bootstrap" bitbanging SPI master driver as "spi_gpio", so it works with arbitrary GPIOs and can be configured through platform_data. Such SPI masters support: - any number of bus instances (bus_num is the platform_device.id) - any number of chipselects (one GPIO per spi_device) - all four SPI_MODE values, and SPI_CS_HIGH - i/o word sizes from 1 to 32 bits; - devices configured as with any other spi_master controller When configured using platform_data, this provides relatively low clock rates. On platforms that support inlined GPIO calls, significantly improved transfer speeds are also possible with a semi-custom driver. (It's still painful when accessing flash memory, but less so.) Sanity checked by using this version to replace both native controllers on a board with six different SPI slaves, relying on three different SPI_MODE_* values and both SPI_CS_HIGH settings for correct operation. [akpm@linux-foundation.org: cleanups] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Acked-by: Magnus Damm <damm@igel.co.jp> Tested-by: Magnus Damm <damm@igel.co.jp> Cc: Torgil Svensson <torgil.svensson@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06dmi: fix kernel-doc notationRandy Dunlap
Add missing kernel-doc notation: drivers/firmware/dmi_scan.c:475: No description found for parameter 'str' drivers/firmware/dmi_scan.c:592: No description found for parameter 'f' drivers/firmware/dmi_scan.c:592: No description found for parameter 'str' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06ibmpex: add endian annotation to extract_data() helperHarvey Harrison
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: "Darrick J. Wong" <djwong@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06hwmon: applesmc: Add support for MacBook Air 2Henrik Rydberg
Add temperature sensor support for MacBook Air 2. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Cc: Nicolas Boichat <nicolas@boichat.ch> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06drivers/macintosh: Add missing of_node_put in therm_adt746x.cNicolas Palix
of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r exists@ local idexpression struct device_node *n; position p1, p2; struct device_node *n1; statement S; identifier f; expression E; expression *ptr != NULL; @@ n@p1 = of_find_node_by_name(...) ... if (!n) S ... when != of_node_put(n) when != n1 = f(n,...) when != E = n when any when strict ( return \(0\|<+...n...+>\|ptr\); | return@p2 ...; | of_node_put(n); | n1 = f(n,...) | E = n ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s of_find_node_by_name %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: Nicolas Palix <npalix@diku.dk> Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06adt7470: make automatic fan control really workDarrick J. Wong
It turns out that the adt7470's automatic fan control algorithm only works when the temperature sensors get updated. This in turn happens only when someone tells the chip to read its temperature sensors. Regrettably, this means that we have to drive the chip periodically. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06adt7470: observe the number of temperature sensors to shorten update timeDarrick J. Wong
The adt7470 driver currently assumes that 1s is the proper time to wait to read all temperature sensors. However, the correct time is 200ms * number_of_sensors. This patch sets the default time to provide for 10 sensors and then lowers it based on the number of sensor inputs that have nozero values. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06adt7470: fix pwm at a certain level during temperature sensor scanDarrick J. Wong
In the small window that it takes to read the temperature sensors, the pwm outputs momentarily drop to 0. This causes a noticeable hiccup in fan speed, which is slightly annoying. The solution is to manually program the pwm output with whatever the automatic value is and then shift the fans to manual control while reading temperatures. Once that is done, put the fans back to whatever mode of control was there before. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06adt74{62, 70, 73}: Use DIV_ROUND_CLOSEST for rounded divisionDarrick J. Wong
Modify some hwmon drivers to use DIV_ROUND_CLOSEST instead of bloating source with (naughty) macros. Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-01-06sysrq: more explicit, less terse help messagesRandy Dunlap
Eliminate sysrq terse help mode; make sysrq help messages more meaningful (more explicit/verbose). Make the sysrq action letter clearer by listing it explicitly in more sysrq help messages (when it is not simple/clear). The SysRq help message now looks like this: SysRq : HELP : loglevel(0-9) reBoot terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I) saK show-backtrace-all-active-cpus(L) show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) Addresses http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=330403. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: <jidanni@jidanni.org> Cc: <330403@bugs.debian.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>