[PATCH 0/49]: Kill SBUS device layer.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Stephen, I'm only going to CC: on this email not the
  rest of the patch bomb, as I figured you'd have some
  at least cursory interest in this work.  Thanks. ]

A long time ago in a galaxy far far away we had no generic
device layer and generic OF device driver infrastructure.
Thus I created a bunch of ad-hoc interfaces and datastructures
to support SBUS device drivers.

Those days are gone but the rotting corpose of the SBUS
device layer stays with us.  It's time to end that :)

This patch series follows roughly the following sequence:

1) Kill ad-hoc SBUS DVMA driver, only ESP and SUNLANCE
   use this and they can do so with local code.

2) Make dma_map_*() work for SBUS devices.

3) Make SBUS drivers use dma_*() instead of sbus_*().

4) Convert SBUS drivers to use OF device driver style
   probing.  This is probably the bulk of the patch
   series.

5) Add local IOMMU controller initialization and a
   OF node propagator helper routine so that the
   device->archdata.FOO fields get set on all child
   devices of a given bus where an IOMMU is discovered
   setup.

6) rm arch/sparc/include/sbus*.h drivers/sbus/*.c

7) Profit.

All of my testing was done on an Ultra2 with ESP, SUNHME, CS4231
audio, and an SBUS Flash device.

I plan to do the same for the EBUS bus layer as well.
The only tricky case there is the CS4231 sound driver
as it supports both EBUS and SBUS devices, but I have
a plan to sort that out cleanly.

This work will also make converting sparc32 over to
the generic IRQ layer much easier as well.

Anyways, after this sits for review for a day or two
I'll push this into the sparc-next-2.6 tree.

Enjoy.
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux