[parisc-linux] A general cleanup & overhaul of native device handling

Matthew Wilcox willy@debian.org
Sun, 5 Aug 2001 05:21:58 +0100


On Wed, Aug 01, 2001 at 04:59:03PM +0100, Matthew Wilcox wrote:
> At some point, I'm going to try booting a machine with this patch applied
> and see what happens.  I expect it to explode messily right now, tbh, but
> at least it compiles.  I'm interested in criticism of this architecture.
> After I get this hunk of work done, I'll move on to an iotree, and maybe
> then to actually doing hotplug for native devices... that isn't high on
> my priority list and I'd be happy to leave it to somebody else :-)

It was actually less messy than I thought.  The only issue which arose
was because i modularised Lasi & Asp without rearranging the order devices
are initialised in.  I decided to solve that one by demodularising these
two drivers rather than changing intialisation order because I think I
have a better way of fixing this, which will involve implementing the
fabled iotree.

I fixed a couple of minor thinkos from the original patch -- I didn't mean
to include an in-progress partial rewrite of some of the PCI inb/outw/etc
functions.  I probably made fallback processor detection work again.
And I missed a s/d/dev/ in lba_pci.

Anyway, this patch now works for me on a 712 & J7k.  With this kind of
patch, it's likely to break one random machine out there (and, on past
experience, it'll be lamont's...) , so I'd like to get people testing
as widely as possible.  The patch is against 2.4.7-pa1, and can be found
at ftp://puffin.external.hp.com/pub/parisc/src/parisc_device-2.diff

I am planning on committing this patch soon, so please test ASAP.
I'm particularly interested in seeing reports from 715/Scorpio, J2xx/C1xx
and B1xx/C1xxL machines.

If you feel you own any of these files, you should also at least glance
at the patch:

$ diffstat parisc_device-2.diff 
 arch/parisc/kernel/ccio-dma.c  |   60 ++++-----
 arch/parisc/kernel/drivers.c   |  259 ++++++++++++++++++++---------------------
 arch/parisc/kernel/firmware.c  |    1 
 arch/parisc/kernel/hardware.c  |    9 -
 arch/parisc/kernel/inventory.c |   32 +----
 arch/parisc/kernel/iosapic.c   |    2 
 arch/parisc/kernel/lba_pci.c   |  100 +++++++--------
 arch/parisc/kernel/led.c       |    2 
 arch/parisc/kernel/sba_iommu.c |  121 +++++++------------
 arch/parisc/kernel/setup.c     |   65 +++++-----
 drivers/char/hp_psaux.c        |   61 +++++----
 drivers/gsc/asp.c              |   34 +++--
 drivers/gsc/busdevice.c        |   49 ++-----
 drivers/gsc/busdevice.h        |   18 --
 drivers/gsc/dino.c             |  173 ++++++++++-----------------
 drivers/gsc/hil.c              |   39 +++---
 drivers/gsc/lan.c              |   59 +++++----
 drivers/gsc/lasi.c             |   51 +++++---
 drivers/gsc/serial.c           |  127 ++++++--------------
 drivers/gsc/wax.c              |   47 ++++---
 drivers/gsc/wax_eisa.c         |   53 ++++----
 drivers/parport/parport_gsc.c  |   34 +++--
 drivers/scsi/lasi7xx.c         |   64 ++++------
 drivers/scsi/zalon7xx.c        |   66 +++++-----
 drivers/sound/harmony.c        |   38 +++---
 drivers/video/sti/sticore.c    |   10 -
 include/asm-parisc/gsc.h       |    4 
 include/asm-parisc/hardware.h  |   87 ++++++-------
 include/asm-parisc/iosapic.h   |    2 
 include/asm-parisc/pci.h       |    4 
 include/asm-parisc/processor.h |    2 
 31 files changed, 776 insertions, 897 deletions


-- 
Revolutions do not require corporate support.