Re: [PATCH] misc: add CS2000 Fractional-N driver

From: Arnd Bergmann
Date: Thu Sep 10 2015 - 02:53:01 EST


On Thursday 10 September 2015 06:36:14 Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
>
> This patch adds CS2000 Fractional-N driver as clock provider.
> It is useful if it supports runtime clock setting, but it supports
> fixed clock rate at this point.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> ---
> .../devicetree/bindings/misc/cs2000-cp.txt | 20 ++
> drivers/misc/Kconfig | 6 +
> drivers/misc/Makefile | 1 +
> drivers/misc/cs2000-cp.c | 341 +++++++++++++++++++++
> 4 files changed, 368 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/misc/cs2000-cp.txt
> create mode 100644 drivers/misc/cs2000-cp.c

I think the driver should be in drivers/clk/ if it provides a clk to
other devices.

Please also split out the binding document into a separate patch and
Cc the devicetree mailing list.

> +
> + ret = cs2000_get_clk(client, &rate_in, &rate_out);
> + if (ret < 0)
> + return ret;
> +
> + ret = cs2000_enable_dev_config(client);
> + if (ret < 0)
> + return ret;
> +
> + ret = cs2000_clk_in_bound_rate(client, rate_in);
> + if (ret < 0)
> + return ret;
> +
> + ret = cs2000_ratio_set(client, ch, rate_in, rate_out);
> + if (ret < 0)
> + return ret;

The probe function lacks unwinding if anything goes wrong, so you end
up with clocks that are registered but the driver being absent.
For most things, you can use the devm_*() interfaces here.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/