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