11 Jan, 2012
40 commits
-
Saves a small amount of code and systematically eliminates leaks.
Signed-off-by: Mark Brown
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Saves a small amount of code and systematically eliminates leaks.
Signed-off-by: Mark Brown
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The LED id begins from 0. Thus the maximum number of leds should be
MC13783_LED_MAX + 1.Signed-off-by: Axel Lin
Acked-by: Philippe Retornaz
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
TI's TCA6507 is the LED driver in the GTA04 Openmoko motherboard. The
driver provides full support for brightness levels and hardware blinking.This driver can drive each of 7 outputs as an LED or a GPIO output,
and provides hardware-assist blinking.[akpm@linux-foundation.org: fix __mod_i2c_device_table alias]
[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: NeilBrown
Cc: Richard Purdie
Cc: Randy Dunlap
Cc: Dan Carpenter
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use gpio_request_one() instead of multiple gpiolib calls. This also
simplifies error handling a bit.Signed-off-by: Axel Lin
Cc: Simon Guinot
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Use gpio_request_one() instead of multiple gpiolib calls.
Signed-off-by: Axel Lin
Cc: Kim Kyuwon
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Axel Lin
Cc: Samu Onkalo
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Factor out some boilerplate code for spi driver registration into
module_spi_driver.Signed-off-by: Axel Lin
Cc: Haojian Zhuang
Cc: Mark Brown
Cc: Richard Purdie
Cc: Michael Hennerich
Cc: Mike Rapoport
Acked-by: Guennadi Liakhovetski
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Factor out some boilerplate code for i2c driver registration
into module_i2c_driver.Signed-off-by: Axel Lin
Cc: Haojian Zhuang
Cc: Mark Brown
Cc: Richard Purdie
Cc: Michael Hennerich
Cc: Mike Rapoport
Cc: Guennadi Liakhovetski
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Factor out some boilerplate code for platform driver registration into
module_platform_driver.Signed-off-by: Axel Lin
Acked-by: Haojian Zhuang [led-88pm860x.c]
Acked-by: Mark Brown
Cc: Richard Purdie
Cc: Michael Hennerich
Cc: Mike Rapoport
Cc: Guennadi Liakhovetski
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Should be no functional changes, mainly a reorganisation to support future
work.[akpm@linux-foundation.org: fix CONFIG_PM=n build]
Signed-off-by: Mark Brown
Cc: Richard Purdie
Cc: Florian Tobias Schandinat
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Saves some error handling code and eliminates a class of leaks.
Signed-off-by: Mark Brown
Cc: Richard Purdie
Cc: Florian Tobias Schandinat
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The usage of simple_strtoul() or strict_strtoul() is not preferred. Thus,
kstrtoul should be used.This patch also fixes checkpatch error as follows:
ERROR: space required after that ',' (ctx:VxV)Signed-off-by: Jingoo Han
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
module.h is included twice.
Signed-off-by: Jingoo Han
Acked-by: H Hartley Sweeten
Cc: Ryan Mallon
Cc: Richard Purdie
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This patch supports regulator power control in the driver. Current ld9040
driver was controlled power on/off sequence by callback function in the
board file. But, by doing this, there's no need to register lcd power
on/off callback function in the board file.Signed-off-by: Donghwa Lee
Signed-off-by: Kyungmin Park
Signed-off-by: Inki Dae
Cc: Richard Purdie
Cc: Florian Tobias Schandinat
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Convert the drivers in drivers/video/backlight/* to use the
module_platform_driver() macro which makes the code smaller and a bit
simpler.Signed-off-by: Axel Lin
Acked-by: Haojian Zhuang
Acked-by: H Hartley Sweeten [ep93xx_bl.c]
Cc: Mike Rapoport
Cc: Richard Purdie
Acked-by: Michael Hennerich
Acked-by: Mark Brown
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Support for the Avionic Design Xanthos backlight device got added in
commit 3b96ea9ef8 ("backlight: Add support for the Avionic Design Xanthos
backlight device."). That support depends on ARCH_PXA_ADX. The code that
should have provided that Kconfig symbol never got submitted. It has
never been possible to even build this driver. Remove it.Signed-off-by: Paul Bolle
Acked-by: Thierry Reding
Cc: Richard Purdie
Cc: Wim Van Sebroeck
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
As devfreq is merged at mainline. Also update the maintainer entry.
Signed-off-by: Kyungmin Park
Cc: Kevin Hilman
Cc: MyungJoo Ham
Acked-by: Rafael J. Wysocki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit ca632f55669 ("spi: reorganize drivers") renamed the files, update
the F: patterns.Signed-off-by: Joe Perches
Acked-by: Grant Likely
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 0c6967b5a0 ("serial:blackfin: rename Blackfin serial driver to
bfin_uart.c") renamed the file, update the pattern.Signed-off-by: Joe Perches
Acked-by: Sonic Zhang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 4860c73804c ("staging: Move media drivers to staging/media") moved
the files, update the F: patterns.Signed-off-by: Joe Perches
Acked-by: Mauro Carvalho Chehab
Cc: Greg KH
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 61cf45d0199 ("encrypted-keys: create encrypted-keys directory")
moved the files, update the patterns.Signed-off-by: Joe Perches
Cc: Mimi Zohar
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 1fe003fd424 ("greth: Move the Aeroflex Gaisler driver") moved the
files, update the patterns.Signed-off-by: Joe Perches
Cc: Kristoffer Glembo
Cc: Jeff Kirsher
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit a88394cfb58 ("ewrk3/tulip: Move the DEC - Tulip drivers") moved the
files, update the patterns.Signed-off-by: Joe Perches
Acked-by: Grant Grundler
Cc: Jeff Kirsher
Cc: Tobias Ringstrom
Cc: Grant Grundler
Cc: David Davies
Cc: David Miller
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 38576af1f8c ("mmc: sdhci: make sdhci-of device drivers self
registered") moved the files around. Update the patterns.Signed-off-by: Joe Perches
Cc: Shawn Guo
Cc: Chris Ball
Acked-by: Anton Vorontsov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
commit 8959e74399c ("mfd: Delete ab3550 driver") removed the driver,
update the patterns.Signed-off-by: Joe Perches
Acked-by: Linus Walleij
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit f8fc729870ee ("[media] marvell-cam: Move cafe-ccic into its own
directory") moved the files, update the pattern.Signed-off-by: Joe Perches
Cc: Jonathan Corbet
Acked-by: Mauro Carvalho Chehab
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit c103de240439d ("gpio: reorganize drivers") renamed the file, update
the pattern.Signed-off-by: Joe Perches
Cc: Grant Likely
Cc: Michael Buesch
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit c103de240439df ("gpio: reorganize drivers") renamed the files,
update the patterns.Signed-off-by: Joe Perches
Acked-by: Grant Likely
Acked-by: Michael Hennerich
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Track renames and missing or deleted files.
Signed-off-by: Joe Perches
Cc: Russell King
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
I happen to have had a commit to various network drivers since the big
renaming/reorg which happened to drivers/net recently. This means that I
now appear to be in the top few commit signers (by %age) for many of them
so am getting sent all sorts of stuff and people who are involved with the
driver are not. e.g. (to pick one at random):$ ./scripts/get_maintainer.pl -f drivers/net/ethernet/nvidia/forcedeth.c
"David S. Miller" (commit_signer:5/7=71%)
Ian Campbell (commit_signer:2/7=29%)
Eric Dumazet (commit_signer:1/7=14%)
Jeff Kirsher (commit_signer:1/7=14%)
Jiri Pirko (commit_signer:1/7=14%)
netdev@vger.kernel.org (open list:NETWORKING DRIVERS)
linux-kernel@vger.kernel.org (open list)With the following patch the renames are followed and the result appears
much more sensible:$ ./scripts/get_maintainer.pl -f drivers/net/ethernet/nvidia/forcedeth.c
"David S. Miller" (commit_signer:31/34=91%)
Joe Perches (commit_signer:11/34=32%)
Szymon Janc (commit_signer:5/34=15%)
Jiri Pirko (commit_signer:3/34=9%)
Paul (commit_signer:2/34=6%)
netdev@vger.kernel.org (open list:NETWORKING DRIVERS)
linux-kernel@vger.kernel.org (open list)Signed-off-by: Ian Campbell
Acked-by: Joe Perches
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
vmap_area->private is void* but we don't use the field for various purpose
but use only for vm_struct. So change it to a vm_struct* with naming to
improve for readability and type checking.Signed-off-by: Minchan Kim
Acked-by: David Rientjes
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
It is not the tag page but the cursor page that we should process, and it
looks a typo.Signed-off-by: Hillf Danton
Cc: Michal Hocko
Cc: KAMEZAWA Hiroyuki
Cc: Andrea Arcangeli
Cc: David Rientjes
Cc: Hugh Dickins
Acked-by: KOSAKI Motohiro
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Lumpy reclaim does well to stop at a PageAnon when there's no swap, but
better is to stop at any PageSwapBacked, which includes shmem/tmpfs too.Signed-off-by: Hugh Dickins
Reviewed-by: KOSAKI Motohiro
Reviewed-by: Minchan Kim
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
lru_to_page is not used in mm/migrate.c.
Signed-off-by: Wang Sheng-Hui
Acked-by: Mel Gorman
Acked-by: Kyungmin Park
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
If we have to hand back the newly allocated huge page to page allocator,
for any reason, the changed counter should be recovered.This affects only s390 at present.
Signed-off-by: Hillf Danton
Reviewed-by: Michal Hocko
Acked-by: KAMEZAWA Hiroyuki
Cc: Martin Schwidefsky
Cc: Heiko Carstens
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
mempool modifies gfp_mask so that the backing allocator doesn't try too
hard or trigger warning message when there's pool to fall back on. In
addition, for the first try, it removes __GFP_WAIT and IO, so that it
doesn't trigger reclaim or wait when allocation can be fulfilled from
pool; however, when that allocation fails and pool is empty too, it waits
for the pool to be replenished before retrying.Allocation which could have succeeded after a bit of reclaim has to wait
on the reserved items and it's not like mempool doesn't retry with
__GFP_WAIT and IO. It just does that *after* someone returns an element,
pointlessly delaying things.Fix it by retrying immediately if the first round of allocation attempts
w/o __GFP_WAIT and IO fails.[akpm@linux-foundation.org: shorten the lock hold time]
Signed-off-by: Tejun Heo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
mempool_destroy() is a thin wrapper around free_pool(). The only thing it
adds is BUG_ON(pool->curr_nr != pool->min_nr). The intention seems to be
to enforce that all allocated elements are freed; however, the BUG_ON()
can't achieve that (it doesn't know anything about objects above min_nr)
and incorrect as mempool_resize() is allowed to leave the pool extended
but not filled. Furthermore, panicking is way worse than any memory leak
and there are better debug tools to track memory leaks.Drop the BUG_ON() from mempool_destory() and as that leaves the function
identical to free_pool(), replace it.Signed-off-by: Tejun Heo
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
mempool_alloc/free() use undocumented smp_mb()'s. The code is slightly
broken and misleading.The lockless part is in mempool_free(). It wants to determine whether the
item being freed needs to be returned to the pool or backing allocator
without grabbing pool->lock. Two things need to be guaranteed for correct
operation.1. pool->curr_nr + #allocated should never dip below pool->min_nr.
2. Waiters shouldn't be left dangling.For #1, The only necessary condition is that curr_nr visible at free is
from after the allocation of the element being freed (details in the
comment). For most cases, this is true without any barrier but there can
be fringe cases where the allocated pointer is passed to the freeing task
without going through memory barriers. To cover this case, wmb is
necessary before returning from allocation and rmb is necessary before
reading curr_nr. IOW,ALLOCATING TASK FREEING TASK
update pool state after alloc;
wmb();
pass pointer to freeing task;
read pointer;
rmb();
read pool state to free;The current code doesn't have wmb after pool update during allocation and
may theoretically, on machines where unlock doesn't behave as full wmb,
lead to pool depletion and deadlock. smp_wmb() needs to be added after
successful allocation from reserved elements and smp_mb() in
mempool_free() can be replaced with smp_rmb().For #2, the waiter needs to add itself to waitqueue and then check the
wait condition and the waker needs to update the wait condition and then
wake up. Because waitqueue operations always go through full spinlock
synchronization, there is no need for extra memory barriers.Furthermore, mempool_alloc() is already holding pool->lock when it decides
that it needs to wait. There is no reason to do unlock - add waitqueue -
test condition again. It can simply add itself to waitqueue while holding
pool->lock and then unlock and sleep.This patch adds smp_wmb() after successful allocation from reserved pool,
replaces smp_mb() in mempool_free() with smp_rmb() and extend pool->lock
over waitqueue addition. More importantly, it explains what memory
barriers do and how the lockless testing is correct.-v2: Oleg pointed out that unlock doesn't imply wmb. Added explicit
smp_wmb() after successful allocation from reserved pool and
updated comments accordingly.Signed-off-by: Tejun Heo
Cc: Oleg Nesterov
Cc: "Paul E. McKenney"
Cc: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
migration_entry_wait() can also be called from hugetlb_fault() now.
Remove the incorrect comment.Signed-off-by: Wang Sheng-Hui
Acked-by: Minchan Kim
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds