[PATCH 2/2] phy: add hix5hd2-sata-phy driver
Mark Rutland
mark.rutland at arm.com
Tue Jun 17 10:23:02 PDT 2014
On Tue, Jun 17, 2014 at 08:58:01AM +0100, Zhangfei Gao wrote:
> From: Jiancheng Xue <xuejiancheng at huawei.com>
>
> Add hix5hd2-sata-phy driver on Hisilicon hix5hd2 soc.
>
> Signed-off-by: Jiancheng Xue <xuejiancheng at huawei.com>
> Signed-off-by: Zhangfei Gao <zhangfei.gao at linaro.org>
> ---
> drivers/phy/Kconfig | 8 ++
> drivers/phy/Makefile | 1 +
> drivers/phy/phy-hix5hd2-sata.c | 192 ++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 201 insertions(+)
> create mode 100644 drivers/phy/phy-hix5hd2-sata.c
[...]
> + paddr = of_get_property(phy->dev.of_node, "hisilicon,reg-init", &lenp);
> + if (!paddr || lenp < 4 * sizeof(*paddr))
> + return 0;
> +
> + lenp /= sizeof(*paddr);
> + for (i = 0; i < lenp - 3; i += 4) {
> + offset = be32_to_cpup(paddr + i);
> + shift = be32_to_cpup(paddr + i + 1);
> + width = be32_to_cpup(paddr + i + 2);
> + value = be32_to_cpup(paddr + i + 3);
> + hix5hd2_sata_phy_write(priv->base + offset,
> + shift, width, value);
> + }
There is absolutely no reason to use of_get_property and be32 values
here, we have of_property_count_u32_elems and
of_property_read_u32_index.
That said I would like to see a compelling reason for why we need to
have this at all; I'm not a fan of DT becoming a shoddy bytecode format.
Cheers,
Mark.
More information about the linux-arm-kernel
mailing list