• Tejun Heo's avatar
    s390: use device_remove_file_self() instead of device_schedule_callback() · 0b60f9ea
    Tejun Heo authored
    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: default avatarTejun 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: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    0b60f9ea
dcssblk.c 26.2 KB