• Arkadiusz Kubalewski's avatar
    dpll: fix register pin with unregistered parent pin · 7dc5b18f
    Arkadiusz Kubalewski authored
    In case of multiple kernel module instances using the same dpll device:
    if only one registers dpll device, then only that one can register
    directly connected pins with a dpll device. When unregistered parent is
    responsible for determining if the muxed pin can be registered with it
    or not, the drivers need to be loaded in serialized order to work
    correctly - first the driver instance which registers the direct pins
    needs to be loaded, then the other instances could register muxed type
    pins.
    
    Allow registration of a pin with a parent even if the parent was not
    yet registered, thus allow ability for unserialized driver instance
    load order.
    Do not WARN_ON notification for unregistered pin, which can be invoked
    for described case, instead just return error.
    
    Fixes: 9431063a ("dpll: core: Add DPLL framework base functions")
    Fixes: 9d71b54b ("dpll: netlink: Add DPLL framework base functions")
    Reviewed-by: default avatarJan Glaza <jan.glaza@intel.com>
    Reviewed-by: default avatarJiri Pirko <jiri@nvidia.com>
    Signed-off-by: default avatarArkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7dc5b18f
dpll_core.c 20 KB