Message ID | PSAPR06MB4952D98B1204C8591989DB25C93D2@PSAPR06MB4952.apcprd06.prod.outlook.com |
---|---|
State | New |
Headers | show |
Series | [v4,1/3] pnp: Add dev_is_pnp() macro | expand |
On Wed, Apr 03, 2024 at 03:41:29PM +0800, Guanbing Huang wrote: > From: Guanbing Huang <albanhuang@tencent.com> > > The function __uart_read_properties doesn't cover pnp devices, so add irq __uart_read_properties() PNP IRQ > processing for pnp devices in the branch. PNP ... > #include <linux/property.h> > #include <linux/serial_core.h> > #include <linux/spinlock.h> > +#include <linux/pnp.h> Keep it ordered (in this context it should go before property.h).
On Wed, Apr 03, 2024 at 12:54:19PM +0300, Andy Shevchenko wrote: > On Wed, Apr 03, 2024 at 03:41:29PM +0800, Guanbing Huang wrote: One more thing, the Subject should start with "serial: port: ..." And also should have PNP IRQ (capitalized). > > The function __uart_read_properties doesn't cover pnp devices, so add irq > > __uart_read_properties() > > PNP > IRQ > > > processing for pnp devices in the branch. > > PNP > > ... > > > #include <linux/property.h> > > #include <linux/serial_core.h> > > #include <linux/spinlock.h> > > +#include <linux/pnp.h> > > Keep it ordered (in this context it should go before property.h).
diff --git a/drivers/tty/serial/serial_port.c b/drivers/tty/serial/serial_port.c index 22b9eeb23e68..6ed072d61b88 100644 --- a/drivers/tty/serial/serial_port.c +++ b/drivers/tty/serial/serial_port.c @@ -14,6 +14,7 @@ #include <linux/property.h> #include <linux/serial_core.h> #include <linux/spinlock.h> +#include <linux/pnp.h> #include "serial_base.h" @@ -221,7 +222,11 @@ static int __uart_read_properties(struct uart_port *port, bool use_defaults) if (dev_is_platform(dev)) ret = platform_get_irq(to_platform_device(dev), 0); - else + else if (dev_is_pnp(dev)) { + ret = pnp_irq(to_pnp_dev(dev), 0); + if (ret < 0) + ret = -ENXIO; + } else ret = fwnode_irq_get(dev_fwnode(dev), 0); if (ret == -EPROBE_DEFER) return ret;