firefly-linux-kernel-4.4.55.git
16 years ago[XFS] Include linux/random.h in all builds, not just debug builds.
David Chinner [Wed, 30 Apr 2008 08:15:34 +0000 (18:15 +1000)]
[XFS] Include linux/random.h in all builds, not just debug builds.

SGI-PV: 979416
SGI-Modid: xfs-linux-melb:xfs-kern:31008a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Fix build failure after enabling CONFIG_XFS_DEBUG
Stephen Rothwell [Tue, 22 Apr 2008 05:26:13 +0000 (15:26 +1000)]
[XFS] Fix build failure after enabling CONFIG_XFS_DEBUG

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] remove dmapi cruft in xfs_file.c
Christoph Hellwig [Mon, 21 Apr 2008 08:11:13 +0000 (18:11 +1000)]
[XFS] remove dmapi cruft in xfs_file.c

The dmapi cruft in xfs_file.c is totally out of date in mainline vs
CVS, and at this point just removing this code which can't be used on
mainline at all seems to be the best option to keep it maintainable.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] remove sendfile leftovers
Christoph Hellwig [Mon, 21 Apr 2008 07:25:35 +0000 (17:25 +1000)]
[XFS] remove sendfile leftovers

Remove the last sendfile leftovers in mainline.  This code is already
gone in CVS.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] allow enabling CONFIG_XFS_DEBUG
Christoph Hellwig [Mon, 21 Apr 2008 07:22:27 +0000 (17:22 +1000)]
[XFS] allow enabling CONFIG_XFS_DEBUG

Back when I first submitted XFS for mainline inclusion we made the
decision that the debug code is far to extensive to be accidentally
enabled by users in mainline.  But then again it's often quite useful
to track problems down and hacking the makefile all the time is rather
annoying.  Given all the debug options with even more overhead like
lockdep or DEBUG_PAGE_ALLOC users (or rather developers) should know
by now what they're doing.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Don't initialise new inode generation numbers to zero
David Chinner [Tue, 29 Apr 2008 02:53:32 +0000 (12:53 +1000)]
[XFS] Don't initialise new inode generation numbers to zero

When we allocation new inode chunks, we initialise the generation numbers
to zero. This works fine until we delete a chunk and then reallocate it,
resulting in the same inode numbers but with a reset generation count.
This can result in inode/generation pairs of different inodes occurring
relatively close together.

Given that the inode/gen pair makes up the "unique" portion of an NFS
filehandle on XFS, this can result in file handles cached on clients being
seen on the wire from the server but refer to a different file. This
causes .... issues for NFS clients.

Hence we need a unique generation number initialisation for each inode to
prevent reuse of a small portion of the generation number space. Use a
random number to initialise the generation number so we don't need to keep
any new state on disk whilst making the new number difficult to guess from
previous allocations.

SGI-PV: 979416
SGI-Modid: xfs-linux-melb:xfs-kern:31001a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Fix check for block zero access in xfs_write_iomap_allocate()
David Chinner [Tue, 29 Apr 2008 02:53:21 +0000 (12:53 +1000)]
[XFS] Fix check for block zero access in xfs_write_iomap_allocate()

The check for block zero access should be done on non-realtime inodes. Fix
the logic error in xfs_write_iomap_allocate(), and simplify the logic on
all checks for block zero access in xfs_iomap.c

SGI-PV: 980888
SGI-Modid: xfs-linux-melb:xfs-kern:30998a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Don't double count reserved block changes on UP.
David Chinner [Tue, 29 Apr 2008 02:53:15 +0000 (12:53 +1000)]
[XFS] Don't double count reserved block changes on UP.

On uniprocessor machines, the incore superblock is used for all in memory
accounting of free blocks. in this situation, changes to the reserved
block count are accounted twice; once directly and once via
xfs_mod_incore_sb(). Seeing as the modification on SMP is done via
xfs_mod_incore_sb(), make this the only update mechanism that UP uses as
well.

SGI-PV: 980654
SGI-Modid: xfs-linux-melb:xfs-kern:30997a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] remove xfs_log_ticket_zone on rmmod
Alexey Dobriyan [Tue, 29 Apr 2008 02:53:08 +0000 (12:53 +1000)]
[XFS] remove xfs_log_ticket_zone on rmmod

Fix bug introduced in commit eb01c9cd87c7a9998c2edf209721ea069e3e3652 aka
"[XFS] Remove the xlog_ticket allocator"

SGI-PV: 980887
SGI-Modid: xfs-linux-melb:xfs-kern:30995a

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] fix non-smp xfs build
Eric Sandeen [Tue, 29 Apr 2008 02:53:00 +0000 (12:53 +1000)]
[XFS] fix non-smp xfs build

xfs_reserve_blocks() calls xfs_icsb_sync_counters_locked(), which is not
defined if !CONFIG_SMP/!HAVE_PERCPU_SB

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30991a

Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Fix broken HAVE_SPLICE removal commit.
Donald Douwsma [Tue, 22 Apr 2008 07:34:56 +0000 (17:34 +1000)]
[XFS] Fix broken HAVE_SPLICE removal commit.

Commit e687330b5ed1ea899fdaf0dea50aba196b6e019a was meant to remove the
unused HAVE_SPLICE macro, instead an unrelated change was checked enabling
QUOTADEBUG when building DEBUG XFS. Restore the intended changes.

SGI-PV: 971046
SGI-Modid: xfs-linux-melb:xfs-kern:30924a

Signed-off-by: Donald Douwsma <donaldd@sgi.com>
Signed-off-by: Barry Naujok <bnaujok@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] kill XFS_ICSB_SB_LOCKED
Christoph Hellwig [Tue, 22 Apr 2008 07:34:50 +0000 (17:34 +1000)]
[XFS] kill XFS_ICSB_SB_LOCKED

