Lines Matching refs:pdata

298 ds1511_rtc_update_alarm(struct rtc_plat_data *pdata)  in ds1511_rtc_update_alarm()  argument
302 spin_lock_irqsave(&pdata->lock, flags); in ds1511_rtc_update_alarm()
303 rtc_write(pdata->alrm_mday < 0 || (pdata->irqen & RTC_UF) ? in ds1511_rtc_update_alarm()
304 0x80 : bin2bcd(pdata->alrm_mday) & 0x3f, in ds1511_rtc_update_alarm()
306 rtc_write(pdata->alrm_hour < 0 || (pdata->irqen & RTC_UF) ? in ds1511_rtc_update_alarm()
307 0x80 : bin2bcd(pdata->alrm_hour) & 0x3f, in ds1511_rtc_update_alarm()
309 rtc_write(pdata->alrm_min < 0 || (pdata->irqen & RTC_UF) ? in ds1511_rtc_update_alarm()
310 0x80 : bin2bcd(pdata->alrm_min) & 0x7f, in ds1511_rtc_update_alarm()
312 rtc_write(pdata->alrm_sec < 0 || (pdata->irqen & RTC_UF) ? in ds1511_rtc_update_alarm()
313 0x80 : bin2bcd(pdata->alrm_sec) & 0x7f, in ds1511_rtc_update_alarm()
315 rtc_write(rtc_read(RTC_CMD) | (pdata->irqen ? RTC_TIE : 0), RTC_CMD); in ds1511_rtc_update_alarm()
317 spin_unlock_irqrestore(&pdata->lock, flags); in ds1511_rtc_update_alarm()
324 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1511_rtc_set_alarm() local
326 if (pdata->irq <= 0) in ds1511_rtc_set_alarm()
329 pdata->alrm_mday = alrm->time.tm_mday; in ds1511_rtc_set_alarm()
330 pdata->alrm_hour = alrm->time.tm_hour; in ds1511_rtc_set_alarm()
331 pdata->alrm_min = alrm->time.tm_min; in ds1511_rtc_set_alarm()
332 pdata->alrm_sec = alrm->time.tm_sec; in ds1511_rtc_set_alarm()
334 pdata->irqen |= RTC_AF; in ds1511_rtc_set_alarm()
336 ds1511_rtc_update_alarm(pdata); in ds1511_rtc_set_alarm()
344 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1511_rtc_read_alarm() local
346 if (pdata->irq <= 0) in ds1511_rtc_read_alarm()
349 alrm->time.tm_mday = pdata->alrm_mday < 0 ? 0 : pdata->alrm_mday; in ds1511_rtc_read_alarm()
350 alrm->time.tm_hour = pdata->alrm_hour < 0 ? 0 : pdata->alrm_hour; in ds1511_rtc_read_alarm()
351 alrm->time.tm_min = pdata->alrm_min < 0 ? 0 : pdata->alrm_min; in ds1511_rtc_read_alarm()
352 alrm->time.tm_sec = pdata->alrm_sec < 0 ? 0 : pdata->alrm_sec; in ds1511_rtc_read_alarm()
353 alrm->enabled = (pdata->irqen & RTC_AF) ? 1 : 0; in ds1511_rtc_read_alarm()
361 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1511_interrupt() local
364 spin_lock(&pdata->lock); in ds1511_interrupt()
374 rtc_update_irq(pdata->rtc, 1, events); in ds1511_interrupt()
376 spin_unlock(&pdata->lock); in ds1511_interrupt()
383 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1511_rtc_alarm_irq_enable() local
385 if (pdata->irq <= 0) in ds1511_rtc_alarm_irq_enable()
388 pdata->irqen |= RTC_AF; in ds1511_rtc_alarm_irq_enable()
390 pdata->irqen &= ~RTC_AF; in ds1511_rtc_alarm_irq_enable()
391 ds1511_rtc_update_alarm(pdata); in ds1511_rtc_alarm_irq_enable()
476 struct rtc_plat_data *pdata; in ds1511_rtc_probe() local
479 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); in ds1511_rtc_probe()
480 if (!pdata) in ds1511_rtc_probe()
487 pdata->ioaddr = ds1511_base; in ds1511_rtc_probe()
488 pdata->irq = platform_get_irq(pdev, 0); in ds1511_rtc_probe()
511 spin_lock_init(&pdata->lock); in ds1511_rtc_probe()
512 platform_set_drvdata(pdev, pdata); in ds1511_rtc_probe()
514 pdata->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, in ds1511_rtc_probe()
516 if (IS_ERR(pdata->rtc)) in ds1511_rtc_probe()
517 return PTR_ERR(pdata->rtc); in ds1511_rtc_probe()
523 if (pdata->irq > 0) { in ds1511_rtc_probe()
525 if (devm_request_irq(&pdev->dev, pdata->irq, ds1511_interrupt, in ds1511_rtc_probe()
529 pdata->irq = 0; in ds1511_rtc_probe()
543 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1511_rtc_remove() local
546 if (pdata->irq > 0) { in ds1511_rtc_remove()