• Stephen Boyd's avatar
    clk: socfpga: Don't have get_parent for single parent ops · a30a67be
    Stephen Boyd authored
    This driver creates a gate clk with the possibility to have multiple
    parents. That can cause problems if the common clk framework tries to
    call the get_parent() op and gets back a number that's larger than the
    number of parents the clk says it supports in
    clk_init_data::num_parents. Let's duplicate the clk_ops structure each
    time this function is called and drop the get/set parent ops when there
    is only one parent. This allows the framework to consider a number
    larger than clk_init_data::num_parents as an error condition of the
    get_parent() clk op, clearing the way for proper code.
    
    Cc: Jerome Brunet <jbrunet@baylibre.com>
    Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
    Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
    Tested-by: default avatarDinh Nguyen <dinguyen@kernel.org>
    Signed-off-by: default avatarStephen Boyd <sboyd@kernel.org>
    a30a67be
clk-gate.c 6.52 KB