• C
    regulator: core: Get and put regulator of_node · 63c7c9e1
    Charles Keepax 提交于
    Currently the regulator core does not take an additional reference to
    the of_node it is passed. This means that the caller must ensure that
    the of_node is valid for the duration of the regulator's existance.
    It is reasonable for the framework to assume it is passed a valid
    of_node but seems onerous for it to assume the caller will keep the node
    valid for the life-time of the regulator, especially when
    devm_regulator_register is used and there will likely be no code in the
    driver called at the point it would be safe to put the of_node.
    
    This patch adds an additional of_node_get when the regulator is
    registered and an of_node_put when it is unregistered in the core. This
    means individual drivers are free to put their of_node references at the
    end of probe letting the regulator core handling it from there. This
    simplifies code on the driver side.
    Signed-off-by: NCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: NMark Brown <broonie@linaro.org>
    63c7c9e1
core.c 98.7 KB