With the last two patches XFS_ICSB_SB_LOCKED is never checked and only
superflously passed to xfs_icsb_count, so kill it.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30920a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] split xfs_icsb_balance_counter
Christoph Hellwig [Tue, 22 Apr 2008 07:34:44 +0000 (17:34 +1000)]
[XFS] split xfs_icsb_balance_counter

Add an xfs_icsb_balance_counter_locked for the case where mp->m_sb_lock is
already locked.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30918a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held
Christoph Hellwig [Tue, 22 Apr 2008 07:34:37 +0000 (17:34 +1000)]
[XFS] Add xfs_icsb_sync_counters_locked for when m_sb_lock already held

Add a new xfs_icsb_sync_counters_locked for the case where m_sb_lock
is already taken and add a flags argument to xfs_icsb_sync_counters so
that xfs_icsb_sync_counters_flags is not needed.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30917a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Cleanup xfs_attr a bit with xfs_name and remove cred
Barry Naujok [Tue, 22 Apr 2008 07:34:31 +0000 (17:34 +1000)]
[XFS] Cleanup xfs_attr a bit with xfs_name and remove cred

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30913a

Signed-off-by: Barry Naujok <bnaujok@sgi.com>
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir
Christoph Hellwig [Tue, 22 Apr 2008 07:34:24 +0000 (17:34 +1000)]
[XFS] kill usesless IHOLD calls in xfs_remove and xfs_rmdir

The VFS always has an inode reference when we call these functions. So we
only need to grab a signle reference to each inode that's joined to a
transaction - all the other bumping and dropping is as useless as the
comments describing the IRIX semantics.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30912a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] kill parent == child checks in xfs_remove and xfs_rmdir
Christoph Hellwig [Tue, 22 Apr 2008 07:34:18 +0000 (17:34 +1000)]
[XFS] kill parent == child checks in xfs_remove and xfs_rmdir

VFS guaranteed these can't happen.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30911a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] kill usesless IHOLD calls in xfs_rename
Christoph Hellwig [Tue, 22 Apr 2008 07:34:12 +0000 (17:34 +1000)]
[XFS] kill usesless IHOLD calls in xfs_rename

Similar to to the previous patch for remove and rmdir only grab a
reference to inodes when we join them to transaction to balance the
decrement on transaction completion. Everything else it taken care of by
the VFS.

Note that the old case had leaks of inode count when src == target or src
or target == one of the parent inodes, but these cases are fortunately
already rejected by the VFS.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30904a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] remove manual lookup from xfs_rename and simplify locking
Christoph Hellwig [Tue, 22 Apr 2008 07:34:06 +0000 (17:34 +1000)]
[XFS] remove manual lookup from xfs_rename and simplify locking

->rename already gets the target inode passed if it exits. Pass it down to
xfs_rename so that we can avoid looking it up again. Also simplify locking
as the first lock section in xfs_rename can go away now: the isdir is an
invariant over the lifetime of the inode, and new_parent and the nlink
check are namespace topology protected by i_mutex in the VFS. The projid
check needs to move into the second lock section anyway to not be racy.

Also kill the now unused xfs_dir_lookup_int and remove the now-unused
first_locked argumet to xfs_lock_inodes.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30903a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] shrink mrlock_t
Christoph Hellwig [Tue, 22 Apr 2008 07:34:00 +0000 (17:34 +1000)]
[XFS] shrink mrlock_t

The writer field is not needed for non_DEBU builds so remove it. While
we're at i also clean up the interface for is locked asserts to go through
and xfs_iget.c helper with an interface like the xfs_ilock routines to
isolated the XFS codebase from mrlock internals. That way we can kill
mrlock_t entirely once rw_semaphores grow an islocked facility. Also
remove unused flags to the ilock family of functions.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30902a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] simplify xfs_lookup
Christoph Hellwig [Tue, 22 Apr 2008 07:33:52 +0000 (17:33 +1000)]
[XFS] simplify xfs_lookup

Opencode xfs-kill-xfs_dir_lookup_int here, which gets rid of a lock
roundtrip, and lots of stack space. Also kill the di_mode == 0 check that
has been done in xfs_iget for a few years now.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30901a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] xfs_rename: pass resblks to xfs_dir_removename
Christoph Hellwig [Tue, 22 Apr 2008 07:33:46 +0000 (17:33 +1000)]
[XFS] xfs_rename: pass resblks to xfs_dir_removename

Similar to rmdir and remove - avoids a potential transaction reservation
overrun.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30900a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] kill di_mode checks after xfs_iget
Christoph Hellwig [Tue, 22 Apr 2008 07:33:40 +0000 (17:33 +1000)]
[XFS] kill di_mode checks after xfs_iget

Unless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it
encounters an inode with di_mode == 0. Remove the duplicated checks in the
callers.

(the log recovery case is not touched for now)

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30898a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] kill xfs_getattr
Christoph Hellwig [Tue, 22 Apr 2008 07:33:33 +0000 (17:33 +1000)]
[XFS] kill xfs_getattr

It's currently used by the ACL code to read di_mode/di_uid, but these are
simple 32bit scalar values we can just read directly without locking.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30897a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years ago[XFS] Remove VN_IS* macros and related cruft.
Christoph Hellwig [Tue, 22 Apr 2008 07:33:25 +0000 (17:33 +1000)]
[XFS] Remove VN_IS* macros and related cruft.

We can just check i_mode / di_mode directly.

SGI-PV: 976035
SGI-Modid: xfs-linux-melb:xfs-kern:30896a

Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
16 years agodrivers: fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 23:50:04 +0000 (16:50 -0700)]
drivers: fix integer as NULL pointer warnings

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomedia: fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 23:50:03 +0000 (16:50 -0700)]
media: fix integer as NULL pointer warnings

