]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
18 years ago[GFS2] test for IS_ERR rather than 0
Julia Lawall [Mon, 24 Mar 2008 18:08:48 +0000 (19:08 +0100)]
[GFS2] test for IS_ERR rather than 0

The function gfs2_inode_lookup always returns either a valid pointer or a
value made with ERR_PTR, so its result should be tested with IS_ERR, not
with a test for 0.

The problem was found using the following semantic match.
(http://www.emn.fr/x-info/coccinelle/)

//<smpl>
@a@
expression E, E1;
statement S,S1;
position p;
@@

E = gfs2_inode_lookup(...)
... when != E = E1
if@p (E) S else S1

@n@
position a.p;
expression E,E1;
statement S,S1;
@@

E = NULL
... when != E = E1
if@p (E) S else S1

@depends on !n@
expression E;
statement S,S1;
position a.p;
@@

* if@p (E)
  S else S1
//</smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Invalidate cache at correct point
Benjamin Marzinski [Fri, 14 Mar 2008 18:52:52 +0000 (13:52 -0500)]
[GFS2] Invalidate cache at correct point

GFS2 wasn't invalidating its cache before it called into the lock manager
with a request that could potentially drop a lock.  This was leaving a
window where the lock could be actually be held by another node, but the
file's page cache would still appear valid, causing coherency problems.
This patch moves the cache invalidation to before the lock manager call
when dropping a lock. It also adds the option to the lock_dlm lock
manager to not use conversion mode deadlock avoidance, which, on a
conversion from shared to exclusive, could internally drop the lock, and
then reacquire in. GFS2 now asks lock_dlm to not do this.  Instead, GFS2
manually drops the lock and reacquires it.

Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] fs/gfs2/recovery.c: suppress warnings
akpm@linux-foundation.org [Wed, 12 Mar 2008 21:01:29 +0000 (14:01 -0700)]
[GFS2] fs/gfs2/recovery.c: suppress warnings

fs/gfs2/recovery.c: In function 'get_log_header':
fs/gfs2/recovery.c:152: warning: 'lh.lh_sequence' may be used uninitialized in this function
fs/gfs2/recovery.c:152: warning: 'lh.lh_flags' may be used uninitialized in this function
fs/gfs2/recovery.c:152: warning: 'lh.lh_tail' may be used uninitialized in this function
fs/gfs2/recovery.c:152: warning: 'lh.lh_blkno' may be used uninitialized in this function
fs/gfs2/recovery.c:152: warning: 'lh.lh_hash' may be used uninitialized in this function

Cc: David Teigland <teigland@redhat.com>
Cc: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Faster gfs2_bitfit algorithm
Bob Peterson [Mon, 10 Mar 2008 23:17:47 +0000 (18:17 -0500)]
[GFS2] Faster gfs2_bitfit algorithm

This version of the gfs2_bitfit algorithm includes the latest
suggestions from Steve Whitehouse.  It is typically eight to
ten times faster than the version we're using today.  If there
is a lot of metadata mixed in (lots of small files) the
algorithm is often 15 times faster, and given the right
conditions, I've seen peaks of 20 times faster.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Streamline quota lock/check for no-quota case
Steven Whitehouse [Mon, 10 Mar 2008 15:34:50 +0000 (15:34 +0000)]
[GFS2] Streamline quota lock/check for no-quota case

This patch streamlines the quota checking in the "no quota" case by
making the check inline in the calling function, thus reducing the
number of function calls. Eventually we might be able to remove the
checks from the gfs2_quota_lock() and gfs2_quota_check() functions, but
currently we can't as there are a very few places in the code which need
to call these functions directly still.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Abhijith Das <adas@redhat.com>
18 years ago[GFS2] Remove drop of module ref where not needed
Steven Whitehouse [Mon, 10 Mar 2008 10:13:31 +0000 (10:13 +0000)]
[GFS2] Remove drop of module ref where not needed

In an earlier patch "[GFS2] fix file_system_type leak on gfs2meta mount"
we removed the code to grab a ref to the module which was not needed
(since we know that the module cannot be unloaded at that time) so
this patch removes the code to drop that reference.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] gfs2_adjust_quota has broken unstuffing code
Abhijith Das [Thu, 6 Mar 2008 23:43:52 +0000 (17:43 -0600)]
[GFS2] gfs2_adjust_quota has broken unstuffing code

This patch combines the 2 patches in bug 434736 to correct the lock
ordering in the unstuffing of the quota inode in gfs2_adjust_quota and
adjusting the number of revokes in gfs2_write_jdata_pagevec

Signed-off-by: Abhijith Das <adas@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] possible null pointer dereference fixup
Cyrill Gorcunov [Mon, 3 Mar 2008 18:54:21 +0000 (21:54 +0300)]
[GFS2] possible null pointer dereference fixup

gfs2_alloc_get may fail so we have to check it to prevent
NULL pointer dereference.

