• Alexandre Bounine's avatar
    rapidio/rionet: rework driver initialization and removal · e6161d64
    Alexandre Bounine authored
    Rework probe/remove routines to prevent rionet driver from monopolizing
    target RapidIO devices.  Fix conflict with modular RapidIO switch drivers.
    
    Using one of RapidIO messaging channels rionet driver provides a service
    layer common to all endpoint devices in a system's RapidIO network.  These
    devices may also require their own specific device driver which will be
    blocked from attaching to the target device by rionet (or block rionet if
    loaded earlier).  To avoid conflict with device-specific drivers, the
    rionet driver is reworked to be registered as a subsystem interface on the
    RapidIO bus.
    
    The reworked rio_remove_dev() and rionet_exit() routines also include
    handling of individual rionet peer device removal which was not supported
    before.
    Signed-off-by: default avatarAlexandre Bounine <alexandre.bounine@idt.com>
    Cc: Matt Porter <mporter@kernel.crashing.org>
    Cc: Li Yang <leoli@freescale.com>
    Cc: Kumar Gala <galak@kernel.crashing.org>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Andre van Herk <andre.van.herk@Prodrive.nl>
    Cc: Micha Nelissen <micha.nelissen@Prodrive.nl>
    Cc: Stef van Os <stef.van.os@Prodrive.nl>
    Cc: Jean Delvare <jdelvare@suse.de>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    e6161d64
rionet.c 15.7 KB