[U-Boot] [PATCH v2 2/7] rockchip: pinctrl: rv1108: access of-offset via dev_of_offset(...)
Dr. Philipp Tomsich
philipp.tomsich at theobroma-systems.com
Wed Jun 7 16:51:27 UTC 2017
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 <mailto:sjg at chromium.org>> wrote:
>>
>> On 6 June 2017 at 07:42, Philipp Tomsich
>> <philipp.tomsich at theobroma-systems.com <mailto: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 <mailto: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).
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…
Regards,
Philipp.
More information about the U-Boot
mailing list