Signed-off-by: Cyrill Gorcunov <gorcunov@gamil.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Need to ensure that sector_t is 64bits for GFS2
Steven Whitehouse [Wed, 27 Feb 2008 17:56:27 +0000 (17:56 +0000)]
[GFS2] Need to ensure that sector_t is 64bits for GFS2

We need to ensure that sector_t is 64bits for GFS2, so that we need to
depend on LBD as well as LSF.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] re-support special inode
Denis Cheng [Tue, 26 Feb 2008 07:25:04 +0000 (15:25 +0800)]
[GFS2] re-support special inode

a previous commit removed call to
init_special_inode from inode lookuping, this cause problems as:

 # mknod /mnt/gfs2/dev/null c 1 3
 # cat /mnt/gfs2/dev/null
 cat: /mnt/gfs2/dev/null: Invalid argument

without special inode, GFS2 cannot support char device file,
block device file, fifo pipe, and socket file, lose many important
features as a common file system.

this one line patch re add special inode support.

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] remove gfs2_dev_iops
Denis Cheng [Tue, 26 Feb 2008 07:25:03 +0000 (15:25 +0800)]
[GFS2] remove gfs2_dev_iops

struct inode_operations gfs2_dev_iops is always the same as gfs2_file_iops,
since Jan 2006, when GFS2 merged into mainstream kernel.

So one of them could be removed.

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] fix file_system_type leak on gfs2meta mount
Christoph Hellwig [Mon, 25 Feb 2008 17:58:36 +0000 (18:58 +0100)]
[GFS2] fix file_system_type leak on gfs2meta mount

get_gfs2_sb does a get_fs_type without doing a put_filesystem and
thus leaking a file_system_type reference everytime it's called.

Just use gfs2_fs_type directly instead of doing the lookup and thus
fix the problem.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Allow bmap to allocate extents
Steven Whitehouse [Fri, 22 Feb 2008 16:09:31 +0000 (16:09 +0000)]
[GFS2] Allow bmap to allocate extents

We've supported mapping of extents when no block allocation is required
for some time. This patch extends that to mapping of extents when an
allocation has been requested. In that case we try to allocate as many
blocks as are requested, but we might return fewer in case there is
something preventing us from returning the complete amount (e.g. an
already allocated block is in the way).

Currently the only code path which can actually request multiple data
blocks in a single bmap call is the page_mkwrite path and even then it
only happens if there are multiple blocks per page. What this patch does
do however, is merge the allocation requests for metadata (growing the
metadata tree in either height or depth) with the allocation of the data
blocks in the case that both are needed. This results in lower overheads
even in the single block allocation case.

The one thing which we can't handle here at the moment is unstuffing. I
would like to be able to do that, but the problem which arises is that
in order to unstuff one has to get a locked page from the page cache
which results in locking problems in the (usual) case that the caller is
holding the page lock on the page it wishes to map. So that case will
have to be addressed in future patches.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Fix a page lock / glock deadlock
Steven Whitehouse [Fri, 22 Feb 2008 16:07:18 +0000 (16:07 +0000)]
[GFS2] Fix a page lock / glock deadlock

We've previously been using a "try lock" in readpage on the basis that
it would prevent deadlocks due to the inverted lock ordering (our normal
lock ordering is glock first and then page lock). Unfortunately tests
have shown that this isn't enough. If the glock has a demote request
queued such that run_queue() in the glock code tries to do a demote when
its called under readpage then it will try and write out all the dirty
pages which requires locking them. This then deadlocks with the page
locked by readpage.

The solution is to always require two calls into readpage. The first
unlocks the page, gets the glock and returns AOP_TRUNCATED_PAGE, the
second does the actual readpage and unlocks the glock & page as
required.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops
Adrian Bunk [Sun, 17 Feb 2008 08:20:34 +0000 (10:20 +0200)]
[GFS2] proper extern for gfs2/locking/dlm/mount.c:gdlm_ops

This patch adds a proper extern declaration for gdlm_ops in
fs/gfs2/locking/dlm/lock_dlm.h

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] gfs2/ops_file.c should #include "ops_inode.h"
Adrian Bunk [Sun, 17 Feb 2008 08:17:12 +0000 (10:17 +0200)]
[GFS2] gfs2/ops_file.c should #include "ops_inode.h"

Every file should include the headers containing the prototypes for
its global functions (in this case for gfs2_set_inode_flags()).

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] be*_add_cpu conversion
Marcin Slusarz [Tue, 12 Feb 2008 23:06:10 +0000 (00:06 +0100)]
[GFS2] be*_add_cpu conversion

replace all:
big_endian_variable = cpu_to_beX(beX_to_cpu(big_endian_variable) +
expression_in_cpu_byteorder);
with:
beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder);
generated with semantic patch

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Fix bug where we called drop_bh incorrectly
Steven Whitehouse [Tue, 12 Feb 2008 15:28:21 +0000 (15:28 +0000)]
[GFS2] Fix bug where we called drop_bh incorrectly

