• Bartlomiej Zolnierkiewicz's avatar
    ide: use per-device request queue locks (v2) · 201bffa4
    Bartlomiej Zolnierkiewicz authored
    * Move hack for flush requests from choose_drive() to do_ide_request().
    
    * Add ide_plug_device() helper and convert core IDE code from using
      per-hwgroup lock as a request lock to use the ->queue_lock instead.
    
    * Remove no longer needed:
      - choose_drive() function
      - WAKEUP() macro
      - 'sleeping' flag from ide_hwif_t
      - 'service_{start,time}' fields from ide_drive_t
    
    This patch results in much simpler and more maintainable code
    (besides being a scalability improvement).
    
    v2:
    * Fixes/improvements based on review from Elias:
      - take as many requests off the queue as possible
      - remove now redundant BUG_ON()
    
    Cc: Elias Oltmanns <eo@nebensachen.de>
    Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    201bffa4
ide-probe.c 39.7 KB