Hi Yong, On Mon, Oct 29, 2018 at 03:23:00PM -0700, Yong Zhi wrote: > From: Tomasz Figa <tfiga@xxxxxxxxxxxx> > > This driver translates IO virtual address to physical > address based on two levels page tables. > > Signed-off-by: Tomasz Figa <tfiga@xxxxxxxxxxxx> > Signed-off-by: Yong Zhi <yong.zhi@xxxxxxxxx> > --- ... > +static void call_if_ipu3_is_powered(struct ipu3_mmu *mmu, > + void (*func)(struct ipu3_mmu *mmu)) > +{ > + pm_runtime_get_noresume(mmu->dev); > + if (pm_runtime_active(mmu->dev)) > + func(mmu); > + pm_runtime_put(mmu->dev); How about: if (!pm_runtime_get_if_in_use(mmu->dev)) return; func(mmu); pm_runtime_put(mmu->dev); > +} -- Sakari Ailus sakari.ailus@xxxxxxxxxxxxxxx