openwrt/staging/blogic.git
19 years ago[PATCH] md: enable the bitmap write-back daemon and wait for it.
NeilBrown [Wed, 22 Jun 2005 00:17:21 +0000 (17:17 -0700)]
[PATCH] md: enable the bitmap write-back daemon and wait for it.

Currently we don't wait for updates to the bitmap to be flushed to disk
properly.  The infrastructure all there, but it isn't being used....

A separate kernel thread (bitmap_writeback_daemon) is needed to wait for each
page as we cannot get callbacks when a page write completes.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: check return value of write_page, rather than ignore it
NeilBrown [Wed, 22 Jun 2005 00:17:20 +0000 (17:17 -0700)]
[PATCH] md: check return value of write_page, rather than ignore it

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: improve debug-printing of bitmap superblock.
NeilBrown [Wed, 22 Jun 2005 00:17:20 +0000 (17:17 -0700)]
[PATCH] md: improve debug-printing of bitmap superblock.

- report sync_size properly  - need /2 to convert sectors to KB
- move everything over 2 spaces to allow proper spelling of
  "events cleared".

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md printk fix
akpm@osdl.org [Wed, 22 Jun 2005 00:17:19 +0000 (17:17 -0700)]
[PATCH] md printk fix

A u64 is not an unsigned long long.  On power4 it is `long', and printk warns.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make sure md bitmap is cleared on a clean start.
NeilBrown [Wed, 22 Jun 2005 00:17:18 +0000 (17:17 -0700)]
[PATCH] md: make sure md bitmap is cleared on a clean start.

As the array-wide clean bit (in the superblock) is set more agressively than
the bits in the bitmap are cleared, it is possible to have an array which is
clean despite there being bits set in the bitmap.

These bits will currently never get cleared, as they can only be cleared by a
resync pass, which never happens.

No, when reading bits from disk, be aware of whether the whole array is known
to be in sync, and act accordingly.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: minor code rearrangement in bitmap_init_from_disk
NeilBrown [Wed, 22 Jun 2005 00:17:17 +0000 (17:17 -0700)]
[PATCH] md: minor code rearrangement in bitmap_init_from_disk

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: print correct pid for newly created bitmap-writeback-daemon.
NeilBrown [Wed, 22 Jun 2005 00:17:17 +0000 (17:17 -0700)]
[PATCH] md: print correct pid for newly created bitmap-writeback-daemon.

The debugging message printed the wrong pid, which didn't help remove bugs....

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: call bitmap_daemon_work regularly
NeilBrown [Wed, 22 Jun 2005 00:17:16 +0000 (17:17 -0700)]
[PATCH] md: call bitmap_daemon_work regularly

bitmap_daemon_work clears bits in the bitmap for blocks that haven't been
written to for a while.  It needs to be called regularly to make sure the
bitmap doesn't endup full of ones ....  but it wasn't.

So call it from the increasingly-inaptly-named md_check_recovery

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: a couple of tidyups relating to the bitmap file.
NeilBrown [Wed, 22 Jun 2005 00:17:15 +0000 (17:17 -0700)]
[PATCH] md: a couple of tidyups relating to the bitmap file.

1/ When init from disk, it is a BUG if there is nowhere
   to init from,
2/ use seq_path to print path in /proc/mdstat

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: optimised resync using Bitmap based intent logging
NeilBrown [Wed, 22 Jun 2005 00:17:14 +0000 (17:17 -0700)]
[PATCH] md: optimised resync using Bitmap based intent logging

With this patch, the intent to write to some block in the array can be logged
to a bitmap file.  Each bit represents some number of sectors and is set
before any update happens, and only cleared when all writes relating to all
sectors are complete.

After an unclean shutdown, information in this bitmap can be used to optimise
resync - only sectors which could be out-of-sync need to be updated.

Also if a drive is removed and then added back into an array, the recovery can
make use of the bitmap to optimise reconstruction.  This is not implemented in
this patch.

Currently the bitmap is stored in a file which must (obviously) be stored on a
separate device.

The patch only provided infrastructure.  It does not update any personalities
to bitmap intent logging.

Md arrays can still be used with no bitmap file.  This patch has minimal
impact on such arrays.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: improve the interface to sync_request
NeilBrown [Wed, 22 Jun 2005 00:17:13 +0000 (17:17 -0700)]
[PATCH] md: improve the interface to sync_request

1/ change the return value (which is number-of-sectors synced)
 from 'int' to 'sector_t'.
 The number of sectors is usually easily small enough to fit
 in an int, but if resync needs to abort, it may want to return
 the total number of remaining sectors, which could be large.
 Also errors cannot be returned as negative numbers now, so use
 0 instead
2/ Add a 'skipped' return parameter to allow the array to report
 that it skipped the sectors.  This allows md to take this into account
 in the speed calculations.
 Currently there is no important skipping, but the bitmap-based-resync
 that is coming will use this.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: improve locking on 'safemode' and move superblock writes
NeilBrown [Wed, 22 Jun 2005 00:17:12 +0000 (17:17 -0700)]
[PATCH] md: improve locking on 'safemode' and move superblock writes

When md marks the superblock dirty before a write, it calls
generic_make_request (to write the superblock) from within
generic_make_request (to write the first dirty block), which could cause
problems later.

With this patch, the superblock write is always done by the helper thread, and
write request are delayed until that write completes.

Also, the locking around marking the array dirty and writing the superblock is
improved to avoid possible races.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: merge md_enter_safemode into md_check_recovery
NeilBrown [Wed, 22 Jun 2005 00:17:11 +0000 (17:17 -0700)]
[PATCH] md: merge md_enter_safemode into md_check_recovery

md_enter_safemode checks if it is time to mark the md superblock as 'clean'.
i.e.  if all writes have completed and a suitable delay has passed.

This is currently called from md_handle_safemode which in-turn is called
(almost) every time md_check_recovery is called, and from the end of
md_do_sync which causes the mddev->thread to run, which will always call
md_check_recovery as well.

So it doesn't need to be a separate function and fits quite well into
md_check_recovery.

The "almost" is because multipathd calls md_check_recovery but not
md_handle_safemode.  This is OK because the code from md_enter_safemode is a
no-op if mddev->safemode == 0, which it always is for a multipathd (providing
we don't allow it to be set to 2 on a signal...)

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: make sure recovery happens when add_new_disk is used for hot_add
NeilBrown [Wed, 22 Jun 2005 00:17:10 +0000 (17:17 -0700)]
[PATCH] md: make sure recovery happens when add_new_disk is used for hot_add

Currently if add_new_disk is used to hot-add a drive to a degraded array,
recovery doesn't start ...  because we didn't tell it to.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] md: cause md/raid1 to "repack" working devices when number of drives is changed
NeilBrown [Wed, 22 Jun 2005 00:17:09 +0000 (17:17 -0700)]
[PATCH] md: cause md/raid1 to "repack" working devices when number of drives is changed

i.e.  missing or failed drives are moved to the end of the list.  The means
a 3 drive md array with the first drive missing can be shrunk to a two
drive array.  Currently that isn't possible.

Also, the "last_used" device number might be out-of-range after the number
of devices is reduced, so we set it to 0.

Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fbdev: fill in the access_align field.
James Simmons [Wed, 22 Jun 2005 00:17:08 +0000 (17:17 -0700)]
[PATCH] fbdev: fill in the access_align field.

Several drivers miss filling in the access_align field.  So this patch has
them fill it in.

Signed-off-by: James Simmons <jsimmons@www.infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fbdev: stack reduction
James Simmons [Wed, 22 Jun 2005 00:17:07 +0000 (17:17 -0700)]
[PATCH] fbdev: stack reduction

Shrink the stack when calling the drawing alignment functions.

Signed-off-by: James Simmons <jsimmons@www.infradead.org>
Cc: "Antonino A. Daplas" <adaplas@hotpop.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] New framebuffer fonts + updated 12x22 font available
Jurriaan [Wed, 22 Jun 2005 00:17:06 +0000 (17:17 -0700)]
[PATCH] New framebuffer fonts + updated 12x22 font available

Improve the fonts for use with the framebuffer.

I've added all the characters marked 'FIXME' in the sun12x22 font and
created a 10x18 font (based on the sun12x22 font) and a 7x14 font (based
on the vga8x16 font).

This patch is non-intrusive, no options are enabled by default so most
users won't notice a thing.

I am placing my changes under the GPL, however, I've not seen any copyright
notices on the sun12x22 font and the vga8x16 font which I derived my new
fonts from so I don't know what the copyright status is.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fbdev: new pci id for chipsfb
James Simmons [Wed, 22 Jun 2005 00:17:05 +0000 (17:17 -0700)]
[PATCH] fbdev: new pci id for chipsfb

Patch adds pci ID for CT 69000 chipset.

Signed-off-by: James Simmons <jsimmons@www.infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Framebuffer driver for Arc LCD board
Jaya Kumar [Wed, 22 Jun 2005 00:17:04 +0000 (17:17 -0700)]
[PATCH] Framebuffer driver for Arc LCD board

Add support for the Arc monochrome LCD board.

The board uses KS108 controllers to drive individual 64x64 LCD matrices.
The board can be paneled in a variety of setups such as 2x1=128x64,
4x4=256x256 and so on.  The board/host interface is through GPIO.

Signed-off-by: Jaya Kumar <jayalk@intworks.biz>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: <linux-fbdev-devel@lists.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intelfb documentation
Sylvain Meyer [Wed, 22 Jun 2005 00:17:03 +0000 (17:17 -0700)]
[PATCH] intelfb documentation

Add a small documentation of the driver parameters.

Signed-off-by: Sylvain Meyer <sylvain.meyer@worldonline.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intelfb: fix accel detection when changing video modes
Sylvain Meyer [Wed, 22 Jun 2005 00:17:02 +0000 (17:17 -0700)]
[PATCH] intelfb: fix accel detection when changing video modes

Changed the tests in intelfb_set_par to check also the parameter
var.accel_flags.  If null, do nothing about ring buffers.

Now, the DirectFB i830 driver could nicely work even if intelfb is hw
accelerated.  Just change the /etc/fb.modes file to disable console hw
acceleration when starting a DirectFB app.

Signed-off-by: Sylvain Meyer <sylvain.meyer@worldonline.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intelfb: Add voffset option to avoid conficts with Xorg i810 driver
Sylvain Meyer [Wed, 22 Jun 2005 00:17:01 +0000 (17:17 -0700)]
[PATCH] intelfb: Add voffset option to avoid conficts with Xorg i810 driver

- Add voffset option to avoid conficts with Xorg i810 driver

Signed-off-by: Sylvain Meyer <sylvain.meyer@worldonline.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] VGA to fbcon fix.
James Simmons [Wed, 22 Jun 2005 00:17:00 +0000 (17:17 -0700)]
[PATCH] VGA to fbcon fix.

Currently when going from vgacon to fbcon the VT screenbuffer are often
different sizes.  In the case when they are different sizes a new VT
screenbuffer is allocated and the contents are copied into the new buffer.

Currently the amount copied from VGA text memory to the new screenbuf is
the size of the framebuffer console.  If the framebuffer console new VT
screen buffer is greater than the VGA text memory size then we get some of
the VGA BIOS contents as well.

This patch will only allow you to copy up to the size of VGA text memory
now.  The rest is filled with erase characters.

Initial patch by Jordan Crouse <jordan.crouse@amd.com>

Signed-off-by: James Simmons <jsimmons@www.infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] pm3fb typo fix
Alexey Dobriyan [Wed, 22 Jun 2005 00:16:59 +0000 (17:16 -0700)]
[PATCH] pm3fb typo fix

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fbdev: iomove removal
James Simmons [Wed, 22 Jun 2005 00:16:58 +0000 (17:16 -0700)]
[PATCH] fbdev: iomove removal

Since no one is using the inbuf, outbuf of struct fb_pixmap I removed their
use in the framebuffer console.  The idea is instead move the pixmap
functionality below the accelerated functions intead of on top as the way
it is now.  If there is no objection please apply.  This is against Linus
latestr GIT tree.  Thank you.

Signed-off-by: James Simmons <jsimmons@www.infradead.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] intelfbdrv naming fix
Andrew Morton [Wed, 22 Jun 2005 00:16:57 +0000 (17:16 -0700)]
[PATCH] intelfbdrv naming fix

Can't use this fancy name, because it's used to generate a sysfs filename:

kobject_register failed for Intel(R) 830M/845G/852GM/855GM/865G/915G
 Framebuffer Driver (-13)
  [<c01bf8e3>] kobject_register+0x43/0x70
  [<c022dfe2>] bus_add_driver+0x52/0xa0
  [<c01c8c10>] pci_device_shutdown+0x0/0x20
  [<c01c8d71>] pci_register_driver+0x61/0x80
  [<c0387099>] intelfb_init+0x59/0x70
  [<c03787cc>] do_initcalls+0x2c/0xc0
  [<c0159025>] kern_mount+0x15/0x17
  [<c01002a0>] init+0x0/0x100
  [<c01002ca>] init+0x2a/0x100
  [<c0100f58>] kernel_thread_helper+0x0/0x18
  [<c0100f5d>] kernel_thread_helper+0x5/0x18

Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] some vesafb fixes
Gerd Knorr [Wed, 22 Jun 2005 00:16:56 +0000 (17:16 -0700)]
[PATCH] some vesafb fixes

Fix the size passed to release_mem_region in an error path.

Also adjust the message printed when vesafb cannot load; the comment there
already says this must not be fatal, so the message should also not mention
the word 'abort' otherwise indicating a problem to worry about in the log.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Gerd Knorr <kraxel@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s1d13xxxfb linkage fix
Andrew Morton [Wed, 22 Jun 2005 00:16:55 +0000 (17:16 -0700)]
[PATCH] s1d13xxxfb linkage fix

s1d13xxxfb_remove() is referenced from s1d13xxxfb_probe(), which is marked
__devinit().  So s1d13xxxfb_remove() cannot be marked __devexit.

Does this all make sense?  Clearly the __devexit section will still be in
core when the __devinit code is run, if the driver was loaded as a module.

But I suppose that if the driver is statically linked, the __devexit section
might be dropped early in boot.  Still, we wouldn't drop __devexit prior to
initcall completion, at which point the __devinit code has all been run
anyway.

verdict: this code was legal and made sense.  Is this a generic problem, or an
arm-specific problem?

  UPD     include/linux/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
`.exit.text' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o

Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Bring back Tux on Chips 65550 framebuffer
Keenan Pepper [Wed, 22 Jun 2005 00:16:54 +0000 (17:16 -0700)]
[PATCH] Bring back Tux on Chips 65550 framebuffer

