]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/log
mirror_ubuntu-artful-kernel.git
16 years ago[PATCH] move executable checking into ->permission()
Miklos Szeredi [Thu, 31 Jul 2008 11:41:58 +0000 (13:41 +0200)]
[PATCH] move executable checking into ->permission()

For execute permission on a regular files we need to check if file has
any execute bits at all, regardless of capabilites.

This check is normally performed by generic_permission() but was also
added to the case when the filesystem defines its own ->permission()
method.  In the latter case the filesystem should be responsible for
performing this check.

Move the check from inode_permission() inside filesystems which are
not calling generic_permission().

Create a helper function execute_ok() that returns true if the inode
is a directory or if any execute bits are present in i_mode.

Also fix up the following code:

 - coda control file is never executable
 - sysctl files are never executable
 - hfs_permission seems broken on MAY_EXEC, remove
 - hfsplus_permission is eqivalent to generic_permission(), remove

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
16 years ago[PATCH] fs/dcache.c: update comment of d_validate()
Qinghuang Feng [Mon, 13 Oct 2008 10:32:42 +0000 (18:32 +0800)]
[PATCH] fs/dcache.c: update comment of d_validate()

Parameters @hash and @len have been removed since 2.4.3,
now just to delete them.

Signed-off-by: Qinghuang Feng <qhfeng.kernel@gmail.com>
16 years ago[RFC PATCH] touch_mnt_namespace when the mount flags change
Dan Williams [Sat, 27 Sep 2008 02:01:20 +0000 (19:01 -0700)]
[RFC PATCH] touch_mnt_namespace when the mount flags change

Daemons that need to be launched while the rootfs is read-only can now
poll /proc/mounts to be notified when their O_RDWR requests may no
longer end in EROFS.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Neil Brown <neilb@suse.de>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
16 years ago[PATCH] reiserfs: add missing llseek method
Christoph Hellwig [Mon, 8 Sep 2008 17:42:50 +0000 (19:42 +0200)]
[PATCH] reiserfs: add missing llseek method

Reiserfs currently doesn't set a llseek method for regular files, which
means it will fall back to default_llseek.  This means no one can seek
beyond 2 Gigabytes on reiserfs, and that there's not protection vs
the i_size updates from writers.

Signed-off-by: Christoph Hellwig <hch@lst.de>
16 years ago[PATCH] fix ->llseek for more directories
Christoph Hellwig [Wed, 3 Sep 2008 19:53:01 +0000 (21:53 +0200)]
[PATCH] fix ->llseek for more directories

With this patch all directory fops instances that have a readdir
that doesn't take the BKL are switched to generic_file_llseek.

Signed-off-by: Christoph Hellwig <hch@lst.de>
16 years ago[PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:29 +0000 (07:50 +0900)]
[PATCH vfs-2.6 6/6] vfs: add LOOKUP_RENAME_TARGET intent

This adds LOOKUP_RENAME_TARGET intent for lookup of rename destination.

LOOKUP_RENAME_TARGET is going to be used like LOOKUP_CREATE. But since
the destination of rename() can be existing directory entry, so it has a
difference. Although that difference doesn't matter in my usage, this
tells it to user of this intent.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
16 years ago[PATCH vfs-2.6 5/6] vfs: remove LOOKUP_PARENT from non LOOKUP_PARENT lookup
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:29 +0000 (07:50 +0900)]
[PATCH vfs-2.6 5/6] vfs: remove LOOKUP_PARENT from non LOOKUP_PARENT lookup

lookup_hash() with LOOKUP_PARENT is bogus. And this prepares to add
new intent on those path.

The user of LOOKUP_PARENT intent is nfs only, and it checks whether
nd->flags has LOOKUP_CREATE or LOOKUP_OPEN, so the result is same.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
16 years ago[PATCH vfs-2.6 4/6] vfs: remove unnecessary fsnotify_d_instantiate()
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:29 +0000 (07:50 +0900)]
[PATCH vfs-2.6 4/6] vfs: remove unnecessary fsnotify_d_instantiate()

This calls d_move(), so fsnotify_d_instantiate() is unnecessary like
rename path.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
16 years ago[PATCH vfs-2.6 3/6] vfs: add __d_instantiate() helper
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:28 +0000 (07:50 +0900)]
[PATCH vfs-2.6 3/6] vfs: add __d_instantiate() helper

This adds __d_instantiate() for users which is already taking
dcache_lock, and replace with it.

The part of d_add_ci() isn't equivalent. But it should be needed
fsnotify_d_instantiate() actually, because the path is to add the
inode to negative dentry.  fsnotify_d_instantiate() should be called
after change from negative to positive.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
16 years ago[PATCH vfs-2.6 2/6] vfs: add d_ancestor()
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:28 +0000 (07:50 +0900)]
[PATCH vfs-2.6 2/6] vfs: add d_ancestor()

This adds d_ancestor() instead of d_isparent(), then use it.

If new_dentry == old_dentry, is_subdir() returns 1, looks strange.
"new_dentry == old_dentry" is not subdir obviously. But I'm not
checking callers for now, so this keeps current behavior.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
16 years ago[PATCH vfs-2.6 1/6] vfs: replace parent == dentry->d_parent by IS_ROOT()
OGAWA Hirofumi [Wed, 15 Oct 2008 22:50:27 +0000 (07:50 +0900)]
[PATCH vfs-2.6 1/6] vfs: replace parent == dentry->d_parent by IS_ROOT()

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
16 years ago[PATCH] get rid of on-stack dentry in udf
Al Viro [Sun, 12 Oct 2008 04:15:17 +0000 (00:15 -0400)]
[PATCH] get rid of on-stack dentry in udf

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH 2/2] anondev: switch to IDA
Alexey Dobriyan [Thu, 28 Aug 2008 02:26:23 +0000 (06:26 +0400)]
[PATCH 2/2] anondev: switch to IDA

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
16 years ago[PATCH 1/2] anondev: init IDR statically
Alexey Dobriyan [Thu, 28 Aug 2008 02:25:49 +0000 (06:25 +0400)]
[PATCH 1/2] anondev: init IDR statically

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
16 years ago[JFFS2] Use d_splice_alias() not d_add() in jffs2_lookup()
David Woodhouse [Mon, 18 Aug 2008 14:36:47 +0000 (15:36 +0100)]
[JFFS2] Use d_splice_alias() not d_add() in jffs2_lookup()

