acrn-kernel/drivers
Heiko Carstens 15e9b586e0 [S390] Reset infrastructure for re-IPL.
In case of re-IPL and diag308 doesn't work we have to reset all devices
manually and wait synchronously that each reset finished.
This patch adds the necessary infrastucture and the first exploiter of it.

Subsystems that need to add a function that needs to be called at re-IPL
may register/unregister this function via

struct reset_call {
	struct reset_call *next;
	void (*fn)(void);
};

void register_reset_call(struct reset_call *reset);
void unregister_reset_call(struct reset_call *reset);

When the registered function get called the context is:

- all cpus beside the current one are stopped
- all machine checks and interrupts are disabled
- prefixing is disabled
- a default machine check handler is available for use

The registered functions may not take any locks are sleep.

For the common I/O layer part of this patch:

Introduce a reset_call css_reset that does the following:
- clear all subchannels
- perform a rchp on all channel paths and wait for the resulting
  machine checks
This replaces the calls to clear_all_subchannels() and
cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now
uses reipl_find_schid() to determine the subchannel id for a given
device id.
Also remove cio_reset_channel_paths() and friends since they are not
needed anymore.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-12-04 15:40:26 +01:00
..
acorn
acpi ACPI: Change ACPI to use dev_archdata instead of firmware_data 2006-12-01 14:52:01 -08:00
amba
ata
atm [ATM] ambassador,firestream: "-1 >>" is implementation defined 2006-12-02 21:22:25 -08:00
base Driver core: platform_driver_probe(), can save codespace 2006-12-01 14:52:02 -08:00
block
bluetooth
cdrom
char Remove long-unmaintained ftape driver subsystem. 2006-12-03 22:22:41 -05:00
clocksource
connector
cpufreq
crypto
dio
dma
edac
eisa
fc4
firmware
hwmon
i2c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-12-01 16:41:27 -08:00
ide
ieee1394
infiniband
input Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2006-12-01 16:41:58 -08:00
isdn Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2006-12-01 16:41:58 -08:00
leds
macintosh
mca
md
media Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2006-12-01 16:41:58 -08:00
message Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-12-01 16:41:27 -08:00
mfd
misc
mmc Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/drzeus/mmc 2006-12-02 08:29:04 -08:00
mtd
net [NET]: Split skb->csum 2006-12-02 21:27:18 -08:00
nubus
oprofile
parisc
parport
pci Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2006-12-01 16:41:27 -08:00
pcmcia
pnp
rapidio
rtc
s390 [S390] Reset infrastructure for re-IPL. 2006-12-04 15:40:26 +01:00
sbus
scsi
serial
sh
sn
spi
tc
telephony
usb Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6 2006-12-01 16:41:58 -08:00
video Driver core: convert fb code to use struct device 2006-12-01 14:52:00 -08:00
w1
zorro
Kconfig
Makefile