Re: [PATCH V3 1/6] clk: exynos-audss: convert to platform device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/25/2013 12:12 AM, Andrew Bresticker wrote:
+static int exynos_audss_clk_remove(struct platform_device *pdev)
+{
+       int i;
+
+       of_clk_del_provider(pdev->dev.of_node);
+
+       for (i = 0; i<   EXYNOS_AUDSS_MAX_CLKS; i++) {
+               if (!IS_ERR_OR_NULL(clk_table[i]))
+                       clk_unregister(clk_table[i]);
+       }


Since we only get here if all the clocks are registered properly and we
always register EXYNOS_AUDSS_MAX_CLKS clocks, couldn't this simply be:


         for (i = 0; i<  EXYNOS_AUDSS_MAX_CLKS; i++)
                 clk_unregister(clk_table[i]);

?

Once support is added for Exynos5420, we won't always register
EXYNOS_AUDSS_MAX_CLKS clocks, so we'd still need the NULL check.

Then couldn't you use clk_data.clk_num in this loop instead of
EXYNOS_AUDSS_MAX_CLKS ? What I'm trying to avoid is assuming NULL as
an invalid clock. It's not correct, clock pointers should be only tested
with ERR_PTR(). Alternatively you could set the whole clk_table array to,
e.g. ERR_PTR(-EINVAL) beforehand, but that shouldn't be necessary when
clk_data.clk_num is used, unless there are holes in the array.

--
Regards,
Sylwester

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux