[U-Boot] [PATCH v2 2/7] rockchip: pinctrl: rv1108: access of-offset via dev_of_offset(...)

Simon Glass sjg at chromium.org
Wed Jun 7 16:56:30 UTC 2017


Hi,

On 7 June 2017 at 10:51, Dr. Philipp Tomsich
<philipp.tomsich at theobroma-systems.com> wrote:
> Simon,
>
> On 07 Jun 2017, at 10:00, Dr. Philipp Tomsich
> <philipp.tomsich at theobroma-systems.com> wrote:
>
> On 06 Jun 2017, at 23:09, Simon Glass <sjg at chromium.org> wrote:
>
> On 6 June 2017 at 07:42, Philipp Tomsich
> <philipp.tomsich at theobroma-systems.com> wrote:
>
> After rebasing to u-boot-rockchip/master at 2b19b2f, buildman fails for
> rv1108 with:
>  ../drivers/pinctrl/rockchip/pinctrl_rv1108.c: In function
> 'rv1108_pinctrl_get_periph_id':
>  ../drivers/pinctrl/rockchip/pinctrl_rv1108.c:111:49: error: 'struct
> udevice' has no member named 'of_offset'
>    ret = fdtdec_get_int_array(gd->fdt_blob, periph->of_offset,
>                                                     ^
>
> This change access the of-offset of periph via the dev_of_offset()
> helper-function to fix this issue and (hopefully) to ensure it doesn't
> recur if there's more changes to the DM subsystem.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich at theobroma-systems.com>
>
> ---
>
> Changes in v2:
> - (new patch) access of-offset of periph via dev_of_offset in the RV1108
>  pinctrl driver to fix a buildman failure for u-boot-rockchip/master at 2b19b2f
>
> drivers/pinctrl/rockchip/pinctrl_rv1108.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/rockchip/pinctrl_rv1108.c
> b/drivers/pinctrl/rockchip/pinctrl_rv1108.c
> index d98ec81..bdf3910 100644
> --- a/drivers/pinctrl/rockchip/pinctrl_rv1108.c
> +++ b/drivers/pinctrl/rockchip/pinctrl_rv1108.c
> @@ -108,7 +108,7 @@ static int rv1108_pinctrl_get_periph_id(struct udevice
> *dev,
>        u32 cell[3];
>        int ret;
>
> -       ret = fdtdec_get_int_array(gd->fdt_blob, periph->of_offset,
> +       ret =fdtdec_get_int_array(gd->fdt_blob, dev_of_offset(periph),
>
>                                   "interrupts", cell, ARRAY_SIZE(cell));
>
>
> Could you use dev_read_u32_array() here instead? That is the new new
> way :-) I added the dev_of_offset() as a transition mechanism but it
> should not be used ideally.
>
>
> A quick grep shows that only simple-bus.c uses the new way of doing things,
> yet.
>
> Please use this one as-is and I’ll send another series (to be applied on top
> of this)
> to rewrite to dev_read_u32_array() across the entire driver population.
>
>
> I dropped a change-set for most fdt_get occurrences in the rockchip subarch
> (and
> common drivers used by those boards).

Great!

>
> However, there’s at least one fdtdev_get function that I didn’t find an
> equivalent for:
> fdtdec_get_int_array_count
> In case you are wondering: this one is used RK3188 and RK3288
> pinctrl-drivers…

OK - would you like to add one? It could be dev_read_u32_array() / ofnode_...

Regards,
Simon


More information about the U-Boot mailing list