• Tony Lindgren's avatar
    bus: ti-sysc: Fix handling of invalid clocks · 2783d063
    Tony Lindgren authored
    We can currently get "Unable to handle kernel paging request at
    virtual address" for invalid clocks with dts node but no driver:
    
    (__clk_get_hw) from [<c0138ebc>] (ti_sysc_find_one_clockdomain+0x18/0x34)
    (ti_sysc_find_one_clockdomain) from [<c0138f0c>] (ti_sysc_clkdm_init+0x34/0xdc)
    (ti_sysc_clkdm_init) from [<c0584660>] (sysc_probe+0xa50/0x10e8)
    (sysc_probe) from [<c065c6ac>] (platform_drv_probe+0x58/0xa8)
    
    Let's add IS_ERR checks to ti_sysc_clkdm_init() as And let's start treating
    clk_get() with -ENOENT as a proper error. If the clock name is specified
    in device tree we must succeed with clk_get() to continue. For modules with
    no clock names specified in device tree we will just ignore the clocks.
    
    Fixes: 2b2f7def ("bus: ti-sysc: Add support for missing clockdomain handling")
    Acked-by: default avatarRoger Quadros <rogerq@ti.com>
    Tested-by: default avatarKeerthy <j-keerthy@ti.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    2783d063
ti-sysc.c 60.1 KB