arch/alpha/kernel/rtc.c
207
struct rtc_device *rtc;
arch/alpha/kernel/rtc.c
212
rtc = devm_rtc_allocate_device(&pdev->dev);
arch/alpha/kernel/rtc.c
213
if (IS_ERR(rtc))
arch/alpha/kernel/rtc.c
214
return PTR_ERR(rtc);
arch/alpha/kernel/rtc.c
216
platform_set_drvdata(pdev, rtc);
arch/alpha/kernel/rtc.c
217
rtc->ops = &alpha_rtc_ops;
arch/alpha/kernel/rtc.c
221
rtc->ops = &remote_rtc_ops;
arch/alpha/kernel/rtc.c
224
return devm_rtc_register_device(rtc);
arch/arc/kernel/setup.c
328
IS_AVAIL2(timer.rtc, "RTC [UP 64-bit] ", CONFIG_ARC_TIMERS_64BIT),
arch/m68k/apollo/config.c
185
t->tm_sec=rtc->second;
arch/m68k/apollo/config.c
186
t->tm_min=rtc->minute;
arch/m68k/apollo/config.c
187
t->tm_hour=rtc->hours;
arch/m68k/apollo/config.c
188
t->tm_mday=rtc->day_of_month;
arch/m68k/apollo/config.c
189
t->tm_wday=rtc->day_of_week;
arch/m68k/apollo/config.c
190
t->tm_mon = rtc->month - 1;
arch/m68k/apollo/config.c
191
t->tm_year=rtc->year;
arch/m68k/apollo/config.c
195
rtc->second=t->tm_sec;
arch/m68k/apollo/config.c
196
rtc->minute=t->tm_min;
arch/m68k/apollo/config.c
197
rtc->hours=t->tm_hour;
arch/m68k/apollo/config.c
198
rtc->day_of_month=t->tm_mday;
arch/m68k/apollo/config.c
200
rtc->day_of_week=t->tm_wday;
arch/m68k/apollo/config.c
201
rtc->month = t->tm_mon + 1;
arch/m68k/apollo/config.c
202
rtc->year = t->tm_year % 100;
arch/m68k/bvme6000/config.c
165
volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
arch/m68k/bvme6000/config.c
169
msr = rtc->msr & 0xc0;
arch/m68k/bvme6000/config.c
170
rtc->msr = msr | 0x20; /* Ack the interrupt */
arch/m68k/bvme6000/config.c
190
volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
arch/m68k/bvme6000/config.c
191
unsigned char msr = rtc->msr & 0xc0;
arch/m68k/bvme6000/config.c
193
rtc->msr = 0; /* Ensure timer registers accessible */
arch/m68k/bvme6000/config.c
199
rtc->t1cr_omr = 0x04; /* Mode 2, ext clk */
arch/m68k/bvme6000/config.c
200
rtc->t1msb = RTC_TIMER_COUNT >> 8;
arch/m68k/bvme6000/config.c
201
rtc->t1lsb = RTC_TIMER_COUNT & 0xff;
arch/m68k/bvme6000/config.c
202
rtc->irr_icr1 &= 0xef; /* Route timer 1 to INTR pin */
arch/m68k/bvme6000/config.c
203
rtc->msr = 0x40; /* Access int.cntrl, etc */
arch/m68k/bvme6000/config.c
204
rtc->pfr_icr0 = 0x80; /* Just timer 1 ints enabled */
arch/m68k/bvme6000/config.c
205
rtc->irr_icr1 = 0;
arch/m68k/bvme6000/config.c
206
rtc->t1cr_omr = 0x0a; /* INTR+T1 active lo, push-pull */
arch/m68k/bvme6000/config.c
207
rtc->t0cr_rtmr &= 0xdf; /* Stop timers in standby */
arch/m68k/bvme6000/config.c
208
rtc->msr = 0; /* Access timer 1 control */
arch/m68k/bvme6000/config.c
209
rtc->t1cr_omr = 0x05; /* Mode 2, ext clk, GO */
arch/m68k/bvme6000/config.c
211
rtc->msr = msr;
arch/m68k/bvme6000/config.c
231
volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
arch/m68k/bvme6000/config.c
239
msr = rtc->msr & 0xc0;
arch/m68k/bvme6000/config.c
240
rtc->msr = 0; /* Ensure timer registers accessible */
arch/m68k/bvme6000/config.c
244
t1int = rtc->msr & 0x20;
arch/m68k/bvme6000/config.c
246
rtc->t1cr_omr |= 0x40; /* Latch timer1 */
arch/m68k/bvme6000/config.c
247
msb = rtc->t1msb; /* Read timer1 */
arch/m68k/bvme6000/config.c
248
v = (msb << 8) | rtc->t1lsb; /* Read timer1 */
arch/m68k/bvme6000/config.c
249
} while (t1int != (rtc->msr & 0x20) ||
arch/m68k/bvme6000/config.c
259
rtc->msr = msr;
arch/m68k/bvme6000/config.c
285
volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
arch/m68k/bvme6000/config.c
286
unsigned char msr = rtc->msr & 0xc0;
arch/m68k/bvme6000/config.c
288
rtc->msr = 0x40; /* Ensure clock and real-time-mode-register
arch/m68k/bvme6000/config.c
292
rtc->t0cr_rtmr = t->tm_year%4;
arch/m68k/bvme6000/config.c
293
rtc->bcd_tenms = 0;
arch/m68k/bvme6000/config.c
294
rtc->bcd_sec = bin2bcd(t->tm_sec);
arch/m68k/bvme6000/config.c
295
rtc->bcd_min = bin2bcd(t->tm_min);
arch/m68k/bvme6000/config.c
296
rtc->bcd_hr = bin2bcd(t->tm_hour);
arch/m68k/bvme6000/config.c
297
rtc->bcd_dom = bin2bcd(t->tm_mday);
arch/m68k/bvme6000/config.c
298
rtc->bcd_mth = bin2bcd(t->tm_mon + 1);
arch/m68k/bvme6000/config.c
299
rtc->bcd_year = bin2bcd(t->tm_year%100);
arch/m68k/bvme6000/config.c
301
rtc->bcd_dow = bin2bcd(t->tm_wday+1);
arch/m68k/bvme6000/config.c
302
rtc->t0cr_rtmr = t->tm_year%4 | 0x08;
arch/m68k/bvme6000/config.c
307
t->tm_sec = bcd2bin(rtc->bcd_sec);
arch/m68k/bvme6000/config.c
308
t->tm_min = bcd2bin(rtc->bcd_min);
arch/m68k/bvme6000/config.c
309
t->tm_hour = bcd2bin(rtc->bcd_hr);
arch/m68k/bvme6000/config.c
310
t->tm_mday = bcd2bin(rtc->bcd_dom);
arch/m68k/bvme6000/config.c
311
t->tm_mon = bcd2bin(rtc->bcd_mth)-1;
arch/m68k/bvme6000/config.c
312
t->tm_year = bcd2bin(rtc->bcd_year);
arch/m68k/bvme6000/config.c
315
t->tm_wday = bcd2bin(rtc->bcd_dow)-1;
arch/m68k/bvme6000/config.c
316
} while (t->tm_sec != bcd2bin(rtc->bcd_sec));
arch/m68k/bvme6000/config.c
319
rtc->msr = msr;
arch/m68k/bvme6000/rtc.c
108
msr = rtc->msr & 0xc0;
arch/m68k/bvme6000/rtc.c
109
rtc->msr = 0x40;
arch/m68k/bvme6000/rtc.c
111
rtc->t0cr_rtmr = yrs%4;
arch/m68k/bvme6000/rtc.c
112
rtc->bcd_tenms = 0;
arch/m68k/bvme6000/rtc.c
113
rtc->bcd_sec = bin2bcd(sec);
arch/m68k/bvme6000/rtc.c
114
rtc->bcd_min = bin2bcd(min);
arch/m68k/bvme6000/rtc.c
115
rtc->bcd_hr = bin2bcd(hrs);
arch/m68k/bvme6000/rtc.c
116
rtc->bcd_dom = bin2bcd(day);
arch/m68k/bvme6000/rtc.c
117
rtc->bcd_mth = bin2bcd(mon);
arch/m68k/bvme6000/rtc.c
118
rtc->bcd_year = bin2bcd(yrs%100);
arch/m68k/bvme6000/rtc.c
120
rtc->bcd_dow = bin2bcd(rtc_tm.tm_wday+1);
arch/m68k/bvme6000/rtc.c
121
rtc->t0cr_rtmr = yrs%4 | 0x08;
arch/m68k/bvme6000/rtc.c
123
rtc->msr = msr;
arch/m68k/bvme6000/rtc.c
41
volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
arch/m68k/bvme6000/rtc.c
52
msr = rtc->msr & 0xc0;
arch/m68k/bvme6000/rtc.c
53
rtc->msr = 0x40;
arch/m68k/bvme6000/rtc.c
56
wtime.tm_sec = bcd2bin(rtc->bcd_sec);
arch/m68k/bvme6000/rtc.c
57
wtime.tm_min = bcd2bin(rtc->bcd_min);
arch/m68k/bvme6000/rtc.c
58
wtime.tm_hour = bcd2bin(rtc->bcd_hr);
arch/m68k/bvme6000/rtc.c
59
wtime.tm_mday = bcd2bin(rtc->bcd_dom);
arch/m68k/bvme6000/rtc.c
60
wtime.tm_mon = bcd2bin(rtc->bcd_mth)-1;
arch/m68k/bvme6000/rtc.c
61
wtime.tm_year = bcd2bin(rtc->bcd_year);
arch/m68k/bvme6000/rtc.c
64
wtime.tm_wday = bcd2bin(rtc->bcd_dow)-1;
arch/m68k/bvme6000/rtc.c
65
} while (wtime.tm_sec != bcd2bin(rtc->bcd_sec));
arch/m68k/bvme6000/rtc.c
66
rtc->msr = msr;
arch/m68k/include/asm/virt.h
15
struct virt_booter_device_data rtc;
arch/m68k/virt/config.c
104
goldfish_timer_init(virt_bi_data.rtc.irq,
arch/m68k/virt/config.c
105
(void __iomem *)virt_bi_data.rtc.mmio);
arch/m68k/virt/config.c
76
virt_bi_data.rtc.mmio = be32_to_cpup(data);
arch/m68k/virt/config.c
78
virt_bi_data.rtc.irq = be32_to_cpup(data);
arch/m68k/virt/platform.c
30
DEFINE_RES_MEM(virt_bi_data.rtc.mmio + 0x1000, 0x1000),
arch/m68k/virt/platform.c
31
DEFINE_RES_IRQ(virt_bi_data.rtc.irq + 1),
arch/mips/include/asm/ip32/mace.h
335
volatile unsigned char rtc[0x10000];
arch/mips/include/asm/mach-rc32434/timer.h
47
u32 rtc; /* use RTC_ */
arch/mips/sgi-ip32/ip32-platform.c
95
#define MACE_RTC_RES_START (MACE_BASE + offsetof(struct sgi_mace, isa.rtc))
arch/powerpc/platforms/powernv/opal-rtc.c
67
struct device_node *rtc;
arch/powerpc/platforms/powernv/opal-rtc.c
69
rtc = of_find_node_by_path("/ibm,opal/rtc");
arch/powerpc/platforms/powernv/opal-rtc.c
70
if (rtc) {
arch/powerpc/platforms/powernv/opal-rtc.c
71
pdev = of_platform_device_create(rtc, "opal-rtc", NULL);
arch/powerpc/platforms/powernv/opal-rtc.c
72
of_node_put(rtc);
arch/x86/hyperv/hv_vtl.c
86
x86_platform.legacy.rtc = 0;
arch/x86/include/asm/x86_init.h
257
int rtc;
arch/x86/kernel/acpi/boot.c
990
x86_platform.legacy.rtc = 0;
arch/x86/kernel/jailhouse.c
215
x86_platform.legacy.rtc = 0;
arch/x86/kernel/platform-quirks.c
12
x86_platform.legacy.rtc = 1;
arch/x86/kernel/platform-quirks.c
23
x86_platform.legacy.rtc = 0;
arch/x86/kernel/platform-quirks.c
28
x86_platform.legacy.rtc = 0;
arch/x86/kernel/rtc.c
149
if (!x86_platform.legacy.rtc)
arch/x86/platform/intel-mid/intel-mid.c
62
x86_platform.legacy.rtc = 1;
arch/x86/platform/olpc/olpc-xo1-rtc.c
75
x86_platform.legacy.rtc = 0;
arch/x86/platform/olpc/olpc-xo1-sci.c
244
struct device *rtc = bus_find_device_by_name(
arch/x86/platform/olpc/olpc-xo1-sci.c
246
if (rtc) {
arch/x86/platform/olpc/olpc-xo1-sci.c
247
pm_wakeup_event(rtc, 0);
arch/x86/platform/olpc/olpc-xo1-sci.c
248
put_device(rtc);
arch/x86/xen/enlighten_hvm.c
270
(x86_platform.legacy.rtc || !x86_platform.legacy.no_vga))
arch/x86/xen/enlighten_pv.c
1326
x86_platform.legacy.rtc = 1;
arch/x86/xen/enlighten_pv.c
1331
x86_platform.legacy.rtc = 0;
drivers/base/power/trace.c
173
if (!x86_platform.legacy.rtc)
drivers/base/power/trace.c
276
if (!x86_platform.legacy.rtc)
drivers/base/power/trace.c
289
if (!x86_platform.legacy.rtc)
drivers/clk/mxs/clk-imx23.c
137
clks[rtc] = mxs_clk_fixed_factor("rtc", "ref_xtal", 1, 768);
drivers/clk/mxs/clk-imx28.c
207
clks[rtc] = mxs_clk_fixed_factor("rtc", "ref_xtal", 1, 768);
drivers/clocksource/arc_timer.c
167
if (!timer.rtc) {
drivers/mfd/88pm800.c
327
rtc_devs[0].platform_data = pdata->rtc;
drivers/mfd/88pm800.c
329
pdata->rtc ? sizeof(struct pm80x_rtc_pdata) : 0;
drivers/mfd/88pm800.c
486
if (pdata && pdata->rtc)
drivers/mfd/88pm800.c
487
pdata->rtc->rtc_wakeup = 1;
drivers/mfd/88pm860x-core.c
877
rtc_devs[0].platform_data = pdata->rtc;
drivers/mfd/max8925-core.c
485
i2c = chip->rtc;
drivers/mfd/max8925-core.c
514
i2c = chip->rtc;
drivers/mfd/max8925-core.c
604
max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, irq_rtc);
drivers/mfd/max8925-core.c
665
max8925_reg_read(chip->rtc, MAX8925_RTC_IRQ);
drivers/mfd/max8925-core.c
668
max8925_reg_write(chip->rtc, MAX8925_ALARM0_CNTL, 0);
drivers/mfd/max8925-core.c
669
max8925_reg_write(chip->rtc, MAX8925_ALARM1_CNTL, 0);
drivers/mfd/max8925-core.c
674
max8925_reg_write(chip->rtc, MAX8925_RTC_IRQ_MASK, 0xff);
drivers/mfd/max8925-core.c
847
max8925_set_bits(chip->rtc, MAX8925_MPL_CNTL, 1 << 4, 1 << 4);
drivers/mfd/max8925-i2c.c
177
chip->rtc = i2c_new_dummy_device(chip->i2c->adapter, RTC_I2C_ADDR);
drivers/mfd/max8925-i2c.c
178
if (IS_ERR(chip->rtc)) {
drivers/mfd/max8925-i2c.c
180
return PTR_ERR(chip->rtc);
drivers/mfd/max8925-i2c.c
182
i2c_set_clientdata(chip->rtc, chip);
drivers/mfd/max8925-i2c.c
187
i2c_unregister_device(chip->rtc);
drivers/mfd/max8925-i2c.c
206
i2c_unregister_device(chip->rtc);
drivers/mfd/max8997.c
176
max8997->rtc = i2c_new_dummy_device(i2c->adapter, I2C_ADDR_RTC);
drivers/mfd/max8997.c
177
if (IS_ERR(max8997->rtc)) {
drivers/mfd/max8997.c
179
return PTR_ERR(max8997->rtc);
drivers/mfd/max8997.c
181
i2c_set_clientdata(max8997->rtc, max8997);
drivers/mfd/max8997.c
227
i2c_unregister_device(max8997->rtc);
drivers/mfd/max8998.c
185
max8998->rtc = i2c_new_dummy_device(i2c->adapter, RTC_I2C_ADDR);
drivers/mfd/max8998.c
186
if (IS_ERR(max8998->rtc)) {
drivers/mfd/max8998.c
188
return PTR_ERR(max8998->rtc);
drivers/mfd/max8998.c
190
i2c_set_clientdata(max8998->rtc, max8998);
drivers/mfd/max8998.c
221
i2c_unregister_device(max8998->rtc);
drivers/mfd/menelaus.c
1011
rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_UF);
drivers/mfd/menelaus.c
1073
rtc_update_irq(m->rtc, 1, RTC_IRQF | RTC_AF);
drivers/mfd/menelaus.c
1091
m->rtc = devm_rtc_allocate_device(&m->client->dev);
drivers/mfd/menelaus.c
1092
if (IS_ERR(m->rtc))
drivers/mfd/menelaus.c
1095
m->rtc->ops = &menelaus_rtc_ops;
drivers/mfd/menelaus.c
1121
err = devm_rtc_register_device(m->rtc);
drivers/mfd/menelaus.c
1127
the_menelaus->rtc = NULL;
drivers/mfd/menelaus.c
157
struct rtc_device *rtc;
drivers/mfd/wm8350-core.c
434
wm8350_client_dev_register(wm8350, "wm8350-rtc", &(wm8350->rtc.pdev));
drivers/net/ethernet/i825xx/82596.c
1154
volatile unsigned char *rtc = (unsigned char *) BVME_RTC_BASE;
drivers/net/ethernet/i825xx/82596.c
1155
unsigned char msr = rtc[3];
drivers/net/ethernet/i825xx/82596.c
1158
rtc[3] |= 0x80;
drivers/net/ethernet/i825xx/82596.c
1160
eth_addr[i] = rtc[i * 4 + 7]; /* Stored in RTC RAM at offset 1 */
drivers/net/ethernet/i825xx/82596.c
1161
rtc[3] = msr;
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
387
attr = MLX5_ADDR_OF(create_rtc_in, in, rtc);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
388
MLX5_SET(rtc, attr, ste_format_0, rtc_attr->is_frst_jumbo ?
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
393
MLX5_SET(rtc, attr, ste_format_1, MLX5_IFC_RTC_STE_FORMAT_RANGE);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
394
MLX5_SET(rtc, attr, num_match_ste, 2);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
397
MLX5_SET(rtc, attr, pd, rtc_attr->pd);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
398
MLX5_SET(rtc, attr, update_method, rtc_attr->fw_gen_wqe);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
399
MLX5_SET(rtc, attr, update_index_mode, rtc_attr->update_index_mode);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
400
MLX5_SET(rtc, attr, access_index_mode, rtc_attr->access_index_mode);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
401
MLX5_SET(rtc, attr, num_hash_definer, rtc_attr->num_hash_definer);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
402
MLX5_SET(rtc, attr, log_depth, rtc_attr->log_depth);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
403
MLX5_SET(rtc, attr, log_hash_size, rtc_attr->log_size);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
404
MLX5_SET(rtc, attr, table_type, rtc_attr->table_type);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
405
MLX5_SET(rtc, attr, num_hash_definer, rtc_attr->num_hash_definer);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
406
MLX5_SET(rtc, attr, match_definer_0, rtc_attr->match_definer_0);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
407
MLX5_SET(rtc, attr, match_definer_1, rtc_attr->match_definer_1);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
408
MLX5_SET(rtc, attr, stc_id, rtc_attr->stc_base);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
409
MLX5_SET(rtc, attr, ste_table_base_id, rtc_attr->ste_base);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
410
MLX5_SET(rtc, attr, miss_flow_table_id, rtc_attr->miss_ft_id);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c
411
MLX5_SET(rtc, attr, reparse_mode, rtc_attr->reparse_mode);
drivers/net/ethernet/mellanox/mlx5/core/steering/hws/prm.h
408
struct mlx5_ifc_rtc_bits rtc;
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
122
unsigned int rtc;
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
130
rtc = 0x0;
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
132
rtc = 0x2;
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
134
rtc = 0x3;
drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c
136
value = u32_replace_bits(value, rtc, XGMAC_RTC);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
5915
u32 rtc = 0xa5a5a5a5;
drivers/net/wireless/intel/ipw2x00/ipw2100.c
5916
u32 len = sizeof(rtc);
drivers/net/wireless/intel/ipw2x00/ipw2100.c
5927
} else if (ipw2100_get_ordinal(priv, IPW_ORD_RTC_TIME, &rtc, &len) ||
drivers/net/wireless/intel/ipw2x00/ipw2100.c
5928
(rtc == priv->last_rtc)) {
drivers/net/wireless/intel/ipw2x00/ipw2100.c
5945
priv->last_rtc = rtc;
drivers/net/wireless/intel/ipw2x00/ipw2200.c
1566
static DEVICE_ATTR_RO(rtc);
drivers/rtc/class.c
102
struct rtc_device *rtc = to_rtc_device(dev);
drivers/rtc/class.c
110
if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0)
drivers/rtc/class.c
114
err = rtc_read_time(rtc, &tm);
drivers/rtc/class.c
116
pr_debug("%s: fail to read rtc time\n", dev_name(&rtc->dev));
drivers/rtc/class.c
147
struct rtc_device *rtc = to_rtc_device(dev);
drivers/rtc/class.c
157
if (strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE) != 0)
drivers/rtc/class.c
162
err = rtc_read_time(rtc, &tm);
drivers/rtc/class.c
164
pr_debug("%s: fail to read rtc time\n", dev_name(&rtc->dev));
drivers/rtc/class.c
172
pr_debug("%s: time travel!\n", dev_name(&rtc->dev));
drivers/rtc/class.c
209
struct rtc_device *rtc;
drivers/rtc/class.c
211
rtc = kzalloc_obj(*rtc);
drivers/rtc/class.c
212
if (!rtc)
drivers/rtc/class.c
215
device_initialize(&rtc->dev);
drivers/rtc/class.c
223
rtc->set_offset_nsec = NSEC_PER_SEC + 5 * NSEC_PER_MSEC;
drivers/rtc/class.c
225
rtc->irq_freq = 1;
drivers/rtc/class.c
226
rtc->max_user_freq = 64;
drivers/rtc/class.c
227
rtc->dev.class = &rtc_class;
drivers/rtc/class.c
228
rtc->dev.groups = rtc_get_dev_attribute_groups();
drivers/rtc/class.c
229
rtc->dev.release = rtc_device_release;
drivers/rtc/class.c
231
mutex_init(&rtc->ops_lock);
drivers/rtc/class.c
232
spin_lock_init(&rtc->irq_lock);
drivers/rtc/class.c
233
init_waitqueue_head(&rtc->irq_queue);
drivers/rtc/class.c
236
timerqueue_init_head(&rtc->timerqueue);
drivers/rtc/class.c
237
INIT_WORK(&rtc->irqwork, rtc_timer_do_work);
drivers/rtc/class.c
239
rtc_timer_init(&rtc->aie_timer, rtc_aie_update_irq, rtc);
drivers/rtc/class.c
241
rtc_timer_init(&rtc->uie_rtctimer, rtc_uie_update_irq, rtc);
drivers/rtc/class.c
243
hrtimer_setup(&rtc->pie_timer, rtc_pie_update_irq, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
drivers/rtc/class.c
244
rtc->pie_enabled = 0;
drivers/rtc/class.c
246
set_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/class.c
247
set_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/class.c
249
return rtc;
drivers/rtc/class.c
27
struct rtc_device *rtc = to_rtc_device(dev);
drivers/rtc/class.c
273
static void rtc_device_get_offset(struct rtc_device *rtc)
drivers/rtc/class.c
28
struct timerqueue_head *head = &rtc->timerqueue;
drivers/rtc/class.c
284
if (rtc->range_min == rtc->range_max)
drivers/rtc/class.c
287
ret = device_property_read_u32(rtc->dev.parent, "start-year",
drivers/rtc/class.c
290
rtc->start_secs = mktime64(start_year, 1, 1, 0, 0, 0);
drivers/rtc/class.c
291
rtc->set_start_time = true;
drivers/rtc/class.c
298
if (!rtc->set_start_time)
drivers/rtc/class.c
301
range_secs = rtc->range_max - rtc->range_min + 1;
drivers/rtc/class.c
31
mutex_lock(&rtc->ops_lock);
drivers/rtc/class.c
329
if ((rtc->start_secs >= 0 && rtc->start_secs > rtc->range_max) ||
drivers/rtc/class.c
330
rtc->start_secs + range_secs - 1 < rtc->range_min)
drivers/rtc/class.c
331
rtc->offset_secs = rtc->start_secs - rtc->range_min;
drivers/rtc/class.c
332
else if (rtc->start_secs > rtc->range_min)
drivers/rtc/class.c
333
rtc->offset_secs = range_secs;
drivers/rtc/class.c
334
else if (rtc->start_secs < rtc->range_min)
drivers/rtc/class.c
335
rtc->offset_secs = -range_secs;
drivers/rtc/class.c
337
rtc->offset_secs = 0;
drivers/rtc/class.c
34
mutex_unlock(&rtc->ops_lock);
drivers/rtc/class.c
342
struct rtc_device *rtc = data;
drivers/rtc/class.c
344
mutex_lock(&rtc->ops_lock);
drivers/rtc/class.c
349
rtc_proc_del_device(rtc);
drivers/rtc/class.c
350
if (!test_bit(RTC_NO_CDEV, &rtc->flags))
drivers/rtc/class.c
351
cdev_device_del(&rtc->char_dev, &rtc->dev);
drivers/rtc/class.c
352
rtc->ops = NULL;
drivers/rtc/class.c
353
mutex_unlock(&rtc->ops_lock);
drivers/rtc/class.c
358
struct rtc_device *rtc = res;
drivers/rtc/class.c
36
cancel_work_sync(&rtc->irqwork);
drivers/rtc/class.c
360
put_device(&rtc->dev);
drivers/rtc/class.c
365
struct rtc_device *rtc;
drivers/rtc/class.c
372
rtc = rtc_allocate_device();
drivers/rtc/class.c
373
if (!rtc) {
drivers/rtc/class.c
378
rtc->id = id;
drivers/rtc/class.c
379
rtc->dev.parent = dev;
drivers/rtc/class.c
38
ida_free(&rtc_ida, rtc->id);
drivers/rtc/class.c
380
err = devm_add_action_or_reset(dev, devm_rtc_release_device, rtc);
drivers/rtc/class.c
384
err = dev_set_name(&rtc->dev, "rtc%d", id);
drivers/rtc/class.c
388
return rtc;
drivers/rtc/class.c
39
mutex_destroy(&rtc->ops_lock);
drivers/rtc/class.c
392
int __devm_rtc_register_device(struct module *owner, struct rtc_device *rtc)
drivers/rtc/class.c
397
if (!rtc->ops) {
drivers/rtc/class.c
398
dev_dbg(&rtc->dev, "no ops set\n");
drivers/rtc/class.c
40
kfree(rtc);
drivers/rtc/class.c
402
if (!rtc->ops->set_alarm)
drivers/rtc/class.c
403
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/class.c
405
if (rtc->ops->set_offset)
drivers/rtc/class.c
406
set_bit(RTC_FEATURE_CORRECTION, rtc->features);
drivers/rtc/class.c
408
rtc->owner = owner;
drivers/rtc/class.c
409
rtc_device_get_offset(rtc);
drivers/rtc/class.c
412
err = __rtc_read_alarm(rtc, &alrm);
drivers/rtc/class.c
414
rtc_initialize_alarm(rtc, &alrm);
drivers/rtc/class.c
416
rtc_dev_prepare(rtc);
drivers/rtc/class.c
418
err = cdev_device_add(&rtc->char_dev, &rtc->dev);
drivers/rtc/class.c
420
set_bit(RTC_NO_CDEV, &rtc->flags);
drivers/rtc/class.c
421
dev_warn(rtc->dev.parent, "failed to add char device %d:%d\n",
drivers/rtc/class.c
422
MAJOR(rtc->dev.devt), rtc->id);
drivers/rtc/class.c
424
dev_dbg(rtc->dev.parent, "char device (%d:%d)\n",
drivers/rtc/class.c
425
MAJOR(rtc->dev.devt), rtc->id);
drivers/rtc/class.c
428
rtc_proc_add_device(rtc);
drivers/rtc/class.c
430
dev_info(rtc->dev.parent, "registered as %s\n",
drivers/rtc/class.c
431
dev_name(&rtc->dev));
drivers/rtc/class.c
434
if (!strcmp(dev_name(&rtc->dev), CONFIG_RTC_HCTOSYS_DEVICE))
drivers/rtc/class.c
435
rtc_hctosys(rtc);
drivers/rtc/class.c
438
return devm_add_action_or_reset(rtc->dev.parent,
drivers/rtc/class.c
439
devm_rtc_unregister_device, rtc);
drivers/rtc/class.c
462
struct rtc_device *rtc;
drivers/rtc/class.c
465
rtc = devm_rtc_allocate_device(dev);
drivers/rtc/class.c
466
if (IS_ERR(rtc))
drivers/rtc/class.c
467
return rtc;
drivers/rtc/class.c
469
rtc->ops = ops;
drivers/rtc/class.c
471
err = __devm_rtc_register_device(owner, rtc);
drivers/rtc/class.c
475
return rtc;
drivers/rtc/class.c
58
static void rtc_hctosys(struct rtc_device *rtc)
drivers/rtc/class.c
66
err = rtc_read_time(rtc, &tm);
drivers/rtc/class.c
68
dev_err(rtc->dev.parent,
drivers/rtc/class.c
84
dev_info(rtc->dev.parent, "setting system clock to %ptR UTC (%lld)\n",
drivers/rtc/dev.c
100
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
102
rtc->uie_irq_active = 0;
drivers/rtc/dev.c
104
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
108
static int set_uie(struct rtc_device *rtc)
drivers/rtc/dev.c
113
err = rtc_read_time(rtc, &tm);
drivers/rtc/dev.c
116
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
117
if (!rtc->uie_irq_active) {
drivers/rtc/dev.c
118
rtc->uie_irq_active = 1;
drivers/rtc/dev.c
119
rtc->stop_uie_polling = 0;
drivers/rtc/dev.c
120
rtc->oldsecs = tm.tm_sec;
drivers/rtc/dev.c
121
rtc->uie_task_active = 1;
drivers/rtc/dev.c
122
if (schedule_work(&rtc->uie_task) == 0)
drivers/rtc/dev.c
123
rtc->uie_task_active = 0;
drivers/rtc/dev.c
125
rtc->irq_data = 0;
drivers/rtc/dev.c
126
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
130
int rtc_dev_update_irq_enable_emul(struct rtc_device *rtc, unsigned int enabled)
drivers/rtc/dev.c
133
return set_uie(rtc);
drivers/rtc/dev.c
135
return clear_uie(rtc);
drivers/rtc/dev.c
144
struct rtc_device *rtc = file->private_data;
drivers/rtc/dev.c
153
add_wait_queue(&rtc->irq_queue, &wait);
drivers/rtc/dev.c
157
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
158
data = rtc->irq_data;
drivers/rtc/dev.c
159
rtc->irq_data = 0;
drivers/rtc/dev.c
160
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
177
remove_wait_queue(&rtc->irq_queue, &wait);
drivers/rtc/dev.c
193
struct rtc_device *rtc = file->private_data;
drivers/rtc/dev.c
196
poll_wait(file, &rtc->irq_queue, wait);
drivers/rtc/dev.c
198
data = rtc->irq_data;
drivers/rtc/dev.c
207
struct rtc_device *rtc = file->private_data;
drivers/rtc/dev.c
208
const struct rtc_class_ops *ops = rtc->ops;
drivers/rtc/dev.c
214
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/dev.c
231
if (arg > rtc->max_user_freq && !capable(CAP_SYS_RESOURCE))
drivers/rtc/dev.c
236
if (rtc->irq_freq > rtc->max_user_freq &&
drivers/rtc/dev.c
25
struct rtc_device *rtc = container_of(inode->i_cdev,
drivers/rtc/dev.c
258
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
260
err = rtc_read_alarm(rtc, &alarm);
drivers/rtc/dev.c
269
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
28
if (test_and_set_bit_lock(RTC_DEV_BUSY, &rtc->flags))
drivers/rtc/dev.c
296
err = rtc_read_time(rtc, &tm);
drivers/rtc/dev.c
31
file->private_data = rtc;
drivers/rtc/dev.c
318
return rtc_set_alarm(rtc, &alarm);
drivers/rtc/dev.c
321
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
323
err = rtc_read_time(rtc, &tm);
drivers/rtc/dev.c
33
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
332
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
337
return rtc_set_time(rtc, &tm);
drivers/rtc/dev.c
34
rtc->irq_data = 0;
drivers/rtc/dev.c
340
err = rtc_irq_set_state(rtc, 1);
drivers/rtc/dev.c
344
err = rtc_irq_set_state(rtc, 0);
drivers/rtc/dev.c
348
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
349
return rtc_alarm_irq_enable(rtc, 1);
drivers/rtc/dev.c
35
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
352
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
353
return rtc_alarm_irq_enable(rtc, 0);
drivers/rtc/dev.c
356
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
357
return rtc_update_irq_enable(rtc, 1);
drivers/rtc/dev.c
360
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
361
return rtc_update_irq_enable(rtc, 0);
drivers/rtc/dev.c
364
err = rtc_irq_set_freq(rtc, arg);
drivers/rtc/dev.c
367
err = put_user(rtc->irq_freq, (unsigned long __user *)uarg);
drivers/rtc/dev.c
371
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
375
return rtc_set_alarm(rtc, &alarm);
drivers/rtc/dev.c
378
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
379
err = rtc_read_alarm(rtc, &alarm);
drivers/rtc/dev.c
389
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
397
param.uvalue = rtc->features[0];
drivers/rtc/dev.c
402
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
405
err = rtc_read_offset(rtc, &offset);
drivers/rtc/dev.c
406
mutex_lock(&rtc->ops_lock);
drivers/rtc/dev.c
412
if (rtc->ops->param_get)
drivers/rtc/dev.c
413
err = rtc->ops->param_get(rtc->dev.parent, ¶m);
drivers/rtc/dev.c
426
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
436
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
439
return rtc_set_offset(rtc, param.svalue);
drivers/rtc/dev.c
442
if (rtc->ops->param_set)
drivers/rtc/dev.c
443
err = rtc->ops->param_set(rtc->dev.parent, ¶m);
drivers/rtc/dev.c
453
err = ops->ioctl(rtc->dev.parent, cmd, arg);
drivers/rtc/dev.c
463
mutex_unlock(&rtc->ops_lock);
drivers/rtc/dev.c
47
struct rtc_device *rtc =
drivers/rtc/dev.c
475
struct rtc_device *rtc = file->private_data;
drivers/rtc/dev.c
480
return put_user(rtc->irq_freq, (__u32 __user *)uarg);
drivers/rtc/dev.c
497
struct rtc_device *rtc = file->private_data;
drivers/rtc/dev.c
499
return fasync_helper(fd, file, on, &rtc->async_queue);
drivers/rtc/dev.c
504
struct rtc_device *rtc = file->private_data;
drivers/rtc/dev.c
517
rtc_update_irq_enable(rtc, 0);
drivers/rtc/dev.c
518
rtc_irq_set_state(rtc, 0);
drivers/rtc/dev.c
520
clear_bit_unlock(RTC_DEV_BUSY, &rtc->flags);
drivers/rtc/dev.c
53
err = rtc_read_time(rtc, &tm);
drivers/rtc/dev.c
539
void rtc_dev_prepare(struct rtc_device *rtc)
drivers/rtc/dev.c
544
if (rtc->id >= RTC_DEV_MAX) {
drivers/rtc/dev.c
545
dev_dbg(&rtc->dev, "too many RTC devices\n");
drivers/rtc/dev.c
549
rtc->dev.devt = MKDEV(MAJOR(rtc_devt), rtc->id);
drivers/rtc/dev.c
55
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
552
INIT_WORK(&rtc->uie_task, rtc_uie_task);
drivers/rtc/dev.c
553
timer_setup(&rtc->uie_timer, rtc_uie_timer, 0);
drivers/rtc/dev.c
556
cdev_init(&rtc->char_dev, &rtc_dev_fops);
drivers/rtc/dev.c
557
rtc->char_dev.owner = rtc->owner;
drivers/rtc/dev.c
56
if (rtc->stop_uie_polling || err) {
drivers/rtc/dev.c
57
rtc->uie_task_active = 0;
drivers/rtc/dev.c
58
} else if (rtc->oldsecs != tm.tm_sec) {
drivers/rtc/dev.c
59
num = (tm.tm_sec + 60 - rtc->oldsecs) % 60;
drivers/rtc/dev.c
60
rtc->oldsecs = tm.tm_sec;
drivers/rtc/dev.c
61
rtc->uie_timer.expires = jiffies + HZ - (HZ / 10);
drivers/rtc/dev.c
62
rtc->uie_timer_active = 1;
drivers/rtc/dev.c
63
rtc->uie_task_active = 0;
drivers/rtc/dev.c
64
add_timer(&rtc->uie_timer);
drivers/rtc/dev.c
65
} else if (schedule_work(&rtc->uie_task) == 0) {
drivers/rtc/dev.c
66
rtc->uie_task_active = 0;
drivers/rtc/dev.c
68
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
70
rtc_handle_legacy_irq(rtc, num, RTC_UF);
drivers/rtc/dev.c
75
struct rtc_device *rtc = timer_container_of(rtc, t, uie_timer);
drivers/rtc/dev.c
78
spin_lock_irqsave(&rtc->irq_lock, flags);
drivers/rtc/dev.c
79
rtc->uie_timer_active = 0;
drivers/rtc/dev.c
80
rtc->uie_task_active = 1;
drivers/rtc/dev.c
81
if ((schedule_work(&rtc->uie_task) == 0))
drivers/rtc/dev.c
82
rtc->uie_task_active = 0;
drivers/rtc/dev.c
83
spin_unlock_irqrestore(&rtc->irq_lock, flags);
drivers/rtc/dev.c
86
static int clear_uie(struct rtc_device *rtc)
drivers/rtc/dev.c
88
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
89
if (rtc->uie_irq_active) {
drivers/rtc/dev.c
90
rtc->stop_uie_polling = 1;
drivers/rtc/dev.c
91
if (rtc->uie_timer_active) {
drivers/rtc/dev.c
92
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
93
timer_delete_sync(&rtc->uie_timer);
drivers/rtc/dev.c
94
spin_lock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
95
rtc->uie_timer_active = 0;
drivers/rtc/dev.c
97
if (rtc->uie_task_active) {
drivers/rtc/dev.c
98
spin_unlock_irq(&rtc->irq_lock);
drivers/rtc/dev.c
99
flush_work(&rtc->uie_task);
drivers/rtc/interface.c
1009
struct rtc_device *rtc)
drivers/rtc/interface.c
101
rtc_add_offset(rtc, tm);
drivers/rtc/interface.c
1014
timer->rtc = rtc;
drivers/rtc/interface.c
1025
int rtc_timer_start(struct rtc_device *rtc, struct rtc_timer *timer,
drivers/rtc/interface.c
1030
mutex_lock(&rtc->ops_lock);
drivers/rtc/interface.c
1032
rtc_timer_remove(rtc, timer);
drivers/rtc/interface.c
1037
ret = rtc_timer_enqueue(rtc, timer);
drivers/rtc/interface.c
1039
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
1049
void rtc_timer_cancel(struct rtc_device *rtc, struct rtc_timer *timer)
drivers/rtc/interface.c
105
dev_dbg(&rtc->dev, "read_time: rtc_time isn't valid\n");
drivers/rtc/interface.c
1051
mutex_lock(&rtc->ops_lock);
drivers/rtc/interface.c
1053
rtc_timer_remove(rtc, timer);
drivers/rtc/interface.c
1054
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
1068
int rtc_read_offset(struct rtc_device *rtc, long *offset)
drivers/rtc/interface.c
1072
if (!rtc->ops)
drivers/rtc/interface.c
1075
if (!rtc->ops->read_offset)
drivers/rtc/interface.c
1078
mutex_lock(&rtc->ops_lock);
drivers/rtc/interface.c
1079
ret = rtc->ops->read_offset(rtc->dev.parent, offset);
drivers/rtc/interface.c
1080
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
110
int rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm)
drivers/rtc/interface.c
1103
int rtc_set_offset(struct rtc_device *rtc, long offset)
drivers/rtc/interface.c
1107
if (!rtc->ops)
drivers/rtc/interface.c
1110
if (!rtc->ops->set_offset)
drivers/rtc/interface.c
1113
mutex_lock(&rtc->ops_lock);
drivers/rtc/interface.c
1114
ret = rtc->ops->set_offset(rtc->dev.parent, offset);
drivers/rtc/interface.c
1115
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
114
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
118
err = __rtc_read_time(rtc, tm);
drivers/rtc/interface.c
119
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
126
int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm)
drivers/rtc/interface.c
134
err = rtc_valid_range(rtc, tm);
drivers/rtc/interface.c
138
rtc_subtract_offset(rtc, tm);
drivers/rtc/interface.c
141
uie = rtc->uie_rtctimer.enabled || rtc->uie_irq_active;
drivers/rtc/interface.c
143
uie = rtc->uie_rtctimer.enabled;
drivers/rtc/interface.c
146
err = rtc_update_irq_enable(rtc, 0);
drivers/rtc/interface.c
151
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
155
if (!rtc->ops)
drivers/rtc/interface.c
157
else if (rtc->ops->set_time)
drivers/rtc/interface.c
158
err = rtc->ops->set_time(rtc->dev.parent, tm);
drivers/rtc/interface.c
162
pm_stay_awake(rtc->dev.parent);
drivers/rtc/interface.c
163
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
165
schedule_work(&rtc->irqwork);
drivers/rtc/interface.c
168
err = rtc_update_irq_enable(rtc, 1);
drivers/rtc/interface.c
178
static int rtc_read_alarm_internal(struct rtc_device *rtc,
drivers/rtc/interface.c
183
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
187
if (!rtc->ops) {
drivers/rtc/interface.c
189
} else if (!test_bit(RTC_FEATURE_ALARM, rtc->features) || !rtc->ops->read_alarm) {
drivers/rtc/interface.c
20
static int rtc_timer_enqueue(struct rtc_device *rtc, struct rtc_timer *timer);
drivers/rtc/interface.c
203
err = rtc->ops->read_alarm(rtc->dev.parent, alarm);
drivers/rtc/interface.c
206
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
21
static void rtc_timer_remove(struct rtc_device *rtc, struct rtc_timer *timer);
drivers/rtc/interface.c
212
int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
drivers/rtc/interface.c
23
static void rtc_add_offset(struct rtc_device *rtc, struct rtc_time *tm)
drivers/rtc/interface.c
263
err = rtc_read_time(rtc, &before);
drivers/rtc/interface.c
27
if (!rtc->offset_secs)
drivers/rtc/interface.c
272
err = rtc_read_alarm_internal(rtc, alarm);
drivers/rtc/interface.c
282
err = rtc_read_time(rtc, &now);
drivers/rtc/interface.c
338
dev_dbg(&rtc->dev, "alarm rollover: %s\n", "day");
drivers/rtc/interface.c
349
dev_dbg(&rtc->dev, "alarm rollover: %s\n", "month");
drivers/rtc/interface.c
364
dev_dbg(&rtc->dev, "alarm rollover: %s\n", "year");
drivers/rtc/interface.c
372
dev_warn(&rtc->dev, "alarm rollover not handled\n");
drivers/rtc/interface.c
379
dev_warn(&rtc->dev, "invalid alarm value: %ptR\n",
drivers/rtc/interface.c
38
if ((rtc->start_secs > rtc->range_min && secs >= rtc->start_secs) ||
drivers/rtc/interface.c
382
rtc_add_offset(rtc, &alarm->time);
drivers/rtc/interface.c
387
int rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
drivers/rtc/interface.c
39
(rtc->start_secs < rtc->range_min &&
drivers/rtc/interface.c
391
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
394
if (!rtc->ops) {
drivers/rtc/interface.c
396
} else if (!test_bit(RTC_FEATURE_ALARM, rtc->features)) {
drivers/rtc/interface.c
40
secs <= (rtc->start_secs + rtc->range_max - rtc->range_min)))
drivers/rtc/interface.c
400
alarm->enabled = rtc->aie_timer.enabled;
drivers/rtc/interface.c
401
alarm->time = rtc_ktime_to_tm(rtc->aie_timer.node.expires);
drivers/rtc/interface.c
403
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
410
static int __rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
drivers/rtc/interface.c
423
err = __rtc_read_time(rtc, &tm);
drivers/rtc/interface.c
43
rtc_time64_to_tm(secs + rtc->offset_secs, tm);
drivers/rtc/interface.c
437
rtc_subtract_offset(rtc, &alarm->time);
drivers/rtc/interface.c
439
if (!rtc->ops)
drivers/rtc/interface.c
441
else if (!test_bit(RTC_FEATURE_ALARM, rtc->features))
drivers/rtc/interface.c
444
err = rtc->ops->set_alarm(rtc->dev.parent, alarm);
drivers/rtc/interface.c
46
static void rtc_subtract_offset(struct rtc_device *rtc, struct rtc_time *tm)
drivers/rtc/interface.c
461
err = __rtc_read_time(rtc, &tm);
drivers/rtc/interface.c
473
int rtc_set_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
drivers/rtc/interface.c
478
if (!rtc->ops)
drivers/rtc/interface.c
480
else if (!test_bit(RTC_FEATURE_ALARM, rtc->features))
drivers/rtc/interface.c
487
err = rtc_valid_range(rtc, &alarm->time);
drivers/rtc/interface.c
491
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
494
if (rtc->aie_timer.enabled)
drivers/rtc/interface.c
495
rtc_timer_remove(rtc, &rtc->aie_timer);
drivers/rtc/interface.c
50
if (!rtc->offset_secs)
drivers/rtc/interface.c
502
if (test_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->features))
drivers/rtc/interface.c
505
rtc->aie_timer.node.expires = alarm_time;
drivers/rtc/interface.c
506
rtc->aie_timer.period = 0;
drivers/rtc/interface.c
508
err = rtc_timer_enqueue(rtc, &rtc->aie_timer);
drivers/rtc/interface.c
510
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
517
int rtc_initialize_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm)
drivers/rtc/interface.c
526
err = rtc_read_time(rtc, &now);
drivers/rtc/interface.c
530
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
534
rtc->aie_timer.node.expires = rtc_tm_to_ktime(alarm->time);
drivers/rtc/interface.c
535
rtc->aie_timer.period = 0;
drivers/rtc/interface.c
539
rtc->aie_timer.node.expires)) {
drivers/rtc/interface.c
540
rtc->aie_timer.enabled = 1;
drivers/rtc/interface.c
541
timerqueue_add(&rtc->timerqueue, &rtc->aie_timer.node);
drivers/rtc/interface.c
542
trace_rtc_timer_enqueue(&rtc->aie_timer);
drivers/rtc/interface.c
544
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
549
int rtc_alarm_irq_enable(struct rtc_device *rtc, unsigned int enabled)
drivers/rtc/interface.c
553
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
557
if (rtc->aie_timer.enabled != enabled) {
drivers/rtc/interface.c
559
err = rtc_timer_enqueue(rtc, &rtc->aie_timer);
drivers/rtc/interface.c
561
rtc_timer_remove(rtc, &rtc->aie_timer);
drivers/rtc/interface.c
566
else if (!rtc->ops)
drivers/rtc/interface.c
568
else if (!test_bit(RTC_FEATURE_ALARM, rtc->features) || !rtc->ops->alarm_irq_enable)
drivers/rtc/interface.c
571
err = rtc->ops->alarm_irq_enable(rtc->dev.parent, enabled);
drivers/rtc/interface.c
573
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
580
int rtc_update_irq_enable(struct rtc_device *rtc, unsigned int enabled)
drivers/rtc/interface.c
584
err = mutex_lock_interruptible(&rtc->ops_lock);
drivers/rtc/interface.c
589
if (enabled == 0 && rtc->uie_irq_active) {
drivers/rtc/interface.c
590
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
591
return rtc_dev_update_irq_enable_emul(rtc, 0);
drivers/rtc/interface.c
595
if (rtc->uie_rtctimer.enabled == enabled)
drivers/rtc/interface.c
598
if (!test_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features) ||
drivers/rtc/interface.c
599
!test_bit(RTC_FEATURE_ALARM, rtc->features)) {
drivers/rtc/interface.c
600
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
602
return rtc_dev_update_irq_enable_emul(rtc, enabled);
drivers/rtc/interface.c
61
if (secs >= rtc->range_min && secs <= rtc->range_max)
drivers/rtc/interface.c
612
err = __rtc_read_time(rtc, &tm);
drivers/rtc/interface.c
617
rtc->uie_rtctimer.node.expires = ktime_add(now, onesec);
drivers/rtc/interface.c
618
rtc->uie_rtctimer.period = ktime_set(1, 0);
drivers/rtc/interface.c
619
err = rtc_timer_enqueue(rtc, &rtc->uie_rtctimer);
drivers/rtc/interface.c
620
if (!err && rtc->ops && rtc->ops->alarm_irq_enable)
drivers/rtc/interface.c
621
err = rtc->ops->alarm_irq_enable(rtc->dev.parent, 1);
drivers/rtc/interface.c
625
rtc_timer_remove(rtc, &rtc->uie_rtctimer);
drivers/rtc/interface.c
629
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
64
rtc_time64_to_tm(secs - rtc->offset_secs, tm);
drivers/rtc/interface.c
645
void rtc_handle_legacy_irq(struct rtc_device *rtc, int num, int mode)
drivers/rtc/interface.c
650
spin_lock_irqsave(&rtc->irq_lock, flags);
drivers/rtc/interface.c
651
rtc->irq_data = (rtc->irq_data + (num << 8)) | (RTC_IRQF | mode);
drivers/rtc/interface.c
652
spin_unlock_irqrestore(&rtc->irq_lock, flags);
drivers/rtc/interface.c
654
wake_up_interruptible(&rtc->irq_queue);
drivers/rtc/interface.c
655
kill_fasync(&rtc->async_queue, SIGIO, POLL_IN);
drivers/rtc/interface.c
664
void rtc_aie_update_irq(struct rtc_device *rtc)
drivers/rtc/interface.c
666
rtc_handle_legacy_irq(rtc, 1, RTC_AF);
drivers/rtc/interface.c
67
static int rtc_valid_range(struct rtc_device *rtc, struct rtc_time *tm)
drivers/rtc/interface.c
675
void rtc_uie_update_irq(struct rtc_device *rtc)
drivers/rtc/interface.c
677
rtc_handle_legacy_irq(rtc, 1, RTC_UF);
drivers/rtc/interface.c
69
if (rtc->range_min != rtc->range_max) {
drivers/rtc/interface.c
690
struct rtc_device *rtc;
drivers/rtc/interface.c
694
rtc = container_of(timer, struct rtc_device, pie_timer);
drivers/rtc/interface.c
696
period = NSEC_PER_SEC / rtc->irq_freq;
drivers/rtc/interface.c
699
rtc_handle_legacy_irq(rtc, count, RTC_PF);
drivers/rtc/interface.c
71
time64_t range_min = rtc->set_start_time ? rtc->start_secs :
drivers/rtc/interface.c
711
void rtc_update_irq(struct rtc_device *rtc,
drivers/rtc/interface.c
714
if (IS_ERR_OR_NULL(rtc))
drivers/rtc/interface.c
717
pm_stay_awake(rtc->dev.parent);
drivers/rtc/interface.c
718
schedule_work(&rtc->irqwork);
drivers/rtc/interface.c
72
rtc->range_min;
drivers/rtc/interface.c
725
struct rtc_device *rtc = NULL;
drivers/rtc/interface.c
729
rtc = to_rtc_device(dev);
drivers/rtc/interface.c
73
timeu64_t range_max = rtc->set_start_time ?
drivers/rtc/interface.c
731
if (rtc) {
drivers/rtc/interface.c
732
if (!try_module_get(rtc->owner)) {
drivers/rtc/interface.c
734
rtc = NULL;
drivers/rtc/interface.c
738
return rtc;
drivers/rtc/interface.c
74
(rtc->start_secs + rtc->range_max - rtc->range_min) :
drivers/rtc/interface.c
742
void rtc_class_close(struct rtc_device *rtc)
drivers/rtc/interface.c
744
module_put(rtc->owner);
drivers/rtc/interface.c
745
put_device(&rtc->dev);
drivers/rtc/interface.c
749
static int rtc_update_hrtimer(struct rtc_device *rtc, int enabled)
drivers/rtc/interface.c
75
rtc->range_max;
drivers/rtc/interface.c
761
if (hrtimer_try_to_cancel(&rtc->pie_timer) < 0)
drivers/rtc/interface.c
765
ktime_t period = NSEC_PER_SEC / rtc->irq_freq;
drivers/rtc/interface.c
767
hrtimer_start(&rtc->pie_timer, period, HRTIMER_MODE_REL);
drivers/rtc/interface.c
781
int rtc_irq_set_state(struct rtc_device *rtc, int enabled)
drivers/rtc/interface.c
785
while (rtc_update_hrtimer(rtc, enabled) < 0)
drivers/rtc/interface.c
788
rtc->pie_enabled = enabled;
drivers/rtc/interface.c
803
int rtc_irq_set_freq(struct rtc_device *rtc, int freq)
drivers/rtc/interface.c
810
rtc->irq_freq = freq;
drivers/rtc/interface.c
811
while (rtc->pie_enabled && rtc_update_hrtimer(rtc, 1) < 0)
drivers/rtc/interface.c
830
static int rtc_timer_enqueue(struct rtc_device *rtc, struct rtc_timer *timer)
drivers/rtc/interface.c
832
struct timerqueue_node *next = timerqueue_getnext(&rtc->timerqueue);
drivers/rtc/interface.c
837
err = __rtc_read_time(rtc, &tm);
drivers/rtc/interface.c
84
static int __rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm)
drivers/rtc/interface.c
851
timerqueue_add(&rtc->timerqueue, &timer->node);
drivers/rtc/interface.c
858
err = __rtc_set_alarm(rtc, &alarm);
drivers/rtc/interface.c
860
pm_stay_awake(rtc->dev.parent);
drivers/rtc/interface.c
861
schedule_work(&rtc->irqwork);
drivers/rtc/interface.c
863
timerqueue_del(&rtc->timerqueue, &timer->node);
drivers/rtc/interface.c
872
static void rtc_alarm_disable(struct rtc_device *rtc)
drivers/rtc/interface.c
874
if (!rtc->ops || !test_bit(RTC_FEATURE_ALARM, rtc->features) || !rtc->ops->alarm_irq_enable)
drivers/rtc/interface.c
877
rtc->ops->alarm_irq_enable(rtc->dev.parent, false);
drivers/rtc/interface.c
88
if (!rtc->ops) {
drivers/rtc/interface.c
893
static void rtc_timer_remove(struct rtc_device *rtc, struct rtc_timer *timer)
drivers/rtc/interface.c
895
struct timerqueue_node *next = timerqueue_getnext(&rtc->timerqueue);
drivers/rtc/interface.c
897
timerqueue_del(&rtc->timerqueue, &timer->node);
drivers/rtc/interface.c
90
} else if (!rtc->ops->read_time) {
drivers/rtc/interface.c
904
next = timerqueue_getnext(&rtc->timerqueue);
drivers/rtc/interface.c
906
rtc_alarm_disable(rtc);
drivers/rtc/interface.c
911
err = __rtc_set_alarm(rtc, &alarm);
drivers/rtc/interface.c
913
pm_stay_awake(rtc->dev.parent);
drivers/rtc/interface.c
914
schedule_work(&rtc->irqwork);
drivers/rtc/interface.c
936
struct rtc_device *rtc =
drivers/rtc/interface.c
939
mutex_lock(&rtc->ops_lock);
drivers/rtc/interface.c
94
err = rtc->ops->read_time(rtc->dev.parent, tm);
drivers/rtc/interface.c
941
err = __rtc_read_time(rtc, &tm);
drivers/rtc/interface.c
943
mutex_unlock(&rtc->ops_lock);
drivers/rtc/interface.c
947
while ((next = timerqueue_getnext(&rtc->timerqueue))) {
drivers/rtc/interface.c
953
timerqueue_del(&rtc->timerqueue, &timer->node);
drivers/rtc/interface.c
957
timer->func(timer->rtc);
drivers/rtc/interface.c
96
dev_dbg(&rtc->dev, "read_time: fail to read: %d\n",
drivers/rtc/interface.c
965
timerqueue_add(&rtc->timerqueue, &timer->node);
drivers/rtc/interface.c
979
err = __rtc_set_alarm(rtc, &alarm);
drivers/rtc/interface.c
987
timerqueue_del(&rtc->timerqueue, &timer->node);
drivers/rtc/interface.c
990
dev_err(&rtc->dev, "__rtc_set_alarm: err=%d\n", err);
drivers/rtc/interface.c
994
rtc_alarm_disable(rtc);
drivers/rtc/interface.c
997
pm_relax(rtc->dev.parent);
drivers/rtc/interface.c
998
mutex_unlock(&rtc->ops_lock);
drivers/rtc/nvmem.c
13
int devm_rtc_nvmem_register(struct rtc_device *rtc,
drivers/rtc/nvmem.c
16
struct device *dev = rtc->dev.parent;
drivers/rtc/nvmem.c
23
nvmem_config->owner = rtc->owner;
drivers/rtc/proc.c
21
static bool is_rtc_hctosys(struct rtc_device *rtc)
drivers/rtc/proc.c
26
size = snprintf(name, NAME_SIZE, "rtc%d", rtc->id);
drivers/rtc/proc.c
33
static bool is_rtc_hctosys(struct rtc_device *rtc)
drivers/rtc/proc.c
35
return (rtc->id == 0);
drivers/rtc/proc.c
42
struct rtc_device *rtc = seq->private;
drivers/rtc/proc.c
43
const struct rtc_class_ops *ops = rtc->ops;
drivers/rtc/proc.c
47
err = rtc_read_time(rtc, &tm);
drivers/rtc/proc.c
55
err = rtc_read_alarm(rtc, &alrm);
drivers/rtc/proc.c
64
(rtc->uie_rtctimer.enabled) ? "yes" : "no");
drivers/rtc/proc.c
66
(rtc->pie_enabled) ? "yes" : "no");
drivers/rtc/proc.c
68
rtc->irq_freq);
drivers/rtc/proc.c
70
rtc->max_user_freq);
drivers/rtc/proc.c
76
ops->proc(rtc->dev.parent, seq);
drivers/rtc/proc.c
81
void rtc_proc_add_device(struct rtc_device *rtc)
drivers/rtc/proc.c
83
if (is_rtc_hctosys(rtc))
drivers/rtc/proc.c
85
rtc);
drivers/rtc/proc.c
88
void rtc_proc_del_device(struct rtc_device *rtc)
drivers/rtc/proc.c
90
if (is_rtc_hctosys(rtc))
drivers/rtc/rtc-88pm886.c
60
struct rtc_device *rtc;
drivers/rtc/rtc-88pm886.c
65
rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-88pm886.c
66
if (IS_ERR(rtc))
drivers/rtc/rtc-88pm886.c
67
return dev_err_probe(dev, PTR_ERR(rtc),
drivers/rtc/rtc-88pm886.c
70
rtc->ops = &pm886_rtc_ops;
drivers/rtc/rtc-88pm886.c
71
rtc->range_max = U32_MAX;
drivers/rtc/rtc-88pm886.c
73
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-ab-b5ze-s3.c
120
struct rtc_device *rtc;
drivers/rtc/rtc-ab-b5ze-s3.c
749
struct rtc_device *rtc = rtc_data->rtc;
drivers/rtc/rtc-ab-b5ze-s3.c
778
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-ab-b5ze-s3.c
791
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-ab-b5ze-s3.c
855
data->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-ab-b5ze-s3.c
856
ret = PTR_ERR_OR_ZERO(data->rtc);
drivers/rtc/rtc-ab-b5ze-s3.c
880
data->rtc->ops = &rtc_ops;
drivers/rtc/rtc-ab-b5ze-s3.c
881
data->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-ab-b5ze-s3.c
882
data->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-ab-b5ze-s3.c
894
ret = devm_rtc_register_device(data->rtc);
drivers/rtc/rtc-ab-eoz9.c
293
rtc_update_irq(data->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-ab-eoz9.c
499
data->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-ab-eoz9.c
500
ret = PTR_ERR_OR_ZERO(data->rtc);
drivers/rtc/rtc-ab-eoz9.c
504
data->rtc->ops = &rtc_ops;
drivers/rtc/rtc-ab-eoz9.c
505
data->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-ab-eoz9.c
506
data->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-ab-eoz9.c
507
clear_bit(RTC_FEATURE_ALARM, data->rtc->features);
drivers/rtc/rtc-ab-eoz9.c
524
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, data->rtc->features);
drivers/rtc/rtc-ab-eoz9.c
529
set_bit(RTC_FEATURE_ALARM, data->rtc->features);
drivers/rtc/rtc-ab-eoz9.c
532
ret = devm_rtc_register_device(data->rtc);
drivers/rtc/rtc-ab-eoz9.c
95
struct rtc_device *rtc;
drivers/rtc/rtc-ab8500.c
309
struct rtc_device *rtc = data;
drivers/rtc/rtc-ab8500.c
312
dev_dbg(&rtc->dev, "%s\n", __func__);
drivers/rtc/rtc-ab8500.c
313
rtc_update_irq(rtc, 1, events);
drivers/rtc/rtc-ab8500.c
336
struct rtc_device *rtc;
drivers/rtc/rtc-ab8500.c
366
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ab8500.c
367
if (IS_ERR(rtc))
drivers/rtc/rtc-ab8500.c
368
return PTR_ERR(rtc);
drivers/rtc/rtc-ab8500.c
370
rtc->ops = (struct rtc_class_ops *)platid->driver_data;
drivers/rtc/rtc-ab8500.c
374
"ab8500-rtc", rtc);
drivers/rtc/rtc-ab8500.c
379
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-ab8500.c
381
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->features);
drivers/rtc/rtc-ab8500.c
382
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/rtc-ab8500.c
384
rtc->range_max = (1ULL << 24) * 60 - 1; // 24-bit minutes + 59 secs
drivers/rtc/rtc-ab8500.c
385
rtc->start_secs = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-ab8500.c
386
rtc->set_start_time = true;
drivers/rtc/rtc-ab8500.c
388
err = rtc_add_group(rtc, &ab8500_rtc_sysfs_files);
drivers/rtc/rtc-ab8500.c
392
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-abx80x.c
127
struct rtc_device *rtc;
drivers/rtc/rtc-abx80x.c
263
struct rtc_device *rtc = priv->rtc;
drivers/rtc/rtc-abx80x.c
271
rtc_update_irq(rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-abx80x.c
751
return devm_rtc_nvmem_register(priv->rtc, &config);
drivers/rtc/rtc-abx80x.c
905
priv->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-abx80x.c
906
if (IS_ERR(priv->rtc))
drivers/rtc/rtc-abx80x.c
907
return PTR_ERR(priv->rtc);
drivers/rtc/rtc-abx80x.c
909
priv->rtc->ops = &abx80x_rtc_ops;
drivers/rtc/rtc-abx80x.c
937
err = rtc_add_group(priv->rtc, &rtc_calib_attr_group);
drivers/rtc/rtc-abx80x.c
944
return devm_rtc_register_device(priv->rtc);
drivers/rtc/rtc-ac100.c
532
rtc_lock(chip->rtc);
drivers/rtc/rtc-ac100.c
541
rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ac100.c
555
rtc_unlock(chip->rtc);
drivers/rtc/rtc-ac100.c
585
chip->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ac100.c
586
if (IS_ERR(chip->rtc))
drivers/rtc/rtc-ac100.c
587
return PTR_ERR(chip->rtc);
drivers/rtc/rtc-ac100.c
589
chip->rtc->ops = &ac100_rtc_ops;
drivers/rtc/rtc-ac100.c
614
return devm_rtc_register_device(chip->rtc);
drivers/rtc/rtc-ac100.c
91
struct rtc_device *rtc;
drivers/rtc/rtc-amlogic-a4.c
101
regmap_read(rtc->map, RTC_REAL_TIME, &time_sec);
drivers/rtc/rtc-amlogic-a4.c
102
if (rtc->config->gray_stored)
drivers/rtc/rtc-amlogic-a4.c
112
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
116
if (!rtc->rtc_enabled) {
drivers/rtc/rtc-amlogic-a4.c
117
regmap_write_bits(rtc->map, RTC_CTRL, RTC_ENABLE, RTC_ENABLE);
drivers/rtc/rtc-amlogic-a4.c
119
rtc->rtc_enabled = regmap_test_bits(rtc->map, RTC_CTRL, RTC_ENABLE);
drivers/rtc/rtc-amlogic-a4.c
120
if (!rtc->rtc_enabled)
drivers/rtc/rtc-amlogic-a4.c
125
if (rtc->config->gray_stored)
drivers/rtc/rtc-amlogic-a4.c
127
regmap_write(rtc->map, RTC_COUNTER_REG, time_sec);
drivers/rtc/rtc-amlogic-a4.c
135
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
139
if (!rtc->rtc_enabled)
drivers/rtc/rtc-amlogic-a4.c
142
regmap_update_bits(rtc->map, RTC_CTRL,
drivers/rtc/rtc-amlogic-a4.c
144
regmap_update_bits(rtc->map, RTC_INT_MASK,
drivers/rtc/rtc-amlogic-a4.c
148
if (rtc->config->gray_stored)
drivers/rtc/rtc-amlogic-a4.c
150
regmap_write(rtc->map, RTC_ALARM0_REG, alarm_sec);
drivers/rtc/rtc-amlogic-a4.c
160
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
166
if (!rtc->rtc_enabled)
drivers/rtc/rtc-amlogic-a4.c
169
regmap_read(rtc->map, RTC_ALARM0_REG, &alarm_sec);
drivers/rtc/rtc-amlogic-a4.c
170
if (rtc->config->gray_stored)
drivers/rtc/rtc-amlogic-a4.c
174
alarm_enable = regmap_test_bits(rtc->map, RTC_CTRL, RTC_ALRM0_EN);
drivers/rtc/rtc-amlogic-a4.c
175
alarm_mask = regmap_test_bits(rtc->map, RTC_INT_MASK, RTC_ALRM0_IRQ_MSK);
drivers/rtc/rtc-amlogic-a4.c
185
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
191
if (!rtc->rtc_enabled)
drivers/rtc/rtc-amlogic-a4.c
194
regmap_read(rtc->map, RTC_SEC_ADJUST_REG, ®_val);
drivers/rtc/rtc-amlogic-a4.c
212
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
219
if (!rtc->rtc_enabled)
drivers/rtc/rtc-amlogic-a4.c
233
regmap_write(rtc->map, RTC_SEC_ADJUST_REG, reg_val);
drivers/rtc/rtc-amlogic-a4.c
240
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
243
regmap_update_bits(rtc->map, RTC_CTRL,
drivers/rtc/rtc-amlogic-a4.c
245
regmap_update_bits(rtc->map, RTC_INT_MASK,
drivers/rtc/rtc-amlogic-a4.c
248
regmap_update_bits(rtc->map, RTC_INT_MASK,
drivers/rtc/rtc-amlogic-a4.c
250
regmap_update_bits(rtc->map, RTC_CTRL,
drivers/rtc/rtc-amlogic-a4.c
269
struct aml_rtc_data *rtc = (struct aml_rtc_data *)data;
drivers/rtc/rtc-amlogic-a4.c
271
regmap_write(rtc->map, RTC_ALARM0_REG, 0);
drivers/rtc/rtc-amlogic-a4.c
272
regmap_write(rtc->map, RTC_INT_CLR, RTC_ALRM0_IRQ_STATUS);
drivers/rtc/rtc-amlogic-a4.c
274
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-amlogic-a4.c
279
static void aml_rtc_init(struct aml_rtc_data *rtc)
drivers/rtc/rtc-amlogic-a4.c
283
rtc->rtc_enabled = regmap_test_bits(rtc->map, RTC_CTRL, RTC_ENABLE);
drivers/rtc/rtc-amlogic-a4.c
284
if (!rtc->rtc_enabled) {
drivers/rtc/rtc-amlogic-a4.c
285
if (clk_get_rate(rtc->rtc_clk) == OSC_24M) {
drivers/rtc/rtc-amlogic-a4.c
287
regmap_write_bits(rtc->map, RTC_CTRL, RTC_OSC_SEL, RTC_OSC_SEL);
drivers/rtc/rtc-amlogic-a4.c
298
regmap_write_bits(rtc->map, RTC_OSCIN_CTRL0, RTC_OSCIN_IN_EN
drivers/rtc/rtc-amlogic-a4.c
305
regmap_write_bits(rtc->map, RTC_OSCIN_CTRL1, RTC_OSCIN_OUT_N0M0
drivers/rtc/rtc-amlogic-a4.c
309
regmap_write_bits(rtc->map, RTC_CTRL, RTC_OSC_SEL, 0);
drivers/rtc/rtc-amlogic-a4.c
312
regmap_write_bits(rtc->map, RTC_INT_MASK,
drivers/rtc/rtc-amlogic-a4.c
314
regmap_write_bits(rtc->map, RTC_CTRL, RTC_ALRM0_EN, 0);
drivers/rtc/rtc-amlogic-a4.c
320
struct aml_rtc_data *rtc;
drivers/rtc/rtc-amlogic-a4.c
331
rtc = devm_kzalloc(dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-amlogic-a4.c
332
if (!rtc)
drivers/rtc/rtc-amlogic-a4.c
335
rtc->config = of_device_get_match_data(dev);
drivers/rtc/rtc-amlogic-a4.c
336
if (!rtc->config)
drivers/rtc/rtc-amlogic-a4.c
343
rtc->map = devm_regmap_init_mmio(dev, base, &aml_rtc_regmap_config);
drivers/rtc/rtc-amlogic-a4.c
344
if (IS_ERR(rtc->map))
drivers/rtc/rtc-amlogic-a4.c
345
return dev_err_probe(dev, PTR_ERR(rtc->map), "regmap init failed\n");
drivers/rtc/rtc-amlogic-a4.c
347
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-amlogic-a4.c
348
if (rtc->irq < 0)
drivers/rtc/rtc-amlogic-a4.c
349
return rtc->irq;
drivers/rtc/rtc-amlogic-a4.c
351
rtc->rtc_clk = devm_clk_get(dev, "osc");
drivers/rtc/rtc-amlogic-a4.c
352
if (IS_ERR(rtc->rtc_clk))
drivers/rtc/rtc-amlogic-a4.c
353
return dev_err_probe(dev, PTR_ERR(rtc->rtc_clk),
drivers/rtc/rtc-amlogic-a4.c
355
if (clk_get_rate(rtc->rtc_clk) != OSC_32K && clk_get_rate(rtc->rtc_clk) != OSC_24M)
drivers/rtc/rtc-amlogic-a4.c
358
rtc->sys_clk = devm_clk_get_enabled(dev, "sys");
drivers/rtc/rtc-amlogic-a4.c
359
if (IS_ERR(rtc->sys_clk))
drivers/rtc/rtc-amlogic-a4.c
360
return dev_err_probe(dev, PTR_ERR(rtc->sys_clk),
drivers/rtc/rtc-amlogic-a4.c
362
aml_rtc_init(rtc);
drivers/rtc/rtc-amlogic-a4.c
365
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-amlogic-a4.c
367
rtc->rtc_dev = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-amlogic-a4.c
368
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-amlogic-a4.c
369
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-amlogic-a4.c
371
ret = devm_request_irq(dev, rtc->irq, aml_rtc_handler,
drivers/rtc/rtc-amlogic-a4.c
372
0, "aml-rtc alarm", rtc);
drivers/rtc/rtc-amlogic-a4.c
375
rtc->irq, ret);
drivers/rtc/rtc-amlogic-a4.c
379
rtc->rtc_dev->ops = &aml_rtc_ops;
drivers/rtc/rtc-amlogic-a4.c
380
rtc->rtc_dev->range_min = 0;
drivers/rtc/rtc-amlogic-a4.c
381
rtc->rtc_dev->range_max = U32_MAX;
drivers/rtc/rtc-amlogic-a4.c
383
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-amlogic-a4.c
389
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
392
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-amlogic-a4.c
399
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
402
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-amlogic-a4.c
94
struct aml_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-amlogic-a4.c
98
if (!rtc->rtc_enabled)
drivers/rtc/rtc-armada38x.c
103
static void rtc_delayed_write(u32 val, struct armada38x_rtc *rtc, int offset)
drivers/rtc/rtc-armada38x.c
105
writel(0, rtc->regs + RTC_STATUS);
drivers/rtc/rtc-armada38x.c
106
writel(0, rtc->regs + RTC_STATUS);
drivers/rtc/rtc-armada38x.c
107
writel(val, rtc->regs + offset);
drivers/rtc/rtc-armada38x.c
112
static void rtc_update_38x_mbus_timing_params(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
116
reg = readl(rtc->regs_soc + RTC_38X_BRIDGE_TIMING_CTL);
drivers/rtc/rtc-armada38x.c
121
writel(reg, rtc->regs_soc + RTC_38X_BRIDGE_TIMING_CTL);
drivers/rtc/rtc-armada38x.c
124
static void rtc_update_8k_mbus_timing_params(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
128
reg = readl(rtc->regs_soc + RTC_8K_BRIDGE_TIMING_CTL0);
drivers/rtc/rtc-armada38x.c
133
writel(reg, rtc->regs_soc + RTC_8K_BRIDGE_TIMING_CTL0);
drivers/rtc/rtc-armada38x.c
135
reg = readl(rtc->regs_soc + RTC_8K_BRIDGE_TIMING_CTL1);
drivers/rtc/rtc-armada38x.c
138
writel(reg, rtc->regs_soc + RTC_8K_BRIDGE_TIMING_CTL1);
drivers/rtc/rtc-armada38x.c
141
static u32 read_rtc_register(struct armada38x_rtc *rtc, u8 rtc_reg)
drivers/rtc/rtc-armada38x.c
143
return readl(rtc->regs + rtc_reg);
drivers/rtc/rtc-armada38x.c
146
static u32 read_rtc_register_38x_wa(struct armada38x_rtc *rtc, u8 rtc_reg)
drivers/rtc/rtc-armada38x.c
151
rtc->val_to_freq[i].value = readl(rtc->regs + rtc_reg);
drivers/rtc/rtc-armada38x.c
152
rtc->val_to_freq[i].freq = 0;
drivers/rtc/rtc-armada38x.c
157
u32 value = rtc->val_to_freq[i].value;
drivers/rtc/rtc-armada38x.c
159
while (rtc->val_to_freq[j].freq) {
drivers/rtc/rtc-armada38x.c
160
if (rtc->val_to_freq[j].value == value) {
drivers/rtc/rtc-armada38x.c
161
rtc->val_to_freq[j].freq++;
drivers/rtc/rtc-armada38x.c
167
if (!rtc->val_to_freq[j].freq) {
drivers/rtc/rtc-armada38x.c
168
rtc->val_to_freq[j].value = value;
drivers/rtc/rtc-armada38x.c
169
rtc->val_to_freq[j].freq = 1;
drivers/rtc/rtc-armada38x.c
172
if (rtc->val_to_freq[j].freq > max) {
drivers/rtc/rtc-armada38x.c
174
max = rtc->val_to_freq[j].freq;
drivers/rtc/rtc-armada38x.c
185
return rtc->val_to_freq[index_max].value;
drivers/rtc/rtc-armada38x.c
188
static void armada38x_clear_isr(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
190
u32 val = readl(rtc->regs_soc + SOC_RTC_INTERRUPT);
drivers/rtc/rtc-armada38x.c
192
writel(val & ~SOC_RTC_ALARM1, rtc->regs_soc + SOC_RTC_INTERRUPT);
drivers/rtc/rtc-armada38x.c
195
static void armada38x_unmask_interrupt(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
197
u32 val = readl(rtc->regs_soc + SOC_RTC_INTERRUPT);
drivers/rtc/rtc-armada38x.c
199
writel(val | SOC_RTC_ALARM1_MASK, rtc->regs_soc + SOC_RTC_INTERRUPT);
drivers/rtc/rtc-armada38x.c
202
static void armada8k_clear_isr(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
204
writel(RTC_8K_ALARM2, rtc->regs_soc + RTC_8K_ISR);
drivers/rtc/rtc-armada38x.c
207
static void armada8k_unmask_interrupt(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
209
writel(RTC_8K_ALARM2, rtc->regs_soc + RTC_8K_IMR);
drivers/rtc/rtc-armada38x.c
214
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
217
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
218
time = rtc->data->read_rtc_reg(rtc, RTC_TIME);
drivers/rtc/rtc-armada38x.c
219
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
226
static void armada38x_rtc_reset(struct armada38x_rtc *rtc)
drivers/rtc/rtc-armada38x.c
230
reg = rtc->data->read_rtc_reg(rtc, RTC_CONF_TEST);
drivers/rtc/rtc-armada38x.c
233
rtc_delayed_write(0, rtc, RTC_CONF_TEST);
drivers/rtc/rtc-armada38x.c
235
rtc_delayed_write(0, rtc, RTC_TIME);
drivers/rtc/rtc-armada38x.c
236
rtc_delayed_write(SOC_RTC_ALARM1 | SOC_RTC_ALARM2, rtc,
drivers/rtc/rtc-armada38x.c
238
rtc_delayed_write(RTC_NOMINAL_TIMING, rtc, RTC_CCR);
drivers/rtc/rtc-armada38x.c
240
rtc->initialized = true;
drivers/rtc/rtc-armada38x.c
245
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
250
if (!rtc->initialized)
drivers/rtc/rtc-armada38x.c
251
armada38x_rtc_reset(rtc);
drivers/rtc/rtc-armada38x.c
253
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
254
rtc_delayed_write(time, rtc, RTC_TIME);
drivers/rtc/rtc-armada38x.c
255
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
262
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
264
u32 reg = ALARM_REG(RTC_ALARM1, rtc->data->alarm);
drivers/rtc/rtc-armada38x.c
265
u32 reg_irq = ALARM_REG(RTC_IRQ1_CONF, rtc->data->alarm);
drivers/rtc/rtc-armada38x.c
268
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
270
time = rtc->data->read_rtc_reg(rtc, reg);
drivers/rtc/rtc-armada38x.c
271
val = rtc->data->read_rtc_reg(rtc, reg_irq) & RTC_IRQ_AL_EN;
drivers/rtc/rtc-armada38x.c
273
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
283
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
284
u32 reg = ALARM_REG(RTC_ALARM1, rtc->data->alarm);
drivers/rtc/rtc-armada38x.c
285
u32 reg_irq = ALARM_REG(RTC_IRQ1_CONF, rtc->data->alarm);
drivers/rtc/rtc-armada38x.c
290
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
292
rtc_delayed_write(time, rtc, reg);
drivers/rtc/rtc-armada38x.c
295
rtc_delayed_write(RTC_IRQ_AL_EN, rtc, reg_irq);
drivers/rtc/rtc-armada38x.c
296
rtc->data->unmask_interrupt(rtc);
drivers/rtc/rtc-armada38x.c
299
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
307
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
308
u32 reg_irq = ALARM_REG(RTC_IRQ1_CONF, rtc->data->alarm);
drivers/rtc/rtc-armada38x.c
311
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
314
rtc_delayed_write(RTC_IRQ_AL_EN, rtc, reg_irq);
drivers/rtc/rtc-armada38x.c
316
rtc_delayed_write(0, rtc, reg_irq);
drivers/rtc/rtc-armada38x.c
318
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
325
struct armada38x_rtc *rtc = data;
drivers/rtc/rtc-armada38x.c
328
u32 reg_irq = ALARM_REG(RTC_IRQ1_CONF, rtc->data->alarm);
drivers/rtc/rtc-armada38x.c
330
dev_dbg(&rtc->rtc_dev->dev, "%s:irq(%d)\n", __func__, irq);
drivers/rtc/rtc-armada38x.c
332
spin_lock(&rtc->lock);
drivers/rtc/rtc-armada38x.c
334
rtc->data->clear_isr(rtc);
drivers/rtc/rtc-armada38x.c
335
val = rtc->data->read_rtc_reg(rtc, reg_irq);
drivers/rtc/rtc-armada38x.c
337
rtc_delayed_write(0, rtc, reg_irq);
drivers/rtc/rtc-armada38x.c
339
rtc_delayed_write(1 << rtc->data->alarm, rtc, RTC_STATUS);
drivers/rtc/rtc-armada38x.c
341
spin_unlock(&rtc->lock);
drivers/rtc/rtc-armada38x.c
350
rtc_update_irq(rtc->rtc_dev, 1, event);
drivers/rtc/rtc-armada38x.c
399
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
403
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
404
ccr = rtc->data->read_rtc_reg(rtc, RTC_CCR);
drivers/rtc/rtc-armada38x.c
405
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-armada38x.c
416
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
445
rtc_delayed_write(ccr, rtc, RTC_CCR);
drivers/rtc/rtc-armada38x.c
491
struct armada38x_rtc *rtc;
drivers/rtc/rtc-armada38x.c
493
rtc = devm_kzalloc(&pdev->dev, sizeof(struct armada38x_rtc),
drivers/rtc/rtc-armada38x.c
495
if (!rtc)
drivers/rtc/rtc-armada38x.c
498
rtc->data = of_device_get_match_data(&pdev->dev);
drivers/rtc/rtc-armada38x.c
500
rtc->val_to_freq = devm_kcalloc(&pdev->dev, SAMPLE_NR,
drivers/rtc/rtc-armada38x.c
502
if (!rtc->val_to_freq)
drivers/rtc/rtc-armada38x.c
505
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-armada38x.c
507
rtc->regs = devm_platform_ioremap_resource_byname(pdev, "rtc");
drivers/rtc/rtc-armada38x.c
508
if (IS_ERR(rtc->regs))
drivers/rtc/rtc-armada38x.c
509
return PTR_ERR(rtc->regs);
drivers/rtc/rtc-armada38x.c
510
rtc->regs_soc = devm_platform_ioremap_resource_byname(pdev, "rtc-soc");
drivers/rtc/rtc-armada38x.c
511
if (IS_ERR(rtc->regs_soc))
drivers/rtc/rtc-armada38x.c
512
return PTR_ERR(rtc->regs_soc);
drivers/rtc/rtc-armada38x.c
514
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-armada38x.c
515
if (rtc->irq < 0)
drivers/rtc/rtc-armada38x.c
516
return rtc->irq;
drivers/rtc/rtc-armada38x.c
518
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-armada38x.c
519
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-armada38x.c
520
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-armada38x.c
522
if (devm_request_irq(&pdev->dev, rtc->irq, armada38x_rtc_alarm_irq,
drivers/rtc/rtc-armada38x.c
523
0, pdev->name, rtc) < 0) {
drivers/rtc/rtc-armada38x.c
525
rtc->irq = -1;
drivers/rtc/rtc-armada38x.c
527
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-armada38x.c
529
if (rtc->irq != -1)
drivers/rtc/rtc-armada38x.c
532
clear_bit(RTC_FEATURE_ALARM, rtc->rtc_dev->features);
drivers/rtc/rtc-armada38x.c
535
rtc->data->update_mbus_timing(rtc);
drivers/rtc/rtc-armada38x.c
537
rtc->rtc_dev->ops = &armada38x_rtc_ops;
drivers/rtc/rtc-armada38x.c
538
rtc->rtc_dev->range_max = U32_MAX;
drivers/rtc/rtc-armada38x.c
540
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-armada38x.c
547
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
549
return enable_irq_wake(rtc->irq);
drivers/rtc/rtc-armada38x.c
558
struct armada38x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-armada38x.c
561
rtc->data->update_mbus_timing(rtc);
drivers/rtc/rtc-armada38x.c
563
return disable_irq_wake(rtc->irq);
drivers/rtc/rtc-armada38x.c
86
void (*update_mbus_timing)(struct armada38x_rtc *rtc);
drivers/rtc/rtc-armada38x.c
87
u32 (*read_rtc_reg)(struct armada38x_rtc *rtc, u8 rtc_reg);
drivers/rtc/rtc-armada38x.c
88
void (*clear_isr)(struct armada38x_rtc *rtc);
drivers/rtc/rtc-armada38x.c
89
void (*unmask_interrupt)(struct armada38x_rtc *rtc);
drivers/rtc/rtc-as3722.c
155
rtc_update_irq(as3722_rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-as3722.c
192
as3722_rtc->rtc = devm_rtc_device_register(&pdev->dev, "as3722-rtc",
drivers/rtc/rtc-as3722.c
194
if (IS_ERR(as3722_rtc->rtc)) {
drivers/rtc/rtc-as3722.c
195
ret = PTR_ERR(as3722_rtc->rtc);
drivers/rtc/rtc-as3722.c
26
struct rtc_device *rtc;
drivers/rtc/rtc-asm9260.c
109
struct rtc_device *rtc;
drivers/rtc/rtc-asm9260.c
119
rtc_lock(priv->rtc);
drivers/rtc/rtc-asm9260.c
122
rtc_unlock(priv->rtc);
drivers/rtc/rtc-asm9260.c
127
rtc_unlock(priv->rtc);
drivers/rtc/rtc-asm9260.c
131
rtc_update_irq(priv->rtc, 1, events);
drivers/rtc/rtc-asm9260.c
287
priv->rtc = devm_rtc_device_register(dev, dev_name(dev),
drivers/rtc/rtc-asm9260.c
289
if (IS_ERR(priv->rtc)) {
drivers/rtc/rtc-asm9260.c
290
ret = PTR_ERR(priv->rtc);
drivers/rtc/rtc-aspeed.c
101
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-aspeed.c
23
struct aspeed_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-aspeed.c
27
if (!(readl(rtc->base + RTC_CTRL) & RTC_ENABLE)) {
drivers/rtc/rtc-aspeed.c
33
reg2 = readl(rtc->base + RTC_YEAR);
drivers/rtc/rtc-aspeed.c
34
reg1 = readl(rtc->base + RTC_TIME);
drivers/rtc/rtc-aspeed.c
35
} while (reg2 != readl(rtc->base + RTC_YEAR));
drivers/rtc/rtc-aspeed.c
54
struct aspeed_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-aspeed.c
67
ctrl = readl(rtc->base + RTC_CTRL);
drivers/rtc/rtc-aspeed.c
68
writel(ctrl | RTC_UNLOCK, rtc->base + RTC_CTRL);
drivers/rtc/rtc-aspeed.c
70
writel(reg1, rtc->base + RTC_TIME);
drivers/rtc/rtc-aspeed.c
71
writel(reg2, rtc->base + RTC_YEAR);
drivers/rtc/rtc-aspeed.c
74
writel(ctrl | RTC_ENABLE, rtc->base + RTC_CTRL);
drivers/rtc/rtc-aspeed.c
86
struct aspeed_rtc *rtc;
drivers/rtc/rtc-aspeed.c
89
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-aspeed.c
90
if (!rtc)
drivers/rtc/rtc-aspeed.c
93
rtc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-aspeed.c
94
if (IS_ERR(rtc->base))
drivers/rtc/rtc-aspeed.c
95
return PTR_ERR(rtc->base);
drivers/rtc/rtc-at91rm9200.c
378
struct rtc_device *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-at91rm9200.c
398
rtc_update_irq(rtc, 1, events);
drivers/rtc/rtc-at91rm9200.c
471
struct rtc_device *rtc;
drivers/rtc/rtc-at91rm9200.c
496
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-at91rm9200.c
497
if (IS_ERR(rtc))
drivers/rtc/rtc-at91rm9200.c
498
return PTR_ERR(rtc);
drivers/rtc/rtc-at91rm9200.c
499
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-at91rm9200.c
534
rtc->ops = &sama5d4_rtc_ops;
drivers/rtc/rtc-at91rm9200.c
536
rtc->ops = &at91_rtc_ops;
drivers/rtc/rtc-at91rm9200.c
538
rtc->range_min = RTC_TIMESTAMP_BEGIN_1900;
drivers/rtc/rtc-at91rm9200.c
539
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-at91rm9200.c
540
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-at91rm9200.c
610
struct rtc_device *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91rm9200.c
619
rtc_update_irq(rtc, 1, cached_events);
drivers/rtc/rtc-at91sam9.c
105
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
110
offset = gpbr_readl(rtc);
drivers/rtc/rtc-at91sam9.c
115
secs = rtt_readl(rtc, VR);
drivers/rtc/rtc-at91sam9.c
116
secs2 = rtt_readl(rtc, VR);
drivers/rtc/rtc-at91sam9.c
118
secs = rtt_readl(rtc, VR);
drivers/rtc/rtc-at91sam9.c
132
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
140
mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
143
rtt_writel(rtc, MR, mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN));
drivers/rtc/rtc-at91sam9.c
146
offset = gpbr_readl(rtc);
drivers/rtc/rtc-at91sam9.c
150
gpbr_writel(rtc, secs);
drivers/rtc/rtc-at91sam9.c
153
alarm = rtt_readl(rtc, AR);
drivers/rtc/rtc-at91sam9.c
166
rtt_writel(rtc, AR, alarm);
drivers/rtc/rtc-at91sam9.c
170
rtt_writel(rtc, MR, mr | AT91_RTT_RTTRST);
drivers/rtc/rtc-at91sam9.c
177
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
179
u32 alarm = rtt_readl(rtc, AR);
drivers/rtc/rtc-at91sam9.c
182
offset = gpbr_readl(rtc);
drivers/rtc/rtc-at91sam9.c
192
if (rtt_readl(rtc, MR) & AT91_RTT_ALMIEN)
drivers/rtc/rtc-at91sam9.c
201
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
209
offset = gpbr_readl(rtc);
drivers/rtc/rtc-at91sam9.c
214
mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
215
rtt_writel(rtc, MR, mr & ~AT91_RTT_ALMIEN);
drivers/rtc/rtc-at91sam9.c
219
rtt_writel(rtc, AR, ALARM_DISABLED);
drivers/rtc/rtc-at91sam9.c
224
rtt_writel(rtc, AR, secs - offset);
drivers/rtc/rtc-at91sam9.c
226
rtt_writel(rtc, MR, mr | AT91_RTT_ALMIEN);
drivers/rtc/rtc-at91sam9.c
235
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
236
u32 mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
240
rtt_writel(rtc, MR, mr | AT91_RTT_ALMIEN);
drivers/rtc/rtc-at91sam9.c
242
rtt_writel(rtc, MR, mr & ~AT91_RTT_ALMIEN);
drivers/rtc/rtc-at91sam9.c
251
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
252
u32 mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
259
static irqreturn_t at91_rtc_cache_events(struct sam9_rtc *rtc)
drivers/rtc/rtc-at91sam9.c
266
mr = rtt_readl(rtc, MR) & (AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN);
drivers/rtc/rtc-at91sam9.c
267
sr = rtt_readl(rtc, SR) & (mr >> 16);
drivers/rtc/rtc-at91sam9.c
273
rtc->events |= (RTC_AF | RTC_IRQF);
drivers/rtc/rtc-at91sam9.c
277
rtc->events |= (RTC_UF | RTC_IRQF);
drivers/rtc/rtc-at91sam9.c
282
static void at91_rtc_flush_events(struct sam9_rtc *rtc)
drivers/rtc/rtc-at91sam9.c
284
if (!rtc->events)
drivers/rtc/rtc-at91sam9.c
287
rtc_update_irq(rtc->rtcdev, 1, rtc->events);
drivers/rtc/rtc-at91sam9.c
288
rtc->events = 0;
drivers/rtc/rtc-at91sam9.c
291
rtc->events >> 8, rtc->events & 0x000000FF);
drivers/rtc/rtc-at91sam9.c
299
struct sam9_rtc *rtc = _rtc;
drivers/rtc/rtc-at91sam9.c
302
spin_lock(&rtc->lock);
drivers/rtc/rtc-at91sam9.c
304
ret = at91_rtc_cache_events(rtc);
drivers/rtc/rtc-at91sam9.c
307
if (rtc->suspended) {
drivers/rtc/rtc-at91sam9.c
309
rtt_writel(rtc, MR,
drivers/rtc/rtc-at91sam9.c
310
rtt_readl(rtc, MR) &
drivers/rtc/rtc-at91sam9.c
315
at91_rtc_flush_events(rtc);
drivers/rtc/rtc-at91sam9.c
318
spin_unlock(&rtc->lock);
drivers/rtc/rtc-at91sam9.c
337
struct sam9_rtc *rtc;
drivers/rtc/rtc-at91sam9.c
347
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-at91sam9.c
348
if (!rtc)
drivers/rtc/rtc-at91sam9.c
351
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-at91sam9.c
352
rtc->irq = irq;
drivers/rtc/rtc-at91sam9.c
358
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-at91sam9.c
360
rtc->rtt = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-at91sam9.c
361
if (IS_ERR(rtc->rtt))
drivers/rtc/rtc-at91sam9.c
362
return PTR_ERR(rtc->rtt);
drivers/rtc/rtc-at91sam9.c
370
rtc->gpbr = syscon_node_to_regmap(args.np);
drivers/rtc/rtc-at91sam9.c
372
rtc->gpbr_offset = args.args[0];
drivers/rtc/rtc-at91sam9.c
373
if (IS_ERR(rtc->gpbr)) {
drivers/rtc/rtc-at91sam9.c
378
rtc->sclk = devm_clk_get(&pdev->dev, NULL);
drivers/rtc/rtc-at91sam9.c
379
if (IS_ERR(rtc->sclk))
drivers/rtc/rtc-at91sam9.c
380
return PTR_ERR(rtc->sclk);
drivers/rtc/rtc-at91sam9.c
382
ret = clk_prepare_enable(rtc->sclk);
drivers/rtc/rtc-at91sam9.c
388
sclk_rate = clk_get_rate(rtc->sclk);
drivers/rtc/rtc-at91sam9.c
395
mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
400
gpbr_writel(rtc, 0);
drivers/rtc/rtc-at91sam9.c
405
rtt_writel(rtc, MR, mr);
drivers/rtc/rtc-at91sam9.c
407
rtc->rtcdev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-at91sam9.c
408
if (IS_ERR(rtc->rtcdev)) {
drivers/rtc/rtc-at91sam9.c
409
ret = PTR_ERR(rtc->rtcdev);
drivers/rtc/rtc-at91sam9.c
413
rtc->rtcdev->ops = &at91_rtc_ops;
drivers/rtc/rtc-at91sam9.c
414
rtc->rtcdev->range_max = U32_MAX;
drivers/rtc/rtc-at91sam9.c
417
ret = devm_request_irq(&pdev->dev, rtc->irq, at91_rtc_interrupt,
drivers/rtc/rtc-at91sam9.c
419
dev_name(&rtc->rtcdev->dev), rtc);
drivers/rtc/rtc-at91sam9.c
421
dev_dbg(&pdev->dev, "can't share IRQ %d?\n", rtc->irq);
drivers/rtc/rtc-at91sam9.c
431
if (gpbr_readl(rtc) == 0)
drivers/rtc/rtc-at91sam9.c
433
dev_name(&rtc->rtcdev->dev));
drivers/rtc/rtc-at91sam9.c
435
return devm_rtc_register_device(rtc->rtcdev);
drivers/rtc/rtc-at91sam9.c
438
clk_disable_unprepare(rtc->sclk);
drivers/rtc/rtc-at91sam9.c
448
struct sam9_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-at91sam9.c
449
u32 mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
452
rtt_writel(rtc, MR, mr & ~(AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN));
drivers/rtc/rtc-at91sam9.c
454
clk_disable_unprepare(rtc->sclk);
drivers/rtc/rtc-at91sam9.c
459
struct sam9_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-at91sam9.c
460
u32 mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
462
rtc->imr = mr & (AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN);
drivers/rtc/rtc-at91sam9.c
463
rtt_writel(rtc, MR, mr & ~rtc->imr);
drivers/rtc/rtc-at91sam9.c
472
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
473
u32 mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
479
rtc->imr = mr & (AT91_RTT_ALMIEN | AT91_RTT_RTTINCIEN);
drivers/rtc/rtc-at91sam9.c
480
if (rtc->imr) {
drivers/rtc/rtc-at91sam9.c
484
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-at91sam9.c
485
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-at91sam9.c
486
rtc->suspended = true;
drivers/rtc/rtc-at91sam9.c
487
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-at91sam9.c
490
rtt_writel(rtc, MR, mr & ~AT91_RTT_RTTINCIEN);
drivers/rtc/rtc-at91sam9.c
492
rtt_writel(rtc, MR, mr & ~rtc->imr);
drivers/rtc/rtc-at91sam9.c
501
struct sam9_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-at91sam9.c
504
if (rtc->imr) {
drivers/rtc/rtc-at91sam9.c
508
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-at91sam9.c
509
mr = rtt_readl(rtc, MR);
drivers/rtc/rtc-at91sam9.c
510
rtt_writel(rtc, MR, mr | rtc->imr);
drivers/rtc/rtc-at91sam9.c
512
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-at91sam9.c
513
rtc->suspended = false;
drivers/rtc/rtc-at91sam9.c
514
at91_rtc_cache_events(rtc);
drivers/rtc/rtc-at91sam9.c
515
at91_rtc_flush_events(rtc);
drivers/rtc/rtc-at91sam9.c
516
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-at91sam9.c
81
#define rtt_readl(rtc, field) \
drivers/rtc/rtc-at91sam9.c
82
readl((rtc)->rtt + AT91_RTT_ ## field)
drivers/rtc/rtc-at91sam9.c
83
#define rtt_writel(rtc, field, val) \
drivers/rtc/rtc-at91sam9.c
84
writel((val), (rtc)->rtt + AT91_RTT_ ## field)
drivers/rtc/rtc-at91sam9.c
86
static inline unsigned int gpbr_readl(struct sam9_rtc *rtc)
drivers/rtc/rtc-at91sam9.c
90
regmap_read(rtc->gpbr, rtc->gpbr_offset, &val);
drivers/rtc/rtc-at91sam9.c
95
static inline void gpbr_writel(struct sam9_rtc *rtc, unsigned int val)
drivers/rtc/rtc-at91sam9.c
97
regmap_write(rtc->gpbr, rtc->gpbr_offset, val);
drivers/rtc/rtc-atcrtc100.c
106
return regmap_read_poll_timeout(rtc->regmap, RTC_STA, val,
drivers/rtc/rtc-atcrtc100.c
114
struct atcrtc_dev *rtc = dev;
drivers/rtc/rtc-atcrtc100.c
117
regmap_read(rtc->regmap, RTC_STA, &status);
drivers/rtc/rtc-atcrtc100.c
119
regmap_write(rtc->regmap, RTC_STA, ALARM_INT);
drivers/rtc/rtc-atcrtc100.c
120
rtc->alarm_en = false;
drivers/rtc/rtc-atcrtc100.c
121
schedule_work(&rtc->rtc_work);
drivers/rtc/rtc-atcrtc100.c
122
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-atcrtc100.c
130
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
134
ret = atcrtc_check_write_done(rtc);
drivers/rtc/rtc-atcrtc100.c
139
regmap_update_bits(rtc->regmap, RTC_CR, mask, enable ? mask : 0);
drivers/rtc/rtc-atcrtc100.c
146
struct atcrtc_dev *rtc =
drivers/rtc/rtc-atcrtc100.c
150
rtc_lock(rtc->rtc_dev);
drivers/rtc/rtc-atcrtc100.c
152
if (!rtc->alarm_en) {
drivers/rtc/rtc-atcrtc100.c
153
ret = atcrtc_check_write_done(rtc);
drivers/rtc/rtc-atcrtc100.c
155
dev_info(&rtc->rtc_dev->dev,
drivers/rtc/rtc-atcrtc100.c
159
regmap_update_bits(rtc->regmap, RTC_CR,
drivers/rtc/rtc-atcrtc100.c
162
rtc_unlock(rtc->rtc_dev);
drivers/rtc/rtc-atcrtc100.c
167
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
171
if (!regmap_test_bits(rtc->regmap, RTC_CR, RTC_EN))
drivers/rtc/rtc-atcrtc100.c
174
regmap_read(rtc->regmap, RTC_CNT, &rtc_cnt);
drivers/rtc/rtc-atcrtc100.c
186
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
198
ret = atcrtc_check_write_done(rtc);
drivers/rtc/rtc-atcrtc100.c
201
regmap_write(rtc->regmap, RTC_CNT, counter);
drivers/rtc/rtc-atcrtc100.c
203
ret = atcrtc_check_write_done(rtc);
drivers/rtc/rtc-atcrtc100.c
206
regmap_update_bits(rtc->regmap, RTC_CR, RTC_EN, RTC_EN);
drivers/rtc/rtc-atcrtc100.c
213
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
217
wkalrm->enabled = regmap_test_bits(rtc->regmap, RTC_CR, ALARM_INT);
drivers/rtc/rtc-atcrtc100.c
218
regmap_read(rtc->regmap, RTC_ALM, &rtc_alarm);
drivers/rtc/rtc-atcrtc100.c
233
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
243
rtc->alarm_en = false;
drivers/rtc/rtc-atcrtc100.c
249
ret = atcrtc_check_write_done(rtc);
drivers/rtc/rtc-atcrtc100.c
253
regmap_write(rtc->regmap, RTC_ALM, rtc_alarm);
drivers/rtc/rtc-atcrtc100.c
255
rtc->alarm_en = wkalrm->enabled;
drivers/rtc/rtc-atcrtc100.c
342
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
345
disable_irq_wake(rtc->alarm_irq);
drivers/rtc/rtc-atcrtc100.c
352
struct atcrtc_dev *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-atcrtc100.c
355
enable_irq_wake(rtc->alarm_irq);
drivers/rtc/rtc-atcrtc100.c
98
static int atcrtc_check_write_done(struct atcrtc_dev *rtc)
drivers/rtc/rtc-bd70528.c
230
struct rtc_device *rtc = data;
drivers/rtc/rtc-bd70528.c
232
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF | RTC_PF);
drivers/rtc/rtc-bd70528.c
241
struct rtc_device *rtc;
drivers/rtc/rtc-bd70528.c
324
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-bd70528.c
325
if (IS_ERR(rtc)) {
drivers/rtc/rtc-bd70528.c
327
return PTR_ERR(rtc);
drivers/rtc/rtc-bd70528.c
330
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-bd70528.c
331
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-bd70528.c
332
rtc->ops = rtc_ops;
drivers/rtc/rtc-bd70528.c
336
IRQF_ONESHOT, "bd70528-rtc", rtc);
drivers/rtc/rtc-bd70528.c
340
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-bq32k.c
256
struct rtc_device *rtc;
drivers/rtc/rtc-bq32k.c
283
rtc = devm_rtc_device_register(&client->dev, bq32k_driver.driver.name,
drivers/rtc/rtc-bq32k.c
285
if (IS_ERR(rtc))
drivers/rtc/rtc-bq32k.c
286
return PTR_ERR(rtc);
drivers/rtc/rtc-bq32k.c
296
i2c_set_clientdata(client, rtc);
drivers/rtc/rtc-bq4802.c
179
p->rtc = devm_rtc_device_register(&pdev->dev, "bq4802",
drivers/rtc/rtc-bq4802.c
181
if (IS_ERR(p->rtc)) {
drivers/rtc/rtc-bq4802.c
182
err = PTR_ERR(p->rtc);
drivers/rtc/rtc-bq4802.c
23
struct rtc_device *rtc;
drivers/rtc/rtc-brcmstb-waketimer.c
120
rtc_update_irq(timer->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-brcmstb-waketimer.c
26
struct rtc_device *rtc;
drivers/rtc/rtc-brcmstb-waketimer.c
290
timer->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-brcmstb-waketimer.c
291
if (IS_ERR(timer->rtc))
drivers/rtc/rtc-brcmstb-waketimer.c
292
return PTR_ERR(timer->rtc);
drivers/rtc/rtc-brcmstb-waketimer.c
339
timer->rtc->ops = &brcmstb_waketmr_ops;
drivers/rtc/rtc-brcmstb-waketimer.c
340
timer->rtc->range_max = U32_MAX;
drivers/rtc/rtc-brcmstb-waketimer.c
342
ret = devm_rtc_register_device(timer->rtc);
drivers/rtc/rtc-cmos.c
1022
cmos_rtc.rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-cmos.c
1023
if (IS_ERR(cmos_rtc.rtc)) {
drivers/rtc/rtc-cmos.c
1024
retval = PTR_ERR(cmos_rtc.rtc);
drivers/rtc/rtc-cmos.c
1029
cmos_rtc.rtc->alarm_offset_max = SECS_PER_YEAR - 1;
drivers/rtc/rtc-cmos.c
1031
cmos_rtc.rtc->alarm_offset_max = SECS_PER_MONTH - 1;
drivers/rtc/rtc-cmos.c
1033
cmos_rtc.rtc->alarm_offset_max = SECS_PER_DAY - 1;
drivers/rtc/rtc-cmos.c
1035
rename_region(ports, dev_name(&cmos_rtc.rtc->dev));
drivers/rtc/rtc-cmos.c
1052
cmos_rtc.rtc->irq_freq = 1024;
drivers/rtc/rtc-cmos.c
1054
hpet_set_periodic_freq(cmos_rtc.rtc->irq_freq);
drivers/rtc/rtc-cmos.c
1091
0, dev_name(&cmos_rtc.rtc->dev),
drivers/rtc/rtc-cmos.c
1092
cmos_rtc.rtc);
drivers/rtc/rtc-cmos.c
1098
clear_bit(RTC_FEATURE_ALARM, cmos_rtc.rtc->features);
drivers/rtc/rtc-cmos.c
1101
cmos_rtc.rtc->ops = &cmos_rtc_ops;
drivers/rtc/rtc-cmos.c
1103
retval = devm_rtc_register_device(cmos_rtc.rtc);
drivers/rtc/rtc-cmos.c
1108
cmos_rtc.rtc->set_offset_nsec = NSEC_PER_SEC / 2;
drivers/rtc/rtc-cmos.c
1112
devm_rtc_nvmem_register(cmos_rtc.rtc, &nvmem_cfg);
drivers/rtc/rtc-cmos.c
1134
free_irq(rtc_irq, cmos_rtc.rtc);
drivers/rtc/rtc-cmos.c
1161
free_irq(cmos->irq, cmos->rtc);
drivers/rtc/rtc-cmos.c
1169
cmos->rtc = NULL;
drivers/rtc/rtc-cmos.c
1302
cmos_interrupt(0, (void *)cmos->rtc);
drivers/rtc/rtc-cmos.c
1355
rtc_update_irq(cmos->rtc, 1, mask);
drivers/rtc/rtc-cmos.c
357
rtc_update_irq(cmos->rtc, 1, rtc_intr);
drivers/rtc/rtc-cmos.c
608
cmos->rtc->irq_freq,
drivers/rtc/rtc-cmos.c
74
struct rtc_device *rtc;
drivers/rtc/rtc-cmos.c
762
cmos_interrupt(0, (void *)cmos->rtc);
drivers/rtc/rtc-cmos.c
772
rtc_update_irq(cmos->rtc, 1, rtc_intr);
drivers/rtc/rtc-cmos.c
887
rtc_update_irq(cmos->rtc, 1, mask);
drivers/rtc/rtc-core.h
13
static inline void rtc_dev_prepare(struct rtc_device *rtc)
drivers/rtc/rtc-core.h
21
extern void rtc_proc_add_device(struct rtc_device *rtc);
drivers/rtc/rtc-core.h
22
extern void rtc_proc_del_device(struct rtc_device *rtc);
drivers/rtc/rtc-core.h
26
static inline void rtc_proc_add_device(struct rtc_device *rtc)
drivers/rtc/rtc-core.h
30
static inline void rtc_proc_del_device(struct rtc_device *rtc)
drivers/rtc/rtc-core.h
5
extern void rtc_dev_prepare(struct rtc_device *rtc);
drivers/rtc/rtc-cpcap.c
100
ret = regmap_read(rtc->regmap, CPCAP_REG_TOD2, &temp_tod2);
drivers/rtc/rtc-cpcap.c
101
ret |= regmap_read(rtc->regmap, CPCAP_REG_DAY, &cpcap_tm.day);
drivers/rtc/rtc-cpcap.c
102
ret |= regmap_read(rtc->regmap, CPCAP_REG_TOD1, &cpcap_tm.tod1);
drivers/rtc/rtc-cpcap.c
103
ret |= regmap_read(rtc->regmap, CPCAP_REG_TOD2, &cpcap_tm.tod2);
drivers/rtc/rtc-cpcap.c
106
ret |= regmap_read(rtc->regmap, CPCAP_REG_DAY, &cpcap_tm.day);
drivers/rtc/rtc-cpcap.c
120
struct cpcap_rtc *rtc;
drivers/rtc/rtc-cpcap.c
124
rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-cpcap.c
128
if (rtc->alarm_enabled)
drivers/rtc/rtc-cpcap.c
129
disable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
130
if (rtc->update_enabled)
drivers/rtc/rtc-cpcap.c
131
disable_irq(rtc->update_irq);
drivers/rtc/rtc-cpcap.c
133
if (rtc->vendor == CPCAP_VENDOR_ST) {
drivers/rtc/rtc-cpcap.c
137
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TOD1,
drivers/rtc/rtc-cpcap.c
139
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TOD2,
drivers/rtc/rtc-cpcap.c
141
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_DAY,
drivers/rtc/rtc-cpcap.c
151
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TOD1,
drivers/rtc/rtc-cpcap.c
153
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_DAY,
drivers/rtc/rtc-cpcap.c
155
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TOD2,
drivers/rtc/rtc-cpcap.c
157
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TOD1,
drivers/rtc/rtc-cpcap.c
161
if (rtc->update_enabled)
drivers/rtc/rtc-cpcap.c
162
enable_irq(rtc->update_irq);
drivers/rtc/rtc-cpcap.c
163
if (rtc->alarm_enabled)
drivers/rtc/rtc-cpcap.c
164
enable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
171
struct cpcap_rtc *rtc;
drivers/rtc/rtc-cpcap.c
175
rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-cpcap.c
177
alrm->enabled = rtc->alarm_enabled;
drivers/rtc/rtc-cpcap.c
179
ret = regmap_read(rtc->regmap, CPCAP_REG_DAYA, &cpcap_tm.day);
drivers/rtc/rtc-cpcap.c
180
ret |= regmap_read(rtc->regmap, CPCAP_REG_TODA2, &cpcap_tm.tod2);
drivers/rtc/rtc-cpcap.c
181
ret |= regmap_read(rtc->regmap, CPCAP_REG_TODA1, &cpcap_tm.tod1);
drivers/rtc/rtc-cpcap.c
194
struct cpcap_rtc *rtc;
drivers/rtc/rtc-cpcap.c
198
rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-cpcap.c
202
if (rtc->alarm_enabled)
drivers/rtc/rtc-cpcap.c
203
disable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
205
ret = regmap_update_bits(rtc->regmap, CPCAP_REG_DAYA, DAY_MASK,
drivers/rtc/rtc-cpcap.c
207
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TODA2, TOD2_MASK,
drivers/rtc/rtc-cpcap.c
209
ret |= regmap_update_bits(rtc->regmap, CPCAP_REG_TODA1, TOD1_MASK,
drivers/rtc/rtc-cpcap.c
213
enable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
214
rtc->alarm_enabled = true;
drivers/rtc/rtc-cpcap.c
230
struct cpcap_rtc *rtc = data;
drivers/rtc/rtc-cpcap.c
232
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-cpcap.c
238
struct cpcap_rtc *rtc = data;
drivers/rtc/rtc-cpcap.c
240
rtc_update_irq(rtc->rtc_dev, 1, RTC_UF | RTC_IRQF);
drivers/rtc/rtc-cpcap.c
247
struct cpcap_rtc *rtc;
drivers/rtc/rtc-cpcap.c
250
rtc = devm_kzalloc(dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-cpcap.c
251
if (!rtc)
drivers/rtc/rtc-cpcap.c
254
rtc->regmap = dev_get_regmap(dev->parent, NULL);
drivers/rtc/rtc-cpcap.c
255
if (!rtc->regmap)
drivers/rtc/rtc-cpcap.c
258
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-cpcap.c
259
rtc->rtc_dev = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-cpcap.c
260
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-cpcap.c
261
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-cpcap.c
263
rtc->rtc_dev->ops = &cpcap_rtc_ops;
drivers/rtc/rtc-cpcap.c
264
rtc->rtc_dev->range_max = (timeu64_t) (DAY_MASK + 1) * SECS_PER_DAY - 1;
drivers/rtc/rtc-cpcap.c
266
err = cpcap_get_vendor(dev, rtc->regmap, &rtc->vendor);
drivers/rtc/rtc-cpcap.c
270
rtc->alarm_irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-cpcap.c
271
err = devm_request_threaded_irq(dev, rtc->alarm_irq, NULL,
drivers/rtc/rtc-cpcap.c
274
"rtc_alarm", rtc);
drivers/rtc/rtc-cpcap.c
279
disable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
287
rtc->update_irq = platform_get_irq(pdev, 1);
drivers/rtc/rtc-cpcap.c
288
err = devm_request_threaded_irq(dev, rtc->update_irq, NULL,
drivers/rtc/rtc-cpcap.c
291
"rtc_1hz", rtc);
drivers/rtc/rtc-cpcap.c
296
disable_irq(rtc->update_irq);
drivers/rtc/rtc-cpcap.c
304
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-cpcap.c
51
static void cpcap2rtc_time(struct rtc_time *rtc, struct cpcap_time *cpcap)
drivers/rtc/rtc-cpcap.c
59
rtc_time64_to_tm(time, rtc);
drivers/rtc/rtc-cpcap.c
62
static void rtc2cpcap_time(struct cpcap_time *cpcap, struct rtc_time *rtc)
drivers/rtc/rtc-cpcap.c
66
time = rtc_tm_to_time64(rtc);
drivers/rtc/rtc-cpcap.c
76
struct cpcap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-cpcap.c
78
if (rtc->alarm_enabled == enabled)
drivers/rtc/rtc-cpcap.c
82
enable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
84
disable_irq(rtc->alarm_irq);
drivers/rtc/rtc-cpcap.c
86
rtc->alarm_enabled = !!enabled;
drivers/rtc/rtc-cpcap.c
93
struct cpcap_rtc *rtc;
drivers/rtc/rtc-cpcap.c
98
rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-cros-ec.c
259
struct rtc_device *rtc;
drivers/rtc/rtc-cros-ec.c
264
rtc = cros_ec_rtc->rtc;
drivers/rtc/rtc-cros-ec.c
269
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-cros-ec.c
30
struct rtc_device *rtc;
drivers/rtc/rtc-cros-ec.c
340
cros_ec_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-cros-ec.c
341
if (IS_ERR(cros_ec_rtc->rtc))
drivers/rtc/rtc-cros-ec.c
342
return PTR_ERR(cros_ec_rtc->rtc);
drivers/rtc/rtc-cros-ec.c
344
cros_ec_rtc->rtc->ops = &cros_ec_rtc_ops;
drivers/rtc/rtc-cros-ec.c
345
cros_ec_rtc->rtc->range_max = U32_MAX;
drivers/rtc/rtc-cros-ec.c
356
cros_ec_rtc->rtc->alarm_offset_max = SECS_PER_DAY - 1;
drivers/rtc/rtc-cros-ec.c
361
ret = devm_rtc_register_device(cros_ec_rtc->rtc);
drivers/rtc/rtc-cv1800.c
160
struct cv1800_rtc_priv *rtc;
drivers/rtc/rtc-cv1800.c
163
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-cv1800.c
164
if (!rtc)
drivers/rtc/rtc-cv1800.c
167
rtc->rtc_map = device_node_to_regmap(pdev->dev.parent->of_node);
drivers/rtc/rtc-cv1800.c
168
if (IS_ERR(rtc->rtc_map))
drivers/rtc/rtc-cv1800.c
169
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->rtc_map),
drivers/rtc/rtc-cv1800.c
172
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-cv1800.c
173
if (rtc->irq < 0)
drivers/rtc/rtc-cv1800.c
174
return rtc->irq;
drivers/rtc/rtc-cv1800.c
176
rtc->clk = devm_clk_get_enabled(pdev->dev.parent, "rtc");
drivers/rtc/rtc-cv1800.c
177
if (IS_ERR(rtc->clk))
drivers/rtc/rtc-cv1800.c
178
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->clk),
drivers/rtc/rtc-cv1800.c
181
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-cv1800.c
185
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-cv1800.c
186
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-cv1800.c
187
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-cv1800.c
189
rtc->rtc_dev->ops = &cv1800_rtc_ops;
drivers/rtc/rtc-cv1800.c
190
rtc->rtc_dev->range_max = U32_MAX;
drivers/rtc/rtc-cv1800.c
192
ret = devm_request_irq(&pdev->dev, rtc->irq, cv1800_rtc_irq_handler,
drivers/rtc/rtc-cv1800.c
193
IRQF_TRIGGER_HIGH, "rtc alarm", rtc);
drivers/rtc/rtc-cv1800.c
198
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-da9052.c
101
struct da9052 *da9052 = rtc->da9052;
drivers/rtc/rtc-da9052.c
120
rtc_err(rtc, "Failed to write ALRM MIN: %d\n", ret);
drivers/rtc/rtc-da9052.c
135
rtc_err(rtc, "Failed to write ALRM YEAR: %d\n", ret);
drivers/rtc/rtc-da9052.c
140
static int da9052_rtc_get_alarm_status(struct da9052_rtc *rtc)
drivers/rtc/rtc-da9052.c
144
ret = da9052_reg_read(rtc->da9052, DA9052_ALARM_Y_REG);
drivers/rtc/rtc-da9052.c
146
rtc_err(rtc, "Failed to read ALM: %d\n", ret);
drivers/rtc/rtc-da9052.c
155
struct da9052_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9052.c
161
ret = da9052_group_read(rtc->da9052, DA9052_COUNT_S_REG, 6, &v[0][0]);
drivers/rtc/rtc-da9052.c
163
rtc_err(rtc, "Failed to read RTC time : %d\n", ret);
drivers/rtc/rtc-da9052.c
168
ret = da9052_group_read(rtc->da9052,
drivers/rtc/rtc-da9052.c
171
rtc_err(rtc, "Failed to read RTC time : %d\n", ret);
drivers/rtc/rtc-da9052.c
19
#define rtc_err(rtc, fmt, ...) \
drivers/rtc/rtc-da9052.c
191
rtc_err(rtc, "Timed out reading time\n");
drivers/rtc/rtc-da9052.c
198
struct da9052_rtc *rtc;
drivers/rtc/rtc-da9052.c
20
dev_err(rtc->da9052->dev, "%s: " fmt, __func__, ##__VA_ARGS__)
drivers/rtc/rtc-da9052.c
206
rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9052.c
215
ret = da9052_group_write(rtc->da9052, DA9052_COUNT_S_REG, 6, v);
drivers/rtc/rtc-da9052.c
217
rtc_err(rtc, "failed to set RTC time: %d\n", ret);
drivers/rtc/rtc-da9052.c
225
struct da9052_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9052.c
227
ret = da9052_read_alarm(rtc, tm);
drivers/rtc/rtc-da9052.c
229
rtc_err(rtc, "failed to read RTC alarm: %d\n", ret);
drivers/rtc/rtc-da9052.c
233
alrm->enabled = da9052_rtc_get_alarm_status(rtc);
drivers/rtc/rtc-da9052.c
241
struct da9052_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9052.c
247
ret = da9052_rtc_enable_alarm(rtc, 0);
drivers/rtc/rtc-da9052.c
25
struct rtc_device *rtc;
drivers/rtc/rtc-da9052.c
251
ret = da9052_set_alarm(rtc, tm);
drivers/rtc/rtc-da9052.c
255
ret = da9052_rtc_enable_alarm(rtc, 1);
drivers/rtc/rtc-da9052.c
261
struct da9052_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9052.c
263
return da9052_rtc_enable_alarm(rtc, enabled);
drivers/rtc/rtc-da9052.c
276
struct da9052_rtc *rtc;
drivers/rtc/rtc-da9052.c
279
rtc = devm_kzalloc(&pdev->dev, sizeof(struct da9052_rtc), GFP_KERNEL);
drivers/rtc/rtc-da9052.c
280
if (!rtc)
drivers/rtc/rtc-da9052.c
283
rtc->da9052 = dev_get_drvdata(pdev->dev.parent);
drivers/rtc/rtc-da9052.c
284
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-da9052.c
286
ret = da9052_reg_write(rtc->da9052, DA9052_BBAT_CONT_REG, 0xFE);
drivers/rtc/rtc-da9052.c
288
rtc_err(rtc,
drivers/rtc/rtc-da9052.c
29
static int da9052_rtc_enable_alarm(struct da9052_rtc *rtc, bool enable)
drivers/rtc/rtc-da9052.c
293
ret = da9052_reg_update(rtc->da9052, DA9052_ALARM_Y_REG,
drivers/rtc/rtc-da9052.c
296
rtc_err(rtc, "Failed to disable TICKS: %d\n", ret);
drivers/rtc/rtc-da9052.c
299
rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-da9052.c
300
if (IS_ERR(rtc->rtc))
drivers/rtc/rtc-da9052.c
301
return PTR_ERR(rtc->rtc);
drivers/rtc/rtc-da9052.c
303
rtc->rtc->ops = &da9052_rtc_ops;
drivers/rtc/rtc-da9052.c
304
rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-da9052.c
305
rtc->rtc->range_max = RTC_TIMESTAMP_END_2063;
drivers/rtc/rtc-da9052.c
307
ret = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-da9052.c
311
ret = da9052_request_irq(rtc->da9052, DA9052_IRQ_ALARM, "ALM",
drivers/rtc/rtc-da9052.c
312
da9052_rtc_irq, rtc);
drivers/rtc/rtc-da9052.c
314
rtc_err(rtc, "irq registration failed: %d\n", ret);
drivers/rtc/rtc-da9052.c
33
ret = da9052_reg_update(rtc->da9052, DA9052_ALARM_Y_REG,
drivers/rtc/rtc-da9052.c
37
rtc_err(rtc, "Failed to enable ALM: %d\n", ret);
drivers/rtc/rtc-da9052.c
39
ret = da9052_reg_update(rtc->da9052, DA9052_ALARM_Y_REG,
drivers/rtc/rtc-da9052.c
42
rtc_err(rtc, "Write error: %d\n", ret);
drivers/rtc/rtc-da9052.c
49
struct da9052_rtc *rtc = data;
drivers/rtc/rtc-da9052.c
51
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-da9052.c
56
static int da9052_read_alarm(struct da9052_rtc *rtc, struct rtc_time *rtc_tm)
drivers/rtc/rtc-da9052.c
63
ret = da9052_group_read(rtc->da9052, DA9052_ALARM_MI_REG, 5, &v[0][0]);
drivers/rtc/rtc-da9052.c
65
rtc_err(rtc, "Failed to group read ALM: %d\n", ret);
drivers/rtc/rtc-da9052.c
70
ret = da9052_group_read(rtc->da9052,
drivers/rtc/rtc-da9052.c
73
rtc_err(rtc, "Failed to group read ALM: %d\n", ret);
drivers/rtc/rtc-da9052.c
94
rtc_err(rtc, "Timed out reading alarm time\n");
drivers/rtc/rtc-da9052.c
99
static int da9052_set_alarm(struct da9052_rtc *rtc, struct rtc_time *rtc_tm)
drivers/rtc/rtc-da9055.c
127
struct da9055_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9055.c
131
ret = da9055_reg_read(rtc->da9055, DA9055_REG_COUNT_S);
drivers/rtc/rtc-da9055.c
142
ret = da9055_group_read(rtc->da9055, DA9055_REG_COUNT_S, 6, v);
drivers/rtc/rtc-da9055.c
144
dev_err(rtc->da9055->dev, "Failed to read RTC time : %d\n",
drivers/rtc/rtc-da9055.c
161
struct da9055_rtc *rtc;
drivers/rtc/rtc-da9055.c
164
rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9055.c
173
return da9055_group_write(rtc->da9055, DA9055_REG_COUNT_S, 6, v);
drivers/rtc/rtc-da9055.c
180
struct da9055_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9055.c
182
ret = da9055_read_alarm(rtc->da9055, tm);
drivers/rtc/rtc-da9055.c
187
alrm->enabled = da9055_rtc_get_alarm_status(rtc->da9055);
drivers/rtc/rtc-da9055.c
19
struct rtc_device *rtc;
drivers/rtc/rtc-da9055.c
196
struct da9055_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9055.c
198
ret = da9055_rtc_enable_alarm(rtc, 0);
drivers/rtc/rtc-da9055.c
202
ret = da9055_set_alarm(rtc->da9055, tm);
drivers/rtc/rtc-da9055.c
206
ret = da9055_rtc_enable_alarm(rtc, 1);
drivers/rtc/rtc-da9055.c
213
struct da9055_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9055.c
215
return da9055_rtc_enable_alarm(rtc, enabled);
drivers/rtc/rtc-da9055.c
24
static int da9055_rtc_enable_alarm(struct da9055_rtc *rtc, bool enable)
drivers/rtc/rtc-da9055.c
268
struct da9055_rtc *rtc;
drivers/rtc/rtc-da9055.c
272
rtc = devm_kzalloc(&pdev->dev, sizeof(struct da9055_rtc), GFP_KERNEL);
drivers/rtc/rtc-da9055.c
273
if (!rtc)
drivers/rtc/rtc-da9055.c
276
rtc->da9055 = dev_get_drvdata(pdev->dev.parent);
drivers/rtc/rtc-da9055.c
277
pdata = dev_get_platdata(rtc->da9055->dev);
drivers/rtc/rtc-da9055.c
278
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-da9055.c
28
ret = da9055_reg_update(rtc->da9055, DA9055_REG_ALARM_Y,
drivers/rtc/rtc-da9055.c
280
ret = da9055_rtc_device_init(rtc->da9055, pdata);
drivers/rtc/rtc-da9055.c
284
ret = da9055_reg_read(rtc->da9055, DA9055_REG_ALARM_Y);
drivers/rtc/rtc-da9055.c
289
rtc->alarm_enable = 1;
drivers/rtc/rtc-da9055.c
293
rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-da9055.c
295
if (IS_ERR(rtc->rtc)) {
drivers/rtc/rtc-da9055.c
296
ret = PTR_ERR(rtc->rtc);
drivers/rtc/rtc-da9055.c
307
"ALM", rtc);
drivers/rtc/rtc-da9055.c
309
dev_err(rtc->da9055->dev, "irq registration failed: %d\n", ret);
drivers/rtc/rtc-da9055.c
32
dev_err(rtc->da9055->dev, "Failed to enable ALM: %d\n",
drivers/rtc/rtc-da9055.c
321
struct da9055_rtc *rtc = dev_get_drvdata(&pdev->dev);
drivers/rtc/rtc-da9055.c
326
ret = da9055_rtc_enable_alarm(rtc, 0);
drivers/rtc/rtc-da9055.c
34
rtc->alarm_enable = 1;
drivers/rtc/rtc-da9055.c
340
struct da9055_rtc *rtc = dev_get_drvdata(&pdev->dev);
drivers/rtc/rtc-da9055.c
344
if (rtc->alarm_enable) {
drivers/rtc/rtc-da9055.c
345
ret = da9055_rtc_enable_alarm(rtc, 1);
drivers/rtc/rtc-da9055.c
359
struct da9055_rtc *rtc = dev_get_drvdata(&pdev->dev);
drivers/rtc/rtc-da9055.c
36
ret = da9055_reg_update(rtc->da9055, DA9055_REG_ALARM_Y,
drivers/rtc/rtc-da9055.c
362
ret = da9055_rtc_enable_alarm(rtc, 0);
drivers/rtc/rtc-da9055.c
39
dev_err(rtc->da9055->dev,
drivers/rtc/rtc-da9055.c
41
rtc->alarm_enable = 0;
drivers/rtc/rtc-da9055.c
48
struct da9055_rtc *rtc = data;
drivers/rtc/rtc-da9055.c
50
da9055_rtc_enable_alarm(rtc, 0);
drivers/rtc/rtc-da9055.c
51
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-da9063.c
168
struct da9063_compatible_rtc *rtc)
drivers/rtc/rtc-da9063.c
170
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
183
struct da9063_compatible_rtc *rtc)
drivers/rtc/rtc-da9063.c
185
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
200
struct da9063_compatible_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9063.c
201
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
204
return regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
212
struct da9063_compatible_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9063.c
213
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
219
ret = regmap_bulk_read(rtc->regmap,
drivers/rtc/rtc-da9063.c
232
da9063_data_to_tm(data, tm, rtc);
drivers/rtc/rtc-da9063.c
235
al_secs = rtc_tm_to_time64(&rtc->alarm_time);
drivers/rtc/rtc-da9063.c
238
if (rtc->rtc_sync && al_secs - tm_secs == 1)
drivers/rtc/rtc-da9063.c
239
memcpy(tm, &rtc->alarm_time, sizeof(struct rtc_time));
drivers/rtc/rtc-da9063.c
241
rtc->rtc_sync = false;
drivers/rtc/rtc-da9063.c
248
struct da9063_compatible_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9063.c
249
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
253
da9063_tm_to_data(tm, data, rtc);
drivers/rtc/rtc-da9063.c
254
ret = regmap_bulk_write(rtc->regmap,
drivers/rtc/rtc-da9063.c
265
struct da9063_compatible_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9063.c
266
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
272
ret = regmap_bulk_read(rtc->regmap,
drivers/rtc/rtc-da9063.c
279
da9063_data_to_tm(data, &alrm->time, rtc);
drivers/rtc/rtc-da9063.c
283
ret = regmap_read(rtc->regmap,
drivers/rtc/rtc-da9063.c
299
struct da9063_compatible_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-da9063.c
300
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
304
da9063_tm_to_data(&alrm->time, data, rtc);
drivers/rtc/rtc-da9063.c
312
ret = regmap_bulk_write(rtc->regmap,
drivers/rtc/rtc-da9063.c
321
da9063_data_to_tm(data, &rtc->alarm_time, rtc);
drivers/rtc/rtc-da9063.c
336
struct da9063_compatible_rtc *rtc = data;
drivers/rtc/rtc-da9063.c
337
const struct da9063_compatible_rtc_regmap *config = rtc->config;
drivers/rtc/rtc-da9063.c
339
regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
344
rtc->rtc_sync = true;
drivers/rtc/rtc-da9063.c
345
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-da9063.c
360
struct da9063_compatible_rtc *rtc;
drivers/rtc/rtc-da9063.c
369
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-da9063.c
370
if (!rtc)
drivers/rtc/rtc-da9063.c
373
rtc->config = device_get_match_data(&pdev->dev);
drivers/rtc/rtc-da9063.c
378
rtc->config = &da9063_ad_regs;
drivers/rtc/rtc-da9063.c
381
rtc->regmap = dev_get_regmap(pdev->dev.parent, NULL);
drivers/rtc/rtc-da9063.c
382
if (!rtc->regmap) {
drivers/rtc/rtc-da9063.c
387
config = rtc->config;
drivers/rtc/rtc-da9063.c
388
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
395
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
403
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
411
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
419
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-da9063.c
428
ret = regmap_bulk_read(rtc->regmap,
drivers/rtc/rtc-da9063.c
436
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-da9063.c
438
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-da9063.c
439
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-da9063.c
440
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-da9063.c
442
rtc->rtc_dev->ops = &da9063_rtc_ops;
drivers/rtc/rtc-da9063.c
443
rtc->rtc_dev->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-da9063.c
444
rtc->rtc_dev->range_max = RTC_TIMESTAMP_END_2063;
drivers/rtc/rtc-da9063.c
446
da9063_data_to_tm(data, &rtc->alarm_time, rtc);
drivers/rtc/rtc-da9063.c
447
rtc->rtc_sync = false;
drivers/rtc/rtc-da9063.c
450
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtc_dev->features);
drivers/rtc/rtc-da9063.c
455
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtc_dev->features);
drivers/rtc/rtc-da9063.c
463
"ALARM", rtc);
drivers/rtc/rtc-da9063.c
479
clear_bit(RTC_FEATURE_ALARM, rtc->rtc_dev->features);
drivers/rtc/rtc-da9063.c
482
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-digicolor.c
107
struct dc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-digicolor.c
109
return dc_rtc_write(rtc, rtc_tm_to_time64(tm));
drivers/rtc/rtc-digicolor.c
114
struct dc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-digicolor.c
119
alarm_reg = readl_relaxed(rtc->regs + DC_RTC_ALARM);
drivers/rtc/rtc-digicolor.c
120
reference = readl_relaxed(rtc->regs + DC_RTC_REFERENCE);
drivers/rtc/rtc-digicolor.c
123
ret = dc_rtc_read(rtc, &now);
drivers/rtc/rtc-digicolor.c
128
alarm->enabled = readl_relaxed(rtc->regs + DC_RTC_INTENABLE);
drivers/rtc/rtc-digicolor.c
135
struct dc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-digicolor.c
141
reference = readl_relaxed(rtc->regs + DC_RTC_REFERENCE);
drivers/rtc/rtc-digicolor.c
142
writel_relaxed(alarm_time - reference, rtc->regs + DC_RTC_ALARM);
drivers/rtc/rtc-digicolor.c
144
writeb_relaxed(!!alarm->enabled, rtc->regs + DC_RTC_INTENABLE);
drivers/rtc/rtc-digicolor.c
151
struct dc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-digicolor.c
153
writeb_relaxed(!!enabled, rtc->regs + DC_RTC_INTENABLE);
drivers/rtc/rtc-digicolor.c
168
struct dc_rtc *rtc = dev_id;
drivers/rtc/rtc-digicolor.c
170
writeb_relaxed(1, rtc->regs + DC_RTC_INTFLAG_CLEAR);
drivers/rtc/rtc-digicolor.c
171
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-digicolor.c
178
struct dc_rtc *rtc;
drivers/rtc/rtc-digicolor.c
181
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-digicolor.c
182
if (!rtc)
drivers/rtc/rtc-digicolor.c
185
rtc->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-digicolor.c
186
if (IS_ERR(rtc->regs))
drivers/rtc/rtc-digicolor.c
187
return PTR_ERR(rtc->regs);
drivers/rtc/rtc-digicolor.c
189
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-digicolor.c
190
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-digicolor.c
191
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-digicolor.c
196
ret = devm_request_irq(&pdev->dev, irq, dc_rtc_irq, 0, pdev->name, rtc);
drivers/rtc/rtc-digicolor.c
200
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-digicolor.c
202
rtc->rtc_dev->ops = &dc_rtc_ops;
drivers/rtc/rtc-digicolor.c
203
rtc->rtc_dev->range_max = U32_MAX;
drivers/rtc/rtc-digicolor.c
205
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-digicolor.c
41
static int dc_rtc_cmds(struct dc_rtc *rtc, const u8 *cmds, int len)
drivers/rtc/rtc-digicolor.c
48
rtc->regs + DC_RTC_CONTROL);
drivers/rtc/rtc-digicolor.c
50
rtc->regs + DC_RTC_CONTROL, val,
drivers/rtc/rtc-digicolor.c
59
static int dc_rtc_read(struct dc_rtc *rtc, unsigned long *val)
drivers/rtc/rtc-digicolor.c
65
ret = dc_rtc_cmds(rtc, read_cmds, ARRAY_SIZE(read_cmds));
drivers/rtc/rtc-digicolor.c
69
reference = readl_relaxed(rtc->regs + DC_RTC_REFERENCE);
drivers/rtc/rtc-digicolor.c
70
time1 = readl_relaxed(rtc->regs + DC_RTC_TIME);
drivers/rtc/rtc-digicolor.c
73
time2 = readl_relaxed(rtc->regs + DC_RTC_TIME);
drivers/rtc/rtc-digicolor.c
83
static int dc_rtc_write(struct dc_rtc *rtc, u32 val)
drivers/rtc/rtc-digicolor.c
87
writel_relaxed(val, rtc->regs + DC_RTC_REFERENCE);
drivers/rtc/rtc-digicolor.c
88
return dc_rtc_cmds(rtc, write_cmds, ARRAY_SIZE(write_cmds));
drivers/rtc/rtc-digicolor.c
93
struct dc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-digicolor.c
97
ret = dc_rtc_read(rtc, &now);
drivers/rtc/rtc-ds1216.c
153
priv->rtc = devm_rtc_device_register(&pdev->dev, "ds1216",
drivers/rtc/rtc-ds1216.c
155
if (IS_ERR(priv->rtc))
drivers/rtc/rtc-ds1216.c
156
return PTR_ERR(priv->rtc);
drivers/rtc/rtc-ds1216.c
30
struct rtc_device *rtc;
drivers/rtc/rtc-ds1286.c
20
struct rtc_device *rtc;
drivers/rtc/rtc-ds1286.c
325
struct rtc_device *rtc;
drivers/rtc/rtc-ds1286.c
338
rtc = devm_rtc_device_register(&pdev->dev, "ds1286", &ds1286_ops,
drivers/rtc/rtc-ds1286.c
340
if (IS_ERR(rtc))
drivers/rtc/rtc-ds1286.c
341
return PTR_ERR(rtc);
drivers/rtc/rtc-ds1286.c
342
priv->rtc = rtc;
drivers/rtc/rtc-ds1302.c
106
struct rtc_device *rtc;
drivers/rtc/rtc-ds1302.c
177
rtc = devm_rtc_device_register(&spi->dev, "ds1302",
drivers/rtc/rtc-ds1302.c
179
if (IS_ERR(rtc)) {
drivers/rtc/rtc-ds1302.c
180
status = PTR_ERR(rtc);
drivers/rtc/rtc-ds1305.c
339
if ((later - now) > ds1305->rtc->alarm_offset_max)
drivers/rtc/rtc-ds1305.c
443
rtc_lock(ds1305->rtc);
drivers/rtc/rtc-ds1305.c
461
rtc_unlock(ds1305->rtc);
drivers/rtc/rtc-ds1305.c
466
rtc_update_irq(ds1305->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds1305.c
687
ds1305->rtc = devm_rtc_allocate_device(&spi->dev);
drivers/rtc/rtc-ds1305.c
688
if (IS_ERR(ds1305->rtc))
drivers/rtc/rtc-ds1305.c
689
return PTR_ERR(ds1305->rtc);
drivers/rtc/rtc-ds1305.c
691
ds1305->rtc->ops = &ds1305_ops;
drivers/rtc/rtc-ds1305.c
692
ds1305->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-ds1305.c
693
ds1305->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-ds1305.c
694
ds1305->rtc->alarm_offset_max = 24 * 60 * 60;
drivers/rtc/rtc-ds1305.c
697
status = devm_rtc_register_device(ds1305->rtc);
drivers/rtc/rtc-ds1305.c
701
devm_rtc_nvmem_register(ds1305->rtc, &ds1305_nvmem_cfg);
drivers/rtc/rtc-ds1305.c
712
0, dev_name(&ds1305->rtc->dev), ds1305);
drivers/rtc/rtc-ds1305.c
86
struct rtc_device *rtc;
drivers/rtc/rtc-ds1307.c
1173
struct mutex *lock = &ds1307->rtc->ops_lock;
drivers/rtc/rtc-ds1307.c
1190
rtc_update_irq(ds1307->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds1307.c
1260
err = rtc_add_group(ds1307->rtc, &rtc_freq_test_attr_group);
drivers/rtc/rtc-ds1307.c
1441
struct mutex *lock = &ds1307->rtc->ops_lock;
drivers/rtc/rtc-ds1307.c
1556
struct mutex *lock = &ds1307->rtc->ops_lock;
drivers/rtc/rtc-ds1307.c
1643
if (i == DS3231_CLK_SQW && test_bit(RTC_FEATURE_ALARM, ds1307->rtc->features))
drivers/rtc/rtc-ds1307.c
177
struct rtc_device *rtc;
drivers/rtc/rtc-ds1307.c
1962
ds1307->rtc = devm_rtc_allocate_device(ds1307->dev);
drivers/rtc/rtc-ds1307.c
1963
if (IS_ERR(ds1307->rtc))
drivers/rtc/rtc-ds1307.c
1964
return PTR_ERR(ds1307->rtc);
drivers/rtc/rtc-ds1307.c
1969
clear_bit(RTC_FEATURE_ALARM, ds1307->rtc->features);
drivers/rtc/rtc-ds1307.c
1975
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, ds1307->rtc->features);
drivers/rtc/rtc-ds1307.c
1986
clear_bit(RTC_FEATURE_ALARM, ds1307->rtc->features);
drivers/rtc/rtc-ds1307.c
1993
ds1307->rtc->ops = chip->rtc_ops ?: &ds13xx_rtc_ops;
drivers/rtc/rtc-ds1307.c
1998
err = devm_rtc_register_device(ds1307->rtc);
drivers/rtc/rtc-ds1307.c
2013
devm_rtc_nvmem_register(ds1307->rtc, &nvmem_cfg);
drivers/rtc/rtc-ds1307.c
577
rtc_lock(ds1307->rtc);
drivers/rtc/rtc-ds1307.c
594
rtc_update_irq(ds1307->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds1307.c
597
rtc_unlock(ds1307->rtc);
drivers/rtc/rtc-ds1307.c
706
struct mutex *lock = &ds1307->rtc->ops_lock;
drivers/rtc/rtc-ds1307.c
728
rtc_update_irq(ds1307->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds1343.c
315
rtc_lock(priv->rtc);
drivers/rtc/rtc-ds1343.c
325
rtc_update_irq(priv->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds1343.c
332
rtc_unlock(priv->rtc);
drivers/rtc/rtc-ds1343.c
398
priv->rtc = devm_rtc_allocate_device(&spi->dev);
drivers/rtc/rtc-ds1343.c
399
if (IS_ERR(priv->rtc))
drivers/rtc/rtc-ds1343.c
400
return PTR_ERR(priv->rtc);
drivers/rtc/rtc-ds1343.c
402
priv->rtc->ops = &ds1343_rtc_ops;
drivers/rtc/rtc-ds1343.c
403
priv->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-ds1343.c
404
priv->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-ds1343.c
406
res = rtc_add_group(priv->rtc, &ds1343_attr_group);
drivers/rtc/rtc-ds1343.c
411
res = devm_rtc_register_device(priv->rtc);
drivers/rtc/rtc-ds1343.c
416
devm_rtc_nvmem_register(priv->rtc, &nvmem_cfg);
drivers/rtc/rtc-ds1343.c
78
struct rtc_device *rtc;
drivers/rtc/rtc-ds1347.c
130
struct rtc_device *rtc;
drivers/rtc/rtc-ds1347.c
161
rtc = devm_rtc_allocate_device(&spi->dev);
drivers/rtc/rtc-ds1347.c
162
if (IS_ERR(rtc))
drivers/rtc/rtc-ds1347.c
163
return PTR_ERR(rtc);
drivers/rtc/rtc-ds1347.c
165
rtc->ops = &ds1347_rtc_ops;
drivers/rtc/rtc-ds1347.c
166
rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
drivers/rtc/rtc-ds1347.c
167
rtc->range_max = RTC_TIMESTAMP_END_9999;
drivers/rtc/rtc-ds1347.c
169
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-ds1374.c
317
rtc_update_irq(ds1374->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds1374.c
479
ds1374->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-ds1374.c
480
if (IS_ERR(ds1374->rtc))
drivers/rtc/rtc-ds1374.c
481
return PTR_ERR(ds1374->rtc);
drivers/rtc/rtc-ds1374.c
504
ds1374->rtc->ops = &ds1374_rtc_ops;
drivers/rtc/rtc-ds1374.c
505
ds1374->rtc->range_max = U32_MAX;
drivers/rtc/rtc-ds1374.c
507
ret = devm_rtc_register_device(ds1374->rtc);
drivers/rtc/rtc-ds1374.c
70
struct rtc_device *rtc;
drivers/rtc/rtc-ds1390.c
206
chip->rtc = devm_rtc_device_register(&spi->dev, "ds1390",
drivers/rtc/rtc-ds1390.c
208
if (IS_ERR(chip->rtc)) {
drivers/rtc/rtc-ds1390.c
210
res = PTR_ERR(chip->rtc);
drivers/rtc/rtc-ds1390.c
49
struct rtc_device *rtc;
drivers/rtc/rtc-ds1511.c
222
rtc_update_irq(ds1511->rtc, 1, events);
drivers/rtc/rtc-ds1511.c
320
ds1511->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ds1511.c
321
if (IS_ERR(ds1511->rtc))
drivers/rtc/rtc-ds1511.c
322
return PTR_ERR(ds1511->rtc);
drivers/rtc/rtc-ds1511.c
324
ds1511->rtc->ops = &ds1511_rtc_ops;
drivers/rtc/rtc-ds1511.c
325
ds1511->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-ds1511.c
326
ds1511->rtc->alarm_offset_max = 28 * 24 * 60 * 60 - 1;
drivers/rtc/rtc-ds1511.c
343
clear_bit(RTC_FEATURE_ALARM, ds1511->rtc->features);
drivers/rtc/rtc-ds1511.c
345
ret = devm_rtc_register_device(ds1511->rtc);
drivers/rtc/rtc-ds1511.c
349
devm_rtc_nvmem_register(ds1511->rtc, &ds1511_nvmem_cfg);
drivers/rtc/rtc-ds1511.c
63
struct rtc_device *rtc;
drivers/rtc/rtc-ds1553.c
196
rtc_update_irq(pdata->rtc, 1, events);
drivers/rtc/rtc-ds1553.c
292
pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ds1553.c
293
if (IS_ERR(pdata->rtc))
drivers/rtc/rtc-ds1553.c
294
return PTR_ERR(pdata->rtc);
drivers/rtc/rtc-ds1553.c
296
pdata->rtc->ops = &ds1553_rtc_ops;
drivers/rtc/rtc-ds1553.c
298
ret = devm_rtc_register_device(pdata->rtc);
drivers/rtc/rtc-ds1553.c
312
devm_rtc_nvmem_register(pdata->rtc, &nvmem_cfg);
drivers/rtc/rtc-ds1553.c
59
struct rtc_device *rtc;
drivers/rtc/rtc-ds1672.c
112
struct rtc_device *rtc;
drivers/rtc/rtc-ds1672.c
119
rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-ds1672.c
120
if (IS_ERR(rtc))
drivers/rtc/rtc-ds1672.c
121
return PTR_ERR(rtc);
drivers/rtc/rtc-ds1672.c
123
rtc->ops = &ds1672_rtc_ops;
drivers/rtc/rtc-ds1672.c
124
rtc->range_max = U32_MAX;
drivers/rtc/rtc-ds1672.c
126
err = devm_rtc_register_device(rtc);
drivers/rtc/rtc-ds1672.c
130
i2c_set_clientdata(client, rtc);
drivers/rtc/rtc-ds1685.c
1007
struct ds1685_priv *rtc = dev_get_drvdata(dev->parent);
drivers/rtc/rtc-ds1685.c
1010
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
1011
ctrl4a = rtc->read(rtc, RTC_EXT_CTRL_4A);
drivers/rtc/rtc-ds1685.c
1012
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
1029
struct ds1685_priv *rtc = dev_get_drvdata(dev->parent);
drivers/rtc/rtc-ds1685.c
1032
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
1033
ds1685_rtc_get_ssn(rtc, ssn);
drivers/rtc/rtc-ds1685.c
1034
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
1071
struct ds1685_priv *rtc;
drivers/rtc/rtc-ds1685.c
108
ds1685_rtc_bcd2bin(struct ds1685_priv *rtc, u8 val, u8 bcd_mask, u8 bin_mask)
drivers/rtc/rtc-ds1685.c
1089
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-ds1685.c
1090
if (!rtc)
drivers/rtc/rtc-ds1685.c
1096
rtc->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-ds1685.c
1097
if (IS_ERR(rtc->regs))
drivers/rtc/rtc-ds1685.c
1098
return PTR_ERR(rtc->regs);
drivers/rtc/rtc-ds1685.c
1099
rtc->read = ds1685_read;
drivers/rtc/rtc-ds1685.c
110
if (rtc->bcd_mode)
drivers/rtc/rtc-ds1685.c
1100
rtc->write = ds1685_write;
drivers/rtc/rtc-ds1685.c
1103
rtc->regs = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-ds1685.c
1104
if (IS_ERR(rtc->regs))
drivers/rtc/rtc-ds1685.c
1105
return PTR_ERR(rtc->regs);
drivers/rtc/rtc-ds1685.c
1106
rtc->data = devm_platform_ioremap_resource(pdev, 1);
drivers/rtc/rtc-ds1685.c
1107
if (IS_ERR(rtc->data))
drivers/rtc/rtc-ds1685.c
1108
return PTR_ERR(rtc->data);
drivers/rtc/rtc-ds1685.c
1109
rtc->read = ds1685_indirect_read;
drivers/rtc/rtc-ds1685.c
1110
rtc->write = ds1685_indirect_write;
drivers/rtc/rtc-ds1685.c
1114
if (!rtc->read || !rtc->write)
drivers/rtc/rtc-ds1685.c
1119
rtc->regstep = pdata->regstep;
drivers/rtc/rtc-ds1685.c
1121
rtc->regstep = 1;
drivers/rtc/rtc-ds1685.c
1125
rtc->prepare_poweroff = pdata->plat_prepare_poweroff;
drivers/rtc/rtc-ds1685.c
1129
rtc->wake_alarm = pdata->plat_wake_alarm;
drivers/rtc/rtc-ds1685.c
1133
rtc->post_ram_clear = pdata->plat_post_ram_clear;
drivers/rtc/rtc-ds1685.c
1136
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-ds1685.c
1139
ctrla = rtc->read(rtc, RTC_CTRL_A);
drivers/rtc/rtc-ds1685.c
1154
rtc->write(rtc, RTC_CTRL_A, ctrla);
drivers/rtc/rtc-ds1685.c
1157
rtc->write(rtc, RTC_EXT_CTRL_4B,
drivers/rtc/rtc-ds1685.c
1158
(rtc->read(rtc, RTC_EXT_CTRL_4B) | RTC_CTRL_4B_E32K));
drivers/rtc/rtc-ds1685.c
1161
rtc->write(rtc, RTC_CTRL_B,
drivers/rtc/rtc-ds1685.c
1162
(rtc->read(rtc, RTC_CTRL_B) | RTC_CTRL_B_SET));
drivers/rtc/rtc-ds1685.c
1165
while (rtc->read(rtc, RTC_EXT_CTRL_4A) & RTC_CTRL_4A_INCR)
drivers/rtc/rtc-ds1685.c
1172
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
1177
rtc->bcd_mode = pdata->bcd_mode;
drivers/rtc/rtc-ds1685.c
1190
hours = rtc->read(rtc, RTC_HRS);
drivers/rtc/rtc-ds1685.c
1192
hours = ds1685_rtc_bcd2bin(rtc, hours, RTC_HRS_12_BCD_MASK,
drivers/rtc/rtc-ds1685.c
1200
rtc->write(rtc, RTC_CTRL_B, ctrlb);
drivers/rtc/rtc-ds1685.c
1203
rtc->write(rtc, RTC_HRS,
drivers/rtc/rtc-ds1685.c
1204
ds1685_rtc_bin2bcd(rtc, hours,
drivers/rtc/rtc-ds1685.c
1209
hours = rtc->read(rtc, RTC_HRS_ALARM);
drivers/rtc/rtc-ds1685.c
1211
hours = ds1685_rtc_bcd2bin(rtc, hours, RTC_HRS_12_BCD_MASK,
drivers/rtc/rtc-ds1685.c
1216
rtc->write(rtc, RTC_HRS_ALARM,
drivers/rtc/rtc-ds1685.c
1217
ds1685_rtc_bin2bcd(rtc, hours,
drivers/rtc/rtc-ds1685.c
1222
rtc->write(rtc, RTC_CTRL_B, ctrlb);
drivers/rtc/rtc-ds1685.c
1226
rtc->write(rtc, RTC_CTRL_B,
drivers/rtc/rtc-ds1685.c
1227
(rtc->read(rtc, RTC_CTRL_B) & ~(RTC_CTRL_B_SET)));
drivers/rtc/rtc-ds1685.c
1230
if (!(rtc->read(rtc, RTC_CTRL_D) & RTC_CTRL_D_VRT))
drivers/rtc/rtc-ds1685.c
1235
if (!(rtc->read(rtc, RTC_EXT_CTRL_4A) & RTC_CTRL_4A_VRT2))
drivers/rtc/rtc-ds1685.c
1240
rtc->write(rtc, RTC_CTRL_B,
drivers/rtc/rtc-ds1685.c
1241
(rtc->read(rtc, RTC_CTRL_B) & ~(RTC_CTRL_B_PAU_MASK)));
drivers/rtc/rtc-ds1685.c
1244
rtc->read(rtc, RTC_CTRL_C);
drivers/rtc/rtc-ds1685.c
1247
rtc->write(rtc, RTC_EXT_CTRL_4B,
drivers/rtc/rtc-ds1685.c
1248
(rtc->read(rtc, RTC_EXT_CTRL_4B) & ~(RTC_CTRL_4B_RWK_MASK)));
drivers/rtc/rtc-ds1685.c
1251
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
1252
(rtc->read(rtc, RTC_EXT_CTRL_4A) & ~(RTC_CTRL_4A_RWK_MASK)));
drivers/rtc/rtc-ds1685.c
1258
rtc->write(rtc, RTC_EXT_CTRL_4B,
drivers/rtc/rtc-ds1685.c
1259
(rtc->read(rtc, RTC_EXT_CTRL_4B) | RTC_CTRL_4B_KSE));
drivers/rtc/rtc-ds1685.c
126
ds1685_rtc_bin2bcd(struct ds1685_priv *rtc, u8 val, u8 bin_mask, u8 bcd_mask)
drivers/rtc/rtc-ds1685.c
1275
rtc->dev = rtc_dev;
drivers/rtc/rtc-ds1685.c
128
if (rtc->bcd_mode)
drivers/rtc/rtc-ds1685.c
1285
rtc->irq_num = platform_get_irq(pdev, 0);
drivers/rtc/rtc-ds1685.c
1286
if (rtc->irq_num <= 0) {
drivers/rtc/rtc-ds1685.c
1290
ret = devm_request_threaded_irq(&pdev->dev, rtc->irq_num,
drivers/rtc/rtc-ds1685.c
1299
rtc->irq_num = 0;
drivers/rtc/rtc-ds1685.c
1304
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
1310
nvmem_cfg.priv = rtc;
drivers/rtc/rtc-ds1685.c
1325
struct ds1685_priv *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-ds1685.c
1328
rtc->write(rtc, RTC_CTRL_B,
drivers/rtc/rtc-ds1685.c
1329
(rtc->read(rtc, RTC_CTRL_B) &
drivers/rtc/rtc-ds1685.c
1333
rtc->read(rtc, RTC_CTRL_C);
drivers/rtc/rtc-ds1685.c
1336
rtc->write(rtc, RTC_EXT_CTRL_4B,
drivers/rtc/rtc-ds1685.c
1337
(rtc->read(rtc, RTC_EXT_CTRL_4B) &
drivers/rtc/rtc-ds1685.c
1341
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
1342
(rtc->read(rtc, RTC_EXT_CTRL_4A) &
drivers/rtc/rtc-ds1685.c
1371
struct ds1685_priv *rtc;
drivers/rtc/rtc-ds1685.c
1380
rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-ds1685.c
1388
if (rtc->irq_num)
drivers/rtc/rtc-ds1685.c
1389
disable_irq_nosync(rtc->irq_num);
drivers/rtc/rtc-ds1685.c
1392
ctrla = rtc->read(rtc, RTC_CTRL_A);
drivers/rtc/rtc-ds1685.c
1395
rtc->write(rtc, RTC_CTRL_A, ctrla);
drivers/rtc/rtc-ds1685.c
1402
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
1403
ctrl4a = rtc->read(rtc, RTC_EXT_CTRL_4A);
drivers/rtc/rtc-ds1685.c
1407
rtc->write(rtc, RTC_EXT_CTRL_4A, ctrl4a);
drivers/rtc/rtc-ds1685.c
1415
ctrl4b = rtc->read(rtc, RTC_EXT_CTRL_4B);
drivers/rtc/rtc-ds1685.c
1418
rtc->write(rtc, RTC_EXT_CTRL_4B, ctrl4b);
drivers/rtc/rtc-ds1685.c
142
ds1685_rtc_check_mday(struct ds1685_priv *rtc, u8 mday)
drivers/rtc/rtc-ds1685.c
1424
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
144
if (rtc->bcd_mode) {
drivers/rtc/rtc-ds1685.c
159
ds1685_rtc_switch_to_bank0(struct ds1685_priv *rtc)
drivers/rtc/rtc-ds1685.c
161
rtc->write(rtc, RTC_CTRL_A,
drivers/rtc/rtc-ds1685.c
162
(rtc->read(rtc, RTC_CTRL_A) & ~(RTC_CTRL_A_DV0)));
drivers/rtc/rtc-ds1685.c
170
ds1685_rtc_switch_to_bank1(struct ds1685_priv *rtc)
drivers/rtc/rtc-ds1685.c
172
rtc->write(rtc, RTC_CTRL_A,
drivers/rtc/rtc-ds1685.c
173
(rtc->read(rtc, RTC_CTRL_A) | RTC_CTRL_A_DV0));
drivers/rtc/rtc-ds1685.c
190
ds1685_rtc_begin_data_access(struct ds1685_priv *rtc)
drivers/rtc/rtc-ds1685.c
193
rtc->write(rtc, RTC_CTRL_B,
drivers/rtc/rtc-ds1685.c
194
(rtc->read(rtc, RTC_CTRL_B) | RTC_CTRL_B_SET));
drivers/rtc/rtc-ds1685.c
197
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
200
while (rtc->read(rtc, RTC_EXT_CTRL_4A) & RTC_CTRL_4A_INCR)
drivers/rtc/rtc-ds1685.c
213
ds1685_rtc_end_data_access(struct ds1685_priv *rtc)
drivers/rtc/rtc-ds1685.c
216
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
219
rtc->write(rtc, RTC_CTRL_B,
drivers/rtc/rtc-ds1685.c
220
(rtc->read(rtc, RTC_CTRL_B) & ~(RTC_CTRL_B_SET)));
drivers/rtc/rtc-ds1685.c
238
ds1685_rtc_get_ssn(struct ds1685_priv *rtc, u8 *ssn)
drivers/rtc/rtc-ds1685.c
240
ssn[0] = rtc->read(rtc, RTC_BANK1_SSN_MODEL);
drivers/rtc/rtc-ds1685.c
241
ssn[1] = rtc->read(rtc, RTC_BANK1_SSN_BYTE_1);
drivers/rtc/rtc-ds1685.c
242
ssn[2] = rtc->read(rtc, RTC_BANK1_SSN_BYTE_2);
drivers/rtc/rtc-ds1685.c
243
ssn[3] = rtc->read(rtc, RTC_BANK1_SSN_BYTE_3);
drivers/rtc/rtc-ds1685.c
244
ssn[4] = rtc->read(rtc, RTC_BANK1_SSN_BYTE_4);
drivers/rtc/rtc-ds1685.c
245
ssn[5] = rtc->read(rtc, RTC_BANK1_SSN_BYTE_5);
drivers/rtc/rtc-ds1685.c
246
ssn[6] = rtc->read(rtc, RTC_BANK1_SSN_BYTE_6);
drivers/rtc/rtc-ds1685.c
247
ssn[7] = rtc->read(rtc, RTC_BANK1_SSN_CRC);
drivers/rtc/rtc-ds1685.c
263
struct ds1685_priv *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ds1685.c
268
ds1685_rtc_begin_data_access(rtc);
drivers/rtc/rtc-ds1685.c
269
seconds = rtc->read(rtc, RTC_SECS);
drivers/rtc/rtc-ds1685.c
270
minutes = rtc->read(rtc, RTC_MINS);
drivers/rtc/rtc-ds1685.c
271
hours = rtc->read(rtc, RTC_HRS);
drivers/rtc/rtc-ds1685.c
272
wday = rtc->read(rtc, RTC_WDAY);
drivers/rtc/rtc-ds1685.c
273
mday = rtc->read(rtc, RTC_MDAY);
drivers/rtc/rtc-ds1685.c
274
month = rtc->read(rtc, RTC_MONTH);
drivers/rtc/rtc-ds1685.c
275
years = rtc->read(rtc, RTC_YEAR);
drivers/rtc/rtc-ds1685.c
276
century = rtc->read(rtc, RTC_CENTURY);
drivers/rtc/rtc-ds1685.c
277
ds1685_rtc_end_data_access(rtc);
drivers/rtc/rtc-ds1685.c
280
years = ds1685_rtc_bcd2bin(rtc, years, RTC_YEAR_BCD_MASK,
drivers/rtc/rtc-ds1685.c
282
century = ds1685_rtc_bcd2bin(rtc, century, RTC_CENTURY_MASK,
drivers/rtc/rtc-ds1685.c
284
tm->tm_sec = ds1685_rtc_bcd2bin(rtc, seconds, RTC_SECS_BCD_MASK,
drivers/rtc/rtc-ds1685.c
286
tm->tm_min = ds1685_rtc_bcd2bin(rtc, minutes, RTC_MINS_BCD_MASK,
drivers/rtc/rtc-ds1685.c
288
tm->tm_hour = ds1685_rtc_bcd2bin(rtc, hours, RTC_HRS_24_BCD_MASK,
drivers/rtc/rtc-ds1685.c
290
tm->tm_wday = (ds1685_rtc_bcd2bin(rtc, wday, RTC_WDAY_MASK,
drivers/rtc/rtc-ds1685.c
292
tm->tm_mday = ds1685_rtc_bcd2bin(rtc, mday, RTC_MDAY_BCD_MASK,
drivers/rtc/rtc-ds1685.c
294
tm->tm_mon = (ds1685_rtc_bcd2bin(rtc, month, RTC_MONTH_BCD_MASK,
drivers/rtc/rtc-ds1685.c
311
struct ds1685_priv *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ds1685.c
315
seconds = ds1685_rtc_bin2bcd(rtc, tm->tm_sec, RTC_SECS_BIN_MASK,
drivers/rtc/rtc-ds1685.c
317
minutes = ds1685_rtc_bin2bcd(rtc, tm->tm_min, RTC_MINS_BIN_MASK,
drivers/rtc/rtc-ds1685.c
319
hours = ds1685_rtc_bin2bcd(rtc, tm->tm_hour, RTC_HRS_24_BIN_MASK,
drivers/rtc/rtc-ds1685.c
321
wday = ds1685_rtc_bin2bcd(rtc, (tm->tm_wday + 1), RTC_WDAY_MASK,
drivers/rtc/rtc-ds1685.c
323
mday = ds1685_rtc_bin2bcd(rtc, tm->tm_mday, RTC_MDAY_BIN_MASK,
drivers/rtc/rtc-ds1685.c
325
month = ds1685_rtc_bin2bcd(rtc, (tm->tm_mon + 1), RTC_MONTH_BIN_MASK,
drivers/rtc/rtc-ds1685.c
327
years = ds1685_rtc_bin2bcd(rtc, (tm->tm_year % 100),
drivers/rtc/rtc-ds1685.c
329
century = ds1685_rtc_bin2bcd(rtc, ((tm->tm_year + 1900) / 100),
drivers/rtc/rtc-ds1685.c
352
ds1685_rtc_begin_data_access(rtc);
drivers/rtc/rtc-ds1685.c
353
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
354
if (rtc->bcd_mode)
drivers/rtc/rtc-ds1685.c
358
rtc->write(rtc, RTC_CTRL_B, ctrlb);
drivers/rtc/rtc-ds1685.c
359
rtc->write(rtc, RTC_SECS, seconds);
drivers/rtc/rtc-ds1685.c
360
rtc->write(rtc, RTC_MINS, minutes);
drivers/rtc/rtc-ds1685.c
361
rtc->write(rtc, RTC_HRS, hours);
drivers/rtc/rtc-ds1685.c
362
rtc->write(rtc, RTC_WDAY, wday);
drivers/rtc/rtc-ds1685.c
363
rtc->write(rtc, RTC_MDAY, mday);
drivers/rtc/rtc-ds1685.c
364
rtc->write(rtc, RTC_MONTH, month);
drivers/rtc/rtc-ds1685.c
365
rtc->write(rtc, RTC_YEAR, years);
drivers/rtc/rtc-ds1685.c
366
rtc->write(rtc, RTC_CENTURY, century);
drivers/rtc/rtc-ds1685.c
367
ds1685_rtc_end_data_access(rtc);
drivers/rtc/rtc-ds1685.c
387
struct ds1685_priv *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ds1685.c
392
ds1685_rtc_begin_data_access(rtc);
drivers/rtc/rtc-ds1685.c
393
seconds = rtc->read(rtc, RTC_SECS_ALARM);
drivers/rtc/rtc-ds1685.c
394
minutes = rtc->read(rtc, RTC_MINS_ALARM);
drivers/rtc/rtc-ds1685.c
395
hours = rtc->read(rtc, RTC_HRS_ALARM);
drivers/rtc/rtc-ds1685.c
396
mday = rtc->read(rtc, RTC_MDAY_ALARM);
drivers/rtc/rtc-ds1685.c
397
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
398
ctrlc = rtc->read(rtc, RTC_CTRL_C);
drivers/rtc/rtc-ds1685.c
399
ds1685_rtc_end_data_access(rtc);
drivers/rtc/rtc-ds1685.c
402
ret = ds1685_rtc_check_mday(rtc, mday);
drivers/rtc/rtc-ds1685.c
414
alrm->time.tm_sec = ds1685_rtc_bcd2bin(rtc, seconds,
drivers/rtc/rtc-ds1685.c
419
alrm->time.tm_min = ds1685_rtc_bcd2bin(rtc, minutes,
drivers/rtc/rtc-ds1685.c
424
alrm->time.tm_hour = ds1685_rtc_bcd2bin(rtc, hours,
drivers/rtc/rtc-ds1685.c
429
alrm->time.tm_mday = ds1685_rtc_bcd2bin(rtc, mday, RTC_MDAY_BCD_MASK,
drivers/rtc/rtc-ds1685.c
445
struct ds1685_priv *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ds1685.c
45
ds1685_read(struct ds1685_priv *rtc, int reg)
drivers/rtc/rtc-ds1685.c
450
seconds = ds1685_rtc_bin2bcd(rtc, alrm->time.tm_sec,
drivers/rtc/rtc-ds1685.c
453
minutes = ds1685_rtc_bin2bcd(rtc, alrm->time.tm_min,
drivers/rtc/rtc-ds1685.c
456
hours = ds1685_rtc_bin2bcd(rtc, alrm->time.tm_hour,
drivers/rtc/rtc-ds1685.c
459
mday = ds1685_rtc_bin2bcd(rtc, alrm->time.tm_mday,
drivers/rtc/rtc-ds1685.c
464
ret = ds1685_rtc_check_mday(rtc, mday);
drivers/rtc/rtc-ds1685.c
47
return readb((u8 __iomem *)rtc->regs +
drivers/rtc/rtc-ds1685.c
48
(reg * rtc->regstep));
drivers/rtc/rtc-ds1685.c
492
ds1685_rtc_begin_data_access(rtc);
drivers/rtc/rtc-ds1685.c
493
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
494
rtc->write(rtc, RTC_CTRL_B, (ctrlb & ~(RTC_CTRL_B_AIE)));
drivers/rtc/rtc-ds1685.c
497
rtc->read(rtc, RTC_CTRL_C);
drivers/rtc/rtc-ds1685.c
503
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
504
if (rtc->bcd_mode)
drivers/rtc/rtc-ds1685.c
508
rtc->write(rtc, RTC_CTRL_B, ctrlb);
drivers/rtc/rtc-ds1685.c
509
rtc->write(rtc, RTC_SECS_ALARM, seconds);
drivers/rtc/rtc-ds1685.c
510
rtc->write(rtc, RTC_MINS_ALARM, minutes);
drivers/rtc/rtc-ds1685.c
511
rtc->write(rtc, RTC_HRS_ALARM, hours);
drivers/rtc/rtc-ds1685.c
512
rtc->write(rtc, RTC_MDAY_ALARM, mday);
drivers/rtc/rtc-ds1685.c
516
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
518
rtc->write(rtc, RTC_CTRL_B, ctrlb);
drivers/rtc/rtc-ds1685.c
522
ds1685_rtc_end_data_access(rtc);
drivers/rtc/rtc-ds1685.c
540
struct ds1685_priv *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ds1685.c
544
rtc->write(rtc, RTC_CTRL_B, (rtc->read(rtc, RTC_CTRL_B) |
drivers/rtc/rtc-ds1685.c
547
rtc->write(rtc, RTC_CTRL_B, (rtc->read(rtc, RTC_CTRL_B) &
drivers/rtc/rtc-ds1685.c
551
rtc->read(rtc, RTC_CTRL_C);
drivers/rtc/rtc-ds1685.c
567
ds1685_rtc_extended_irq(struct ds1685_priv *rtc, struct platform_device *pdev)
drivers/rtc/rtc-ds1685.c
571
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
572
ctrl4a = rtc->read(rtc, RTC_EXT_CTRL_4A);
drivers/rtc/rtc-ds1685.c
573
ctrl4b = rtc->read(rtc, RTC_EXT_CTRL_4B);
drivers/rtc/rtc-ds1685.c
58
ds1685_write(struct ds1685_priv *rtc, int reg, u8 value)
drivers/rtc/rtc-ds1685.c
582
rtc->write(rtc, RTC_EXT_CTRL_4B,
drivers/rtc/rtc-ds1685.c
583
(rtc->read(rtc, RTC_EXT_CTRL_4B) &
drivers/rtc/rtc-ds1685.c
587
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
597
rtc->write(rtc, RTC_EXT_CTRL_4B,
drivers/rtc/rtc-ds1685.c
598
(rtc->read(rtc, RTC_EXT_CTRL_4B) |
drivers/rtc/rtc-ds1685.c
60
writeb(value, ((u8 __iomem *)rtc->regs +
drivers/rtc/rtc-ds1685.c
602
if (rtc->prepare_poweroff != NULL)
drivers/rtc/rtc-ds1685.c
603
rtc->prepare_poweroff();
drivers/rtc/rtc-ds1685.c
61
(reg * rtc->regstep)));
drivers/rtc/rtc-ds1685.c
615
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
619
if (rtc->wake_alarm != NULL)
drivers/rtc/rtc-ds1685.c
620
rtc->wake_alarm();
drivers/rtc/rtc-ds1685.c
637
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
642
if (rtc->post_ram_clear != NULL)
drivers/rtc/rtc-ds1685.c
643
rtc->post_ram_clear();
drivers/rtc/rtc-ds1685.c
648
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
660
struct ds1685_priv *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-ds1685.c
666
if (unlikely(!rtc))
drivers/rtc/rtc-ds1685.c
669
rtc_lock(rtc->dev);
drivers/rtc/rtc-ds1685.c
672
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
673
ctrlc = rtc->read(rtc, RTC_CTRL_C);
drivers/rtc/rtc-ds1685.c
710
ds1685_rtc_extended_irq(rtc, pdev);
drivers/rtc/rtc-ds1685.c
713
rtc_update_irq(rtc->dev, num_irqs, events);
drivers/rtc/rtc-ds1685.c
714
rtc_unlock(rtc->dev);
drivers/rtc/rtc-ds1685.c
754
struct ds1685_priv *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ds1685.c
759
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
76
ds1685_indirect_read(struct ds1685_priv *rtc, int reg)
drivers/rtc/rtc-ds1685.c
760
ds1685_rtc_get_ssn(rtc, ssn);
drivers/rtc/rtc-ds1685.c
761
ctrla = rtc->read(rtc, RTC_CTRL_A);
drivers/rtc/rtc-ds1685.c
762
ctrlb = rtc->read(rtc, RTC_CTRL_B);
drivers/rtc/rtc-ds1685.c
763
ctrld = rtc->read(rtc, RTC_CTRL_D);
drivers/rtc/rtc-ds1685.c
764
ctrl4a = rtc->read(rtc, RTC_EXT_CTRL_4A);
drivers/rtc/rtc-ds1685.c
765
ctrl4b = rtc->read(rtc, RTC_EXT_CTRL_4B);
drivers/rtc/rtc-ds1685.c
766
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
78
writeb(reg, rtc->regs);
drivers/rtc/rtc-ds1685.c
79
return readb(rtc->data);
drivers/rtc/rtc-ds1685.c
843
struct ds1685_priv *rtc = priv;
drivers/rtc/rtc-ds1685.c
844
struct mutex *rtc_mutex = &rtc->dev->ops_lock;
drivers/rtc/rtc-ds1685.c
853
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
859
*buf++ = rtc->read(rtc, (NVRAM_TIME_BASE + pos++));
drivers/rtc/rtc-ds1685.c
861
*buf++ = rtc->read(rtc, (NVRAM_BANK0_BASE + pos++));
drivers/rtc/rtc-ds1685.c
866
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
870
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
871
(rtc->read(rtc, RTC_EXT_CTRL_4A) |
drivers/rtc/rtc-ds1685.c
876
rtc->write(rtc, RTC_BANK1_RAM_ADDR_LSB,
drivers/rtc/rtc-ds1685.c
886
rtc->write(rtc, RTC_BANK1_RAM_ADDR,
drivers/rtc/rtc-ds1685.c
889
*buf++ = rtc->read(rtc, RTC_BANK1_RAM_DATA_PORT);
drivers/rtc/rtc-ds1685.c
89
ds1685_indirect_write(struct ds1685_priv *rtc, int reg, u8 value)
drivers/rtc/rtc-ds1685.c
895
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
896
(rtc->read(rtc, RTC_EXT_CTRL_4A) &
drivers/rtc/rtc-ds1685.c
899
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
91
writeb(reg, rtc->regs);
drivers/rtc/rtc-ds1685.c
910
struct ds1685_priv *rtc = priv;
drivers/rtc/rtc-ds1685.c
911
struct mutex *rtc_mutex = &rtc->dev->ops_lock;
drivers/rtc/rtc-ds1685.c
92
writeb(value, rtc->data);
drivers/rtc/rtc-ds1685.c
920
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
926
rtc->write(rtc, (NVRAM_TIME_BASE + pos++),
drivers/rtc/rtc-ds1685.c
929
rtc->write(rtc, (NVRAM_BANK0_BASE), *buf++);
drivers/rtc/rtc-ds1685.c
933
ds1685_rtc_switch_to_bank1(rtc);
drivers/rtc/rtc-ds1685.c
937
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
938
(rtc->read(rtc, RTC_EXT_CTRL_4A) |
drivers/rtc/rtc-ds1685.c
943
rtc->write(rtc, RTC_BANK1_RAM_ADDR_LSB,
drivers/rtc/rtc-ds1685.c
953
rtc->write(rtc, RTC_BANK1_RAM_ADDR,
drivers/rtc/rtc-ds1685.c
956
rtc->write(rtc, RTC_BANK1_RAM_DATA_PORT, *buf++);
drivers/rtc/rtc-ds1685.c
962
rtc->write(rtc, RTC_EXT_CTRL_4A,
drivers/rtc/rtc-ds1685.c
963
(rtc->read(rtc, RTC_EXT_CTRL_4A) &
drivers/rtc/rtc-ds1685.c
966
ds1685_rtc_switch_to_bank0(rtc);
drivers/rtc/rtc-ds1685.c
987
struct ds1685_priv *rtc = dev_get_drvdata(dev->parent);
drivers/rtc/rtc-ds1685.c
990
ctrld = rtc->read(rtc, RTC_CTRL_D);
drivers/rtc/rtc-ds1742.c
143
struct rtc_device *rtc;
drivers/rtc/rtc-ds1742.c
186
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ds1742.c
187
if (IS_ERR(rtc))
drivers/rtc/rtc-ds1742.c
188
return PTR_ERR(rtc);
drivers/rtc/rtc-ds1742.c
190
rtc->ops = &ds1742_rtc_ops;
drivers/rtc/rtc-ds1742.c
192
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-ds1742.c
196
devm_rtc_nvmem_register(rtc, &nvmem_cfg);
drivers/rtc/rtc-ds2404.c
184
struct rtc_device *rtc;
drivers/rtc/rtc-ds2404.c
193
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ds2404.c
194
if (IS_ERR(rtc))
drivers/rtc/rtc-ds2404.c
195
return PTR_ERR(rtc);
drivers/rtc/rtc-ds2404.c
203
rtc->ops = &ds2404_rtc_ops;
drivers/rtc/rtc-ds2404.c
204
rtc->range_max = U32_MAX;
drivers/rtc/rtc-ds2404.c
206
retval = devm_rtc_register_device(rtc);
drivers/rtc/rtc-ds3232.c
392
rtc_lock(ds3232->rtc);
drivers/rtc/rtc-ds3232.c
425
rtc_update_irq(ds3232->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-ds3232.c
430
rtc_unlock(ds3232->rtc);
drivers/rtc/rtc-ds3232.c
495
ds3232->rtc = devm_rtc_device_register(dev, name, &ds3232_rtc_ops,
drivers/rtc/rtc-ds3232.c
497
if (IS_ERR(ds3232->rtc))
drivers/rtc/rtc-ds3232.c
498
return PTR_ERR(ds3232->rtc);
drivers/rtc/rtc-ds3232.c
500
ret = devm_rtc_nvmem_register(ds3232->rtc, &nvmem_cfg);
drivers/rtc/rtc-ds3232.c
56
struct rtc_device *rtc;
drivers/rtc/rtc-efi.c
191
struct rtc_device *rtc;
drivers/rtc/rtc-efi.c
199
rtc = devm_rtc_allocate_device(&dev->dev);
drivers/rtc/rtc-efi.c
200
if (IS_ERR(rtc))
drivers/rtc/rtc-efi.c
201
return PTR_ERR(rtc);
drivers/rtc/rtc-efi.c
203
platform_set_drvdata(dev, rtc);
drivers/rtc/rtc-efi.c
205
rtc->ops = &efi_rtc_ops;
drivers/rtc/rtc-efi.c
206
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/rtc-efi.c
210
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-em3027.c
116
struct rtc_device *rtc;
drivers/rtc/rtc-em3027.c
121
rtc = devm_rtc_device_register(&client->dev, em3027_driver.driver.name,
drivers/rtc/rtc-em3027.c
123
if (IS_ERR(rtc))
drivers/rtc/rtc-em3027.c
124
return PTR_ERR(rtc);
drivers/rtc/rtc-em3027.c
126
i2c_set_clientdata(client, rtc);
drivers/rtc/rtc-ep93xx.c
125
struct rtc_device *rtc;
drivers/rtc/rtc-ep93xx.c
138
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ep93xx.c
139
if (IS_ERR(rtc))
drivers/rtc/rtc-ep93xx.c
140
return PTR_ERR(rtc);
drivers/rtc/rtc-ep93xx.c
142
rtc->ops = &ep93xx_rtc_ops;
drivers/rtc/rtc-ep93xx.c
143
rtc->range_max = U32_MAX;
drivers/rtc/rtc-ep93xx.c
145
err = rtc_add_group(rtc, &ep93xx_rtc_sysfs_files);
drivers/rtc/rtc-ep93xx.c
149
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-fm3130.c
503
fm3130->rtc = devm_rtc_device_register(&client->dev, client->name,
drivers/rtc/rtc-fm3130.c
505
if (IS_ERR(fm3130->rtc)) {
drivers/rtc/rtc-fm3130.c
506
err = PTR_ERR(fm3130->rtc);
drivers/rtc/rtc-fm3130.c
51
struct rtc_device *rtc;
drivers/rtc/rtc-fsl-ftm-alarm.c
107
while ((FTM_SC_TOF & rtc_readl(rtc, FTM_SC)) && timeout--)
drivers/rtc/rtc-fsl-ftm-alarm.c
108
rtc_writel(rtc, FTM_SC, rtc_readl(rtc, FTM_SC) & (~FTM_SC_TOF));
drivers/rtc/rtc-fsl-ftm-alarm.c
111
static inline void ftm_irq_enable(struct ftm_rtc *rtc)
drivers/rtc/rtc-fsl-ftm-alarm.c
115
val = rtc_readl(rtc, FTM_SC);
drivers/rtc/rtc-fsl-ftm-alarm.c
117
rtc_writel(rtc, FTM_SC, val);
drivers/rtc/rtc-fsl-ftm-alarm.c
120
static inline void ftm_irq_disable(struct ftm_rtc *rtc)
drivers/rtc/rtc-fsl-ftm-alarm.c
124
val = rtc_readl(rtc, FTM_SC);
drivers/rtc/rtc-fsl-ftm-alarm.c
126
rtc_writel(rtc, FTM_SC, val);
drivers/rtc/rtc-fsl-ftm-alarm.c
129
static inline void ftm_reset_counter(struct ftm_rtc *rtc)
drivers/rtc/rtc-fsl-ftm-alarm.c
136
rtc_writel(rtc, FTM_CNT, 0x00);
drivers/rtc/rtc-fsl-ftm-alarm.c
139
static void ftm_clean_alarm(struct ftm_rtc *rtc)
drivers/rtc/rtc-fsl-ftm-alarm.c
141
ftm_counter_disable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
143
rtc_writel(rtc, FTM_CNTIN, 0x00);
drivers/rtc/rtc-fsl-ftm-alarm.c
144
rtc_writel(rtc, FTM_MOD, ~0U);
drivers/rtc/rtc-fsl-ftm-alarm.c
146
ftm_reset_counter(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
151
struct ftm_rtc *rtc = dev;
drivers/rtc/rtc-fsl-ftm-alarm.c
153
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-fsl-ftm-alarm.c
155
ftm_irq_acknowledge(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
156
ftm_irq_disable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
157
ftm_clean_alarm(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
165
struct ftm_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-fsl-ftm-alarm.c
168
ftm_irq_enable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
170
ftm_irq_disable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
209
struct ftm_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-fsl-ftm-alarm.c
213
ftm_clean_alarm(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
214
cycle = (alm_time - ktime_get_real_seconds()) * rtc->alarm_freq;
drivers/rtc/rtc-fsl-ftm-alarm.c
220
ftm_irq_disable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
228
rtc_writel(rtc, FTM_MOD, cycle - 1);
drivers/rtc/rtc-fsl-ftm-alarm.c
230
ftm_counter_enable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
231
ftm_irq_enable(rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
248
struct ftm_rtc *rtc;
drivers/rtc/rtc-fsl-ftm-alarm.c
250
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-fsl-ftm-alarm.c
251
if (unlikely(!rtc)) {
drivers/rtc/rtc-fsl-ftm-alarm.c
256
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
258
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-fsl-ftm-alarm.c
259
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-fsl-ftm-alarm.c
260
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-fsl-ftm-alarm.c
262
rtc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-fsl-ftm-alarm.c
263
if (IS_ERR(rtc->base)) {
drivers/rtc/rtc-fsl-ftm-alarm.c
265
return PTR_ERR(rtc->base);
drivers/rtc/rtc-fsl-ftm-alarm.c
273
0, dev_name(&pdev->dev), rtc);
drivers/rtc/rtc-fsl-ftm-alarm.c
279
rtc->big_endian =
drivers/rtc/rtc-fsl-ftm-alarm.c
282
rtc->alarm_freq = (u32)FIXED_FREQ_CLK / (u32)MAX_FREQ_DIV;
drivers/rtc/rtc-fsl-ftm-alarm.c
283
rtc->rtc_dev->ops = &ftm_rtc_ops;
drivers/rtc/rtc-fsl-ftm-alarm.c
290
ret = devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-fsl-ftm-alarm.c
61
static inline void ftm_counter_enable(struct ftm_rtc *rtc)
drivers/rtc/rtc-fsl-ftm-alarm.c
66
val = rtc_readl(rtc, FTM_SC);
drivers/rtc/rtc-fsl-ftm-alarm.c
69
rtc_writel(rtc, FTM_SC, val);
drivers/rtc/rtc-fsl-ftm-alarm.c
72
static inline void ftm_counter_disable(struct ftm_rtc *rtc)
drivers/rtc/rtc-fsl-ftm-alarm.c
77
val = rtc_readl(rtc, FTM_SC);
drivers/rtc/rtc-fsl-ftm-alarm.c
79
rtc_writel(rtc, FTM_SC, val);
drivers/rtc/rtc-fsl-ftm-alarm.c
82
static inline void ftm_irq_acknowledge(struct ftm_rtc *rtc)
drivers/rtc/rtc-ftrtc010.c
112
struct ftrtc010_rtc *rtc;
drivers/rtc/rtc-ftrtc010.c
118
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-ftrtc010.c
119
if (unlikely(!rtc))
drivers/rtc/rtc-ftrtc010.c
121
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-ftrtc010.c
123
rtc->pclk = devm_clk_get(dev, "PCLK");
drivers/rtc/rtc-ftrtc010.c
124
if (IS_ERR(rtc->pclk)) {
drivers/rtc/rtc-ftrtc010.c
127
ret = clk_prepare_enable(rtc->pclk);
drivers/rtc/rtc-ftrtc010.c
133
rtc->extclk = devm_clk_get(dev, "EXTCLK");
drivers/rtc/rtc-ftrtc010.c
134
if (IS_ERR(rtc->extclk)) {
drivers/rtc/rtc-ftrtc010.c
137
ret = clk_prepare_enable(rtc->extclk);
drivers/rtc/rtc-ftrtc010.c
144
rtc->rtc_irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-ftrtc010.c
145
if (rtc->rtc_irq < 0) {
drivers/rtc/rtc-ftrtc010.c
146
ret = rtc->rtc_irq;
drivers/rtc/rtc-ftrtc010.c
156
rtc->rtc_base = devm_ioremap(dev, res->start,
drivers/rtc/rtc-ftrtc010.c
158
if (!rtc->rtc_base) {
drivers/rtc/rtc-ftrtc010.c
171
sec = readl(rtc->rtc_base + FTRTC010_RTC_SECOND);
drivers/rtc/rtc-ftrtc010.c
172
min = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE);
drivers/rtc/rtc-ftrtc010.c
173
hour = readl(rtc->rtc_base + FTRTC010_RTC_HOUR);
drivers/rtc/rtc-ftrtc010.c
174
days = readl(rtc->rtc_base + FTRTC010_RTC_DAYS);
drivers/rtc/rtc-ftrtc010.c
179
ret = devm_request_irq(dev, rtc->rtc_irq, ftrtc010_rtc_interrupt,
drivers/rtc/rtc-ftrtc010.c
187
clk_disable_unprepare(rtc->extclk);
drivers/rtc/rtc-ftrtc010.c
189
clk_disable_unprepare(rtc->pclk);
drivers/rtc/rtc-ftrtc010.c
195
struct ftrtc010_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-ftrtc010.c
197
if (!IS_ERR(rtc->extclk))
drivers/rtc/rtc-ftrtc010.c
198
clk_disable_unprepare(rtc->extclk);
drivers/rtc/rtc-ftrtc010.c
199
if (!IS_ERR(rtc->pclk))
drivers/rtc/rtc-ftrtc010.c
200
clk_disable_unprepare(rtc->pclk);
drivers/rtc/rtc-ftrtc010.c
65
struct ftrtc010_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ftrtc010.c
70
sec = readl(rtc->rtc_base + FTRTC010_RTC_SECOND);
drivers/rtc/rtc-ftrtc010.c
71
min = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE);
drivers/rtc/rtc-ftrtc010.c
72
hour = readl(rtc->rtc_base + FTRTC010_RTC_HOUR);
drivers/rtc/rtc-ftrtc010.c
73
days = readl(rtc->rtc_base + FTRTC010_RTC_DAYS);
drivers/rtc/rtc-ftrtc010.c
74
offset = readl(rtc->rtc_base + FTRTC010_RTC_RECORD);
drivers/rtc/rtc-ftrtc010.c
85
struct ftrtc010_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ftrtc010.c
91
sec = readl(rtc->rtc_base + FTRTC010_RTC_SECOND);
drivers/rtc/rtc-ftrtc010.c
92
min = readl(rtc->rtc_base + FTRTC010_RTC_MINUTE);
drivers/rtc/rtc-ftrtc010.c
93
hour = readl(rtc->rtc_base + FTRTC010_RTC_HOUR);
drivers/rtc/rtc-ftrtc010.c
94
day = readl(rtc->rtc_base + FTRTC010_RTC_DAYS);
drivers/rtc/rtc-ftrtc010.c
98
writel(offset, rtc->rtc_base + FTRTC010_RTC_RECORD);
drivers/rtc/rtc-ftrtc010.c
99
writel(0x01, rtc->rtc_base + FTRTC010_RTC_CR);
drivers/rtc/rtc-gamecube.c
322
struct rtc_device *rtc;
drivers/rtc/rtc-gamecube.c
346
rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-gamecube.c
347
if (IS_ERR(rtc))
drivers/rtc/rtc-gamecube.c
348
return PTR_ERR(rtc);
drivers/rtc/rtc-gamecube.c
354
rtc->range_min = 0;
drivers/rtc/rtc-gamecube.c
355
rtc->range_max = U32_MAX;
drivers/rtc/rtc-gamecube.c
356
rtc->ops = &gamecube_rtc_ops;
drivers/rtc/rtc-gamecube.c
358
devm_rtc_register_device(rtc);
drivers/rtc/rtc-generic.c
15
struct rtc_device *rtc;
drivers/rtc/rtc-generic.c
18
rtc = devm_rtc_device_register(&dev->dev, "rtc-generic",
drivers/rtc/rtc-generic.c
20
if (IS_ERR(rtc))
drivers/rtc/rtc-generic.c
21
return PTR_ERR(rtc);
drivers/rtc/rtc-generic.c
23
platform_set_drvdata(dev, rtc);
drivers/rtc/rtc-goldfish.c
105
rtc_update_irq(rtcdrv->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-goldfish.c
174
rtcdrv->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-goldfish.c
175
if (IS_ERR(rtcdrv->rtc))
drivers/rtc/rtc-goldfish.c
176
return PTR_ERR(rtcdrv->rtc);
drivers/rtc/rtc-goldfish.c
178
rtcdrv->rtc->ops = &goldfish_rtc_ops;
drivers/rtc/rtc-goldfish.c
179
rtcdrv->rtc->range_max = U64_MAX / NSEC_PER_SEC;
drivers/rtc/rtc-goldfish.c
187
return devm_rtc_register_device(rtcdrv->rtc);
drivers/rtc/rtc-goldfish.c
19
struct rtc_device *rtc;
drivers/rtc/rtc-hid-sensor-time.c
278
time_state->rtc = devm_rtc_device_register(&pdev->dev,
drivers/rtc/rtc-hid-sensor-time.c
282
if (IS_ERR(time_state->rtc)) {
drivers/rtc/rtc-hid-sensor-time.c
284
ret = PTR_ERR(time_state->rtc);
drivers/rtc/rtc-hid-sensor-time.c
285
time_state->rtc = NULL;
drivers/rtc/rtc-hid-sensor-time.c
31
struct rtc_device *rtc;
drivers/rtc/rtc-hym8563.c
420
rtc_lock(hym8563->rtc);
drivers/rtc/rtc-hym8563.c
440
rtc_unlock(hym8563->rtc);
drivers/rtc/rtc-hym8563.c
512
hym8563->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-hym8563.c
513
if (IS_ERR(hym8563->rtc))
drivers/rtc/rtc-hym8563.c
514
return PTR_ERR(hym8563->rtc);
drivers/rtc/rtc-hym8563.c
555
hym8563->rtc->ops = &hym8563_rtc_ops;
drivers/rtc/rtc-hym8563.c
556
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, hym8563->rtc->features);
drivers/rtc/rtc-hym8563.c
557
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, hym8563->rtc->features);
drivers/rtc/rtc-hym8563.c
563
return devm_rtc_register_device(hym8563->rtc);
drivers/rtc/rtc-hym8563.c
80
struct rtc_device *rtc;
drivers/rtc/rtc-imxdi.c
111
struct rtc_device *rtc;
drivers/rtc/rtc-imxdi.c
736
rtc_update_irq(imxdi->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-imxdi.c
777
imxdi->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-imxdi.c
778
if (IS_ERR(imxdi->rtc))
drivers/rtc/rtc-imxdi.c
779
return PTR_ERR(imxdi->rtc);
drivers/rtc/rtc-imxdi.c
818
imxdi->rtc->ops = &dryice_rtc_ops;
drivers/rtc/rtc-imxdi.c
819
imxdi->rtc->range_max = U32_MAX;
drivers/rtc/rtc-imxdi.c
821
rc = devm_rtc_register_device(imxdi->rtc);
drivers/rtc/rtc-isl12022.c
345
struct rtc_device *rtc = isl12022->rtc;
drivers/rtc/rtc-isl12022.c
346
struct device *dev = &rtc->dev;
drivers/rtc/rtc-isl12022.c
367
rtc_update_irq(rtc, 1, events);
drivers/rtc/rtc-isl12022.c
553
struct rtc_device *rtc;
drivers/rtc/rtc-isl12022.c
579
rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-isl12022.c
580
if (IS_ERR(rtc))
drivers/rtc/rtc-isl12022.c
581
return PTR_ERR(rtc);
drivers/rtc/rtc-isl12022.c
582
isl12022->rtc = rtc;
drivers/rtc/rtc-isl12022.c
584
rtc->ops = &isl12022_rtc_ops;
drivers/rtc/rtc-isl12022.c
585
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-isl12022.c
586
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-isl12022.c
593
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/rtc-isl12022.c
596
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-isl12022.c
77
struct rtc_device *rtc;
drivers/rtc/rtc-isl12026.c
300
ret = mutex_lock_interruptible(&priv->rtc->ops_lock);
drivers/rtc/rtc-isl12026.c
310
mutex_unlock(&priv->rtc->ops_lock);
drivers/rtc/rtc-isl12026.c
341
ret = mutex_lock_interruptible(&priv->rtc->ops_lock);
drivers/rtc/rtc-isl12026.c
373
mutex_unlock(&priv->rtc->ops_lock);
drivers/rtc/rtc-isl12026.c
38
struct rtc_device *rtc;
drivers/rtc/rtc-isl12026.c
460
priv->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-isl12026.c
461
ret = PTR_ERR_OR_ZERO(priv->rtc);
drivers/rtc/rtc-isl12026.c
465
priv->rtc->ops = &isl12026_rtc_ops;
drivers/rtc/rtc-isl12026.c
467
ret = devm_rtc_nvmem_register(priv->rtc, &nvm_cfg);
drivers/rtc/rtc-isl12026.c
471
return devm_rtc_register_device(priv->rtc);
drivers/rtc/rtc-isl1208.c
134
struct rtc_device *rtc;
drivers/rtc/rtc-isl1208.c
664
rtc_update_irq(isl1208->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-isl1208.c
687
sysfs_notify(&isl1208->rtc->dev.kobj, NULL,
drivers/rtc/rtc-isl1208.c
792
struct i2c_client *client = to_i2c_client(isl1208->rtc->dev.parent);
drivers/rtc/rtc-isl1208.c
806
struct i2c_client *client = to_i2c_client(isl1208->rtc->dev.parent);
drivers/rtc/rtc-isl1208.c
894
isl1208->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-isl1208.c
895
if (IS_ERR(isl1208->rtc))
drivers/rtc/rtc-isl1208.c
896
return PTR_ERR(isl1208->rtc);
drivers/rtc/rtc-isl1208.c
898
isl1208->rtc->ops = &isl1208_rtc_ops;
drivers/rtc/rtc-isl1208.c
946
rc = rtc_add_group(isl1208->rtc, &isl1219_rtc_sysfs_files);
drivers/rtc/rtc-isl1208.c
951
rc = rtc_add_group(isl1208->rtc, &isl1208_rtc_sysfs_files);
drivers/rtc/rtc-isl1208.c
960
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, isl1208->rtc->features);
drivers/rtc/rtc-isl1208.c
968
rc = devm_rtc_nvmem_register(isl1208->rtc, &isl1208->nvmem_config);
drivers/rtc/rtc-isl1208.c
972
return devm_rtc_register_device(isl1208->rtc);
drivers/rtc/rtc-jz4740.c
101
static inline int jz4740_rtc_reg_write(struct jz4740_rtc *rtc, size_t reg,
drivers/rtc/rtc-jz4740.c
106
if (rtc->type >= ID_JZ4760)
drivers/rtc/rtc-jz4740.c
107
ret = jz4780_rtc_enable_write(rtc);
drivers/rtc/rtc-jz4740.c
109
ret = jz4740_rtc_wait_write_ready(rtc);
drivers/rtc/rtc-jz4740.c
111
writel(val, rtc->base + reg);
drivers/rtc/rtc-jz4740.c
116
static int jz4740_rtc_ctrl_set_bits(struct jz4740_rtc *rtc, uint32_t mask,
drivers/rtc/rtc-jz4740.c
123
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-jz4740.c
125
ctrl = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_CTRL);
drivers/rtc/rtc-jz4740.c
135
ret = jz4740_rtc_reg_write(rtc, JZ_REG_RTC_CTRL, ctrl);
drivers/rtc/rtc-jz4740.c
137
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-jz4740.c
144
struct jz4740_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-jz4740.c
148
if (jz4740_rtc_reg_read(rtc, JZ_REG_RTC_SCRATCHPAD) != 0x12345678)
drivers/rtc/rtc-jz4740.c
155
secs = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_SEC);
drivers/rtc/rtc-jz4740.c
156
secs2 = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_SEC);
drivers/rtc/rtc-jz4740.c
160
secs2 = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_SEC);
drivers/rtc/rtc-jz4740.c
173
struct jz4740_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-jz4740.c
176
ret = jz4740_rtc_reg_write(rtc, JZ_REG_RTC_SEC, rtc_tm_to_time64(time));
drivers/rtc/rtc-jz4740.c
180
return jz4740_rtc_reg_write(rtc, JZ_REG_RTC_SCRATCHPAD, 0x12345678);
drivers/rtc/rtc-jz4740.c
185
struct jz4740_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-jz4740.c
189
secs = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_SEC_ALARM);
drivers/rtc/rtc-jz4740.c
191
ctrl = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_CTRL);
drivers/rtc/rtc-jz4740.c
204
struct jz4740_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-jz4740.c
207
ret = jz4740_rtc_reg_write(rtc, JZ_REG_RTC_SEC_ALARM, secs);
drivers/rtc/rtc-jz4740.c
209
ret = jz4740_rtc_ctrl_set_bits(rtc,
drivers/rtc/rtc-jz4740.c
217
struct jz4740_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-jz4740.c
218
return jz4740_rtc_ctrl_set_bits(rtc, JZ_RTC_CTRL_AF_IRQ, enable);
drivers/rtc/rtc-jz4740.c
231
struct jz4740_rtc *rtc = data;
drivers/rtc/rtc-jz4740.c
235
ctrl = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_CTRL);
drivers/rtc/rtc-jz4740.c
243
rtc_update_irq(rtc->rtc, 1, events);
drivers/rtc/rtc-jz4740.c
245
jz4740_rtc_ctrl_set_bits(rtc, JZ_RTC_CTRL_1HZ | JZ_RTC_CTRL_AF, false);
drivers/rtc/rtc-jz4740.c
252
struct jz4740_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-jz4740.c
253
jz4740_rtc_reg_write(rtc, JZ_REG_RTC_HIBERNATE, 1);
drivers/rtc/rtc-jz4740.c
271
static void jz4740_rtc_set_wakeup_params(struct jz4740_rtc *rtc,
drivers/rtc/rtc-jz4740.c
293
jz4740_rtc_reg_write(rtc, JZ_REG_RTC_WAKEUP_FILTER, wakeup_ticks);
drivers/rtc/rtc-jz4740.c
304
jz4740_rtc_reg_write(rtc, JZ_REG_RTC_RESET_COUNTER, reset_ticks);
drivers/rtc/rtc-jz4740.c
309
struct jz4740_rtc *rtc = container_of(hw, struct jz4740_rtc, clk32k);
drivers/rtc/rtc-jz4740.c
311
return jz4740_rtc_reg_write(rtc, JZ_REG_RTC_CKPCR,
drivers/rtc/rtc-jz4740.c
318
struct jz4740_rtc *rtc = container_of(hw, struct jz4740_rtc, clk32k);
drivers/rtc/rtc-jz4740.c
320
jz4740_rtc_reg_write(rtc, JZ_REG_RTC_CKPCR, 0);
drivers/rtc/rtc-jz4740.c
325
struct jz4740_rtc *rtc = container_of(hw, struct jz4740_rtc, clk32k);
drivers/rtc/rtc-jz4740.c
328
ckpcr = jz4740_rtc_reg_read(rtc, JZ_REG_RTC_CKPCR);
drivers/rtc/rtc-jz4740.c
343
struct jz4740_rtc *rtc;
drivers/rtc/rtc-jz4740.c
348
rtc = devm_kzalloc(dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-jz4740.c
349
if (!rtc)
drivers/rtc/rtc-jz4740.c
352
rtc->type = (uintptr_t)device_get_match_data(dev);
drivers/rtc/rtc-jz4740.c
358
rtc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-jz4740.c
359
if (IS_ERR(rtc->base))
drivers/rtc/rtc-jz4740.c
360
return PTR_ERR(rtc->base);
drivers/rtc/rtc-jz4740.c
366
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-jz4740.c
368
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-jz4740.c
376
rtc->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-jz4740.c
377
if (IS_ERR(rtc->rtc))
drivers/rtc/rtc-jz4740.c
378
return dev_err_probe(dev, PTR_ERR(rtc->rtc),
drivers/rtc/rtc-jz4740.c
381
rtc->rtc->ops = &jz4740_rtc_ops;
drivers/rtc/rtc-jz4740.c
382
rtc->rtc->range_max = U32_MAX;
drivers/rtc/rtc-jz4740.c
385
jz4740_rtc_set_wakeup_params(rtc, np, rate);
drivers/rtc/rtc-jz4740.c
388
jz4740_rtc_reg_write(rtc, JZ_REG_RTC_REGULATOR, rate - 1);
drivers/rtc/rtc-jz4740.c
390
ret = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-jz4740.c
395
pdev->name, rtc);
drivers/rtc/rtc-jz4740.c
409
rtc->clk32k.init = CLK_HW_INIT_HW("clk32k", __clk_get_hw(clk),
drivers/rtc/rtc-jz4740.c
412
ret = devm_clk_hw_register(dev, &rtc->clk32k);
drivers/rtc/rtc-jz4740.c
418
&rtc->clk32k);
drivers/rtc/rtc-jz4740.c
64
struct rtc_device *rtc;
drivers/rtc/rtc-jz4740.c
73
static inline uint32_t jz4740_rtc_reg_read(struct jz4740_rtc *rtc, size_t reg)
drivers/rtc/rtc-jz4740.c
75
return readl(rtc->base + reg);
drivers/rtc/rtc-jz4740.c
78
static int jz4740_rtc_wait_write_ready(struct jz4740_rtc *rtc)
drivers/rtc/rtc-jz4740.c
82
return readl_poll_timeout(rtc->base + JZ_REG_RTC_CTRL, ctrl,
drivers/rtc/rtc-jz4740.c
86
static inline int jz4780_rtc_enable_write(struct jz4740_rtc *rtc)
drivers/rtc/rtc-jz4740.c
91
ret = jz4740_rtc_wait_write_ready(rtc);
drivers/rtc/rtc-jz4740.c
95
writel(JZ_RTC_WENR_MAGIC, rtc->base + JZ_REG_RTC_WENR);
drivers/rtc/rtc-jz4740.c
97
return readl_poll_timeout(rtc->base + JZ_REG_RTC_WENR, ctrl,
drivers/rtc/rtc-lp8788.c
111
struct lp8788_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lp8788.c
112
struct lp8788 *lp = rtc->lp;
drivers/rtc/rtc-lp8788.c
135
struct lp8788_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lp8788.c
136
struct lp8788 *lp = rtc->lp;
drivers/rtc/rtc-lp8788.c
165
struct lp8788_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lp8788.c
166
struct lp8788 *lp = rtc->lp;
drivers/rtc/rtc-lp8788.c
171
addr = addr_alarm_sec[rtc->alarm];
drivers/rtc/rtc-lp8788.c
190
struct lp8788_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lp8788.c
191
struct lp8788 *lp = rtc->lp;
drivers/rtc/rtc-lp8788.c
211
addr = addr_alarm_sec[rtc->alarm] + i;
drivers/rtc/rtc-lp8788.c
218
addr = addr_alarm_en[rtc->alarm];
drivers/rtc/rtc-lp8788.c
226
struct lp8788_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lp8788.c
227
struct lp8788 *lp = rtc->lp;
drivers/rtc/rtc-lp8788.c
230
if (!rtc->irq)
drivers/rtc/rtc-lp8788.c
233
mask = mask_alarm_en[rtc->alarm];
drivers/rtc/rtc-lp8788.c
234
shift = shift_alarm_en[rtc->alarm];
drivers/rtc/rtc-lp8788.c
249
struct lp8788_rtc *rtc = ptr;
drivers/rtc/rtc-lp8788.c
251
rtc_update_irq(rtc->rdev, 1, ALARM_IRQ_FLAG);
drivers/rtc/rtc-lp8788.c
256
struct lp8788_rtc *rtc)
drivers/rtc/rtc-lp8788.c
259
struct lp8788 *lp = rtc->lp;
drivers/rtc/rtc-lp8788.c
263
rtc->irq = 0;
drivers/rtc/rtc-lp8788.c
270
if (rtc->alarm == LP8788_ALARM_1)
drivers/rtc/rtc-lp8788.c
275
rtc->irq = irq_create_mapping(irqdm, irq);
drivers/rtc/rtc-lp8788.c
277
return devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
drivers/rtc/rtc-lp8788.c
279
0, LP8788_ALM_IRQ, rtc);
drivers/rtc/rtc-lp8788.c
285
struct lp8788_rtc *rtc;
drivers/rtc/rtc-lp8788.c
288
rtc = devm_kzalloc(dev, sizeof(struct lp8788_rtc), GFP_KERNEL);
drivers/rtc/rtc-lp8788.c
289
if (!rtc)
drivers/rtc/rtc-lp8788.c
292
rtc->lp = lp;
drivers/rtc/rtc-lp8788.c
293
rtc->alarm = lp->pdata ? lp->pdata->alarm_sel : DEFAULT_ALARM_SEL;
drivers/rtc/rtc-lp8788.c
294
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-lp8788.c
298
rtc->rdev = devm_rtc_device_register(dev, "lp8788_rtc",
drivers/rtc/rtc-lp8788.c
300
if (IS_ERR(rtc->rdev)) {
drivers/rtc/rtc-lp8788.c
302
return PTR_ERR(rtc->rdev);
drivers/rtc/rtc-lp8788.c
305
if (lp8788_alarm_irq_register(pdev, rtc))
drivers/rtc/rtc-lpc24xx.c
112
struct lpc24xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc24xx.c
115
tm->tm_sec = rtc_readl(rtc, LPC24XX_ALSEC);
drivers/rtc/rtc-lpc24xx.c
116
tm->tm_min = rtc_readl(rtc, LPC24XX_ALMIN);
drivers/rtc/rtc-lpc24xx.c
117
tm->tm_hour = rtc_readl(rtc, LPC24XX_ALHOUR);
drivers/rtc/rtc-lpc24xx.c
118
tm->tm_mday = rtc_readl(rtc, LPC24XX_ALDOM);
drivers/rtc/rtc-lpc24xx.c
119
tm->tm_wday = rtc_readl(rtc, LPC24XX_ALDOW);
drivers/rtc/rtc-lpc24xx.c
120
tm->tm_yday = rtc_readl(rtc, LPC24XX_ALDOY);
drivers/rtc/rtc-lpc24xx.c
121
tm->tm_mon = rtc_readl(rtc, LPC24XX_ALMON);
drivers/rtc/rtc-lpc24xx.c
122
tm->tm_year = rtc_readl(rtc, LPC24XX_ALYEAR);
drivers/rtc/rtc-lpc24xx.c
124
wkalrm->enabled = rtc_readl(rtc, LPC24XX_AMR) == 0;
drivers/rtc/rtc-lpc24xx.c
125
wkalrm->pending = !!(rtc_readl(rtc, LPC24XX_ILR) & LPC24XX_RTCCIF);
drivers/rtc/rtc-lpc24xx.c
132
struct lpc24xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc24xx.c
136
rtc_writel(rtc, LPC24XX_AMR, LPC24XX_ALARM_DISABLE);
drivers/rtc/rtc-lpc24xx.c
138
rtc_writel(rtc, LPC24XX_ALSEC, tm->tm_sec);
drivers/rtc/rtc-lpc24xx.c
139
rtc_writel(rtc, LPC24XX_ALMIN, tm->tm_min);
drivers/rtc/rtc-lpc24xx.c
140
rtc_writel(rtc, LPC24XX_ALHOUR, tm->tm_hour);
drivers/rtc/rtc-lpc24xx.c
141
rtc_writel(rtc, LPC24XX_ALDOM, tm->tm_mday);
drivers/rtc/rtc-lpc24xx.c
142
rtc_writel(rtc, LPC24XX_ALDOW, tm->tm_wday);
drivers/rtc/rtc-lpc24xx.c
143
rtc_writel(rtc, LPC24XX_ALDOY, tm->tm_yday);
drivers/rtc/rtc-lpc24xx.c
144
rtc_writel(rtc, LPC24XX_ALMON, tm->tm_mon);
drivers/rtc/rtc-lpc24xx.c
145
rtc_writel(rtc, LPC24XX_ALYEAR, tm->tm_year);
drivers/rtc/rtc-lpc24xx.c
148
rtc_writel(rtc, LPC24XX_AMR, 0);
drivers/rtc/rtc-lpc24xx.c
155
struct lpc24xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc24xx.c
158
rtc_writel(rtc, LPC24XX_AMR, 0);
drivers/rtc/rtc-lpc24xx.c
160
rtc_writel(rtc, LPC24XX_AMR, LPC24XX_ALARM_DISABLE);
drivers/rtc/rtc-lpc24xx.c
168
struct lpc24xx_rtc *rtc = data;
drivers/rtc/rtc-lpc24xx.c
172
rtc_iir = rtc_readl(rtc, LPC24XX_ILR);
drivers/rtc/rtc-lpc24xx.c
175
rtc_writel(rtc, LPC24XX_AMR, LPC24XX_ALARM_DISABLE);
drivers/rtc/rtc-lpc24xx.c
179
rtc_writel(rtc, LPC24XX_ILR, rtc_iir);
drivers/rtc/rtc-lpc24xx.c
180
rtc_update_irq(rtc->rtc, 1, events);
drivers/rtc/rtc-lpc24xx.c
195
struct lpc24xx_rtc *rtc;
drivers/rtc/rtc-lpc24xx.c
198
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-lpc24xx.c
199
if (!rtc)
drivers/rtc/rtc-lpc24xx.c
202
rtc->rtc_base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-lpc24xx.c
203
if (IS_ERR(rtc->rtc_base))
drivers/rtc/rtc-lpc24xx.c
204
return PTR_ERR(rtc->rtc_base);
drivers/rtc/rtc-lpc24xx.c
210
rtc->clk_rtc = devm_clk_get(&pdev->dev, "rtc");
drivers/rtc/rtc-lpc24xx.c
211
if (IS_ERR(rtc->clk_rtc)) {
drivers/rtc/rtc-lpc24xx.c
213
return PTR_ERR(rtc->clk_rtc);
drivers/rtc/rtc-lpc24xx.c
216
rtc->clk_reg = devm_clk_get(&pdev->dev, "reg");
drivers/rtc/rtc-lpc24xx.c
217
if (IS_ERR(rtc->clk_reg)) {
drivers/rtc/rtc-lpc24xx.c
219
return PTR_ERR(rtc->clk_reg);
drivers/rtc/rtc-lpc24xx.c
222
ret = clk_prepare_enable(rtc->clk_rtc);
drivers/rtc/rtc-lpc24xx.c
228
ret = clk_prepare_enable(rtc->clk_reg);
drivers/rtc/rtc-lpc24xx.c
234
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-lpc24xx.c
237
rtc_writel(rtc, LPC24XX_ILR, LPC24XX_RTCCIF | LPC24XX_RTCALF);
drivers/rtc/rtc-lpc24xx.c
240
rtc_writel(rtc, LPC24XX_CCR, LPC24XX_CLKEN | LPC178X_CCALEN);
drivers/rtc/rtc-lpc24xx.c
243
pdev->name, rtc);
drivers/rtc/rtc-lpc24xx.c
249
rtc->rtc = devm_rtc_device_register(&pdev->dev, "lpc24xx-rtc",
drivers/rtc/rtc-lpc24xx.c
251
if (IS_ERR(rtc->rtc)) {
drivers/rtc/rtc-lpc24xx.c
253
ret = PTR_ERR(rtc->rtc);
drivers/rtc/rtc-lpc24xx.c
260
clk_disable_unprepare(rtc->clk_reg);
drivers/rtc/rtc-lpc24xx.c
262
clk_disable_unprepare(rtc->clk_rtc);
drivers/rtc/rtc-lpc24xx.c
268
struct lpc24xx_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-lpc24xx.c
271
rtc_writel(rtc, LPC24XX_AMR, LPC24XX_ALARM_DISABLE);
drivers/rtc/rtc-lpc24xx.c
272
rtc_writel(rtc, LPC24XX_CIIR, 0);
drivers/rtc/rtc-lpc24xx.c
274
rtc_writel(rtc, LPC24XX_CCR, LPC178X_CCALEN);
drivers/rtc/rtc-lpc24xx.c
276
clk_disable_unprepare(rtc->clk_rtc);
drivers/rtc/rtc-lpc24xx.c
277
clk_disable_unprepare(rtc->clk_reg);
drivers/rtc/rtc-lpc24xx.c
63
struct rtc_device *rtc;
drivers/rtc/rtc-lpc24xx.c
70
struct lpc24xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc24xx.c
73
rtc_writel(rtc, LPC24XX_CCR, LPC178X_CCALEN);
drivers/rtc/rtc-lpc24xx.c
75
rtc_writel(rtc, LPC24XX_SEC, tm->tm_sec);
drivers/rtc/rtc-lpc24xx.c
76
rtc_writel(rtc, LPC24XX_MIN, tm->tm_min);
drivers/rtc/rtc-lpc24xx.c
77
rtc_writel(rtc, LPC24XX_HOUR, tm->tm_hour);
drivers/rtc/rtc-lpc24xx.c
78
rtc_writel(rtc, LPC24XX_DOW, tm->tm_wday);
drivers/rtc/rtc-lpc24xx.c
79
rtc_writel(rtc, LPC24XX_DOM, tm->tm_mday);
drivers/rtc/rtc-lpc24xx.c
80
rtc_writel(rtc, LPC24XX_DOY, tm->tm_yday);
drivers/rtc/rtc-lpc24xx.c
81
rtc_writel(rtc, LPC24XX_MONTH, tm->tm_mon);
drivers/rtc/rtc-lpc24xx.c
82
rtc_writel(rtc, LPC24XX_YEAR, tm->tm_year);
drivers/rtc/rtc-lpc24xx.c
84
rtc_writel(rtc, LPC24XX_CCR, LPC24XX_CLKEN | LPC178X_CCALEN);
drivers/rtc/rtc-lpc24xx.c
91
struct lpc24xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc24xx.c
94
ct0 = rtc_readl(rtc, LPC24XX_CTIME0);
drivers/rtc/rtc-lpc24xx.c
95
ct1 = rtc_readl(rtc, LPC24XX_CTIME1);
drivers/rtc/rtc-lpc24xx.c
96
ct2 = rtc_readl(rtc, LPC24XX_CTIME2);
drivers/rtc/rtc-lpc32xx.c
102
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
108
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
111
tmp = rtc_readl(rtc, LPC32XX_RTC_CTRL);
drivers/rtc/rtc-lpc32xx.c
112
rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp & ~LPC32XX_RTC_CTRL_MATCH0);
drivers/rtc/rtc-lpc32xx.c
114
rtc_writel(rtc, LPC32XX_RTC_MATCH0, alarmsecs);
drivers/rtc/rtc-lpc32xx.c
116
rtc->alarm_enabled = wkalrm->enabled;
drivers/rtc/rtc-lpc32xx.c
118
rtc_writel(rtc, LPC32XX_RTC_INTSTAT,
drivers/rtc/rtc-lpc32xx.c
120
rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp |
drivers/rtc/rtc-lpc32xx.c
124
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
132
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
135
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
136
tmp = rtc_readl(rtc, LPC32XX_RTC_CTRL);
drivers/rtc/rtc-lpc32xx.c
139
rtc->alarm_enabled = 1;
drivers/rtc/rtc-lpc32xx.c
142
rtc->alarm_enabled = 0;
drivers/rtc/rtc-lpc32xx.c
146
rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp);
drivers/rtc/rtc-lpc32xx.c
147
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
154
struct lpc32xx_rtc *rtc = dev;
drivers/rtc/rtc-lpc32xx.c
156
spin_lock(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
159
rtc_writel(rtc, LPC32XX_RTC_CTRL,
drivers/rtc/rtc-lpc32xx.c
160
rtc_readl(rtc, LPC32XX_RTC_CTRL) &
drivers/rtc/rtc-lpc32xx.c
162
rtc->alarm_enabled = 0;
drivers/rtc/rtc-lpc32xx.c
168
rtc_writel(rtc, LPC32XX_RTC_MATCH0, 0xFFFFFFFF);
drivers/rtc/rtc-lpc32xx.c
169
rtc_writel(rtc, LPC32XX_RTC_INTSTAT, LPC32XX_RTC_INTSTAT_MATCH0);
drivers/rtc/rtc-lpc32xx.c
171
spin_unlock(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
173
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-lpc32xx.c
188
struct lpc32xx_rtc *rtc;
drivers/rtc/rtc-lpc32xx.c
192
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-lpc32xx.c
193
if (unlikely(!rtc))
drivers/rtc/rtc-lpc32xx.c
196
rtc->rtc_base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-lpc32xx.c
197
if (IS_ERR(rtc->rtc_base))
drivers/rtc/rtc-lpc32xx.c
198
return PTR_ERR(rtc->rtc_base);
drivers/rtc/rtc-lpc32xx.c
200
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
207
tmp = rtc_readl(rtc, LPC32XX_RTC_CTRL);
drivers/rtc/rtc-lpc32xx.c
208
if (rtc_readl(rtc, LPC32XX_RTC_KEY) != LPC32XX_RTC_KEY_ONSW_LOADVAL) {
drivers/rtc/rtc-lpc32xx.c
216
rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp);
drivers/rtc/rtc-lpc32xx.c
219
rtc_writel(rtc, LPC32XX_RTC_MATCH0, 0xFFFFFFFF);
drivers/rtc/rtc-lpc32xx.c
220
rtc_writel(rtc, LPC32XX_RTC_INTSTAT,
drivers/rtc/rtc-lpc32xx.c
226
rtc_writel(rtc, LPC32XX_RTC_KEY,
drivers/rtc/rtc-lpc32xx.c
229
rtc_writel(rtc, LPC32XX_RTC_CTRL,
drivers/rtc/rtc-lpc32xx.c
233
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-lpc32xx.c
235
rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-lpc32xx.c
236
if (IS_ERR(rtc->rtc))
drivers/rtc/rtc-lpc32xx.c
237
return PTR_ERR(rtc->rtc);
drivers/rtc/rtc-lpc32xx.c
239
rtc->rtc->ops = &lpc32xx_rtc_ops;
drivers/rtc/rtc-lpc32xx.c
240
rtc->rtc->range_max = U32_MAX;
drivers/rtc/rtc-lpc32xx.c
242
err = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-lpc32xx.c
250
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-lpc32xx.c
251
if (rtc->irq < 0) {
drivers/rtc/rtc-lpc32xx.c
254
if (devm_request_irq(&pdev->dev, rtc->irq,
drivers/rtc/rtc-lpc32xx.c
256
0, pdev->name, rtc) < 0) {
drivers/rtc/rtc-lpc32xx.c
258
rtc->irq = -1;
drivers/rtc/rtc-lpc32xx.c
270
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
272
if (rtc->irq >= 0) {
drivers/rtc/rtc-lpc32xx.c
274
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-lpc32xx.c
276
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-lpc32xx.c
284
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
286
if (rtc->irq >= 0 && device_may_wakeup(dev))
drivers/rtc/rtc-lpc32xx.c
287
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-lpc32xx.c
295
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
297
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
299
rtc_writel(rtc, LPC32XX_RTC_CTRL,
drivers/rtc/rtc-lpc32xx.c
300
rtc_readl(rtc, LPC32XX_RTC_CTRL) &
drivers/rtc/rtc-lpc32xx.c
303
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
310
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
312
if (rtc->alarm_enabled) {
drivers/rtc/rtc-lpc32xx.c
313
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
315
rtc_writel(rtc, LPC32XX_RTC_CTRL,
drivers/rtc/rtc-lpc32xx.c
316
rtc_readl(rtc, LPC32XX_RTC_CTRL) |
drivers/rtc/rtc-lpc32xx.c
319
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
51
struct rtc_device *rtc;
drivers/rtc/rtc-lpc32xx.c
58
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
60
elapsed_sec = rtc_readl(rtc, LPC32XX_RTC_UCOUNT);
drivers/rtc/rtc-lpc32xx.c
68
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
72
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
75
tmp = rtc_readl(rtc, LPC32XX_RTC_CTRL);
drivers/rtc/rtc-lpc32xx.c
76
rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp | LPC32XX_RTC_CTRL_CNTR_DIS);
drivers/rtc/rtc-lpc32xx.c
77
rtc_writel(rtc, LPC32XX_RTC_UCOUNT, secs);
drivers/rtc/rtc-lpc32xx.c
78
rtc_writel(rtc, LPC32XX_RTC_DCOUNT, 0xFFFFFFFF - secs);
drivers/rtc/rtc-lpc32xx.c
79
rtc_writel(rtc, LPC32XX_RTC_CTRL, tmp &= ~LPC32XX_RTC_CTRL_CNTR_DIS);
drivers/rtc/rtc-lpc32xx.c
81
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-lpc32xx.c
89
struct lpc32xx_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-lpc32xx.c
91
rtc_time64_to_tm(rtc_readl(rtc, LPC32XX_RTC_MATCH0), &wkalrm->time);
drivers/rtc/rtc-lpc32xx.c
92
wkalrm->enabled = rtc->alarm_enabled;
drivers/rtc/rtc-lpc32xx.c
93
wkalrm->pending = !!(rtc_readl(rtc, LPC32XX_RTC_INTSTAT) &
drivers/rtc/rtc-m41t80.c
1016
rc = devm_rtc_register_device(m41t80_data->rtc);
drivers/rtc/rtc-m41t80.c
150
struct rtc_device *rtc;
drivers/rtc/rtc-m41t80.c
165
rtc_lock(m41t80->rtc);
drivers/rtc/rtc-m41t80.c
169
rtc_unlock(m41t80->rtc);
drivers/rtc/rtc-m41t80.c
175
rtc_unlock(m41t80->rtc);
drivers/rtc/rtc-m41t80.c
186
rtc_update_irq(m41t80->rtc, 1, events);
drivers/rtc/rtc-m41t80.c
192
rtc_unlock(m41t80->rtc);
drivers/rtc/rtc-m41t80.c
936
m41t80_data->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-m41t80.c
937
if (IS_ERR(m41t80_data->rtc))
drivers/rtc/rtc-m41t80.c
938
return PTR_ERR(m41t80_data->rtc);
drivers/rtc/rtc-m41t80.c
960
clear_bit(RTC_FEATURE_ALARM, m41t80_data->rtc->features);
drivers/rtc/rtc-m41t80.c
962
m41t80_data->rtc->ops = &m41t80_rtc_ops;
drivers/rtc/rtc-m41t80.c
963
m41t80_data->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-m41t80.c
964
m41t80_data->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-m41t80.c
967
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, m41t80_data->rtc->features);
drivers/rtc/rtc-m41t93.c
172
struct rtc_device *rtc;
drivers/rtc/rtc-m41t93.c
184
rtc = devm_rtc_device_register(&spi->dev, m41t93_driver.driver.name,
drivers/rtc/rtc-m41t93.c
186
if (IS_ERR(rtc))
drivers/rtc/rtc-m41t93.c
187
return PTR_ERR(rtc);
drivers/rtc/rtc-m41t93.c
189
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-m41t94.c
111
struct rtc_device *rtc;
drivers/rtc/rtc-m41t94.c
123
rtc = devm_rtc_device_register(&spi->dev, m41t94_driver.driver.name,
drivers/rtc/rtc-m41t94.c
125
if (IS_ERR(rtc))
drivers/rtc/rtc-m41t94.c
126
return PTR_ERR(rtc);
drivers/rtc/rtc-m41t94.c
128
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-m48t35.c
176
priv->rtc = devm_rtc_device_register(&pdev->dev, "m48t35",
drivers/rtc/rtc-m48t35.c
178
return PTR_ERR_OR_ZERO(priv->rtc);
drivers/rtc/rtc-m48t35.c
48
struct rtc_device *rtc;
drivers/rtc/rtc-m48t59.c
282
rtc_update_irq(m48t59->rtc, 1, (RTC_AF | RTC_IRQF));
drivers/rtc/rtc-m48t59.c
37
struct rtc_device *rtc;
drivers/rtc/rtc-m48t59.c
418
m48t59->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-m48t59.c
419
if (IS_ERR(m48t59->rtc))
drivers/rtc/rtc-m48t59.c
420
return PTR_ERR(m48t59->rtc);
drivers/rtc/rtc-m48t59.c
427
clear_bit(RTC_FEATURE_ALARM, m48t59->rtc->features);
drivers/rtc/rtc-m48t59.c
431
clear_bit(RTC_FEATURE_ALARM, m48t59->rtc->features);
drivers/rtc/rtc-m48t59.c
442
m48t59->rtc->ops = &m48t59_rtc_ops;
drivers/rtc/rtc-m48t59.c
443
m48t59->rtc->range_min = RTC_TIMESTAMP_BEGIN_1900;
drivers/rtc/rtc-m48t59.c
444
m48t59->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-m48t59.c
447
ret = devm_rtc_nvmem_register(m48t59->rtc, &nvmem_cfg);
drivers/rtc/rtc-m48t59.c
451
ret = devm_rtc_register_device(m48t59->rtc);
drivers/rtc/rtc-m48t86.c
221
struct rtc_device *rtc;
drivers/rtc/rtc-m48t86.c
253
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-m48t86.c
254
if (IS_ERR(rtc))
drivers/rtc/rtc-m48t86.c
255
return PTR_ERR(rtc);
drivers/rtc/rtc-m48t86.c
257
rtc->ops = &m48t86_rtc_ops;
drivers/rtc/rtc-m48t86.c
259
err = devm_rtc_register_device(rtc);
drivers/rtc/rtc-m48t86.c
263
devm_rtc_nvmem_register(rtc, &m48t86_nvmem_cfg);
drivers/rtc/rtc-ma35d1.c
106
struct ma35_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ma35d1.c
109
reg_ien = rtc_reg_read(rtc, MA35_REG_RTC_INTEN);
drivers/rtc/rtc-ma35d1.c
112
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, reg_ien | RTC_INTEN_ALMIEN);
drivers/rtc/rtc-ma35d1.c
114
rtc_reg_write(rtc, MA35_REG_RTC_INTEN, reg_ien & ~RTC_INTEN_ALMIEN);
drivers/rtc/rtc-ma35d1.c
121
struct ma35_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ma35d1.c
125
time = rtc_reg_read(rtc, MA35_REG_RTC_TIME);
drivers/rtc/rtc-ma35d1.c
126
cal = rtc_reg_read(rtc, MA35_REG_RTC_CAL);
drivers/rtc/rtc-ma35d1.c
127
wday = rtc_reg_read(rtc, MA35_REG_RTC_WEEKDAY);
drivers/rtc/rtc-ma35d1.c
128
} while (time != rtc_reg_read(rtc, MA35_REG_RTC_TIME) ||
drivers/rtc/rtc-ma35d1.c
129
cal != rtc_reg_read(rtc, MA35_REG_RTC_CAL));
drivers/rtc/rtc-ma35d1.c
146
struct ma35_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ma35d1.c
151
rtc_reg_write(rtc, MA35_REG_RTC_CAL, val);
drivers/rtc/rtc-ma35d1.c
155
rtc_reg_write(rtc, MA35_REG_RTC_TIME, val);
drivers/rtc/rtc-ma35d1.c
158
rtc_reg_write(rtc, MA35_REG_RTC_WEEKDAY, val);
drivers/rtc/rtc-ma35d1.c
165
struct ma35_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ma35d1.c
168
talm = rtc_reg_read(rtc, MA35_REG_RTC_TALM);
drivers/rtc/rtc-ma35d1.c
169
calm = rtc_reg_read(rtc, MA35_REG_RTC_CALM);
drivers/rtc/rtc-ma35d1.c
186
struct ma35_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ma35d1.c
191
rtc_reg_write(rtc, MA35_REG_RTC_CALM, val);
drivers/rtc/rtc-ma35d1.c
195
rtc_reg_write(rtc, MA35_REG_RTC_TALM, val);
drivers/rtc/rtc-ma35d1.c
212
struct ma35_rtc *rtc;
drivers/rtc/rtc-ma35d1.c
216
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-ma35d1.c
217
if (!rtc)
drivers/rtc/rtc-ma35d1.c
220
rtc->rtc_reg = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-ma35d1.c
221
if (IS_ERR(rtc->rtc_reg))
drivers/rtc/rtc-ma35d1.c
222
return PTR_ERR(rtc->rtc_reg);
drivers/rtc/rtc-ma35d1.c
232
if (!(rtc_reg_read(rtc, MA35_REG_RTC_INIT) & RTC_INIT_ACTIVE)) {
drivers/rtc/rtc-ma35d1.c
233
ret = ma35d1_rtc_init(rtc, RTC_INIT_TIMEOUT);
drivers/rtc/rtc-ma35d1.c
238
rtc->irq_num = platform_get_irq(pdev, 0);
drivers/rtc/rtc-ma35d1.c
240
ret = devm_request_irq(&pdev->dev, rtc->irq_num, ma35d1_rtc_interrupt,
drivers/rtc/rtc-ma35d1.c
241
IRQF_NO_SUSPEND, "ma35d1rtc", rtc);
drivers/rtc/rtc-ma35d1.c
245
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-ma35d1.c
249
rtc->rtcdev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-ma35d1.c
250
if (IS_ERR(rtc->rtcdev))
drivers/rtc/rtc-ma35d1.c
251
return PTR_ERR(rtc->rtcdev);
drivers/rtc/rtc-ma35d1.c
253
rtc->rtcdev->ops = &ma35d1_rtc_ops;
drivers/rtc/rtc-ma35d1.c
254
rtc->rtcdev->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-ma35d1.c
255
rtc->rtcdev->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-ma35d1.c
257
ret = devm_rtc_register_device(rtc->rtcdev);
drivers/rtc/rtc-ma35d1.c
266
struct ma35_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-ma35d1.c
269
enable_irq_wake(rtc->irq_num);
drivers/rtc/rtc-ma35d1.c
276
struct ma35_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-ma35d1.c
279
disable_irq_wake(rtc->irq_num);
drivers/rtc/rtc-ma35d1.c
72
struct ma35_rtc *rtc = (struct ma35_rtc *)data;
drivers/rtc/rtc-ma35d1.c
75
rtc_irq = rtc_reg_read(rtc, MA35_REG_RTC_INTSTS);
drivers/rtc/rtc-ma35d1.c
78
rtc_reg_write(rtc, MA35_REG_RTC_INTSTS, RTC_INTSTS_ALMIF);
drivers/rtc/rtc-ma35d1.c
82
rtc_update_irq(rtc->rtcdev, 1, events);
drivers/rtc/rtc-ma35d1.c
87
static int ma35d1_rtc_init(struct ma35_rtc *rtc, u32 ms_timeout)
drivers/rtc/rtc-ma35d1.c
92
if (rtc_reg_read(rtc, MA35_REG_RTC_INIT) & RTC_INIT_ACTIVE)
drivers/rtc/rtc-ma35d1.c
95
rtc_reg_write(rtc, MA35_REG_RTC_INIT, RTC_INIT_MAGIC_CODE);
drivers/rtc/rtc-macsmc.c
102
rtc->dev = &pdev->dev;
drivers/rtc/rtc-macsmc.c
103
rtc->smc = smc;
drivers/rtc/rtc-macsmc.c
105
rtc->rtc_offset = devm_nvmem_cell_get(&pdev->dev, "rtc_offset");
drivers/rtc/rtc-macsmc.c
106
if (IS_ERR(rtc->rtc_offset))
drivers/rtc/rtc-macsmc.c
107
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->rtc_offset),
drivers/rtc/rtc-macsmc.c
110
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-macsmc.c
111
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-macsmc.c
112
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-macsmc.c
114
rtc->rtc_dev->ops = &macsmc_rtc_ops;
drivers/rtc/rtc-macsmc.c
115
rtc->rtc_dev->range_min = S64_MIN >> (RTC_SEC_SHIFT + (64 - RTC_BITS));
drivers/rtc/rtc-macsmc.c
116
rtc->rtc_dev->range_max = S64_MAX >> (RTC_SEC_SHIFT + (64 - RTC_BITS));
drivers/rtc/rtc-macsmc.c
118
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-macsmc.c
120
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-macsmc.c
32
struct macsmc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-macsmc.c
39
ret = apple_smc_read(rtc->smc, SMC_KEY(CLKM), &ctr, RTC_BYTES);
drivers/rtc/rtc-macsmc.c
45
p_off = nvmem_cell_read(rtc->rtc_offset, &len);
drivers/rtc/rtc-macsmc.c
65
struct macsmc_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-macsmc.c
69
ret = apple_smc_read(rtc->smc, SMC_KEY(CLKM), &ctr, RTC_BYTES);
drivers/rtc/rtc-macsmc.c
77
return nvmem_cell_write(rtc->rtc_offset, &off, RTC_BYTES);
drivers/rtc/rtc-macsmc.c
88
struct macsmc_rtc *rtc;
drivers/rtc/rtc-macsmc.c
98
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-macsmc.c
99
if (!rtc)
drivers/rtc/rtc-max31335.c
220
struct rtc_device *rtc;
drivers/rtc/rtc-max31335.c
409
struct mutex *lock = &max31335->rtc->ops_lock;
drivers/rtc/rtc-max31335.c
424
rtc_update_irq(max31335->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-max31335.c
694
max31335->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-max31335.c
695
if (IS_ERR(max31335->rtc))
drivers/rtc/rtc-max31335.c
696
return PTR_ERR(max31335->rtc);
drivers/rtc/rtc-max31335.c
698
max31335->rtc->ops = &max31335_rtc_ops;
drivers/rtc/rtc-max31335.c
699
max31335->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-max31335.c
700
max31335->rtc->range_max = RTC_TIMESTAMP_END_2199;
drivers/rtc/rtc-max31335.c
701
max31335->rtc->alarm_offset_max = 24 * 60 * 60;
drivers/rtc/rtc-max31335.c
722
clear_bit(RTC_FEATURE_ALARM, max31335->rtc->features);
drivers/rtc/rtc-max31335.c
725
ret = devm_rtc_nvmem_register(max31335->rtc, &max31335_nvmem_cfg);
drivers/rtc/rtc-max31335.c
744
return devm_rtc_register_device(max31335->rtc);
drivers/rtc/rtc-max6900.c
202
struct rtc_device *rtc;
drivers/rtc/rtc-max6900.c
207
rtc = devm_rtc_device_register(&client->dev, max6900_driver.driver.name,
drivers/rtc/rtc-max6900.c
209
if (IS_ERR(rtc))
drivers/rtc/rtc-max6900.c
210
return PTR_ERR(rtc);
drivers/rtc/rtc-max6900.c
212
i2c_set_clientdata(client, rtc);
drivers/rtc/rtc-max6902.c
121
struct rtc_device *rtc;
drivers/rtc/rtc-max6902.c
133
rtc = devm_rtc_device_register(&spi->dev, "max6902",
drivers/rtc/rtc-max6902.c
135
if (IS_ERR(rtc))
drivers/rtc/rtc-max6902.c
136
return PTR_ERR(rtc);
drivers/rtc/rtc-max6902.c
138
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-max6916.c
109
struct rtc_device *rtc;
drivers/rtc/rtc-max6916.c
140
rtc = devm_rtc_device_register(&spi->dev, "max6916",
drivers/rtc/rtc-max6916.c
142
if (IS_ERR(rtc))
drivers/rtc/rtc-max6916.c
143
return PTR_ERR(rtc);
drivers/rtc/rtc-max6916.c
145
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-max8907.c
111
struct max8907_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-max8907.c
116
return regmap_bulk_write(rtc->regmap, MAX8907_REG_RTC_SEC, regs,
drivers/rtc/rtc-max8907.c
122
struct max8907_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-max8907.c
127
ret = regmap_bulk_read(rtc->regmap, MAX8907_REG_ALARM0_SEC, regs,
drivers/rtc/rtc-max8907.c
134
ret = regmap_read(rtc->regmap, MAX8907_REG_ALARM0_CNTL, &val);
drivers/rtc/rtc-max8907.c
145
struct max8907_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-max8907.c
152
ret = regmap_write(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0);
drivers/rtc/rtc-max8907.c
156
ret = regmap_bulk_write(rtc->regmap, MAX8907_REG_ALARM0_SEC, regs,
drivers/rtc/rtc-max8907.c
162
ret = regmap_write(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0x77);
drivers/rtc/rtc-max8907.c
177
struct max8907_rtc *rtc;
drivers/rtc/rtc-max8907.c
180
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-max8907.c
181
if (!rtc)
drivers/rtc/rtc-max8907.c
183
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-max8907.c
185
rtc->max8907 = max8907;
drivers/rtc/rtc-max8907.c
186
rtc->regmap = max8907->regmap_rtc;
drivers/rtc/rtc-max8907.c
188
rtc->rtc_dev = devm_rtc_device_register(&pdev->dev, "max8907-rtc",
drivers/rtc/rtc-max8907.c
190
if (IS_ERR(rtc->rtc_dev)) {
drivers/rtc/rtc-max8907.c
191
ret = PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-max8907.c
196
rtc->irq = regmap_irq_get_virq(max8907->irqc_rtc,
drivers/rtc/rtc-max8907.c
198
if (rtc->irq < 0)
drivers/rtc/rtc-max8907.c
199
return rtc->irq;
drivers/rtc/rtc-max8907.c
201
ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
drivers/rtc/rtc-max8907.c
203
IRQF_ONESHOT, "max8907-alarm0", rtc);
drivers/rtc/rtc-max8907.c
206
rtc->irq, ret);
drivers/rtc/rtc-max8907.c
48
struct max8907_rtc *rtc = data;
drivers/rtc/rtc-max8907.c
50
regmap_write(rtc->regmap, MAX8907_REG_ALARM0_CNTL, 0);
drivers/rtc/rtc-max8907.c
52
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-max8907.c
95
struct max8907_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-max8907.c
99
ret = regmap_bulk_read(rtc->regmap, MAX8907_REG_RTC_SEC, regs,
drivers/rtc/rtc-max8925.c
157
ret = max8925_bulk_read(info->rtc, MAX8925_RTC_SEC, TIME_NUM, buf);
drivers/rtc/rtc-max8925.c
174
ret = max8925_bulk_write(info->rtc, MAX8925_RTC_SEC, TIME_NUM, buf);
drivers/rtc/rtc-max8925.c
185
ret = max8925_bulk_read(info->rtc, MAX8925_ALARM0_SEC, TIME_NUM, buf);
drivers/rtc/rtc-max8925.c
191
ret = max8925_reg_read(info->rtc, MAX8925_RTC_IRQ_MASK);
drivers/rtc/rtc-max8925.c
197
ret = max8925_reg_read(info->rtc, MAX8925_ALARM0_CNTL);
drivers/rtc/rtc-max8925.c
205
ret = max8925_reg_read(info->rtc, MAX8925_RTC_STATUS);
drivers/rtc/rtc-max8925.c
226
ret = max8925_bulk_write(info->rtc, MAX8925_ALARM0_SEC, TIME_NUM, buf);
drivers/rtc/rtc-max8925.c
231
ret = max8925_reg_write(info->rtc, MAX8925_ALARM0_CNTL, 0x77);
drivers/rtc/rtc-max8925.c
233
ret = max8925_reg_write(info->rtc, MAX8925_ALARM0_CNTL, 0x0);
drivers/rtc/rtc-max8925.c
256
info->rtc = chip->rtc;
drivers/rtc/rtc-max8925.c
67
struct i2c_client *rtc;
drivers/rtc/rtc-max8925.c
77
max8925_set_bits(info->rtc, MAX8925_ALARM0_CNTL, 0x7f, 0);
drivers/rtc/rtc-max8997.c
117
ret = max8997_write_reg(info->rtc, MAX8997_RTC_UPDATE1,
drivers/rtc/rtc-max8997.c
139
ret = max8997_bulk_read(info->rtc, MAX8997_RTC_SEC, RTC_NR_TIME, data);
drivers/rtc/rtc-max8997.c
165
ret = max8997_bulk_write(info->rtc, MAX8997_RTC_SEC, RTC_NR_TIME, data);
drivers/rtc/rtc-max8997.c
187
ret = max8997_bulk_read(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
drivers/rtc/rtc-max8997.c
229
ret = max8997_bulk_read(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
drivers/rtc/rtc-max8997.c
240
ret = max8997_bulk_write(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
drivers/rtc/rtc-max8997.c
261
ret = max8997_bulk_read(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
drivers/rtc/rtc-max8997.c
280
ret = max8997_bulk_write(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
drivers/rtc/rtc-max8997.c
312
ret = max8997_bulk_write(info->rtc, MAX8997_RTC_ALARM1_SEC, RTC_NR_TIME,
drivers/rtc/rtc-max8997.c
384
ret = max8997_update_reg(info->rtc, MAX8997_RTC_WTSR_SMPL, val, mask);
drivers/rtc/rtc-max8997.c
412
ret = max8997_update_reg(info->rtc, MAX8997_RTC_WTSR_SMPL, val, mask);
drivers/rtc/rtc-max8997.c
422
max8997_read_reg(info->rtc, MAX8997_RTC_WTSR_SMPL, &val);
drivers/rtc/rtc-max8997.c
437
ret = max8997_bulk_write(info->rtc, MAX8997_RTC_CTRLMASK, 2, data);
drivers/rtc/rtc-max8997.c
462
info->rtc = max8997->rtc;
drivers/rtc/rtc-max8997.c
67
struct i2c_client *rtc;
drivers/rtc/rtc-max8998.c
111
ret = max8998_bulk_read(info->rtc, MAX8998_RTC_SEC, 8, data);
drivers/rtc/rtc-max8998.c
128
ret = max8998_bulk_write(info->rtc, MAX8998_RTC_SEC, 8, data);
drivers/rtc/rtc-max8998.c
143
ret = max8998_bulk_read(info->rtc, MAX8998_ALARM0_SEC, 8, data);
drivers/rtc/rtc-max8998.c
149
ret = max8998_read_reg(info->rtc, MAX8998_ALARM0_CONF, &val);
drivers/rtc/rtc-max8998.c
155
ret = max8998_read_reg(info->rtc, MAX8998_RTC_STATUS, &val);
drivers/rtc/rtc-max8998.c
169
int ret = max8998_write_reg(info->rtc, MAX8998_ALARM0_CONF, 0);
drivers/rtc/rtc-max8998.c
186
ret = max8998_write_reg(info->rtc, MAX8998_ALARM0_CONF, alarm0_conf);
drivers/rtc/rtc-max8998.c
206
ret = max8998_bulk_write(info->rtc, MAX8998_ALARM0_SEC, 8, data);
drivers/rtc/rtc-max8998.c
261
info->rtc = max8998->rtc;
drivers/rtc/rtc-max8998.c
69
struct i2c_client *rtc;
drivers/rtc/rtc-mc13xxx.c
235
rtc_update_irq(priv->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mc13xxx.c
27
struct rtc_device *rtc;
drivers/rtc/rtc-mc13xxx.c
274
priv->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mc13xxx.c
275
if (IS_ERR(priv->rtc))
drivers/rtc/rtc-mc13xxx.c
276
return PTR_ERR(priv->rtc);
drivers/rtc/rtc-mc13xxx.c
279
priv->rtc->ops = &mc13xxx_rtc_ops;
drivers/rtc/rtc-mc13xxx.c
281
priv->rtc->range_max = (timeu64_t)(1 << 15) * SEC_PER_DAY - 1;
drivers/rtc/rtc-mc13xxx.c
297
ret = devm_rtc_register_device(priv->rtc);
drivers/rtc/rtc-mcp795.c
352
struct rtc_device *rtc = spi_get_drvdata(spi);
drivers/rtc/rtc-mcp795.c
355
rtc_lock(rtc);
drivers/rtc/rtc-mcp795.c
365
rtc_update_irq(rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-mcp795.c
367
rtc_unlock(rtc);
drivers/rtc/rtc-mcp795.c
382
struct rtc_device *rtc;
drivers/rtc/rtc-mcp795.c
398
rtc = devm_rtc_device_register(&spi->dev, "rtc-mcp795",
drivers/rtc/rtc-mcp795.c
400
if (IS_ERR(rtc))
drivers/rtc/rtc-mcp795.c
401
return PTR_ERR(rtc);
drivers/rtc/rtc-mcp795.c
403
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-mcp795.c
415
dev_name(&rtc->dev), spi);
drivers/rtc/rtc-meson-vrtc.c
67
struct rtc_device *rtc;
drivers/rtc/rtc-meson-vrtc.c
81
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-meson-vrtc.c
82
if (IS_ERR(rtc))
drivers/rtc/rtc-meson-vrtc.c
83
return PTR_ERR(rtc);
drivers/rtc/rtc-meson-vrtc.c
85
rtc->ops = &meson_vrtc_ops;
drivers/rtc/rtc-meson-vrtc.c
86
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-meson.c
101
meson_rtc_send_bit(rtc, data & bit);
drivers/rtc/rtc-meson.c
106
static void meson_rtc_set_dir(struct meson_rtc *rtc, u32 mode)
drivers/rtc/rtc-meson.c
108
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SEN, 0);
drivers/rtc/rtc-meson.c
109
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SDI, 0);
drivers/rtc/rtc-meson.c
110
meson_rtc_send_bit(rtc, mode);
drivers/rtc/rtc-meson.c
111
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SDI, 0);
drivers/rtc/rtc-meson.c
114
static u32 meson_rtc_get_data(struct meson_rtc *rtc)
drivers/rtc/rtc-meson.c
120
meson_rtc_sclk_pulse(rtc);
drivers/rtc/rtc-meson.c
123
regmap_read(rtc->peripheral, RTC_ADDR1, &tmp);
drivers/rtc/rtc-meson.c
130
static int meson_rtc_get_bus(struct meson_rtc *rtc)
drivers/rtc/rtc-meson.c
137
regmap_update_bits(rtc->peripheral, RTC_ADDR0, val, 0);
drivers/rtc/rtc-meson.c
141
if (!regmap_read_poll_timeout(rtc->peripheral, RTC_ADDR1, val,
drivers/rtc/rtc-meson.c
146
dev_warn(rtc->dev, "failed to get bus, resetting RTC\n");
drivers/rtc/rtc-meson.c
148
ret = reset_control_reset(rtc->reset);
drivers/rtc/rtc-meson.c
153
dev_err(rtc->dev, "bus is not ready\n");
drivers/rtc/rtc-meson.c
160
struct meson_rtc *rtc = context;
drivers/rtc/rtc-meson.c
163
ret = meson_rtc_get_bus(rtc);
drivers/rtc/rtc-meson.c
167
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SEN,
drivers/rtc/rtc-meson.c
169
meson_rtc_send_bits(rtc, reg, RTC_ADDR_BITS);
drivers/rtc/rtc-meson.c
170
meson_rtc_set_dir(rtc, 0);
drivers/rtc/rtc-meson.c
171
*data = meson_rtc_get_data(rtc);
drivers/rtc/rtc-meson.c
179
struct meson_rtc *rtc = context;
drivers/rtc/rtc-meson.c
182
ret = meson_rtc_get_bus(rtc);
drivers/rtc/rtc-meson.c
186
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SEN,
drivers/rtc/rtc-meson.c
188
meson_rtc_send_bits(rtc, data, RTC_DATA_BITS);
drivers/rtc/rtc-meson.c
189
meson_rtc_send_bits(rtc, reg, RTC_ADDR_BITS);
drivers/rtc/rtc-meson.c
190
meson_rtc_set_dir(rtc, 1);
drivers/rtc/rtc-meson.c
209
static int meson_rtc_write_static(struct meson_rtc *rtc, u32 data)
drivers/rtc/rtc-meson.c
213
regmap_write(rtc->peripheral, RTC_REG4,
drivers/rtc/rtc-meson.c
218
regmap_update_bits(rtc->peripheral, RTC_ADDR0,
drivers/rtc/rtc-meson.c
222
return regmap_read_poll_timeout(rtc->peripheral, RTC_REG4, tmp,
drivers/rtc/rtc-meson.c
231
struct meson_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-meson.c
235
ret = regmap_read(rtc->serial, RTC_COUNTER, &time);
drivers/rtc/rtc-meson.c
244
struct meson_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-meson.c
246
return regmap_write(rtc->serial, RTC_COUNTER, rtc_tm_to_time64(tm));
drivers/rtc/rtc-meson.c
259
struct meson_rtc *rtc = context;
drivers/rtc/rtc-meson.c
265
return regmap_bulk_read(rtc->serial, read_offset, buf, read_size);
drivers/rtc/rtc-meson.c
271
struct meson_rtc *rtc = context;
drivers/rtc/rtc-meson.c
277
return regmap_bulk_write(rtc->serial, write_offset, buf, write_size);
drivers/rtc/rtc-meson.c
292
struct meson_rtc *rtc;
drivers/rtc/rtc-meson.c
298
rtc = devm_kzalloc(dev, sizeof(struct meson_rtc), GFP_KERNEL);
drivers/rtc/rtc-meson.c
299
if (!rtc)
drivers/rtc/rtc-meson.c
306
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-meson.c
308
rtc->dev = dev;
drivers/rtc/rtc-meson.c
317
rtc->peripheral = devm_regmap_init_mmio(dev, base,
drivers/rtc/rtc-meson.c
319
if (IS_ERR(rtc->peripheral)) {
drivers/rtc/rtc-meson.c
321
return PTR_ERR(rtc->peripheral);
drivers/rtc/rtc-meson.c
324
rtc->reset = devm_reset_control_get(dev, NULL);
drivers/rtc/rtc-meson.c
325
if (IS_ERR(rtc->reset)) {
drivers/rtc/rtc-meson.c
327
return PTR_ERR(rtc->reset);
drivers/rtc/rtc-meson.c
330
rtc->vdd = devm_regulator_get(dev, "vdd");
drivers/rtc/rtc-meson.c
331
if (IS_ERR(rtc->vdd)) {
drivers/rtc/rtc-meson.c
333
return PTR_ERR(rtc->vdd);
drivers/rtc/rtc-meson.c
336
ret = regulator_enable(rtc->vdd);
drivers/rtc/rtc-meson.c
342
ret = meson_rtc_write_static(rtc, MESON_STATIC_DEFAULT);
drivers/rtc/rtc-meson.c
348
rtc->serial = devm_regmap_init(dev, &meson_rtc_serial_bus, rtc,
drivers/rtc/rtc-meson.c
350
if (IS_ERR(rtc->serial)) {
drivers/rtc/rtc-meson.c
352
ret = PTR_ERR(rtc->serial);
drivers/rtc/rtc-meson.c
360
ret = regmap_read(rtc->serial, RTC_COUNTER, &tm);
drivers/rtc/rtc-meson.c
366
meson_rtc_nvmem_config.priv = rtc;
drivers/rtc/rtc-meson.c
378
regulator_disable(rtc->vdd);
drivers/rtc/rtc-meson.c
79
static void meson_rtc_sclk_pulse(struct meson_rtc *rtc)
drivers/rtc/rtc-meson.c
82
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SCLK, 0);
drivers/rtc/rtc-meson.c
84
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SCLK,
drivers/rtc/rtc-meson.c
88
static void meson_rtc_send_bit(struct meson_rtc *rtc, unsigned int bit)
drivers/rtc/rtc-meson.c
90
regmap_update_bits(rtc->peripheral, RTC_ADDR0, RTC_ADDR0_LINE_SDI,
drivers/rtc/rtc-meson.c
92
meson_rtc_sclk_pulse(rtc);
drivers/rtc/rtc-meson.c
95
static void meson_rtc_send_bits(struct meson_rtc *rtc, u32 data,
drivers/rtc/rtc-moxart.c
280
moxart_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-moxart.c
283
if (IS_ERR(moxart_rtc->rtc)) {
drivers/rtc/rtc-moxart.c
285
return PTR_ERR(moxart_rtc->rtc);
drivers/rtc/rtc-moxart.c
57
struct rtc_device *rtc;
drivers/rtc/rtc-mpc5121.c
103
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
104
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
125
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
126
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
147
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
148
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
174
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
175
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
196
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
197
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
199
*alarm = rtc->wkalarm;
drivers/rtc/rtc-mpc5121.c
208
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
209
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
220
rtc->wkalarm = *alarm;
drivers/rtc/rtc-mpc5121.c
226
struct mpc5121_rtc_data *rtc = dev_get_drvdata((struct device *)dev);
drivers/rtc/rtc-mpc5121.c
227
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
234
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mpc5121.c
243
struct mpc5121_rtc_data *rtc = dev_get_drvdata((struct device *)dev);
drivers/rtc/rtc-mpc5121.c
244
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
250
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_UF);
drivers/rtc/rtc-mpc5121.c
260
struct mpc5121_rtc_data *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mpc5121.c
261
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
270
rtc->wkalarm.enabled = val;
drivers/rtc/rtc-mpc5121.c
293
struct mpc5121_rtc_data *rtc;
drivers/rtc/rtc-mpc5121.c
296
rtc = devm_kzalloc(&op->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-mpc5121.c
297
if (!rtc)
drivers/rtc/rtc-mpc5121.c
300
rtc->regs = devm_platform_ioremap_resource(op, 0);
drivers/rtc/rtc-mpc5121.c
301
if (IS_ERR(rtc->regs)) {
drivers/rtc/rtc-mpc5121.c
303
return PTR_ERR(rtc->regs);
drivers/rtc/rtc-mpc5121.c
308
platform_set_drvdata(op, rtc);
drivers/rtc/rtc-mpc5121.c
310
rtc->irq = irq_of_parse_and_map(op->dev.of_node, 1);
drivers/rtc/rtc-mpc5121.c
311
err = devm_request_irq(&op->dev, rtc->irq, mpc5121_rtc_handler, 0,
drivers/rtc/rtc-mpc5121.c
315
__func__, rtc->irq);
drivers/rtc/rtc-mpc5121.c
319
rtc->irq_periodic = irq_of_parse_and_map(op->dev.of_node, 0);
drivers/rtc/rtc-mpc5121.c
320
err = devm_request_irq(&op->dev, rtc->irq_periodic,
drivers/rtc/rtc-mpc5121.c
325
__func__, rtc->irq_periodic);
drivers/rtc/rtc-mpc5121.c
329
rtc->rtc = devm_rtc_allocate_device(&op->dev);
drivers/rtc/rtc-mpc5121.c
330
if (IS_ERR(rtc->rtc)) {
drivers/rtc/rtc-mpc5121.c
331
err = PTR_ERR(rtc->rtc);
drivers/rtc/rtc-mpc5121.c
335
rtc->rtc->ops = &mpc5200_rtc_ops;
drivers/rtc/rtc-mpc5121.c
336
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtc->features);
drivers/rtc/rtc-mpc5121.c
337
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtc->features);
drivers/rtc/rtc-mpc5121.c
338
rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
drivers/rtc/rtc-mpc5121.c
339
rtc->rtc->range_max = 65733206399ULL; /* 4052-12-31 23:59:59 */
drivers/rtc/rtc-mpc5121.c
343
ka = in_be32(&rtc->regs->keep_alive);
drivers/rtc/rtc-mpc5121.c
347
out_be32(&rtc->regs->keep_alive, ka);
drivers/rtc/rtc-mpc5121.c
349
rtc->rtc->ops = &mpc5121_rtc_ops;
drivers/rtc/rtc-mpc5121.c
355
rtc->rtc->range_min = 0;
drivers/rtc/rtc-mpc5121.c
356
rtc->rtc->range_max = U32_MAX;
drivers/rtc/rtc-mpc5121.c
359
err = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-mpc5121.c
366
irq_dispose_mapping(rtc->irq_periodic);
drivers/rtc/rtc-mpc5121.c
368
irq_dispose_mapping(rtc->irq);
drivers/rtc/rtc-mpc5121.c
375
struct mpc5121_rtc_data *rtc = platform_get_drvdata(op);
drivers/rtc/rtc-mpc5121.c
376
struct mpc5121_rtc_regs __iomem *regs = rtc->regs;
drivers/rtc/rtc-mpc5121.c
382
irq_dispose_mapping(rtc->irq);
drivers/rtc/rtc-mpc5121.c
383
irq_dispose_mapping(rtc->irq_periodic);
drivers/rtc/rtc-mpc5121.c
78
struct rtc_device *rtc;
drivers/rtc/rtc-mpfs.c
202
rtc_update_irq(rtcdev->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mpfs.c
228
rtcdev->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mpfs.c
229
if (IS_ERR(rtcdev->rtc))
drivers/rtc/rtc-mpfs.c
230
return PTR_ERR(rtcdev->rtc);
drivers/rtc/rtc-mpfs.c
232
rtcdev->rtc->ops = &mpfs_rtc_ops;
drivers/rtc/rtc-mpfs.c
235
rtcdev->rtc->range_max = GENMASK_ULL(42, 0);
drivers/rtc/rtc-mpfs.c
274
return devm_rtc_register_device(rtcdev->rtc);
drivers/rtc/rtc-mpfs.c
57
struct rtc_device *rtc;
drivers/rtc/rtc-msm6242.c
193
struct rtc_device *rtc;
drivers/rtc/rtc-msm6242.c
208
rtc = devm_rtc_device_register(&pdev->dev, "rtc-msm6242",
drivers/rtc/rtc-msm6242.c
210
if (IS_ERR(rtc))
drivers/rtc/rtc-msm6242.c
211
return PTR_ERR(rtc);
drivers/rtc/rtc-msm6242.c
213
priv->rtc = rtc;
drivers/rtc/rtc-msm6242.c
76
struct rtc_device *rtc;
drivers/rtc/rtc-mt2712.c
107
dev_err(&mt2712_rtc->rtc->dev,
drivers/rtc/rtc-mt2712.c
131
rtc_update_irq(mt2712_rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mt2712.c
236
dev_dbg(&mt2712_rtc->rtc->dev, "set al time: %ptR, alm en: %d\n",
drivers/rtc/rtc-mt2712.c
289
dev_dbg(&mt2712_rtc->rtc->dev,
drivers/rtc/rtc-mt2712.c
334
mt2712_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mt2712.c
335
if (IS_ERR(mt2712_rtc->rtc))
drivers/rtc/rtc-mt2712.c
336
return PTR_ERR(mt2712_rtc->rtc);
drivers/rtc/rtc-mt2712.c
341
dev_name(&mt2712_rtc->rtc->dev),
drivers/rtc/rtc-mt2712.c
351
mt2712_rtc->rtc->ops = &mt2712_rtc_ops;
drivers/rtc/rtc-mt2712.c
352
mt2712_rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-mt2712.c
353
mt2712_rtc->rtc->range_max = MT2712_RTC_TIMESTAMP_END_2127;
drivers/rtc/rtc-mt2712.c
355
return devm_rtc_register_device(mt2712_rtc->rtc);
drivers/rtc/rtc-mt2712.c
78
struct rtc_device *rtc;
drivers/rtc/rtc-mt6397.c
109
struct mt6397_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mt6397.c
124
mutex_lock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
125
ret = regmap_bulk_write(rtc->regmap, rtc->addr_base + RTC_TC_SEC,
drivers/rtc/rtc-mt6397.c
131
ret = mtk_rtc_write_trigger(rtc);
drivers/rtc/rtc-mt6397.c
134
mutex_unlock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
141
struct mt6397_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mt6397.c
146
mutex_lock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
147
ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_IRQ_EN, &irqen);
drivers/rtc/rtc-mt6397.c
150
ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_PDN2, &pdn2);
drivers/rtc/rtc-mt6397.c
154
ret = regmap_bulk_read(rtc->regmap, rtc->addr_base + RTC_AL_SEC,
drivers/rtc/rtc-mt6397.c
161
mutex_unlock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
174
mutex_unlock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
181
struct mt6397_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mt6397.c
187
mutex_lock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
188
ret = regmap_bulk_read(rtc->regmap, rtc->addr_base + RTC_AL_SEC,
drivers/rtc/rtc-mt6397.c
19
static int mtk_rtc_write_trigger(struct mt6397_rtc *rtc)
drivers/rtc/rtc-mt6397.c
207
ret = regmap_bulk_write(rtc->regmap,
drivers/rtc/rtc-mt6397.c
208
rtc->addr_base + RTC_AL_SEC,
drivers/rtc/rtc-mt6397.c
212
ret = regmap_write(rtc->regmap, rtc->addr_base + RTC_AL_MASK,
drivers/rtc/rtc-mt6397.c
216
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-mt6397.c
217
rtc->addr_base + RTC_IRQ_EN,
drivers/rtc/rtc-mt6397.c
223
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-mt6397.c
224
rtc->addr_base + RTC_IRQ_EN,
drivers/rtc/rtc-mt6397.c
234
ret = mtk_rtc_write_trigger(rtc);
drivers/rtc/rtc-mt6397.c
236
mutex_unlock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
24
ret = regmap_write(rtc->regmap, rtc->addr_base + rtc->data->wrtgr, 1);
drivers/rtc/rtc-mt6397.c
251
struct mt6397_rtc *rtc;
drivers/rtc/rtc-mt6397.c
254
rtc = devm_kzalloc(&pdev->dev, sizeof(struct mt6397_rtc), GFP_KERNEL);
drivers/rtc/rtc-mt6397.c
255
if (!rtc)
drivers/rtc/rtc-mt6397.c
261
rtc->addr_base = res->start;
drivers/rtc/rtc-mt6397.c
263
rtc->data = of_device_get_match_data(&pdev->dev);
drivers/rtc/rtc-mt6397.c
265
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-mt6397.c
266
if (rtc->irq < 0)
drivers/rtc/rtc-mt6397.c
267
return rtc->irq;
drivers/rtc/rtc-mt6397.c
269
rtc->regmap = mt6397_chip->regmap;
drivers/rtc/rtc-mt6397.c
270
mutex_init(&rtc->lock);
drivers/rtc/rtc-mt6397.c
272
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-mt6397.c
274
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mt6397.c
275
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-mt6397.c
276
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-mt6397.c
278
ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
drivers/rtc/rtc-mt6397.c
28
ret = regmap_read_poll_timeout(rtc->regmap,
drivers/rtc/rtc-mt6397.c
281
"mt6397-rtc", rtc);
drivers/rtc/rtc-mt6397.c
285
rtc->irq, ret);
drivers/rtc/rtc-mt6397.c
29
rtc->addr_base + RTC_BBPU, data,
drivers/rtc/rtc-mt6397.c
291
rtc->rtc_dev->ops = &mtk_rtc_ops;
drivers/rtc/rtc-mt6397.c
292
rtc->rtc_dev->range_min = RTC_TIMESTAMP_BEGIN_1900;
drivers/rtc/rtc-mt6397.c
293
rtc->rtc_dev->range_max = mktime64(2027, 12, 31, 23, 59, 59);
drivers/rtc/rtc-mt6397.c
294
rtc->rtc_dev->start_secs = mktime64(1968, 1, 2, 0, 0, 0);
drivers/rtc/rtc-mt6397.c
295
rtc->rtc_dev->set_start_time = true;
drivers/rtc/rtc-mt6397.c
297
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-mt6397.c
303
struct mt6397_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mt6397.c
306
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-mt6397.c
313
struct mt6397_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mt6397.c
316
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-mt6397.c
34
dev_err(rtc->rtc_dev->dev.parent,
drivers/rtc/rtc-mt6397.c
42
struct mt6397_rtc *rtc = data;
drivers/rtc/rtc-mt6397.c
46
ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_IRQ_STA, &irqsta);
drivers/rtc/rtc-mt6397.c
48
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mt6397.c
50
mutex_lock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
51
if (regmap_write(rtc->regmap, rtc->addr_base + RTC_IRQ_EN,
drivers/rtc/rtc-mt6397.c
53
mtk_rtc_write_trigger(rtc);
drivers/rtc/rtc-mt6397.c
54
mutex_unlock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
62
static int __mtk_rtc_read_time(struct mt6397_rtc *rtc,
drivers/rtc/rtc-mt6397.c
68
mutex_lock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
69
ret = regmap_bulk_read(rtc->regmap, rtc->addr_base + RTC_TC_SEC,
drivers/rtc/rtc-mt6397.c
82
ret = regmap_read(rtc->regmap, rtc->addr_base + RTC_TC_SEC, sec);
drivers/rtc/rtc-mt6397.c
84
mutex_unlock(&rtc->lock);
drivers/rtc/rtc-mt6397.c
90
struct mt6397_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-mt6397.c
94
ret = __mtk_rtc_read_time(rtc, tm, &sec);
drivers/rtc/rtc-mt7622.c
102
struct rtc_device *rtc;
drivers/rtc/rtc-mt7622.c
108
static void mtk_w32(struct mtk_rtc *rtc, u32 reg, u32 val)
drivers/rtc/rtc-mt7622.c
110
writel_relaxed(val, rtc->base + reg);
drivers/rtc/rtc-mt7622.c
113
static u32 mtk_r32(struct mtk_rtc *rtc, u32 reg)
drivers/rtc/rtc-mt7622.c
115
return readl_relaxed(rtc->base + reg);
drivers/rtc/rtc-mt7622.c
118
static void mtk_rmw(struct mtk_rtc *rtc, u32 reg, u32 mask, u32 set)
drivers/rtc/rtc-mt7622.c
122
val = mtk_r32(rtc, reg);
drivers/rtc/rtc-mt7622.c
125
mtk_w32(rtc, reg, val);
drivers/rtc/rtc-mt7622.c
128
static void mtk_set(struct mtk_rtc *rtc, u32 reg, u32 val)
drivers/rtc/rtc-mt7622.c
130
mtk_rmw(rtc, reg, 0, val);
drivers/rtc/rtc-mt7622.c
133
static void mtk_clr(struct mtk_rtc *rtc, u32 reg, u32 val)
drivers/rtc/rtc-mt7622.c
135
mtk_rmw(rtc, reg, val, 0);
drivers/rtc/rtc-mt7622.c
210
rtc_update_irq(hw->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mt7622.c
345
hw->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-mt7622.c
347
if (IS_ERR(hw->rtc)) {
drivers/rtc/rtc-mt7622.c
348
ret = PTR_ERR(hw->rtc);
drivers/rtc/rtc-mv.c
196
rtc_update_irq(pdata->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-mv.c
250
pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mv.c
251
if (IS_ERR(pdata->rtc)) {
drivers/rtc/rtc-mv.c
252
ret = PTR_ERR(pdata->rtc);
drivers/rtc/rtc-mv.c
269
clear_bit(RTC_FEATURE_ALARM, pdata->rtc->features);
drivers/rtc/rtc-mv.c
271
pdata->rtc->ops = &mv_rtc_ops;
drivers/rtc/rtc-mv.c
272
pdata->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-mv.c
273
pdata->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-mv.c
275
ret = devm_rtc_register_device(pdata->rtc);
drivers/rtc/rtc-mv.c
40
struct rtc_device *rtc;
drivers/rtc/rtc-mxc.c
173
spin_lock_irqsave(&pdata->rtc->irq_lock, flags);
drivers/rtc/rtc-mxc.c
182
spin_unlock_irqrestore(&pdata->rtc->irq_lock, flags);
drivers/rtc/rtc-mxc.c
194
spin_lock(&pdata->rtc->irq_lock);
drivers/rtc/rtc-mxc.c
209
rtc_update_irq(pdata->rtc, 1, events);
drivers/rtc/rtc-mxc.c
210
spin_unlock(&pdata->rtc->irq_lock);
drivers/rtc/rtc-mxc.c
295
struct rtc_device *rtc;
drivers/rtc/rtc-mxc.c
311
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mxc.c
312
if (IS_ERR(rtc))
drivers/rtc/rtc-mxc.c
313
return PTR_ERR(rtc);
drivers/rtc/rtc-mxc.c
315
pdata->rtc = rtc;
drivers/rtc/rtc-mxc.c
316
rtc->ops = &mxc_rtc_ops;
drivers/rtc/rtc-mxc.c
321
rtc->range_max = (1 << 9) * 86400 - 1;
drivers/rtc/rtc-mxc.c
328
rtc->start_secs = mktime64(tm.tm_year, 1, 1, 0, 0, 0);
drivers/rtc/rtc-mxc.c
329
rtc->set_start_time = true;
drivers/rtc/rtc-mxc.c
332
rtc->range_max = (1 << 16) * 86400ULL - 1;
drivers/rtc/rtc-mxc.c
386
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-mxc.c
63
struct rtc_device *rtc;
drivers/rtc/rtc-mxc_v2.c
338
pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-mxc_v2.c
339
if (IS_ERR(pdata->rtc)) {
drivers/rtc/rtc-mxc_v2.c
341
return PTR_ERR(pdata->rtc);
drivers/rtc/rtc-mxc_v2.c
344
pdata->rtc->ops = &mxc_rtc_ops;
drivers/rtc/rtc-mxc_v2.c
345
pdata->rtc->range_max = U32_MAX;
drivers/rtc/rtc-mxc_v2.c
358
ret = devm_rtc_register_device(pdata->rtc);
drivers/rtc/rtc-mxc_v2.c
40
struct rtc_device *rtc;
drivers/rtc/rtc-mxc_v2.c
92
rtc_update_irq(pdata->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-nct3018y.c
137
rtc_update_irq(nct3018y->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-nct3018y.c
44
struct rtc_device *rtc;
drivers/rtc/rtc-nct3018y.c
544
nct3018y->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-nct3018y.c
545
if (IS_ERR(nct3018y->rtc))
drivers/rtc/rtc-nct3018y.c
546
return PTR_ERR(nct3018y->rtc);
drivers/rtc/rtc-nct3018y.c
548
nct3018y->rtc->ops = &nct3018y_rtc_ops;
drivers/rtc/rtc-nct3018y.c
549
nct3018y->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-nct3018y.c
550
nct3018y->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-nct3018y.c
562
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, nct3018y->rtc->features);
drivers/rtc/rtc-nct3018y.c
563
clear_bit(RTC_FEATURE_ALARM, nct3018y->rtc->features);
drivers/rtc/rtc-nct3018y.c
571
return devm_rtc_register_device(nct3018y->rtc);
drivers/rtc/rtc-nct6694.c
213
rtc_lock(data->rtc);
drivers/rtc/rtc-nct6694.c
219
rtc_unlock(data->rtc);
drivers/rtc/rtc-nct6694.c
223
rtc_update_irq(data->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-nct6694.c
225
rtc_unlock(data->rtc);
drivers/rtc/rtc-nct6694.c
265
data->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-nct6694.c
266
if (IS_ERR(data->rtc))
drivers/rtc/rtc-nct6694.c
267
return PTR_ERR(data->rtc);
drivers/rtc/rtc-nct6694.c
270
data->rtc->ops = &nct6694_rtc_ops;
drivers/rtc/rtc-nct6694.c
271
data->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-nct6694.c
272
data->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-nct6694.c
282
return devm_rtc_register_device(data->rtc);
drivers/rtc/rtc-nct6694.c
73
struct rtc_device *rtc;
drivers/rtc/rtc-ntxec.c
100
return regmap_multi_reg_write(rtc->ec->regmap, regs, ARRAY_SIZE(regs));
drivers/rtc/rtc-ntxec.c
111
struct ntxec_rtc *rtc;
drivers/rtc/rtc-ntxec.c
115
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-ntxec.c
116
if (!rtc)
drivers/rtc/rtc-ntxec.c
119
rtc->dev = &pdev->dev;
drivers/rtc/rtc-ntxec.c
120
rtc->ec = dev_get_drvdata(pdev->dev.parent);
drivers/rtc/rtc-ntxec.c
121
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-ntxec.c
38
struct ntxec_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-ntxec.c
43
res = regmap_read(rtc->ec->regmap, NTXEC_REG_READ_MINUTE_SECOND, &value);
drivers/rtc/rtc-ntxec.c
50
res = regmap_read(rtc->ec->regmap, NTXEC_REG_READ_MDAY_HOUR, &value);
drivers/rtc/rtc-ntxec.c
57
res = regmap_read(rtc->ec->regmap, NTXEC_REG_READ_YEAR_MONTH, &value);
drivers/rtc/rtc-ntxec.c
69
res = regmap_read(rtc->ec->regmap, NTXEC_REG_READ_MINUTE_SECOND, &value);
drivers/rtc/rtc-ntxec.c
81
struct ntxec_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-nvidia-vrs10.c
362
rtc_lock(info->rtc);
drivers/rtc/rtc-nvidia-vrs10.c
363
rtc_update_irq(info->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-nvidia-vrs10.c
364
rtc_unlock(info->rtc);
drivers/rtc/rtc-nvidia-vrs10.c
453
info->rtc = devm_rtc_allocate_device(info->dev);
drivers/rtc/rtc-nvidia-vrs10.c
454
if (IS_ERR(info->rtc))
drivers/rtc/rtc-nvidia-vrs10.c
455
return PTR_ERR(info->rtc);
drivers/rtc/rtc-nvidia-vrs10.c
457
info->rtc->ops = &nvvrs_rtc_ops;
drivers/rtc/rtc-nvidia-vrs10.c
458
info->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-nvidia-vrs10.c
459
info->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-nvidia-vrs10.c
473
return devm_rtc_register_device(info->rtc);
drivers/rtc/rtc-nvidia-vrs10.c
86
struct rtc_device *rtc;
drivers/rtc/rtc-nxp-bbnsm.c
155
rtc_update_irq(bbnsm->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-nxp-bbnsm.c
173
bbnsm->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-nxp-bbnsm.c
174
if (IS_ERR(bbnsm->rtc))
drivers/rtc/rtc-nxp-bbnsm.c
175
return PTR_ERR(bbnsm->rtc);
drivers/rtc/rtc-nxp-bbnsm.c
208
bbnsm->rtc->ops = &bbnsm_rtc_ops;
drivers/rtc/rtc-nxp-bbnsm.c
209
bbnsm->rtc->range_max = U32_MAX;
drivers/rtc/rtc-nxp-bbnsm.c
211
return devm_rtc_register_device(bbnsm->rtc);
drivers/rtc/rtc-nxp-bbnsm.c
36
struct rtc_device *rtc;
drivers/rtc/rtc-omap.c
1001
struct omap_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-omap.c
1008
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
1009
mask = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
drivers/rtc/rtc-omap.c
1011
rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, mask);
drivers/rtc/rtc-omap.c
1012
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
137
void (*lock)(struct omap_rtc *rtc);
drivers/rtc/rtc-omap.c
138
void (*unlock)(struct omap_rtc *rtc);
drivers/rtc/rtc-omap.c
142
struct rtc_device *rtc;
drivers/rtc/rtc-omap.c
155
static inline u8 rtc_read(struct omap_rtc *rtc, unsigned int reg)
drivers/rtc/rtc-omap.c
157
return readb(rtc->base + reg);
drivers/rtc/rtc-omap.c
160
static inline u32 rtc_readl(struct omap_rtc *rtc, unsigned int reg)
drivers/rtc/rtc-omap.c
162
return readl(rtc->base + reg);
drivers/rtc/rtc-omap.c
165
static inline void rtc_write(struct omap_rtc *rtc, unsigned int reg, u8 val)
drivers/rtc/rtc-omap.c
167
writeb(val, rtc->base + reg);
drivers/rtc/rtc-omap.c
170
static inline void rtc_writel(struct omap_rtc *rtc, unsigned int reg, u32 val)
drivers/rtc/rtc-omap.c
172
writel(val, rtc->base + reg);
drivers/rtc/rtc-omap.c
175
static void am3352_rtc_unlock(struct omap_rtc *rtc)
drivers/rtc/rtc-omap.c
177
rtc_writel(rtc, OMAP_RTC_KICK0_REG, KICK0_VALUE);
drivers/rtc/rtc-omap.c
178
rtc_writel(rtc, OMAP_RTC_KICK1_REG, KICK1_VALUE);
drivers/rtc/rtc-omap.c
181
static void am3352_rtc_lock(struct omap_rtc *rtc)
drivers/rtc/rtc-omap.c
183
rtc_writel(rtc, OMAP_RTC_KICK0_REG, 0);
drivers/rtc/rtc-omap.c
184
rtc_writel(rtc, OMAP_RTC_KICK1_REG, 0);
drivers/rtc/rtc-omap.c
187
static void default_rtc_unlock(struct omap_rtc *rtc)
drivers/rtc/rtc-omap.c
191
static void default_rtc_lock(struct omap_rtc *rtc)
drivers/rtc/rtc-omap.c
200
static void rtc_wait_not_busy(struct omap_rtc *rtc)
drivers/rtc/rtc-omap.c
207
status = rtc_read(rtc, OMAP_RTC_STATUS_REG);
drivers/rtc/rtc-omap.c
217
struct omap_rtc *rtc = dev_id;
drivers/rtc/rtc-omap.c
221
irq_data = rtc_read(rtc, OMAP_RTC_STATUS_REG);
drivers/rtc/rtc-omap.c
225
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
226
rtc_write(rtc, OMAP_RTC_STATUS_REG, OMAP_RTC_STATUS_ALARM);
drivers/rtc/rtc-omap.c
227
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
235
rtc_update_irq(rtc->rtc, 1, events);
drivers/rtc/rtc-omap.c
242
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
246
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
247
reg = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
drivers/rtc/rtc-omap.c
248
if (rtc->type->has_irqwakeen)
drivers/rtc/rtc-omap.c
249
irqwake_reg = rtc_read(rtc, OMAP_RTC_IRQWAKEEN);
drivers/rtc/rtc-omap.c
258
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
259
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
260
rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, reg);
drivers/rtc/rtc-omap.c
261
if (rtc->type->has_irqwakeen)
drivers/rtc/rtc-omap.c
262
rtc_write(rtc, OMAP_RTC_IRQWAKEEN, irqwake_reg);
drivers/rtc/rtc-omap.c
263
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
292
static void omap_rtc_read_time_raw(struct omap_rtc *rtc, struct rtc_time *tm)
drivers/rtc/rtc-omap.c
294
tm->tm_sec = rtc_read(rtc, OMAP_RTC_SECONDS_REG);
drivers/rtc/rtc-omap.c
295
tm->tm_min = rtc_read(rtc, OMAP_RTC_MINUTES_REG);
drivers/rtc/rtc-omap.c
296
tm->tm_hour = rtc_read(rtc, OMAP_RTC_HOURS_REG);
drivers/rtc/rtc-omap.c
297
tm->tm_mday = rtc_read(rtc, OMAP_RTC_DAYS_REG);
drivers/rtc/rtc-omap.c
298
tm->tm_mon = rtc_read(rtc, OMAP_RTC_MONTHS_REG);
drivers/rtc/rtc-omap.c
299
tm->tm_year = rtc_read(rtc, OMAP_RTC_YEARS_REG);
drivers/rtc/rtc-omap.c
304
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
308
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
309
omap_rtc_read_time_raw(rtc, tm);
drivers/rtc/rtc-omap.c
319
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
324
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
326
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
327
rtc_write(rtc, OMAP_RTC_YEARS_REG, tm->tm_year);
drivers/rtc/rtc-omap.c
328
rtc_write(rtc, OMAP_RTC_MONTHS_REG, tm->tm_mon);
drivers/rtc/rtc-omap.c
329
rtc_write(rtc, OMAP_RTC_DAYS_REG, tm->tm_mday);
drivers/rtc/rtc-omap.c
330
rtc_write(rtc, OMAP_RTC_HOURS_REG, tm->tm_hour);
drivers/rtc/rtc-omap.c
331
rtc_write(rtc, OMAP_RTC_MINUTES_REG, tm->tm_min);
drivers/rtc/rtc-omap.c
332
rtc_write(rtc, OMAP_RTC_SECONDS_REG, tm->tm_sec);
drivers/rtc/rtc-omap.c
333
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
342
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
346
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
348
alm->time.tm_sec = rtc_read(rtc, OMAP_RTC_ALARM_SECONDS_REG);
drivers/rtc/rtc-omap.c
349
alm->time.tm_min = rtc_read(rtc, OMAP_RTC_ALARM_MINUTES_REG);
drivers/rtc/rtc-omap.c
350
alm->time.tm_hour = rtc_read(rtc, OMAP_RTC_ALARM_HOURS_REG);
drivers/rtc/rtc-omap.c
351
alm->time.tm_mday = rtc_read(rtc, OMAP_RTC_ALARM_DAYS_REG);
drivers/rtc/rtc-omap.c
352
alm->time.tm_mon = rtc_read(rtc, OMAP_RTC_ALARM_MONTHS_REG);
drivers/rtc/rtc-omap.c
353
alm->time.tm_year = rtc_read(rtc, OMAP_RTC_ALARM_YEARS_REG);
drivers/rtc/rtc-omap.c
359
interrupts = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
drivers/rtc/rtc-omap.c
367
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
373
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
375
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
376
rtc_write(rtc, OMAP_RTC_ALARM_YEARS_REG, alm->time.tm_year);
drivers/rtc/rtc-omap.c
377
rtc_write(rtc, OMAP_RTC_ALARM_MONTHS_REG, alm->time.tm_mon);
drivers/rtc/rtc-omap.c
378
rtc_write(rtc, OMAP_RTC_ALARM_DAYS_REG, alm->time.tm_mday);
drivers/rtc/rtc-omap.c
379
rtc_write(rtc, OMAP_RTC_ALARM_HOURS_REG, alm->time.tm_hour);
drivers/rtc/rtc-omap.c
380
rtc_write(rtc, OMAP_RTC_ALARM_MINUTES_REG, alm->time.tm_min);
drivers/rtc/rtc-omap.c
381
rtc_write(rtc, OMAP_RTC_ALARM_SECONDS_REG, alm->time.tm_sec);
drivers/rtc/rtc-omap.c
383
reg = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
drivers/rtc/rtc-omap.c
384
if (rtc->type->has_irqwakeen)
drivers/rtc/rtc-omap.c
385
irqwake_reg = rtc_read(rtc, OMAP_RTC_IRQWAKEEN);
drivers/rtc/rtc-omap.c
394
rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, reg);
drivers/rtc/rtc-omap.c
395
if (rtc->type->has_irqwakeen)
drivers/rtc/rtc-omap.c
396
rtc_write(rtc, OMAP_RTC_IRQWAKEEN, irqwake_reg);
drivers/rtc/rtc-omap.c
397
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
413
struct omap_rtc *rtc = omap_rtc_power_off_rtc;
drivers/rtc/rtc-omap.c
419
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
421
val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
drivers/rtc/rtc-omap.c
422
rtc_writel(rtc, OMAP_RTC_PMIC_REG, val | OMAP_RTC_PMIC_POWER_EN_EN);
drivers/rtc/rtc-omap.c
426
rtc_writel(rtc, OMAP_RTC_STATUS_REG, OMAP_RTC_STATUS_ALARM2);
drivers/rtc/rtc-omap.c
429
omap_rtc_read_time_raw(rtc, &tm);
drivers/rtc/rtc-omap.c
437
rtc_wait_not_busy(rtc);
drivers/rtc/rtc-omap.c
439
rtc_write(rtc, OMAP_RTC_ALARM2_SECONDS_REG, tm.tm_sec);
drivers/rtc/rtc-omap.c
440
rtc_write(rtc, OMAP_RTC_ALARM2_MINUTES_REG, tm.tm_min);
drivers/rtc/rtc-omap.c
441
rtc_write(rtc, OMAP_RTC_ALARM2_HOURS_REG, tm.tm_hour);
drivers/rtc/rtc-omap.c
442
rtc_write(rtc, OMAP_RTC_ALARM2_DAYS_REG, tm.tm_mday);
drivers/rtc/rtc-omap.c
443
rtc_write(rtc, OMAP_RTC_ALARM2_MONTHS_REG, tm.tm_mon);
drivers/rtc/rtc-omap.c
444
rtc_write(rtc, OMAP_RTC_ALARM2_YEARS_REG, tm.tm_year);
drivers/rtc/rtc-omap.c
451
val = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
drivers/rtc/rtc-omap.c
452
rtc_writel(rtc, OMAP_RTC_INTERRUPTS_REG,
drivers/rtc/rtc-omap.c
456
if (rtc_read(rtc, OMAP_RTC_SECONDS_REG) != seconds) {
drivers/rtc/rtc-omap.c
457
val = rtc_read(rtc, OMAP_RTC_STATUS_REG);
drivers/rtc/rtc-omap.c
462
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
484
struct rtc_device *rtc = omap_rtc_power_off_rtc->rtc;
drivers/rtc/rtc-omap.c
487
omap_rtc_power_off_program(rtc->dev.parent);
drivers/rtc/rtc-omap.c
601
struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
drivers/rtc/rtc-omap.c
606
val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
drivers/rtc/rtc-omap.c
630
struct omap_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
drivers/rtc/rtc-omap.c
636
val = rtc_readl(rtc, OMAP_RTC_PMIC_REG);
drivers/rtc/rtc-omap.c
656
dev_err(&rtc->rtc->dev, "Property %u not supported\n",
drivers/rtc/rtc-omap.c
662
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
663
rtc_writel(rtc, OMAP_RTC_PMIC_REG, val);
drivers/rtc/rtc-omap.c
664
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
691
struct omap_rtc *rtc = priv;
drivers/rtc/rtc-omap.c
696
val[i] = rtc_readl(rtc,
drivers/rtc/rtc-omap.c
705
struct omap_rtc *rtc = priv;
drivers/rtc/rtc-omap.c
709
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
711
rtc_writel(rtc,
drivers/rtc/rtc-omap.c
713
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
729
struct omap_rtc *rtc;
drivers/rtc/rtc-omap.c
734
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-omap.c
735
if (!rtc)
drivers/rtc/rtc-omap.c
738
rtc->type = device_get_match_data(&pdev->dev);
drivers/rtc/rtc-omap.c
739
if (rtc->type) {
drivers/rtc/rtc-omap.c
740
rtc->is_pmic_controller = rtc->type->has_pmic_mode &&
drivers/rtc/rtc-omap.c
744
rtc->type = (void *)id_entry->driver_data;
drivers/rtc/rtc-omap.c
747
rtc->irq_timer = platform_get_irq(pdev, 0);
drivers/rtc/rtc-omap.c
748
if (rtc->irq_timer < 0)
drivers/rtc/rtc-omap.c
749
return rtc->irq_timer;
drivers/rtc/rtc-omap.c
751
rtc->irq_alarm = platform_get_irq(pdev, 1);
drivers/rtc/rtc-omap.c
752
if (rtc->irq_alarm < 0)
drivers/rtc/rtc-omap.c
753
return rtc->irq_alarm;
drivers/rtc/rtc-omap.c
755
rtc->clk = devm_clk_get(&pdev->dev, "ext-clk");
drivers/rtc/rtc-omap.c
756
if (!IS_ERR(rtc->clk))
drivers/rtc/rtc-omap.c
757
rtc->has_ext_clk = true;
drivers/rtc/rtc-omap.c
759
rtc->clk = devm_clk_get(&pdev->dev, "int-clk");
drivers/rtc/rtc-omap.c
761
if (!IS_ERR(rtc->clk))
drivers/rtc/rtc-omap.c
762
clk_prepare_enable(rtc->clk);
drivers/rtc/rtc-omap.c
764
rtc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-omap.c
765
if (IS_ERR(rtc->base)) {
drivers/rtc/rtc-omap.c
766
clk_disable_unprepare(rtc->clk);
drivers/rtc/rtc-omap.c
767
return PTR_ERR(rtc->base);
drivers/rtc/rtc-omap.c
770
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-omap.c
776
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
783
rtc_writel(rtc, OMAP_RTC_INTERRUPTS_REG, 0);
drivers/rtc/rtc-omap.c
786
if (rtc->type->has_32kclk_en) {
drivers/rtc/rtc-omap.c
787
reg = rtc_read(rtc, OMAP_RTC_OSC_REG);
drivers/rtc/rtc-omap.c
788
rtc_write(rtc, OMAP_RTC_OSC_REG, reg | OMAP_RTC_OSC_32KCLK_EN);
drivers/rtc/rtc-omap.c
792
reg = rtc_read(rtc, OMAP_RTC_STATUS_REG);
drivers/rtc/rtc-omap.c
796
if (rtc->type->has_pmic_mode)
drivers/rtc/rtc-omap.c
799
if (rtc->type->has_power_up_reset) {
drivers/rtc/rtc-omap.c
806
rtc_write(rtc, OMAP_RTC_STATUS_REG, reg & mask);
drivers/rtc/rtc-omap.c
809
reg = rtc_read(rtc, OMAP_RTC_CTRL_REG);
drivers/rtc/rtc-omap.c
836
rtc_write(rtc, OMAP_RTC_CTRL_REG, new_ctrl);
drivers/rtc/rtc-omap.c
842
if (rtc->has_ext_clk) {
drivers/rtc/rtc-omap.c
843
reg = rtc_read(rtc, OMAP_RTC_OSC_REG);
drivers/rtc/rtc-omap.c
846
rtc_write(rtc, OMAP_RTC_OSC_REG, reg);
drivers/rtc/rtc-omap.c
849
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
853
rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-omap.c
854
if (IS_ERR(rtc->rtc)) {
drivers/rtc/rtc-omap.c
855
ret = PTR_ERR(rtc->rtc);
drivers/rtc/rtc-omap.c
859
rtc->rtc->ops = &omap_rtc_ops;
drivers/rtc/rtc-omap.c
860
rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-omap.c
861
rtc->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-omap.c
862
omap_rtc_nvmem_config.priv = rtc;
drivers/rtc/rtc-omap.c
865
ret = devm_request_irq(&pdev->dev, rtc->irq_timer, rtc_irq, 0,
drivers/rtc/rtc-omap.c
866
dev_name(&rtc->rtc->dev), rtc);
drivers/rtc/rtc-omap.c
870
if (rtc->irq_timer != rtc->irq_alarm) {
drivers/rtc/rtc-omap.c
871
ret = devm_request_irq(&pdev->dev, rtc->irq_alarm, rtc_irq, 0,
drivers/rtc/rtc-omap.c
872
dev_name(&rtc->rtc->dev), rtc);
drivers/rtc/rtc-omap.c
880
rtc->pctldev = devm_pinctrl_register(&pdev->dev, &rtc_pinctrl_desc, rtc);
drivers/rtc/rtc-omap.c
881
if (IS_ERR(rtc->pctldev)) {
drivers/rtc/rtc-omap.c
883
ret = PTR_ERR(rtc->pctldev);
drivers/rtc/rtc-omap.c
887
ret = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-omap.c
891
devm_rtc_nvmem_register(rtc->rtc, &omap_rtc_nvmem_config);
drivers/rtc/rtc-omap.c
893
if (rtc->is_pmic_controller) {
drivers/rtc/rtc-omap.c
895
omap_rtc_power_off_rtc = rtc;
drivers/rtc/rtc-omap.c
903
clk_disable_unprepare(rtc->clk);
drivers/rtc/rtc-omap.c
905
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
914
struct omap_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-omap.c
918
omap_rtc_power_off_rtc == rtc) {
drivers/rtc/rtc-omap.c
925
if (!IS_ERR(rtc->clk))
drivers/rtc/rtc-omap.c
926
clk_disable_unprepare(rtc->clk);
drivers/rtc/rtc-omap.c
928
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
930
rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, 0);
drivers/rtc/rtc-omap.c
932
if (rtc->has_ext_clk) {
drivers/rtc/rtc-omap.c
933
reg = rtc_read(rtc, OMAP_RTC_OSC_REG);
drivers/rtc/rtc-omap.c
935
rtc_write(rtc, OMAP_RTC_OSC_REG, reg);
drivers/rtc/rtc-omap.c
938
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
947
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
949
rtc->interrupts_reg = rtc_read(rtc, OMAP_RTC_INTERRUPTS_REG);
drivers/rtc/rtc-omap.c
951
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
958
enable_irq_wake(rtc->irq_alarm);
drivers/rtc/rtc-omap.c
960
rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, 0);
drivers/rtc/rtc-omap.c
961
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
963
rtc->is_suspending = true;
drivers/rtc/rtc-omap.c
970
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
972
rtc->type->unlock(rtc);
drivers/rtc/rtc-omap.c
974
disable_irq_wake(rtc->irq_alarm);
drivers/rtc/rtc-omap.c
976
rtc_write(rtc, OMAP_RTC_INTERRUPTS_REG, rtc->interrupts_reg);
drivers/rtc/rtc-omap.c
977
rtc->type->lock(rtc);
drivers/rtc/rtc-omap.c
979
rtc->is_suspending = false;
drivers/rtc/rtc-omap.c
986
struct omap_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-omap.c
988
if (rtc->is_suspending && !rtc->has_ext_clk)
drivers/rtc/rtc-opal.c
237
struct rtc_device *rtc;
drivers/rtc/rtc-opal.c
239
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-opal.c
240
if (IS_ERR(rtc))
drivers/rtc/rtc-opal.c
241
return PTR_ERR(rtc);
drivers/rtc/rtc-opal.c
248
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/rtc-opal.c
250
rtc->ops = &opal_rtc_ops;
drivers/rtc/rtc-opal.c
251
rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
drivers/rtc/rtc-opal.c
252
rtc->range_max = RTC_TIMESTAMP_END_9999;
drivers/rtc/rtc-opal.c
253
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/rtc-opal.c
255
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-optee.c
149
struct rtc_device *rtc;
drivers/rtc/rtc-optee.c
483
rtc_update_irq(priv->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-optee.c
498
static int optee_rtc_read_info(struct device *dev, struct rtc_device *rtc,
drivers/rtc/rtc-optee.c
533
rtc->range_min = mktime64(tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min,
drivers/rtc/rtc-optee.c
536
rtc->range_max = mktime64(tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_hour, tm->tm_min,
drivers/rtc/rtc-optee.c
553
struct rtc_device *rtc;
drivers/rtc/rtc-optee.c
561
rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-optee.c
562
if (IS_ERR(rtc))
drivers/rtc/rtc-optee.c
563
return PTR_ERR(rtc);
drivers/rtc/rtc-optee.c
565
priv->rtc = rtc;
drivers/rtc/rtc-optee.c
600
rtc->ops = &optee_rtc_ops;
drivers/rtc/rtc-optee.c
602
err = optee_rtc_read_info(dev, rtc, &priv->features);
drivers/rtc/rtc-optee.c
644
err = devm_rtc_register_device(rtc);
drivers/rtc/rtc-optee.c
653
clear_bit(RTC_FEATURE_CORRECTION, rtc->features);
drivers/rtc/rtc-optee.c
655
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/rtc-palmas.c
211
rtc_update_irq(palmas_rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-palmas.c
27
struct rtc_device *rtc;
drivers/rtc/rtc-palmas.c
291
palmas_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-palmas.c
293
if (IS_ERR(palmas_rtc->rtc)) {
drivers/rtc/rtc-palmas.c
294
ret = PTR_ERR(palmas_rtc->rtc);
drivers/rtc/rtc-pcap.c
146
pcap_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-pcap.c
147
if (IS_ERR(pcap_rtc->rtc))
drivers/rtc/rtc-pcap.c
148
return PTR_ERR(pcap_rtc->rtc);
drivers/rtc/rtc-pcap.c
150
pcap_rtc->rtc->ops = &pcap_rtc_ops;
drivers/rtc/rtc-pcap.c
151
pcap_rtc->rtc->range_max = (1 << 14) * 86400ULL - 1;
drivers/rtc/rtc-pcap.c
166
return devm_rtc_register_device(pcap_rtc->rtc);
drivers/rtc/rtc-pcap.c
21
struct rtc_device *rtc;
drivers/rtc/rtc-pcap.c
36
rtc_update_irq(pcap_rtc->rtc, 1, rtc_events);
drivers/rtc/rtc-pcf2123.c
108
struct rtc_device *rtc;
drivers/rtc/rtc-pcf2123.c
313
rtc_lock(pcf2123->rtc);
drivers/rtc/rtc-pcf2123.c
323
rtc_update_irq(pcf2123->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pcf2123.c
326
rtc_unlock(pcf2123->rtc);
drivers/rtc/rtc-pcf2123.c
377
struct rtc_device *rtc;
drivers/rtc/rtc-pcf2123.c
408
rtc = devm_rtc_allocate_device(&spi->dev);
drivers/rtc/rtc-pcf2123.c
409
if (IS_ERR(rtc))
drivers/rtc/rtc-pcf2123.c
410
return PTR_ERR(rtc);
drivers/rtc/rtc-pcf2123.c
412
pcf2123->rtc = rtc;
drivers/rtc/rtc-pcf2123.c
435
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->features);
drivers/rtc/rtc-pcf2123.c
436
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/rtc-pcf2123.c
437
rtc->ops = &pcf2123_rtc_ops;
drivers/rtc/rtc-pcf2123.c
438
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pcf2123.c
439
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pcf2123.c
440
rtc->set_start_time = true;
drivers/rtc/rtc-pcf2123.c
442
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-pcf2127.c
1213
pcf2127->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-pcf2127.c
1214
if (IS_ERR(pcf2127->rtc))
drivers/rtc/rtc-pcf2127.c
1215
return PTR_ERR(pcf2127->rtc);
drivers/rtc/rtc-pcf2127.c
1217
pcf2127->rtc->ops = &pcf2127_rtc_ops;
drivers/rtc/rtc-pcf2127.c
1218
pcf2127->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pcf2127.c
1219
pcf2127->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pcf2127.c
1220
pcf2127->rtc->set_start_time = true; /* Sets actual start to 1970 */
drivers/rtc/rtc-pcf2127.c
1227
set_bit(RTC_FEATURE_ALARM_RES_2S, pcf2127->rtc->features);
drivers/rtc/rtc-pcf2127.c
1228
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, pcf2127->rtc->features);
drivers/rtc/rtc-pcf2127.c
1231
clear_bit(RTC_FEATURE_ALARM, pcf2127->rtc->features);
drivers/rtc/rtc-pcf2127.c
1258
set_bit(RTC_FEATURE_ALARM, pcf2127->rtc->features);
drivers/rtc/rtc-pcf2127.c
1278
ret = devm_rtc_nvmem_register(pcf2127->rtc, &nvmem_cfg);
drivers/rtc/rtc-pcf2127.c
1352
ret = rtc_add_group(pcf2127->rtc, &pcf2127->cfg->attribute_group);
drivers/rtc/rtc-pcf2127.c
1359
return devm_rtc_register_device(pcf2127->rtc);
drivers/rtc/rtc-pcf2127.c
207
struct rtc_device *rtc;
drivers/rtc/rtc-pcf2127.c
827
rtc_update_irq(pcf2127->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pcf85063.c
239
rtc_update_irq(pcf85063->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pcf85063.c
362
dev_warn(&pcf85063->rtc->dev, "Unknown quartz-load-femtofarads value: %d. Assuming 7000",
drivers/rtc/rtc-pcf85063.c
502
struct device_node *node = pcf85063->rtc->dev.parent->of_node;
drivers/rtc/rtc-pcf85063.c
527
clk = devm_clk_register(&pcf85063->rtc->dev, &pcf85063->clkout_hw);
drivers/rtc/rtc-pcf85063.c
565
pcf85063->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-pcf85063.c
566
if (IS_ERR(pcf85063->rtc))
drivers/rtc/rtc-pcf85063.c
567
return PTR_ERR(pcf85063->rtc);
drivers/rtc/rtc-pcf85063.c
589
pcf85063->rtc->ops = &pcf85063_rtc_ops;
drivers/rtc/rtc-pcf85063.c
590
pcf85063->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pcf85063.c
591
pcf85063->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pcf85063.c
592
set_bit(RTC_FEATURE_ALARM_RES_2S, pcf85063->rtc->features);
drivers/rtc/rtc-pcf85063.c
593
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, pcf85063->rtc->features);
drivers/rtc/rtc-pcf85063.c
594
clear_bit(RTC_FEATURE_ALARM, pcf85063->rtc->features);
drivers/rtc/rtc-pcf85063.c
607
dev_warn(&pcf85063->rtc->dev,
drivers/rtc/rtc-pcf85063.c
610
set_bit(RTC_FEATURE_ALARM, pcf85063->rtc->features);
drivers/rtc/rtc-pcf85063.c
614
dev_err(&pcf85063->rtc->dev,
drivers/rtc/rtc-pcf85063.c
620
devm_rtc_nvmem_register(pcf85063->rtc, &nvmem_cfg);
drivers/rtc/rtc-pcf85063.c
627
return devm_rtc_register_device(pcf85063->rtc);
drivers/rtc/rtc-pcf85063.c
73
struct rtc_device *rtc;
drivers/rtc/rtc-pcf85063.c
99
dev_warn(&pcf85063->rtc->dev, "Power loss detected, invalid time\n");
drivers/rtc/rtc-pcf8523.c
419
struct rtc_device *rtc;
drivers/rtc/rtc-pcf8523.c
437
rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-pcf8523.c
438
if (IS_ERR(rtc))
drivers/rtc/rtc-pcf8523.c
439
return PTR_ERR(rtc);
drivers/rtc/rtc-pcf8523.c
440
pcf8523->rtc = rtc;
drivers/rtc/rtc-pcf8523.c
464
rtc->ops = &pcf8523_rtc_ops;
drivers/rtc/rtc-pcf8523.c
465
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pcf8523.c
466
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pcf8523.c
467
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->features);
drivers/rtc/rtc-pcf8523.c
468
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/rtc-pcf8523.c
483
dev_name(&rtc->dev), pcf8523);
drivers/rtc/rtc-pcf8523.c
494
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-pcf8523.c
51
struct rtc_device *rtc;
drivers/rtc/rtc-pcf8523.c
64
dev_warn(&pcf8523->rtc->dev, "Unknown quartz-load-femtofarads value: %d. Assuming 12500",
drivers/rtc/rtc-pcf8523.c
91
rtc_update_irq(pcf8523->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pcf85363.c
114
struct rtc_device *rtc;
drivers/rtc/rtc-pcf85363.c
132
dev_warn(&pcf85363->rtc->dev, "Unknown quartz-load-femtofarads value: %d. Assuming 7000",
drivers/rtc/rtc-pcf85363.c
306
rtc_update_irq(pcf85363->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pcf85363.c
423
pcf85363->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-pcf85363.c
424
if (IS_ERR(pcf85363->rtc))
drivers/rtc/rtc-pcf85363.c
425
return PTR_ERR(pcf85363->rtc);
drivers/rtc/rtc-pcf85363.c
432
pcf85363->rtc->ops = &rtc_ops;
drivers/rtc/rtc-pcf85363.c
433
pcf85363->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pcf85363.c
434
pcf85363->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pcf85363.c
462
set_bit(RTC_FEATURE_ALARM, pcf85363->rtc->features);
drivers/rtc/rtc-pcf85363.c
464
clear_bit(RTC_FEATURE_ALARM, pcf85363->rtc->features);
drivers/rtc/rtc-pcf85363.c
467
ret = devm_rtc_register_device(pcf85363->rtc);
drivers/rtc/rtc-pcf85363.c
471
devm_rtc_nvmem_register(pcf85363->rtc, &nvmem_cfg[i]);
drivers/rtc/rtc-pcf8563.c
135
rtc_update_irq(pcf8563->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pcf8563.c
427
struct device_node *node = pcf8563->rtc->dev.parent->of_node;
drivers/rtc/rtc-pcf8563.c
449
clk = devm_clk_register(&pcf8563->rtc->dev, &pcf8563->clkout_hw);
drivers/rtc/rtc-pcf8563.c
510
pcf8563->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-pcf8563.c
511
if (IS_ERR(pcf8563->rtc))
drivers/rtc/rtc-pcf8563.c
512
return PTR_ERR(pcf8563->rtc);
drivers/rtc/rtc-pcf8563.c
514
pcf8563->rtc->ops = &pcf8563_rtc_ops;
drivers/rtc/rtc-pcf8563.c
516
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, pcf8563->rtc->features);
drivers/rtc/rtc-pcf8563.c
517
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, pcf8563->rtc->features);
drivers/rtc/rtc-pcf8563.c
518
clear_bit(RTC_FEATURE_ALARM, pcf8563->rtc->features);
drivers/rtc/rtc-pcf8563.c
519
pcf8563->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pcf8563.c
520
pcf8563->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pcf8563.c
521
pcf8563->rtc->set_start_time = true;
drivers/rtc/rtc-pcf8563.c
544
set_bit(RTC_FEATURE_ALARM, pcf8563->rtc->features);
drivers/rtc/rtc-pcf8563.c
547
err = devm_rtc_register_device(pcf8563->rtc);
drivers/rtc/rtc-pcf8563.c
64
struct rtc_device *rtc;
drivers/rtc/rtc-pcf8583.c
28
struct rtc_device *rtc;
drivers/rtc/rtc-pcf8583.c
292
pcf8583->rtc = devm_rtc_device_register(&client->dev,
drivers/rtc/rtc-pcf8583.c
296
return PTR_ERR_OR_ZERO(pcf8583->rtc);
drivers/rtc/rtc-pic32.c
324
pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-pic32.c
325
if (IS_ERR(pdata->rtc))
drivers/rtc/rtc-pic32.c
326
return PTR_ERR(pdata->rtc);
drivers/rtc/rtc-pic32.c
334
pdata->rtc->ops = &pic32_rtcops;
drivers/rtc/rtc-pic32.c
335
pdata->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-pic32.c
336
pdata->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-pic32.c
338
ret = devm_rtc_register_device(pdata->rtc);
drivers/rtc/rtc-pic32.c
56
struct rtc_device *rtc;
drivers/rtc/rtc-pic32.c
89
rtc_update_irq(pdata->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-pl030.c
108
rtc->base = ioremap(dev->res.start, resource_size(&dev->res));
drivers/rtc/rtc-pl030.c
109
if (!rtc->base) {
drivers/rtc/rtc-pl030.c
114
__raw_writel(0, rtc->base + RTC_CR);
drivers/rtc/rtc-pl030.c
115
__raw_writel(0, rtc->base + RTC_EOI);
drivers/rtc/rtc-pl030.c
117
amba_set_drvdata(dev, rtc);
drivers/rtc/rtc-pl030.c
120
"rtc-pl030", rtc);
drivers/rtc/rtc-pl030.c
131
free_irq(dev->irq[0], rtc);
drivers/rtc/rtc-pl030.c
133
iounmap(rtc->base);
drivers/rtc/rtc-pl030.c
142
struct pl030_rtc *rtc = amba_get_drvdata(dev);
drivers/rtc/rtc-pl030.c
144
writel(0, rtc->base + RTC_CR);
drivers/rtc/rtc-pl030.c
146
free_irq(dev->irq[0], rtc);
drivers/rtc/rtc-pl030.c
147
iounmap(rtc->base);
drivers/rtc/rtc-pl030.c
29
struct pl030_rtc *rtc = dev_id;
drivers/rtc/rtc-pl030.c
30
writel(0, rtc->base + RTC_EOI);
drivers/rtc/rtc-pl030.c
36
struct pl030_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-pl030.c
38
rtc_time64_to_tm(readl(rtc->base + RTC_MR), &alrm->time);
drivers/rtc/rtc-pl030.c
44
struct pl030_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-pl030.c
46
writel(rtc_tm_to_time64(&alrm->time), rtc->base + RTC_MR);
drivers/rtc/rtc-pl030.c
53
struct pl030_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-pl030.c
55
rtc_time64_to_tm(readl(rtc->base + RTC_DR), tm);
drivers/rtc/rtc-pl030.c
70
struct pl030_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-pl030.c
72
writel(rtc_tm_to_time64(tm) + 1, rtc->base + RTC_LR);
drivers/rtc/rtc-pl030.c
86
struct pl030_rtc *rtc;
drivers/rtc/rtc-pl030.c
94
rtc = devm_kzalloc(&dev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-pl030.c
95
if (!rtc) {
drivers/rtc/rtc-pl031.c
237
rtc_update_irq(ldata->rtc, 1, events);
drivers/rtc/rtc-pl031.c
354
ldata->rtc = devm_rtc_allocate_device(&adev->dev);
drivers/rtc/rtc-pl031.c
355
if (IS_ERR(ldata->rtc)) {
drivers/rtc/rtc-pl031.c
356
ret = PTR_ERR(ldata->rtc);
drivers/rtc/rtc-pl031.c
361
clear_bit(RTC_FEATURE_ALARM, ldata->rtc->features);
drivers/rtc/rtc-pl031.c
363
ldata->rtc->ops = ops;
drivers/rtc/rtc-pl031.c
364
ldata->rtc->range_min = vendor->range_min;
drivers/rtc/rtc-pl031.c
365
ldata->rtc->range_max = vendor->range_max;
drivers/rtc/rtc-pl031.c
367
ret = devm_rtc_register_device(ldata->rtc);
drivers/rtc/rtc-pl031.c
91
struct rtc_device *rtc;
drivers/rtc/rtc-pm8xxx.c
490
rtc_update_irq(rtc_dd->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-pm8xxx.c
636
rtc_dd->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-pm8xxx.c
637
if (IS_ERR(rtc_dd->rtc))
drivers/rtc/rtc-pm8xxx.c
638
return PTR_ERR(rtc_dd->rtc);
drivers/rtc/rtc-pm8xxx.c
640
rtc_dd->rtc->ops = &pm8xxx_rtc_ops;
drivers/rtc/rtc-pm8xxx.c
641
rtc_dd->rtc->range_max = U32_MAX;
drivers/rtc/rtc-pm8xxx.c
657
clear_bit(RTC_FEATURE_ALARM, rtc_dd->rtc->features);
drivers/rtc/rtc-pm8xxx.c
660
return devm_rtc_register_device(rtc_dd->rtc);
drivers/rtc/rtc-pm8xxx.c
71
struct rtc_device *rtc;
drivers/rtc/rtc-ps3.c
48
struct rtc_device *rtc;
drivers/rtc/rtc-ps3.c
50
rtc = devm_rtc_allocate_device(&dev->dev);
drivers/rtc/rtc-ps3.c
51
if (IS_ERR(rtc))
drivers/rtc/rtc-ps3.c
52
return PTR_ERR(rtc);
drivers/rtc/rtc-ps3.c
54
rtc->ops = &ps3_rtc_ops;
drivers/rtc/rtc-ps3.c
55
rtc->range_max = U64_MAX;
drivers/rtc/rtc-ps3.c
57
platform_set_drvdata(dev, rtc);
drivers/rtc/rtc-ps3.c
59
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-pxa.c
156
rtc_update_irq(pxa_rtc->rtc, 1, events);
drivers/rtc/rtc-pxa.c
330
sa1100_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-pxa.c
331
if (IS_ERR(sa1100_rtc->rtc))
drivers/rtc/rtc-pxa.c
332
return PTR_ERR(sa1100_rtc->rtc);
drivers/rtc/rtc-pxa.c
355
pxa_rtc->rtc = devm_rtc_device_register(&pdev->dev, "pxa-rtc",
drivers/rtc/rtc-pxa.c
357
if (IS_ERR(pxa_rtc->rtc)) {
drivers/rtc/rtc-pxa.c
358
ret = PTR_ERR(pxa_rtc->rtc);
drivers/rtc/rtc-pxa.c
77
struct rtc_device *rtc;
drivers/rtc/rtc-r7301.c
333
struct rtc_device *rtc = dev_id;
drivers/rtc/rtc-r7301.c
334
struct rtc7301_priv *priv = dev_get_drvdata(rtc->dev.parent);
drivers/rtc/rtc-r7301.c
346
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-r7301.c
370
struct rtc_device *rtc;
drivers/rtc/rtc-r7301.c
414
rtc = devm_rtc_device_register(&dev->dev, DRV_NAME, &rtc7301_rtc_ops,
drivers/rtc/rtc-r7301.c
416
if (IS_ERR(rtc))
drivers/rtc/rtc-r7301.c
417
return PTR_ERR(rtc);
drivers/rtc/rtc-r7301.c
422
dev_name(&dev->dev), rtc);
drivers/rtc/rtc-r9701.c
110
struct rtc_device *rtc;
drivers/rtc/rtc-r9701.c
121
rtc = devm_rtc_allocate_device(&spi->dev);
drivers/rtc/rtc-r9701.c
122
if (IS_ERR(rtc))
drivers/rtc/rtc-r9701.c
123
return PTR_ERR(rtc);
drivers/rtc/rtc-r9701.c
125
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-r9701.c
126
rtc->ops = &r9701_rtc_ops;
drivers/rtc/rtc-r9701.c
127
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-r9701.c
128
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-r9701.c
130
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-rc5t583.c
168
static irqreturn_t rc5t583_rtc_interrupt(int irq, void *rtc)
drivers/rtc/rtc-rc5t583.c
170
struct device *dev = rtc;
drivers/rtc/rtc-rc5t583.c
192
rtc_update_irq(rc5t583_rtc->rtc, 1, events);
drivers/rtc/rtc-rc5t583.c
21
struct rtc_device *rtc;
drivers/rtc/rtc-rc5t583.c
250
ricoh_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-rc5t583.c
252
if (IS_ERR(ricoh_rtc->rtc)) {
drivers/rtc/rtc-rc5t583.c
253
ret = PTR_ERR(ricoh_rtc->rtc);
drivers/rtc/rtc-rc5t583.c
269
rc5t583_rtc_alarm_irq_enable(&rc5t583_rtc->rtc->dev, 0);
drivers/rtc/rtc-rc5t619.c
102
err = regmap_write(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, reg_data);
drivers/rtc/rtc-rc5t619.c
107
err = regmap_write(rtc->rn5t618->regmap, RN5T618_RTC_ADJUST, 0);
drivers/rtc/rtc-rc5t619.c
111
return regmap_update_bits(rtc->rn5t618->regmap,
drivers/rtc/rtc-rc5t619.c
118
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
125
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, &ctrl2);
drivers/rtc/rtc-rc5t619.c
132
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1);
drivers/rtc/rtc-rc5t619.c
136
err = regmap_bulk_read(rtc->rn5t618->regmap, RN5T618_RTC_SECONDS,
drivers/rtc/rtc-rc5t619.c
164
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
171
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, &ctrl2);
drivers/rtc/rtc-rc5t619.c
178
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1);
drivers/rtc/rtc-rc5t619.c
203
err = regmap_bulk_write(rtc->rn5t618->regmap, RN5T618_RTC_SECONDS,
drivers/rtc/rtc-rc5t619.c
216
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
218
return regmap_update_bits(rtc->rn5t618->regmap,
drivers/rtc/rtc-rc5t619.c
226
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
233
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1);
drivers/rtc/rtc-rc5t619.c
237
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_MONTH, &buff_cent);
drivers/rtc/rtc-rc5t619.c
248
err = regmap_bulk_read(rtc->rn5t618->regmap, RN5T618_RTC_ALARM_Y_SEC,
drivers/rtc/rtc-rc5t619.c
25
struct rtc_device *rtc;
drivers/rtc/rtc-rc5t619.c
274
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
280
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL1, &ctrl1);
drivers/rtc/rtc-rc5t619.c
288
if (rtc->irq == -1)
drivers/rtc/rtc-rc5t619.c
313
err = regmap_bulk_write(rtc->rn5t618->regmap, RN5T618_RTC_ALARM_Y_SEC,
drivers/rtc/rtc-rc5t619.c
331
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
334
return regmap_update_bits(rtc->rn5t618->regmap,
drivers/rtc/rtc-rc5t619.c
342
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
346
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-rc5t619.c
354
struct rc5t619_rtc *rtc;
drivers/rtc/rtc-rc5t619.c
358
rtc = devm_kzalloc(dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-rc5t619.c
359
if (!rtc)
drivers/rtc/rtc-rc5t619.c
362
rtc->rn5t618 = rn5t618;
drivers/rtc/rtc-rc5t619.c
364
dev_set_drvdata(dev, rtc);
drivers/rtc/rtc-rc5t619.c
365
rtc->irq = -1;
drivers/rtc/rtc-rc5t619.c
368
rtc->irq = regmap_irq_get_virq(rn5t618->irq_data,
drivers/rtc/rtc-rc5t619.c
371
if (rtc->irq < 0)
drivers/rtc/rtc-rc5t619.c
372
rtc->irq = -1;
drivers/rtc/rtc-rc5t619.c
374
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, &ctrl2);
drivers/rtc/rtc-rc5t619.c
389
rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-rc5t619.c
390
if (IS_ERR(rtc->rtc)) {
drivers/rtc/rtc-rc5t619.c
391
err = PTR_ERR(rtc->rtc);
drivers/rtc/rtc-rc5t619.c
396
rtc->rtc->ops = &rc5t619_rtc_ops;
drivers/rtc/rtc-rc5t619.c
397
rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_1900;
drivers/rtc/rtc-rc5t619.c
398
rtc->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rc5t619.c
401
if (rtc->irq != -1) {
drivers/rtc/rtc-rc5t619.c
402
err = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
drivers/rtc/rtc-rc5t619.c
408
dev_err(&pdev->dev, "request IRQ:%d fail\n", rtc->irq);
drivers/rtc/rtc-rc5t619.c
409
rtc->irq = -1;
drivers/rtc/rtc-rc5t619.c
418
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-rc5t619.c
429
return devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-rc5t619.c
69
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
73
err = regmap_update_bits(rtc->rn5t618->regmap,
drivers/rtc/rtc-rc5t619.c
79
err = regmap_update_bits(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2,
drivers/rtc/rtc-rc5t619.c
91
struct rc5t619_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rc5t619.c
95
err = regmap_read(rtc->rn5t618->regmap, RN5T618_RTC_CTRL2, ®_data);
drivers/rtc/rtc-rk808.c
314
dev_err(&rk808_rtc->rtc->dev,
drivers/rtc/rtc-rk808.c
319
rtc_update_irq(rk808_rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-rk808.c
320
dev_dbg(&rk808_rtc->rtc->dev,
drivers/rtc/rtc-rk808.c
423
rk808_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-rk808.c
424
if (IS_ERR(rk808_rtc->rtc))
drivers/rtc/rtc-rk808.c
425
return PTR_ERR(rk808_rtc->rtc);
drivers/rtc/rtc-rk808.c
427
rk808_rtc->rtc->ops = &rk808_rtc_ops;
drivers/rtc/rtc-rk808.c
443
return devm_rtc_register_device(rk808_rtc->rtc);
drivers/rtc/rtc-rk808.c
54
struct rtc_device *rtc;
drivers/rtc/rtc-rp5c01.c
222
struct rtc_device *rtc;
drivers/rtc/rtc-rp5c01.c
249
rtc = devm_rtc_allocate_device(&dev->dev);
drivers/rtc/rtc-rp5c01.c
250
if (IS_ERR(rtc))
drivers/rtc/rtc-rp5c01.c
251
return PTR_ERR(rtc);
drivers/rtc/rtc-rp5c01.c
253
rtc->ops = &rp5c01_rtc_ops;
drivers/rtc/rtc-rp5c01.c
255
priv->rtc = rtc;
drivers/rtc/rtc-rp5c01.c
258
error = devm_rtc_nvmem_register(rtc, &nvmem_cfg);
drivers/rtc/rtc-rp5c01.c
262
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-rp5c01.c
66
struct rtc_device *rtc;
drivers/rtc/rtc-rs5c313.c
369
struct rtc_device *rtc;
drivers/rtc/rtc-rs5c313.c
374
rtc = devm_rtc_device_register(&pdev->dev, "rs5c313", &rs5c313_rtc_ops,
drivers/rtc/rtc-rs5c313.c
377
return PTR_ERR_OR_ZERO(rtc);
drivers/rtc/rtc-rs5c348.c
167
struct rtc_device *rtc;
drivers/rtc/rtc-rs5c348.c
192
rtc = devm_rtc_allocate_device(&spi->dev);
drivers/rtc/rtc-rs5c348.c
193
if (IS_ERR(rtc))
drivers/rtc/rtc-rs5c348.c
194
return PTR_ERR(rtc);
drivers/rtc/rtc-rs5c348.c
196
pdata->rtc = rtc;
drivers/rtc/rtc-rs5c348.c
198
rtc->ops = &rs5c348_rtc_ops;
drivers/rtc/rtc-rs5c348.c
200
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-rs5c348.c
54
struct rtc_device *rtc;
drivers/rtc/rtc-rs5c372.c
124
struct rtc_device *rtc;
drivers/rtc/rtc-rs5c372.c
894
rs5c372->rtc = devm_rtc_device_register(&client->dev,
drivers/rtc/rtc-rs5c372.c
898
if (IS_ERR(rs5c372->rtc)) {
drivers/rtc/rtc-rs5c372.c
899
err = PTR_ERR(rs5c372->rtc);
drivers/rtc/rtc-rv3028.c
1008
ret = rtc_add_group(rv3028->rtc, &rv3028_attr_group);
drivers/rtc/rtc-rv3028.c
1012
set_bit(RTC_FEATURE_BACKUP_SWITCH_MODE, rv3028->rtc->features);
drivers/rtc/rtc-rv3028.c
1014
rv3028->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rv3028.c
1015
rv3028->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rv3028.c
1016
rv3028->rtc->ops = &rv3028_rtc_ops;
drivers/rtc/rtc-rv3028.c
1017
ret = devm_rtc_register_device(rv3028->rtc);
drivers/rtc/rtc-rv3028.c
1022
devm_rtc_nvmem_register(rv3028->rtc, &nvmem_cfg);
drivers/rtc/rtc-rv3028.c
1024
devm_rtc_nvmem_register(rv3028->rtc, &eeprom_cfg);
drivers/rtc/rtc-rv3028.c
296
rtc_update_irq(rv3028->rtc, 1, events);
drivers/rtc/rtc-rv3028.c
302
sysfs_notify(&rv3028->rtc->dev.kobj, NULL,
drivers/rtc/rtc-rv3028.c
304
dev_warn(&rv3028->rtc->dev, "event detected");
drivers/rtc/rtc-rv3028.c
432
if (rv3028->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv3028.c
434
if (rv3028->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv3028.c
450
if (rv3028->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv3028.c
452
if (rv3028->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv3028.c
964
rv3028->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-rv3028.c
965
if (IS_ERR(rv3028->rtc))
drivers/rtc/rtc-rv3028.c
966
return PTR_ERR(rv3028->rtc);
drivers/rtc/rtc-rv3028.c
97
struct rtc_device *rtc;
drivers/rtc/rtc-rv3028.c
990
clear_bit(RTC_FEATURE_ALARM, rv3028->rtc->features);
drivers/rtc/rtc-rv3029c2.c
118
struct rtc_device *rtc;
drivers/rtc/rtc-rv3029c2.c
273
rtc_lock(rv3029->rtc);
drivers/rtc/rtc-rv3029c2.c
278
rtc_unlock(rv3029->rtc);
drivers/rtc/rtc-rv3029c2.c
285
rtc_unlock(rv3029->rtc);
drivers/rtc/rtc-rv3029c2.c
296
rtc_update_irq(rv3029->rtc, 1, events);
drivers/rtc/rtc-rv3029c2.c
300
rtc_unlock(rv3029->rtc);
drivers/rtc/rtc-rv3029c2.c
733
rv3029->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-rv3029c2.c
734
if (IS_ERR(rv3029->rtc))
drivers/rtc/rtc-rv3029c2.c
735
return PTR_ERR(rv3029->rtc);
drivers/rtc/rtc-rv3029c2.c
753
clear_bit(RTC_FEATURE_ALARM, rv3029->rtc->features);
drivers/rtc/rtc-rv3029c2.c
755
rv3029->rtc->ops = &rv3029_rtc_ops;
drivers/rtc/rtc-rv3029c2.c
756
rv3029->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rv3029c2.c
757
rv3029->rtc->range_max = RTC_TIMESTAMP_END_2079;
drivers/rtc/rtc-rv3029c2.c
759
rc = devm_rtc_register_device(rv3029->rtc);
drivers/rtc/rtc-rv3029c2.c
764
devm_rtc_nvmem_register(rv3029->rtc, &nvmem_cfg);
drivers/rtc/rtc-rv3032.c
107
struct rtc_device *rtc;
drivers/rtc/rtc-rv3032.c
215
rtc_update_irq(rv3032->rtc, 1, events);
drivers/rtc/rtc-rv3032.c
333
if (rv3032->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv3032.c
335
if (rv3032->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv3032.c
351
if (rv3032->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv3032.c
353
if (rv3032->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv3032.c
932
rv3032->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-rv3032.c
933
if (IS_ERR(rv3032->rtc))
drivers/rtc/rtc-rv3032.c
934
return PTR_ERR(rv3032->rtc);
drivers/rtc/rtc-rv3032.c
952
clear_bit(RTC_FEATURE_ALARM, rv3032->rtc->features);
drivers/rtc/rtc-rv3032.c
956
set_bit(RTC_FEATURE_BACKUP_SWITCH_MODE, rv3032->rtc->features);
drivers/rtc/rtc-rv3032.c
957
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rv3032->rtc->features);
drivers/rtc/rtc-rv3032.c
959
rv3032->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rv3032.c
960
rv3032->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rv3032.c
961
rv3032->rtc->ops = &rv3032_rtc_ops;
drivers/rtc/rtc-rv3032.c
962
ret = devm_rtc_register_device(rv3032->rtc);
drivers/rtc/rtc-rv3032.c
967
devm_rtc_nvmem_register(rv3032->rtc, &nvmem_cfg);
drivers/rtc/rtc-rv3032.c
969
devm_rtc_nvmem_register(rv3032->rtc, &eeprom_cfg);
drivers/rtc/rtc-rv8803.c
225
rtc_update_irq(rv8803->rtc, 1, events);
drivers/rtc/rtc-rv8803.c
439
if (rv8803->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv8803.c
441
if (rv8803->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv8803.c
462
if (rv8803->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv8803.c
464
if (rv8803->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv8803.c
467
if (!rv8803->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rv8803.c
469
if (!rv8803->rtc->aie_timer.enabled)
drivers/rtc/rtc-rv8803.c
692
rv8803->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-rv8803.c
693
if (IS_ERR(rv8803->rtc))
drivers/rtc/rtc-rv8803.c
694
return PTR_ERR(rv8803->rtc);
drivers/rtc/rtc-rv8803.c
70
struct rtc_device *rtc;
drivers/rtc/rtc-rv8803.c
719
clear_bit(RTC_FEATURE_ALARM, rv8803->rtc->features);
drivers/rtc/rtc-rv8803.c
732
rv8803->rtc->ops = &rv8803_rtc_ops;
drivers/rtc/rtc-rv8803.c
733
rv8803->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rv8803.c
734
rv8803->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rv8803.c
735
err = devm_rtc_register_device(rv8803->rtc);
drivers/rtc/rtc-rv8803.c
739
devm_rtc_nvmem_register(rv8803->rtc, &nvmem_cfg);
drivers/rtc/rtc-rx4581.c
256
struct rtc_device *rtc;
drivers/rtc/rtc-rx4581.c
264
rtc = devm_rtc_device_register(&spi->dev, "rx4581",
drivers/rtc/rtc-rx4581.c
266
if (IS_ERR(rtc))
drivers/rtc/rtc-rx4581.c
267
return PTR_ERR(rtc);
drivers/rtc/rtc-rx4581.c
269
spi_set_drvdata(spi, rtc);
drivers/rtc/rtc-rx6110.c
263
struct rtc_device *rtc = rx6110->rtc;
drivers/rtc/rtc-rx6110.c
283
dev_warn(&rtc->dev, "Voltage low, data loss detected.\n");
drivers/rtc/rtc-rx6110.c
287
dev_warn(&rtc->dev, "An alarm may have been missed.\n");
drivers/rtc/rtc-rx6110.c
291
dev_warn(&rtc->dev, "Periodic timer was detected\n");
drivers/rtc/rtc-rx6110.c
295
dev_warn(&rtc->dev, "Update timer was detected\n");
drivers/rtc/rtc-rx6110.c
316
rx6110->rtc = devm_rtc_device_register(dev,
drivers/rtc/rtc-rx6110.c
320
if (IS_ERR(rx6110->rtc))
drivers/rtc/rtc-rx6110.c
321
return PTR_ERR(rx6110->rtc);
drivers/rtc/rtc-rx6110.c
98
struct rtc_device *rtc;
drivers/rtc/rtc-rx8010.c
103
rtc_unlock(rx8010->rtc);
drivers/rtc/rtc-rx8010.c
289
if (rx8010->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rx8010.c
291
if (rx8010->rtc->aie_timer.enabled)
drivers/rtc/rtc-rx8010.c
313
if (rx8010->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rx8010.c
315
if (rx8010->rtc->aie_timer.enabled)
drivers/rtc/rtc-rx8010.c
318
if (!rx8010->rtc->uie_rtctimer.enabled)
drivers/rtc/rtc-rx8010.c
320
if (!rx8010->rtc->aie_timer.enabled)
drivers/rtc/rtc-rx8010.c
392
rx8010->rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-rx8010.c
393
if (IS_ERR(rx8010->rtc))
drivers/rtc/rtc-rx8010.c
394
return PTR_ERR(rx8010->rtc);
drivers/rtc/rtc-rx8010.c
411
clear_bit(RTC_FEATURE_ALARM, rx8010->rtc->features);
drivers/rtc/rtc-rx8010.c
414
rx8010->rtc->ops = &rx8010_rtc_ops;
drivers/rtc/rtc-rx8010.c
415
rx8010->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rx8010.c
416
rx8010->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rx8010.c
418
return devm_rtc_register_device(rx8010->rtc);
drivers/rtc/rtc-rx8010.c
66
struct rtc_device *rtc;
drivers/rtc/rtc-rx8010.c
76
rtc_lock(rx8010->rtc);
drivers/rtc/rtc-rx8010.c
80
rtc_unlock(rx8010->rtc);
drivers/rtc/rtc-rx8010.c
89
rtc_update_irq(rx8010->rtc, 1, RTC_PF | RTC_IRQF);
drivers/rtc/rtc-rx8010.c
94
rtc_update_irq(rx8010->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-rx8010.c
99
rtc_update_irq(rx8010->rtc, 1, RTC_UF | RTC_IRQF);
drivers/rtc/rtc-rx8025.c
183
rtc_lock(rx8025->rtc);
drivers/rtc/rtc-rx8025.c
196
rtc_update_irq(rx8025->rtc, 1, RTC_PF | RTC_IRQF);
drivers/rtc/rtc-rx8025.c
205
rtc_update_irq(rx8025->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-rx8025.c
209
rtc_unlock(rx8025->rtc);
drivers/rtc/rtc-rx8025.c
550
rx8025->rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-rx8025.c
551
if (IS_ERR(rx8025->rtc))
drivers/rtc/rtc-rx8025.c
552
return PTR_ERR(rx8025->rtc);
drivers/rtc/rtc-rx8025.c
554
rx8025->rtc->ops = &rx8025_rtc_ops;
drivers/rtc/rtc-rx8025.c
555
rx8025->rtc->range_min = RTC_TIMESTAMP_BEGIN_1900;
drivers/rtc/rtc-rx8025.c
556
rx8025->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rx8025.c
565
clear_bit(RTC_FEATURE_ALARM, rx8025->rtc->features);
drivers/rtc/rtc-rx8025.c
568
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rx8025->rtc->features);
drivers/rtc/rtc-rx8025.c
569
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rx8025->rtc->features);
drivers/rtc/rtc-rx8025.c
571
err = rtc_add_group(rx8025->rtc, &rx8025_attr_group);
drivers/rtc/rtc-rx8025.c
575
return devm_rtc_register_device(rx8025->rtc);
drivers/rtc/rtc-rx8025.c
81
struct rtc_device *rtc;
drivers/rtc/rtc-rx8111.c
149
struct rtc_device *rtc;
drivers/rtc/rtc-rx8111.c
306
struct rtc_device *rtc;
drivers/rtc/rtc-rx8111.c
334
rtc = devm_rtc_allocate_device(data->dev);
drivers/rtc/rtc-rx8111.c
335
if (IS_ERR(rtc)) {
drivers/rtc/rtc-rx8111.c
337
return PTR_ERR(rtc);
drivers/rtc/rtc-rx8111.c
340
rtc->ops = &rx8111_rtc_ops;
drivers/rtc/rtc-rx8111.c
341
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rx8111.c
342
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rx8111.c
344
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/rtc-rx8111.c
346
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-rx8581.c
245
struct rtc_device *rtc;
drivers/rtc/rtc-rx8581.c
276
rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-rx8581.c
277
if (IS_ERR(rtc))
drivers/rtc/rtc-rx8581.c
278
return PTR_ERR(rtc);
drivers/rtc/rtc-rx8581.c
280
rtc->ops = &rx8581_rtc_ops;
drivers/rtc/rtc-rx8581.c
281
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rx8581.c
282
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rx8581.c
283
rtc->start_secs = 0;
drivers/rtc/rtc-rx8581.c
284
rtc->set_start_time = true;
drivers/rtc/rtc-rx8581.c
286
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-rx8581.c
290
devm_rtc_nvmem_register(rtc, &nvmem_cfg[i]);
drivers/rtc/rtc-rzn1.c
100
val = readl(rtc->base + RZN1_RTC_CTL2);
drivers/rtc/rtc-rzn1.c
104
rzn1_rtc_get_time_snapshot(rtc, tm);
drivers/rtc/rtc-rzn1.c
105
secs = readl(rtc->base + RZN1_RTC_SECC);
drivers/rtc/rtc-rzn1.c
107
rzn1_rtc_get_time_snapshot(rtc, tm);
drivers/rtc/rtc-rzn1.c
114
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rzn1.c
118
val = readl(rtc->base + RZN1_RTC_CTL2);
drivers/rtc/rtc-rzn1.c
121
writel(RZN1_RTC_CTL2_WAIT, rtc->base + RZN1_RTC_CTL2);
drivers/rtc/rtc-rzn1.c
125
ret = readl_poll_timeout(rtc->base + RZN1_RTC_CTL2, val,
drivers/rtc/rtc-rzn1.c
134
writel(val, rtc->base + RZN1_RTC_TIME);
drivers/rtc/rtc-rzn1.c
140
writel(val, rtc->base + RZN1_RTC_CAL);
drivers/rtc/rtc-rzn1.c
142
writel(0, rtc->base + RZN1_RTC_CTL2);
drivers/rtc/rtc-rzn1.c
149
struct rzn1_rtc *rtc = dev_id;
drivers/rtc/rtc-rzn1.c
152
if (rtc->tm_alarm.tm_sec == 0)
drivers/rtc/rtc-rzn1.c
153
rtc_update_irq(rtc->rtcdev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-rzn1.c
158
guard(spinlock)(&rtc->ctl1_access_lock);
drivers/rtc/rtc-rzn1.c
160
ctl1 = readl(rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
163
writel(ctl1, rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
170
struct rzn1_rtc *rtc = dev_id;
drivers/rtc/rtc-rzn1.c
173
if (readl(rtc->base + RZN1_RTC_SECC) == bin2bcd(rtc->tm_alarm.tm_sec)) {
drivers/rtc/rtc-rzn1.c
174
guard(spinlock)(&rtc->ctl1_access_lock);
drivers/rtc/rtc-rzn1.c
176
ctl1 = readl(rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
178
writel(ctl1, rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
180
rtc_update_irq(rtc->rtcdev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-rzn1.c
188
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rzn1.c
189
struct rtc_time *tm = &rtc->tm_alarm, tm_now;
drivers/rtc/rtc-rzn1.c
193
guard(spinlock_irqsave)(&rtc->ctl1_access_lock);
drivers/rtc/rtc-rzn1.c
195
ctl1 = readl(rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
215
writel(ctl1, rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
216
} while (readl(rtc->base + RZN1_RTC_SECC) != bin2bcd(tm_now.tm_sec));
drivers/rtc/rtc-rzn1.c
219
writel(ctl1, rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
227
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rzn1.c
238
min = readl(rtc->base + RZN1_RTC_ALM);
drivers/rtc/rtc-rzn1.c
239
hour = readl(rtc->base + RZN1_RTC_ALH);
drivers/rtc/rtc-rzn1.c
240
wday = readl(rtc->base + RZN1_RTC_ALW);
drivers/rtc/rtc-rzn1.c
253
ctl1 = readl(rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
261
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rzn1.c
272
farest = rtc_tm_to_time64(&tm_now) + rtc->rtcdev->alarm_offset_max;
drivers/rtc/rtc-rzn1.c
281
writel(bin2bcd(tm->tm_min), rtc->base + RZN1_RTC_ALM);
drivers/rtc/rtc-rzn1.c
282
writel(bin2bcd(tm->tm_hour), rtc->base + RZN1_RTC_ALH);
drivers/rtc/rtc-rzn1.c
283
writel(BIT(wday), rtc->base + RZN1_RTC_ALW);
drivers/rtc/rtc-rzn1.c
285
rtc->tm_alarm = alrm->time;
drivers/rtc/rtc-rzn1.c
294
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rzn1.c
299
val = readl(rtc->base + RZN1_RTC_SUBU);
drivers/rtc/rtc-rzn1.c
316
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-rzn1.c
352
ret = readl_poll_timeout(rtc->base + RZN1_RTC_CTL2, ctl2,
drivers/rtc/rtc-rzn1.c
357
writel(subu, rtc->base + RZN1_RTC_SUBU);
drivers/rtc/rtc-rzn1.c
382
struct rzn1_rtc *rtc;
drivers/rtc/rtc-rzn1.c
388
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-rzn1.c
389
if (!rtc)
drivers/rtc/rtc-rzn1.c
392
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-rzn1.c
394
rtc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-rzn1.c
395
if (IS_ERR(rtc->base))
drivers/rtc/rtc-rzn1.c
396
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->base), "Missing reg\n");
drivers/rtc/rtc-rzn1.c
402
rtc->rtcdev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-rzn1.c
403
if (IS_ERR(rtc->rtcdev))
drivers/rtc/rtc-rzn1.c
404
return PTR_ERR(rtc->rtcdev);
drivers/rtc/rtc-rzn1.c
406
rtc->rtcdev->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-rzn1.c
407
rtc->rtcdev->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-rzn1.c
408
rtc->rtcdev->alarm_offset_max = 7 * 86400;
drivers/rtc/rtc-rzn1.c
435
val = readl(rtc->base + RZN1_RTC_CTL0) & ~RZN1_RTC_CTL0_CE;
drivers/rtc/rtc-rzn1.c
436
writel(val, rtc->base + RZN1_RTC_CTL0);
drivers/rtc/rtc-rzn1.c
438
ret = readl_poll_timeout(rtc->base + RZN1_RTC_CTL0, val,
drivers/rtc/rtc-rzn1.c
444
writel(RZN1_RTC_CTL0_AMPM | scmp_val, rtc->base + RZN1_RTC_CTL0);
drivers/rtc/rtc-rzn1.c
447
writel(rate - 1, rtc->base + RZN1_RTC_SCMP);
drivers/rtc/rtc-rzn1.c
448
rtc->rtcdev->ops = &rzn1_rtc_ops_scmp;
drivers/rtc/rtc-rzn1.c
450
rtc->rtcdev->ops = &rzn1_rtc_ops_subu;
drivers/rtc/rtc-rzn1.c
454
writel(RZN1_RTC_CTL0_CE | RZN1_RTC_CTL0_AMPM | scmp_val, rtc->base + RZN1_RTC_CTL0);
drivers/rtc/rtc-rzn1.c
457
writel(0, rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
459
spin_lock_init(&rtc->ctl1_access_lock);
drivers/rtc/rtc-rzn1.c
461
ret = devm_request_irq(&pdev->dev, irq, rzn1_rtc_alarm_irq, 0, "RZN1 RTC Alarm", rtc);
drivers/rtc/rtc-rzn1.c
469
ret = devm_request_irq(&pdev->dev, irq, rzn1_rtc_1s_irq, 0, "RZN1 RTC 1s", rtc);
drivers/rtc/rtc-rzn1.c
472
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtcdev->features);
drivers/rtc/rtc-rzn1.c
473
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtcdev->features);
drivers/rtc/rtc-rzn1.c
477
ret = devm_rtc_register_device(rtc->rtcdev);
drivers/rtc/rtc-rzn1.c
491
struct rzn1_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-rzn1.c
494
writel(0, rtc->base + RZN1_RTC_CTL1);
drivers/rtc/rtc-rzn1.c
75
static void rzn1_rtc_get_time_snapshot(struct rzn1_rtc *rtc, struct rtc_time *tm)
drivers/rtc/rtc-rzn1.c
79
val = readl(rtc->base + RZN1_RTC_TIMEC);
drivers/rtc/rtc-rzn1.c
84
val = readl(rtc->base + RZN1_RTC_CALC);
drivers/rtc/rtc-rzn1.c
93
struct rzn1_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-s35390a.c
442
struct rtc_device *rtc;
drivers/rtc/rtc-s35390a.c
477
rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-s35390a.c
478
if (IS_ERR(rtc))
drivers/rtc/rtc-s35390a.c
479
return PTR_ERR(rtc);
drivers/rtc/rtc-s35390a.c
510
rtc->ops = &s35390a_rtc_ops;
drivers/rtc/rtc-s35390a.c
511
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-s35390a.c
512
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-s35390a.c
514
set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->features);
drivers/rtc/rtc-s35390a.c
515
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/rtc-s35390a.c
518
rtc_update_irq(rtc, 1, RTC_AF);
drivers/rtc/rtc-s35390a.c
521
err = devm_rtc_nvmem_register(rtc, &nvmem_cfg);
drivers/rtc/rtc-s35390a.c
525
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-s3c.c
34
struct rtc_device *rtc;
drivers/rtc/rtc-s3c.c
448
info->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-s3c.c
449
if (IS_ERR(info->rtc)) {
drivers/rtc/rtc-s3c.c
450
ret = PTR_ERR(info->rtc);
drivers/rtc/rtc-s3c.c
454
info->rtc->ops = &s3c_rtcops;
drivers/rtc/rtc-s3c.c
455
info->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-s3c.c
456
info->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-s3c.c
458
ret = devm_rtc_register_device(info->rtc);
drivers/rtc/rtc-s3c.c
530
rtc_update_irq(info->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-sa1100.c
202
info->rtc->ops = &sa1100_rtc_ops;
drivers/rtc/rtc-sa1100.c
203
info->rtc->range_max = U32_MAX;
drivers/rtc/rtc-sa1100.c
205
ret = devm_rtc_register_device(info->rtc);
drivers/rtc/rtc-sa1100.c
257
info->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-sa1100.c
258
if (IS_ERR(info->rtc))
drivers/rtc/rtc-sa1100.c
259
return PTR_ERR(info->rtc);
drivers/rtc/rtc-sa1100.c
47
struct rtc_device *rtc = info->rtc;
drivers/rtc/rtc-sa1100.c
85
rtc_update_irq(rtc, 1, events);
drivers/rtc/rtc-sa1100.h
18
struct rtc_device *rtc;
drivers/rtc/rtc-sc27xx.c
104
struct rtc_device *rtc;
drivers/rtc/rtc-sc27xx.c
126
static int sprd_rtc_clear_alarm_ints(struct sprd_rtc *rtc)
drivers/rtc/rtc-sc27xx.c
128
return regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR,
drivers/rtc/rtc-sc27xx.c
132
static int sprd_rtc_lock_alarm(struct sprd_rtc *rtc, bool lock)
drivers/rtc/rtc-sc27xx.c
137
ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_SPG_VALUE, &val);
drivers/rtc/rtc-sc27xx.c
147
ret = regmap_write(rtc->regmap, rtc->base + SPRD_RTC_SPG_UPD, val);
drivers/rtc/rtc-sc27xx.c
152
ret = regmap_read_poll_timeout(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
153
rtc->base + SPRD_RTC_INT_RAW_STS, val,
drivers/rtc/rtc-sc27xx.c
158
dev_err(rtc->dev, "failed to update SPG value:%d\n", ret);
drivers/rtc/rtc-sc27xx.c
162
return regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR,
drivers/rtc/rtc-sc27xx.c
166
static int sprd_rtc_get_secs(struct sprd_rtc *rtc, enum sprd_rtc_reg_types type,
drivers/rtc/rtc-sc27xx.c
196
ret = regmap_read(rtc->regmap, rtc->base + sec_reg, &val);
drivers/rtc/rtc-sc27xx.c
202
ret = regmap_read(rtc->regmap, rtc->base + min_reg, &val);
drivers/rtc/rtc-sc27xx.c
208
ret = regmap_read(rtc->regmap, rtc->base + hour_reg, &val);
drivers/rtc/rtc-sc27xx.c
214
ret = regmap_read(rtc->regmap, rtc->base + day_reg, &val);
drivers/rtc/rtc-sc27xx.c
223
static int sprd_rtc_set_secs(struct sprd_rtc *rtc, enum sprd_rtc_reg_types type,
drivers/rtc/rtc-sc27xx.c
263
ret = regmap_write(rtc->regmap, rtc->base + sec_reg, sec);
drivers/rtc/rtc-sc27xx.c
267
ret = regmap_write(rtc->regmap, rtc->base + min_reg, min);
drivers/rtc/rtc-sc27xx.c
271
ret = regmap_write(rtc->regmap, rtc->base + hour_reg, hour);
drivers/rtc/rtc-sc27xx.c
275
ret = regmap_write(rtc->regmap, rtc->base + day_reg, day);
drivers/rtc/rtc-sc27xx.c
288
ret = regmap_read_poll_timeout(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
289
rtc->base + SPRD_RTC_INT_RAW_STS, val,
drivers/rtc/rtc-sc27xx.c
294
dev_err(rtc->dev, "set time/alarm values timeout\n");
drivers/rtc/rtc-sc27xx.c
298
return regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR,
drivers/rtc/rtc-sc27xx.c
304
struct sprd_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sc27xx.c
309
ret = regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR,
drivers/rtc/rtc-sc27xx.c
314
ret = sprd_rtc_set_secs(rtc, SPRD_RTC_AUX_ALARM, secs);
drivers/rtc/rtc-sc27xx.c
319
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
320
rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
324
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
325
rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
334
struct sprd_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sc27xx.c
338
if (!rtc->valid) {
drivers/rtc/rtc-sc27xx.c
343
ret = sprd_rtc_get_secs(rtc, SPRD_RTC_TIME, &secs);
drivers/rtc/rtc-sc27xx.c
353
struct sprd_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sc27xx.c
357
ret = sprd_rtc_set_secs(rtc, SPRD_RTC_TIME, secs);
drivers/rtc/rtc-sc27xx.c
361
if (!rtc->valid) {
drivers/rtc/rtc-sc27xx.c
363
ret = regmap_write(rtc->regmap, rtc->base + SPRD_RTC_PWR_CTRL,
drivers/rtc/rtc-sc27xx.c
372
ret = regmap_write(rtc->regmap, rtc->base + SPRD_RTC_PWR_CTRL,
drivers/rtc/rtc-sc27xx.c
377
rtc->valid = true;
drivers/rtc/rtc-sc27xx.c
385
struct sprd_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sc27xx.c
394
ret = sprd_rtc_get_secs(rtc, SPRD_RTC_ALARM, &secs);
drivers/rtc/rtc-sc27xx.c
400
ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_INT_EN, &val);
drivers/rtc/rtc-sc27xx.c
406
ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_INT_RAW_STS, &val);
drivers/rtc/rtc-sc27xx.c
416
struct sprd_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sc27xx.c
419
rtc_ktime_to_tm(rtc->rtc->aie_timer.node.expires);
drivers/rtc/rtc-sc27xx.c
435
if (!rtc->rtc->aie_timer.enabled || rtc_tm_sub(&aie_time, &alrm->time))
drivers/rtc/rtc-sc27xx.c
439
ret = regmap_write(rtc->regmap, rtc->base + SPRD_RTC_INT_CLR,
drivers/rtc/rtc-sc27xx.c
444
ret = sprd_rtc_set_secs(rtc, SPRD_RTC_ALARM, secs);
drivers/rtc/rtc-sc27xx.c
449
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
450
rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
457
ret = sprd_rtc_lock_alarm(rtc, false);
drivers/rtc/rtc-sc27xx.c
459
regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
460
rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
467
ret = sprd_rtc_lock_alarm(rtc, true);
drivers/rtc/rtc-sc27xx.c
475
struct sprd_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sc27xx.c
479
ret = regmap_update_bits(rtc->regmap,
drivers/rtc/rtc-sc27xx.c
480
rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
486
ret = sprd_rtc_lock_alarm(rtc, false);
drivers/rtc/rtc-sc27xx.c
488
regmap_update_bits(rtc->regmap, rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
491
ret = sprd_rtc_lock_alarm(rtc, true);
drivers/rtc/rtc-sc27xx.c
507
struct sprd_rtc *rtc = dev_id;
drivers/rtc/rtc-sc27xx.c
510
ret = sprd_rtc_clear_alarm_ints(rtc);
drivers/rtc/rtc-sc27xx.c
514
rtc_update_irq(rtc->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-sc27xx.c
518
static int sprd_rtc_check_power_down(struct sprd_rtc *rtc)
drivers/rtc/rtc-sc27xx.c
523
ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_PWR_STS, &val);
drivers/rtc/rtc-sc27xx.c
532
rtc->valid = val != SPRD_RTC_POWER_RESET_VALUE;
drivers/rtc/rtc-sc27xx.c
536
static int sprd_rtc_check_alarm_int(struct sprd_rtc *rtc)
drivers/rtc/rtc-sc27xx.c
541
ret = regmap_read(rtc->regmap, rtc->base + SPRD_RTC_SPG_VALUE, &val);
drivers/rtc/rtc-sc27xx.c
558
return regmap_update_bits(rtc->regmap, rtc->base + SPRD_RTC_INT_EN,
drivers/rtc/rtc-sc27xx.c
565
struct sprd_rtc *rtc;
drivers/rtc/rtc-sc27xx.c
568
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-sc27xx.c
569
if (!rtc)
drivers/rtc/rtc-sc27xx.c
572
rtc->regmap = dev_get_regmap(pdev->dev.parent, NULL);
drivers/rtc/rtc-sc27xx.c
573
if (!rtc->regmap)
drivers/rtc/rtc-sc27xx.c
576
ret = of_property_read_u32(node, "reg", &rtc->base);
drivers/rtc/rtc-sc27xx.c
582
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-sc27xx.c
583
if (rtc->irq < 0)
drivers/rtc/rtc-sc27xx.c
584
return rtc->irq;
drivers/rtc/rtc-sc27xx.c
586
rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-sc27xx.c
587
if (IS_ERR(rtc->rtc))
drivers/rtc/rtc-sc27xx.c
588
return PTR_ERR(rtc->rtc);
drivers/rtc/rtc-sc27xx.c
590
rtc->dev = &pdev->dev;
drivers/rtc/rtc-sc27xx.c
591
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-sc27xx.c
594
ret = sprd_rtc_check_alarm_int(rtc);
drivers/rtc/rtc-sc27xx.c
601
ret = sprd_rtc_check_power_down(rtc);
drivers/rtc/rtc-sc27xx.c
607
ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
drivers/rtc/rtc-sc27xx.c
610
pdev->name, rtc);
drivers/rtc/rtc-sc27xx.c
618
rtc->rtc->ops = &sprd_rtc_ops;
drivers/rtc/rtc-sc27xx.c
619
rtc->rtc->range_min = 0;
drivers/rtc/rtc-sc27xx.c
620
rtc->rtc->range_max = 5662310399LL;
drivers/rtc/rtc-sc27xx.c
621
ret = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-sd2405al.c
171
struct rtc_device *rtc;
drivers/rtc/rtc-sd2405al.c
187
rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-sd2405al.c
188
if (IS_ERR(rtc))
drivers/rtc/rtc-sd2405al.c
189
return PTR_ERR(rtc);
drivers/rtc/rtc-sd2405al.c
191
rtc->ops = &sd2405al_rtc_ops;
drivers/rtc/rtc-sd2405al.c
192
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-sd2405al.c
193
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-sd2405al.c
197
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-sd3078.c
158
struct rtc_device *rtc;
drivers/rtc/rtc-sd3078.c
171
rtc = devm_rtc_allocate_device(&client->dev);
drivers/rtc/rtc-sd3078.c
172
if (IS_ERR(rtc))
drivers/rtc/rtc-sd3078.c
173
return PTR_ERR(rtc);
drivers/rtc/rtc-sd3078.c
175
rtc->ops = &sd3078_rtc_ops;
drivers/rtc/rtc-sd3078.c
176
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-sd3078.c
177
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-sd3078.c
179
ret = devm_rtc_register_device(rtc);
drivers/rtc/rtc-sh.c
102
spin_lock(&rtc->lock);
drivers/rtc/rtc-sh.c
104
tmp = readb(rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
107
writeb(tmp, rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
110
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-sh.c
112
spin_unlock(&rtc->lock);
drivers/rtc/rtc-sh.c
119
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
122
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
124
tmp = readb(rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
131
writeb(tmp, rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
133
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
140
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
143
if (!(readb(rtc->regbase + RCR2) & RCR2_RTCEN))
drivers/rtc/rtc-sh.c
149
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
151
tmp = readb(rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
154
writeb(tmp, rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
156
sec128 = readb(rtc->regbase + R64CNT);
drivers/rtc/rtc-sh.c
158
tm->tm_sec = bcd2bin(readb(rtc->regbase + RSECCNT));
drivers/rtc/rtc-sh.c
159
tm->tm_min = bcd2bin(readb(rtc->regbase + RMINCNT));
drivers/rtc/rtc-sh.c
160
tm->tm_hour = bcd2bin(readb(rtc->regbase + RHRCNT));
drivers/rtc/rtc-sh.c
161
tm->tm_wday = bcd2bin(readb(rtc->regbase + RWKCNT));
drivers/rtc/rtc-sh.c
162
tm->tm_mday = bcd2bin(readb(rtc->regbase + RDAYCNT));
drivers/rtc/rtc-sh.c
163
tm->tm_mon = bcd2bin(readb(rtc->regbase + RMONCNT)) - 1;
drivers/rtc/rtc-sh.c
165
if (rtc->capabilities & RTC_CAP_4_DIGIT_YEAR) {
drivers/rtc/rtc-sh.c
166
yr = readw(rtc->regbase + RYRCNT);
drivers/rtc/rtc-sh.c
170
yr = readb(rtc->regbase + RYRCNT);
drivers/rtc/rtc-sh.c
176
sec2 = readb(rtc->regbase + R64CNT);
drivers/rtc/rtc-sh.c
177
cf_bit = readb(rtc->regbase + RCR1) & RCR1_CF;
drivers/rtc/rtc-sh.c
179
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
196
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
200
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
203
tmp = readb(rtc->regbase + RCR2);
drivers/rtc/rtc-sh.c
206
writeb(tmp, rtc->regbase + RCR2);
drivers/rtc/rtc-sh.c
208
writeb(bin2bcd(tm->tm_sec), rtc->regbase + RSECCNT);
drivers/rtc/rtc-sh.c
209
writeb(bin2bcd(tm->tm_min), rtc->regbase + RMINCNT);
drivers/rtc/rtc-sh.c
210
writeb(bin2bcd(tm->tm_hour), rtc->regbase + RHRCNT);
drivers/rtc/rtc-sh.c
211
writeb(bin2bcd(tm->tm_wday), rtc->regbase + RWKCNT);
drivers/rtc/rtc-sh.c
212
writeb(bin2bcd(tm->tm_mday), rtc->regbase + RDAYCNT);
drivers/rtc/rtc-sh.c
213
writeb(bin2bcd(tm->tm_mon + 1), rtc->regbase + RMONCNT);
drivers/rtc/rtc-sh.c
215
if (rtc->capabilities & RTC_CAP_4_DIGIT_YEAR) {
drivers/rtc/rtc-sh.c
218
writew(year, rtc->regbase + RYRCNT);
drivers/rtc/rtc-sh.c
221
writeb(bin2bcd(year), rtc->regbase + RYRCNT);
drivers/rtc/rtc-sh.c
225
tmp = readb(rtc->regbase + RCR2);
drivers/rtc/rtc-sh.c
228
writeb(tmp, rtc->regbase + RCR2);
drivers/rtc/rtc-sh.c
230
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
235
static inline int sh_rtc_read_alarm_value(struct sh_rtc *rtc, int reg_off)
drivers/rtc/rtc-sh.c
240
byte = readb(rtc->regbase + reg_off);
drivers/rtc/rtc-sh.c
251
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
254
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
256
tm->tm_sec = sh_rtc_read_alarm_value(rtc, RSECAR);
drivers/rtc/rtc-sh.c
257
tm->tm_min = sh_rtc_read_alarm_value(rtc, RMINAR);
drivers/rtc/rtc-sh.c
258
tm->tm_hour = sh_rtc_read_alarm_value(rtc, RHRAR);
drivers/rtc/rtc-sh.c
259
tm->tm_wday = sh_rtc_read_alarm_value(rtc, RWKAR);
drivers/rtc/rtc-sh.c
260
tm->tm_mday = sh_rtc_read_alarm_value(rtc, RDAYAR);
drivers/rtc/rtc-sh.c
261
tm->tm_mon = sh_rtc_read_alarm_value(rtc, RMONAR);
drivers/rtc/rtc-sh.c
265
wkalrm->enabled = (readb(rtc->regbase + RCR1) & RCR1_AIE) ? 1 : 0;
drivers/rtc/rtc-sh.c
267
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
272
static inline void sh_rtc_write_alarm_value(struct sh_rtc *rtc,
drivers/rtc/rtc-sh.c
277
writeb(0, rtc->regbase + reg_off);
drivers/rtc/rtc-sh.c
279
writeb(bin2bcd(value) | AR_ENB, rtc->regbase + reg_off);
drivers/rtc/rtc-sh.c
284
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
289
spin_lock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
292
rcr1 = readb(rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
294
writeb(rcr1, rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
297
sh_rtc_write_alarm_value(rtc, tm->tm_sec, RSECAR);
drivers/rtc/rtc-sh.c
298
sh_rtc_write_alarm_value(rtc, tm->tm_min, RMINAR);
drivers/rtc/rtc-sh.c
299
sh_rtc_write_alarm_value(rtc, tm->tm_hour, RHRAR);
drivers/rtc/rtc-sh.c
300
sh_rtc_write_alarm_value(rtc, tm->tm_wday, RWKAR);
drivers/rtc/rtc-sh.c
301
sh_rtc_write_alarm_value(rtc, tm->tm_mday, RDAYAR);
drivers/rtc/rtc-sh.c
305
sh_rtc_write_alarm_value(rtc, mon, RMONAR);
drivers/rtc/rtc-sh.c
309
writeb(rcr1, rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
312
spin_unlock_irq(&rtc->lock);
drivers/rtc/rtc-sh.c
327
struct sh_rtc *rtc;
drivers/rtc/rtc-sh.c
334
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-sh.c
335
if (unlikely(!rtc))
drivers/rtc/rtc-sh.c
338
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-sh.c
347
rtc->alarm_irq = platform_get_irq(pdev, 2);
drivers/rtc/rtc-sh.c
349
rtc->alarm_irq = ret;
drivers/rtc/rtc-sh.c
364
rtc->regbase = devm_ioremap(&pdev->dev, req_res->start, regsize);
drivers/rtc/rtc-sh.c
365
if (!rtc->regbase)
drivers/rtc/rtc-sh.c
379
rtc->clk = devm_clk_get(&pdev->dev, clk_name);
drivers/rtc/rtc-sh.c
380
if (IS_ERR(rtc->clk)) {
drivers/rtc/rtc-sh.c
387
rtc->clk = NULL;
drivers/rtc/rtc-sh.c
390
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-sh.c
391
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-sh.c
392
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-sh.c
394
clk_enable(rtc->clk);
drivers/rtc/rtc-sh.c
396
rtc->capabilities = RTC_DEF_CAPABILITIES;
drivers/rtc/rtc-sh.c
407
rtc->capabilities |= pinfo->capabilities;
drivers/rtc/rtc-sh.c
411
ret = devm_request_irq(&pdev->dev, rtc->alarm_irq, sh_rtc_alarm, 0, "sh-rtc", rtc);
drivers/rtc/rtc-sh.c
414
ret, rtc->alarm_irq);
drivers/rtc/rtc-sh.c
418
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-sh.c
421
tmp = readb(rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
423
writeb(tmp, rtc->regbase + RCR1);
drivers/rtc/rtc-sh.c
425
rtc->rtc_dev->ops = &sh_rtc_ops;
drivers/rtc/rtc-sh.c
427
if (rtc->capabilities & RTC_CAP_4_DIGIT_YEAR) {
drivers/rtc/rtc-sh.c
428
rtc->rtc_dev->range_min = RTC_TIMESTAMP_BEGIN_1900;
drivers/rtc/rtc-sh.c
429
rtc->rtc_dev->range_max = RTC_TIMESTAMP_END_9999;
drivers/rtc/rtc-sh.c
431
rtc->rtc_dev->range_min = mktime64(1999, 1, 1, 0, 0, 0);
drivers/rtc/rtc-sh.c
432
rtc->rtc_dev->range_max = mktime64(2098, 12, 31, 23, 59, 59);
drivers/rtc/rtc-sh.c
435
ret = devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-sh.c
443
clk_disable(rtc->clk);
drivers/rtc/rtc-sh.c
450
struct sh_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-sh.c
454
clk_disable(rtc->clk);
drivers/rtc/rtc-sh.c
459
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
462
irq_set_irq_wake(rtc->alarm_irq, 1);
drivers/rtc/rtc-sh.c
469
struct sh_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-sh.c
472
irq_set_irq_wake(rtc->alarm_irq, 0);
drivers/rtc/rtc-sh.c
99
struct sh_rtc *rtc = dev_id;
drivers/rtc/rtc-snvs.c
101
dev_err(&data->rtc->dev, "Timeout trying to get valid LPSRT Counter read\n");
drivers/rtc/rtc-snvs.c
128
dev_err(&data->rtc->dev, "Timeout waiting for LPSRT Counter to change\n");
drivers/rtc/rtc-snvs.c
295
rtc_update_irq(data->rtc, 1, events);
drivers/rtc/rtc-snvs.c
327
data->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-snvs.c
328
if (IS_ERR(data->rtc))
drivers/rtc/rtc-snvs.c
329
return PTR_ERR(data->rtc);
drivers/rtc/rtc-snvs.c
399
data->rtc->ops = &snvs_rtc_ops;
drivers/rtc/rtc-snvs.c
400
data->rtc->range_max = U32_MAX;
drivers/rtc/rtc-snvs.c
402
return devm_rtc_register_device(data->rtc);
drivers/rtc/rtc-snvs.c
44
struct rtc_device *rtc;
drivers/rtc/rtc-snvs.c
81
dev_err(&data->rtc->dev, "Timeout trying to get valid LPSRT Counter read\n");
drivers/rtc/rtc-spacemit-p1.c
128
struct rtc_device *rtc;
drivers/rtc/rtc-spacemit-p1.c
140
rtc = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-spacemit-p1.c
141
if (IS_ERR(rtc))
drivers/rtc/rtc-spacemit-p1.c
142
return dev_err_probe(dev, PTR_ERR(rtc),
drivers/rtc/rtc-spacemit-p1.c
144
p1->rtc = rtc;
drivers/rtc/rtc-spacemit-p1.c
146
rtc->ops = &p1_rtc_class_ops;
drivers/rtc/rtc-spacemit-p1.c
147
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-spacemit-p1.c
148
rtc->range_max = RTC_TIMESTAMP_END_2063;
drivers/rtc/rtc-spacemit-p1.c
150
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/rtc-spacemit-p1.c
151
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/rtc/rtc-spacemit-p1.c
153
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-spacemit-p1.c
42
struct rtc_device *rtc;
drivers/rtc/rtc-spear.c
163
rtc_update_irq(config->rtc, 1, events);
drivers/rtc/rtc-spear.c
357
config->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-spear.c
358
if (IS_ERR(config->rtc))
drivers/rtc/rtc-spear.c
359
return PTR_ERR(config->rtc);
drivers/rtc/rtc-spear.c
389
config->rtc->ops = &spear_rtc_ops;
drivers/rtc/rtc-spear.c
390
config->rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
drivers/rtc/rtc-spear.c
391
config->rtc->range_max = RTC_TIMESTAMP_END_9999;
drivers/rtc/rtc-spear.c
393
status = devm_rtc_register_device(config->rtc);
drivers/rtc/rtc-spear.c
78
struct rtc_device *rtc;
drivers/rtc/rtc-st-lpc.c
104
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
110
lpt = (unsigned long long)secs * rtc->clkrate;
drivers/rtc/rtc-st-lpc.c
112
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
114
writel_relaxed(lpt >> 32, rtc->ioaddr + LPC_LPT_MSB_OFF);
drivers/rtc/rtc-st-lpc.c
115
writel_relaxed(lpt, rtc->ioaddr + LPC_LPT_LSB_OFF);
drivers/rtc/rtc-st-lpc.c
116
writel_relaxed(1, rtc->ioaddr + LPC_LPT_START_OFF);
drivers/rtc/rtc-st-lpc.c
118
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
125
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
128
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
130
memcpy(wkalrm, &rtc->alarm, sizeof(struct rtc_wkalrm));
drivers/rtc/rtc-st-lpc.c
132
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
139
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
141
if (enabled && !rtc->irq_enabled) {
drivers/rtc/rtc-st-lpc.c
142
enable_irq(rtc->irq);
drivers/rtc/rtc-st-lpc.c
143
rtc->irq_enabled = true;
drivers/rtc/rtc-st-lpc.c
144
} else if (!enabled && rtc->irq_enabled) {
drivers/rtc/rtc-st-lpc.c
145
disable_irq(rtc->irq);
drivers/rtc/rtc-st-lpc.c
146
rtc->irq_enabled = false;
drivers/rtc/rtc-st-lpc.c
154
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
164
memcpy(&rtc->alarm, t, sizeof(struct rtc_wkalrm));
drivers/rtc/rtc-st-lpc.c
168
lpa = (unsigned long long)alarm_secs * rtc->clkrate;
drivers/rtc/rtc-st-lpc.c
170
st_rtc_set_hw_alarm(rtc, lpa >> 32, lpa);
drivers/rtc/rtc-st-lpc.c
187
struct st_rtc *rtc;
drivers/rtc/rtc-st-lpc.c
201
rtc = devm_kzalloc(&pdev->dev, sizeof(struct st_rtc), GFP_KERNEL);
drivers/rtc/rtc-st-lpc.c
202
if (!rtc)
drivers/rtc/rtc-st-lpc.c
205
rtc->rtc_dev = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-st-lpc.c
206
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-st-lpc.c
207
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-st-lpc.c
209
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-st-lpc.c
211
rtc->ioaddr = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-st-lpc.c
212
if (IS_ERR(rtc->ioaddr))
drivers/rtc/rtc-st-lpc.c
213
return PTR_ERR(rtc->ioaddr);
drivers/rtc/rtc-st-lpc.c
215
rtc->irq = irq_of_parse_and_map(np, 0);
drivers/rtc/rtc-st-lpc.c
216
if (!rtc->irq) {
drivers/rtc/rtc-st-lpc.c
221
ret = devm_request_irq(&pdev->dev, rtc->irq, st_rtc_handler,
drivers/rtc/rtc-st-lpc.c
222
IRQF_NO_AUTOEN, pdev->name, rtc);
drivers/rtc/rtc-st-lpc.c
224
dev_err(&pdev->dev, "Failed to request irq %i\n", rtc->irq);
drivers/rtc/rtc-st-lpc.c
228
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-st-lpc.c
230
rtc->clk = devm_clk_get_enabled(&pdev->dev, NULL);
drivers/rtc/rtc-st-lpc.c
231
if (IS_ERR(rtc->clk))
drivers/rtc/rtc-st-lpc.c
232
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->clk),
drivers/rtc/rtc-st-lpc.c
235
rtc->clkrate = clk_get_rate(rtc->clk);
drivers/rtc/rtc-st-lpc.c
236
if (!rtc->clkrate) {
drivers/rtc/rtc-st-lpc.c
243
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-st-lpc.c
245
rtc->rtc_dev->ops = &st_rtc_ops;
drivers/rtc/rtc-st-lpc.c
246
rtc->rtc_dev->range_max = U64_MAX;
drivers/rtc/rtc-st-lpc.c
247
do_div(rtc->rtc_dev->range_max, rtc->clkrate);
drivers/rtc/rtc-st-lpc.c
249
ret = devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-st-lpc.c
259
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
264
writel_relaxed(1, rtc->ioaddr + LPC_WDT_OFF);
drivers/rtc/rtc-st-lpc.c
265
writel_relaxed(0, rtc->ioaddr + LPC_LPA_START_OFF);
drivers/rtc/rtc-st-lpc.c
266
writel_relaxed(0, rtc->ioaddr + LPC_WDT_OFF);
drivers/rtc/rtc-st-lpc.c
273
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
275
rtc_alarm_irq_enable(rtc->rtc_dev, 0);
drivers/rtc/rtc-st-lpc.c
281
memset(&rtc->alarm, 0, sizeof(struct rtc_wkalrm));
drivers/rtc/rtc-st-lpc.c
283
writel_relaxed(0, rtc->ioaddr + LPC_LPA_MSB_OFF);
drivers/rtc/rtc-st-lpc.c
284
writel_relaxed(0, rtc->ioaddr + LPC_LPA_LSB_OFF);
drivers/rtc/rtc-st-lpc.c
285
writel_relaxed(1, rtc->ioaddr + LPC_WDT_OFF);
drivers/rtc/rtc-st-lpc.c
286
writel_relaxed(1, rtc->ioaddr + LPC_LPA_START_OFF);
drivers/rtc/rtc-st-lpc.c
287
writel_relaxed(0, rtc->ioaddr + LPC_WDT_OFF);
drivers/rtc/rtc-st-lpc.c
52
static void st_rtc_set_hw_alarm(struct st_rtc *rtc,
drivers/rtc/rtc-st-lpc.c
57
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
59
writel_relaxed(1, rtc->ioaddr + LPC_WDT_OFF);
drivers/rtc/rtc-st-lpc.c
61
writel_relaxed(msb, rtc->ioaddr + LPC_LPA_MSB_OFF);
drivers/rtc/rtc-st-lpc.c
62
writel_relaxed(lsb, rtc->ioaddr + LPC_LPA_LSB_OFF);
drivers/rtc/rtc-st-lpc.c
63
writel_relaxed(1, rtc->ioaddr + LPC_LPA_START_OFF);
drivers/rtc/rtc-st-lpc.c
65
writel_relaxed(0, rtc->ioaddr + LPC_WDT_OFF);
drivers/rtc/rtc-st-lpc.c
67
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
72
struct st_rtc *rtc = (struct st_rtc *)data;
drivers/rtc/rtc-st-lpc.c
74
rtc_update_irq(rtc->rtc_dev, 1, RTC_AF);
drivers/rtc/rtc-st-lpc.c
81
struct st_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-st-lpc.c
86
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
89
lpt_msb = readl_relaxed(rtc->ioaddr + LPC_LPT_MSB_OFF);
drivers/rtc/rtc-st-lpc.c
90
lpt_lsb = readl_relaxed(rtc->ioaddr + LPC_LPT_LSB_OFF);
drivers/rtc/rtc-st-lpc.c
91
} while (readl_relaxed(rtc->ioaddr + LPC_LPT_MSB_OFF) != lpt_msb);
drivers/rtc/rtc-st-lpc.c
93
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-st-lpc.c
96
do_div(lpt, rtc->clkrate);
drivers/rtc/rtc-starfire.c
40
struct rtc_device *rtc;
drivers/rtc/rtc-starfire.c
42
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-starfire.c
43
if (IS_ERR(rtc))
drivers/rtc/rtc-starfire.c
44
return PTR_ERR(rtc);
drivers/rtc/rtc-starfire.c
46
rtc->ops = &starfire_rtc_ops;
drivers/rtc/rtc-starfire.c
47
rtc->range_max = U32_MAX;
drivers/rtc/rtc-starfire.c
49
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-starfire.c
51
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-stk17ta8.c
204
rtc_update_irq(pdata->rtc, 1, events);
drivers/rtc/rtc-stk17ta8.c
309
pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-stk17ta8.c
310
if (IS_ERR(pdata->rtc))
drivers/rtc/rtc-stk17ta8.c
311
return PTR_ERR(pdata->rtc);
drivers/rtc/rtc-stk17ta8.c
313
pdata->rtc->ops = &stk17ta8_rtc_ops;
drivers/rtc/rtc-stk17ta8.c
316
ret = devm_rtc_nvmem_register(pdata->rtc, &nvmem_cfg);
drivers/rtc/rtc-stk17ta8.c
320
return devm_rtc_register_device(pdata->rtc);
drivers/rtc/rtc-stk17ta8.c
60
struct rtc_device *rtc;
drivers/rtc/rtc-stm32.c
1018
cr = readl_relaxed(rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
1020
prer = readl_relaxed(rtc->base + regs->prer);
drivers/rtc/rtc-stm32.c
1032
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
1034
ret = stm32_rtc_enter_init_mode(rtc);
drivers/rtc/rtc-stm32.c
1041
writel_relaxed(pred_s, rtc->base + regs->prer);
drivers/rtc/rtc-stm32.c
1042
writel_relaxed(pred_a | pred_s, rtc->base + regs->prer);
drivers/rtc/rtc-stm32.c
1046
writel_relaxed(cr, rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
1048
stm32_rtc_exit_init_mode(rtc);
drivers/rtc/rtc-stm32.c
1050
ret = stm32_rtc_wait_sync(rtc);
drivers/rtc/rtc-stm32.c
1052
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
1059
struct stm32_rtc *rtc;
drivers/rtc/rtc-stm32.c
1064
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-stm32.c
1065
if (!rtc)
drivers/rtc/rtc-stm32.c
1068
rtc->base = devm_platform_ioremap_resource(pdev, 0);
drivers/rtc/rtc-stm32.c
1069
if (IS_ERR(rtc->base))
drivers/rtc/rtc-stm32.c
1070
return PTR_ERR(rtc->base);
drivers/rtc/rtc-stm32.c
1072
rtc->data = (struct stm32_rtc_data *)
drivers/rtc/rtc-stm32.c
1074
regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
1076
if (rtc->data->need_dbp) {
drivers/rtc/rtc-stm32.c
1079
rtc->dbp = syscon_regmap_lookup_by_phandle_args(pdev->dev.of_node,
drivers/rtc/rtc-stm32.c
1082
if (IS_ERR(rtc->dbp)) {
drivers/rtc/rtc-stm32.c
1084
return PTR_ERR(rtc->dbp);
drivers/rtc/rtc-stm32.c
1087
rtc->dbp_reg = args[0];
drivers/rtc/rtc-stm32.c
1088
rtc->dbp_mask = args[1];
drivers/rtc/rtc-stm32.c
1091
if (!rtc->data->has_pclk) {
drivers/rtc/rtc-stm32.c
1092
rtc->pclk = NULL;
drivers/rtc/rtc-stm32.c
1093
rtc->rtc_ck = devm_clk_get(&pdev->dev, NULL);
drivers/rtc/rtc-stm32.c
1095
rtc->pclk = devm_clk_get(&pdev->dev, "pclk");
drivers/rtc/rtc-stm32.c
1096
if (IS_ERR(rtc->pclk))
drivers/rtc/rtc-stm32.c
1097
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->pclk), "no pclk clock");
drivers/rtc/rtc-stm32.c
1099
rtc->rtc_ck = devm_clk_get(&pdev->dev, "rtc_ck");
drivers/rtc/rtc-stm32.c
1101
if (IS_ERR(rtc->rtc_ck))
drivers/rtc/rtc-stm32.c
1102
return dev_err_probe(&pdev->dev, PTR_ERR(rtc->rtc_ck), "no rtc_ck clock");
drivers/rtc/rtc-stm32.c
1104
if (rtc->data->has_pclk) {
drivers/rtc/rtc-stm32.c
1105
ret = clk_prepare_enable(rtc->pclk);
drivers/rtc/rtc-stm32.c
1110
ret = clk_prepare_enable(rtc->rtc_ck);
drivers/rtc/rtc-stm32.c
1114
if (rtc->data->need_dbp)
drivers/rtc/rtc-stm32.c
1115
regmap_update_bits(rtc->dbp, rtc->dbp_reg,
drivers/rtc/rtc-stm32.c
1116
rtc->dbp_mask, rtc->dbp_mask);
drivers/rtc/rtc-stm32.c
1118
if (rtc->data->rif_protected) {
drivers/rtc/rtc-stm32.c
1119
ret = stm32_rtc_check_rif(rtc, STM32_RTC_RES_INIT);
drivers/rtc/rtc-stm32.c
1121
ret = stm32_rtc_check_rif(rtc, STM32_RTC_RES_ALRA);
drivers/rtc/rtc-stm32.c
1136
ret = stm32_rtc_init(pdev, rtc);
drivers/rtc/rtc-stm32.c
1140
rtc->irq_alarm = platform_get_irq(pdev, 0);
drivers/rtc/rtc-stm32.c
1141
if (rtc->irq_alarm <= 0) {
drivers/rtc/rtc-stm32.c
1142
ret = rtc->irq_alarm;
drivers/rtc/rtc-stm32.c
1150
ret = devm_pm_set_wake_irq(&pdev->dev, rtc->irq_alarm);
drivers/rtc/rtc-stm32.c
1154
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-stm32.c
1156
rtc->rtc_dev = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-stm32.c
1158
if (IS_ERR(rtc->rtc_dev)) {
drivers/rtc/rtc-stm32.c
1159
ret = PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-stm32.c
1166
ret = devm_request_threaded_irq(&pdev->dev, rtc->irq_alarm, NULL,
drivers/rtc/rtc-stm32.c
1168
pdev->name, rtc);
drivers/rtc/rtc-stm32.c
1171
rtc->irq_alarm);
drivers/rtc/rtc-stm32.c
1175
stm32_rtc_clean_outs(rtc);
drivers/rtc/rtc-stm32.c
1177
ret = devm_pinctrl_register_and_init(&pdev->dev, &stm32_rtc_pdesc, rtc, &pctl);
drivers/rtc/rtc-stm32.c
1189
if (!(readl_relaxed(rtc->base + regs->isr) & STM32_RTC_ISR_INITS))
drivers/rtc/rtc-stm32.c
1193
u32 ver = readl_relaxed(rtc->base + regs->verr);
drivers/rtc/rtc-stm32.c
1203
clk_disable_unprepare(rtc->rtc_ck);
drivers/rtc/rtc-stm32.c
1205
if (rtc->data->has_pclk)
drivers/rtc/rtc-stm32.c
1206
clk_disable_unprepare(rtc->pclk);
drivers/rtc/rtc-stm32.c
1208
if (rtc->data->need_dbp)
drivers/rtc/rtc-stm32.c
1209
regmap_update_bits(rtc->dbp, rtc->dbp_reg, rtc->dbp_mask, 0);
drivers/rtc/rtc-stm32.c
1216
struct stm32_rtc *rtc = platform_get_drvdata(pdev);
drivers/rtc/rtc-stm32.c
1217
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
1220
if (!IS_ERR_OR_NULL(rtc->clk_lsco))
drivers/rtc/rtc-stm32.c
1221
clk_unregister_gate(rtc->clk_lsco);
drivers/rtc/rtc-stm32.c
1224
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
1225
cr = readl_relaxed(rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
1227
writel_relaxed(cr, rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
1228
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
1230
clk_disable_unprepare(rtc->rtc_ck);
drivers/rtc/rtc-stm32.c
1231
if (rtc->data->has_pclk)
drivers/rtc/rtc-stm32.c
1232
clk_disable_unprepare(rtc->pclk);
drivers/rtc/rtc-stm32.c
1235
if (rtc->data->need_dbp)
drivers/rtc/rtc-stm32.c
1236
regmap_update_bits(rtc->dbp, rtc->dbp_reg, rtc->dbp_mask, 0);
drivers/rtc/rtc-stm32.c
1241
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
1243
if (rtc->data->has_pclk)
drivers/rtc/rtc-stm32.c
1244
clk_disable_unprepare(rtc->pclk);
drivers/rtc/rtc-stm32.c
1251
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
1254
if (rtc->data->has_pclk) {
drivers/rtc/rtc-stm32.c
1255
ret = clk_prepare_enable(rtc->pclk);
drivers/rtc/rtc-stm32.c
1260
ret = stm32_rtc_wait_sync(rtc);
drivers/rtc/rtc-stm32.c
1262
if (rtc->data->has_pclk)
drivers/rtc/rtc-stm32.c
1263
clk_disable_unprepare(rtc->pclk);
drivers/rtc/rtc-stm32.c
157
void (*clear_events)(struct stm32_rtc *rtc, unsigned int flags);
drivers/rtc/rtc-stm32.c
187
static void stm32_rtc_wpr_unlock(struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
189
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
191
writel_relaxed(RTC_WPR_1ST_KEY, rtc->base + regs->wpr);
drivers/rtc/rtc-stm32.c
192
writel_relaxed(RTC_WPR_2ND_KEY, rtc->base + regs->wpr);
drivers/rtc/rtc-stm32.c
195
static void stm32_rtc_wpr_lock(struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
197
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
199
writel_relaxed(RTC_WPR_WRONG_KEY, rtc->base + regs->wpr);
drivers/rtc/rtc-stm32.c
253
struct stm32_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
drivers/rtc/rtc-stm32.c
254
struct stm32_rtc_registers regs = rtc->data->regs;
drivers/rtc/rtc-stm32.c
255
unsigned int cr = readl_relaxed(rtc->base + regs.cr);
drivers/rtc/rtc-stm32.c
256
unsigned int cfgr = readl_relaxed(rtc->base + regs.cfgr);
drivers/rtc/rtc-stm32.c
258
if (!rtc->data->has_alarm_out)
drivers/rtc/rtc-stm32.c
284
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
285
writel_relaxed(cr, rtc->base + regs.cr);
drivers/rtc/rtc-stm32.c
286
writel_relaxed(cfgr, rtc->base + regs.cfgr);
drivers/rtc/rtc-stm32.c
287
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
294
struct stm32_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
drivers/rtc/rtc-stm32.c
295
struct stm32_rtc_registers regs = rtc->data->regs;
drivers/rtc/rtc-stm32.c
296
unsigned int cr = readl_relaxed(rtc->base + regs.cr);
drivers/rtc/rtc-stm32.c
297
unsigned int cfgr = readl_relaxed(rtc->base + regs.cfgr);
drivers/rtc/rtc-stm32.c
318
if (clk_get_rate(rtc->rtc_ck) != 32768)
drivers/rtc/rtc-stm32.c
326
struct stm32_rtc *rtc = pinctrl_dev_get_drvdata(pctldev);
drivers/rtc/rtc-stm32.c
327
struct stm32_rtc_registers regs = rtc->data->regs;
drivers/rtc/rtc-stm32.c
328
struct device *dev = rtc->rtc_dev->dev.parent;
drivers/rtc/rtc-stm32.c
332
if (!rtc->data->has_lsco)
drivers/rtc/rtc-stm32.c
341
rtc->clk_lsco = clk_register_gate(dev, "rtc_lsco", __clk_get_name(rtc->rtc_ck),
drivers/rtc/rtc-stm32.c
343
rtc->base + regs.cfgr, lscoen, 0, NULL);
drivers/rtc/rtc-stm32.c
344
if (IS_ERR(rtc->clk_lsco))
drivers/rtc/rtc-stm32.c
345
return PTR_ERR(rtc->clk_lsco);
drivers/rtc/rtc-stm32.c
347
of_clk_add_provider(dev->of_node, of_clk_src_simple_get, rtc->clk_lsco);
drivers/rtc/rtc-stm32.c
405
static int stm32_rtc_enter_init_mode(struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
407
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
408
unsigned int isr = readl_relaxed(rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
412
writel_relaxed(isr, rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
420
return readl_relaxed_poll_timeout_atomic(rtc->base + regs->isr, isr,
drivers/rtc/rtc-stm32.c
428
static void stm32_rtc_exit_init_mode(struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
430
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
431
unsigned int isr = readl_relaxed(rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
434
writel_relaxed(isr, rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
437
static int stm32_rtc_wait_sync(struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
439
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
440
unsigned int isr = readl_relaxed(rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
443
writel_relaxed(isr, rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
449
return readl_relaxed_poll_timeout_atomic(rtc->base + regs->isr,
drivers/rtc/rtc-stm32.c
455
static void stm32_rtc_clear_event_flags(struct stm32_rtc *rtc,
drivers/rtc/rtc-stm32.c
458
rtc->data->clear_events(rtc, flags);
drivers/rtc/rtc-stm32.c
463
struct stm32_rtc *rtc = (struct stm32_rtc *)dev_id;
drivers/rtc/rtc-stm32.c
464
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
465
const struct stm32_rtc_events *evts = &rtc->data->events;
drivers/rtc/rtc-stm32.c
468
rtc_lock(rtc->rtc_dev);
drivers/rtc/rtc-stm32.c
470
status = readl_relaxed(rtc->base + regs->sr);
drivers/rtc/rtc-stm32.c
471
cr = readl_relaxed(rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
476
dev_dbg(&rtc->rtc_dev->dev, "Alarm occurred\n");
drivers/rtc/rtc-stm32.c
479
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-stm32.c
482
stm32_rtc_clear_event_flags(rtc, evts->alra);
drivers/rtc/rtc-stm32.c
485
rtc_unlock(rtc->rtc_dev);
drivers/rtc/rtc-stm32.c
528
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
529
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
533
tr = readl_relaxed(rtc->base + regs->tr);
drivers/rtc/rtc-stm32.c
534
dr = readl_relaxed(rtc->base + regs->dr);
drivers/rtc/rtc-stm32.c
554
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
555
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
572
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
574
ret = stm32_rtc_enter_init_mode(rtc);
drivers/rtc/rtc-stm32.c
580
writel_relaxed(tr, rtc->base + regs->tr);
drivers/rtc/rtc-stm32.c
581
writel_relaxed(dr, rtc->base + regs->dr);
drivers/rtc/rtc-stm32.c
583
stm32_rtc_exit_init_mode(rtc);
drivers/rtc/rtc-stm32.c
585
ret = stm32_rtc_wait_sync(rtc);
drivers/rtc/rtc-stm32.c
587
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
594
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
595
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
596
const struct stm32_rtc_events *evts = &rtc->data->events;
drivers/rtc/rtc-stm32.c
600
alrmar = readl_relaxed(rtc->base + regs->alrmar);
drivers/rtc/rtc-stm32.c
601
cr = readl_relaxed(rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
602
status = readl_relaxed(rtc->base + regs->sr);
drivers/rtc/rtc-stm32.c
662
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
663
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
664
const struct stm32_rtc_events *evts = &rtc->data->events;
drivers/rtc/rtc-stm32.c
667
cr = readl_relaxed(rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
669
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
676
writel_relaxed(cr, rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
679
stm32_rtc_clear_event_flags(rtc, evts->alra);
drivers/rtc/rtc-stm32.c
681
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
726
struct stm32_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-stm32.c
727
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
756
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
759
cr = readl_relaxed(rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
761
writel_relaxed(cr, rtc->base + regs->cr);
drivers/rtc/rtc-stm32.c
767
ret = readl_relaxed_poll_timeout_atomic(rtc->base + regs->isr,
drivers/rtc/rtc-stm32.c
778
writel_relaxed(alrmar, rtc->base + regs->alrmar);
drivers/rtc/rtc-stm32.c
782
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
795
static void stm32_rtc_clear_events(struct stm32_rtc *rtc,
drivers/rtc/rtc-stm32.c
798
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
801
writel_relaxed(readl_relaxed(rtc->base + regs->isr) & ~flags,
drivers/rtc/rtc-stm32.c
802
rtc->base + regs->isr);
drivers/rtc/rtc-stm32.c
857
static void stm32mp1_rtc_clear_events(struct stm32_rtc *rtc,
drivers/rtc/rtc-stm32.c
860
struct stm32_rtc_registers regs = rtc->data->regs;
drivers/rtc/rtc-stm32.c
863
writel_relaxed(flags, rtc->base + regs.scr);
drivers/rtc/rtc-stm32.c
927
static void stm32_rtc_clean_outs(struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
929
struct stm32_rtc_registers regs = rtc->data->regs;
drivers/rtc/rtc-stm32.c
930
unsigned int cr = readl_relaxed(rtc->base + regs.cr);
drivers/rtc/rtc-stm32.c
938
stm32_rtc_wpr_unlock(rtc);
drivers/rtc/rtc-stm32.c
939
writel_relaxed(cr, rtc->base + regs.cr);
drivers/rtc/rtc-stm32.c
940
stm32_rtc_wpr_lock(rtc);
drivers/rtc/rtc-stm32.c
943
unsigned int cfgr = readl_relaxed(rtc->base + regs.cfgr);
drivers/rtc/rtc-stm32.c
947
writel_relaxed(cfgr, rtc->base + regs.cfgr);
drivers/rtc/rtc-stm32.c
971
struct stm32_rtc *rtc)
drivers/rtc/rtc-stm32.c
973
const struct stm32_rtc_registers *regs = &rtc->data->regs;
drivers/rtc/rtc-stm32.c
978
rate = clk_get_rate(rtc->rtc_ck);
drivers/rtc/rtc-stm32.c
989
if (rtc->data->need_accuracy) {
drivers/rtc/rtc-stmp3xxx.c
177
rtc_update_irq(rtc_data->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-stmp3xxx.c
353
rtc_data->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-stmp3xxx.c
354
if (IS_ERR(rtc_data->rtc))
drivers/rtc/rtc-stmp3xxx.c
355
return PTR_ERR(rtc_data->rtc);
drivers/rtc/rtc-stmp3xxx.c
365
rtc_data->rtc->ops = &stmp3xxx_rtc_ops;
drivers/rtc/rtc-stmp3xxx.c
366
rtc_data->rtc->range_max = U32_MAX;
drivers/rtc/rtc-stmp3xxx.c
368
err = devm_rtc_register_device(rtc_data->rtc);
drivers/rtc/rtc-stmp3xxx.c
57
struct rtc_device *rtc;
drivers/rtc/rtc-sun4v.c
79
struct rtc_device *rtc;
drivers/rtc/rtc-sun4v.c
81
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-sun4v.c
82
if (IS_ERR(rtc))
drivers/rtc/rtc-sun4v.c
83
return PTR_ERR(rtc);
drivers/rtc/rtc-sun4v.c
85
rtc->ops = &sun4v_rtc_ops;
drivers/rtc/rtc-sun4v.c
86
rtc->range_max = U64_MAX;
drivers/rtc/rtc-sun4v.c
87
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-sun4v.c
89
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-sun6i.c
145
struct rtc_device *rtc;
drivers/rtc/rtc-sun6i.c
165
struct sun6i_rtc_dev *rtc = container_of(hw, struct sun6i_rtc_dev, hw);
drivers/rtc/rtc-sun6i.c
168
val = readl(rtc->base + SUN6I_LOSC_CTRL);
drivers/rtc/rtc-sun6i.c
172
if (rtc->data->fixed_prescaler)
drivers/rtc/rtc-sun6i.c
173
parent_rate /= rtc->data->fixed_prescaler;
drivers/rtc/rtc-sun6i.c
175
if (rtc->data->has_prescaler) {
drivers/rtc/rtc-sun6i.c
176
val = readl(rtc->base + SUN6I_LOSC_CLK_PRESCAL);
drivers/rtc/rtc-sun6i.c
185
struct sun6i_rtc_dev *rtc = container_of(hw, struct sun6i_rtc_dev, hw);
drivers/rtc/rtc-sun6i.c
187
return readl(rtc->base + SUN6I_LOSC_CTRL) & SUN6I_LOSC_CTRL_EXT_OSC;
drivers/rtc/rtc-sun6i.c
192
struct sun6i_rtc_dev *rtc = container_of(hw, struct sun6i_rtc_dev, hw);
drivers/rtc/rtc-sun6i.c
199
spin_lock_irqsave(&rtc->lock, flags);
drivers/rtc/rtc-sun6i.c
200
val = readl(rtc->base + SUN6I_LOSC_CTRL);
drivers/rtc/rtc-sun6i.c
204
if (rtc->data->has_losc_en) {
drivers/rtc/rtc-sun6i.c
208
writel(val, rtc->base + SUN6I_LOSC_CTRL);
drivers/rtc/rtc-sun6i.c
209
spin_unlock_irqrestore(&rtc->lock, flags);
drivers/rtc/rtc-sun6i.c
226
struct sun6i_rtc_dev *rtc;
drivers/rtc/rtc-sun6i.c
236
rtc = kzalloc_obj(*rtc);
drivers/rtc/rtc-sun6i.c
237
if (!rtc)
drivers/rtc/rtc-sun6i.c
240
rtc->data = data;
drivers/rtc/rtc-sun6i.c
243
kfree(rtc);
drivers/rtc/rtc-sun6i.c
247
spin_lock_init(&rtc->lock);
drivers/rtc/rtc-sun6i.c
249
rtc->base = of_io_request_and_map(node, 0, of_node_full_name(node));
drivers/rtc/rtc-sun6i.c
250
if (IS_ERR(rtc->base)) {
drivers/rtc/rtc-sun6i.c
256
if (rtc->data->has_auto_swt) {
drivers/rtc/rtc-sun6i.c
259
writel(reg, rtc->base + SUN6I_LOSC_CTRL);
drivers/rtc/rtc-sun6i.c
265
if (rtc->data->has_losc_en)
drivers/rtc/rtc-sun6i.c
268
writel(reg, rtc->base + SUN6I_LOSC_CTRL);
drivers/rtc/rtc-sun6i.c
271
sun6i_rtc = rtc;
drivers/rtc/rtc-sun6i.c
276
rtc->int_osc = clk_hw_register_fixed_rate_with_accuracy(NULL,
drivers/rtc/rtc-sun6i.c
279
rtc->data->rc_osc_rate,
drivers/rtc/rtc-sun6i.c
281
if (IS_ERR(rtc->int_osc)) {
drivers/rtc/rtc-sun6i.c
286
parents[0] = clk_hw_get_name(rtc->int_osc);
drivers/rtc/rtc-sun6i.c
290
rtc->hw.init = &init;
drivers/rtc/rtc-sun6i.c
298
rtc->losc = clk_register(NULL, &rtc->hw);
drivers/rtc/rtc-sun6i.c
299
if (IS_ERR(rtc->losc)) {
drivers/rtc/rtc-sun6i.c
306
rtc->ext_losc = clk_register_gate(NULL, clkout_name, init.name,
drivers/rtc/rtc-sun6i.c
307
0, rtc->base + SUN6I_LOSC_OUT_GATING,
drivers/rtc/rtc-sun6i.c
309
&rtc->lock);
drivers/rtc/rtc-sun6i.c
310
if (IS_ERR(rtc->ext_losc)) {
drivers/rtc/rtc-sun6i.c
316
clk_data->hws[0] = &rtc->hw;
drivers/rtc/rtc-sun6i.c
317
clk_data->hws[1] = __clk_get_hw(rtc->ext_losc);
drivers/rtc/rtc-sun6i.c
318
clk_data->hws[2] = rtc->int_osc;
drivers/rtc/rtc-sun6i.c
323
clk_hw_unregister_fixed_rate(rtc->int_osc);
drivers/rtc/rtc-sun6i.c
428
rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-sun6i.c
831
chip->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-sun6i.c
832
if (IS_ERR(chip->rtc))
drivers/rtc/rtc-sun6i.c
833
return PTR_ERR(chip->rtc);
drivers/rtc/rtc-sun6i.c
835
chip->rtc->ops = &sun6i_rtc_ops;
drivers/rtc/rtc-sun6i.c
837
chip->rtc->range_max = (65536 * SECS_PER_DAY) - 1;
drivers/rtc/rtc-sun6i.c
839
chip->rtc->range_max = 2019686399LL; /* 2033-12-31 23:59:59 */
drivers/rtc/rtc-sun6i.c
841
ret = devm_rtc_register_device(chip->rtc);
drivers/rtc/rtc-sun6i.c
846
ret = devm_rtc_nvmem_register(chip->rtc, &sun6i_rtc_nvmem_cfg);
drivers/rtc/rtc-sunplus.c
160
rtc_update_irq(sp_rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-sunplus.c
275
sp_rtc->rtc = devm_rtc_allocate_device(&plat_dev->dev);
drivers/rtc/rtc-sunplus.c
276
if (IS_ERR(sp_rtc->rtc)) {
drivers/rtc/rtc-sunplus.c
277
ret = PTR_ERR(sp_rtc->rtc);
drivers/rtc/rtc-sunplus.c
281
sp_rtc->rtc->range_max = U32_MAX;
drivers/rtc/rtc-sunplus.c
282
sp_rtc->rtc->range_min = 0;
drivers/rtc/rtc-sunplus.c
283
sp_rtc->rtc->ops = &sp_rtc_ops;
drivers/rtc/rtc-sunplus.c
285
ret = devm_rtc_register_device(sp_rtc->rtc);
drivers/rtc/rtc-sunplus.c
57
struct rtc_device *rtc;
drivers/rtc/rtc-sunxi.c
137
struct rtc_device *rtc;
drivers/rtc/rtc-sunxi.c
155
rtc_update_irq(chip->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-sunxi.c
432
chip->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-sunxi.c
433
if (IS_ERR(chip->rtc))
drivers/rtc/rtc-sunxi.c
434
return PTR_ERR(chip->rtc);
drivers/rtc/rtc-sunxi.c
469
chip->rtc->ops = &sunxi_rtc_ops;
drivers/rtc/rtc-sunxi.c
471
return devm_rtc_register_device(chip->rtc);
drivers/rtc/rtc-tegra.c
257
rtc_update_irq(info->rtc, 1, events);
drivers/rtc/rtc-tegra.c
302
info->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-tegra.c
303
if (IS_ERR(info->rtc))
drivers/rtc/rtc-tegra.c
304
return PTR_ERR(info->rtc);
drivers/rtc/rtc-tegra.c
306
info->rtc->ops = &tegra_rtc_ops;
drivers/rtc/rtc-tegra.c
307
info->rtc->range_max = U32_MAX;
drivers/rtc/rtc-tegra.c
334
ret = devm_rtc_register_device(info->rtc);
drivers/rtc/rtc-tegra.c
50
struct rtc_device *rtc;
drivers/rtc/rtc-test.c
112
rtc_update_irq(rtd->rtc, 1, RTC_AF | RTC_IRQF);
drivers/rtc/rtc-test.c
125
rtd->rtc = devm_rtc_allocate_device(&plat_dev->dev);
drivers/rtc/rtc-test.c
126
if (IS_ERR(rtd->rtc))
drivers/rtc/rtc-test.c
127
return PTR_ERR(rtd->rtc);
drivers/rtc/rtc-test.c
131
rtd->rtc->ops = &test_rtc_ops_noalm;
drivers/rtc/rtc-test.c
134
rtd->rtc->ops = &test_rtc_ops;
drivers/rtc/rtc-test.c
141
return devm_rtc_register_device(rtd->rtc);
drivers/rtc/rtc-test.c
16
struct rtc_device *rtc;
drivers/rtc/rtc-tps6586x.c
124
struct tps6586x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-tps6586x.c
126
if (enabled && !rtc->irq_en) {
drivers/rtc/rtc-tps6586x.c
127
enable_irq(rtc->irq);
drivers/rtc/rtc-tps6586x.c
128
rtc->irq_en = true;
drivers/rtc/rtc-tps6586x.c
129
} else if (!enabled && rtc->irq_en) {
drivers/rtc/rtc-tps6586x.c
130
disable_irq(rtc->irq);
drivers/rtc/rtc-tps6586x.c
131
rtc->irq_en = false;
drivers/rtc/rtc-tps6586x.c
215
struct tps6586x_rtc *rtc = data;
drivers/rtc/rtc-tps6586x.c
217
rtc_update_irq(rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-tps6586x.c
224
struct tps6586x_rtc *rtc;
drivers/rtc/rtc-tps6586x.c
227
rtc = devm_kzalloc(&pdev->dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-tps6586x.c
228
if (!rtc)
drivers/rtc/rtc-tps6586x.c
231
rtc->dev = &pdev->dev;
drivers/rtc/rtc-tps6586x.c
232
rtc->irq = platform_get_irq(pdev, 0);
drivers/rtc/rtc-tps6586x.c
246
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-tps6586x.c
247
rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-tps6586x.c
248
if (IS_ERR(rtc->rtc)) {
drivers/rtc/rtc-tps6586x.c
249
ret = PTR_ERR(rtc->rtc);
drivers/rtc/rtc-tps6586x.c
253
rtc->rtc->ops = &tps6586x_rtc_ops;
drivers/rtc/rtc-tps6586x.c
254
rtc->rtc->range_max = (1ULL << 30) - 1; /* 30-bit seconds */
drivers/rtc/rtc-tps6586x.c
255
rtc->rtc->alarm_offset_max = ALM1_VALID_RANGE_IN_SEC;
drivers/rtc/rtc-tps6586x.c
256
rtc->rtc->start_secs = mktime64(2009, 1, 1, 0, 0, 0);
drivers/rtc/rtc-tps6586x.c
257
rtc->rtc->set_start_time = true;
drivers/rtc/rtc-tps6586x.c
259
irq_set_status_flags(rtc->irq, IRQ_NOAUTOEN);
drivers/rtc/rtc-tps6586x.c
261
ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL,
drivers/rtc/rtc-tps6586x.c
264
dev_name(&pdev->dev), rtc);
drivers/rtc/rtc-tps6586x.c
267
rtc->irq, ret);
drivers/rtc/rtc-tps6586x.c
271
ret = devm_rtc_register_device(rtc->rtc);
drivers/rtc/rtc-tps6586x.c
294
struct tps6586x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-tps6586x.c
297
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-tps6586x.c
303
struct tps6586x_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-tps6586x.c
306
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-tps6586x.c
46
struct rtc_device *rtc;
drivers/rtc/rtc-tps65910.c
27
struct rtc_device *rtc;
drivers/rtc/rtc-tps65910.c
329
static irqreturn_t tps65910_rtc_interrupt(int irq, void *rtc)
drivers/rtc/rtc-tps65910.c
331
struct device *dev = rtc;
drivers/rtc/rtc-tps65910.c
350
rtc_update_irq(tps_rtc->rtc, 1, events);
drivers/rtc/rtc-tps65910.c
380
tps_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-tps65910.c
381
if (IS_ERR(tps_rtc->rtc))
drivers/rtc/rtc-tps65910.c
382
return PTR_ERR(tps_rtc->rtc);
drivers/rtc/rtc-tps65910.c
425
clear_bit(RTC_FEATURE_ALARM, tps_rtc->rtc->features);
drivers/rtc/rtc-tps65910.c
428
tps_rtc->rtc->ops = &tps65910_rtc_ops;
drivers/rtc/rtc-tps65910.c
429
tps_rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-tps65910.c
430
tps_rtc->rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-tps65910.c
432
return devm_rtc_register_device(tps_rtc->rtc);
drivers/rtc/rtc-tps6594.c
337
struct tps6594_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-tps6594.c
345
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-tps6594.c
364
struct tps6594_rtc *rtc;
drivers/rtc/rtc-tps6594.c
368
rtc = devm_kzalloc(dev, sizeof(*rtc), GFP_KERNEL);
drivers/rtc/rtc-tps6594.c
369
if (!rtc)
drivers/rtc/rtc-tps6594.c
372
rtc->rtc_dev = devm_rtc_allocate_device(dev);
drivers/rtc/rtc-tps6594.c
373
if (IS_ERR(rtc->rtc_dev))
drivers/rtc/rtc-tps6594.c
374
return PTR_ERR(rtc->rtc_dev);
drivers/rtc/rtc-tps6594.c
417
platform_set_drvdata(pdev, rtc);
drivers/rtc/rtc-tps6594.c
423
rtc->irq = irq;
drivers/rtc/rtc-tps6594.c
437
rtc->rtc_dev->ops = &tps6594_rtc_ops;
drivers/rtc/rtc-tps6594.c
438
rtc->rtc_dev->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-tps6594.c
439
rtc->rtc_dev->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-tps6594.c
441
return devm_rtc_register_device(rtc->rtc_dev);
drivers/rtc/rtc-tps6594.c
447
struct tps6594_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-tps6594.c
468
rtc_update_irq(rtc->rtc_dev, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-tps6594.c
471
disable_irq_wake(rtc->irq);
drivers/rtc/rtc-tps6594.c
478
struct tps6594_rtc *rtc = dev_get_drvdata(dev);
drivers/rtc/rtc-tps6594.c
480
enable_irq_wake(rtc->irq);
drivers/rtc/rtc-twl.c
141
struct rtc_device *rtc;
drivers/rtc/rtc-twl.c
475
rtc_update_irq(twl_rtc->rtc, 1, events);
drivers/rtc/rtc-twl.c
577
twl_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
drivers/rtc/rtc-twl.c
579
if (IS_ERR(twl_rtc->rtc))
drivers/rtc/rtc-twl.c
580
return PTR_ERR(twl_rtc->rtc);
drivers/rtc/rtc-twl.c
585
dev_name(&twl_rtc->rtc->dev), twl_rtc);
drivers/rtc/rtc-twl.c
602
devm_rtc_nvmem_register(twl_rtc->rtc, &nvmem_cfg);
drivers/rtc/rtc-twl.c
607
devm_rtc_nvmem_register(twl_rtc->rtc, &nvmem_cfg);
drivers/rtc/rtc-twl.c
612
devm_rtc_nvmem_register(twl_rtc->rtc, &nvmem_cfg);
drivers/rtc/rtc-vt8500.c
219
vt8500_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-vt8500.c
220
if (IS_ERR(vt8500_rtc->rtc))
drivers/rtc/rtc-vt8500.c
221
return PTR_ERR(vt8500_rtc->rtc);
drivers/rtc/rtc-vt8500.c
223
vt8500_rtc->rtc->ops = &vt8500_rtc_ops;
drivers/rtc/rtc-vt8500.c
224
vt8500_rtc->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-vt8500.c
225
vt8500_rtc->rtc->range_max = RTC_TIMESTAMP_END_2199;
drivers/rtc/rtc-vt8500.c
235
return devm_rtc_register_device(vt8500_rtc->rtc);
drivers/rtc/rtc-vt8500.c
75
struct rtc_device *rtc;
drivers/rtc/rtc-vt8500.c
96
rtc_update_irq(vt8500_rtc->rtc, 1, events);
drivers/rtc/rtc-wilco-ec.c
100
msg.response_data = &rtc;
drivers/rtc/rtc-wilco-ec.c
101
msg.response_size = sizeof(rtc);
drivers/rtc/rtc-wilco-ec.c
107
tm->tm_sec = rtc.second;
drivers/rtc/rtc-wilco-ec.c
108
tm->tm_min = rtc.minute;
drivers/rtc/rtc-wilco-ec.c
109
tm->tm_hour = rtc.hour;
drivers/rtc/rtc-wilco-ec.c
110
tm->tm_mday = rtc.day;
drivers/rtc/rtc-wilco-ec.c
111
tm->tm_mon = rtc.month - 1;
drivers/rtc/rtc-wilco-ec.c
112
tm->tm_year = rtc.year + (rtc.century * 100) - 1900;
drivers/rtc/rtc-wilco-ec.c
126
struct ec_rtc_write_request rtc;
drivers/rtc/rtc-wilco-ec.c
137
rtc.command = EC_COMMAND_CMOS;
drivers/rtc/rtc-wilco-ec.c
138
rtc.param = EC_CMOS_TOD_WRITE;
drivers/rtc/rtc-wilco-ec.c
139
rtc.century = bin2bcd(year / 100);
drivers/rtc/rtc-wilco-ec.c
140
rtc.year = bin2bcd(year % 100);
drivers/rtc/rtc-wilco-ec.c
141
rtc.month = bin2bcd(tm->tm_mon + 1);
drivers/rtc/rtc-wilco-ec.c
142
rtc.day = bin2bcd(tm->tm_mday);
drivers/rtc/rtc-wilco-ec.c
143
rtc.hour = bin2bcd(tm->tm_hour);
drivers/rtc/rtc-wilco-ec.c
144
rtc.minute = bin2bcd(tm->tm_min);
drivers/rtc/rtc-wilco-ec.c
145
rtc.second = bin2bcd(tm->tm_sec);
drivers/rtc/rtc-wilco-ec.c
146
rtc.weekday = bin2bcd(wday);
drivers/rtc/rtc-wilco-ec.c
150
msg.request_data = &rtc;
drivers/rtc/rtc-wilco-ec.c
151
msg.request_size = sizeof(rtc);
drivers/rtc/rtc-wilco-ec.c
167
struct rtc_device *rtc;
drivers/rtc/rtc-wilco-ec.c
169
rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-wilco-ec.c
170
if (IS_ERR(rtc))
drivers/rtc/rtc-wilco-ec.c
171
return PTR_ERR(rtc);
drivers/rtc/rtc-wilco-ec.c
173
rtc->ops = &wilco_ec_rtc_ops;
drivers/rtc/rtc-wilco-ec.c
175
rtc->range_min = RTC_TIMESTAMP_BEGIN_2000;
drivers/rtc/rtc-wilco-ec.c
176
rtc->range_max = RTC_TIMESTAMP_END_2099;
drivers/rtc/rtc-wilco-ec.c
177
rtc->owner = THIS_MODULE;
drivers/rtc/rtc-wilco-ec.c
179
return devm_rtc_register_device(rtc);
drivers/rtc/rtc-wilco-ec.c
92
struct ec_rtc_read_response rtc;
drivers/rtc/rtc-wm831x.c
332
rtc_update_irq(wm831x_rtc->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-wm831x.c
425
wm831x_rtc->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-wm831x.c
426
if (IS_ERR(wm831x_rtc->rtc))
drivers/rtc/rtc-wm831x.c
427
return PTR_ERR(wm831x_rtc->rtc);
drivers/rtc/rtc-wm831x.c
429
wm831x_rtc->rtc->ops = &wm831x_rtc_ops;
drivers/rtc/rtc-wm831x.c
430
wm831x_rtc->rtc->range_max = U32_MAX;
drivers/rtc/rtc-wm831x.c
432
ret = devm_rtc_register_device(wm831x_rtc->rtc);
drivers/rtc/rtc-wm831x.c
91
struct rtc_device *rtc;
drivers/rtc/rtc-wm8350.c
301
struct rtc_device *rtc = wm8350->rtc.rtc;
drivers/rtc/rtc-wm8350.c
304
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-wm8350.c
310
dev_err(&(wm8350->rtc.pdev->dev),
drivers/rtc/rtc-wm8350.c
320
struct rtc_device *rtc = wm8350->rtc.rtc;
drivers/rtc/rtc-wm8350.c
322
rtc_update_irq(rtc, 1, RTC_IRQF | RTC_UF);
drivers/rtc/rtc-wm8350.c
344
if (device_may_wakeup(&wm8350->rtc.pdev->dev) &&
drivers/rtc/rtc-wm8350.c
359
if (wm8350->rtc.alarm_enabled) {
drivers/rtc/rtc-wm8350.c
372
struct wm8350_rtc *wm_rtc = &wm8350->rtc;
drivers/rtc/rtc-wm8350.c
425
wm_rtc->rtc = devm_rtc_device_register(&pdev->dev, "wm8350",
drivers/rtc/rtc-wm8350.c
427
if (IS_ERR(wm_rtc->rtc))
drivers/rtc/rtc-wm8350.c
428
return PTR_ERR(wm_rtc->rtc);
drivers/rtc/rtc-x1205.c
621
struct rtc_device *rtc;
drivers/rtc/rtc-x1205.c
631
rtc = devm_rtc_device_register(&client->dev, x1205_driver.driver.name,
drivers/rtc/rtc-x1205.c
634
if (IS_ERR(rtc))
drivers/rtc/rtc-x1205.c
635
return PTR_ERR(rtc);
drivers/rtc/rtc-x1205.c
637
i2c_set_clientdata(client, rtc);
drivers/rtc/rtc-xgene.c
131
rtc_update_irq(pdata->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-xgene.c
151
pdata->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-xgene.c
152
if (IS_ERR(pdata->rtc))
drivers/rtc/rtc-xgene.c
153
return PTR_ERR(pdata->rtc);
drivers/rtc/rtc-xgene.c
183
pdata->rtc->ops = &xgene_rtc_ops;
drivers/rtc/rtc-xgene.c
184
pdata->rtc->range_max = U32_MAX;
drivers/rtc/rtc-xgene.c
186
ret = devm_rtc_register_device(pdata->rtc);
drivers/rtc/rtc-xgene.c
36
struct rtc_device *rtc;
drivers/rtc/rtc-zynqmp.c
271
rtc_update_irq(xrtcdev->rtc, 1, RTC_IRQF | RTC_AF);
drivers/rtc/rtc-zynqmp.c
291
xrtcdev->rtc = devm_rtc_allocate_device(&pdev->dev);
drivers/rtc/rtc-zynqmp.c
292
if (IS_ERR(xrtcdev->rtc))
drivers/rtc/rtc-zynqmp.c
293
return PTR_ERR(xrtcdev->rtc);
drivers/rtc/rtc-zynqmp.c
295
xrtcdev->rtc->ops = &xlnx_rtc_ops;
drivers/rtc/rtc-zynqmp.c
296
xrtcdev->rtc->range_max = U32_MAX;
drivers/rtc/rtc-zynqmp.c
368
return devm_rtc_register_device(xrtcdev->rtc);
drivers/rtc/rtc-zynqmp.c
49
struct rtc_device *rtc;
drivers/rtc/sysfs.c
155
struct rtc_device *rtc = to_rtc_device(dev);
drivers/rtc/sysfs.c
162
retval = rtc_read_time(rtc, &alm.time);
drivers/rtc/sysfs.c
187
retval = rtc_read_alarm(rtc, &alm);
drivers/rtc/sysfs.c
209
retval = rtc_set_alarm(rtc, &alm);
drivers/rtc/sysfs.c
268
static bool rtc_does_wakealarm(struct rtc_device *rtc)
drivers/rtc/sysfs.c
270
if (!device_can_wakeup(rtc->dev.parent))
drivers/rtc/sysfs.c
273
return !!test_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/rtc/sysfs.c
280
struct rtc_device *rtc = to_rtc_device(dev);
drivers/rtc/sysfs.c
284
if (!rtc_does_wakealarm(rtc))
drivers/rtc/sysfs.c
287
if (!rtc->ops->set_offset)
drivers/rtc/sysfs.c
290
if (!(rtc->range_max - rtc->range_min))
drivers/rtc/sysfs.c
308
int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps)
drivers/rtc/sysfs.c
323
groups = rtc->dev.groups;
drivers/rtc/sysfs.c
329
groups = devm_kcalloc(&rtc->dev, new_cnt, sizeof(*groups), GFP_KERNEL);
drivers/rtc/sysfs.c
332
memcpy(groups, rtc->dev.groups, old_cnt * sizeof(*groups));
drivers/rtc/sysfs.c
336
old = rtc->dev.groups;
drivers/rtc/sysfs.c
337
rtc->dev.groups = groups;
drivers/rtc/sysfs.c
339
devm_kfree(&rtc->dev, old);
drivers/rtc/sysfs.c
345
int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
drivers/rtc/sysfs.c
349
return rtc_add_groups(rtc, groups);
drivers/rtc/sysfs.c
84
struct rtc_device *rtc = to_rtc_device(dev);
drivers/rtc/sysfs.c
95
rtc->max_user_freq = (int)val;
drivers/scsi/megaraid/megaraid_sas.h
2188
u32 rtc;
drivers/virtio/virtio_rtc_class.c
188
dev_warn_ratelimited(&viortc_class->rtc->dev,
drivers/virtio/virtio_rtc_class.c
194
rtc_update_irq(viortc_class->rtc, 1, RTC_AF | RTC_IRQF);
drivers/virtio/virtio_rtc_class.c
205
rtc_lock(viortc_class->rtc);
drivers/virtio/virtio_rtc_class.c
209
rtc_unlock(viortc_class->rtc);
drivers/virtio/virtio_rtc_class.c
221
return devm_rtc_register_device(viortc_class->rtc);
drivers/virtio/virtio_rtc_class.c
239
struct rtc_device *rtc;
drivers/virtio/virtio_rtc_class.c
246
rtc = devm_rtc_allocate_device(parent_dev);
drivers/virtio/virtio_rtc_class.c
247
if (IS_ERR(rtc))
drivers/virtio/virtio_rtc_class.c
248
return ERR_CAST(rtc);
drivers/virtio/virtio_rtc_class.c
251
viortc_class->rtc = rtc;
drivers/virtio/virtio_rtc_class.c
255
clear_bit(RTC_FEATURE_ALARM, rtc->features);
drivers/virtio/virtio_rtc_class.c
256
clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->features);
drivers/virtio/virtio_rtc_class.c
258
rtc->ops = &viortc_class_ops;
drivers/virtio/virtio_rtc_class.c
259
rtc->range_max = div_u64(U64_MAX, NSEC_PER_SEC);
drivers/virtio/virtio_rtc_class.c
27
struct rtc_device *rtc;
include/linux/mfd/88pm80x.h
307
struct pm80x_rtc_pdata *rtc;
include/linux/mfd/88pm860x.h
437
struct pm860x_rtc_pdata *rtc;
include/linux/mfd/max8925.h
196
struct i2c_client *rtc;
include/linux/mfd/max8997-private.h
372
struct i2c_client *rtc; /* slave addr 0x0c */
include/linux/mfd/max8998-private.h
143
struct i2c_client *rtc;
include/linux/mfd/wm8350/core.h
619
struct wm8350_rtc rtc;
include/linux/mfd/wm8350/rtc.h
260
struct rtc_device *rtc;
include/linux/rtc.h
186
int __devm_rtc_register_device(struct module *owner, struct rtc_device *rtc);
include/linux/rtc.h
188
extern int rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm);
include/linux/rtc.h
189
extern int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm);
include/linux/rtc.h
190
int __rtc_read_alarm(struct rtc_device *rtc, struct rtc_wkalrm *alarm);
include/linux/rtc.h
191
extern int rtc_read_alarm(struct rtc_device *rtc,
include/linux/rtc.h
193
extern int rtc_set_alarm(struct rtc_device *rtc,
include/linux/rtc.h
195
extern int rtc_initialize_alarm(struct rtc_device *rtc,
include/linux/rtc.h
197
extern void rtc_update_irq(struct rtc_device *rtc,
include/linux/rtc.h
201
extern void rtc_class_close(struct rtc_device *rtc);
include/linux/rtc.h
203
extern int rtc_irq_set_state(struct rtc_device *rtc, int enabled);
include/linux/rtc.h
204
extern int rtc_irq_set_freq(struct rtc_device *rtc, int freq);
include/linux/rtc.h
205
extern int rtc_update_irq_enable(struct rtc_device *rtc, unsigned int enabled);
include/linux/rtc.h
206
extern int rtc_alarm_irq_enable(struct rtc_device *rtc, unsigned int enabled);
include/linux/rtc.h
207
extern int rtc_dev_update_irq_enable_emul(struct rtc_device *rtc,
include/linux/rtc.h
210
void rtc_handle_legacy_irq(struct rtc_device *rtc, int num, int mode);
include/linux/rtc.h
211
void rtc_aie_update_irq(struct rtc_device *rtc);
include/linux/rtc.h
212
void rtc_uie_update_irq(struct rtc_device *rtc);
include/linux/rtc.h
216
struct rtc_device *rtc);
include/linux/rtc.h
217
int rtc_timer_start(struct rtc_device *rtc, struct rtc_timer *timer,
include/linux/rtc.h
219
void rtc_timer_cancel(struct rtc_device *rtc, struct rtc_timer *timer);
include/linux/rtc.h
220
int rtc_read_offset(struct rtc_device *rtc, long *offset);
include/linux/rtc.h
221
int rtc_set_offset(struct rtc_device *rtc, long offset);
include/linux/rtc.h
236
static inline ktime_t rtc_bound_alarmtime(struct rtc_device *rtc,
include/linux/rtc.h
239
if (rtc->alarm_offset_max &&
include/linux/rtc.h
240
rtc->alarm_offset_max * MSEC_PER_SEC < ktime_to_ms(requested))
include/linux/rtc.h
241
return ms_to_ktime(rtc->alarm_offset_max * MSEC_PER_SEC);
include/linux/rtc.h
256
int devm_rtc_nvmem_register(struct rtc_device *rtc,
include/linux/rtc.h
259
static inline int devm_rtc_nvmem_register(struct rtc_device *rtc,
include/linux/rtc.h
267
int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp);
include/linux/rtc.h
268
int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps);
include/linux/rtc.h
271
int rtc_add_group(struct rtc_device *rtc, const struct attribute_group *grp)
include/linux/rtc.h
277
int rtc_add_groups(struct rtc_device *rtc, const struct attribute_group **grps)
include/linux/rtc.h
78
void (*func)(struct rtc_device *rtc);
include/linux/rtc.h
79
struct rtc_device *rtc;
include/soc/arc/timers.h
29
unsigned int pad2:15, rtsc:1, pad1:5, rtc:1, t1:1, t0:1, ver:8;
include/soc/arc/timers.h
31
unsigned int ver:8, t0:1, t1:1, rtc:1, pad1:5, rtsc:1, pad2:15;
include/trace/events/rtc.h
2
#define TRACE_SYSTEM rtc
kernel/power/suspend_test.c
125
rtc_set_alarm(rtc, &alm);
kernel/power/suspend_test.c
184
struct rtc_device *rtc = NULL;
kernel/power/suspend_test.c
206
rtc = rtc_class_open(dev_name(dev));
kernel/power/suspend_test.c
209
if (!rtc) {
kernel/power/suspend_test.c
215
test_wakealarm(rtc, test_state);
kernel/power/suspend_test.c
216
rtc_class_close(rtc);
kernel/power/suspend_test.c
62
static void __init test_wakealarm(struct rtc_device *rtc, suspend_state_t state)
kernel/power/suspend_test.c
79
status = rtc_read_time(rtc, &alm.time);
kernel/power/suspend_test.c
81
printk(err_readtime, dev_name(&rtc->dev), status);
kernel/power/suspend_test.c
90
status = rtc_set_alarm(rtc, &alm);
kernel/power/suspend_test.c
92
printk(err_wakealarm, dev_name(&rtc->dev), status);
kernel/time/alarmtimer.c
102
if (!IS_ERR(pdev) && !rtcdev && try_module_get(rtc->owner)) {
kernel/time/alarmtimer.c
103
rtcdev = rtc;
kernel/time/alarmtimer.c
221
struct rtc_device *rtc;
kernel/time/alarmtimer.c
232
rtc = alarmtimer_get_rtcdev();
kernel/time/alarmtimer.c
234
if (!rtc)
kernel/time/alarmtimer.c
265
rtc_timer_cancel(rtc, &rtctimer);
kernel/time/alarmtimer.c
266
rtc_read_time(rtc, &tm);
kernel/time/alarmtimer.c
277
min = rtc_bound_alarmtime(rtc, min);
kernel/time/alarmtimer.c
282
ret = rtc_timer_start(rtc, &rtctimer, now, 0);
kernel/time/alarmtimer.c
290
struct rtc_device *rtc;
kernel/time/alarmtimer.c
292
rtc = alarmtimer_get_rtcdev();
kernel/time/alarmtimer.c
293
if (rtc)
kernel/time/alarmtimer.c
294
rtc_timer_cancel(rtc, &rtctimer);
kernel/time/alarmtimer.c
84
struct rtc_device *rtc = to_rtc_device(dev);
kernel/time/alarmtimer.c
91
if (!test_bit(RTC_FEATURE_ALARM, rtc->features))
kernel/time/alarmtimer.c
93
if (!device_may_wakeup(rtc->dev.parent))
kernel/time/ntp.c
579
struct rtc_device *rtc;
kernel/time/ntp.c
583
rtc = rtc_class_open(CONFIG_RTC_SYSTOHC_DEVICE);
kernel/time/ntp.c
584
if (!rtc)
kernel/time/ntp.c
587
if (!rtc->ops || !rtc->ops->set_time)
kernel/time/ntp.c
591
if (*offset_nsec == rtc->set_offset_nsec) {
kernel/time/ntp.c
593
err = rtc_set_time(rtc, &tm);
kernel/time/ntp.c
596
*offset_nsec = rtc->set_offset_nsec;
kernel/time/ntp.c
600
rtc_class_close(rtc);
tools/testing/selftests/rtc/rtctest.c
114
TEST_F_TIMEOUT(rtc, date_read_loop, READ_LOOP_DURATION_SEC + 2) {
tools/testing/selftests/rtc/rtctest.c
154
TEST_F_TIMEOUT(rtc, uie_read, NUM_UIE + 2) {
tools/testing/selftests/rtc/rtctest.c
183
TEST_F(rtc, uie_select) {
tools/testing/selftests/rtc/rtctest.c
222
TEST_F(rtc, alarm_alm_set) {
tools/testing/selftests/rtc/rtctest.c
291
TEST_F(rtc, alarm_wkalm_set) {
tools/testing/selftests/rtc/rtctest.c
35
FIXTURE(rtc) {
tools/testing/selftests/rtc/rtctest.c
356
TEST_F_TIMEOUT(rtc, alarm_alm_set_minute, 65) {
tools/testing/selftests/rtc/rtctest.c
39
FIXTURE_SETUP(rtc) {
tools/testing/selftests/rtc/rtctest.c
423
TEST_F_TIMEOUT(rtc, alarm_wkalm_set_minute, 65) {
tools/testing/selftests/rtc/rtctest.c
43
FIXTURE_TEARDOWN(rtc) {
tools/testing/selftests/rtc/rtctest.c
47
TEST_F(rtc, date_read) {
tools/testing/selftests/timers/rtcpie.c
34
const char *rtc = default_rtc;
tools/testing/selftests/timers/rtcpie.c
39
rtc = argv[1];
tools/testing/selftests/timers/rtcpie.c
54
fd = open(rtc, O_RDONLY);
tools/testing/selftests/timers/rtcpie.c
57
perror(rtc);