Lines Matching refs:priv

31 static inline u8 ds1286_rtc_read(struct ds1286_priv *priv, int reg)  in ds1286_rtc_read()  argument
33 return __raw_readl(&priv->rtcregs[reg]) & 0xff; in ds1286_rtc_read()
36 static inline void ds1286_rtc_write(struct ds1286_priv *priv, u8 data, int reg) in ds1286_rtc_write() argument
38 __raw_writel(data, &priv->rtcregs[reg]); in ds1286_rtc_write()
44 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_alarm_irq_enable() local
49 spin_lock_irqsave(&priv->lock, flags); in ds1286_alarm_irq_enable()
50 val = ds1286_rtc_read(priv, RTC_CMD); in ds1286_alarm_irq_enable()
55 ds1286_rtc_write(priv, val, RTC_CMD); in ds1286_alarm_irq_enable()
56 spin_unlock_irqrestore(&priv->lock, flags); in ds1286_alarm_irq_enable()
65 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_ioctl() local
72 spin_lock_irqsave(&priv->lock, flags); in ds1286_ioctl()
73 val = ds1286_rtc_read(priv, RTC_CMD); in ds1286_ioctl()
75 ds1286_rtc_write(priv, val, RTC_CMD); in ds1286_ioctl()
76 spin_unlock_irqrestore(&priv->lock, flags); in ds1286_ioctl()
80 spin_lock_irqsave(&priv->lock, flags); in ds1286_ioctl()
81 val = ds1286_rtc_read(priv, RTC_CMD); in ds1286_ioctl()
83 ds1286_rtc_write(priv, val, RTC_CMD); in ds1286_ioctl()
84 spin_unlock_irqrestore(&priv->lock, flags); in ds1286_ioctl()
100 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_proc() local
104 month = ds1286_rtc_read(priv, RTC_MONTH); in ds1286_proc()
111 amode = ((ds1286_rtc_read(priv, RTC_MINUTES_ALARM) & 0x80) >> 5) | in ds1286_proc()
112 ((ds1286_rtc_read(priv, RTC_HOURS_ALARM) & 0x80) >> 6) | in ds1286_proc()
113 ((ds1286_rtc_read(priv, RTC_DAY_ALARM) & 0x80) >> 7); in ds1286_proc()
133 cmd = ds1286_rtc_read(priv, RTC_CMD); in ds1286_proc()
158 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_read_time() local
173 if (ds1286_rtc_read(priv, RTC_CMD) & RTC_TE) in ds1286_read_time()
183 spin_lock_irqsave(&priv->lock, flags); in ds1286_read_time()
184 save_control = ds1286_rtc_read(priv, RTC_CMD); in ds1286_read_time()
185 ds1286_rtc_write(priv, (save_control|RTC_TE), RTC_CMD); in ds1286_read_time()
187 tm->tm_sec = ds1286_rtc_read(priv, RTC_SECONDS); in ds1286_read_time()
188 tm->tm_min = ds1286_rtc_read(priv, RTC_MINUTES); in ds1286_read_time()
189 tm->tm_hour = ds1286_rtc_read(priv, RTC_HOURS) & 0x3f; in ds1286_read_time()
190 tm->tm_mday = ds1286_rtc_read(priv, RTC_DATE); in ds1286_read_time()
191 tm->tm_mon = ds1286_rtc_read(priv, RTC_MONTH) & 0x1f; in ds1286_read_time()
192 tm->tm_year = ds1286_rtc_read(priv, RTC_YEAR); in ds1286_read_time()
194 ds1286_rtc_write(priv, save_control, RTC_CMD); in ds1286_read_time()
195 spin_unlock_irqrestore(&priv->lock, flags); in ds1286_read_time()
221 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_set_time() local
251 spin_lock_irqsave(&priv->lock, flags); in ds1286_set_time()
252 save_control = ds1286_rtc_read(priv, RTC_CMD); in ds1286_set_time()
253 ds1286_rtc_write(priv, (save_control|RTC_TE), RTC_CMD); in ds1286_set_time()
255 ds1286_rtc_write(priv, yrs, RTC_YEAR); in ds1286_set_time()
256 ds1286_rtc_write(priv, mon, RTC_MONTH); in ds1286_set_time()
257 ds1286_rtc_write(priv, day, RTC_DATE); in ds1286_set_time()
258 ds1286_rtc_write(priv, hrs, RTC_HOURS); in ds1286_set_time()
259 ds1286_rtc_write(priv, min, RTC_MINUTES); in ds1286_set_time()
260 ds1286_rtc_write(priv, sec, RTC_SECONDS); in ds1286_set_time()
261 ds1286_rtc_write(priv, 0, RTC_HUNDREDTH_SECOND); in ds1286_set_time()
263 ds1286_rtc_write(priv, save_control, RTC_CMD); in ds1286_set_time()
264 spin_unlock_irqrestore(&priv->lock, flags); in ds1286_set_time()
270 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_read_alarm() local
277 spin_lock_irqsave(&priv->lock, flags); in ds1286_read_alarm()
278 alm->time.tm_min = ds1286_rtc_read(priv, RTC_MINUTES_ALARM) & 0x7f; in ds1286_read_alarm()
279 alm->time.tm_hour = ds1286_rtc_read(priv, RTC_HOURS_ALARM) & 0x1f; in ds1286_read_alarm()
280 alm->time.tm_wday = ds1286_rtc_read(priv, RTC_DAY_ALARM) & 0x07; in ds1286_read_alarm()
281 ds1286_rtc_read(priv, RTC_CMD); in ds1286_read_alarm()
282 spin_unlock_irqrestore(&priv->lock, flags); in ds1286_read_alarm()
292 struct ds1286_priv *priv = dev_get_drvdata(dev); in ds1286_set_alarm() local
311 spin_lock(&priv->lock); in ds1286_set_alarm()
312 ds1286_rtc_write(priv, hrs, RTC_HOURS_ALARM); in ds1286_set_alarm()
313 ds1286_rtc_write(priv, min, RTC_MINUTES_ALARM); in ds1286_set_alarm()
314 spin_unlock(&priv->lock); in ds1286_set_alarm()
333 struct ds1286_priv *priv; in ds1286_probe() local
335 priv = devm_kzalloc(&pdev->dev, sizeof(struct ds1286_priv), GFP_KERNEL); in ds1286_probe()
336 if (!priv) in ds1286_probe()
340 priv->rtcregs = devm_ioremap_resource(&pdev->dev, res); in ds1286_probe()
341 if (IS_ERR(priv->rtcregs)) in ds1286_probe()
342 return PTR_ERR(priv->rtcregs); in ds1286_probe()
344 spin_lock_init(&priv->lock); in ds1286_probe()
345 platform_set_drvdata(pdev, priv); in ds1286_probe()
350 priv->rtc = rtc; in ds1286_probe()