pcap_rtc
ezx_pcap_write(pcap_rtc->pcap, PCAP_REG_RTC_DAY, days);
struct pcap_rtc *pcap_rtc = dev_get_drvdata(dev);
enable_irq(pcap_to_irq(pcap_rtc->pcap, pirq));
disable_irq(pcap_to_irq(pcap_rtc->pcap, pirq));
struct pcap_rtc *pcap_rtc;
pcap_rtc = devm_kzalloc(&pdev->dev, sizeof(struct pcap_rtc),
if (!pcap_rtc)
pcap_rtc->pcap = dev_get_drvdata(pdev->dev.parent);
platform_set_drvdata(pdev, pcap_rtc);
pcap_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
if (IS_ERR(pcap_rtc->rtc))
return PTR_ERR(pcap_rtc->rtc);
pcap_rtc->rtc->ops = &pcap_rtc_ops;
pcap_rtc->rtc->range_max = (1 << 14) * 86400ULL - 1;
timer_irq = pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_1HZ);
alarm_irq = pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_TODA);
"RTC Timer", pcap_rtc);
"RTC Alarm", pcap_rtc);
return devm_rtc_register_device(pcap_rtc->rtc);
struct pcap_rtc *pcap_rtc = _pcap_rtc;
if (irq == pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_1HZ))
else if (irq == pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_TODA))
rtc_update_irq(pcap_rtc->rtc, 1, rtc_events);
struct pcap_rtc *pcap_rtc = dev_get_drvdata(dev);
ezx_pcap_read(pcap_rtc->pcap, PCAP_REG_RTC_TODA, &tod);
ezx_pcap_read(pcap_rtc->pcap, PCAP_REG_RTC_DAYA, &days);
struct pcap_rtc *pcap_rtc = dev_get_drvdata(dev);
ezx_pcap_write(pcap_rtc->pcap, PCAP_REG_RTC_TODA, tod);
ezx_pcap_write(pcap_rtc->pcap, PCAP_REG_RTC_DAYA, days);
struct pcap_rtc *pcap_rtc = dev_get_drvdata(dev);
ezx_pcap_read(pcap_rtc->pcap, PCAP_REG_RTC_TOD, &tod);
ezx_pcap_read(pcap_rtc->pcap, PCAP_REG_RTC_DAY, &days);
struct pcap_rtc *pcap_rtc = dev_get_drvdata(dev);
ezx_pcap_write(pcap_rtc->pcap, PCAP_REG_RTC_TOD, tod);