As a result of an earlier patch, drop_bh was being called in cases
when it shouldn't have been. Since we never have a gh in the drop
case and we always have a gh in the promote case, we can use that
extra information to tell which case has been seen.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: Bob Peterson <rpeterso@redhat.com>
18 years ago[GFS2] Get inode buffer only once per block map call
Steven Whitehouse [Tue, 12 Feb 2008 14:48:39 +0000 (14:48 +0000)]
[GFS2] Get inode buffer only once per block map call

In the case that we needed to grow the height of the metadata tree
we were looking up the inode buffer and then brelse()ing it despite
the fact that it is needed later in the block map process.

This patch ensures that we look up the inode's buffer once and only
once during the block map process.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Eliminate (almost) duplicate field from gfs2_inode
Steven Whitehouse [Tue, 12 Feb 2008 14:17:27 +0000 (14:17 +0000)]
[GFS2] Eliminate (almost) duplicate field from gfs2_inode

The blocks counter is almost a duplicate of the i_blocks
field in the VFS inode. The only difference is that i_blocks
can be only 32bits long for 32bit arch without large single file
support. Since GFS2 doesn't handle the non-large single file
case (for 32 bit anyway) this adds a new config dependency on
64BIT || LSF. This has always been the case, however we've never
explicitly said so before.

Even if we do add support for the non-LSF case, we will still
not require this field to be duplicated since we will not be
able to access oversized files anyway.

So the net result of all this is that we shave 8 bytes from a gfs2_inode
and get our config deps correct.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Add a function to interate over an extent
Steven Whitehouse [Fri, 8 Feb 2008 13:18:11 +0000 (13:18 +0000)]
[GFS2] Add a function to interate over an extent

This adds a function (currently the only use is during mapping
of already allocated blocks, but watch this space) which iterates
over a number of pointers in a block and returns the extent length.

If the initial pointer is 0 (i.e. unallocated) it will return the
number of unallocated blocks in the extent. If the initial pointer
is allocated, then it returns the number of contiguously allocated
blocks in the extent.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] The case of the missing asterisk
Steven Whitehouse [Tue, 12 Feb 2008 12:14:59 +0000 (12:14 +0000)]
[GFS2] The case of the missing asterisk

A dereference was forgotten. This adds it back correctly.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Add extent allocation to block allocator
Steven Whitehouse [Wed, 6 Feb 2008 10:11:15 +0000 (10:11 +0000)]
[GFS2] Add extent allocation to block allocator

Rather than having to allocate a single block at a time, this patch
allows the block allocator to allocate an extent. Since there is
no difference (so far as the block allocator is concerned) between
data blocks and indirect blocks, it is posible to allocate a single
extent and for the caller to unrevoke just the blocks required
for indirect blocks.

Currently the only bit of GFS2 to make use of this feature is the
build height function. The intention is that gfs2_block_map will
be changed to make use of this feature in future patches.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Merge gfs2_alloc_meta and gfs2_alloc_data
Steven Whitehouse [Fri, 1 Feb 2008 14:52:30 +0000 (14:52 +0000)]
[GFS2] Merge gfs2_alloc_meta and gfs2_alloc_data

Thanks to the preceeding patches, the only difference between
these two functions is their name. We can thus merge them
and call the new function gfs2_alloc_block to reflect the
fact that it can allocate either kind of block.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Update gfs2_trans_add_unrevoke to accept extents
Steven Whitehouse [Fri, 1 Feb 2008 13:16:55 +0000 (13:16 +0000)]
[GFS2] Update gfs2_trans_add_unrevoke to accept extents

By adding an extra argument to gfs2_trans_add_unrevoke we can now
specify an extent length of blocks to unrevoke. This means that
we only need to make one pass through the list for each extent
rather than each block. Currently the only extent length which
is used is 1, but that will change in the future.

Also gfs2_trans_add_unrevoke is removed from gfs2_alloc_meta
since its the only difference between this and gfs2_alloc_data
which is left. This will allow a future patch to merge these
two functions into one (i.e. one call to allocate both data
and metadata in a single extent in the future).

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Merge the rd_last_alloc_meta and rd_last_alloc_data fields
Steven Whitehouse [Fri, 1 Feb 2008 10:34:15 +0000 (10:34 +0000)]
[GFS2] Merge the rd_last_alloc_meta and rd_last_alloc_data fields

We don't need to keep track of when we last allocated data
and metadata separately since the only thing thats important
when searching for a free block is whether its free or not,
which is independent from what type of block it is.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Reduce inode size by merging fields
Steven Whitehouse [Wed, 6 Feb 2008 09:25:45 +0000 (09:25 +0000)]
[GFS2] Reduce inode size by merging fields

There were three fields being used to keep track of the location
of the most recently allocated block for each inode. These have
been merged into a single field in order to better keep the
data and metadata for an inode close on disk, and also to reduce
the space required for storage.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Remove unused counters
Bob Peterson [Tue, 5 Feb 2008 23:11:40 +0000 (17:11 -0600)]
[GFS2] Remove unused counters

