Partha and Benoit, > > +/* Attempt to acquire a spinlock once */ > > +int hwspinlock_trylock(struct hwspinlock *handle) > > +{ > > + int retval = 0; > > + > > + if (WARN_ON(handle == NULL)) > > + return -EINVAL; > > + > > + if (WARN_ON(in_irq())) > > + return -EPERM; > > + > > + if (pm_runtime_get(&handle->pdev->dev) < 0) > > + return -ENODEV; > > + > > + /* Attempt to acquire the lock by reading from it */ > > + retval = readl(handle->lock_reg); > > + > > + if (retval == HWSPINLOCK_BUSY) > > + pm_runtime_put(&handle->pdev->dev); > Any reason for using pm_runtime_put instead of pm_runtime_put_sync? > > Using pm_runtime_gett_sync & pm_runtime_put_sync have been recommended by > Kevin Hilman. Actually is there a need to call pm_runtime_put_sync for hwspinlock ? Spinlocks are used by the co-processors and we have to ensure that the device doesn't enter some low power mode without the knowledge of Co-processor. I don't think run time PM is needed for hwspinlock. Just doing pm_runtime_get_sync at probe time for all the spinlock instances should be good. > Thank you, Best regards, Hari -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html