drivers/media/video/v4l2-common.c:719:16: warning: Using plain integer as NULL pointer
drivers/media/video/au0828/au0828-dvb.c:122:19: warning: Using plain integer as NULL pointer
drivers/media/video/ivtv/ivtv-yuv.c:1101:22: warning: Using plain integer as NULL pointer
drivers/media/video/ivtv/ivtv-yuv.c:1102:23: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-audio.c:78:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-video-v4l.c:84:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-v4l2.c:1264:9: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-context.c:197:28: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-cx2584x-v4l.c:126:39: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:133:32: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:145:31: warning: Using plain integer as NULL pointer
drivers/media/video/pvrusb2/pvrusb2-dvb.c:177:55: warning: Using plain integer as NULL pointer
drivers/media/video/videobuf-core.c:100:9: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoscsi: fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 23:50:03 +0000 (16:50 -0700)]
scsi: fix integer as NULL pointer warnings

drivers/scsi/aic7xxx/aic7770_osm.c:53:58: warning: Using plain integer as NULL pointer
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:355:47: warning: Using plain integer as NULL pointer
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c:372:55: warning: Using plain integer as NULL pointer
drivers/scsi/aha152x.c:997:28: warning: Using plain integer as NULL pointer
drivers/scsi/aha152x.c:1003:28: warning: Using plain integer as NULL pointer
drivers/scsi/aha152x.c:1165:46: warning: Using plain integer as NULL pointer
drivers/scsi/fdomain.c:1446:40: warning: Using plain integer as NULL pointer
drivers/scsi/sym53c8xx_2/sym_hipd.c:1650:51: warning: Using plain integer as NULL pointer
drivers/scsi/sym53c8xx_2/sym_hipd.c:3171:42: warning: Using plain integer as NULL pointer
drivers/scsi/sym53c8xx_2/sym_hipd.c:5732:52: warning: Using plain integer as NULL pointer
drivers/scsi/ncr53c8xx.c:8189:31: warning: Using plain integer as NULL pointer
drivers/scsi/ncr53c8xx.c:8225:34: warning: Using plain integer as NULL pointer
drivers/scsi/dpt_i2o.c:156:32: warning: Using plain integer as NULL pointer
drivers/scsi/ultrastor.c:954:42: warning: Using plain integer as NULL pointer
drivers/scsi/ultrastor.c:1104:18: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Tue, 29 Apr 2008 00:30:26 +0000 (17:30 -0700)]
Merge git://git./linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (35 commits)
  siimage: coding style cleanup (take 2)
  ide-cd: clean up cdrom_analyze_sense_data()
  ide-cd: fix test unsigned var < 0
  ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]
  piix: add Asus Eee 701 controller to short cable list
  ARM: always select HAVE_IDE
  remove the broken ETRAX_IDE driver
  ide: remove ->dma_prdtable field from ide_hwif_t
  ide: remove ->dma_vendor{1,3} fields from ide_hwif_t
  scc_pata: add ->dma_host_set and ->dma_start methods
  ide: skip "VLB sync" if host uses MMIO
  ide: add ide_pad_transfer() helper
  ide: remove ->INW and ->OUTW methods
  ide: use IDE I/O helpers directly in ide_tf_{load,read}()
  ns87415: add ->tf_read method
  scc_pata: add ->tf_{load,read} methods
  ide-h8300: add ->tf_{load,read} methods
  ide-cris: add ->tf_{load,read} methods
  ide: add ->tf_load and ->tf_read methods
  ide: move ide_tf_{load,read} to ide-iops.c
  ...

16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Tue, 29 Apr 2008 00:29:43 +0000 (17:29 -0700)]
Merge git://git./linux/kernel/git/sam/kbuild

* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
  kconfig: add named choice group
  kconfig: fix choice dependency check
  kconifg: 'select' considered less evil
  dontdiff: ignore timeconst.h
  dontdiff: add modules.order
  kbuild: fix unportability in gen_initramfs_list.sh
  kbuild: fix help output to show correct arch
  kbuild: show defconfig subdirs in make help
  kconfig: reversed borderlines in inputbox

16 years agodrivers: atm, char fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 21:13:20 +0000 (14:13 -0700)]
drivers: atm, char fix integer as NULL pointer warnings

drivers/atm/nicstar.c:418:25: warning: Using plain integer as NULL pointer
drivers/char/drm/r128_cce.c:820:25: warning: Using plain integer as NULL pointer
drivers/char/tty_io.c:1183:10: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agomm: fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 21:13:19 +0000 (14:13 -0700)]
mm: fix integer as NULL pointer warnings

mm/hugetlb.c:207:11: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agokernel: fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 21:13:19 +0000 (14:13 -0700)]
kernel: fix integer as NULL pointer warnings

kernel/cpuset.c:1268:52: warning: Using plain integer as NULL pointer
kernel/pid_namespace.c:95:24: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Reviewed-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoinit: fix integer as NULL pointer warnings
Harvey Harrison [Mon, 28 Apr 2008 21:13:14 +0000 (14:13 -0700)]
init: fix integer as NULL pointer warnings

init/do_mounts_rd.c:215:13: warning: Using plain integer as NULL pointer
init/do_mounts_md.c:136:45: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agosiimage: coding style cleanup (take 2)
Sergei Shtylyov [Mon, 28 Apr 2008 21:44:44 +0000 (23:44 +0200)]
siimage: coding style cleanup (take 2)

Fix 18 errors and several warnings given by checkpatch.pl:

- use of C99 // comments;

- trailing whitespace;

- 'switch' and 'case' not at the same indentation level;

- no space before the open parenthesis of the 'if' and 'switch' statements;

- space between function name and open parenthesis (though I have introduced
  such warnins in some places since the code looks prettier with the spaces);

- including <asm/io.h> instead of <linux/io.h>;

- line over 80 characters.

In addition to these changes, also do the following:

- make the arrays in sil_set_pio_mode() 'static', and make the arrays in
  sil_set_dma_mode() 'static const';

- change the string of the 'if' statements into the 'switch' statement in
  sil_pata_udma_filter();

- drop the needless '==' operators from the 'if' statements where a condition
  is a mere bit test;

- remove needless initializer for the 'tmp' variable in init_chipset_siimage();

- beautify groups of the variable initializers and assignment operators;

- add new line after variable definitions;

- remove new line between the comment and the statements it refers to;

- remove needless curly braces and parentheses;

- fix typos, capitalize acronyms, etc. in the comments...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cd: clean up cdrom_analyze_sense_data()
Roel Kluin [Mon, 28 Apr 2008 21:44:43 +0000 (23:44 +0200)]
ide-cd: clean up cdrom_analyze_sense_data()

[bart: fix handling of bio_sectors(failed_command->bio) == 0]

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cd: fix test unsigned var < 0
Roel Kluin [Mon, 28 Apr 2008 21:44:43 +0000 (23:44 +0200)]
ide-cd: fix test unsigned var < 0

valid is unsigned and cannot be below 0.

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Cc: Borislav Petkov <petkovbb@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]
Alexander Smal [Mon, 28 Apr 2008 21:44:43 +0000 (23:44 +0200)]
ide: add TSSTcorp CDDVDW SH-S202H to ivb_list[]

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agopiix: add Asus Eee 701 controller to short cable list
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:43 +0000 (23:44 +0200)]
piix: add Asus Eee 701 controller to short cable list

Based on ata_piix patch by Dan McGee.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoARM: always select HAVE_IDE
Adrian Bunk [Mon, 28 Apr 2008 21:44:43 +0000 (23:44 +0200)]
ARM: always select HAVE_IDE

It's plain wrong for PCMCIA to select HAVE_IDE that implies e.g. the
availability of an asm/ide.h

It turns out this was done for ARM, and we can simply always select
HAVE_IDE on ARM instead of manually tracking which platforms might
possible have an IDE controller directly or indirectly.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoremove the broken ETRAX_IDE driver
Adrian Bunk [Mon, 28 Apr 2008 21:44:42 +0000 (23:44 +0200)]
remove the broken ETRAX_IDE driver

ETRAX_IDE was marked as broken last year with the comment
"it doesn't even compile currently".

Remove it since it won't get fixed in the near future.

On Mon, Apr 14, 2008 at 02:50:19PM +0200, Mikael Starvik wrote:
> You can remove it for now and we will resubmit a new if/when we get around
> to fix it.

[bart: ported it over IDE tree]

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Mikael Starvik <mikael.starvik@axis.com>
Cc: Jesper Nilsson <Jesper.Nilsson@axis.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove ->dma_prdtable field from ide_hwif_t
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:42 +0000 (23:44 +0200)]
ide: remove ->dma_prdtable field from ide_hwif_t

* Use 'hwif->dma_base + {4,8}' instead of hwif->dma_prdtable in
  {ide,scc}_dma_setup().

* Remove no longer needed ->dma_prdtable field from ide_hwif_t.

While at it:

* Use ATA_DMA_TABLE_OFS define.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove ->dma_vendor{1,3} fields from ide_hwif_t
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:42 +0000 (23:44 +0200)]
ide: remove ->dma_vendor{1,3} fields from ide_hwif_t

* Use 'hwif->dma_base + {1,3}' instead of hwif->dma_vendor{1,3} in
  pdc202xx_new host driver.

* Remove no longer needed ->dma_vendor{1,3} fields from ide_hwif_t.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoscc_pata: add ->dma_host_set and ->dma_start methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:41 +0000 (23:44 +0200)]
scc_pata: add ->dma_host_set and ->dma_start methods

Add ->dma_host_set and ->dma_start methods (+ __scc_dma_end() helper)
so scc_ide_{in,out}b() can be used directly.

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: skip "VLB sync" if host uses MMIO
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:41 +0000 (23:44 +0200)]
ide: skip "VLB sync" if host uses MMIO

* Skip "VLB sync" in ata_{in,out}put_data() if host uses MMIO.

* Use I/O ops directly in ata_vlb_sync() an drop no longer needed
  'ide_drive_t *drive' argument.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add ide_pad_transfer() helper
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:41 +0000 (23:44 +0200)]
ide: add ide_pad_transfer() helper

* Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods
  internally so the transfer is also padded to drive+host requirements)
  and use it instead of ide_atapi_{write_zeros,discard_data}().

* Remove no longer needed ide_atapi_{write_zeros,discard_data}().

Cc: Borislav Petkov <petkovbb@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove ->INW and ->OUTW methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:41 +0000 (23:44 +0200)]
ide: remove ->INW and ->OUTW methods

* Remove no longer used ->INW and ->OUTW methods.

While at it:

* scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}()
  so inline it there.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: use IDE I/O helpers directly in ide_tf_{load,read}()
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:41 +0000 (23:44 +0200)]
ide: use IDE I/O helpers directly in ide_tf_{load,read}()

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agons87415: add ->tf_read method
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:40 +0000 (23:44 +0200)]
ns87415: add ->tf_read method

Add ->tf_read method so out{b,w}(), in{b,w}() and superio_ide_inb()
can be used directly.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoscc_pata: add ->tf_{load,read} methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:40 +0000 (23:44 +0200)]
scc_pata: add ->tf_{load,read} methods

Add ->tf_{load,read} methods so scc_ide_{outb,outw,inb,inw}()
can be used directly.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-h8300: add ->tf_{load,read} methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:40 +0000 (23:44 +0200)]
ide-h8300: add ->tf_{load,read} methods

Add ->tf_{load,read} methods so outb()/inb() and mm_outw()/mm_inw()
can be used directly.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-cris: add ->tf_{load,read} methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:40 +0000 (23:44 +0200)]
ide-cris: add ->tf_{load,read} methods

Add ->tf_{load,read} methods so cris_ide_{outb,outw,inb,inw}()
can be used directly.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add ->tf_load and ->tf_read methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:40 +0000 (23:44 +0200)]
ide: add ->tf_load and ->tf_read methods

* Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default
  methods in default_hwif_transport().

* Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly.

* Make ide_tf_{load,read}() static.

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: move ide_tf_{load,read} to ide-iops.c
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:39 +0000 (23:44 +0200)]
ide: move ide_tf_{load,read} to ide-iops.c

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: factor out debugging code from ide_tf_load()
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:39 +0000 (23:44 +0200)]
ide: factor out debugging code from ide_tf_load()

Factor out debugging code from ide_tf_load() to ide_tf_dump() helper
and update ide_tf_load() users accordingly.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add ide_execute_pkt_cmd() helper
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:39 +0000 (23:44 +0200)]
ide: add ide_execute_pkt_cmd() helper

Add ide_execute_pkt_cmd() helper for executing PACKET command,
then convert ATAPI device drivers to use it.

As a nice side-effect this fixes ide-{floppy,tape,scsi} w.r.t.
ide_lock taking (ide-cd was OK).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-{floppy,tape,scsi}: 400ns delay is required after executing the command
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:39 +0000 (23:44 +0200)]
ide-{floppy,tape,scsi}: 400ns delay is required after executing the command

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: always use ->OUTBSYNC method for executing commands
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:38 +0000 (23:44 +0200)]
ide: always use ->OUTBSYNC method for executing commands

Always use ->OUTBSYNC method for executing commands so the posting is done
if needed (this affects only pmac and scc_pata host drivers at the moment).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosiimage: remove proc_reports_siimage()
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:38 +0000 (23:44 +0200)]
siimage: remove proc_reports_siimage()

* proc_reports_siimage() is now only called by init_chipset_siimage()
  so inline it there.

* Use array instead of switch statement for reporting clock modes.

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosiimage: add sil_* I/O ops
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:38 +0000 (23:44 +0200)]
siimage: add sil_* I/O ops

Add sil_iowrite{8,16,32}() and sil_ioread{8,16}() helpers, then use them to
merge code accessing configuration registers through PCI and MMIO together.

[ because of this SATA initialization bits from setup_mmio_siimage() are
  moved to init_chipset_siimage() ]

This also cuts code size a bit:

   text    data     bss     dec     hex filename
   4437     164       0    4601    11f9 drivers/ide/pci/siimage.o.before
   3979     164       0    4143    102f drivers/ide/pci/siimage.o.after

While at it:

* Use I/O ops directly instead of using ->IN{B,W} and ->OUT{B,W}.

* Fixup CodingStyle in setup_mmio_siimage().

* Rename 'tmpbyte' variable to 'tmp' in init_chipset_siimage().

There should be no functional changes caused by this patch.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agosiimage: do clocking register posting earlier in setup_mmio_siimage()
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:38 +0000 (23:44 +0200)]
siimage: do clocking register posting earlier in setup_mmio_siimage()

Do clocking register posting earlier in setup_mmio_siimage()
to match code in init_chipset_siimage().

This is a preparation for the next patch which merges PCI and MMIO
code paths together.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: remove ->INS{W,L} and ->OUTS{W,L} methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:37 +0000 (23:44 +0200)]
ide: remove ->INS{W,L} and ->OUTS{W,L} methods

* Use ins{w,l}()/outs{w,l}() and __ide_mm_ins{w,l}()/__ide_mm_outs{w,l}()
  directly in ata_{in,out}put_data() (by using IDE_HFLAG_MMIO host flag to
  decide which I/O ops are required).

* Remove no longer needed ->INS{W,L} and ->OUTS{W,L} methods (ide-h8300,
  au1xxx-ide and scc_pata implement their own ->{in,out}put_data methods).

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: add IDE_HFLAG_MMIO host flag (take 2)
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:37 +0000 (23:44 +0200)]
ide: add IDE_HFLAG_MMIO host flag (take 2)

* Add IDE_HFLAG_MMIO host flag and set it for hosts which use
  default_hwif_mmiops().

v2:
* Fix kernel panic in pmac host driver (',' should be '|').

  Thanks to Kamalesh for reporting it + testing the fix
  and to Andrew for hinting me about the source of the issue.

Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide-h8300: add ->{in,out}put_data methods (take 2)
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:37 +0000 (23:44 +0200)]
ide-h8300: add ->{in,out}put_data methods (take 2)

v2:

* Update ->{in,out}_data methods to take 'struct request *rq' argument.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoau1xxx-ide: add ->{in,out}put_data methods (take 2)
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:37 +0000 (23:44 +0200)]
au1xxx-ide: add ->{in,out}put_data methods (take 2)

v2:

* Update ->{in,out}_data methods to take 'struct request *rq' argument.

There should be no functional changes caused by this patch.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoscc_pata: add ->{in,out}put_data methods (take 2)
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:36 +0000 (23:44 +0200)]
scc_pata: add ->{in,out}put_data methods (take 2)

v2:

* Update ->{in,out}_data methods to take 'struct request *rq' argument
  (thanks to Stephen Rothwell for catching it).

There should be no functional changes caused by this patch.

Cc: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Cc: Akira Iguchi <akira2.iguchi@toshiba.co.jp>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: merge ->atapi_*put_bytes and ->ata_*put_data methods
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:36 +0000 (23:44 +0200)]
ide: merge ->atapi_*put_bytes and ->ata_*put_data methods

* Merge ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods
  into new ->{in,out}put_data methods which take number of bytes to
  transfer as an argument and always do padding.

While at it:

* Use 'hwif' or 'drive->hwif' instead of 'HWIF(drive)'.

There should be no functional changes caused by this patch (all users
of ->ata_{in,out}put_data methods were using multiply-of-4 word counts).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agofalconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods (take 2)
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:36 +0000 (23:44 +0200)]
falconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods (take 2)

* Add ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods to
  falconide and q40ide host drivers (->ata_* methods are implemented on
  top of ->atapi_* methods so they also do byte-swapping now).

* Cleanup atapi_{in,out}put_bytes().