This is kind of trivial in the greater scheme of things, but
this removes three counters that AFAICT are never used.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Shrink & rename di_depth
Steven Whitehouse [Fri, 1 Feb 2008 09:23:44 +0000 (09:23 +0000)]
[GFS2] Shrink & rename di_depth

This patch forms a pair with the previous patch which shrunk
di_height. Like that patch di_depth is renamed i_depth and moved
into struct gfs2_inode directly. Also the field goes from 16 bits
to 8 bits since it is also limited to a max value which is rather
small (17 in this case). In addition we also now validate the field
against this maximum value when its read in.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Remove rgrp and glock version numbers
Bob Peterson [Thu, 31 Jan 2008 16:31:39 +0000 (10:31 -0600)]
[GFS2] Remove rgrp and glock version numbers

This patch further reduces GFS2's memory requirements by
eliminating the 64-bit version number fields in lieu of
a couple bits.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Remove lm.[ch] and distribute content
Steven Whitehouse [Wed, 30 Jan 2008 15:34:04 +0000 (15:34 +0000)]
[GFS2] Remove lm.[ch] and distribute content

The functions in lm.c were just wrappers which were mostly
only used in one other file. By moving the functions to
the files where they are being used, they can be marked
static and also this will usually result in them being inlined
since they are often only used from one point in the code.

A couple of really trivial functions have been inlined by hand
into the function which called them as it makes the code clearer
to do that.

We also gain from one fewer function call in the glock lock and
unlock paths.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Eliminate gl_req_bh
Bob Peterson [Tue, 29 Jan 2008 19:56:15 +0000 (13:56 -0600)]
[GFS2] Eliminate gl_req_bh

This patch further reduces the memory needs of GFS2 by
eliminating the gl_req_bh variable from struct gfs2_glock.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Add consts to various bits of rgrp.c
Steven Whitehouse [Tue, 29 Jan 2008 13:30:20 +0000 (13:30 +0000)]
[GFS2] Add consts to various bits of rgrp.c

There are a couple of routines which scan bitmaps where we can
mark the bitmaps const, plus a couple of call sites that can
be updated too.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Introduce array of buffers to struct metapath
Steven Whitehouse [Tue, 29 Jan 2008 09:12:55 +0000 (09:12 +0000)]
[GFS2] Introduce array of buffers to struct metapath

The reason for doing this is to allow all the block mapping code
to share the same array. As a result we can remove two arguments
from lookup_metapath since they are now returned via the array.

We also add a function to drop all refs to buffer heads when we
are done with the metapath. The build_height function shares the
struct metapath, but currently still frees its own buffers, and
this will change in a future patch.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Move part of gfs2_block_map into a separate function
Steven Whitehouse [Mon, 28 Jan 2008 15:10:29 +0000 (15:10 +0000)]
[GFS2] Move part of gfs2_block_map into a separate function

This is required to enable future changes to the block
mapping code.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Get rid of gl_waiters2
Bob Peterson [Tue, 29 Jan 2008 04:31:39 +0000 (22:31 -0600)]
[GFS2] Get rid of gl_waiters2

This patch reduces memory by replacing the int variable
gl_waiters2 by a single bit in the gl_flags.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Combine rg_flags and rd_flags
Bob Peterson [Tue, 29 Jan 2008 00:38:07 +0000 (18:38 -0600)]
[GFS2] Combine rg_flags and rd_flags

This patch reduces the memory required by GFS2 by combining
the rd_flags and rg_flags (in core only).

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Allocate gfs2_rgrpd from slab memory
Bob Peterson [Mon, 28 Jan 2008 23:20:26 +0000 (17:20 -0600)]
[GFS2] Allocate gfs2_rgrpd from slab memory

This patch moves the gfs2_rgrpd structure to its own slab
memory.  This makes it easier to control and monitor, and
yields less memory fragmentation.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Plug an unlikely leak
Bob Peterson [Mon, 28 Jan 2008 22:35:13 +0000 (16:35 -0600)]
[GFS2] Plug an unlikely leak

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] make gfs2_glock_hold() static
Adrian Bunk [Mon, 28 Jan 2008 22:11:34 +0000 (00:11 +0200)]
[GFS2] make gfs2_glock_hold() static

gfs2_glock_hold() can now become static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Only wake the reclaim daemon if we need to
Bob Peterson [Mon, 28 Jan 2008 20:54:16 +0000 (14:54 -0600)]
[GFS2] Only wake the reclaim daemon if we need to

This patch only wakes up the glock reclaim daemon if there is
actually something to be reclaimed.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Misc fixups
Bob Peterson [Mon, 28 Jan 2008 17:24:35 +0000 (11:24 -0600)]
[GFS2] Misc fixups

