linux/drivers/s390/cio
Sebastian Ott 1e53209605 s390/cio: reorder initialization of ccw consoles
Drivers for ccw consoles use ccw_device_probe_console to receive
an initialized ccw device which is already enabled for interrupts.
After that the device driver does the initialization of its private
data. This can race with unsolicited interrupts which can happen
once the device is enabled for interrupts.

Split ccw_device_probe_console into ccw_device_create_console and
ccw_device_enable_console and reorder the initialization of the ccw
console drivers.

While at it mark these functions as __init.

Reviewed-by: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-02-21 08:50:12 +01:00
..
Makefile s390/cio: add eadm subchannel driver 2012-09-26 15:45:00 +02:00
airq.c s390/bitops: rename find_first_bit_left() to find_first_bit_inv() 2013-10-24 17:16:56 +02:00
blacklist.c s390/blacklist: Perform subchannel scan only when needed 2013-12-16 14:37:43 +01:00
blacklist.h
ccwgroup.c s390/cio: use device_lock to synchronize calls to the ccwgroup driver 2013-12-16 14:38:03 +01:00
ccwreq.c
chp.c s390/cio: add channel ID sysfs attribute 2013-05-15 16:47:39 +02:00
chp.h s390/cio: collect format 1 channel-path description data 2013-04-17 14:07:26 +02:00
chsc.c s390/qdio: bridgeport support - CHSC part 2014-01-14 15:16:09 +01:00
chsc.h s390/qdio: bridgeport support - CHSC part 2014-01-14 15:16:09 +01:00
chsc_sch.c s390/chsc: Use snprintf instead of sprintf 2013-06-26 21:10:16 +02:00
chsc_sch.h
cio.c s390/cio: improve cio_commit_config 2014-02-06 11:21:23 +01:00
cio.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
cio_debug.h
cmf.c s390: replace strict_strtoul() with kstrtoul() 2013-08-22 12:20:00 +02:00
crw.c
css.c s390/css: Prevent unnecessary allocation in subchannel loop 2013-12-16 14:37:42 +01:00
css.h s390/cio: Delay scan for newly available I/O devices 2013-12-16 14:37:41 +01:00
device.c s390/cio: reorder initialization of ccw consoles 2014-02-21 08:50:12 +01:00
device.h s390/cio: fix early init counter usage 2013-04-17 14:07:33 +02:00
device_fsm.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
device_id.c
device_ops.c s390/cio: make use of newly added format 1 channel-path data 2013-04-17 14:07:26 +02:00
device_pgid.c s390/cio: handle unknown pgroup state 2013-02-14 15:55:09 +01:00
device_status.c
eadm_sch.c s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00
eadm_sch.h s390/eadm_sch: improve quiesce handling 2013-10-24 17:16:58 +02:00
fcx.c
idset.c s390/cio: Use BITS_TO_LONGS() instead of __BITOPS_WORDS() 2013-04-17 14:07:29 +02:00
idset.h s390/css: stop stsch loop after cc 3 2012-10-18 17:50:08 +02:00
io_sch.h s390/cio: dont abort verification after missing irq 2013-02-14 15:55:07 +01:00
ioasm.h
isc.c
itcw.c
orb.h s390: add eadm related structures 2012-09-26 15:44:57 +02:00
qdio.h s390/qdio: for_each macro correctness 2014-01-29 09:07:50 +01:00
qdio_debug.c constify a bunch of struct file_operations instances 2013-04-09 14:16:20 -04:00
qdio_debug.h s390/s390dbf: use debug_level_enabled() where applicable 2013-10-24 17:16:54 +02:00
qdio_main.c s390/qdio: correct program-controlled interruption checking 2014-01-29 09:07:50 +01:00
qdio_setup.c s390/qdio: cleanup chsc SSQD usage 2013-06-26 21:10:14 +02:00
qdio_thinint.c s390/airq: simplify adapter interrupt code 2013-06-26 21:10:28 +02:00
scm.c s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00