Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
[firefly-linux-kernel-4.4.55.git] / drivers / clk / clk-fractional-divider.c
index 140eb5844dc4b86d1fb6b7034b5c375117dee0f8..e85f856b859219b1987dda9a403e07f4ded45769 100644 (file)
@@ -27,11 +27,15 @@ static unsigned long clk_fd_recalc_rate(struct clk_hw *hw,
 
        if (fd->lock)
                spin_lock_irqsave(fd->lock, flags);
+       else
+               __acquire(fd->lock);
 
        val = clk_readl(fd->reg);
 
        if (fd->lock)
                spin_unlock_irqrestore(fd->lock, flags);
+       else
+               __release(fd->lock);
 
        m = (val & fd->mmask) >> fd->mshift;
        n = (val & fd->nmask) >> fd->nshift;
@@ -80,6 +84,8 @@ static int clk_fd_set_rate(struct clk_hw *hw, unsigned long rate,
 
        if (fd->lock)
                spin_lock_irqsave(fd->lock, flags);
+       else
+               __acquire(fd->lock);
 
        val = clk_readl(fd->reg);
        val &= ~(fd->mmask | fd->nmask);
@@ -88,6 +94,8 @@ static int clk_fd_set_rate(struct clk_hw *hw, unsigned long rate,
 
        if (fd->lock)
                spin_unlock_irqrestore(fd->lock, flags);
+       else
+               __release(fd->lock);
 
        return 0;
 }