[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 17:04:04 UTC 2017


> On 07 Jun 2017, at 18:56, Simon Glass <sjg at chromium.org> wrote:
> 
> Hi,
> 
> On 7 June 2017 at 10:51, Dr. Philipp Tomsich
> <philipp.tomsich at theobroma-systems.com <mailto: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_…

No problem, will do.
I just wanted to make sure that this wasn’t left out for a reason (e.g. to deprecate
it in the near future)…

Cheers,
Philipp.


More information about the U-Boot mailing list