I don't see any reason why the framebuffer should need to be cleared,
and it makes Tux vanish.

Cc: <linux-fbdev-devel@lists.sourceforge.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] isofs: show hidden files, add granularity for assoc/hidden files flags
Jeremy White [Wed, 22 Jun 2005 00:16:53 +0000 (17:16 -0700)]
[PATCH] isofs: show hidden files, add granularity for assoc/hidden files flags

The current isofs treatment of hidden files is flawed in two ways.  First,
it does not provide sufficient granularity; it hides both 'hidden' files
and 'associated' files (resource fork for Mac files).  Second, the default
behavior to completely strip hidden files, while an admirable
implementation of the spec, is a poor choice given the real world use of
hidden files as a poor mans copy protection scheme for MSDOS and Windows
based systems.  A longer description of this is available here:

   http://www.uwsg.iu.edu/hypermail/linux/kernel/0205.3/0267.html

This patch was originally built after a few private conversations with Alan
Cox; I shamefully failed to persist in seeing it go forward, I hope to make
amends now.

This patch introduces granularity by allowing explicit control for both
hidden and associated files.  It also reverses the default so that by
default, hidden files are treated as regular files on the iso9660 file
system.

This allow Wine to process Windows CDs, including those that are hybrid
Mac/Windows CDs properly and completely, without our having to go muck up
peoples fstabs as we do now.  (I have tested this with such a hybrid +
hidden CD and have verified that this patch works as claimed).

