KAMEZAWA Hiroyuki [Wed, 16 Dec 2009 00:47:03 +0000 (16:47 -0800)]
memcg: coalesce uncharge during unmap/truncate
In massive parallel enviroment, res_counter can be a performance
bottleneck. One strong techinque to reduce lock contention is reducing
calls by coalescing some amount of calls into one.
Considering charge/uncharge chatacteristic,
- charge is done one by one via demand-paging.
- uncharge is done by
- in chunk at munmap, truncate, exit, execve...
- one by one via vmscan/paging.
It seems we have a chance to coalesce uncharges for improving scalability
at unmap/truncation.
This patch is a for coalescing uncharge. For avoiding scattering memcg's
structure to functions under /mm, this patch adds memcg batch uncharge
information to the task. A reason for per-task batching is for making use
of caller's context information. We do batched uncharge (deleyed
uncharge) when truncation/unmap occurs but do direct uncharge when
uncharge is called by memory reclaim (vmscan.c).
The degree of coalescing depends on callers
- at invalidate/trucate... pagevec size
- at unmap ....ZAP_BLOCK_SIZE
(memory itself will be freed in this degree.)
Then, we'll not coalescing too much.
On x86-64 8cpu server, I tested overheads of memcg at page fault by
running a program which does map/fault/unmap in a loop. Running
a task per a cpu by taskset and see sum of the number of page faults
in 60secs.
[without memcg config]
40156968 page-faults # 0.085 M/sec ( +- 0.046% )
27.67 cache-miss/faults
[root cgroup]
36659599 page-faults # 0.077 M/sec ( +- 0.247% )
31.58 miss/faults
[in a child cgroup]
18444157 page-faults # 0.039 M/sec ( +- 0.133% )
69.96 miss/faults
[child with this patch]
27133719 page-faults # 0.057 M/sec ( +- 0.155% )
47.16 miss/faults
We can see some amounts of improvement.
(root cgroup doesn't affected by this patch)
Another patch for "charge" will follow this and above will be improved more.
Changelog(since 2009/10/02):
- renamed filed of memcg_batch (as pages to bytes, memsw to memsw_bytes)
- some clean up and commentary/description updates.
- added initialize code to copy_process(). (possible bug fix)
Changelog(old):
- fixed !CONFIG_MEM_CGROUP case.
- rebased onto the latest mmotm + softlimit fix patches.
- unified patch for callers
- added commetns.
- make ->do_batch as bool.
- removed css_get() at el. We don't need it.
Signed-off-by: KAMEZAWA Hiroyuki <[email protected]>
Cc: Balbir Singh <[email protected]>
Cc: Daisuke Nishimura <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Kirill A. Shutemov [Wed, 16 Dec 2009 00:47:01 +0000 (16:47 -0800)]
memcg: fix memory.memsw.usage_in_bytes for root cgroup
A memory cgroup has a memory.memsw.usage_in_bytes file. It shows the sum
of the usage of pages and swapents in the cgroup. Presently the root
cgroup's memsw.usage_in_bytes shows the wrong value - the number of
swapents are not added.
So take MEM_CGROUP_STAT_SWAPOUT into account.
Signed-off-by: Kirill A. Shutemov <[email protected]>
Reviewed-by: Daisuke Nishimura <[email protected]>
Acked-by: KAMEZAWA Hiroyuki <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:47:00 +0000 (16:47 -0800)]
seq_file: use proc_create() in documentation
Using create_proc_entry() + ->proc_fops assignment is racy because
->proc_fops will be NULL for some time, use proc_create() to avoid race.
Signed-off-by: Alexey Dobriyan <[email protected]>
Cc: Randy Dunlap <[email protected]>
Cc: Jonathan Corbet <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:59 +0000 (16:46 -0800)]
proc: remove docbook and example
Example is outdated, it still uses old ->read_proc interfaces and "fb"
example is plain racy. There are better examples all over the tree.
Docbook itself says almost nothing about /proc and contain quite a number
of simply wrong facts, e.g. device nodes support. What it does is
describing at great length interface which are going to be removed.
There are Documentation/filesystems/seq_file.txt in exchange.
Signed-off-by: Alexey Dobriyan <[email protected]>
Acked-by: Erik Mouw <[email protected]>
Cc: Randy Dunlap <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Randy Dunlap [Wed, 16 Dec 2009 00:46:59 +0000 (16:46 -0800)]
doc: SubmitChecklist, add ioctls, remove OSDL reference
If a patch adds ioctls, then Documentation/ioctl/ioctl-number.txt
should also be updated.
Remove reference to the OSDL PLM build farm.
Signed-off-by: Randy Dunlap <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Zhaolei [Wed, 16 Dec 2009 00:46:57 +0000 (16:46 -0800)]
fatfs: use common time_to_tm in fat_time_unix2fat()
It is not necessary to write custom code for convert calendar time to
broken-down time. time_to_tm() is more generic to do that.
Signed-off-by: Zhao Lei <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Pavel Machek <[email protected]>
Cc: Andi Kleen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Akinobu Mita [Wed, 16 Dec 2009 00:46:56 +0000 (16:46 -0800)]
hpfs: use bitmap_weight()
Use bitmap_weight instead of doing hweight32 for each 32bit in bitmap.
Signed-off-by: Akinobu Mita <[email protected]>
Cc: Mikulas Patocka <[email protected]>
Cc: Al Viro <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Akinobu Mita [Wed, 16 Dec 2009 00:46:55 +0000 (16:46 -0800)]
hpfs: use hweight32
Use hweight32 instead of counting for each bit
Signed-off-by: Akinobu Mita <[email protected]>
Cc: Mikulas Patocka <[email protected]>
Cc: Al Viro <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:54 +0000 (16:46 -0800)]
reiserfs: don't compile procfs.o at all if no support
* small define cleanup in header
* fix #ifdeffery in procfs.c via Kconfig
Signed-off-by: Alexey Dobriyan <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:52 +0000 (16:46 -0800)]
reiserfs: remove /proc/fs/reiserfs/version
/proc/fs/reiserfs/version is on the way of removing ->read_proc interface.
It's empty however, so simply remove it instead of doing dummy
conversion. It's hard to see what information userspace can extract from
empty file.
Signed-off-by: Alexey Dobriyan <[email protected]>
Cc: Jeff Mahoney <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:51 +0000 (16:46 -0800)]
ufs: NFS support
Signed-off-by: Alexey Dobriyan <[email protected]>
Acked-by: Evgeniy Dushistov <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:50 +0000 (16:46 -0800)]
ufs: pass qstr instead of dentry where necessary for NFS
Signed-off-by: Alexey Dobriyan <[email protected]>
Cc: Evgeniy Dushistov <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Jan Kara [Wed, 16 Dec 2009 00:46:49 +0000 (16:46 -0800)]
ext2: report metadata errors during fsync
When an IO error happens while writing metadata buffers, we should better
report it and call ext2_error since the filesystem is probably no longer
consistent. Sometimes such IO errors happen while flushing thread does
background writeback, the buffer gets later evicted from memory, and thus
the only trace of the error remains as AS_EIO bit set in blockdevice's
mapping. So we check this bit in ext2_fsync and report the error although
we cannot be really sure which buffer we failed to write.
Signed-off-by: Jan Kara <[email protected]>
Cc: Chris Mason <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Theodore Ts'o [Wed, 16 Dec 2009 00:46:48 +0000 (16:46 -0800)]
ext2: avoid WARN() messages when failing to write to the superblock
This fixes a common warning reported by kerneloops.org
[Kernel summit hacking hour]
[
[email protected]: coding-style fixes]
Signed-off-by: "Theodore Ts'o" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:48 +0000 (16:46 -0800)]
const: constify remaining pipe_buf_operations
Signed-off-by: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:47 +0000 (16:46 -0800)]
pnpbios: convert to seq_file
Convert code away from ->read_proc/->write_proc interfaces. Switch to
proc_create()/proc_create_data() which make addition of proc entries
reliable wrt NULL ->proc_fops, NULL ->data and so on.
Problem with ->read_proc et al is described here commit
786d7e1612f0b0adb6046f19b906609e4fe8b1ba "Fix rmmod/read/write races in
/proc entries"
Signed-off-by: Alexey Dobriyan <[email protected]>
Cc: Adam Belay <[email protected]>
Cc: Bjorn Helgaas <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Chaithrika U S [Wed, 16 Dec 2009 00:46:46 +0000 (16:46 -0800)]
da850/omap-l138: add callback to control LCD panel power
Add the platform specific callback to control LCD panel and backlight
power.
Signed-off-by: Chaithrika U S <[email protected]>
Acked-by: Kevin Hilman <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Krzysztof Helt [Wed, 16 Dec 2009 00:46:45 +0000 (16:46 -0800)]
intelfb: fix setting of active pipe with LVDS displays
The intelfb driver sets color map depending on currently active pipe.
However, if an LVDS display is attached (like in laptop) the active pipe
variable is never set. The default value is PIPE_A and can be wrong. Set
up the pipe variable during driver initialization after hardware state was
read.
Also, the detection of the active display (and hence the pipe) is wrong.
The pipes are assigned to so called planes. Both pipes are always enabled
on my laptop but only one plane is enabled (the plane A for the CRT or the
plane B for the LVDS). Change active pipe detection code to take into
account a status of the plane assigned to each pipe.
The problem is visible in the 8 bpp mode if colors above 15 are used. The
first 16 color entries are displayed correctly.
The graphics chip description is here (G45 vol. 3):
http://intellinuxgraphics.org/documentation.html
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13285
Signed-off-by: Krzysztof Helt <[email protected]>
Cc: Michal Suchanek <[email protected]>
Cc: Dean Menezes <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Harald Welte [Wed, 16 Dec 2009 00:46:44 +0000 (16:46 -0800)]
viafb: cosmetic cleanup of function integrated_lvds_enable()
A humble attempt to simplify the coding style to improve readability
Signed-off-by: Harald Welte <[email protected]>
Signed-off-by: Florian Tobias Schandinat <[email protected]>
Cc: Joseph Chan <[email protected]>
Cc: Scott Fang <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Harald Welte [Wed, 16 Dec 2009 00:46:42 +0000 (16:46 -0800)]
viafb: documentation update
We now support the VX855, and the VX800 is no longer unaccellerated.
viafb_video_dev was removed as it was useless.
Signed-off-by: Harald Welte <[email protected]>
Signed-off-by: Florian Tobias Schandinat <[email protected]>
Cc: Joseph Chan <[email protected]>
Cc: Scott Fang <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alan Cox [Wed, 16 Dec 2009 00:46:40 +0000 (16:46 -0800)]
matroxfb: fix problems with display stability
Regression caused in 2.6.23 and then despite repeated requests never fixed
or dealt with (Petr promised to sort it in 2008 but seems to have
forgotten).
Enough is enough - remove the problem line that was added. If it upsets
someone they've had two years to deal with it and at the very least it'll
rattle their cage and wake them up.
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=9709
Signed-off-by: Alan Cox <[email protected]>
Reported-by: Damon <[email protected]>
Tested-by: Ruud van Melick <[email protected]>
Cc: Petr Vandrovec <[email protected]>
Cc: Pekka Enberg <[email protected]>
Cc: Paul A. Clarke <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Chaithrika U S [Wed, 16 Dec 2009 00:46:39 +0000 (16:46 -0800)]
davinci: fb: add framebuffer blank operation
Implement frame buffer blank operation feature for DA8xx/OMAP-L1xx driver.
Signed-off-by: Chaithrika U S <[email protected]>
Cc: Kevin Hilman <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Chaithrika U S [Wed, 16 Dec 2009 00:46:39 +0000 (16:46 -0800)]
davinci: fb : add suspend/resume suuport for DA8xx/OMAP-L1xx fb driver
Suspend/resume support DA8xx/OMAP-L1xx frame buffer driver. This feature
has been tested on DA850/OMAP-L138 EVM. For the purpose of testing, the
patch series[1] which adds suspend support for DA850/OMAP-L138 SoC was
applied.
[1] http://patchwork.kernel.org/patch/60260/
Signed-off-by: Chaithrika U S <[email protected]>
Cc: Kevin Hilman <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Chaithrika U S [Wed, 16 Dec 2009 00:46:38 +0000 (16:46 -0800)]
davinci: fb: update the driver in preparation for addition of power management features
Add a helper function to enable raster. Also add one member in the
private data structure to track the current blank status, another function
pointer which takes in the platform specific callback function to control
panel power.
These updates will help in adding suspend/resume and frame buffer blank
operation features.
Signed-off-by: Chaithrika U S <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:46:37 +0000 (16:46 -0800)]
clps711xfb: convert to proc_fops
Signed-off-by: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Dan Carpenter [Wed, 16 Dec 2009 00:46:36 +0000 (16:46 -0800)]
drivers/video/via/viafbdev.c: fix oops with no /proc
Fixed a typo: missing *. This would lead to a kernel oops if the kernel
was compiled without support for the /proc file system.
Found with a static checker. Compile tested.
Signed-off-by: Dan Carpenter <[email protected]>
Acked-by: Florian Tobias Schandinat <[email protected]>
Cc: Joseph Chan <[email protected]>
Cc: Scott Fang <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Vincent Sanders [Wed, 16 Dec 2009 00:46:35 +0000 (16:46 -0800)]
sm501: implement acceleration features
This patch provides the acceleration entry points for the SM501
framebuffer driver.
This patch provides the sync, copyarea and fillrect entry points, using
the SM501's 2D acceleration engine to perform the operations in-chip
rather than across the bus.
Signed-off-by: Ben Dooks <[email protected]>
Signed-off-by: Simtec Linux Team <[email protected]>
Signed-off-by: Vincent Sanders <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ben Dooks [Wed, 16 Dec 2009 00:46:34 +0000 (16:46 -0800)]
sm501: fix use of old <asm/io.h> instead of <linux/io.h>
Fix the old style use of <asm/io.h> by replacing it with <linux/io.h>.
Signed-off-by: Ben Dooks <[email protected]>
Signed-off-by: Simtec Linux Team <[email protected]>
Cc: Vincent Sanders <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ben Dooks [Wed, 16 Dec 2009 00:46:33 +0000 (16:46 -0800)]
sm501: fix missing uses of resource_size()
There are several places in the SM501 fb driver that could do with using
resource_size() to calculate the size of a resource.
Also fix a bug where request_mem_region() is being passed one too few
bytes when requesting the register memory region, which was causing the
following in /proc/iomem:
13e80000-
13e8ffff : sm501-fb.0
13e80000-
13e8fffe : sm501-fb
fixed, this reads:
13e80000-
13e8ffff : sm501-fb.0
13e80000-
13e8ffff : sm501-fb
Signed-off-by: Ben Dooks <[email protected]>
Signed-off-by: Simtec Linux Team <[email protected]>
Cc: Vincent Sanders <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Krzysztof Helt [Wed, 16 Dec 2009 00:46:32 +0000 (16:46 -0800)]
i810fb: fix stack exploding
Alan Cox has found that the i810fb function "uses a whopping 2.5K of stack".
Signed-off-by: Krzysztof Helt <[email protected]>
Reported-by: Alan Cox <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Andres Salomon [Wed, 16 Dec 2009 00:46:31 +0000 (16:46 -0800)]
lxfb: add copyright/license info
The GRUB folks requested copyright/license info for lxfb.h, so here it is.
Signed-off-by: Andres Salomon <[email protected]>
Cc: Jordan Crouse <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Chaithrika U S [Wed, 16 Dec 2009 00:46:29 +0000 (16:46 -0800)]
davinci: fb: add cpufreq support
Add cpufreq support for DA8xx/OMAP-L1xx frame buffer driver
Signed-off-by: Chaithrika U S <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Cc: Kevin Hilman <[email protected]>
Cc: Dave Jones <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Chaithrika U S [Wed, 16 Dec 2009 00:46:29 +0000 (16:46 -0800)]
davinci: fb: calculate the clock divider from pixel clock info
The clock divider value can be calculated from the pixel clock value for
the panel. This gives more flexiblity to the driver to change the divider
value on the fly as in the case of cpufreq feature- support for which will
be added shortly.
Signed-off-by: Chaithrika U S <[email protected]>
Cc: Sudhakar Rajashekhara <[email protected]>
Cc: Steve Chen <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Valentin Sitdikov [Wed, 16 Dec 2009 00:46:28 +0000 (16:46 -0800)]
mb862xxfb: add acceleration support for Coral-P/Coral-PA. * imageblt * copyarea * fillrect
[
[email protected]: clean up comments, remove do-nothing tests, use min()]
[
[email protected]: fix Alexandr's email address]
[
[email protected]: export mb862xxfb_init_accel]
Signed-off-by: Valentin Sitdikov <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Cc: Anatolij Gustschin <[email protected]>
Signed-off-by: Alexander Shishkin <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Julia Lawall [Wed, 16 Dec 2009 00:46:26 +0000 (16:46 -0800)]
drivers/video: Move dereference after NULL test
If the NULL test on fbi is needed, then the dereference should be after the
NULL test.
A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):
// <smpl>
@match exists@
expression x, E;
identifier fld;
@@
* x->fld
... when != \(x = E\|&x\)
* x == NULL
// </smpl>
Signed-off-by: Julia Lawall <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Cc: Eric Miao <[email protected]>
Cc: Daniel Mack <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Krzysztof Helt [Wed, 16 Dec 2009 00:46:25 +0000 (16:46 -0800)]
fbdev: add palette register check to several drivers
Add check if palette register number is in correct range for few drivers
which miss it. The regno value comes indirectly from user space.
Two drivers has converted check from BUG_ON() macro to just return an
error (non-zero value).
Signed-off-by: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Andy Shevchenko [Wed, 16 Dec 2009 00:46:24 +0000 (16:46 -0800)]
fbdev: drop custom atoi from drivers/video/modedb.c
Kernel has simple_strtol() implementation which could be used as atoi().
Signed-off-by: Andy Shevchenko <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Roel Kluin [Wed, 16 Dec 2009 00:46:23 +0000 (16:46 -0800)]
fbdev: TV_PALN bit set twice in sisfb_detect_VB_connect()
The TV_PALN bit was tested twice, replace one by TV_PALM.
Signed-off-by: Roel Kluin <[email protected]>
Cc: Thomas Winischhofer <[email protected]>
Cc: Krzysztof Helt <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Michael Hennerich [Wed, 16 Dec 2009 00:46:22 +0000 (16:46 -0800)]
fbdev: bfin-t350mcqb-fb: fix LCD dimensions
The height/width framebuffer members need to be set in millimeters so that
software can do proper scaling.
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Michael Hennerich [Wed, 16 Dec 2009 00:46:21 +0000 (16:46 -0800)]
fbdev: bfin-t350mcqb-fb: handle all resources in suspend/resume
The LCD commands DMA/timers as well as PPI which we need to save/restore.
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Michael Hennerich [Wed, 16 Dec 2009 00:46:21 +0000 (16:46 -0800)]
fbdev: bfin-lq035q1-fb: new Blackfin Landscape LCD EZ-Extender driver
Framebuffer driver for the Landscape LCD EZ-Extender (ADZS-BFLLCD-EZEXT)
http://docs.blackfin.uclinux.org/doku.php?id=hw:cards:landscape_lcd_ez-extender
Signed-off-by: Michael Hennerich <[email protected]>
Signed-off-by: Bryan Wu <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Jani Nikula [Wed, 16 Dec 2009 00:46:20 +0000 (16:46 -0800)]
gpiolib: add support for changing value polarity in sysfs
Drivers may use gpiolib sysfs as part of their public user space
interface. The GPIO number and polarity might change from board to
board. The gpio_export_link() call can be used to hide the GPIO number
from user space. Add support for also hiding the GPIO line polarity
changes from user space.
Signed-off-by: Jani Nikula <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Richard Röjfors [Wed, 16 Dec 2009 00:46:18 +0000 (16:46 -0800)]
gpio: add GPIO driver for the Timberdale FPGA
A GPIO driver for the Timberdale FPGA found on the Intel Atom board
Russellville.
The GPIO driver also has an IRQ-chip to support interrupts on the pins.
Signed-off-by: Richard Röjfors <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Roel Kluin [Wed, 16 Dec 2009 00:46:18 +0000 (16:46 -0800)]
gpio: fix test on unsigned in lnw_irq_type()
The wrong test was used, gpio is unsigned and it had an off-by-one.
Signed-off-by: Roel Kluin <[email protected]>
Cc: Alek Du <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Wan ZongShun [Wed, 16 Dec 2009 00:46:17 +0000 (16:46 -0800)]
ARM: NUC900: add RTC driver support for nuc910 and nuc920
Signed-off-by: Wan ZongShun <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Hu Ruihuan <[email protected]>
Cc: Russell King <[email protected]>
Cc: "jack wang" <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Johannes Weiner [Wed, 16 Dec 2009 00:46:16 +0000 (16:46 -0800)]
rtc-x1205: unconditionally set date when setting clock
All callsites of x1205_set_datetime() want the date to be set as well, so
remove the flag parameter and set it unconditionally.
Signed-off-by: Johannes Weiner <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Yoichi Yuasa [Wed, 16 Dec 2009 00:46:15 +0000 (16:46 -0800)]
rtc-vr41xx: use resource_size()
Signed-off-by: Yoichi Yuasa <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Dmitry Eremin-Solenikov [Wed, 16 Dec 2009 00:46:14 +0000 (16:46 -0800)]
rtc: ds1307 make it possible to share an irq
It's possible to have RTC irq shared with other device (e.g.
mpc8349e-mitx board shares ds1339 irq with phy one). Handle this in
driver.
Signed-off-by: Dmitry Eremin-Solenikov <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Linus Walleij [Wed, 16 Dec 2009 00:46:13 +0000 (16:46 -0800)]
rtc: remove __raw_* accessors from PL031 RTC
This switches __raw_[read|write]l() for plain [read|write]l in the PL031
RTC driver. The sister driver for PL030 use the simple accessors as most
PrimeCell drivers.
Signed-off-by: Linus Walleij <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Piotr Ziecik [Wed, 16 Dec 2009 00:46:12 +0000 (16:46 -0800)]
rtc: add driver for BQ32000 I2C RTC
This patch adds basic support for Texas Instruments BQ32000 I2C RTC. Only
time reading/writing is implemented. Advanced features, such as trickle
charger and crystal calibration are not supported.
Signed-off-by: Piotr Ziecik <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Mark A. Greer [Wed, 16 Dec 2009 00:46:11 +0000 (16:46 -0800)]
rtc: make rtc-omap driver ioremap its register space
The rtc-omap driver currently assumes that the rtc's registers are at a
fixed address and already mapped into virtual memory space. Remove those
assumptions so the same driver can be used for similar devices that reside
at different physical addresses (e.g., TI's DA8xx/OMAP-L13x SoC's).
Also allow the possibility for the timer and alarm interrupts to use the
same IRQ.
Signed-off-by: Mark A. Greer <[email protected]>
Acked-by: David Brownell <[email protected]>
Acked-by: Kevin Hilman <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Uwe Kleine-König [Wed, 16 Dec 2009 00:46:09 +0000 (16:46 -0800)]
rtc: add Freescale MC13783 RTC driver
This driver provides support for the RTC part integrated into the
Freescale MC13783 PMIC and bases on patch created earlier by Sascha
Hauer.
Signed-off-by: Sascha Hauer <[email protected]>
Signed-off-by: Uwe Kleine-König <[email protected]>
Acked-by: Valentin Longchamp <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Mark Brown [Wed, 16 Dec 2009 00:46:09 +0000 (16:46 -0800)]
rtc: convert WM8350 RTC driver to dev_pm_ops
Convert WM8350 RTC driver to dev_pm_ops
Signed-off-by: Mark Brown <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Saeed Bishara [Wed, 16 Dec 2009 00:46:08 +0000 (16:46 -0800)]
rtc-mv: add support for Alarm
This patch adds the Alarm support, this mode enabled when adding
IORESOURCE_IRQ to the platform device resources.
The patch also enables the wakeup mode, so the wakealarm sysfs file (under
/sys/class/rtc/rtcX/) can be used to configure the alarm clock.
Signed-off-by: Saeed Bishara <[email protected]>
Signed-off-by: Nicolas Pitre <[email protected]>
Signed-off-by: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Werner Almesberger [Wed, 16 Dec 2009 00:46:07 +0000 (16:46 -0800)]
rtc: pcf50633: manage RTC alarm "pending" flag
Add setting and clearing of the "pending" flag of the RTC alarm. The
semantics follow the UEFI specification 2.2 available at
http://www.uefi.org/specs/, i.e., the "pending" flag is cleared by
disabling the alarm, but not by any other condition (such as the passing
of time, a successful wakeup, or setting of a new alarm.)
Signed-off-by: Werner Almesberger <[email protected]>
Signed-off-by: Paul Fertser <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Cc: Balaji Rao <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
John Kacur [Wed, 16 Dec 2009 00:46:06 +0000 (16:46 -0800)]
efirtc: explicitly set llseek to no_llseek
Now that we've removed the BKL here, let's explicitly set llseek to
no_llseek since the default llseek is not used here.
The default_llseek function still contains the BKL. When we are auditing
code to see if we can remove the BKL, this is one of the hidden
considerations we need to take into account. i.e., is there
syncronization between code that has the BKL and llseek.
At the same time we remove the BKL it would be a good idea to do indicate
when no llseek function is required, so we don't have to revisit this code
again, when we are trying to determine if we can remove the BKL from the
default_llseek.
Signed-off-by: John Kacur <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Atsushi Nemoto [Wed, 16 Dec 2009 00:46:04 +0000 (16:46 -0800)]
rtc: do not use container_of macro as an argument for to_platform_device
The to_platform_device macro itself uses container_of macro. Nested use
of container_of macro causes following sparse warnings:
rtc-ds1553.c:259:3: warning: symbol '__mptr' shadows an earlier one
rtc-ds1553.c:259:3: originally declared here
Signed-off-by: Atsushi Nemoto <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: David Brownell <[email protected]>
Cc: Andrew Sharp <[email protected]>
Cc: Thomas Hommel <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Atsushi Nemoto [Wed, 16 Dec 2009 00:46:04 +0000 (16:46 -0800)]
rtc-stk17ta8: fix races around device registration
- Call dev_set_drvdata before rtc device creation.
- Use its own spinlock instead of rtc->irq_lock. Because pdata->rtc
must be initialized to use the irq_lock (pdata->rtc->irq_lock). There
is a small window which rtc methods can be called before pdata->rtc is
initialized.
And there is no need use the irq_lock to protect hardware registers.
The driver's own spinlock shoule be enough.
- Check pdata->rtc before calling rtc_update_irq.
- Use alarm_irq_enable and remove ioctl routine.
- Use devres APIs and simplify error/remove path.
These fixes are ported from ds1553 driver and just compile-tested only.
Signed-off-by: Atsushi Nemoto <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: Thomas Hommel <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Atsushi Nemoto [Wed, 16 Dec 2009 00:46:02 +0000 (16:46 -0800)]
rtc-ds1742: fix races around device registration
* Call dev_set_drvdata before rtc device creation
* Use devres APIs and simplify error/remove path
Signed-off-by: Atsushi Nemoto <[email protected]>
Acked-by: Alessandro Zummo <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Atsushi Nemoto [Wed, 16 Dec 2009 00:46:01 +0000 (16:46 -0800)]
rtc-ds1553: fix races around device registration
* Call dev_set_drvdata before rtc device creation
* Use its own spinlock instead of rtc->irq_lock
* Check pdata->rtc before calling rtc_update_irq
* Use {alarm,update}_irq_enable and remove ioctl routine
* Use devres APIs and simplify error/remove path
Signed-off-by: Atsushi Nemoto <[email protected]>
Acked-by: Alessandro Zummo <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Atsushi Nemoto [Wed, 16 Dec 2009 00:46:00 +0000 (16:46 -0800)]
rtc-tx4939: fix races around device registration
* Use its own spinlock instead of rtc->irq_lock
* Check pdata->rtc before calling rtc_update_irq
* Disable interrupt after rtc_device_unregister
Signed-off-by: Atsushi Nemoto <[email protected]>
Acked-by: Alessandro Zummo <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Atsushi Nemoto [Wed, 16 Dec 2009 00:45:58 +0000 (16:45 -0800)]
rtc-ds1511: fix races around device registration
- Call dev_set_drvdata before rtc device creation.
- Use its own spinlock instead of rtc->irq_lock. Because pdata->rtc
must be initialized to use the irq_lock (pdata->rtc->irq_lock). There
is a small window which rtc methods can be called before pdata->rtc is
initialized.
And there is no need use the irq_lock to protect hardware registers.
The driver's own spinlock shoule be enough.
- Check pdata->rtc before calling rtc_update_irq.
- Use {alarm,update}_irq_enable and remove ioctl routine.
- Use devres APIs and simplify error/remove path.
These fixes are ported from ds1553 driver and just compile-tested only.
Signed-off-by: Atsushi Nemoto <[email protected]>
Cc: Andrew Sharp <[email protected]>
Cc: Thomas Hommel <[email protected]>
Cc: David Brownell <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Herton Ronaldo Krzesinski [Wed, 16 Dec 2009 00:45:56 +0000 (16:45 -0800)]
rtc-cmos: convert RTC_AIE/RTC_UIE to rtc irq API
Drop ioctl function that handles RTC_AIE/RTC_UIE, and use instead the
rtc subsystem API (alarm_irq_enable/update_irq_enable callbacks).
Signed-off-by: Herton Ronaldo Krzesinski <[email protected]>
Cc: Alessandro Zummo <[email protected]>
Cc: David Brownell <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alessandro Zummo [Wed, 16 Dec 2009 00:45:53 +0000 (16:45 -0800)]
rtc: fix driver data issues in several rtc drivers
Herton Ronaldo Krzesinski recently raised up, and fixed, an issue with the
rtc_cmos driver, which was referring to an inconsistent driver data.
This patch ensures that driver data registration happens before
rtc_device_register().
Signed-off-by: Alessandro Zummo <[email protected]>
Acked-by: Thomas Hommel <[email protected]>
Acked-by: Hans-Christian Egtvedt <[email protected]>
Acked-by: Paul Mundt <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: Andrew Sharp <[email protected]>
Cc: Atsushi Nemoto <[email protected]>
Cc: Alexander Bigga <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: Mark Zhan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Maxim Levitsky [Wed, 16 Dec 2009 00:45:52 +0000 (16:45 -0800)]
rtc: disable hpet emulation on suspend
I noticed that rtc wont generate interrupts after a resume from disk.
Here hpet rtc emulation is used.
Problem is that rtc hpet comparator, isn't reinitialized after resume.
Easiest way to solve this, is always mask all hpet interrupts on suspend
This is triggered, when suspending with alarm set.
Otherwise, hpet driver will think it doesn't need to reinitialize
the rtc comparator, thus rtc interrupts won't work.
This emulation isn't need for wakealarm.
Signed-off-by: Maxim Levitsky <[email protected]>
Cc: David Brownell <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:51 +0000 (16:45 -0800)]
autofs4: always use lookup for lookup
We need to be able to cope with the directory mutex being held during
->d_revalidate() in some cases, but not all cases, and not necessarily by
us. Because we need to release the mutex when we call back to the daemon
to do perform a mount we must be sure that it is us who holds the mutex so
we must redirect mount requests to ->lookup() if the mutex is held.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:50 +0000 (16:45 -0800)]
autofs4: rename dentry to expiring in autofs4_lookup_expiring()
In autofs4_lookup_expiring() a declaration within the list traversal loop
uses a declaration that has the same name as the function parameter.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:49 +0000 (16:45 -0800)]
autofs4: rename dentry to active in autofs4_lookup_active()
In autofs4_lookup_active() a declaration within the list traversal loop
uses a declaration that has the same name as the function parameter.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:48 +0000 (16:45 -0800)]
autofs4: eliminate d_unhashed in path walk checks
We unhash the dentry (in a subsequent patch) in ->d_revalidate() in order
to send mount requests to ->lookup(). But then we can not rely on
d_unhased() to give reliable results because it may be called at any time
by any code path. The d_unhashed() function is used by __simple_empty()
in the path walking callbacks but autofs mount point dentrys should have
no directories at all so a list_empty() on d_subdirs should be (and is)
sufficient.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:47 +0000 (16:45 -0800)]
autofs4: cleanup active and expire lookup
The lookup functions for active and expiring dentrys use parameters that
can be easily obtained on entry so we change the call to to take just the
dentry. This makes the subsequent change, to send all lookups to
->lookup(), a bit cleaner.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:46 +0000 (16:45 -0800)]
autofs4: renamer unhashed to active in autofs4_lookup()
Rename the variable unhashed to active in autofs4_lookup() to better
reflect its usage.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:45 +0000 (16:45 -0800)]
autofs4: use autofs_info for pending flag
Eliminate the use of the d_lock spin lock by using the autofs super block
info spin lock. This reduces the number of spin locks we use by one and
makes the code for the following patch (to redirect ->d_revalidate() to
->lookup()) a little simpler.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:44 +0000 (16:45 -0800)]
autofs4: use helper function for need mount check
Define simple helper function for checking if we need to trigger a mount.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:43 +0000 (16:45 -0800)]
autofs4: use helper functions for expiring list
Define some simple helper functions for adding and deleting entries on the
expiring dentry list.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Ian Kent [Wed, 16 Dec 2009 00:45:42 +0000 (16:45 -0800)]
autofs4: use helper functions for active list handling
Define some simple helper functions for adding and deleting entries on the
active (and unhashed) dentry list.
Signed-off-by: Ian Kent <[email protected]>
Cc: Sage Weil <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Andreas Dilger <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Yehuda Saheh <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Clemens Ladisch [Wed, 16 Dec 2009 00:45:39 +0000 (16:45 -0800)]
vt: make the default cursor shape configurable
For embedded systems, the blinking cursor at startup time can be annoying
and unintended. Add a new kernel parameter to change the default cursor
shape.
Signed-off-by: Clemens Ladisch <[email protected]>
Cc: Daniel Mack <[email protected]>
Acked-by: Pavel Machek <[email protected]>
Cc: David Newall <[email protected]>
Cc: Alan Cox <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Alexey Dobriyan [Wed, 16 Dec 2009 00:45:39 +0000 (16:45 -0800)]
proc: rename de_get() to pde_get() and inline it
* de_get() is trivial -- make inline, save a few bits of code, drop
"refcount is 0" check -- it should be done in some generic refcount
code, don't recall it's was helpful
* rename GET and PUT functions to pde_get(), pde_put() for cool prefix!
* remove obvious and incorrent comments
* in remove_proc_entry() use pde_put(), when I fixed PDE refcounting to
be normal one, remove_proc_entry() was supposed to do "-1" and code now
reflects that.
Signed-off-by: Alexey Dobriyan <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Barry Song [Wed, 16 Dec 2009 00:45:34 +0000 (16:45 -0800)]
timecompare: fix half-Y2K38 problem in timecompare_update while calculating offset
ktime will overflow from 03:14:07 UTC on Tuesday, 19 January 2038,
ktime_add() in timecompare_update() will overflow a half earlier. As a
result, wrong offset will be gotten, then cause some strange problems.
Signed-off-by: Barry Song <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Patrick Ohly <[email protected]>
Cc: David S. Miller <[email protected]>
Cc: John Stultz <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
KAMEZAWA Hiroyuki [Wed, 16 Dec 2009 00:45:33 +0000 (16:45 -0800)]
oom-kill: fix NUMA constraint check with nodemask
Fix node-oriented allocation handling in oom-kill.c I myself think of this
as a bugfix not as an ehnancement.
In these days, things are changed as
- alloc_pages() eats nodemask as its arguments, __alloc_pages_nodemask().
- mempolicy don't maintain its own private zonelists.
(And cpuset doesn't use nodemask for __alloc_pages_nodemask())
So, current oom-killer's check function is wrong.
This patch does
- check nodemask, if nodemask && nodemask doesn't cover all
node_states[N_HIGH_MEMORY], this is CONSTRAINT_MEMORY_POLICY.
- Scan all zonelist under nodemask, if it hits cpuset's wall
this faiulre is from cpuset.
And
- modifies the caller of out_of_memory not to call oom if __GFP_THISNODE.
This doesn't change "current" behavior. If callers use __GFP_THISNODE
it should handle "page allocation failure" by itself.
- handle __GFP_NOFAIL+__GFP_THISNODE path.
This is something like a FIXME but this gfpmask is not used now.
[
[email protected]: coding-style fixes]
Signed-off-by: KAMEZAWA Hiroyuki <[email protected]>
Acked-by: David Rientjes <[email protected]>
Cc: Daisuke Nishimura <[email protected]>
Cc: KOSAKI Motohiro <[email protected]>
Cc: Christoph Lameter <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
KOSAKI Motohiro [Wed, 16 Dec 2009 00:45:32 +0000 (16:45 -0800)]
oom-kill: show virtual size and rss information of the killed process
In a typical oom analysis scenario, we frequently want to know whether the
killed process has a memory leak or not at the first step. This patch
adds vsz and rss information to the oom log to help this analysis. To
save time for the debugging.
example:
===================================================================
rsyslogd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
Pid: 1308, comm: rsyslogd Not tainted 2.6.32-rc6 #24
Call Trace:
[<
ffffffff8132e35b>] ?_spin_unlock+0x2b/0x40
[<
ffffffff810f186e>] oom_kill_process+0xbe/0x2b0
(snip)
492283 pages non-shared
Out of memory: kill process 2341 (memhog) score 527276 or a child
Killed process 2341 (memhog) vsz:1054552kB, anon-rss:970588kB, file-rss:4kB
===========================================================================
^
|
here
[
[email protected]: fix race, add pid & comm to message]
Signed-off-by: KOSAKI Motohiro <[email protected]>
Signed-off-by: David Rientjes <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Stephen Rothwell [Tue, 15 Dec 2009 05:33:10 +0000 (16:33 +1100)]
mfd: compile fix for twl4030 renaming
Caused by commit
0b83ddebc6e884dc0221358cf68c461520fbdd8e ("MFD:
twl4030: add twl4030_codec MFD as a new child to the core") interacting
with commit
b07682b6056eb6701f8cb86aa5800e6f2ea7919b ("mfd: Rename
twl4030* driver files to enable re-use").
This file seems to have been missed in the renaming.
Signed-off-by: Stephen Rothwell <[email protected]>
Acked-by: Peter Ujfalusi <[email protected]>
Acked-by: Mark Brown <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Linus Torvalds [Tue, 15 Dec 2009 17:12:43 +0000 (09:12 -0800)]
Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs
* 'for-linus' of git://oss.sgi.com/xfs/xfs:
xfs: event tracing support
xfs: change the xfs_iext_insert / xfs_iext_remove
xfs: cleanup bmap extent state macros
Linus Torvalds [Tue, 15 Dec 2009 17:12:01 +0000 (09:12 -0800)]
Merge git://git./linux/kernel/git/agk/linux-2.6-dm
* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: (80 commits)
dm snapshot: use merge origin if snapshot invalid
dm snapshot: report merge failure in status
dm snapshot: merge consecutive chunks together
dm snapshot: trigger exceptions in remaining snapshots during merge
dm snapshot: delay merging a chunk until writes to it complete
dm snapshot: queue writes to chunks being merged
dm snapshot: add merging
dm snapshot: permit only one merge at once
dm snapshot: support barriers in snapshot merge target
dm snapshot: avoid allocating exceptions in merge
dm snapshot: rework writing to origin
dm snapshot: add merge target
dm exception store: add merge specific methods
dm snapshot: create function for chunk_is_tracked wait
dm snapshot: make bio optional in __origin_write
dm mpath: reject messages when device is suspended
dm: export suspended state to targets
dm: rename dm_suspended to dm_suspended_md
dm: swap target postsuspend call and setting suspended flag
dm crypt: add plain64 iv
...
Linus Torvalds [Tue, 15 Dec 2009 17:11:28 +0000 (09:11 -0800)]
Merge branch 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block
* 'for-2.6.33' of git://git.kernel.dk/linux-2.6-block:
cfq: set workload as expired if it doesn't have any slice left
Fix a CFQ crash in "for-2.6.33" branch of block tree
cfq: Remove wait_request flag when idle time is being deleted
cfq-iosched: commenting non-obvious initialization
cfq-iosched: Take care of corner cases of group losing share due to deletion
cfq-iosched: Get rid of cfqq wait_busy_done flag
cfq: Optimization for close cooperating queue searching
block,xd: Delay allocation of DMA buffers until device is known
drbd: Following the hmac change to SHASH (see linux commit
8bd1209cfff)
cfq-iosched: reduce write depth only if sync was delayed
Linus Torvalds [Tue, 15 Dec 2009 17:11:05 +0000 (09:11 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: ac97_codec - increase timeout for analog sections to 5 second
ASoC: Correct code taking the size of a pointer
ALSA: hda - Add PCI IDs for Nvidia G2xx-series
ALSA: sound/isa/gus: Correct code taking the size of a pointer
ALSA: hda: Fix max PCM level to 0 dB for AD1981_HP
ALSA: hda: Use ALC260_WILL quirk for another Acer model (0x1025007f)
Linus Torvalds [Tue, 15 Dec 2009 17:02:01 +0000 (09:02 -0800)]
Merge branch 'core-locking-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)
clockevents: Convert to raw_spinlock
clockevents: Make tick_device_lock static
debugobjects: Convert to raw_spinlocks
perf_event: Convert to raw_spinlock
hrtimers: Convert to raw_spinlocks
genirq: Convert irq_desc.lock to raw_spinlock
smp: Convert smplocks to raw_spinlocks
rtmutes: Convert rtmutex.lock to raw_spinlock
sched: Convert pi_lock to raw_spinlock
sched: Convert cpupri lock to raw_spinlock
sched: Convert rt_runtime_lock to raw_spinlock
sched: Convert rq->lock to raw_spinlock
plist: Make plist debugging raw_spinlock aware
bkl: Fixup core_lock fallout
locking: Cleanup the name space completely
locking: Further name space cleanups
alpha: Fix fallout from locking changes
locking: Implement new raw_spinlock
locking: Convert raw_rwlock functions to arch_rwlock
locking: Convert raw_rwlock to arch_rwlock
...
Linus Torvalds [Tue, 15 Dec 2009 17:01:00 +0000 (09:01 -0800)]
Merge git://git./linux/kernel/git/hskinnemoen/avr32-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
avr32: update default configurations for ATNGW100, ATSTK1002 and ATSTK1006
avr32: add default configurations for ATNGW100 mkII and EVKLCD10X
avr32: add support for ATNGW100 mkII board
avr32: convert to asm-generic/hardirq.h
avr32: add two new at91 to cpu.h definition
avr32: clean up linker script using standard macros.
avr32: MRMT: correct setup of SPI slaves
avr32: function for independently setting up SPI slaves
avr32: re-instate MCI WP/CD pin assignments for ATNGW100
Linus Torvalds [Tue, 15 Dec 2009 17:00:19 +0000 (09:00 -0800)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc64: Fix clock event multiplier printf format.
sparc64: Use clock{source,events}_calc_mult_shift().
sparc64: Use free_bootmem_late() in mdesc_lmb_free().
sparc: Add alignment and emulation fault perf events.
sparc64: Add syscall tracepoint support.
sparc: Stop trying to be so fancy and use __builtin_{memcpy,memset}()
sparc: Use __builtin_object_size() to validate the buffer size for copy_from_user()
sparc64: Add some missing __kprobes annotations to kernel fault paths.
sparc64: Use kprobes_built_in() to avoid ifdefs in fault_64.c
sparc: Validate that kprobe address is 4-byte aligned.
sparc64: Don't specify IRQF_SHARED for LDC interrupts.
sparc64: Fix stack debugging IRQ stack regression.
sparc64: Fix overly strict range type matching for PCI devices.
Linus Torvalds [Tue, 15 Dec 2009 16:59:33 +0000 (08:59 -0800)]
Merge git://git.infradead.org/battery-2.6
* git://git.infradead.org/battery-2.6:
power_supply_sysfs: Handle -ENODATA in a special way
wm831x_backup: Remove unused variables
gta02: Set pcf50633 charger_reference_current_ma
pcf50633: Query charger status directly
pcf50633: Properly reenable charging when the supply conditions change
pcf50633: Get rid of charging restart software auto-triggering
pcf50633: introduces battery charging current control
pcf50633: Add ac power supply class to the charger
wm831x: Factor out WM831x backup battery charger
Linus Torvalds [Tue, 15 Dec 2009 16:58:13 +0000 (08:58 -0800)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: Close usb_find_interface race v3
Revert "USB: Close usb_find_interface race"
Samu Onkalo [Tue, 15 Dec 2009 02:01:46 +0000 (18:01 -0800)]
lis3: update documentation to match latest changes
[
[email protected]: s/q/g/ (Randy)]
Signed-off-by: Samu Onkalo <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Cc: Randy Dunlap <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:46 +0000 (18:01 -0800)]
lis3: scale output values to mg
Report output values as 1/1000 of earth gravity.
Output values from lis3 can be read from sysfs position entry and from
input device. Input device can be accessed as event device and as
joystick device. Joystick device can be in two modes. Meaning of the
output values varies from case to case depending on the chip type and
configuration (scale). Only joystick interface in JS_CORR_BROKEN mode
returned somehow similar output values in different configurations.
Joystick device is in that state by default in case of lis3.
Position sysfs entry, input event device and raw joystick device have been
little bit broken since meaning of the output values has been varied
between 12 and 8 bit devices. Applications which relayed on those methods
failed if the chip is different than the expected one.
This patch converts output values to mean similar thing in different
configurations. Both 8 and 12 bit devices reports now same acceleration
values. If somebody implements full scale support to the driver, output
values will still mean the same. Scaling factor and input device range
must be updated in that case.
Joystick interface in JS_CORR_BROKEN mode is not touched by this patch.
All other interfaces have different scale after this change. For 12 bit
device scaling factor is 0.977 which keeps scaled and unscaled values are
quite close to each others. For 8 bit device, scaled values are 18 times
bigger than unscaled values.
Signed-off-by: Samu Onkalo <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:44 +0000 (18:01 -0800)]
lis3: sysfs entry for setting chip measurement rate
It is possible to read position information at the chip measurement rate
via sysfs. This patch adds possibility to configure chip measurement
rate.
Signed-off-by: Samu Onkalo <[email protected]>
Signed-off-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:43 +0000 (18:01 -0800)]
lis3lv02d: remove calibaration functionality
Chip is calibrated by the manufacturer. There is no need to calibarate it
at driver level. If the chip is used as a joystick, calibaration can be
done using joystick device calibration mechanism.
Signed-off-by: Samu Onkalo <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:43 +0000 (18:01 -0800)]
lis3: selftest support
Implement selftest feature as specified by chip manufacturer. Control:
read selftest sysfs entry
Response: "OK x y z" or "FAIL x y z"
where x, y, and z are difference between selftest mode and normal mode.
Test is passed when values are within acceptance limit values.
Acceptance limits are provided via platform data. See chip spesifications
for acceptance limits. If limits are not properly set, OK / FAIL decision
is meaningless. However, userspace application can still make decision
based on the numeric x, y, z values.
Selftest is meant for HW diagnostic purposes. It is not meant to be
called during normal use of the chip. It may cause false interrupt
events. Selftest mode delays polling of the normal results but it doesn't
cause wrong values. Chip must be in static state during selftest. Any
acceration during the test causes most probably failure.
Signed-off-by: Samu Onkalo <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:41 +0000 (18:01 -0800)]
lis3lv02d: proper power on sequence
Lis3 accelerometer sensors have quite long power on delay (up to 125
ms). This patch adds necessary delay to power on sequence for currently
supported lis3 chips.
Signed-off-by: Samu Onkalo <[email protected]>
Tested-by: Éric Piel <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Éric Piel [Tue, 15 Dec 2009 02:01:40 +0000 (18:01 -0800)]
lis3: fix show rate for 8 bits chips
Originally the driver was only targeted to 12bits sensors. When support
for 8bits sensors was added, some slight difference in the registers were
overlooked. This should fix it, both for initialization, and for
displaying the rate.
Reported-by: Kalhan Trisal <[email protected]>
Reported-by: Christoph Plattner <[email protected]>
Tested-by: Christoph Plattner <[email protected]>
Tested-by: Samu Onkalo <[email protected]>
Signed-off-by: Éric Piel <[email protected]>
Signed-off-by: Samu Onkalo <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Éric Piel [Tue, 15 Dec 2009 02:01:39 +0000 (18:01 -0800)]
lis3: update documentation and comments
Most of the documentation and comments were written when the driver was
only supporting one type of chip, only via ACPI/HP. Update the info to
the much clearer understanding that we have now.
Signed-off-by: Éric Piel <[email protected]>
Signed-off-by: Samu Onkalo <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:39 +0000 (18:01 -0800)]
lis3lv02d: correct memory leak in module unload
polled input device itself was not free'd.
Signed-off-by: Samu Onkalo <[email protected]>
Tested-by: Éric Piel <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Samu Onkalo [Tue, 15 Dec 2009 02:01:38 +0000 (18:01 -0800)]
lis3lv02d: send sync event
Send input_sync after each measurement round. This helps userspace to
detect which reported values belongs to the same measurement.
Signed-off-by: Samu Onkalo <[email protected]>
Tested-by: Éric Piel <[email protected]>
Acked-by: Éric Piel <[email protected]>
Cc: Pavel Machek <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>