Merge tag 'please-pull-ia64_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
Pull ia64 updates from Tony Luck: "The big change here is removal of support for SGI Altix" * tag 'please-pull-ia64_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: (33 commits) genirq: remove the is_affinity_mask_valid hook ia64: remove CONFIG_SWIOTLB ifdefs ia64: remove support for machvecs ia64: move the screen_info setup to common code ia64: move the ROOT_DEV setup to common code ia64: rework iommu probing ia64: remove the unused sn_coherency_id symbol ia64: remove the SGI UV simulator support ia64: remove the zx1 swiotlb machvec ia64: remove CONFIG_ACPI ifdefs ia64: remove CONFIG_PCI ifdefs ia64: remove the hpsim platform ia64: remove now unused machvec indirections ia64: remove support for the SGI SN2 platform drivers: remove the SGI SN2 IOC4 base support drivers: remove the SGI SN2 IOC3 base support qla2xxx: remove SGI SN2 support qla1280: remove SGI SN2 support misc/sgi-xp: remove SGI SN2 support char/mspec: remove SGI SN2 support ...
This commit is contained in:
@@ -1,49 +0,0 @@
|
||||
====================================
|
||||
SGI IOC4 PCI (multi function) device
|
||||
====================================
|
||||
|
||||
The SGI IOC4 PCI device is a bit of a strange beast, so some notes on
|
||||
it are in order.
|
||||
|
||||
First, even though the IOC4 performs multiple functions, such as an
|
||||
IDE controller, a serial controller, a PS/2 keyboard/mouse controller,
|
||||
and an external interrupt mechanism, it's not implemented as a
|
||||
multifunction device. The consequence of this from a software
|
||||
standpoint is that all these functions share a single IRQ, and
|
||||
they can't all register to own the same PCI device ID. To make
|
||||
matters a bit worse, some of the register blocks (and even registers
|
||||
themselves) present in IOC4 are mixed-purpose between these several
|
||||
functions, meaning that there's no clear "owning" device driver.
|
||||
|
||||
The solution is to organize the IOC4 driver into several independent
|
||||
drivers, "ioc4", "sgiioc4", and "ioc4_serial". Note that there is no
|
||||
PS/2 controller driver as this functionality has never been wired up
|
||||
on a shipping IO card.
|
||||
|
||||
ioc4
|
||||
====
|
||||
This is the core (or shim) driver for IOC4. It is responsible for
|
||||
initializing the basic functionality of the chip, and allocating
|
||||
the PCI resources that are shared between the IOC4 functions.
|
||||
|
||||
This driver also provides registration functions that the other
|
||||
IOC4 drivers can call to make their presence known. Each driver
|
||||
needs to provide a probe and remove function, which are invoked
|
||||
by the core driver at appropriate times. The interface of these
|
||||
IOC4 function probe and remove operations isn't precisely the same
|
||||
as PCI device probe and remove operations, but is logically the
|
||||
same operation.
|
||||
|
||||
sgiioc4
|
||||
=======
|
||||
This is the IDE driver for IOC4. Its name isn't very descriptive
|
||||
simply for historical reasons (it used to be the only IOC4 driver
|
||||
component). There's not much to say about it other than it hooks
|
||||
up to the ioc4 driver via the appropriate registration, probe, and
|
||||
remove functions.
|
||||
|
||||
ioc4_serial
|
||||
===========
|
||||
This is the serial driver for IOC4. There's not much to say about it
|
||||
other than it hooks up to the ioc4 driver via the appropriate registration,
|
||||
probe, and remove functions.
|
Reference in New Issue
Block a user