This patch contains two small fixups that didn't fit elsewhere.
They are: (1) get rid of temp variable in find_metapath.
(2) Remove vestigial "ret" variable from gfs2_writepage_common.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Only do lo_incore_commit once
Bob Peterson [Mon, 28 Jan 2008 17:20:10 +0000 (11:20 -0600)]
[GFS2] Only do lo_incore_commit once

This patch is performance related.  When we're doing a log flush,
I noticed we were calling buf_lo_incore_commit twice: once for
data bufs and once for metadata bufs.  Since this is the same
function and does the same thing in both cases, there should be
no reason to call it twice.  Since we only need to call it once,
we can also make it faster by removing it from the generic "lops"
code and making it a stand-along static function.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Fix debug inode printing
Bob Peterson [Mon, 28 Jan 2008 17:15:57 +0000 (11:15 -0600)]
[GFS2] Fix debug inode printing

I noticed that the latest change to i_height got rid of the
value from the inode dump.  This patch adds it back.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Get rid of unneeded parameter in gfs2_rlist_alloc
Bob Peterson [Mon, 28 Jan 2008 17:13:02 +0000 (11:13 -0600)]
[GFS2] Get rid of unneeded parameter in gfs2_rlist_alloc

This patch removed the unnecessary parameter from function
gfs2_rlist_alloc.  The parameter was always passed in as 0.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Streamline indirect pointer tree height calculation
Steven Whitehouse [Mon, 28 Jan 2008 10:37:35 +0000 (10:37 +0000)]
[GFS2] Streamline indirect pointer tree height calculation

This patch improves the calculation of the tree height in order to reduce
the number of operations which are carried out on each call to gfs2_block_map.
In the common case, we now make a single comparison, rather than calculating
the required tree height from scratch each time. Also in the case that the
tree does need some extra height, we start from the current height rather from
zero when we work out what the new height ought to be.

In addition the di_height field is moved into the inode proper and reduced
in size to a u8 since the value must be between 0 and GFS2_MAX_META_HEIGHT (10).

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years ago[GFS2] Speed up gfs2_write_alloc_required, deprecate gfs2_extent_map
Steven Whitehouse [Mon, 28 Jan 2008 08:47:38 +0000 (08:47 +0000)]
[GFS2] Speed up gfs2_write_alloc_required, deprecate gfs2_extent_map

This patch removes the call to gfs2_extent_map from gfs2_write_alloc_required,
instead we call gfs2_block_map directly. This results in fewer overall calls
to gfs2_block_map in the multi-block case.

Also, gfs2_extent_map is marked as deprecated so that people know that its
going away as soon as all the callers have been converted.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
18 years agons9xxx: add clock api
Uwe Kleine-König [Wed, 6 Feb 2008 14:22:56 +0000 (15:22 +0100)]
ns9xxx: add clock api

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: add support for irq priorisation
Uwe Kleine-König [Tue, 11 Dec 2007 15:52:50 +0000 (16:52 +0100)]
ns9xxx: add support for irq priorisation

prio2irq(0) is the highest prioritized interrupt.  For now there is no
binary change intended.

If you intend to change the priorisation, you have to assert:

∀ x ∈ {0, 1, ⋯ 31}: (irq2prio ∘ prio2irq)(x) = x

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years ago[NET]: Fix allnoconfig build on powerpc and avr32
David S. Miller [Mon, 31 Mar 2008 07:28:14 +0000 (00:28 -0700)]
[NET]: Fix allnoconfig build on powerpc and avr32

As reported by Haavard Skinnemoen and Stephen Rothwell:

> allnoconfig fails with
>
> include/linux/netdevice.h:843: error: implicit declaration of function 'dev_net'
>
> which seems to be because the definition of dev_net is inside #ifdef
> CONFIG_NET, while next_net_device, which calls it, is not.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agosh: Fix up uImage compression type
Yoshihiro Shimoda [Fri, 28 Mar 2008 06:03:39 +0000 (15:03 +0900)]
sh: Fix up uImage compression type

Fix up uImage compression type.

Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agoremove include/asm-sh/floppy.h
Adrian Bunk [Sun, 30 Mar 2008 22:53:43 +0000 (01:53 +0300)]
remove include/asm-sh/floppy.h

This patch removes the unused include/asm-sh/floppy.h
(ARCH_MAY_HAVE_PC_FDC was not enabled).

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
18 years agons9xxx: make use of the chip's irq priorisation
Uwe Kleine-König [Fri, 29 Feb 2008 12:27:53 +0000 (13:27 +0100)]
ns9xxx: make use of the chip's irq priorisation

The irq controller automatically masks the current and all lower prioritised
tasks until the current irq is acked.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: let putc autodetect where to write
Uwe Kleine-König [Wed, 6 Feb 2008 14:10:41 +0000 (15:10 +0100)]
ns9xxx: let putc autodetect where to write

Now putc writes to the first enabled internal UART.  If there is none
the external UART on the a9m9750dev board is used (if enabled).
Otherwise there is no output.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: prepare for adding support for Digi ns921x processors
Uwe Kleine-König [Fri, 15 Feb 2008 07:41:06 +0000 (08:41 +0100)]
ns9xxx: prepare for adding support for Digi ns921x processors

