RE: [PATCH 2/2] i2c: smbus: Use device_ functions instead of of_

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Thu, Dec 16, 2021 at 3:14 PM Akhil R <akhilrajeev@xxxxxxxxxx> wrote:
> >
> > Change of_ functions to device_ for firmware agnostic usage.
> 
> of_*()
> device_*()
> 
> > This allows to have smbus_alert interrupt without any changes in the
> > controller drivers using ACPI table.
> 
> ...
> 
> > -       irq = of_property_match_string(adapter->dev.of_node, "interrupt-
> names",
> > -                                      "smbus_alert");
> > +       irq = device_property_match_string(adapter->dev.parent, "interrupt-
> names",
> > +                                          "smbus_alert");
> 
> Hmm... Adapter device node is not the same as the node for its parent.
> Do you have some code that propagates of_node from parent to child?
Adapter device does not have an of_node unless the adapter driver
sets it, I guess. I see all the adapter drivers add the of_node and 
parent for adapter. Also, there are many places in i2c-core-base and 
i2c-core-acpi where adapter->dev.parent is referred to as the adapter 
driver device.

Basically, adapter->dev.parent and adapter->dev.of_node would 
ultimately refer to the same device (or the of_node of that device), 
as far as I understand.
> 
> I.o.w. I would expect to see
> 
>        irq = device_property_match_string(&adapter->dev, "interrupt-names",
> 
> here.
It would then require adding the fw_node as well from the adapter driver.
I felt it made more sense to refer adapter->dev.parent here as most of the
(or rather all of the) adapter drivers already sets it.
> 
> >         if (irq == -EINVAL || irq == -ENODATA)
> >                 return 0;
> >         else if (irq < 0)
> 
> TBH the entire code smells. "Interesting" way of getting an optional named
> interrupt.
I felt it useful to have it this way as it would remain agnostic to device tree and 
the ACPI. We would not have to add redundant codes in adapter drivers that
are using ACPI table.

Named interrupts for the ACPI as well, I feel would be a useful addition that can
prove to be of value more than this change; I believe.

Thanks,
Akhil




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux