• Alan Tull's avatar
    of/overlay: add of overlay notifications · 39a842e2
    Alan Tull authored
    This patch add of overlay notifications.
    
    When DT overlays are being added, some drivers/subsystems
    need to see device tree overlays before the changes go into
    the live tree.
    
    This is distinct from reconfig notifiers that are
    post-apply or post-remove and which issue very granular
    notifications without providing access to the context
    of a whole overlay.
    
    The following 4 notificatons are issued:
      OF_OVERLAY_PRE_APPLY
      OF_OVERLAY_POST_APPLY
      OF_OVERLAY_PRE_REMOVE
      OF_OVERLAY_POST_REMOVE
    
    In the case of pre-apply notification, if the notifier
    returns error, the overlay will be rejected.
    
    This patch exports two functions for registering/unregistering
    notifications:
      of_overlay_notifier_register(struct notifier_block *nb)
      of_overlay_notifier_unregister(struct notifier_block *nb)
    
    The of_mutex is held during these notifications. The
    notification data includes pointers to the overlay target
    and the overlay:
    
    struct of_overlay_notify_data {
           struct device_node *overlay;
           struct device_node *target;
    };
    Signed-off-by: default avatarAlan Tull <atull@opensource.altera.com>
    Acked-by: default avatarRob Herring <robh@kernel.org>
    Acked-by: default avatarMoritz Fischer <moritz.fischer@ettus.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    39a842e2
overlay.c 14 KB