• Home
  • Raw
  • Download

Lines Matching refs:pdata

77 	struct rtc_plat_data *pdata = platform_get_drvdata(pdev);  in ds1553_rtc_set_time()  local
78 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_set_time()
83 writeb(RTC_WRITE, pdata->ioaddr + RTC_CONTROL); in ds1553_rtc_set_time()
102 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_read_time() local
103 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_read_time()
108 if (pdata->last_jiffies == jiffies) in ds1553_rtc_read_time()
110 pdata->last_jiffies = jiffies; in ds1553_rtc_read_time()
137 static void ds1553_rtc_update_alarm(struct rtc_plat_data *pdata) in ds1553_rtc_update_alarm() argument
139 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_update_alarm()
142 spin_lock_irqsave(&pdata->lock, flags); in ds1553_rtc_update_alarm()
143 writeb(pdata->alrm_mday < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
144 0x80 : bin2bcd(pdata->alrm_mday), in ds1553_rtc_update_alarm()
146 writeb(pdata->alrm_hour < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
147 0x80 : bin2bcd(pdata->alrm_hour), in ds1553_rtc_update_alarm()
149 writeb(pdata->alrm_min < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
150 0x80 : bin2bcd(pdata->alrm_min), in ds1553_rtc_update_alarm()
152 writeb(pdata->alrm_sec < 0 || (pdata->irqen & RTC_UF) ? in ds1553_rtc_update_alarm()
153 0x80 : bin2bcd(pdata->alrm_sec), in ds1553_rtc_update_alarm()
155 writeb(pdata->irqen ? RTC_INTS_AE : 0, ioaddr + RTC_INTERRUPTS); in ds1553_rtc_update_alarm()
157 spin_unlock_irqrestore(&pdata->lock, flags); in ds1553_rtc_update_alarm()
163 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_set_alarm() local
165 if (pdata->irq <= 0) in ds1553_rtc_set_alarm()
167 pdata->alrm_mday = alrm->time.tm_mday; in ds1553_rtc_set_alarm()
168 pdata->alrm_hour = alrm->time.tm_hour; in ds1553_rtc_set_alarm()
169 pdata->alrm_min = alrm->time.tm_min; in ds1553_rtc_set_alarm()
170 pdata->alrm_sec = alrm->time.tm_sec; in ds1553_rtc_set_alarm()
172 pdata->irqen |= RTC_AF; in ds1553_rtc_set_alarm()
173 ds1553_rtc_update_alarm(pdata); in ds1553_rtc_set_alarm()
180 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_read_alarm() local
182 if (pdata->irq <= 0) in ds1553_rtc_read_alarm()
184 alrm->time.tm_mday = pdata->alrm_mday < 0 ? 0 : pdata->alrm_mday; in ds1553_rtc_read_alarm()
185 alrm->time.tm_hour = pdata->alrm_hour < 0 ? 0 : pdata->alrm_hour; in ds1553_rtc_read_alarm()
186 alrm->time.tm_min = pdata->alrm_min < 0 ? 0 : pdata->alrm_min; in ds1553_rtc_read_alarm()
187 alrm->time.tm_sec = pdata->alrm_sec < 0 ? 0 : pdata->alrm_sec; in ds1553_rtc_read_alarm()
188 alrm->enabled = (pdata->irqen & RTC_AF) ? 1 : 0; in ds1553_rtc_read_alarm()
195 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_interrupt() local
196 void __iomem *ioaddr = pdata->ioaddr; in ds1553_rtc_interrupt()
199 spin_lock(&pdata->lock); in ds1553_rtc_interrupt()
207 rtc_update_irq(pdata->rtc, 1, events); in ds1553_rtc_interrupt()
209 spin_unlock(&pdata->lock); in ds1553_rtc_interrupt()
216 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_alarm_irq_enable() local
218 if (pdata->irq <= 0) in ds1553_rtc_alarm_irq_enable()
221 pdata->irqen |= RTC_AF; in ds1553_rtc_alarm_irq_enable()
223 pdata->irqen &= ~RTC_AF; in ds1553_rtc_alarm_irq_enable()
224 ds1553_rtc_update_alarm(pdata); in ds1553_rtc_alarm_irq_enable()
242 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_nvram_read() local
243 void __iomem *ioaddr = pdata->ioaddr; in ds1553_nvram_read()
257 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_nvram_write() local
258 void __iomem *ioaddr = pdata->ioaddr; in ds1553_nvram_write()
280 struct rtc_plat_data *pdata; in ds1553_rtc_probe() local
284 pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); in ds1553_rtc_probe()
285 if (!pdata) in ds1553_rtc_probe()
292 pdata->ioaddr = ioaddr; in ds1553_rtc_probe()
293 pdata->irq = platform_get_irq(pdev, 0); in ds1553_rtc_probe()
307 spin_lock_init(&pdata->lock); in ds1553_rtc_probe()
308 pdata->last_jiffies = jiffies; in ds1553_rtc_probe()
309 platform_set_drvdata(pdev, pdata); in ds1553_rtc_probe()
311 pdata->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, in ds1553_rtc_probe()
313 if (IS_ERR(pdata->rtc)) in ds1553_rtc_probe()
314 return PTR_ERR(pdata->rtc); in ds1553_rtc_probe()
316 if (pdata->irq > 0) { in ds1553_rtc_probe()
318 if (devm_request_irq(&pdev->dev, pdata->irq, in ds1553_rtc_probe()
322 pdata->irq = 0; in ds1553_rtc_probe()
336 struct rtc_plat_data *pdata = platform_get_drvdata(pdev); in ds1553_rtc_remove() local
339 if (pdata->irq > 0) in ds1553_rtc_remove()
340 writeb(0, pdata->ioaddr + RTC_INTERRUPTS); in ds1553_rtc_remove()