versal: drivers: clk: Fix invalid clock name queries
authorRajan Vaja <rajan.vaja@xilinx.com>
Thu, 16 Jan 2020 11:55:05 +0000 (03:55 -0800)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 28 Feb 2020 11:04:10 +0000 (12:04 +0100)
The clock driver makes EEMI call to get the name of invalid clk
when executing versal_get_clock_info() function. This results in
error messages.
Added check for validating clock before saving clock attribute and
calling versal_pm_clock_get_name() in versal_get_clock_info() function.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/clk/clk_versal.c

index 9d4d2149e327fe32b37378929756662d9d416f68..d3673a5c8b816043a32178f040c623f8f7818782 100644 (file)
@@ -571,6 +571,12 @@ static void versal_get_clock_info(void)
                        continue;
 
                clock[i].valid = attr & CLK_VALID_MASK;
+
+               /* skip query for Invalid clock */
+               ret = versal_is_valid_clock(i);
+               if (ret != CLK_VALID_MASK)
+                       continue;
+
                clock[i].type = ((attr >> CLK_TYPE_SHIFT) & 0x1) ?
                                CLK_TYPE_EXTERNAL : CLK_TYPE_OUTPUT;
                nodetype = (attr >> NODE_TYPE_SHIFT) & NODE_CLASS_MASK;