Re: [PATCH v5 1/3] gpio: designware: convert device node to fwnode

From: Andy Shevchenko
Date: Thu Mar 10 2016 - 15:27:25 EST


On Thu, Mar 10, 2016 at 9:09 PM, Alan Tull <delicious.quinoa@xxxxxxxxx> wrote:
> On Fri, Mar 4, 2016 at 1:44 AM, qiujiang <qiujiang@xxxxxxxxxx> wrote:
>> This patch converts device node to fwnode in
>> dwapb_port_property for designware gpio driver,
>> so as to provide a unified data structure for DT
>> and ACPI bindings.
>>
>> Acked-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
>> Signed-off-by: qiujiang <qiujiang@xxxxxxxxxx>

>> @@ -496,18 +492,19 @@ dwapb_gpio_get_pdata_of(struct device *dev)
>> * Only port A can provide interrupts in all configurations of
>> * the IP.
>> */
>> - 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 &&
>> + of_property_read_bool(to_of_node(fwnode),
>> + "interrupt-controller")) {
>
> Hi Qiujiang,
>
> Is there a reason to use "of_property_read_bool" here instead of
> "device_property_read_bool" or similar?

Yeah, this patch looks unfinished.

This should be
if (pp->idx == 0 && fwnode_property_read_bool(fwnode,
"interrupt-controller")) {

>
> Alan
>
>> + pp->irq = irq_of_parse_and_map(to_of_node(fwnode), 0);

But here should be common method called which takes fwnode on input.

>> 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;
>> + pp->name = to_of_node(fwnode)->full_name;

Also those two should be device property source agnostic. That's what
I tried to tell earlier.

--
With Best Regards,
Andy Shevchenko