• Benjamin Herrenschmidt's avatar
    powerpc/macio: Rework hotplug media bay support · d58b0c39
    Benjamin Herrenschmidt authored
    The hotplug mediabay has tendrils deep into drivers/ide code
    which makes a libata port reather difficult. In addition it's
    ugly and could be done better.
    
    This reworks the interface between the mediabay and the rest
    of the world so that:
    
       - Any macio_driver can now have a mediabay_event callback
    which will be called when that driver sits on a mediabay and
    it's been either plugged or unplugged. The device type is
    passed as an argument. We can now move all the IDE cruft
    into the IDE driver itself
    
       - A check_media_bay() function can be used to take a peek
    at the type of device currently in the bay if any, a cleaner
    variant of the previous function with the same name.
    
       - A pair of lock/unlock functions are exposed to allow the
    IDE driver to block the hotplug callbacks during the initial
    setup and probing of the bay in order to avoid nasty race
    conditions.
    
       - The mediabay code no longer needs to spin on the status
    register of the IDE interface when it detects an IDE device,
    this is done just fine by the IDE code itself
    
    Overall, less code, simpler, and allows for another driver
    than our old drivers/ide based one.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    d58b0c39
mediabay.h 1.3 KB