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

From: Jiang Qiu
Date: Thu Mar 10 2016 - 19:50:29 EST


å 2016/3/11 4:27, Andy Shevchenko åé:
> 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")) {
Yes, agreed, "to_of_node" will never appear in this patch : )
>> 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.
Agreed.
>
>>> 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.
Agreed.
Thanks, Jiang