The hardware team changed some things that were taken as being common to
all ns9xxx processors up to now.

This patch addresses:

- irqs: s/IRQ_/IRQ_NS9360_/

- system module registers: some registers are still general, their
  definition lives now in include/asm-arm/arch-ns9xxx/regs-sys-common.h.
  The ns9360 specific ones are in .../regs-sys-ns9360.h
  As a result ns9360_systemclock cannot be static inline any more as its
  definition needs regs-sys-ns9360.h.  This becomes a real problem when
  adding support for ns9215 as this will need regs-sys-ns9215.h and
  including both files will not work.  For the same reason
  ns9360_reset() is now non-inline and gpio functions live in their own
  file.

- register mapping: s/ns9xxx_map_io/ns9360_map_io/

- timer registers:  move time.c to time-ns9360.c;
  s/ns9xxx_timer/ns9360_timer/

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: update defconfig
Uwe Kleine-König [Tue, 8 Jan 2008 10:42:44 +0000 (11:42 +0100)]
ns9xxx: update defconfig

- add all available mach types for ns9xxx even if the corresponding
  variables don't exist yet.
- minimize such that only relevant variables are defined.  For others the
  default value is used.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: add module_is_..., processor_is_... and board_is_... for many machs
Uwe Kleine-König [Tue, 16 Oct 2007 14:56:05 +0000 (16:56 +0200)]
ns9xxx: add module_is_..., processor_is_... and board_is_... for many machs

Most of the machines are not yet supported, but I have to start somewhere.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: introduce a config variable for the cc9p9360 module
Uwe Kleine-König [Tue, 16 Oct 2007 13:32:59 +0000 (15:32 +0200)]
ns9xxx: introduce a config variable for the cc9p9360 module

Moreover now it's the module that selects the processor, and not the machine
anymore.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: Use get_irqnr_preamble to initialize base register
Uwe Kleine-König [Tue, 16 Oct 2007 06:03:00 +0000 (08:03 +0200)]
ns9xxx: Use get_irqnr_preamble to initialize base register

This patch optimizes the irq handling a bit.  Now the base register is only
computed once if more than one irq is pending.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: use default text offset
Uwe Kleine-König [Tue, 5 Feb 2008 15:08:50 +0000 (16:08 +0100)]
ns9xxx: use default text offset

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agons9xxx: move registration of serial8250 to a dedicated file
Uwe Kleine-König [Thu, 31 Jan 2008 13:20:21 +0000 (14:20 +0100)]
ns9xxx: move registration of serial8250 to a dedicated file

Now the needed structs are allocated dynamically from __init code reducing
memory usage if the kernel runs on a board different from a9m9750dev.

Signed-off-by: Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
18 years agofix uevent action-string regression
Mark Lord [Fri, 28 Mar 2008 23:05:25 +0000 (19:05 -0400)]
fix uevent action-string regression

Mark Lord wrote:
>
> On boot, syslog is flooded with "uevent: unsupported action-string;" messages.
..
> Mar 28 14:43:29 shrimp kernel: tty ptyqd: uevent: unsupported
> action-string; this will be ignored in a future kernel version
> Mar 28 14:43:29 shrimp kernel: tty ptyqe: uevent: unsupported
> action-string; this will be ignored in a future kernel version
> Mar 28 14:43:29 shrimp kernel: tty ptyqf: uevent: unsupported
> action-string; this will be ignored in a future kernel version
> Mar 28 14:43:29 shrimp kernel: tty ptyr0: uevent: unsupported
> action-string; this will be ignored in a future kernel version
..

These messages are a regression compared with 2.6.24, which did not
flood the syslog with them.

The actual underlying problem was introduced in 2.6.23, when somebody
made the string parsing no longer accept nul-terminated strings as a
valid input to store_uevent().

Eg.  "add\0" was valid prior to 2.6.23, where the code regressed to
require "add" without the '\0'.

This patch fixes the 2.6.23 / 2.6.24 regressions, by having the code
once again tolerate the trailing '\0', if present.

According to GregKH, this mainly affects older Ubuntu systems, such as
the one I have here that requires this fix.

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoevdev: Release eventual input device grabs when getting disconnected
Björn Steinbrink [Sun, 30 Mar 2008 18:42:59 +0000 (20:42 +0200)]
evdev: Release eventual input device grabs when getting disconnected

When getting disconnected we need to release eventual grabs on the
underlying input device as we also release the input device itself.
Otherwise, we would try to release the grab when the client that
requested it closes its handle, accessing the input device which
might already be freed.

Signed-off-by: Björn Steinbrink <B.Steinbrink@gmx.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agosound/oss/ac97_codec.c: restore MODULE_LICENSE
Adrian Bunk [Sun, 30 Mar 2008 16:53:23 +0000 (19:53 +0300)]
sound/oss/ac97_codec.c: restore MODULE_LICENSE

