Lines Matching refs:apbc

38 	struct clk_apbc *apbc = to_clk_apbc(hw);  in clk_apbc_prepare()  local
46 if (apbc->lock) in clk_apbc_prepare()
47 spin_lock_irqsave(apbc->lock, flags); in clk_apbc_prepare()
49 data = readl_relaxed(apbc->base); in clk_apbc_prepare()
50 if (apbc->flags & APBC_POWER_CTRL) in clk_apbc_prepare()
53 writel_relaxed(data, apbc->base); in clk_apbc_prepare()
55 if (apbc->lock) in clk_apbc_prepare()
56 spin_unlock_irqrestore(apbc->lock, flags); in clk_apbc_prepare()
58 udelay(apbc->delay); in clk_apbc_prepare()
60 if (apbc->lock) in clk_apbc_prepare()
61 spin_lock_irqsave(apbc->lock, flags); in clk_apbc_prepare()
63 data = readl_relaxed(apbc->base); in clk_apbc_prepare()
65 writel_relaxed(data, apbc->base); in clk_apbc_prepare()
67 if (apbc->lock) in clk_apbc_prepare()
68 spin_unlock_irqrestore(apbc->lock, flags); in clk_apbc_prepare()
70 udelay(apbc->delay); in clk_apbc_prepare()
72 if (!(apbc->flags & APBC_NO_BUS_CTRL)) { in clk_apbc_prepare()
73 if (apbc->lock) in clk_apbc_prepare()
74 spin_lock_irqsave(apbc->lock, flags); in clk_apbc_prepare()
76 data = readl_relaxed(apbc->base); in clk_apbc_prepare()
78 writel_relaxed(data, apbc->base); in clk_apbc_prepare()
80 if (apbc->lock) in clk_apbc_prepare()
81 spin_unlock_irqrestore(apbc->lock, flags); in clk_apbc_prepare()
89 struct clk_apbc *apbc = to_clk_apbc(hw); in clk_apbc_unprepare() local
93 if (apbc->lock) in clk_apbc_unprepare()
94 spin_lock_irqsave(apbc->lock, flags); in clk_apbc_unprepare()
96 data = readl_relaxed(apbc->base); in clk_apbc_unprepare()
97 if (apbc->flags & APBC_POWER_CTRL) in clk_apbc_unprepare()
100 writel_relaxed(data, apbc->base); in clk_apbc_unprepare()
102 if (apbc->lock) in clk_apbc_unprepare()
103 spin_unlock_irqrestore(apbc->lock, flags); in clk_apbc_unprepare()
107 if (apbc->lock) in clk_apbc_unprepare()
108 spin_lock_irqsave(apbc->lock, flags); in clk_apbc_unprepare()
110 data = readl_relaxed(apbc->base); in clk_apbc_unprepare()
112 writel_relaxed(data, apbc->base); in clk_apbc_unprepare()
114 if (apbc->lock) in clk_apbc_unprepare()
115 spin_unlock_irqrestore(apbc->lock, flags); in clk_apbc_unprepare()
127 struct clk_apbc *apbc; in mmp_clk_register_apbc() local
131 apbc = kzalloc(sizeof(*apbc), GFP_KERNEL); in mmp_clk_register_apbc()
132 if (!apbc) in mmp_clk_register_apbc()
141 apbc->base = base; in mmp_clk_register_apbc()
142 apbc->delay = delay; in mmp_clk_register_apbc()
143 apbc->flags = apbc_flags; in mmp_clk_register_apbc()
144 apbc->lock = lock; in mmp_clk_register_apbc()
145 apbc->hw.init = &init; in mmp_clk_register_apbc()
147 clk = clk_register(NULL, &apbc->hw); in mmp_clk_register_apbc()
149 kfree(apbc); in mmp_clk_register_apbc()