Now that JFFS2 can be exported by NFS, we need to get this right.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] Optimise NFS readdir hack slightly.
David Woodhouse [Sun, 17 Aug 2008 16:21:18 +0000 (17:21 +0100)]
[PATCH] Optimise NFS readdir hack slightly.

Avoid calling the underlying ->readdir() again when we reached the end
already; keep going round the loop only if we stopped due to our own
buffer being full.

[AV: tidy the things up a bit, while we are there]

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] prepare vfs_readdir() callers to returning filldir result
Al Viro [Sun, 24 Aug 2008 11:29:52 +0000 (07:29 -0400)]
[PATCH] prepare vfs_readdir() callers to returning filldir result

It's not the final state, but it allows moving ->readdir() instances
to passing filldir return value to caller of vfs_readdir().

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] get rid of on-stack dentry in ext2_get_parent()
Al Viro [Sun, 24 Aug 2008 11:28:39 +0000 (07:28 -0400)]
[PATCH] get rid of on-stack dentry in ext2_get_parent()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] get rid of on-stack fake dentry in ext3_get_parent()
Al Viro [Sun, 24 Aug 2008 11:26:48 +0000 (07:26 -0400)]
[PATCH] get rid of on-stack fake dentry in ext3_get_parent()

Better pass parent and qstr to ext3_find_entry() explicitly than
use such kludges, especially since the stack footprint is nasty
enough and we have every chance to be deep in call chain.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[JFFS2] Reinstate NFS exportability
David Woodhouse [Thu, 31 Jul 2008 19:39:25 +0000 (20:39 +0100)]
[JFFS2] Reinstate NFS exportability

Now that the readdir/lookup deadlock issues have been dealt with, we can
export JFFS2 file systems again.

(For now, you have to specify fsid manually; we should add a method to
the export_ops to handle that too.)

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] Remove XFS buffered readdir hack
David Woodhouse [Thu, 31 Jul 2008 19:38:04 +0000 (20:38 +0100)]
[PATCH] Remove XFS buffered readdir hack

Now that we've moved the readdir hack to the nfsd code, we can
remove the local version from the XFS code.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] Copy XFS readdir hack into nfsd code.
David Woodhouse [Thu, 31 Jul 2008 19:29:12 +0000 (20:29 +0100)]
[PATCH] Copy XFS readdir hack into nfsd code.

Some file systems with their own internal locking have problems with the
way that nfsd calls the ->lookup() method from within a filldir function
called from their ->readdir() method. The recursion back into the file
system code can cause deadlock.

XFS has a fairly hackish solution to this which involves doing the
readdir() into a locally-allocated buffer, then going back through it
calling the filldir function afterwards. It's not ideal, but it works.

It's particularly suboptimal because XFS does this for local file
systems too, where it's completely unnecessary.

Copy this hack into the NFS code where it can be used only for NFS
export. In response to feedback, use it unconditionally rather than only
for the affected file systems.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] Factor out nfsd_do_readdir() into its own function
David Woodhouse [Thu, 31 Jul 2008 16:16:51 +0000 (17:16 +0100)]
[PATCH] Factor out nfsd_do_readdir() into its own function

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] reduce the stack footprint of exportfs_decode_fh()
Al Viro [Mon, 11 Aug 2008 16:39:47 +0000 (12:39 -0400)]
[PATCH] reduce the stack footprint of exportfs_decode_fh()

no need to have _two_ 256-byte arrays on stack...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] kill d_alloc_anon
Christoph Hellwig [Mon, 11 Aug 2008 13:49:12 +0000 (15:49 +0200)]
[PATCH] kill d_alloc_anon

Remove d_alloc_anon now that no users are left.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] switch all filesystems over to d_obtain_alias
Christoph Hellwig [Mon, 11 Aug 2008 13:49:04 +0000 (15:49 +0200)]
[PATCH] switch all filesystems over to d_obtain_alias

Switch all users of d_alloc_anon to d_obtain_alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] new helper: d_obtain_alias
Christoph Hellwig [Mon, 11 Aug 2008 13:48:57 +0000 (15:48 +0200)]
[PATCH] new helper: d_obtain_alias

The calling conventions of d_alloc_anon are rather unfortunate for all
users, and it's name is not very descriptive either.

Add d_obtain_alias as a new exported helper that drops the inode
reference in the failure case, too and allows to pass-through NULL
pointers and inodes to allow for tail-calls in the export operations.

Incidentally this helper already existed as a private function in
libfs.c as exportfs_d_alloc so kill that one and switch the callers
to d_obtain_alias.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] generic_file_llseek tidyups
Christoph Hellwig [Mon, 11 Aug 2008 13:37:17 +0000 (15:37 +0200)]
[PATCH] generic_file_llseek tidyups

Add kerneldoc for generic_file_llseek and generic_file_llseek_unlocked,
use sane variable names and unclutter the code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] tidy up chrdev_open
Christoph Hellwig [Mon, 11 Aug 2008 13:34:22 +0000 (15:34 +0200)]
[PATCH] tidy up chrdev_open

Use a single goto label for chrdev_put + return error cases.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] hpfs: cleanup ->setattr
Christoph Hellwig [Sun, 10 Aug 2008 22:27:59 +0000 (00:27 +0200)]
[PATCH] hpfs: cleanup ->setattr

