• Adam Ford's avatar
    clk: vc5: Allow Versaclock driver to support multiple instances · f491276a
    Adam Ford authored
    Currently, the Versaclock driver is only expecting one instance and
    uses hard-coded names for the various clock names.  Unfortunately,
    this is a problem when there is more than one instance of the driver,
    because the subsequent instantiations of the driver use the identical
    name.  Each clock after the fist fails to load, because the clock
    subsystem cannot handle two clocks with identical name.
    
    This patch removes the hard-coded name arrays and uses kasprintf to
    assign clock names based on names of their respective node and parent
    node which gives each clock a unique identifying name.
    
    For a verasaclock node with a name like:
       versaclock5: versaclock_som@6a
    
    The updated clock names would appear like:
        versaclock_som.mux
           versaclock_som.out0_sel_i2cb
           versaclock_som.pfd
              versaclock_som.pll
                 versaclock_som.fod3
                    versaclock_som.out4
                 versaclock_som.fod2
                    versaclock_som.out3
                 versaclock_som.fod1
                    versaclock_som.out2
                 versaclock_som.fod0
                    versaclock_som.out1
    Signed-off-by: default avatarAdam Ford <aford173@gmail.com>
    Link: https://lore.kernel.org/r/20200603154329.31579-1-aford173@gmail.comSigned-off-by: default avatarStephen Boyd <sboyd@kernel.org>
    f491276a
clk-versaclock5.c 27.4 KB