Lines Matching refs:priv

78 static inline unsigned int msm6242_read(struct msm6242_priv *priv,  in msm6242_read()  argument
81 return __raw_readl(&priv->regs[reg]) & 0xf; in msm6242_read()
84 static inline void msm6242_write(struct msm6242_priv *priv, unsigned int val, in msm6242_write() argument
87 __raw_writel(val, &priv->regs[reg]); in msm6242_write()
90 static inline void msm6242_set(struct msm6242_priv *priv, unsigned int val, in msm6242_set() argument
93 msm6242_write(priv, msm6242_read(priv, reg) | val, reg); in msm6242_set()
96 static inline void msm6242_clear(struct msm6242_priv *priv, unsigned int val, in msm6242_clear() argument
99 msm6242_write(priv, msm6242_read(priv, reg) & ~val, reg); in msm6242_clear()
102 static void msm6242_lock(struct msm6242_priv *priv) in msm6242_lock() argument
106 msm6242_set(priv, MSM6242_CD_HOLD, MSM6242_CD); in msm6242_lock()
108 while ((msm6242_read(priv, MSM6242_CD) & MSM6242_CD_BUSY) && cnt) { in msm6242_lock()
109 msm6242_clear(priv, MSM6242_CD_HOLD, MSM6242_CD); in msm6242_lock()
111 msm6242_set(priv, MSM6242_CD_HOLD, MSM6242_CD); in msm6242_lock()
117 msm6242_read(priv, MSM6242_CD)); in msm6242_lock()
120 static void msm6242_unlock(struct msm6242_priv *priv) in msm6242_unlock() argument
122 msm6242_clear(priv, MSM6242_CD_HOLD, MSM6242_CD); in msm6242_unlock()
127 struct msm6242_priv *priv = dev_get_drvdata(dev); in msm6242_read_time() local
129 msm6242_lock(priv); in msm6242_read_time()
131 tm->tm_sec = msm6242_read(priv, MSM6242_SECOND10) * 10 + in msm6242_read_time()
132 msm6242_read(priv, MSM6242_SECOND1); in msm6242_read_time()
133 tm->tm_min = msm6242_read(priv, MSM6242_MINUTE10) * 10 + in msm6242_read_time()
134 msm6242_read(priv, MSM6242_MINUTE1); in msm6242_read_time()
135 tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10 & 3)) * 10 + in msm6242_read_time()
136 msm6242_read(priv, MSM6242_HOUR1); in msm6242_read_time()
137 tm->tm_mday = msm6242_read(priv, MSM6242_DAY10) * 10 + in msm6242_read_time()
138 msm6242_read(priv, MSM6242_DAY1); in msm6242_read_time()
139 tm->tm_wday = msm6242_read(priv, MSM6242_WEEK); in msm6242_read_time()
140 tm->tm_mon = msm6242_read(priv, MSM6242_MONTH10) * 10 + in msm6242_read_time()
141 msm6242_read(priv, MSM6242_MONTH1) - 1; in msm6242_read_time()
142 tm->tm_year = msm6242_read(priv, MSM6242_YEAR10) * 10 + in msm6242_read_time()
143 msm6242_read(priv, MSM6242_YEAR1); in msm6242_read_time()
147 if (!(msm6242_read(priv, MSM6242_CF) & MSM6242_CF_24H)) { in msm6242_read_time()
148 unsigned int pm = msm6242_read(priv, MSM6242_HOUR10) & in msm6242_read_time()
156 msm6242_unlock(priv); in msm6242_read_time()
163 struct msm6242_priv *priv = dev_get_drvdata(dev); in msm6242_set_time() local
165 msm6242_lock(priv); in msm6242_set_time()
167 msm6242_write(priv, tm->tm_sec / 10, MSM6242_SECOND10); in msm6242_set_time()
168 msm6242_write(priv, tm->tm_sec % 10, MSM6242_SECOND1); in msm6242_set_time()
169 msm6242_write(priv, tm->tm_min / 10, MSM6242_MINUTE10); in msm6242_set_time()
170 msm6242_write(priv, tm->tm_min % 10, MSM6242_MINUTE1); in msm6242_set_time()
171 if (msm6242_read(priv, MSM6242_CF) & MSM6242_CF_24H) in msm6242_set_time()
172 msm6242_write(priv, tm->tm_hour / 10, MSM6242_HOUR10); in msm6242_set_time()
174 msm6242_write(priv, MSM6242_HOUR10_PM + (tm->tm_hour - 12) / 10, in msm6242_set_time()
177 msm6242_write(priv, tm->tm_hour / 10, MSM6242_HOUR10); in msm6242_set_time()
178 msm6242_write(priv, tm->tm_hour % 10, MSM6242_HOUR1); in msm6242_set_time()
179 msm6242_write(priv, tm->tm_mday / 10, MSM6242_DAY10); in msm6242_set_time()
180 msm6242_write(priv, tm->tm_mday % 10, MSM6242_DAY1); in msm6242_set_time()
182 msm6242_write(priv, tm->tm_wday, MSM6242_WEEK); in msm6242_set_time()
183 msm6242_write(priv, (tm->tm_mon + 1) / 10, MSM6242_MONTH10); in msm6242_set_time()
184 msm6242_write(priv, (tm->tm_mon + 1) % 10, MSM6242_MONTH1); in msm6242_set_time()
187 msm6242_write(priv, tm->tm_year / 10, MSM6242_YEAR10); in msm6242_set_time()
188 msm6242_write(priv, tm->tm_year % 10, MSM6242_YEAR1); in msm6242_set_time()
190 msm6242_unlock(priv); in msm6242_set_time()
202 struct msm6242_priv *priv; in msm6242_rtc_probe() local
209 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); in msm6242_rtc_probe()
210 if (!priv) in msm6242_rtc_probe()
213 priv->regs = devm_ioremap(&pdev->dev, res->start, resource_size(res)); in msm6242_rtc_probe()
214 if (!priv->regs) in msm6242_rtc_probe()
216 platform_set_drvdata(pdev, priv); in msm6242_rtc_probe()
223 priv->rtc = rtc; in msm6242_rtc_probe()