* Ulf Hansson <ulf.hansson@xxxxxxxxxx> [130614 04:55]: > On 7 June 2013 23:49, Tony Lindgren <tony@xxxxxxxxxxx> wrote: > > From: Andreas Fenkart <andreas.fenkart@xxxxxxxxxxxxxxxxxxx> > > --- a/drivers/mmc/host/omap_hsmmc.c > > +++ b/drivers/mmc/host/omap_hsmmc.c > > +static void omap_hsmmc_enable_sdio_irq(struct mmc_host *mmc, int enable) > > +{ > > + struct omap_hsmmc_host *host = mmc_priv(mmc); > > + u32 irq_mask; > > + unsigned long flags; > > + > > + spin_lock_irqsave(&host->irq_lock, flags); > > + > > + if (host->sdio_irq_en == enable) { > > + dev_dbg(host->dev, "en/disable:%d already set", enable); > > + spin_unlock_irqrestore(&host->irq_lock, flags); > > + return; > > + } > > + > > Hi Tony/Andreas, > > I belive a "pm_runtime_get_sync" would be needed here, outside the > spinlock ofcourse. Before returning from this function, obviusly > return the references by a pm_runtime_put* in some form. > > Then you will be able to remove the "active_pinmux" variable entirely, > since you know the runtime callbacks is the only place were you need > to handle the gpio irq enable|disable. Thanks for the review, that's a good point. I'll check this as soon as I have a chance. Regards, Tony -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html