On Tue, 2015-03-03 at 18:11 +0300, Alexey Brodkin wrote: > It is not recommened to use platform_get_resource(pdev, IORESOURCE_IRQ) > for requesting IRQ's resources any more, as they can be not ready yet in > case of DT-booting. > > platform_get_irq() instead is a recommended way for getting IRQ even if > it was not retrieved earlier. > > It also makes code simpler because we're getting "int" value right away > and no conversion from resource to int is required. > > Signed-off-by: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> > Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> > Cc: Alan Cox <alan@xxxxxxxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > > Changes in v2: > * Suppress error message if platform_get_irq() returns -EPROBE_DEFER Do we really need that message at all? > > --- > drivers/tty/serial/8250/8250_dw.c | 14 ++++++++++---- > 1 file changed, 10 insertions(+), 4 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c > index e601162..cda76e8 100644 > --- a/drivers/tty/serial/8250/8250_dw.c > +++ b/drivers/tty/serial/8250/8250_dw.c > @@ -384,18 +384,24 @@ static int dw8250_probe(struct platform_device *pdev) > { > struct uart_8250_port uart = {}; > struct resource *regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); > - struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); > + int irq = platform_get_irq(pdev, 0); > struct dw8250_data *data; > int err; > > - if (!regs || !irq) { > - dev_err(&pdev->dev, "no registers/irq defined\n"); > + if (!regs) { > + dev_err(&pdev->dev, "no registers defined\n"); > return -EINVAL; > } > > + if (irq < 0) { > + if (irq != -EPROBE_DEFER) > + dev_err(&pdev->dev, "cannot get irq\n"); > + return irq; > + } > + > spin_lock_init(&uart.port.lock); > uart.port.mapbase = regs->start; > - uart.port.irq = irq->start; > + uart.port.irq = irq; > uart.port.handle_irq = dw8250_handle_irq; > uart.port.pm = dw8250_do_pm; > uart.port.type = PORT_8250; -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Intel Finland Oy -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html