Andrew Morton [Mon, 19 Jan 2004 02:57:26 +0000 (18:57 -0800)]
[PATCH] 3c59x: module loading fix
3c59x has a tunable `rx_copybreak'. But it's declared const, so recent gcc's
rub it out altogether, and modprobe says `3c59x: falsely claims to have
parameter rx_copybreak'.
Andrew Morton [Mon, 19 Jan 2004 02:56:51 +0000 (18:56 -0800)]
[PATCH] kNFSd: Fix incorrect call for follow_up
From: NeilBrown <neilb@cse.unsw.edu.au>
follow_up doesn't check that the passed dentry is at the root of the mounted
file system, so we have to do that, to avoid calling follow_up too many
times.
Andrew Morton [Mon, 19 Jan 2004 02:56:34 +0000 (18:56 -0800)]
[PATCH] kNFSd: Fix problem with stale filehandles.
From: NeilBrown <neilb@cse.unsw.edu.au>
nfsd_setuser was not called until after filehandle lookup was done, so
filehandle lookup would use the wrong userid, and so the permission checking
in nfsd_acceptable would be bogus.
Andrew Morton [Mon, 19 Jan 2004 02:56:07 +0000 (18:56 -0800)]
[PATCH] Use request_list as indicator that req originated from ll_rw_blk
From: Mike Christie <michaelc@cs.wisc.edu>,
Jens Axboe <axboe@suse.de>
It's cleaner and more correct to look at req->rl to determine whether this
request got from the block layer requests lists instead of using req->q.
It's handy to always have req->q available, to lookup the queue from the
request.
Andrew Morton [Mon, 19 Jan 2004 02:55:12 +0000 (18:55 -0800)]
[PATCH] v4l: add infrared remote support
From: Gerd Knorr <kraxel@bytesex.org>
This patch adds a module with some helper functions to handle infrared
remotes using the linux input layer. It doesn't do any useful stuff alone,
but the saa7134 and bttv drivers will use that to support the remotes shipped
with some TV cards.
Andrew Morton [Mon, 19 Jan 2004 02:55:03 +0000 (18:55 -0800)]
[PATCH] v4l: bttv driver update
From: Gerd Knorr <kraxel@bytesex.org>
bttv driver update. Changes:
(1) Added a new, sysfs-based interface to allow access to the bt878 gpio
lines from other kernel modules (new bttv-gpio.c file), which fixes alot
of problems the old interface has (which still is in bttv-if.c, to be
removed in 2.7).
(2) moved the i2c code from bttv-if.c to bttv-i2c.c.
(3) created a new "struct bttv_core" and moved some of the entries from
"struct bttv" to the new one. This is needed for (1) and makes the patch
pretty big, althrough there is no actual code changes.
(4) first cut for suspend support (S1 works for me).
(5) usual batch of new/updated tv card list entries.
Andrew Morton [Mon, 19 Jan 2004 02:54:53 +0000 (18:54 -0800)]
[PATCH] v4l: video-buf update
From: Gerd Knorr <kraxel@bytesex.org>
This patch contains video-buf fixes, mainly remove videobuf_lock() and
videobuf_unlock() functions. They are not needed as get_user_pages() locks
down the pages anyway.
Andrew Morton [Mon, 19 Jan 2004 02:54:44 +0000 (18:54 -0800)]
[PATCH] v4l: v4l2 update
From: Gerd Knorr <kraxel@bytesex.org>
This patch is a v4l2 update. Changes:
* added new ioctls (VIDIOC_G_PRIORITY, VIDIOC_S_PRIORITY) to give v4l apps
priorities for tuning and other controls. Main purpose is that backgrounds
applictions like nxtvepg which are fishing informations from /dev/vbi
(teletext, epg, ...) can run at lower priority than interactive tv apps and
thus the user isn't annonyed with unexpected channel switches.
* add a set of helper functions to handle priorities to the v4l2-common
module.
Andrew Morton [Mon, 19 Jan 2004 02:54:35 +0000 (18:54 -0800)]
[PATCH] v4l: videodev update
From: Gerd Knorr <kraxel@bytesex.org>
This patch fixes some v4l2 ioctl #defines which have wrong _IO* macros. It
also adds a function which maps the old numbers to to new ones to maintain
binary backward compatibility.
Andrew Morton [Mon, 19 Jan 2004 02:46:20 +0000 (18:46 -0800)]
[PATCH] sn: Fix the last patch - missed an IS_PIC_SOFT and needed the CG definition
From: Pat Gefre <pfg@sgi.com>
Fix the last patch - missed an IS_PIC_SOFT and needed the CG definition
Header file clean up
Added some __init definitions for functions that were init only
Removed some 'porting' code - replaced it with linux calls/defintions
Cleaned up some of the types we were using (ones that had been added)
Fixed include files that had the wrong path in their ifdef'd names
Andrew Morton [Mon, 19 Jan 2004 02:43:54 +0000 (18:43 -0800)]
[PATCH] const vs. __attribute__((const)) confusion
From: "H. Peter Anvin" <hpa@zytor.com>
Declaring a function to return a const scalar value is pretty meaningless.
These functions are really trying to say that they don't alter any external
state.
Fix that up by using __attribute__((const)), if the compiler supports that.
Andrew Morton [Mon, 19 Jan 2004 02:43:46 +0000 (18:43 -0800)]
[PATCH] s390: endless loop in follow_page.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Fix endless loop in get_user_pages() on s390. It happens only on s/390
because pte_dirty always returns 0. For all other architectures this is an
optimization.
In the case of "write && !pte_dirty(pte)" follow_page() returns NULL. On all
architectures except s390 handle_pte_fault() will then create a pte with
pte_dirty(pte)==1 because write_access==1. In the following, second call to
follow_page() all is fine. With the physical dirty bit patch pte_dirty() is
always 0 for s/390 because the dirty bit doesn't live in the pte.
Andrew Morton [Mon, 19 Jan 2004 02:43:37 +0000 (18:43 -0800)]
[PATCH] s390: superflous flush_tlb_range calls.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
while searching for a s390 tlb flush problem I noticed some superflous tlb
flushes. One in zeromap_page_range, one in remap_page_range, and another one
in filemap_sync. The patch just adds comments but I think these three
flush_tlb_range calls can be removed.
Andrew Morton [Mon, 19 Jan 2004 02:43:19 +0000 (18:43 -0800)]
[PATCH] s390: rmap optimization.
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
while working on my mm patch for s390 I played with rmap a bit, adding
BUG statements and the like. While doing so I noticed some room for
improvement in rmap. Its minor stuff but anyway...
The first observation is that the pte chain array doesn't have holes,
meaning that from the pte_chain_idx() of the first array every slot of
all following pte chain arrays are full. That is there can't be NULL
pointers. The "if (!pte_paddr)" check in try_to_unmap() can be removed
and if the loop in page_referenced() is started from pte_chain_idx(pc)
then the "if (!pte_paddr)" in page_referenced() can be removed as well.
The second observation is that the first pte array of a pte chain has
at least one entry. Empty pte chain arrays are always freed immediatly
after the last entry was removed. Because of that victim_i can be
calculated in a simpler way. Instead of setting victim_i to -1 and then
check in each loop iteration against -1 victim_i can just be set to
the pte_chain_idx of the first pte chain array.