static enum hrtimer_restart msmfb_fake_vsync(struct hrtimer *timer) { struct msmfb_info *msmfb = container_of(timer, struct msmfb_info, fake_vsync); msmfb_start_dma(msmfb); return HRTIMER_NORESTART; }
/* Called from esync interrupt handler, must not sleep */ static void msmfb_handle_vsync_interrupt(struct msmfb_callback *callback) { struct msmfb_info *msmfb = container_of(callback, struct msmfb_info, vsync_callback); wake_unlock(&msmfb->idle_lock); msmfb_start_dma(msmfb); }