On Fri, Mar 25, 2016 at 9:31 PM, qiujiang <qiujiang@xxxxxxxxxx> wrote: > - if (pp->idx == 0 && > - of_property_read_bool(port_np, "interrupt-controller")) { > - pp->irq = irq_of_parse_and_map(port_np, 0); > + if (dev->of_node && pp->idx == 0 && > + fwnode_property_read_bool(fwnode, > + "interrupt-controller")) { > + pp->irq = irq_of_parse_and_map(to_of_node(fwnode), 0); > if (!pp->irq) { > dev_warn(dev, "no irq for bank %s\n", > - port_np->full_name); > + to_of_node(fwnode)->full_name); > } > } > > pp->irq_shared = false; > pp->gpio_base = -1; > - pp->name = port_np->full_name; > + if (dev->of_node) > + pp->name = to_of_node(fwnode)->full_name; Hi Jiang, I tested lightly on a CycloneV and it worked fine (with device tree). One suggestion for both patches: you could remove name from struct dwapb_port_property and get rid of pp->name and nobody would miss it. All it is used for is some dev_err's so the device info gets printed anyway. For example (if I leave the irq out of the DT) gpio-dwapb ff708000.gpio: no irq for bank /soc/gpio@ff708000/gpio-controller@0 is redundant. The only additional info here from the name is the port index. That could be added to the messages without having to get the name through the two property/of methods. Alan -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html