Marc Zyngier <marc.zyng...@arm.com> writes: > On 20/01/16 16:10, Måns Rullgård wrote: >> Marc Zyngier <marc.zyng...@arm.com> writes: >> >>>> + if (of_property_read_u32(node, "reg", &ctl)) >>>> + panic("%s: failed to get reg base", node->name); >>>> + >>>> + chip = kzalloc(sizeof(*chip), GFP_KERNEL); >>>> + chip->ctl = ctl; >>>> + chip->base = base; >> >> As I said before, this assumes the outer DT node uses a ranges >> property. Normally reg properties work the same whether they specify an >> offset within an outer "ranges" or have a full address directly. It >> would be easy enough to make this work with either, so I don't see any >> reason not to. > > Yup, that is a good point. I guess Marc can address this in the next > round, since we need a DT binding anyway.
I'd suggest using of_address_to_resource() on both nodes and subtracting the start addresses returned. -- Måns Rullgård