I accidentally removed the module license from sound/oss/ac97_codec.c in
commit 83bad1d764b836a482b88e0a1f44d7a5c3e1fee0 ("scheduled OSS driver
removal")

Spotted by Roland <devzero@web.de>.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMerge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Sun, 30 Mar 2008 21:27:01 +0000 (14:27 -0700)]
Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: fix for non-coherent DMA PowerPC
  drm: radeon: fix sparse integer as NULL pointer warnings in radeon_mem.c
  drm/i915: fix oops on agp=off
  drm/r300: fix bug in r300 userspace hardware wait emission

18 years agoMerge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzi...
Linus Torvalds [Sun, 30 Mar 2008 21:26:27 +0000 (14:26 -0700)]
Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  libata: ATA_EHI_LPM should be ATA_EH_LPM
  pata_sil680: only enable MMIO on Cell blades

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Sun, 30 Mar 2008 21:24:32 +0000 (14:24 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide: fix defining SUPPORT_VLB_SYNC
  Revert "ide: change master/slave IDENTIFY order"

18 years agodm9000 trivial annotation
Al Viro [Sat, 29 Mar 2008 03:11:08 +0000 (03:11 +0000)]
dm9000 trivial annotation

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agomfd/asic3: ioread/iowrite take pointer, not unsigned long
Al Viro [Sat, 29 Mar 2008 03:10:58 +0000 (03:10 +0000)]
mfd/asic3: ioread/iowrite take pointer, not unsigned long

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agozr364xx __user annotations
Al Viro [Sat, 29 Mar 2008 03:10:48 +0000 (03:10 +0000)]
zr364xx __user annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agopowerpc/pseries/xcis: ansify
Al Viro [Sat, 29 Mar 2008 03:10:38 +0000 (03:10 +0000)]
powerpc/pseries/xcis: ansify

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agotrivial endianness annotations: infiniband core
Al Viro [Sat, 29 Mar 2008 03:10:28 +0000 (03:10 +0000)]
trivial endianness annotations: infiniband core

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agofix the broken annotations in fsldma
Al Viro [Sat, 29 Mar 2008 03:10:18 +0000 (03:10 +0000)]
fix the broken annotations in fsldma

 a) every bitwise declaration will give a unique type; use typedefs.

 b) no need to bother with the stuff pointed to by iomem pointers,
    unless it's accessed directly.  noderef will force us to use helpers
    anyway.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years ago8250_pci: duplicate initializer in array ([pbn_b0_8_115200])
Al Viro [Sat, 29 Mar 2008 03:10:08 +0000 (03:10 +0000)]
8250_pci: duplicate initializer in array ([pbn_b0_8_115200])

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodrivers/crypto/hifn_795x.c trivial endianness annotations
Al Viro [Sat, 29 Mar 2008 03:09:58 +0000 (03:09 +0000)]
drivers/crypto/hifn_795x.c trivial endianness annotations

NB: remaining endianness warnings in the file are, AFAICS, real bugs.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agovirtio_pci iomem annotations
Al Viro [Sat, 29 Mar 2008 03:09:48 +0000 (03:09 +0000)]
virtio_pci iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodma_page_list ->base_address is a userland pointer
Al Viro [Sat, 29 Mar 2008 03:09:38 +0000 (03:09 +0000)]
dma_page_list ->base_address is a userland pointer

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agocifs: fix misannotations
Al Viro [Sat, 29 Mar 2008 03:09:18 +0000 (03:09 +0000)]
cifs: fix misannotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agocompat_sys_wait4() prototype misannotation
Al Viro [Sat, 29 Mar 2008 03:09:28 +0000 (03:09 +0000)]
compat_sys_wait4() prototype misannotation

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agofix iomem misannotations in nozomi
Al Viro [Sat, 29 Mar 2008 03:09:08 +0000 (03:09 +0000)]
fix iomem misannotations in nozomi

aka if you see a force-cast, be very suspicious...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-and-tested-by: Frank Seidel <fseidel@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agovma_map: use proper pointer types
Al Viro [Sat, 29 Mar 2008 03:08:58 +0000 (03:08 +0000)]
vma_map: use proper pointer types

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agodrivers/char/n_tty.c misannotated prototype
Al Viro [Sat, 29 Mar 2008 03:08:48 +0000 (03:08 +0000)]
drivers/char/n_tty.c misannotated prototype

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoNULL noise: frv cmpxchg()
Al Viro [Sat, 29 Mar 2008 03:08:18 +0000 (03:08 +0000)]
NULL noise: frv cmpxchg()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agonet/rxrpc trivial annotations
Al Viro [Sat, 29 Mar 2008 03:08:38 +0000 (03:08 +0000)]
net/rxrpc trivial annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agomisc __user misannotations (pointless casts to long)
Al Viro [Sat, 29 Mar 2008 03:08:28 +0000 (03:08 +0000)]
misc __user misannotations (pointless casts to long)

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoioat_dca __iomem annotations
Al Viro [Sat, 29 Mar 2008 03:08:08 +0000 (03:08 +0000)]
ioat_dca __iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoNULL noise: drivers/misc
Al Viro [Sat, 29 Mar 2008 03:07:48 +0000 (03:07 +0000)]
NULL noise: drivers/misc

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoNULL noise: drivers/media
Al Viro [Sat, 29 Mar 2008 03:07:38 +0000 (03:07 +0000)]
NULL noise: drivers/media

