platform: use fwnode_irq_get_byname instead of of_irq_get_byname to get irq

Not only platform devices described by OF have named interrupts, but
devices described by ACPI also have named interrupts. The fwnode is an
abstraction to different standards, and using fwnode_irq_get_byname can
support more devices.

Signed-off-by: Soha Jin <soha@lohu.info>
Tested-by: Wende Tan <twd2.me@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Soha Jin 2022-10-01 00:26:04 +08:00 committed by Greg Kroah-Hartman
parent 27c0d21734
commit d4ad017d63

View File

@ -441,8 +441,8 @@ static int __platform_get_irq_byname(struct platform_device *dev,
struct resource *r; struct resource *r;
int ret; int ret;
if (IS_ENABLED(CONFIG_OF_IRQ) && dev->dev.of_node) { if (!dev->dev.of_node || IS_ENABLED(CONFIG_OF_IRQ)) {
ret = of_irq_get_byname(dev->dev.of_node, name); ret = fwnode_irq_get_byname(dev_fwnode(&dev->dev), name);
if (ret > 0 || ret == -EPROBE_DEFER) if (ret > 0 || ret == -EPROBE_DEFER)
return ret; return ret;
} }