Re: [PATCH 5/5] tty: serial: Add 8250-core based omap driver

From: Felipe Balbi
Date: Thu Jul 17 2014 - 12:05:12 EST


On Thu, Jul 17, 2014 at 05:11:58PM +0200, Sebastian Andrzej Siewior wrote:
> On 07/17/2014 04:54 PM, Felipe Balbi wrote:
> > Hi,
> >
> > On Wed, Jul 16, 2014 at 04:45:03PM +0200, Sebastian Andrzej Siewior wrote:
> >> +static int omap_8250_startup(struct uart_port *port)
> >> +{
> >> + struct uart_8250_port *up =
> >> + container_of(port, struct uart_8250_port, port);
> >> + struct omap8250_priv *priv = port->private_data;
> >> +
> >> + int ret;
> >> +
> >> + if (priv->wakeirq) {
> >> + ret = request_irq(priv->wakeirq, omap_wake_irq,
> >> + port->irqflags, "wakeup irq", port);
> >> + if (ret)
> >> + return ret;
> >> + disable_irq(priv->wakeirq);
> >> + }
> >> +
> >> + ret = serial8250_do_startup(port);
> >> + if (ret)
> >> + goto err;
> >> +
> >> + pm_runtime_get_sync(port->dev);
> >
> > should this pm_runtime_get_sync() be placed above
> > serial8250_do_startup() call ?
>
> I don't think it matters since serial8250_do_startup() has its own
> pm_runtime_get_sync().

oh right, saw that now.

> ->startup(), ->shutdown() are called via omap callbacks so we could
> spare in the 8250-core if we do it in the omap code before invoking the
> function. The same goes for serial8250_set_termios() which is not used
> by omap but has those runtime-pm stuff, too.
> It would be wrong if someone would use the serial8250_do_startup()
> without his own runtime-pm get but it is omap only which does this
> things.
> So it is not used by anyone else (right now) and if you want to keep it
> to a minimum I could remove them from those places.

I don't think it matters as long as the calls are balanced.

--
balbi

Attachment: signature.asc
Description: Digital signature