v2:
* Add 'struct request *rq' argument to ->ata_{in,out}put_data methods
  and don't byte-swap disk fs requests (we shouldn't un-swap fs requests
  because fs itself is stored byte-swapped on the disk) - this is how
  things were done before the patch (ideally device mapper should be
  used instead but it would break existing setups and would have some
  performance impact).

Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michael Schmitz <schmitz@debian.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Richard Zidlicky <rz@linux-m68k.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoide: fix au1xxx-ide breakage
Bartlomiej Zolnierkiewicz [Mon, 28 Apr 2008 21:44:35 +0000 (23:44 +0200)]
ide: fix au1xxx-ide breakage

On Monday 28 April 2008, Sergei Shtylyov wrote:
> Hello, I wrote:
>
> > Fix these warnings emitted when compiling drivers/ide/mips/au1xxx-ide.c:
>
> > include/asm/mach-au1x00/au1xxx_ide.h:137: warning: 'auide_tune_drive' declared
> > `static' but never defined
> > include/asm/mach-au1x00/au1xxx_ide.h:138: warning: 'auide_tune_chipset' declared
> >  `static' but never defined
>
> > by wiping out the whole "function prototyping" section from the header file
> > <asm-mips/mach-au1x00/au1xxx_ide.h> as it mostly declared functions that are
> > already dead in the IDE driver; move the only useful prototype into the driver.
> >
> > Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
>
> > ---
> > I'm not sure thru which tree this should go -- probably thru Linux/MIPS one...
>
> > Bart, au1xxx-ide-fix-mwdma-support.patch will probably need to be updated to
> > remove that added prototype since it won't be needed anymore...
>
>     Which you haven't done either in that patch or in
> au1xxx-ide-use-init_dma-method.patch. So, face the consequences:
>
> drivers/ide/mips/au1xxx-ide.c:456: error: conflicting types for 'auide_ddma_init'
> drivers/ide/mips/au1xxx-ide.c:51: error: previous declaration of
> 'auide_ddma_init' was here
> drivers/ide/mips/au1xxx-ide.c:456: error: conflicting types for 'auide_ddma_init'
> drivers/ide/mips/au1xxx-ide.c:51: error: previous declaration of
> 'auide_ddma_init' was here
> drivers/ide/mips/au1xxx-ide.c:51: warning: 'auide_ddma_init' used but never
> defined

Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
16 years agoptrace: conditionalize compat_ptrace_request
Roland McGrath [Mon, 28 Apr 2008 20:57:19 +0000 (13:57 -0700)]
ptrace: conditionalize compat_ptrace_request

My recent additions to compat_ptrace_request made it mandatory
for CONFIG_COMPAT arch's to define copy_siginfo_from_user32.
This broke some builds, though they all really should get cleaned
up in that way.

