> -     if (of_property_read_u32(np, "opencores,ip-clock-frequency", &val)) {
> +#ifdef CONFIG_HAVE_CLK
> +     i2c->clk = devm_clk_get(&pdev->dev, NULL);
> +
> +     if (!IS_ERR(i2c->clk)) {
> +             int ret = clk_prepare_enable(i2c->clk);
> +
> +             if (ret) {
> +                     dev_err(&pdev->dev,
> +                             "clk_prepare_enable failed: %d\n", ret);
> +                     return ret;
> +             }
> +             i2c->ip_clock_khz = clk_get_rate(i2c->clk) / 1000;
> +             if (clock_frequency_present)
> +                     i2c->bus_clock_khz = clock_frequency / 1000;
> +     } else
> +#endif
> +             if (of_property_read_u32(np, "opencores,ip-clock-frequency",
> +                                      &val)) {

This is not very readable (wrong indentation) and fragile. I'd suggest
to leave out #ifdeffery, the compiler will remove the code for !HAVE_CLK
because of the empty dummy functions[1]. Then, you can write properly
formatted code again.

[1] Well, it should if there wasn't a bug in that: 
https://lkml.org/lkml/2015/2/5/544

> +#ifdef CONFIG_HAVE_CLK
> +     if (!IS_ERR(i2c->clk)) {
> +             int ret = clk_prepare_enable(i2c->clk);
> +
> +             if (ret) {
> +                     dev_err(&pdev->dev,
> +                             "clk_prepare_enable failed: %d\n", ret);
> +                     return ret;
> +             }
> +             i2c->ip_clock_khz = clk_get_rate(i2c->clk) / 1000;
> +     }
> +#endif

Ahem, there is a build error in here :(

Attachment: signature.asc
Description: Digital signature

Reply via email to