Lines Matching refs:pdata
73 struct rtc_plat_data *pdata = dev_get_drvdata(dev); in ds1553_rtc_set_time() local
74 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_set_time()
79 writeb(RTC_WRITE, pdata->ioaddr + RTC_CONTROL); in ds1553_rtc_set_time()
97 struct rtc_plat_data *pdata = dev_get_drvdata(dev); in ds1553_rtc_read_time() local
98 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_read_time()
103 if (pdata->last_jiffies == jiffies) in ds1553_rtc_read_time()
105 pdata->last_jiffies = jiffies; in ds1553_rtc_read_time()
128 static void ds1553_rtc_update_alarm(struct rtc_plat_data *pdata) in ds1553_rtc_update_alarm() argument
130 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_update_alarm()
133 spin_lock_irqsave(&pdata->lock, flags); in ds1553_rtc_update_alarm()
134 writeb(pdata->alrm_mday < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
135 0x80 : bin2bcd(pdata->alrm_mday), in ds1553_rtc_update_alarm()
137 writeb(pdata->alrm_hour < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
138 0x80 : bin2bcd(pdata->alrm_hour), in ds1553_rtc_update_alarm()
140 writeb(pdata->alrm_min < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
141 0x80 : bin2bcd(pdata->alrm_min), in ds1553_rtc_update_alarm()
143 writeb(pdata->alrm_sec < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
144 0x80 : bin2bcd(pdata->alrm_sec), in ds1553_rtc_update_alarm()
146 writeb(pdata->irqen ? RTC_INTS_AE : 0, ioaddr + RTC_INTERRUPTS); in ds1553_rtc_update_alarm()
148 spin_unlock_irqrestore(&pdata->lock, flags); in ds1553_rtc_update_alarm()
153 struct rtc_plat_data *pdata = dev_get_drvdata(dev); in ds1553_rtc_set_alarm() local
155 if (pdata->irq <= 0) in ds1553_rtc_set_alarm()
157 pdata->alrm_mday = alrm->time.tm_mday; in ds1553_rtc_set_alarm()
158 pdata->alrm_hour = alrm->time.tm_hour; in ds1553_rtc_set_alarm()
159 pdata->alrm_min = alrm->time.tm_min; in ds1553_rtc_set_alarm()
160 pdata->alrm_sec = alrm->time.tm_sec; in ds1553_rtc_set_alarm()
162 pdata->irqen |= RTC_AF; in ds1553_rtc_set_alarm()
163 ds1553_rtc_update_alarm(pdata); in ds1553_rtc_set_alarm()
169 struct rtc_plat_data *pdata = dev_get_drvdata(dev); in ds1553_rtc_read_alarm() local
171 if (pdata->irq <= 0) in ds1553_rtc_read_alarm()
173 alrm->time.tm_mday = pdata->alrm_mday < 0 ? 0 : pdata->alrm_mday; in ds1553_rtc_read_alarm()
174 alrm->time.tm_hour = pdata->alrm_hour < 0 ? 0 : pdata->alrm_hour; in ds1553_rtc_read_alarm()
175 alrm->time.tm_min = pdata->alrm_min < 0 ? 0 : pdata->alrm_min; in ds1553_rtc_read_alarm()
176 alrm->time.tm_sec = pdata->alrm_sec < 0 ? 0 : pdata->alrm_sec; in ds1553_rtc_read_alarm()
177 alrm->enabled = (pdata->irqen & RTC_AF) ? 1 : 0; in ds1553_rtc_read_alarm()
184 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_interrupt() local
185 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_interrupt()
188 spin_lock(&pdata->lock); in ds1553_rtc_interrupt()
196 rtc_update_irq(pdata->rtc, 1, events); in ds1553_rtc_interrupt()
198 spin_unlock(&pdata->lock); in ds1553_rtc_interrupt()
204 struct rtc_plat_data *pdata = dev_get_drvdata(dev); in ds1553_rtc_alarm_irq_enable() local
206 if (pdata->irq <= 0) in ds1553_rtc_alarm_irq_enable()
209 pdata->irqen |= RTC_AF; in ds1553_rtc_alarm_irq_enable()
211 pdata->irqen &= ~RTC_AF; in ds1553_rtc_alarm_irq_enable()
212 ds1553_rtc_update_alarm(pdata); in ds1553_rtc_alarm_irq_enable()
228 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_nvram_read() local
229 void __iomem *ioaddr = pdata->ioaddr; in ds1553_nvram_read()
241 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_nvram_write() local
242 void __iomem *ioaddr = pdata->ioaddr; in ds1553_nvram_write()
253 struct rtc_plat_data *pdata; in ds1553_rtc_probe() local
266 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); in ds1553_rtc_probe()
267 if (!pdata) in ds1553_rtc_probe()
273 pdata->ioaddr = ioaddr; in ds1553_rtc_probe()
274 pdata->irq = platform_get_irq(pdev, 0); in ds1553_rtc_probe()
288 spin_lock_init(&pdata->lock); in ds1553_rtc_probe()
289 pdata->last_jiffies = jiffies; in ds1553_rtc_probe()
290 platform_set_drvdata(pdev, pdata); in ds1553_rtc_probe()
292 pdata->rtc = devm_rtc_allocate_device(&pdev->dev); in ds1553_rtc_probe()
293 if (IS_ERR(pdata->rtc)) in ds1553_rtc_probe()
294 return PTR_ERR(pdata->rtc); in ds1553_rtc_probe()
296 pdata->rtc->ops = &ds1553_rtc_ops; in ds1553_rtc_probe()
298 ret = devm_rtc_register_device(pdata->rtc); in ds1553_rtc_probe()
302 if (pdata->irq > 0) { in ds1553_rtc_probe()
304 if (devm_request_irq(&pdev->dev, pdata->irq, in ds1553_rtc_probe()
308 pdata->irq = 0; in ds1553_rtc_probe()
312 devm_rtc_nvmem_register(pdata->rtc, &nvmem_cfg); in ds1553_rtc_probe()