Lines Matching refs:ds1511
183 struct ds1511_data *ds1511 = dev_get_drvdata(dev); in ds1511_rtc_set_alarm() local
186 spin_lock_irqsave(&ds1511->lock, flags); in ds1511_rtc_set_alarm()
194 spin_unlock_irqrestore(&ds1511->lock, flags); in ds1511_rtc_set_alarm()
213 struct ds1511_data *ds1511 = platform_get_drvdata(pdev); in ds1511_interrupt() local
216 spin_lock(&ds1511->lock); in ds1511_interrupt()
222 rtc_update_irq(ds1511->rtc, 1, events); in ds1511_interrupt()
224 spin_unlock(&ds1511->lock); in ds1511_interrupt()
230 struct ds1511_data *ds1511 = dev_get_drvdata(dev); in ds1511_rtc_alarm_irq_enable() local
233 spin_lock_irqsave(&ds1511->lock, flags); in ds1511_rtc_alarm_irq_enable()
235 spin_unlock_irqrestore(&ds1511->lock, flags); in ds1511_rtc_alarm_irq_enable()
274 struct ds1511_data *ds1511; in ds1511_rtc_probe() local
286 ds1511 = devm_kzalloc(&pdev->dev, sizeof(*ds1511), GFP_KERNEL); in ds1511_rtc_probe()
287 if (!ds1511) in ds1511_rtc_probe()
293 ds1511->ioaddr = ds1511_base; in ds1511_rtc_probe()
294 ds1511->irq = platform_get_irq(pdev, 0); in ds1511_rtc_probe()
317 spin_lock_init(&ds1511->lock); in ds1511_rtc_probe()
318 platform_set_drvdata(pdev, ds1511); in ds1511_rtc_probe()
320 ds1511->rtc = devm_rtc_allocate_device(&pdev->dev); in ds1511_rtc_probe()
321 if (IS_ERR(ds1511->rtc)) in ds1511_rtc_probe()
322 return PTR_ERR(ds1511->rtc); in ds1511_rtc_probe()
324 ds1511->rtc->ops = &ds1511_rtc_ops; in ds1511_rtc_probe()
325 ds1511->rtc->range_max = RTC_TIMESTAMP_END_2099; in ds1511_rtc_probe()
326 ds1511->rtc->alarm_offset_max = 28 * 24 * 60 * 60 - 1; in ds1511_rtc_probe()
332 if (ds1511->irq > 0) { in ds1511_rtc_probe()
334 if (devm_request_irq(&pdev->dev, ds1511->irq, ds1511_interrupt, in ds1511_rtc_probe()
338 ds1511->irq = 0; in ds1511_rtc_probe()
342 if (ds1511->irq == 0) in ds1511_rtc_probe()
343 clear_bit(RTC_FEATURE_ALARM, ds1511->rtc->features); in ds1511_rtc_probe()
345 ret = devm_rtc_register_device(ds1511->rtc); in ds1511_rtc_probe()
349 devm_rtc_nvmem_register(ds1511->rtc, &ds1511_nvmem_cfg); in ds1511_rtc_probe()