Reformat hpfs_notify_change to standard kernel style to make it readable
and rename it to hpfs_setattr as that's what the method is called.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] dm: kill lookup_device wrapper
Christoph Hellwig [Sun, 10 Aug 2008 22:24:08 +0000 (00:24 +0200)]
[PATCH] dm: kill lookup_device wrapper

Now that lookup_bdev is exported and used by dm just use it directly
instead of through a trivial wrapper.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] make O_EXCL in nd->intent.flags visible in nd->flags
Al Viro [Tue, 5 Aug 2008 07:00:49 +0000 (03:00 -0400)]
[PATCH] make O_EXCL in nd->intent.flags visible in nd->flags

New flag: LOOKUP_EXCL.  Set before doing the final step of pathname
resolution on the paths that have LOOKUP_CREATE and O_EXCL.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] don't pass bogus flags to LOOKUP_PARENT lookup in spufs
Al Viro [Sun, 3 Aug 2008 02:40:42 +0000 (22:40 -0400)]
[PATCH] don't pass bogus flags to LOOKUP_PARENT lookup in spufs

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] get rid of path_lookup_create()
Al Viro [Sun, 3 Aug 2008 02:36:57 +0000 (22:36 -0400)]
[PATCH] get rid of path_lookup_create()

... and don't pass bogus flags when we are just looking for parent.
Fold __path_lookup_intent_open() into path_lookup_open() while we
are at it; that's the only remaining caller.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] get rid of nameidata in audit_tree
Al Viro [Sat, 2 Aug 2008 05:06:21 +0000 (01:06 -0400)]
[PATCH] get rid of nameidata in audit_tree

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] assorted path_lookup() -> kern_path() conversions
Al Viro [Sat, 2 Aug 2008 05:04:36 +0000 (01:04 -0400)]
[PATCH] assorted path_lookup() -> kern_path() conversions

more nameidata eviction

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] switch nfsd to kern_path()
Al Viro [Sat, 2 Aug 2008 05:03:36 +0000 (01:03 -0400)]
[PATCH] switch nfsd to kern_path()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] sanitize svc_export_parse()
Al Viro [Sat, 2 Aug 2008 05:01:02 +0000 (01:01 -0400)]
[PATCH] sanitize svc_export_parse()

clean up the exit paths, get rid of nameidata

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] switch quota_on-related stuff to kern_path()
Al Viro [Sat, 2 Aug 2008 04:57:06 +0000 (00:57 -0400)]
[PATCH] switch quota_on-related stuff to kern_path()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] no need for noinline stuff in fs/namespace.c anymore
Al Viro [Sat, 2 Aug 2008 04:55:27 +0000 (00:55 -0400)]
[PATCH] no need for noinline stuff in fs/namespace.c anymore

Stack footprint from hell had been due to many struct nameidata in there.
No more.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] finally get rid of nameidata in namespace.c
Al Viro [Sat, 2 Aug 2008 04:51:11 +0000 (00:51 -0400)]
[PATCH] finally get rid of nameidata in namespace.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years ago[PATCH] new helper - kern_path()
Al Viro [Sat, 2 Aug 2008 04:49:18 +0000 (00:49 -0400)]
[PATCH] new helper - kern_path()

Analog of lookup_path(), takes struct path *.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 years agobinfmt_elf_fdpic: Update for cputime changes.
Paul Mundt [Tue, 21 Oct 2008 03:07:40 +0000 (12:07 +0900)]
binfmt_elf_fdpic: Update for cputime changes.

Commit f06febc96ba8e0af80bcc3eaec0a109e88275fac ("timers: fix itimer/
many thread hang") introduced a new task_cputime interface and
subsequently only converted binfmt_elf over to it.  This results in the
build for binfmt_elf_fdpic blowing up given that p->signal->{u,s}time
have disappeared from underneath us.

Apply the same trivial fix from binfmt_elf to binfmt_elf_fdpic.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomm: remove duplicated #include's
Huang Weiyi [Mon, 20 Oct 2008 22:43:33 +0000 (06:43 +0800)]
mm: remove duplicated #include's

Removed duplicated #include <linux/vmalloc.h> in mm/vmalloc.c and
"internal.h" in mm/memory.c.

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoExport tiny shmem_file_setup for DRM-GEM
Hugh Dickins [Mon, 20 Oct 2008 23:04:04 +0000 (00:04 +0100)]
Export tiny shmem_file_setup for DRM-GEM

We're trying to keep the !CONFIG_SHMEM tiny-shmem.c (using ramfs without
swap) in synch with CONFIG_SHMEM shmem.c (and mpm is preparing patches
to combine them).  I was glad to see EXPORT_SYMBOL_GPL(shmem_file_setup)
go into shmem.c, but why not support DRM-GEM when !CONFIG_SHMEM too?
But caution says still depend on MMU, since !CONFIG_MMU is.. different.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Acked-by: Matt Mackall <mpm@selenic.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomisc: replace remaining __FUNCTION__ with __func__
Harvey Harrison [Mon, 20 Oct 2008 23:00:08 +0000 (16:00 -0700)]
misc: replace remaining __FUNCTION__ with __func__

__FUNCTION__ is gcc-specific, use __func__

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofix CONFIG_HIGHMEM compile error in drivers/gpu/drm/i915/i915_gem.c
Thomas Gleixner [Mon, 20 Oct 2008 22:47:45 +0000 (00:47 +0200)]
fix CONFIG_HIGHMEM compile error in drivers/gpu/drm/i915/i915_gem.c

