linux/drivers/s390/cio
Tejun Heo 0b60f9ead5 s390: use device_remove_file_self() instead of device_schedule_callback()
driver-core now supports synchrnous self-deletion of attributes and
the asynchrnous removal mechanism is scheduled for removal.  Use it
instead of device_schedule_callback().

* Conversions in arch/s390/pci/pci_sysfs.c and
  drivers/s390/block/dcssblk.c are straightforward.

* drivers/s390/cio/ccwgroup.c is a bit more tricky because
  ccwgroup_notifier() was (ab)using device_schedule_callback() to
  purely obtain a process context to kick off ungroup operation which
  may block from a notifier callback.

  Rename ccwgroup_ungroup_callback() to ccwgroup_ungroup() and make it
  take ccwgroup_device * instead.  The new function is now called
  directly from ccwgroup_ungroup_store().

  ccwgroup_notifier() chain is updated to explicitly bounce through
  ccwgroup_device->ungroup_work.  This also removes possible failure
  from memory pressure.

Only compile-tested.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux390@de.ibm.com
Cc: linux-s390@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-07 15:42:41 -08: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: use device_remove_file_self() instead of device_schedule_callback() 2014-02-07 15:42:41 -08:00
ccwreq.c [S390] cio: add message for timeouts on internal I/O 2011-10-30 15:16:41 +01:00
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_sch.c s390/chsc: Use snprintf instead of sprintf 2013-06-26 21:10:16 +02:00
chsc_sch.h
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
cio_debug.h
cio.c s390/time: correct use of store clock fast 2013-10-22 09:16:40 +02:00
cio.h s390: convert interrupt handling to use generic hardirq 2013-08-22 12:20:04 +02:00
cmf.c s390: replace strict_strtoul() with kstrtoul() 2013-08-22 12:20:00 +02:00
crw.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
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_fsm.c s390/time: rename tod clock access functions 2013-02-14 15:55:10 +01:00
device_id.c s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
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 s390/comments: unify copyright messages and remove file names 2012-07-20 11:15:04 +02:00
device.c s390/cio: use device_lock to synchronize calls to the ccw driver 2013-12-16 14:38:02 +01:00
device.h s390/cio: fix early init counter usage 2013-04-17 14:07:33 +02:00
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 [S390] drivers: Correct size given to memset 2009-12-18 17:43:32 +01:00
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 [S390] cio: move asms to generic header 2011-03-15 17:08:23 +01:00
isc.c
itcw.c [S390] cio: reduce memory consumption of itcw structures 2011-01-05 12:47:29 +01:00
Makefile s390/cio: add eadm subchannel driver 2012-09-26 15:45:00 +02:00
orb.h s390: add eadm related structures 2012-09-26 15:44:57 +02: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: bridgeport support - CHSC part 2014-01-14 15:16:09 +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
qdio.h s390/qdio: cleanup chsc SADC usage 2013-06-26 21:10:15 +02:00
scm.c s390/scm_block: do not hide eadm subchannel dependency 2013-11-15 14:08:42 +01:00