Acked-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agofutex_compat __user annotation
Al Viro [Sat, 29 Mar 2008 03:07:58 +0000 (03:07 +0000)]
futex_compat __user annotation

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoNULL noise: fs/*, mm/*, kernel/*
Al Viro [Sat, 29 Mar 2008 03:07:28 +0000 (03:07 +0000)]
NULL noise: fs/*, mm/*, kernel/*

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agojbd/jbd2 NULL noise
Al Viro [Sat, 29 Mar 2008 03:07:18 +0000 (03:07 +0000)]
jbd/jbd2 NULL noise

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoFix a typo in highres.txt
Will Newton [Fri, 28 Mar 2008 19:39:17 +0000 (19:39 +0000)]
Fix a typo in highres.txt

A small patch for the highres timers documentation:

Signed-off-by: Will newton <will.newton@gmail.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
18 years agoFixes to the seq_file document
Jan Engelhardt [Fri, 28 Mar 2008 19:09:39 +0000 (20:09 +0100)]
Fixes to the seq_file document

On Friday 2008-03-28 19:20, Jonathan Corbet wrote:
>commit 9756ccfda31b4c4544aa010aacf71b6672d668e8
>Date:   Fri Mar 28 11:19:56 2008 -0600
>
>    Add the seq_file documentation

patch on top:

  - add const qualifiers
  - remove void* casts
  - use proper specifier (%Ld is not valid)

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
18 years agoFill out information on patch tags in SubmittingPatches
Jonathan Corbet [Fri, 28 Mar 2008 17:22:38 +0000 (11:22 -0600)]
Fill out information on patch tags in SubmittingPatches

Add more information about the various patch tags in use, and try to
establish a meaning for Reviewed-by:

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
18 years agoAdd the seq_file documentation
Jonathan Corbet [Fri, 28 Mar 2008 17:19:56 +0000 (11:19 -0600)]
Add the seq_file documentation

This is an updated version of the document describing the seq_file
interface.

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
18 years agodrm: fix for non-coherent DMA PowerPC
Benjamin Herrenschmidt [Fri, 28 Mar 2008 21:23:07 +0000 (14:23 -0700)]
drm: fix for non-coherent DMA PowerPC

This patch fixes bits of the DRM so to make the radeon DRI work on
non-cache coherent PCI DMA variants of the PowerPC processors.

It moves the few places that needs change to wrappers to that
other architectures with similar issues can easily add their
own changes to those wrappers, at least until we have more useful
generic kernel API.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: "Luck, Tony" <tony.luck@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agodrm: radeon: fix sparse integer as NULL pointer warnings in radeon_mem.c
Harvey Harrison [Fri, 28 Mar 2008 21:23:06 +0000 (14:23 -0700)]
drm: radeon: fix sparse integer as NULL pointer warnings in radeon_mem.c

drivers/char/drm/radeon_mem.c:91:23: warning: Using plain integer as NULL pointer
drivers/char/drm/radeon_mem.c:116:28: warning: Using plain integer as NULL pointer
drivers/char/drm/radeon_mem.c:124:28: warning: Using plain integer as NULL pointer
drivers/char/drm/radeon_mem.c:177:26: warning: Using plain integer as NULL pointer
drivers/char/drm/radeon_mem.c:177:53: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agodrm/i915: fix oops on agp=off
Dave Airlie [Sat, 29 Mar 2008 21:53:58 +0000 (07:53 +1000)]
drm/i915: fix oops on agp=off

From Kernel BZ 10289 - not sure why anyone would boot an intel with no agp
but it shouldn't crash.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agodrm/r300: fix bug in r300 userspace hardware wait emission
Dave Airlie [Sat, 29 Mar 2008 21:51:49 +0000 (07:51 +1000)]
drm/r300: fix bug in r300 userspace hardware wait emission

This interface was originally designed wrong, confusing bit-fields and
integers, major brown paper bag going back many years...

But userspace only ever used 4 values so fix the interface for new
users and fix the implementation to deal with the 4 values userspace
has ever emitted (0x1, 0x2, 0x3, 0x6).

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agoide: fix defining SUPPORT_VLB_SYNC
Bartlomiej Zolnierkiewicz [Sat, 29 Mar 2008 18:55:17 +0000 (19:55 +0100)]
ide: fix defining SUPPORT_VLB_SYNC

We need to check for CONFIG_{CRIS,FRV} not {CRIS,FRV}.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>