kernel-ark/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
chp.c s390/cio: add channel ID sysfs attribute 2013-05-15 16:47:39 +02:00
chp.h
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
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
device_id.c
device_ops.c
device_pgid.c
device_status.c
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
idset.c s390/cio: Use BITS_TO_LONGS() instead of __BITOPS_WORDS() 2013-04-17 14:07:29 +02:00
idset.h
io_sch.h
ioasm.h
isc.c
itcw.c
Makefile
orb.h
qdio_debug.c
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