Re: [RFC PATCH v3] irqchip: Add support for Tango interrupt controller
From: Måns Rullgård <hidden>
Date: 2016-01-22 16:35:14
Marc Gonzalez [off-list ref] writes:
On 20/01/2016 19:09, M?ns Rullg?rd wrote:quoted
Marc Gonzalez [off-list ref] writes:quoted
On 20/01/2016 17:38, M?ns Rullg?rd wrote:quoted
Marc Gonzalez [off-list ref] writes:quoted
On 20/01/2016 17:25, M?ns Rullg?rd wrote:quoted
Marc Zyngier [off-list ref] writes:quoted
On 20/01/16 16:10, M?ns Rullg?rd wrote:quoted
Marc Zyngier [off-list ref] writes:quoted
quoted
+ 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.For my own reference, Marc Zyngier suggested: "you should use of_iomap to map the child nodes, and not mess with the parent one."That's going to get very messy since the generic irqchip code needs all the registers as offsets from a common base address.The two suggestions are over my head at the moment. Do you want to submit v4 and have Marc Z take a look?Done. If this isn't acceptable either, I'm out of ideas that don't end up being far uglier than anything suggested so far.With your latest patch, can I drop the ranges property?
Why would you want to do that? -- M?ns Rullg?rd