Signed-off-by: Jeremy White <jwhite@codeweavers.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: handle directory overflows
Andrew Morton [Wed, 22 Jun 2005 00:16:51 +0000 (17:16 -0700)]
[PATCH] rock: handle directory overflows

Handle the case where the variable-sized part of a rock-ridge directory entry
overhangs the end of the buffer which we allocated for it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: rename union members
Andrew Morton [Wed, 22 Jun 2005 00:16:51 +0000 (17:16 -0700)]
[PATCH] rock: rename union members

The silly thing does:

struct foo { ... };
...
#define foo 42

so you can no longer refer to `struct foo' in C code.

Rename the structures.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock.c: handle corrupted directories
Andrew Morton [Wed, 22 Jun 2005 00:16:50 +0000 (17:16 -0700)]
[PATCH] rock.c: handle corrupted directories

The bug in rock.c is that it's totally trusting of the contents of the
directories.  If the directory says there's a continuation 10000 bytes into
this 4k block then we cheerily poke around in memory we don't own and oops.

So change rock_continue() to apply various sanity checks, at least ensuring
that the offset+length remain within the bounds for the header part of a
struct rock_ridge directory entry.

Note that the kernel can still overindex the buffer due to the variable size
of the rock-ridge directory entries.  We cannot check that in rock_continue()
unless we go parse the directory entry's signature and work out its size.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] isofs: remove debug stuff
Andrew Morton [Wed, 22 Jun 2005 00:16:49 +0000 (17:16 -0700)]
[PATCH] isofs: remove debug stuff

isofs/inode.c:

- Remove some crufty leak detection code

- coding style cleanups

- kfree(NULL) is permitted.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: lindent rock.h
Andrew Morton [Wed, 22 Jun 2005 00:16:48 +0000 (17:16 -0700)]
[PATCH] rock: lindent rock.h

So we have a couple of rock-ridge bugs.  First up, rotoroot the poor thing
into something which it is possible to work on.

Feed rock.h through Lindent, tidy a couple of things by hand.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: comment tidies
Andrew Morton [Wed, 22 Jun 2005 00:16:47 +0000 (17:16 -0700)]
[PATCH] rock: comment tidies

Be a bit more standard in comment layout.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: remove MAYBE_CONTINUE
Andrew Morton [Wed, 22 Jun 2005 00:16:46 +0000 (17:16 -0700)]
[PATCH] rock: remove MAYBE_CONTINUE

- remove the MAYBE_CONTINUE macro

- kfree(NULL) is OK.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: remove SETUP_ROCK_RIDGE
Andrew Morton [Wed, 22 Jun 2005 00:16:46 +0000 (17:16 -0700)]
[PATCH] rock: remove SETUP_ROCK_RIDGE

- Remove the SETUP_ROCK_RIDGE macro.

- In rock_ridge_symlink_readpage(), rename raw_inode to raw_de.  It points
  at a directory entry, not an inode.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: remove CHECK_CE
Andrew Morton [Wed, 22 Jun 2005 00:16:45 +0000 (17:16 -0700)]
[PATCH] rock: remove CHECK_CE

Remove the CHECK_CE macro

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: remove CONTINUE_DECLS
Andrew Morton [Wed, 22 Jun 2005 00:16:44 +0000 (17:16 -0700)]
[PATCH] rock: remove CONTINUE_DECLS

Remove the CONTINUE_DECLS macro.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: remove CHECK_SP
Andrew Morton [Wed, 22 Jun 2005 00:16:44 +0000 (17:16 -0700)]
[PATCH] rock: remove CHECK_SP

Remove the CHECK_SP macro.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: manual tidies
Andrew Morton [Wed, 22 Jun 2005 00:16:43 +0000 (17:16 -0700)]
[PATCH] rock: manual tidies

Fix stuff which Lindent got wrong, rework a few deeply-nested blocks.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] rock: lindent it
Andrew Morton [Wed, 22 Jun 2005 00:16:42 +0000 (17:16 -0700)]
[PATCH] rock: lindent it

Trying to turn rock.c into something which humans can read so we can fix some
bugs.

Start out by feeding it through scripts/Lindent.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] autofs4: subversion bump to identify these changes
Ian Kent [Wed, 22 Jun 2005 00:16:41 +0000 (17:16 -0700)]
[PATCH] autofs4: subversion bump to identify these changes

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] autofs4: bad lookup fix
Ian Kent [Wed, 22 Jun 2005 00:16:41 +0000 (17:16 -0700)]
[PATCH] autofs4: bad lookup fix

For browsable autofs maps, a mount request that arrives at the same time an
expire is happening can fail to perform the needed mount.

This happens becuase the directory exists and so the revalidate succeeds when
we need it to fail so that lookup is called on the same dentry to do the
mount.  Instead lookup is called on the next path component which should be
whithin the mount, but the parent isn't mounted.

The solution is to allow the revalidate to continue and perform the mount as
no directory creation (at mount time) is needed for browsable mount entries.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] autofs4: post expire race fix
Ian Kent [Wed, 22 Jun 2005 00:16:39 +0000 (17:16 -0700)]
[PATCH] autofs4: post expire race fix

At the tail end of an expire it's possible for a process to enter
autofs4_wait, with a waitq type of NFY_NONE but find that the expire is
finished.  In this cause autofs4_wait will try to create a new wait but not
notify the daemon leading to a hang.  As the wait type is meant to delay mount
requests from revalidate or lookup during an expire and the expire is done all
we need to do is check if the dentry is a mountpoint.  If it's not then we're
done.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] autofs4: avoid panic on bind mount of autofs owned directory
Ian Kent [Wed, 22 Jun 2005 00:16:38 +0000 (17:16 -0700)]
[PATCH] autofs4: avoid panic on bind mount of autofs owned directory

While this is not a solution to bind and move mounts on autofs owned
directories it is necessary to fix the trady error handling.

At least it avoids the kernel panic I observed checking out bug #4589.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ibmasm driver: fix race in command refcount logic
Max Asbock [Wed, 22 Jun 2005 00:16:36 +0000 (17:16 -0700)]
[PATCH] ibmasm driver: fix race in command refcount logic

This patch fixes a race in the command reference counting logic by putting
spinlocks around kobject_put() in the command_put function.

- Also added debug messages.

- Changed a memcpy to memcpy_fromio since we are reading from io space.

Signed-off-by: Max Asbock <masbock@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ibmasm driver: redesign handling of remote control events
Max Asbock [Wed, 22 Jun 2005 00:16:34 +0000 (17:16 -0700)]
[PATCH] ibmasm driver: redesign handling of remote control events

This patch rewrites the handling of remote control events.  Rather than making
them available from a special file in the ibmasmfs, now the events from the
RSA card get translated into kernel input events and injected into the input
subsystem.  The driver now will generate two /dev/input/eventX nodes -- one
for the keyboard and one for the mouse.  The mouse node generates absolute
events more like a touch pad than a mouse.

Signed-off-by: Vernon Mauery <vernux@us.ibm.com>
Signed-off-by: Max Asbock <masbock@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ibmasm driver: correctly wake up sleeping threads
Max Asbock [Wed, 22 Jun 2005 00:16:33 +0000 (17:16 -0700)]
[PATCH] ibmasm driver: correctly wake up sleeping threads

Due to my incomplete understanding of the wait_event_interruptible() function
threads waiting for service processor events were not woken up.  This patch
fixes that problem.

Signed-off-by: Max Asbock <masbock@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ibmasm driver: fix command buffer size
Max Asbock [Wed, 22 Jun 2005 00:16:32 +0000 (17:16 -0700)]
[PATCH] ibmasm driver: fix command buffer size

First of a series of patches for the ibmasm driver.  (that is the driver for
the IBM xSeries RSA service processor)

To summarize what they do:

[1] change a #define for the buffer size for commands

[2] Fix a bug where threads in the event handling code calling
    wait_event_interruptible() weren't woken up as expected.

[3] Redesigned how remote mouse and keyboard events received by the driver
    are handled.

[4] Fixed a race in the command reference counting logic.

This patch:

- change a #define for the buffer size for commands

Signed-off-by: Max Asbock <masbock@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: pending interrupt after ipl from reader
Heiko Carstens [Wed, 22 Jun 2005 00:16:31 +0000 (17:16 -0700)]
[PATCH] s390: pending interrupt after ipl from reader

Wait for interrupt and clear status pending after resetting the reader.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: memory detection > 32GB
Heiko Carstens [Wed, 22 Jun 2005 00:16:30 +0000 (17:16 -0700)]
[PATCH] s390: memory detection > 32GB

The kernel takes a very long time to boot if the memory size is bigger then
32767 MB.  The memory size is contained in a structure created by an sclp
call.  The kernel accesses the field with a LH instrution which performs a
sign extension of a 16 bit word.  In the case of a memory size with bit 2^15
set this results in a very large value and the memory detection just loops for
a long time.  In addition if more then 64 GB are used on a 64 bit system the
memory size is read from an incorrect storage location.

Use zero-extention to read the 16 bit memory size and the correct offset to
read the 4 byte memory size on 64 bit.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: cmm sender parameter visibility
Heiko Carstens [Wed, 22 Jun 2005 00:16:29 +0000 (17:16 -0700)]
[PATCH] s390: cmm sender parameter visibility

Make cmm module parameter "sender" visible in sysfs.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: kernel stack overflow panic
Heiko Carstens [Wed, 22 Jun 2005 00:16:28 +0000 (17:16 -0700)]
[PATCH] s390: kernel stack overflow panic

die() doesn't return, therefore print registers and then panic instead.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: #ifdefs in compat_ioctls
Martin Schwidefsky [Wed, 22 Jun 2005 00:16:28 +0000 (17:16 -0700)]
[PATCH] s390: #ifdefs in compat_ioctls

Remove superflous #if .. #endif pairs from compat_ioctl.c.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: cio documentation
Cornelia Huck [Wed, 22 Jun 2005 00:16:27 +0000 (17:16 -0700)]
[PATCH] s390: cio documentation

Some clarifications in the cio documentation.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] s390: cio max channels checks
Cornelia Huck [Wed, 22 Jun 2005 00:16:26 +0000 (17:16 -0700)]
[PATCH] s390: cio max channels checks

Fix max channel check in cio_ignore display function.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: fix linkage of tt mode against NPTL
Paolo 'Blaisorblade' Giarrusso [Wed, 22 Jun 2005 00:16:25 +0000 (17:16 -0700)]
[PATCH] uml: fix linkage of tt mode against NPTL

With Al Viro <viro@parcelfarce.linux.theplanet.co.uk>

To make sure switcheroo() can execute when we remap all the executable
image, we used a trick to make it use a local copy of errno...  this trick
does not work with NPTL glibc, only with LinuxThreads, so use another
(simpler) one to make it work anyway.

Hopefully, a lot improved thanks to merging with the version of Al Viro
(which had his part of problems, though, i.e.  removing a fix to another
bug and not fixing the problem on i386).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: make hw_controller_type->release exist only for archs needing it
Paolo 'Blaisorblade' Giarrusso [Wed, 22 Jun 2005 00:16:24 +0000 (17:16 -0700)]
[PATCH] uml: make hw_controller_type->release exist only for archs needing it

With Chris Wedgwood <cw@f00f.org>

As suggested by Chris, we can make the "just added" method ->release
conditional to UML only (better: to archs requesting it, i.e.  only UML
currently), so that other archs don't get this unneeded crud, and if UML
won't need it any more we can kill this.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
CC: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: complete hw_controller_type->release conversion
Paolo 'Blaisorblade' Giarrusso [Wed, 22 Jun 2005 00:16:21 +0000 (17:16 -0700)]
[PATCH] uml: complete hw_controller_type->release conversion

This occurrence of free_irq_by_irq_and_dev() was missed when converting UML
to the use of hw_controller_type->release.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] uml: add and use generic hw_controller_type->release
Paolo 'Blaisorblade' Giarrusso [Wed, 22 Jun 2005 00:16:19 +0000 (17:16 -0700)]
[PATCH] uml: add and use generic hw_controller_type->release

With Chris Wedgwood <cw@f00f.org>

Currently UML must explicitly call the UML-specific
free_irq_by_irq_and_dev() for each free_irq call it's done.

This is needed because ->shutdown and/or ->disable are only called when the
last "action" for that irq is removed.

Instead, for UML shared IRQs (UML IRQs are very often, if not always,
shared), for each dev_id some setup is done, which must be cleared on the
release of that fd.  For instance, for each open console a new instance
(i.e.  new dev_id) of the same IRQ is requested().

Exactly, a fd is stored in an array (pollfds), which is after read by a
host thread and passed to poll().  Each event registered by poll() triggers
an interrupt.  So, for each free_irq() we must remove the corresponding
host fd from the table, which we do via this -release() method.

In this patch we add an appropriate hook for this, and remove all uses of
it by pointing the hook to the said procedure; this is safe to do since the
said procedure.

Also some cosmetic improvements are included.

This is heavily based on some work by Chris Wedgwood, which however didn't
get the patch merged for something I'd call a "misunderstanding" (the need
for this patch wasn't cleanly explained, thus adding the generic hook was
felt as undesirable).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
CC: Ingo Molnar <mingo@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Use asm-generic/div64.h
Hirokazu Takata [Wed, 22 Jun 2005 00:16:17 +0000 (17:16 -0700)]
[PATCH] m32r: Use asm-generic/div64.h

The current include/asm-m32r/div64.h of 2.6.12-rc5 looks buggy.  Here is a
patch for updating it to use asm-generic/div64.h for m32r like other
architectures.

Signed-off-by: Hitoshi Yamamoto <hitoshiy@isl.melco.co.jp>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Update defconfig files
Hirokazu Takata [Wed, 22 Jun 2005 00:16:16 +0000 (17:16 -0700)]
[PATCH] m32r: Update defconfig files

Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Remove include/asm-m32r/m32102peri.h
Hirokazu Takata [Wed, 22 Jun 2005 00:16:16 +0000 (17:16 -0700)]
[PATCH] m32r: Remove include/asm-m32r/m32102peri.h

This patch removes an obsolete header file include/asm-m32r/m32102peri.h.
In this header, there are some undesirable single character types, like V.
And the header is almost no longer used.

Signed-off-by: Hayato Fujiwara <fujiwara@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Cleanup arch/m32r/mm/extable.c
Hirokazu Takata [Wed, 22 Jun 2005 00:16:15 +0000 (17:16 -0700)]
[PATCH] m32r: Cleanup arch/m32r/mm/extable.c

Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Update m32r_cfc.[ch] to support Mappi-III platform
Hirokazu Takata [Wed, 22 Jun 2005 00:16:14 +0000 (17:16 -0700)]
[PATCH] m32r: Update m32r_cfc.[ch] to support Mappi-III platform

This patch is for the M32R CF/PCMCIA drivers to support a new platform,
Mappi-III evaluation board.

Signed-off-by: Mamoru Sakugawa <sakugawa@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Update setup_xxxxx.c
Hirokazu Takata [Wed, 22 Jun 2005 00:16:13 +0000 (17:16 -0700)]
[PATCH] m32r: Update setup_xxxxx.c

Change coding styles of hw_interrupt_type struct's initialization portions.

Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m32r: Support M3A-2170(Mappi-III) platform
Hirokazu Takata [Wed, 22 Jun 2005 00:16:10 +0000 (17:16 -0700)]
[PATCH] m32r: Support M3A-2170(Mappi-III) platform

This patchset is for supporting a new m32r platform, M3A-2170(Mappi-III)
evaluation board.  An M32R chip multiprocessor is equipped on the board.
http://http://www.linux-m32r.org/eng/platform/platform.html

* arch/m32r/Kconfig: Support Mappi-III platform.
* arch/m32r/kernel/Makefile: ditto.
* arch/m32r/kernel/io_mappi3.c: ditto.
* arch/m32r/kernel/setup.c: ditto.
* arch/m32r/kernel/setup_mappi3.c: ditto.
* include/asm-m32r/m32102.h: ditto.
* include/asm-m32r/m32r.h: ditto.
* include/asm-m32r/mappi3/mappi3_pld.h: ditto.

* include/asm-m32r/ide.h: CF support for Mappi-III.
* arch/m32r/kernel/setup_mappi3.c: ditto.

* arch/m32r/mappi3/defconfig.smp: A default config file for Mappi-III.
* arch/m32r/mappi3/dot.gdbinit: A default .gdbinit file for Mappi-III.

* arch/m32r/boot/compressed/m32r_sio.c: Modified for Mappi-III
  - At boot time, m32r-g00ff bootloader makes MMU off for Mappi-III,
    on the contrary it makes MMU on for Mappi-II.

* arch/m32r/kernel/io_mappi2.c: Update comments.
* arch/m32r/kernel/setup_mappi2.c: ditto.

Signed-off-by: Mamoru Sakugawa <sakugawa@linux-m32r.org>
Signed-off-by: Hirokazu Takata <takata@linux-m32r.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ioc4: PCI bus speed detection
Brent Casavant [Wed, 22 Jun 2005 00:16:01 +0000 (17:16 -0700)]
[PATCH] ioc4: PCI bus speed detection

Several hardware features of SGI's IOC4 I/O controller chip require
timing-related driver calculations dependent upon the PCI bus speed.  This
patch enables the core IOC4 driver code to detect the actual bus speed and
store a value that can later be used by the IOC4 subdrivers as needed.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Acked-by: Pat Gefre <pfg@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ioc4: CONFIG split
Brent Casavant [Wed, 22 Jun 2005 00:16:01 +0000 (17:16 -0700)]
[PATCH] ioc4: CONFIG split

The SGI IOC4 I/O controller chip drivers are currently all configured by
CONFIG_BLK_DEV_SGIIOC4.  This is undesirable as not all IOC4 hardware features
are needed by all systems.

This patch adds two configuration variables, CONFIG_SGI_IOC4 for core IOC4
driver support (see patch 1/3 in this series for further explanation) and
CONFIG_SERIAL_SGI_IOC4 to independently enable serial port support.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Acked-by: Pat Gefre <pfg@sgi.com>
Acked-by: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ioc4: Core driver rewrite
Brent Casavant [Wed, 22 Jun 2005 00:15:59 +0000 (17:15 -0700)]
[PATCH] ioc4: Core driver rewrite

This series of patches reworks the configuration and internal structure
of the SGI IOC4 I/O controller device drivers.

These changes are motivated by several factors:

- The IOC4 chip PCI resources are of mixed use between functions (i.e.
  multiple functions are handled in the same address range, sometimes
  within the same register), muddling resource ownership and initialization
  issues.  Centralizing this ownership in a core driver is desirable.

- The IOC4 chip implements multiple functions (serial, IDE, others not
  yet implemented in the mainline kernel) but is not a multifunction
  PCI device.  In order to properly handle device addition and removal
  as well as module insertion and deletion, an intermediary IOC4-specific
  driver layer is needed to handle these operations cleanly.

- All IOC4 drivers are currently enabled by a single CONFIG value.  As
  not all systems need all IOC4 functions, it is desireable to enable
  these drivers independently.

- The current IOC4 core driver will trigger loading of all function-level
  drivers, as it makes direct calls to them.  This situation should be
  reversed (i.e. function-level drivers cause loading of core driver)
  in order to maintain a clear and least-surprise driver loading model.

- IOC4 hardware design necessitates some driver-level dependency on
  the PCI bus clock speed.  Current code assumes a 66MHz bus, but the
  speed should be autodetected and appropriate compensation taken.

This patch series effects the above changes by a newly and better designed
IOC4 core driver with which the function-level drivers can register and
deregister themselves upon module insertion/removal.  By tracking these
modules, device addition/removal is also handled properly.  PCI resource
management and ownership issues are centralized in this core driver, and
IOC4-wide configuration actions such as bus speed detection are also
handled in this core driver.

This patch:

The SGI IOC4 I/O controller chip implements multiple functions, though it is
not a multi-function PCI device.  Additionally, various PCI resources of the
IOC4 are shared by multiple hardware functions, and thus resource ownership by
driver is not clearly delineated.  Due to the current driver design, all core
and subordinate drivers must be loaded, or none, which is undesirable if not
all IOC4 hardware features are being used.

This patch reorganizes the IOC4 drivers so that the core driver provides a
subdriver registration service.  Through appropriate callbacks the subdrivers
can now handle device addition and removal, as well as module insertion and
deletion (though the IOC4 IDE driver requires further work before module
deletion will work).  The core driver now takes care of allocating PCI
resources and data which must be shared between subdrivers, to clearly
delineate module ownership of these items.

Signed-off-by: Brent Casavant <bcasavan@sgi.com>
Acked-by: Pat Gefre <pfg@sgi.com
Acked-by: Jeremy Higdon <jeremy@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] mips: add vr41xx gpio support
Yoichi Yuasa [Wed, 22 Jun 2005 00:15:56 +0000 (17:15 -0700)]
[PATCH] mips: add vr41xx gpio support

Add vr41xx gpio support.

Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: set/clear SMT capable bit at boot
Anton Blanchard [Wed, 22 Jun 2005 00:15:55 +0000 (17:15 -0700)]
[PATCH] ppc64: set/clear SMT capable bit at boot

Allow the SMT bit to be set/reset at boot, like the ALTIVEC bit.  This
means we will enable SMT on unknown cpus that support it.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Mark kernel hptes dirty
Anton Blanchard [Wed, 22 Jun 2005 00:15:55 +0000 (17:15 -0700)]
[PATCH] ppc64: Mark kernel hptes dirty

We dont use the hardware referenced and changed bits and setting them early
avoids a store to memory.  We already do this for userspace hptes but not
kernel ones.  Do it.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: tidy up vio devices fake parent
Stephen Rothwell [Wed, 22 Jun 2005 00:15:54 +0000 (17:15 -0700)]
[PATCH] ppc64: tidy up vio devices fake parent

Currently we dynamically allocate the fake parent device for all devices on
the vio bus.  This patch statically allocates it.  This also allows us to
reuse it for the iSeries "generic" vio device (that is used for passing to
dma routines when communicating with the hypervisor without a device
involved).  Also unexport vio_bus_type as it is never used in modules.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: allow build with no PCI
Stephen Rothwell [Wed, 22 Jun 2005 00:15:52 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: allow build with no PCI

This patch allows iSeries to build with CONFIG_PCI=n.  This is useful for
partitions that have only virtual I/O.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: tidy up irq code after merge
Stephen Rothwell [Wed, 22 Jun 2005 00:15:51 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: tidy up irq code after merge

This patch just removes some dead code, fixes messages that referred to the
file this code used to be in and inserts XmPciLpEvent_init into its caller.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove XmPciLpEvent.c
Stephen Rothwell [Wed, 22 Jun 2005 00:15:50 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove XmPciLpEvent.c

This patch just merges XmPciLpEvent.c into iSeries_irq.c (the only caller of
its only external function).  XmPciLpEvent.c just contained the lowlevel
iSeries irq code.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: irq simple cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:49 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: irq simple cleanups

This patch is just simple cleanups to the iSeries irq code.
- whitespace and comments
- rearrange some functions to avoid forward declarations
- remove XmPciLpEvent.h as its functions were declared elsewhere
- remove decaration of function that no longer exists
No semantic changes.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node
Stephen Rothwell [Wed, 22 Jun 2005 00:15:48 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove some more members of iSeries_Device_Node

The AgentId, PhbId, FrameId, CardLocation and Location members of
iSeries_Device_Node are stored early in the boot process just so that a
message about the device can be printed later in the boot process.  Remove
them and construct the message by doing the VPD parsing at the time the
message is printed.

Also remove a few unused defines in iSeries_VpdInfo.c.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove IoRetry from iSeries_Device_Node
Stephen Rothwell [Wed, 22 Jun 2005 00:15:47 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove IoRetry from iSeries_Device_Node

The IoRetry member of iSeries_Devide_Node is really only used locally, so
remove it and replace it with a local variable.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: iSeries_pci.h cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:46 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: iSeries_pci.h cleanups

Remove no longer used things from iSeries_pci.h.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: iSeries_VpdInfo.c cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:45 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: iSeries_VpdInfo.c cleanups

Clean up iSeries_VpdInfo.c:
- white space and comment fixes
- make a function static
- the functions here are only called from iSeries_pci.c, so
  CONFIG_PCI will be set (so remove check)
- only build when CONFIG_PCI is set
- remove unneeded includes and cast

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: iommu.h cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:44 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: iommu.h cleanups

The iommu_table_cb structure is iSeries specific, so move it to the header
file that declares the function we pass it to.  vio_tce_table and
iommu_setup_iSeries no longer exist, so remove their declarations.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove iSeries_pci_reset.c
Stephen Rothwell [Wed, 22 Jun 2005 00:15:42 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove iSeries_pci_reset.c

The file arch/ppc64/kernel/iSeries_pci_reset contains only one function that
is not use anywhere (any more).  Remove it.  This function is the only user of
the ReturnCode member of iSeries_Device_Node, so remove that as well.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: misc header cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:41 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: misc header cleanups

Last of this round of the iSeries header cleanups
- don't have two defines for the same thing (HvMaxArchitectedLps
  and HvMaxArchitectedVirtualLans)
- HvCallSc.h only needs linux/types.h
- remove unused struct definition
- add "extern" to some more function declarations

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: tidy up some includes and HvCall.h
Stephen Rothwell [Wed, 22 Jun 2005 00:15:40 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: tidy up some includes and HvCall.h

This patch removes some unused bits from HvCall.h and some unneeded #includes
from other files.  Also includes ItLpQueue.h in paca.h in preference to a stub
declaration of struct ItLpQueue.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: cleanup ItLpQueue.h
Stephen Rothwell [Wed, 22 Jun 2005 00:15:39 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: cleanup ItLpQueue.h

Just white space cleaups and move process_iSeries_events into its only caller.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove HvCallCfg.h
Stephen Rothwell [Wed, 22 Jun 2005 00:15:38 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove HvCallCfg.h

Now that the only users of things in HvCallCfg.h are in HvLpConfig.h, merge in
the bit we need and remove HvCallCfg.h.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: eliminate some unused inline functions
Stephen Rothwell [Wed, 22 Jun 2005 00:15:37 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: eliminate some unused inline functions

This patch removes from the iSeries header files a large number of inline
functions that are not used.  It also changes the only caller of a HvCallCfg
function that is outside HvLpConfig.h to its equivalent HvLpConfig function
and no longer includes HvCallCfg.h where it is not needed.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove LparData.h
Stephen Rothwell [Wed, 22 Jun 2005 00:15:36 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove LparData.h

include/asm-ppc64/iSeries/LparData.h just included a whole lot of other files
to declare variables that would be better declared in those other files.  So,
remove it.  This will reduce that number of things needed to be included in
most cases to access the relevant variables.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: obvious code simplifications
Stephen Rothwell [Wed, 22 Jun 2005 00:15:35 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: obvious code simplifications

This patch does some obvious code cleanups in the iSeries headers files.
- simplifies the bodies of lots of inline functions
- parenthesises a macros result
- removes C++ wrapping
- adds "extern" to some function declarations
There are no semantic changes.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: more header file white space cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:34 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: more header file white space cleanups

This patch just contains white space and comment cleanups in the iSeries
headers files.  There are no semantic changes.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: header file white space cleanups
Stephen Rothwell [Wed, 22 Jun 2005 00:15:33 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: header file white space cleanups

This patch just contains white space and comment cleanups in the iSeries
headers files.  There are no semantic changes.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64 iSeries: remove iSeries_proc.h
Stephen Rothwell [Wed, 22 Jun 2005 00:15:33 +0000 (17:15 -0700)]
[PATCH] ppc64 iSeries: remove iSeries_proc.h

include/asm-ppc64/iSeries/iSeries_proc.h just contains a declaration of a
function that no longer exists.  Remove it.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: override command line AS/LD/CC variables when adding -m64 and co for...
Sven Luther [Wed, 22 Jun 2005 00:15:32 +0000 (17:15 -0700)]
[PATCH] ppc64: override command line AS/LD/CC variables when adding -m64 and co for biarch compilers

The following kind of calls currently fails :

  make ARCH=ppc64 CC="gcc-3.4"

Since the code for detecting a biarch compiler and adding the needed 64bit
magic argument fails if the AS/LD/CC commands are overriden in the command
line.

The attached patch fixes this by using the make override and += directive,
but i am not 100% sure this will work without gmake, as i am no Makefile
expert.

Cc: Paul Mackerras <paulus@samba.org>
Cc: Anton Blanchard <anton@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc64: Abolish ioremap_mm
David Gibson [Wed, 22 Jun 2005 00:15:31 +0000 (17:15 -0700)]
[PATCH] ppc64: Abolish ioremap_mm

Currently ppc64 has two mm_structs for the kernel, init_mm and also
ioremap_mm.  The latter really isn't necessary: this patch abolishes it,
instead restricting vmallocs to the lower 1TB of the init_mm's range and
placing io mappings in the upper 1TB.  This simplifies the code in a number
of places and eliminates an unecessary set of pagetables.  It also tweaks
the unmap/free path a little, allowing us to remove the unmap_im_area() set
of page table walkers, replacing them with unmap_vm_area().

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] ppc32: Kill embedded system.map, use kallsyms
Benjamin Herrenschmidt [Wed, 22 Jun 2005 00:15:30 +0000 (17:15 -0700)]
[PATCH] ppc32: Kill embedded system.map, use kallsyms

This patch kills the whole embedded System.map mecanism and the
bootloader-passed System.map that was used to provide symbol resolution in
xmon.  Instead, xmon now uses kallsyms like ppc64 does.

No hurry getting that in Linus tree, let it be tested in -mm for a while
first and make sure it doesn't break various embedded configs.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>