Re: [PATCH RFC 4/5] clk: samsung: Add clock driver for s5pc110/s5pv210

From: Bartlomiej Zolnierkiewicz
Date: Mon Aug 26 2013 - 13:13:08 EST


On Monday, August 26, 2013 01:38:33 PM Mateusz Krawczuk wrote:
> This patch adds new, Common Clock Framework-based clock driver for Samsung
> S5PV210 SoCs. The driver is just added, without enabling it yet.
>
> Signed-off-by: Mateusz Krawczuk <m.krawczuk@xxxxxxxxxxxxxxxxxxx>
> ---
> .../bindings/clock/samsung,s5pv210-clock.txt | 72 ++
> drivers/clk/samsung/Makefile | 3 +-
> drivers/clk/samsung/clk-s5pv210.c | 732 +++++++++++++++++++++
> include/dt-bindings/clock/samsung,s5pv210-clock.h | 221 +++++++
> 4 files changed, 1027 insertions(+), 1 deletion(-)
> create mode 100644 Documentation/devicetree/bindings/clock/samsung,s5pv210-clock.txt
> create mode 100644 drivers/clk/samsung/clk-s5pv210.c
> create mode 100644 include/dt-bindings/clock/samsung,s5pv210-clock.h

[...]

> diff --git a/drivers/clk/samsung/clk-s5pv210.c b/drivers/clk/samsung/clk-s5pv210.c
> new file mode 100644
> index 0000000..861d37d
> --- /dev/null
> +++ b/drivers/clk/samsung/clk-s5pv210.c

[...]

> +static unsigned long s5pv210_get_xom(void)

This function can be marked with __init.

> +{
> + unsigned long xom = 1;
> + void __iomem *chipid_base;
> + struct device_node *np;
> +
> + np = of_find_compatible_node(NULL, NULL, "samsung,s5pv210-chipid");
> + if (np) {
> + chipid_base = of_iomap(np, 0);

How's about printing an error if !chipid_base?

Also the code can be made a bit shorter:

if (np) {
void __iomem *chipid_base = of_iomap(np, 0);
...
}

> + if (chipid_base)
> + xom = readl(chipid_base + 8);
> +
> + iounmap(chipid_base);

It seems that at least generic iounmap() accepts NULL argument but it
will be better not to call it if of_iomap() failed.

> + }
> +
> + return xom;
> +}

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics

--
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/