commit 9b7530cc329eb036cfa589930c270e85031f554c ("i915: cleanup coding
horrors in i915_gem_gtt_pwrite()")

broke the i386 build for CONFIG_HIGHMEM=y.

Caught by automatic testing http://www.tglx.de/autoqa-logs/000137-0006-0001.log

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[ My bad. It's the same patch I sent out earlier, nobody noticed then either.. ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofix WARN() for PPC
Arjan van de Ven [Mon, 20 Oct 2008 21:41:03 +0000 (14:41 -0700)]
fix WARN() for PPC

powerpc doesn't use the generic WARN_ON infrastructure.  The newly
introduced WARN() as a result didn't print the message, this patch adds
the printk for this specific case.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agokexec: fix crash_save_vmcoreinfo_init build problem
Luck, Tony [Mon, 20 Oct 2008 22:23:40 +0000 (15:23 -0700)]
kexec: fix crash_save_vmcoreinfo_init build problem

This fixes

  kernel/kexec.c: In function 'crash_save_vmcoreinfo_init':
  kernel/kexec.c:1374: error: 'vmlist' undeclared (first use in this function)
  kernel/kexec.c:1374: error: (Each undeclared identifier is reported only once
  kernel/kexec.c:1374: error: for each function it appears in.)
  kernel/kexec.c:1410: error: invalid use of undefined type 'struct vm_struct'
  make[1]: *** [kernel/kexec.o] Error 1

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
Linus Torvalds [Mon, 20 Oct 2008 21:38:14 +0000 (14:38 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
  parisc: convert to generic compat_sys_ptrace
  parisc: add rtc platform driver
  parisc: initialize unwinder much earlier
  parisc: add new syscalls
  parisc: hijack jump to start_kernel
  parisc: add pdc_coproc_cfg_unlocked and set_firmware_width_unlocked
  parisc: move include/asm-parisc to arch/parisc/include/asm
  parisc: move pdc_result to real2.S
  parisc: unify CCIO_COLLECT_STATS implementation
  parisc: add arch/parisc/kernel/.gitignore
  parisc: ropes.h - fix <asm-parisc/*> -> <asm/*>
  parisc: parisc-agp - fix <asm-parisc/*> -> <asm/*>

Resolve remove/rename conflict: include/asm-parisc/a.out.h is no longer
relevant.

16 years agoUSB: Fix unused label warnings in drivers/usb/host/ehci-hcd.c
Linus Torvalds [Mon, 20 Oct 2008 21:23:29 +0000 (14:23 -0700)]
USB: Fix unused label warnings in drivers/usb/host/ehci-hcd.c

This gets rid of an annoying warning in ehci-hcd.c when DEBUG isn't
enabled:

    warning: label 'err_debug' defined but not used

by moving it inside the already-existing #ifdef DEBUG, so that it
matches the goto.  And now my regular build is warning-free again.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoi915: cleanup coding horrors in i915_gem_gtt_pwrite()
Linus Torvalds [Mon, 20 Oct 2008 21:16:43 +0000 (14:16 -0700)]
i915: cleanup coding horrors in i915_gem_gtt_pwrite()

Yes, this will probably be switched over to a cleaner model anyway, but
in the meantime I don't want to see the 'unused variable' warnings that
come from the disgusting #ifdef code.  Make the special case be a nice
inlien function of its own, clean up the code, and make the warning go
away.

I wish people didn't write code that gets (valid) warnings from the
compiler, but I'll limit my fixes to code that I actually care about (in
this case just because I see the warning and it annoys me).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoFix sprintf format warnings in drm_proc.c
Linus Torvalds [Mon, 20 Oct 2008 21:14:25 +0000 (14:14 -0700)]
Fix sprintf format warnings in drm_proc.c

Use "%zd" for size_t, and make sure to have a space between the numbers
instead of depending on the field width.

I don't like warnings in my default targeted build.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'bkl-removal' of git://git.lwn.net/linux-2.6
Linus Torvalds [Mon, 20 Oct 2008 20:42:14 +0000 (13:42 -0700)]
Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6

* 'bkl-removal' of git://git.lwn.net/linux-2.6:
  UIO: BKL removal

16 years agoMerge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes...
Linus Torvalds [Mon, 20 Oct 2008 20:40:47 +0000 (13:40 -0700)]
Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (41 commits)
  PCI: fix pci_ioremap_bar() on s390
  PCI: fix AER capability check
  PCI: use pci_find_ext_capability everywhere
  PCI: remove #ifdef DEBUG around dev_dbg call
  PCI hotplug: fix get_##name return value problem
  PCI: document the pcie_aspm kernel parameter
  PCI: introduce an pci_ioremap(pdev, barnr) function
  powerpc/PCI: Add legacy PCI access via sysfs
  PCI: Add ability to mmap legacy_io on some platforms
  PCI: probing debug message uniformization
  PCI: support PCIe ARI capability
  PCI: centralize the capabilities code in probe.c
  PCI: centralize the capabilities code in pci-sysfs.c
  PCI: fix 64-vbit prefetchable memory resource BARs
  PCI: replace cfg space size (256/4096) by macros.
  PCI: use resource_size() everywhere.
  PCI: use same arg names in PCI_VDEVICE comment
  PCI hotplug: rpaphp: make debug var unique
  PCI: use %pF instead of print_fn_descriptor_symbol() in quirks.c
  PCI: fix hotplug get_##name return value problem
  ...

16 years agoMerge branch 'tracing-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 20 Oct 2008 20:35:07 +0000 (13:35 -0700)]
Merge branch 'tracing-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'tracing-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (131 commits)
  tracing/fastboot: improve help text
  tracing/stacktrace: improve help text
  tracing/fastboot: fix initcalls disposition in bootgraph.pl
  tracing/fastboot: fix bootgraph.pl initcall name regexp
  tracing/fastboot: fix issues and improve output of bootgraph.pl
  tracepoints: synchronize unregister static inline
  tracepoints: tracepoint_synchronize_unregister()
  ftrace: make ftrace_test_p6nop disassembler-friendly
  markers: fix synchronize marker unregister static inline
  tracing/fastboot: add better resolution to initcall debug/tracing
  trace: add build-time check to avoid overrunning hex buffer
  ftrace: fix hex output mode of ftrace
  tracing/fastboot: fix initcalls disposition in bootgraph.pl
  tracing/fastboot: fix printk format typo in boot tracer
  ftrace: return an error when setting a nonexistent tracer
  ftrace: make some tracers reentrant
  ring-buffer: make reentrant
  ring-buffer: move page indexes into page headers
  tracing/fastboot: only trace non-module initcalls
  ftrace: move pc counter in irqtrace
  ...

Manually fix conflicts:
 - init/main.c: initcall tracing
 - kernel/module.c: verbose level vs tracepoints
 - scripts/bootgraph.pl: fallout from cherry-picking commits.

16 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Mon, 20 Oct 2008 20:27:05 +0000 (13:27 -0700)]
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86 ACPI: fix breakage of resume on 64-bit UP systems with SMP kernel
  Introduce is_vmalloc_or_module_addr() and use with DEBUG_VIRTUAL

16 years agoMerge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 20 Oct 2008 20:22:50 +0000 (13:22 -0700)]
Merge branch 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

This merges branches irq/genirq, irq/sparseirq-v4, timers/hpet-percpu
and x86/uv.

The sparseirq branch is just preliminary groundwork: no sparse IRQs are
actually implemented by this tree anymore - just the new APIs are added
while keeping the old way intact as well (the new APIs map 1:1 to
irq_desc[]).  The 'real' sparse IRQ support will then be a relatively
small patch ontop of this - with a v2.6.29 merge target.

* 'genirq-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (178 commits)
  genirq: improve include files
  intr_remapping: fix typo
  io_apic: make irq_mis_count available on 64-bit too
  genirq: fix name space collisions of nr_irqs in arch/*
  genirq: fix name space collision of nr_irqs in autoprobe.c
  genirq: use iterators for irq_desc loops
  proc: fixup irq iterator
  genirq: add reverse iterator for irq_desc
  x86: move ack_bad_irq() to irq.c
  x86: unify show_interrupts() and proc helpers
  x86: cleanup show_interrupts
  genirq: cleanup the sparseirq modifications
  genirq: remove artifacts from sparseirq removal
  genirq: revert dynarray
  genirq: remove irq_to_desc_alloc
  genirq: remove sparse irq code
  genirq: use inline function for irq_to_desc
  genirq: consolidate nr_irqs and for_each_irq_desc()
  x86: remove sparse irq from Kconfig
  genirq: define nr_irqs for architectures with GENERIC_HARDIRQS=n
  ...

16 years agoMerge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 20 Oct 2008 20:21:24 +0000 (13:21 -0700)]
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  m32r: fix build due to notify_cpu_starting() change
  powerpc: fix linux-next build failure

16 years agoMerge branch 'v28-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Mon, 20 Oct 2008 20:19:56 +0000 (13:19 -0700)]
Merge branch 'v28-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'v28-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (36 commits)
  fix documentation of sysrq-q really
  Fix documentation of sysrq-q
  timer_list: add base address to clock base
  timer_list: print cpu number of clockevents device
  timer_list: print real timer address
  NOHZ: restart tick device from irq_enter()
  NOHZ: split tick_nohz_restart_sched_tick()
  NOHZ: unify the nohz function calls in irq_enter()
  timers: fix itimer/many thread hang, fix
  timers: fix itimer/many thread hang, v3
  ntp: improve adjtimex frequency rounding
  timekeeping: fix rounding problem during clock update
  ntp: let update_persistent_clock() sleep
  hrtimer: reorder struct hrtimer to save 8 bytes on 64bit builds
  posix-timers: lock_timer: make it readable
  posix-timers: lock_timer: kill the bogus ->it_id check
  posix-timers: kill ->it_sigev_signo and ->it_sigev_value
  posix-timers: sys_timer_create: cleanup the error handling
  posix-timers: move the initialization of timer->sigq from send to create path
  posix-timers: sys_timer_create: simplify and s/tasklist/rcu/
  ...

Fix trivial conflicts due to sysrq-q description clahes in
Documentation/sysrq.txt and drivers/char/sysrq.c

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Mon, 20 Oct 2008 20:12:39 +0000 (13:12 -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: (36 commits)
  ide: re-add TRM290 fix lost during ide_build_dmatable() cleanup
  scc_pata: kill unused variables
  sgiioc4: kill duplicate ioremap()
  sgiioc4: kill useless address checks
  delkin_cb: add PM support
  ide: remove broken hpt34x driver
  ide-floppy: remove idefloppy_floppy_t typedef
  sgiioc4: remove maskproc() method
  hpt366: cleanup maskproc() method
  ide: mask interrupt in ide_config_drive_speed()
  hpt366: fix compile warning
  ide: remove unused macros from <asm-parisc/ide.h>
  ide: remove M68K_IDE_SWAPW define from <asm-m68k/ide.h>
  ide: remove dead <asm-arm/arch-sa1100/ide.h>
  ide: fix support for IDE PCI controllers using MMIO on frv
  ide-cd: remove stale comment
  ide-cd: small drive type print fix
  ide-cd: debug log enhancements
  ide: add generic ATA/ATAPI disk driver
  ide: allow device drivers to specify per-device type /proc settings
  ...

16 years agoMerge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
Linus Torvalds [Mon, 20 Oct 2008 19:54:30 +0000 (12:54 -0700)]
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
  fsldma: allow Freescale Elo DMA driver to be compiled as a module
  fsldma: remove internal self-test from Freescale Elo DMA driver
  drivers/dma/dmatest.c: switch a GFP_ATOMIC to GFP_KERNEL
  dmatest: properly handle duplicate DMA channels
  drivers/dma/ioat_dma.c: drop code after return
  async_tx: make async_tx_run_dependencies() easier to read

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Mon, 20 Oct 2008 19:53:40 +0000 (12:53 -0700)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] ib700wdt.c - fix buffer_underflow bug

16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi...
Linus Torvalds [Mon, 20 Oct 2008 19:53:27 +0000 (12:53 -0700)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
  fuse: implement nonseekable open
  fuse: add include protectors
  fuse: config description improvement
  fuse: add missing fuse_request_free
  fuse: fix SEEK_END incorrectness

16 years agobyteorder: remove direct includes of linux/byteorder/swab[b].h
Harvey Harrison [Mon, 20 Oct 2008 17:23:38 +0000 (10:23 -0700)]
byteorder: remove direct includes of linux/byteorder/swab[b].h

A consolidated implementation will provide this generically through
asm/byteorder, remove direct includes to avoid breakage when the
changeover to the new implementation occurs.

This hunk was lost from commit 1d8cca44b6a244b7e378546d719041819049a0f9
("byteorder: provide swabb.h generically in asm/byteorder.h")

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoUpdate email addresses.
Dave Jones [Mon, 20 Oct 2008 17:31:45 +0000 (13:31 -0400)]
Update email addresses.

Update assorted email addresses and related info to point
to a single current, valid address.

additionally
- trivial CREDITS entry updates. (Not that this file means much any more)
- remove arjans dead redhat.com address from powernow driver

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agofs/Kconfig: move ext2, ext3, ext4, JBD, JBD2 out
Alexey Dobriyan [Mon, 20 Oct 2008 18:28:45 +0000 (22:28 +0400)]
fs/Kconfig: move ext2, ext3, ext4, JBD, JBD2 out

Use fs/*/Kconfig more, which is good because everything related to one
filesystem is in one place and fs/Kconfig is quite fat.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoRemove empty imacfb.c file
Linus Torvalds [Mon, 20 Oct 2008 18:32:09 +0000 (11:32 -0700)]
Remove empty imacfb.c file

Commit 7c08c9ae0c145807c0dae4a55f240fa3d4fd5262 ("efifb/imacfb
consolidation + hardware support") claimed to remove imacfb entirely and
merge its DMI table into the efifb driver.  So far so good, but the diff
actually ended up just generating an empty file instead of removing it.

[ Technical reason: the patch header looked like

  diff -puN drivers/video/imacfb.c~efifb-imacfb-consolidation-hardware-support drivers/video/imacfb.c
  --- a/drivers/video/imacfb.c~efifb-imacfb-consolidation-hardware-support
  +++ a/drivers/video/imacfb.c
  @@ -1,376 +0,0 @@

  which git will think is a truncation, not a delete.  Git wants to see a
  target of /dev/null to consider it a delete. ]

So remove it properly.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoPCI: fix pci_ioremap_bar() on s390
Heiko Carstens [Mon, 20 Oct 2008 17:45:43 +0000 (19:45 +0200)]
PCI: fix pci_ioremap_bar() on s390

s390 doesn't have ioremap_*, so protect the definition of the new
pci_ioremap_bar function with CONFIG_HAS_IOMEM to avoid build breakage.

Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoUpdate .gitignore files for generated targets
Linus Torvalds [Mon, 20 Oct 2008 18:24:31 +0000 (11:24 -0700)]
Update .gitignore files for generated targets

The generated 'capflags.c' file wasn't properly ignored, and the list of
files in scripts/basic/ wasn't up-to-date.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoPCI: fix AER capability check
Yu Zhao [Sun, 19 Oct 2008 12:35:20 +0000 (20:35 +0800)]
PCI: fix AER capability check

The 'use pci_find_ext_capability everywhere' cleanup brought a new bug,
which makes the AER stop working.  Fix it by actually using find_ext_cap
instead of just find_cap.  Drop the unused config space size define while
we're at it.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: use pci_find_ext_capability everywhere
Jesse Barnes [Sun, 19 Oct 2008 00:33:19 +0000 (17:33 -0700)]
PCI: use pci_find_ext_capability everywhere

Remove some open coded (and buggy) versions of pci_find_ext_capability
in favor of the real routine in the PCI core.

Tested-by: Tomasz Czernecki <czernecki@gmail.com>
Acked-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Reviewed-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: remove #ifdef DEBUG around dev_dbg call
Jesse Barnes [Sun, 19 Oct 2008 00:19:38 +0000 (17:19 -0700)]
PCI: remove #ifdef DEBUG around dev_dbg call

No longer needed since we don't use the function symbol stuff anymore.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI hotplug: fix get_##name return value problem
Kenji Kaneshige [Mon, 29 Sep 2008 08:37:05 +0000 (17:37 +0900)]
PCI hotplug: fix get_##name return value problem

The commit 356a9d6f3dd283f83861adf1ac909879f0e66411 (PCI: fix hotplug
get_##name return value problem) doesn't seem to be merged properly.
Because of this, PCI hotplug no longer works (Read/Write PCI hotplug
files always returns -ENODEV).

This patch fixes wrong check of try_module_get() return value check in
get_##name().

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: document the pcie_aspm kernel parameter
Chuck Ebbert [Thu, 25 Sep 2008 00:40:34 +0000 (20:40 -0400)]
PCI: document the pcie_aspm kernel parameter

It can be handy so make sure people know about it.

Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: introduce an pci_ioremap(pdev, barnr) function
Arjan van de Ven [Sun, 28 Sep 2008 23:36:11 +0000 (16:36 -0700)]
PCI: introduce an pci_ioremap(pdev, barnr) function

A common thing in many PCI drivers is to ioremap() an entire bar.  This
is a slightly fragile thing right now, needing both an address and a
size, and many driver writers do.. various things there.

This patch introduces an pci_ioremap() function taking just a PCI device
struct and the bar number as arguments, and figures this all out itself,
in one place.  In addition, we can add various sanity checks to this
function (the patch already checks to make sure that the bar in question
really is a MEM bar; few to no drivers do that sort of thing).

Hopefully with this type of API we get less chance of mistakes in
drivers with ioremap() operations.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agopowerpc/PCI: Add legacy PCI access via sysfs
Benjamin Herrenschmidt [Tue, 14 Oct 2008 00:55:31 +0000 (11:55 +1100)]
powerpc/PCI: Add legacy PCI access via sysfs

This patch adds support for legacy_io and legacy_mem files in
bus class directories in sysfs for powerpc

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: Add ability to mmap legacy_io on some platforms
Benjamin Herrenschmidt [Fri, 3 Oct 2008 09:49:32 +0000 (19:49 +1000)]
PCI: Add ability to mmap legacy_io on some platforms

This adds the ability to mmap legacy IO space to the legacy_io files
in sysfs on platforms that support it. This will allow to clean up
X to use this instead of /dev/mem for legacy IO accesses such as
those performed by Int10.

While at it I moved pci_create/remove_legacy_files() to pci-sysfs.c
where I think they belong, thus making more things statis in there
and cleaned up some spurrious prototypes in the ia64 pci.h file

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: probing debug message uniformization
Vincent Legoll [Sun, 12 Oct 2008 10:26:12 +0000 (12:26 +0200)]
PCI: probing debug message uniformization

This patch uniformizes PCI probing debug boot messages with dev_printk()
intead of manual printk()

It changes adress range output from [%llx, %llx] to [%#llx-%#llx], like
in pci_request_region().

For example, it goes from the mixed-style:

PCI: 0000:00:1b.0 reg 10 64bit mmio: [f4280000f4283fff]
pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold

to uniform:

pci 0000:00:1b.0: reg 10 64bit mmio: [0xf4280000-0xf4283fff]
pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold

This patch has been runtime tested, boot log messages diffed, everything
looks OK.

Acked-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Vincent Legoll <vincent.legoll@gmail.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: support PCIe ARI capability
Yu Zhao [Tue, 14 Oct 2008 06:02:53 +0000 (14:02 +0800)]
PCI: support PCIe ARI capability

This patch adds support for PCI Express Alternative Routing-ID
Interpretation (ARI) capability.

The ARI capability extends the Function Number field of the PCI Express
Endpoint by reusing the Device Number which is otherwise hardwired to 0.
With ARI, an Endpoint can have up to 256 functions.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: centralize the capabilities code in probe.c
Zhao, Yu [Mon, 13 Oct 2008 11:49:55 +0000 (19:49 +0800)]
PCI: centralize the capabilities code in probe.c

This patch centralizes the initialization and release functions of
various PCI capabilities in probe.c, which makes the introduction
of new capability support functions cleaner in the future.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: centralize the capabilities code in pci-sysfs.c
Zhao, Yu [Mon, 13 Oct 2008 12:01:00 +0000 (20:01 +0800)]
PCI: centralize the capabilities code in pci-sysfs.c

This patch centralizes functions used to add and remove sysfs entries
for various capabilities. With this cleanup, the code is more readable
and easier for adding new capability related functions.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: fix 64-vbit prefetchable memory resource BARs
Peter Chubb [Mon, 13 Oct 2008 00:49:04 +0000 (11:49 +1100)]
PCI: fix 64-vbit prefetchable memory resource BARs

Since patch 6ac665c63dcac8fcec534a1d224ecbb8b867ad59 my infiniband
controller hasn't worked.  This is because it has 64-bit prefetchable
memory, which was mistakenly being  taken to be 32-bit memory.  The
resource flags in this case are PCI_BASE_ADDRESS_MEM_TYPE_64 |
PCI_BASE_ADDRESS_MEM_PREFETCH.

This patch checks only for the PCI_BASE_ADDRESS_MEM_TYPE_64 bit; thus
whether the region is prefetchable or not is ignored.  This fixes my
Infiniband.

Reviewed-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: replace cfg space size (256/4096) by macros.
Zhao, Yu [Mon, 13 Oct 2008 11:18:07 +0000 (19:18 +0800)]
PCI: replace cfg space size (256/4096) by macros.

This is a cleanup that changes all PCI configuration space size
representations to the macros (PCI_CFG_SPACE_SIZE and
PCI_CFG_SPACE_EXP_SIZE). And the macros are also moved from
drivers/pci/probe.c to drivers/pci/pci.h.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: use resource_size() everywhere.
Zhao, Yu [Mon, 13 Oct 2008 11:24:28 +0000 (19:24 +0800)]
PCI: use resource_size() everywhere.

This is a cleanup that replaces the resource calculation formula with
resource_size().

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: use same arg names in PCI_VDEVICE comment
Zhao, Yu [Mon, 13 Oct 2008 11:36:05 +0000 (19:36 +0800)]
PCI: use same arg names in PCI_VDEVICE comment

This cleanup makes the argument names in PCI_VDEVICE comment consistent
with those used in its definition.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI hotplug: rpaphp: make debug var unique
Kristen Carlson Accardi [Mon, 13 Oct 2008 16:59:12 +0000 (09:59 -0700)]
PCI hotplug: rpaphp: make debug var unique

Change debug variable name to one more unique to this driver.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: use %pF instead of print_fn_descriptor_symbol() in quirks.c
Yinghai Lu [Thu, 25 Sep 2008 02:04:33 +0000 (19:04 -0700)]
PCI: use %pF instead of print_fn_descriptor_symbol() in quirks.c

Use %pF instead of print_fn_descriptor_symbol() in quirks.c to get the name of
the hook we're calling.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: fix hotplug get_##name return value problem
Zhao, Yu [Mon, 22 Sep 2008 06:26:05 +0000 (14:26 +0800)]
PCI: fix hotplug get_##name return value problem

Currently, get_##name in pci_hotplug_core.c will return 0 if module
unload wins the race between unload & reading the hotplug file.  Fix
that case to return -ENODEV like it should.

Reviewed-by: Alex Chiang <achiang@hp.com>
Reviewed-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: fix sparse warning in pci_remove_behind_bridge
Stephen Hemminger [Sat, 6 Sep 2008 04:45:36 +0000 (21:45 -0700)]
PCI: fix sparse warning in pci_remove_behind_bridge

Get rid of the second definition of dev which hides the earlier one in
the argument list and causes a warning from sparse.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: fix MSI-HOWTO.txt info about MSI-X MMIO space
Roland Dreier [Mon, 22 Sep 2008 21:55:24 +0000 (14:55 -0700)]
PCI: fix MSI-HOWTO.txt info about MSI-X MMIO space

The current MSI-HOWTO.txt says that device drivers should not request the
memory space that contains MSI-X tables.  This is because the original
MSI-X implementation did a request_mem_region() on this space, but that
code was removed long ago (in the pre-git era, in fact).  Years after the
code was changed, we might as well clean up the documention to avoid a
confusing mention of requesting regions: drivers using MSI-X can just use
pci_request_regions() just like any other driver, and so there's no need
for MSI-HOWTO.txt to talk about this at all.

Signed-off-by: Roland Dreier <roland@digitalvampire.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: fix -Wakpm warnings in pci_pm_init debug output
Jesse Barnes [Tue, 23 Sep 2008 18:43:34 +0000 (11:43 -0700)]
PCI: fix -Wakpm warnings in pci_pm_init debug output

Checkpatch would have complained about this but neither Bjorn nor myself
ran it prior to pushing.  Fixup the issues Andrew pointed out.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: connect struct pci_dev to struct pci_slot
Alex Chiang [Tue, 2 Sep 2008 15:40:51 +0000 (09:40 -0600)]
PCI: connect struct pci_dev to struct pci_slot

The introduction of struct pci_slot (f46753c5e354b857b20ab8e0fe7b25)
added a struct pci_slot pointer to struct pci_dev, but we forgot to
associate the two.

Connect the two structs together; the interesting portions of the object
lifetimes are:

- when a new pci_slot is created, connect it to the appropriate
  pci_dev's. A single pci_slot may be associated with multiple
  pci_dev's, e.g. any multi-function PCI device.

- when a pci_slot is released, look for all the pci_dev's it was
  associated with, and set their pci_slot pointers to NULL

- when a pci_dev is created, look for slots to associate with.

Note -- when a pci_dev is released, we don't need to do any bookkeeping,
since pci_slot's do not have pointers to pci_dev's.

Signed-off-by: Alex Chiang <achiang@hp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: make CPU list affinity visible
Mike Travis [Sat, 6 Sep 2008 12:46:42 +0000 (05:46 -0700)]
PCI: make CPU list affinity visible

Stephen Hemminger wrote:
> Looks like Mike created cpulistaffinty in sysfs but never completed
> the job.

This patch hooks things up correctly, taking care to remove the new file
when the bus is destroyed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: utilize calculated results when detecting MSI features
Jike Song [Tue, 9 Sep 2008 15:42:03 +0000 (23:42 +0800)]
PCI: utilize calculated results when detecting MSI features

In msi_capability_init, we can make use of the calculated results
instead of calling is_mask_bit_support and is_64bit_address twice.

Signed-off-by: Jike Song <albcamus@gmail.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: pciehp: replace printk with dev_printk
Taku Izumi [Fri, 5 Sep 2008 03:11:26 +0000 (12:11 +0900)]
PCI: pciehp: replace printk with dev_printk

This patch replaces printks within pciehp module with dev_printks.

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: pciehp: change name tag of "hpdriver_portdrv" variable
Taku Izumi [Fri, 5 Sep 2008 03:09:43 +0000 (12:09 +0900)]
PCI: pciehp: change name tag of "hpdriver_portdrv" variable

I think an appropriate name tag of "hpdriver_portdrv" variable
is "pciehp" rather than "hpdriver".

Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agox86/PCI: irq and pci_ids patch for Intel Ibex Peak DeviceIDs
Seth Heasley [Thu, 28 Aug 2008 22:40:59 +0000 (15:40 -0700)]
x86/PCI: irq and pci_ids patch for Intel Ibex Peak DeviceIDs

This patch updates the Intel Ibex Peak (PCH) LPC and SMBus Controller
DeviceIDs.

The LPC Controller ID is set by Firmware within the range of
0x3b00-3b1f.  This range is included in pci_ids.h using min and max
values, and irq.c now has code to handle the range (in lieu of 32
additions to a SWITCH statement).

The SMBus Controller ID is a fixed-value and will not change.

Signed-off-by: Seth Heasley <seth.heasley@intel.com>
Acked-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: pciehp: fix irq initialization
Kenji Kaneshige [Fri, 22 Aug 2008 08:16:48 +0000 (17:16 +0900)]
PCI: pciehp: fix irq initialization

Current pciehp driver gets irq number from pci_dev->irq. But because
pciehp driver is a pci express port service driver, it should get irq
number from pcie_device->irq.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
16 years agoPCI: Document that most pci options are shared between i386 and x86-64
Andi Kleen [Fri, 22 Aug 2008 07:53:39 +0000 (09:53 +0200)]
PCI: Document that most pci options are shared between i386 and x86-64

Since the code is shared pretty much most of the pci= options are shared,
but kernel-parameters.txt marked most of them as i386 only.

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>