Since all the arch's that actually call compat_ptrace_request have
now been cleaned up to use the generic compat_sys_ptrace, we can
avoid the build problems on the crufty arch's by changing the
conditionals on the definition.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg...
Linus Torvalds [Mon, 28 Apr 2008 21:08:56 +0000 (14:08 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/penberg/slab-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:
  slub: pack objects denser
  slub: Calculate min_objects based on number of processors.
  slub: Drop DEFAULT_MAX_ORDER / DEFAULT_MIN_OBJECTS
  slub: Simplify any_slab_object checks
  slub: Make the order configurable for each slab cache
  slub: Drop fallback to page allocator method
  slub: Fallback to minimal order during slab page allocation
  slub: Update statistics handling for variable order slabs
  slub: Add kmem_cache_order_objects struct
  slub: for_each_object must be passed the number of objects in a slab
  slub: Store max number of objects in the page struct.
  slub: Dump list of objects not freed on kmem_cache_close()
  slub: free_list() cleanup
  slub: improve kmem_cache_destroy() error message
  slob: fix bug - when slob allocates "struct kmem_cache", it does not force alignment.

16 years agokconfig: add named choice group
Roman Zippel [Fri, 29 Feb 2008 04:11:50 +0000 (05:11 +0100)]
kconfig: add named choice group

As choice dependency are now fully checked, it's quite easy to add support
for named choices. This lifts the restriction that a choice value can only
appear once, although it still has to be within the same group,
but multiple choices can be joined by giving them a name.
While at it I cleaned up a little the choice type logic to simplify it a
bit.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agokconfig: fix choice dependency check
Roman Zippel [Fri, 29 Feb 2008 04:10:24 +0000 (05:10 +0100)]
kconfig: fix choice dependency check

Properly check the dependency of choices as a group.
Also fix that sym_check_deps() correctly terminates the dependency loop
error check (otherwise it would continue printing the dependency chain).

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agokconifg: 'select' considered less evil
Matthew Wilcox [Sat, 19 Apr 2008 20:45:11 +0000 (14:45 -0600)]
kconifg: 'select' considered less evil

While select should be used with care, it is not actually evil.

Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agodontdiff: ignore timeconst.h
Ben Dooks [Fri, 18 Apr 2008 15:28:35 +0000 (16:28 +0100)]
dontdiff: ignore timeconst.h

Ignore the autobuilt kernel/timeconst.h when
using diff on an built kernel tree.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agodontdiff: add modules.order
Ben Dooks [Fri, 18 Apr 2008 15:18:16 +0000 (16:18 +0100)]
dontdiff: add modules.order

Add modules.order to the list of files that
shoud be ignored when using diff on a built
kernel tree.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agokbuild: fix unportability in gen_initramfs_list.sh
Felix Fietkau [Wed, 2 Apr 2008 12:50:05 +0000 (14:50 +0200)]
kbuild: fix unportability in gen_initramfs_list.sh

On a Mac OS X machine the output of ls -l is different from a standard
Linux machine. Use readlink instead of parsing a hardcoded field number
from the ls output.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agox86_64 vDSO: use initdata
Roland McGrath [Mon, 28 Apr 2008 01:45:38 +0000 (18:45 -0700)]
x86_64 vDSO: use initdata

The 64-bit vDSO image is in a special ".vdso" section for no reason
I can determine.  Furthermore, the location of the vdso_end symbol
includes some wrongly-calculated padding space in the image, which
is then (correctly) rounded to page size, resulting in an extra page
of zeros in the image mapped in to user processes.

This changes it to put the vdso.so image into normal initdata as we
have always done for the 32-bit vDSO images.  The extra padding is
gone, so the user VMA is one page instead of two.  The image that
was already copied around at boot time is now in initdata, so we
recover that wasted space after boot.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq
Linus Torvalds [Mon, 28 Apr 2008 20:47:21 +0000 (13:47 -0700)]
Merge git://git./linux/kernel/git/davej/cpufreq

* git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
  [CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back.
  [CPUFREQ] change cpu freq tables to per_cpu variables
  [CPUFREQ] fix show_trans_table
  [CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls
  [CPUFREQ] Refactor locking in cpufreq_add_dev
  [CPUFREQ] more CodingStyle
  [CPUFREQ] CodingStyle
  [CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume

16 years agokbuild: fix help output to show correct arch
Andres Salomon [Sat, 26 Apr 2008 02:34:58 +0000 (22:34 -0400)]
kbuild: fix help output to show correct arch

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agomm/memory_hotplug.c must #include "internal.h"
Adrian Bunk [Mon, 28 Apr 2008 17:40:08 +0000 (20:40 +0300)]
mm/memory_hotplug.c must #include "internal.h"

This patch fixes the following compile error caused by commit
04753278769f3b6c3b79a080edb52f21d83bf6e2 ("memory hotplug: register
section/node id to free"):

    CC      mm/memory_hotplug.o
  /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c: In function ‘put_page_bootmem’:
  /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c:82: error: implicit declaration of function ‘__free_pages_bootmem’
  /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c: At top level:
  /home/bunk/linux/kernel-2.6/git/linux-2.6/mm/memory_hotplug.c:87: warning: no previous prototype for ‘register_page_bootmem_info_section’
  make[2]: *** [mm/memory_hotplug.o] Error 1

[ Andrew: "Argh.  The -mm-only memory-hotplug-add-removable-to-sysfs-
  to-show-memblock-removability.patch debugging patch adds that include
  so nobody hit this before. ]

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agokbuild: show defconfig subdirs in make help
Segher Boessenkool [Sun, 6 Apr 2008 20:16:07 +0000 (22:16 +0200)]
kbuild: show defconfig subdirs in make help

PowerPC will start moving board defconfigs into subarch-specific
subdirs soon.  "make help" currently does not look in subdirs to
find the defconfigs to show.  This is partially a good thing,
since there are way too many defconfigs for one list.

This patch makes the main "make help" display something like

  help-40x         - Show 40x-specific targets
  help-44x         - Show 44x-specific targets
  help-boards      - Show all of the above

and wires up stuff so those new help-* commands actually work.

[sam: fixed it up to display x86 defconfigs too]
Cc: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agokconfig: reversed borderlines in inputbox
Roel Kluin [Thu, 20 Mar 2008 20:30:32 +0000 (21:30 +0100)]
kconfig: reversed borderlines in inputbox

Fix reversal of dlg.border.atr and dlg.dialog.atr for draw_box()
Makes the inputbox look like expected

Signed-off-by: Roel Kluin <12o3l@tiscali.nl>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
16 years agohrtimer: raise softirq unlocked to avoid circular lock dependency
Thomas Gleixner [Mon, 28 Apr 2008 07:23:24 +0000 (09:23 +0200)]
hrtimer: raise softirq unlocked to avoid circular lock dependency

The scheduler hrtimer bits in 2.6.25 introduced a circular lock
dependency in a rare code path:

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.25-sched-devel.git-x86-latest.git #19
-------------------------------------------------------
X/2980 is trying to acquire lock:
 (&rq->rq_lock_key#2){++..}, at: [<ffffffff80230146>] task_rq_lock+0x56/0xa0

but task is already holding lock:
 (&cpu_base->lock){++..}, at: [<ffffffff80257ae1>] lock_hrtimer_base+0x31/0x60

which lock already depends on the new lock.

The scenario which leads to this is:

posix-timer signal is delivered
 -> posix-timer is rearmed
    timer is already expired in hrtimer_enqueue()
     -> softirq is raised

To prevent this we need to move the raise of the softirq out of the
base->lock protected code path.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@kernel.org
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
16 years ago[CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back.
Venkatesh Pallipadi [Mon, 28 Apr 2008 19:13:43 +0000 (15:13 -0400)]
[CPUFREQ] Make acpi-cpufreq more robust against BIOS freq changes behind our back.

We checked the hardware freq with OS cached freq value in get_cur_freqon_cpu().

Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Dave Jones <davej@redhat.com>
16 years ago[CPUFREQ] change cpu freq tables to per_cpu variables
Mike Travis [Wed, 5 Mar 2008 16:31:29 +0000 (08:31 -0800)]
[CPUFREQ] change cpu freq tables to per_cpu variables

Change cpufreq tables from arrays to per_cpu variables in
drivers/acpi/processor_thermal.c

Based on git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

Cc: Len Brown <len.brown@intel.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
16 years ago[CPUFREQ] fix show_trans_table
Cesar Eduardo Barros [Sat, 16 Feb 2008 10:41:25 +0000 (08:41 -0200)]
[CPUFREQ] fix show_trans_table

Fix show_trans_table when it overflows PAGE_SIZE.

* Not all snprintf calls were protected against being passed a negative
length.
* When show_trans_table overflows, len might be > PAGE_SIZE. In that case,
returns PAGE_SIZE.

Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net>
Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
16 years ago[CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls
Cesar Eduardo Barros [Sat, 16 Feb 2008 10:41:24 +0000 (08:41 -0200)]
[CPUFREQ] Warn when cpufreq_register_notifier called before pure initcalls

If cpufreq_register_notifier is called before pure initcalls,
init_cpufreq_transition_notifier_list will overwrite whatever it did,
causing notifiers to be ignored.

Print some noise to the kernel log if that happens.

Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net>
Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
16 years ago[CPUFREQ] Refactor locking in cpufreq_add_dev
Dave Jones [Wed, 5 Mar 2008 19:07:34 +0000 (14:07 -0500)]
[CPUFREQ] Refactor locking in cpufreq_add_dev

Simplify this by moving the unlocking out of the error
paths into the exit path.

Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
16 years ago[CPUFREQ] more CodingStyle
Dave Jones [Wed, 5 Mar 2008 19:28:32 +0000 (14:28 -0500)]
[CPUFREQ] more CodingStyle

void * p   ->  void *p
no space between function parameters
removed excess whitespace

Signed-off-by: Dave Jones <davej@codemonkey.org.uk>
16 years ago[CPUFREQ] CodingStyle
Dave Jones [Thu, 7 Feb 2008 21:33:49 +0000 (16:33 -0500)]
[CPUFREQ] CodingStyle

return is not a function.

Signed-off-by: Dave Jones <davej@redhat.com>
16 years ago[CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume
Dave Jones [Thu, 7 Feb 2008 21:32:18 +0000 (16:32 -0500)]
[CPUFREQ] Slightly shorten the error paths of cpufreq_suspend/cpufreq_resume

Signed-off-by: Dave Jones <davej@redhat.com>
16 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Mon, 28 Apr 2008 17:51:43 +0000 (10:51 -0700)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (45 commits)
  [MIPS] Pb1200/DBAu1200: move platform code to its proper place
  [MIPS] Fix handling of trap and breakpoint instructions
  [MIPS] Pb1200: do register SMC 91C111
  [MIPS] DBAu1200: fix bad SMC 91C111 resource size
  [NET] Kconfig: Rename MIKROTIK_RB500 -> MIKROTIK_RB532
  [MIPS] IP27: Fix build bug due to missing include
  [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c
  [MIPS] cevt-gt641xx: Kill unnecessary include
  [MIPS] DS1287: Add clockevent driver
  [MIPS] add DECstation I/O ASIC clocksource
  [MIPS] rbtx4938: minor cleanup
  [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro
  [MIPS] rbtx4938: misc cleanups
  [MIPS] jmr3927: use generic txx9 gpio
  [MIPS] rbhma4500: use generic txx9 gpio
  [MIPS] generic txx9 gpio support
  [MIPS] make fallback gpio.h gpiolib-friendly
  [MIPS] unexport null_perf_irq() and make it static
  [MIPS] unexport rtc_mips_set_time()
  [MIPS] unexport copy_from_user_page()
  ...

16 years agox86: Fix 32-bit MSI-X allocation leakage
PJ Waskiewicz [Sat, 26 Apr 2008 00:58:52 +0000 (17:58 -0700)]
x86: Fix 32-bit MSI-X allocation leakage

This bug was introduced in the 2.6.24 i386/x86_64 tree merge, where
MSI-X vector allocation will eventually fail.  The cause is the new
bit array tracking used vectors is not getting cleared properly on
IRQ destruction on the 32-bit APIC code.

This can be seen easily using the ixgbe 10 GbE driver on multi-core
systems by simply loading and unloading the driver a few times.
Depending on the number of available vectors on the host system, the
MSI-X allocation will eventually fail, and the driver will only be
able to use legacy interrupts.

I am generating the same patch for both stable trees for 2.6.24 and
2.6.25.

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodocbook: fix bitops fatal filename error
Randy Dunlap [Mon, 28 Apr 2008 17:21:40 +0000 (10:21 -0700)]
docbook: fix bitops fatal filename error

bitops source file was renamed, so fix docbook for that.
docproc: linux-2.6.25-git11/include/asm-x86/bitops_32.h: No such file or directory

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Mon, 28 Apr 2008 17:08:49 +0000 (10:08 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/selinux-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
  SELinux: Fix a RCU free problem with the netport cache
  SELinux: Made netnode cache adds faster
  SELinux: include/security.h whitespace, syntax, and other cleanups
  SELinux: policydb.h whitespace, syntax, and other cleanups
  SELinux: mls_types.h whitespace, syntax, and other cleanups
  SELinux: mls.h whitespace, syntax, and other cleanups
  SELinux: hashtab.h whitespace, syntax, and other cleanups
  SELinux: context.h whitespace, syntax, and other cleanups
  SELinux: ss/conditional.h whitespace, syntax, and other cleanups
  SELinux: selinux/include/security.h whitespace, syntax, and other cleanups
  SELinux: objsec.h whitespace, syntax, and other cleanups
  SELinux: netlabel.h whitespace, syntax, and other cleanups
  SELinux: avc_ss.h whitespace, syntax, and other cleanups

Fixed up conflict in include/linux/security.h manually

16 years agousb input endianness annotations and fixes
Al Viro [Mon, 28 Apr 2008 06:00:26 +0000 (07:00 +0100)]
usb input endianness annotations and fixes

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agocelleb_scc_pciex __iomem annotations
Al Viro [Mon, 28 Apr 2008 05:59:45 +0000 (06:59 +0100)]
celleb_scc_pciex __iomem annotations

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agodrivers/usb annotations and fixes
Al Viro [Mon, 28 Apr 2008 06:00:16 +0000 (07:00 +0100)]
drivers/usb annotations and fixes

* endianness annotations
* endianness fixes
* missing get_unaligned/put_unaligned

It's pretty much all over the place, changes to different files are independent.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Serial-parts-Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
16 years agousbhid endianness annotations and fixes
Al Viro [Mon, 28 Apr 2008 06:00:05 +0000 (07:00 +0100)]
usbhid endianness annotations and fixes

usb_control_msg() converts arguments to little-endian itself,
doing that in caller means breakage on big-endian boxen.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>