Searched refs:tm (Results 1 - 200 of 360) sorted by relevance

12

/linux-4.4.14/tools/testing/selftests/powerpc/tm/
H A DMakefile1 TEST_PROGS := tm-resched-dscr tm-syscall
7 tm-syscall: tm-syscall-asm.S
8 tm-syscall: CFLAGS += -mhtm -I../../../../../usr/include
H A Dtm-resched-dscr.c29 #include <asm/tm.h>
H A Dtm-syscall.c15 #include <asm/tm.h>
/linux-4.4.14/drivers/md/persistent-data/
H A Ddm-transaction-manager.c103 static int is_shadow(struct dm_transaction_manager *tm, dm_block_t b) is_shadow() argument
109 spin_lock(&tm->lock); is_shadow()
110 hlist_for_each_entry(si, tm->buckets + bucket, hlist) is_shadow()
115 spin_unlock(&tm->lock); is_shadow()
124 static void insert_shadow(struct dm_transaction_manager *tm, dm_block_t b) insert_shadow() argument
133 spin_lock(&tm->lock); insert_shadow()
134 hlist_add_head(&si->hlist, tm->buckets + bucket); insert_shadow()
135 spin_unlock(&tm->lock); insert_shadow()
139 static void wipe_shadow_table(struct dm_transaction_manager *tm) wipe_shadow_table() argument
146 spin_lock(&tm->lock); wipe_shadow_table()
148 bucket = tm->buckets + i; wipe_shadow_table()
155 spin_unlock(&tm->lock); wipe_shadow_table()
164 struct dm_transaction_manager *tm; dm_tm_create() local
166 tm = kmalloc(sizeof(*tm), GFP_KERNEL); dm_tm_create()
167 if (!tm) dm_tm_create()
170 tm->is_clone = 0; dm_tm_create()
171 tm->real = NULL; dm_tm_create()
172 tm->bm = bm; dm_tm_create()
173 tm->sm = sm; dm_tm_create()
175 spin_lock_init(&tm->lock); dm_tm_create()
177 INIT_HLIST_HEAD(tm->buckets + i); dm_tm_create()
179 prefetch_init(&tm->prefetches); dm_tm_create()
181 return tm; dm_tm_create()
186 struct dm_transaction_manager *tm; dm_tm_create_non_blocking_clone() local
188 tm = kmalloc(sizeof(*tm), GFP_KERNEL); dm_tm_create_non_blocking_clone()
189 if (tm) { dm_tm_create_non_blocking_clone()
190 tm->is_clone = 1; dm_tm_create_non_blocking_clone()
191 tm->real = real; dm_tm_create_non_blocking_clone()
194 return tm; dm_tm_create_non_blocking_clone()
198 void dm_tm_destroy(struct dm_transaction_manager *tm) dm_tm_destroy() argument
200 if (!tm->is_clone) dm_tm_destroy()
201 wipe_shadow_table(tm); dm_tm_destroy()
203 kfree(tm); dm_tm_destroy()
207 int dm_tm_pre_commit(struct dm_transaction_manager *tm) dm_tm_pre_commit() argument
211 if (tm->is_clone) dm_tm_pre_commit()
214 r = dm_sm_commit(tm->sm); dm_tm_pre_commit()
218 return dm_bm_flush(tm->bm); dm_tm_pre_commit()
222 int dm_tm_commit(struct dm_transaction_manager *tm, struct dm_block *root) dm_tm_commit() argument
224 if (tm->is_clone) dm_tm_commit()
227 wipe_shadow_table(tm); dm_tm_commit()
230 return dm_bm_flush(tm->bm); dm_tm_commit()
234 int dm_tm_new_block(struct dm_transaction_manager *tm, dm_tm_new_block() argument
241 if (tm->is_clone) dm_tm_new_block()
244 r = dm_sm_new_block(tm->sm, &new_block); dm_tm_new_block()
248 r = dm_bm_write_lock_zero(tm->bm, new_block, v, result); dm_tm_new_block()
250 dm_sm_dec_block(tm->sm, new_block); dm_tm_new_block()
258 insert_shadow(tm, new_block); dm_tm_new_block()
263 static int __shadow_block(struct dm_transaction_manager *tm, dm_block_t orig, __shadow_block() argument
271 r = dm_sm_new_block(tm->sm, &new); __shadow_block()
275 r = dm_sm_dec_block(tm->sm, orig); __shadow_block()
279 r = dm_bm_read_lock(tm->bm, orig, v, &orig_block); __shadow_block()
290 r = dm_bm_write_lock_zero(tm->bm, new, v, result); __shadow_block()
297 dm_bm_block_size(tm->bm)); __shadow_block()
303 int dm_tm_shadow_block(struct dm_transaction_manager *tm, dm_block_t orig, dm_tm_shadow_block() argument
309 if (tm->is_clone) dm_tm_shadow_block()
312 r = dm_sm_count_is_more_than_one(tm->sm, orig, inc_children); dm_tm_shadow_block()
316 if (is_shadow(tm, orig) && !*inc_children) dm_tm_shadow_block()
317 return dm_bm_write_lock(tm->bm, orig, v, result); dm_tm_shadow_block()
319 r = __shadow_block(tm, orig, v, result); dm_tm_shadow_block()
322 insert_shadow(tm, dm_block_location(*result)); dm_tm_shadow_block()
328 int dm_tm_read_lock(struct dm_transaction_manager *tm, dm_block_t b, dm_tm_read_lock() argument
332 if (tm->is_clone) { dm_tm_read_lock()
333 int r = dm_bm_read_try_lock(tm->real->bm, b, v, blk); dm_tm_read_lock()
336 prefetch_add(&tm->real->prefetches, b); dm_tm_read_lock()
341 return dm_bm_read_lock(tm->bm, b, v, blk); dm_tm_read_lock()
345 void dm_tm_unlock(struct dm_transaction_manager *tm, struct dm_block *b) dm_tm_unlock() argument
351 void dm_tm_inc(struct dm_transaction_manager *tm, dm_block_t b) dm_tm_inc() argument
356 BUG_ON(tm->is_clone); dm_tm_inc()
358 dm_sm_inc_block(tm->sm, b); dm_tm_inc()
362 void dm_tm_dec(struct dm_transaction_manager *tm, dm_block_t b) dm_tm_dec() argument
367 BUG_ON(tm->is_clone); dm_tm_dec()
369 dm_sm_dec_block(tm->sm, b); dm_tm_dec()
373 int dm_tm_ref(struct dm_transaction_manager *tm, dm_block_t b, dm_tm_ref() argument
376 if (tm->is_clone) dm_tm_ref()
379 return dm_sm_get_count(tm->sm, b, result); dm_tm_ref()
382 struct dm_block_manager *dm_tm_get_bm(struct dm_transaction_manager *tm) dm_tm_get_bm() argument
384 return tm->bm; dm_tm_get_bm()
387 void dm_tm_issue_prefetches(struct dm_transaction_manager *tm) dm_tm_issue_prefetches() argument
389 prefetch_issue(&tm->prefetches, tm->bm); dm_tm_issue_prefetches()
397 struct dm_transaction_manager **tm, dm_tm_create_internal()
408 *tm = dm_tm_create(bm, *sm); dm_tm_create_internal()
409 if (IS_ERR(*tm)) { dm_tm_create_internal()
411 return PTR_ERR(*tm); dm_tm_create_internal()
415 r = dm_sm_metadata_create(*sm, *tm, dm_bm_nr_blocks(bm), dm_tm_create_internal()
423 r = dm_sm_metadata_open(*sm, *tm, sm_root, sm_len); dm_tm_create_internal()
433 dm_tm_destroy(*tm); dm_tm_create_internal()
439 struct dm_transaction_manager **tm, dm_tm_create_with_sm()
442 return dm_tm_create_internal(bm, sb_location, tm, sm, 1, NULL, 0); dm_tm_create_with_sm()
448 struct dm_transaction_manager **tm, dm_tm_open_with_sm()
451 return dm_tm_create_internal(bm, sb_location, tm, sm, 0, sm_root, root_len); dm_tm_open_with_sm()
395 dm_tm_create_internal(struct dm_block_manager *bm, dm_block_t sb_location, struct dm_transaction_manager **tm, struct dm_space_map **sm, int create, void *sm_root, size_t sm_len) dm_tm_create_internal() argument
438 dm_tm_create_with_sm(struct dm_block_manager *bm, dm_block_t sb_location, struct dm_transaction_manager **tm, struct dm_space_map **sm) dm_tm_create_with_sm() argument
446 dm_tm_open_with_sm(struct dm_block_manager *bm, dm_block_t sb_location, void *sm_root, size_t root_len, struct dm_transaction_manager **tm, struct dm_space_map **sm) dm_tm_open_with_sm() argument
H A Ddm-space-map-disk.h17 * between the tm and sm.
19 struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm,
22 struct dm_space_map *dm_sm_disk_open(struct dm_transaction_manager *tm,
H A Ddm-transaction-manager.h24 void dm_tm_destroy(struct dm_transaction_manager *tm);
29 * You create the non-blocking variant from a normal tm. The interface is
33 * tm when you've finished with it. You may not destroy the original prior
50 int dm_tm_pre_commit(struct dm_transaction_manager *tm);
51 int dm_tm_commit(struct dm_transaction_manager *tm, struct dm_block *superblock);
65 int dm_tm_new_block(struct dm_transaction_manager *tm,
74 * this operation. Because the tm knows the scope of the transaction it
85 int dm_tm_shadow_block(struct dm_transaction_manager *tm, dm_block_t orig,
93 int dm_tm_read_lock(struct dm_transaction_manager *tm, dm_block_t b,
97 void dm_tm_unlock(struct dm_transaction_manager *tm, struct dm_block *b);
102 void dm_tm_inc(struct dm_transaction_manager *tm, dm_block_t b);
104 void dm_tm_dec(struct dm_transaction_manager *tm, dm_block_t b);
106 int dm_tm_ref(struct dm_transaction_manager *tm, dm_block_t b,
109 struct dm_block_manager *dm_tm_get_bm(struct dm_transaction_manager *tm);
112 * If you're using a non-blocking clone the tm will build up a list of
116 void dm_tm_issue_prefetches(struct dm_transaction_manager *tm);
122 * Returns a tm that has an open transaction to write the new disk sm.
129 struct dm_transaction_manager **tm,
134 struct dm_transaction_manager **tm,
H A Ddm-space-map-metadata.h25 * between the tm and sm.
33 struct dm_transaction_manager *tm,
41 struct dm_transaction_manager *tm,
H A Ddm-space-map-common.c191 static int sm_ll_init(struct ll_disk *ll, struct dm_transaction_manager *tm) sm_ll_init() argument
193 ll->tm = tm; sm_ll_init()
195 ll->bitmap_info.tm = tm; sm_ll_init()
208 ll->ref_count_info.tm = tm; sm_ll_init()
215 ll->block_size = dm_bm_block_size(dm_tm_get_bm(tm)); sm_ll_init()
256 r = dm_tm_new_block(ll->tm, &dm_sm_bitmap_validator, &b); sm_ll_extend()
262 dm_tm_unlock(ll->tm, b); sm_ll_extend()
287 r = dm_tm_read_lock(ll->tm, le64_to_cpu(ie_disk.blocknr), sm_ll_lookup_bitmap()
294 dm_tm_unlock(ll->tm, blk); sm_ll_lookup_bitmap()
353 r = dm_tm_read_lock(ll->tm, le64_to_cpu(ie_disk.blocknr), sm_ll_find_free_block()
368 dm_tm_unlock(ll->tm, blk); sm_ll_find_free_block()
372 dm_tm_unlock(ll->tm, blk); sm_ll_find_free_block()
376 dm_tm_unlock(ll->tm, blk); sm_ll_find_free_block()
402 r = dm_tm_shadow_block(ll->tm, le64_to_cpu(ie_disk.blocknr), sm_ll_mutate()
416 dm_tm_unlock(ll->tm, nb); sm_ll_mutate()
423 dm_tm_unlock(ll->tm, nb); sm_ll_mutate()
430 dm_tm_unlock(ll->tm, nb); sm_ll_mutate()
444 dm_tm_unlock(ll->tm, nb); sm_ll_mutate()
546 r = dm_tm_new_block(ll->tm, &index_validator, &b); metadata_ll_init_index()
553 dm_tm_unlock(ll->tm, b); metadata_ll_init_index()
563 r = dm_tm_read_lock(ll->tm, ll->bitmap_root, metadata_ll_open()
569 dm_tm_unlock(ll->tm, block); metadata_ll_open()
584 r = dm_tm_shadow_block(ll->tm, ll->bitmap_root, &index_validator, &b, &inc); metadata_ll_commit()
591 dm_tm_unlock(ll->tm, b); metadata_ll_commit()
596 int sm_ll_new_metadata(struct ll_disk *ll, struct dm_transaction_manager *tm) sm_ll_new_metadata() argument
600 r = sm_ll_init(ll, tm); sm_ll_new_metadata()
625 int sm_ll_open_metadata(struct ll_disk *ll, struct dm_transaction_manager *tm, sm_ll_open_metadata() argument
636 r = sm_ll_init(ll, tm); sm_ll_open_metadata()
692 int sm_ll_new_disk(struct ll_disk *ll, struct dm_transaction_manager *tm) sm_ll_new_disk() argument
696 r = sm_ll_init(ll, tm); sm_ll_new_disk()
721 int sm_ll_open_disk(struct ll_disk *ll, struct dm_transaction_manager *tm, sm_ll_open_disk() argument
732 r = sm_ll_init(ll, tm); sm_ll_open_disk()
H A Ddm-btree-spine.c98 return dm_tm_read_lock(info->tm, b, &btree_node_validator, result); bn_read_lock()
107 r = dm_tm_shadow_block(info->tm, orig, &btree_node_validator, bn_shadow()
110 inc_children(info->tm, dm_block_data(*result), vt); bn_shadow()
117 return dm_tm_new_block(info->tm, &btree_node_validator, result); new_block()
122 dm_tm_unlock(info->tm, b); unlock_block()
247 struct dm_transaction_manager *tm = context; le64_inc() local
251 dm_tm_inc(tm, le64_to_cpu(v_le)); le64_inc()
256 struct dm_transaction_manager *tm = context; le64_dec() local
260 dm_tm_dec(tm, le64_to_cpu(v_le)); le64_dec()
272 void init_le64_type(struct dm_transaction_manager *tm, init_le64_type() argument
275 vt->context = tm; init_le64_type()
H A Ddm-space-map-common.h58 struct dm_transaction_manager *tm; member in struct:ll_disk
117 int sm_ll_new_metadata(struct ll_disk *ll, struct dm_transaction_manager *tm);
118 int sm_ll_open_metadata(struct ll_disk *ll, struct dm_transaction_manager *tm,
121 int sm_ll_new_disk(struct ll_disk *ll, struct dm_transaction_manager *tm);
122 int sm_ll_open_disk(struct ll_disk *ll, struct dm_transaction_manager *tm,
H A Ddm-btree.c71 void inc_children(struct dm_transaction_manager *tm, struct btree_node *n, inc_children() argument
79 dm_tm_inc(tm, value64(n, i)); inc_children()
138 block_size = dm_bm_block_size(dm_tm_get_bm(info->tm)); dm_btree_empty()
172 struct dm_transaction_manager *tm; member in struct:del_stack
197 struct dm_block_manager *bm = dm_tm_get_bm(s->tm); prefetch_children()
218 r = dm_tm_ref(s->tm, b, &ref_count); push_frame()
227 dm_tm_dec(s->tm, b); push_frame()
233 r = dm_tm_read_lock(s->tm, b, &btree_node_validator, &f->b); push_frame()
256 dm_tm_dec(s->tm, dm_block_location(f->b)); pop_frame()
257 dm_tm_unlock(s->tm, f->b); pop_frame()
266 dm_tm_unlock(s->tm, f->b); unlock_all_frames()
279 s->tm = info->tm; dm_btree_del()
454 dm_tm_unlock(info->tm, node); dm_btree_lookup_next_single()
661 dm_tm_get_bm(s->info->tm)))); btree_split_beneath()
769 init_le64_type(info->tm, &le64_type); __dm_written_to_disk()
975 dm_tm_unlock(info->tm, node); walk_node()
H A Ddm-space-map-disk.c241 struct dm_space_map *dm_sm_disk_create(struct dm_transaction_manager *tm, dm_sm_disk_create() argument
255 r = sm_ll_new_disk(&smd->ll, tm); dm_sm_disk_create()
275 struct dm_space_map *dm_sm_disk_open(struct dm_transaction_manager *tm, dm_sm_disk_open() argument
289 r = sm_ll_open_disk(&smd->ll, tm, root_le, len); dm_sm_disk_open()
H A Ddm-btree-remove.c152 r = dm_tm_shadow_block(info->tm, root, &btree_node_validator, init_child()
160 inc_children(info->tm, result->n, vt); init_child()
170 dm_tm_unlock(info->tm, c->block); exit_child()
220 dm_tm_dec(info->tm, dm_block_location(r->block)); __rebalance2()
287 dm_tm_dec(info->tm, dm_block_location(c->block)); delete_center_node()
414 r = dm_tm_read_lock(info->tm, b, &btree_node_validator, &child); rebalance_children()
419 dm_bm_block_size(dm_tm_get_bm(info->tm))); rebalance_children()
420 dm_tm_unlock(info->tm, child); rebalance_children()
422 dm_tm_dec(info->tm, dm_block_location(child)); rebalance_children()
521 init_le64_type(info->tm, &le64_vt); dm_btree_remove()
619 init_le64_type(info->tm, &le64_vt); remove_one()
H A Ddm-array.c158 r = dm_tm_new_block(info->btree_info.tm, &array_validator, block); alloc_ablock()
225 r = dm_tm_read_lock(info->btree_info.tm, b, &array_validator, block); get_ablock()
238 dm_tm_unlock(info->btree_info.tm, block); unlock_ablock()
305 r = dm_tm_shadow_block(info->btree_info.tm, b, shadow_ablock()
327 dm_tm_inc(info->btree_info.tm, b); shadow_ablock()
568 dm_tm_inc(info->btree_info.tm, le64_to_cpu(block_le)); block_inc()
584 r = dm_tm_ref(info->btree_info.tm, b, &ref_count); block_dec()
607 dm_tm_dec(info->btree_info.tm, b); block_dec()
618 struct dm_transaction_manager *tm, dm_array_info_init()
624 info->btree_info.tm = tm; dm_array_info_init()
655 resize.size_of_block = dm_bm_block_size(dm_tm_get_bm(info->btree_info.tm)); array_resize()
699 size_of_block = dm_bm_block_size(dm_tm_get_bm(info->btree_info.tm)); dm_array_get_value()
730 size_of_block = dm_bm_block_size(dm_tm_get_bm(info->btree_info.tm)); array_set_value()
617 dm_array_info_init(struct dm_array_info *info, struct dm_transaction_manager *tm, struct dm_btree_value_type *vt) dm_array_info_init() argument
H A Ddm-bitset.c28 void dm_disk_bitset_init(struct dm_transaction_manager *tm, dm_disk_bitset_init() argument
31 dm_array_info_init(&info->array_info, tm, &bitset_bvt); dm_disk_bitset_init()
H A Ddm-btree-internal.h51 void inc_children(struct dm_transaction_manager *tm, struct btree_node *n,
144 extern void init_le64_type(struct dm_transaction_manager *tm,
/linux-4.4.14/drivers/rtc/
H A Drtc-m41t94.c32 static int m41t94_set_time(struct device *dev, struct rtc_time *tm) m41t94_set_time() argument
39 "write", tm->tm_sec, tm->tm_min, m41t94_set_time()
40 tm->tm_hour, tm->tm_mday, m41t94_set_time()
41 tm->tm_mon, tm->tm_year, tm->tm_wday); m41t94_set_time()
44 buf[M41T94_REG_SECONDS] = bin2bcd(tm->tm_sec); m41t94_set_time()
45 buf[M41T94_REG_MINUTES] = bin2bcd(tm->tm_min); m41t94_set_time()
46 buf[M41T94_REG_HOURS] = bin2bcd(tm->tm_hour); m41t94_set_time()
47 buf[M41T94_REG_WDAY] = bin2bcd(tm->tm_wday + 1); m41t94_set_time()
48 buf[M41T94_REG_DAY] = bin2bcd(tm->tm_mday); m41t94_set_time()
49 buf[M41T94_REG_MONTH] = bin2bcd(tm->tm_mon + 1); m41t94_set_time()
52 if (tm->tm_year >= 100) m41t94_set_time()
54 buf[M41T94_REG_YEAR] = bin2bcd(tm->tm_year % 100); m41t94_set_time()
59 static int m41t94_read_time(struct device *dev, struct rtc_time *tm) m41t94_read_time() argument
85 tm->tm_sec = bcd2bin(spi_w8r8(spi, M41T94_REG_SECONDS)); m41t94_read_time()
86 tm->tm_min = bcd2bin(spi_w8r8(spi, M41T94_REG_MINUTES)); m41t94_read_time()
88 tm->tm_hour = bcd2bin(hour & 0x3f); m41t94_read_time()
89 tm->tm_wday = bcd2bin(spi_w8r8(spi, M41T94_REG_WDAY)) - 1; m41t94_read_time()
90 tm->tm_mday = bcd2bin(spi_w8r8(spi, M41T94_REG_DAY)); m41t94_read_time()
91 tm->tm_mon = bcd2bin(spi_w8r8(spi, M41T94_REG_MONTH)) - 1; m41t94_read_time()
92 tm->tm_year = bcd2bin(spi_w8r8(spi, M41T94_REG_YEAR)); m41t94_read_time()
94 tm->tm_year += 100; m41t94_read_time()
98 "read", tm->tm_sec, tm->tm_min, m41t94_read_time()
99 tm->tm_hour, tm->tm_mday, m41t94_read_time()
100 tm->tm_mon, tm->tm_year, tm->tm_wday); m41t94_read_time()
103 return rtc_valid_tm(tm); m41t94_read_time()
H A Drtc-lib.c53 void rtc_time64_to_tm(time64_t time, struct rtc_time *tm) rtc_time64_to_tm() argument
64 tm->tm_wday = (days + 4) % 7; rtc_time64_to_tm()
74 tm->tm_year = year - 1900; rtc_time64_to_tm()
75 tm->tm_yday = days + 1; rtc_time64_to_tm()
85 tm->tm_mon = month; rtc_time64_to_tm()
86 tm->tm_mday = days + 1; rtc_time64_to_tm()
88 tm->tm_hour = secs / 3600; rtc_time64_to_tm()
89 secs -= tm->tm_hour * 3600; rtc_time64_to_tm()
90 tm->tm_min = secs / 60; rtc_time64_to_tm()
91 tm->tm_sec = secs - tm->tm_min * 60; rtc_time64_to_tm()
93 tm->tm_isdst = 0; rtc_time64_to_tm()
100 int rtc_valid_tm(struct rtc_time *tm) rtc_valid_tm() argument
102 if (tm->tm_year < 70 rtc_valid_tm()
103 || ((unsigned)tm->tm_mon) >= 12 rtc_valid_tm()
104 || tm->tm_mday < 1 rtc_valid_tm()
105 || tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900) rtc_valid_tm()
106 || ((unsigned)tm->tm_hour) >= 24 rtc_valid_tm()
107 || ((unsigned)tm->tm_min) >= 60 rtc_valid_tm()
108 || ((unsigned)tm->tm_sec) >= 60) rtc_valid_tm()
119 time64_t rtc_tm_to_time64(struct rtc_time *tm) rtc_tm_to_time64() argument
121 return mktime64(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, rtc_tm_to_time64()
122 tm->tm_hour, tm->tm_min, tm->tm_sec); rtc_tm_to_time64()
129 ktime_t rtc_tm_to_ktime(struct rtc_time tm) rtc_tm_to_ktime() argument
131 return ktime_set(rtc_tm_to_time64(&tm), 0); rtc_tm_to_ktime()
H A Drtc-msm6242.c125 static int msm6242_read_time(struct device *dev, struct rtc_time *tm) msm6242_read_time() argument
131 tm->tm_sec = msm6242_read(priv, MSM6242_SECOND10) * 10 + msm6242_read_time()
133 tm->tm_min = msm6242_read(priv, MSM6242_MINUTE10) * 10 + msm6242_read_time()
135 tm->tm_hour = (msm6242_read(priv, MSM6242_HOUR10 & 3)) * 10 + msm6242_read_time()
137 tm->tm_mday = msm6242_read(priv, MSM6242_DAY10) * 10 + msm6242_read_time()
139 tm->tm_wday = msm6242_read(priv, MSM6242_WEEK); msm6242_read_time()
140 tm->tm_mon = msm6242_read(priv, MSM6242_MONTH10) * 10 + msm6242_read_time()
142 tm->tm_year = msm6242_read(priv, MSM6242_YEAR10) * 10 + msm6242_read_time()
144 if (tm->tm_year <= 69) msm6242_read_time()
145 tm->tm_year += 100; msm6242_read_time()
150 if (!pm && tm->tm_hour == 12) msm6242_read_time()
151 tm->tm_hour = 0; msm6242_read_time()
152 else if (pm && tm->tm_hour != 12) msm6242_read_time()
153 tm->tm_hour += 12; msm6242_read_time()
158 return rtc_valid_tm(tm); msm6242_read_time()
161 static int msm6242_set_time(struct device *dev, struct rtc_time *tm) msm6242_set_time() argument
167 msm6242_write(priv, tm->tm_sec / 10, MSM6242_SECOND10); msm6242_set_time()
168 msm6242_write(priv, tm->tm_sec % 10, MSM6242_SECOND1); msm6242_set_time()
169 msm6242_write(priv, tm->tm_min / 10, MSM6242_MINUTE10); msm6242_set_time()
170 msm6242_write(priv, tm->tm_min % 10, MSM6242_MINUTE1); msm6242_set_time()
172 msm6242_write(priv, tm->tm_hour / 10, MSM6242_HOUR10); msm6242_set_time()
173 else if (tm->tm_hour >= 12) msm6242_set_time()
174 msm6242_write(priv, MSM6242_HOUR10_PM + (tm->tm_hour - 12) / 10, msm6242_set_time()
177 msm6242_write(priv, tm->tm_hour / 10, MSM6242_HOUR10); msm6242_set_time()
178 msm6242_write(priv, tm->tm_hour % 10, MSM6242_HOUR1); msm6242_set_time()
179 msm6242_write(priv, tm->tm_mday / 10, MSM6242_DAY10); msm6242_set_time()
180 msm6242_write(priv, tm->tm_mday % 10, MSM6242_DAY1); msm6242_set_time()
181 if (tm->tm_wday != -1) msm6242_set_time()
182 msm6242_write(priv, tm->tm_wday, MSM6242_WEEK); msm6242_set_time()
183 msm6242_write(priv, (tm->tm_mon + 1) / 10, MSM6242_MONTH10); msm6242_set_time()
184 msm6242_write(priv, (tm->tm_mon + 1) % 10, MSM6242_MONTH1); msm6242_set_time()
185 if (tm->tm_year >= 100) msm6242_set_time()
186 tm->tm_year -= 100; msm6242_set_time()
187 msm6242_write(priv, tm->tm_year / 10, MSM6242_YEAR10); msm6242_set_time()
188 msm6242_write(priv, tm->tm_year % 10, MSM6242_YEAR1); msm6242_set_time()
H A Drtc-ds1216.c79 static int ds1216_rtc_read_time(struct device *dev, struct rtc_time *tm) ds1216_rtc_read_time() argument
88 tm->tm_sec = bcd2bin(regs.sec); ds1216_rtc_read_time()
89 tm->tm_min = bcd2bin(regs.min); ds1216_rtc_read_time()
92 tm->tm_hour = bcd2bin(regs.hour & 0x1f); ds1216_rtc_read_time()
94 tm->tm_hour += 12; ds1216_rtc_read_time()
96 tm->tm_hour = bcd2bin(regs.hour & 0x3f); ds1216_rtc_read_time()
97 tm->tm_wday = (regs.wday & 7) - 1; ds1216_rtc_read_time()
98 tm->tm_mday = bcd2bin(regs.mday & 0x3f); ds1216_rtc_read_time()
99 tm->tm_mon = bcd2bin(regs.month & 0x1f); ds1216_rtc_read_time()
100 tm->tm_year = bcd2bin(regs.year); ds1216_rtc_read_time()
101 if (tm->tm_year < 70) ds1216_rtc_read_time()
102 tm->tm_year += 100; ds1216_rtc_read_time()
104 return rtc_valid_tm(tm); ds1216_rtc_read_time()
107 static int ds1216_rtc_set_time(struct device *dev, struct rtc_time *tm) ds1216_rtc_set_time() argument
117 regs.sec = bin2bcd(tm->tm_sec); ds1216_rtc_set_time()
118 regs.min = bin2bcd(tm->tm_min); ds1216_rtc_set_time()
120 if (regs.hour && tm->tm_hour > 12) { ds1216_rtc_set_time()
122 tm->tm_hour -= 12; ds1216_rtc_set_time()
124 regs.hour |= bin2bcd(tm->tm_hour); ds1216_rtc_set_time()
126 regs.wday |= tm->tm_wday; ds1216_rtc_set_time()
127 regs.mday = bin2bcd(tm->tm_mday); ds1216_rtc_set_time()
128 regs.month = bin2bcd(tm->tm_mon); ds1216_rtc_set_time()
129 regs.year = bin2bcd(tm->tm_year % 100); ds1216_rtc_set_time()
H A Drtc-m41t93.c48 static int m41t93_set_time(struct device *dev, struct rtc_time *tm) m41t93_set_time() argument
57 "write", tm->tm_sec, tm->tm_min, m41t93_set_time()
58 tm->tm_hour, tm->tm_mday, m41t93_set_time()
59 tm->tm_mon, tm->tm_year, tm->tm_wday); m41t93_set_time()
61 if (tm->tm_year < 100) { m41t93_set_time()
91 data[M41T93_REG_ST_SEC] = bin2bcd(tm->tm_sec); m41t93_set_time()
92 data[M41T93_REG_MIN] = bin2bcd(tm->tm_min); m41t93_set_time()
93 data[M41T93_REG_CENT_HOUR] = bin2bcd(tm->tm_hour) | m41t93_set_time()
94 ((tm->tm_year/100-1) << 6); m41t93_set_time()
95 data[M41T93_REG_DAY] = bin2bcd(tm->tm_mday); m41t93_set_time()
96 data[M41T93_REG_WDAY] = bin2bcd(tm->tm_wday + 1); m41t93_set_time()
97 data[M41T93_REG_MON] = bin2bcd(tm->tm_mon + 1); m41t93_set_time()
98 data[M41T93_REG_YEAR] = bin2bcd(tm->tm_year % 100); m41t93_set_time()
104 static int m41t93_get_time(struct device *dev, struct rtc_time *tm) m41t93_get_time() argument
146 tm->tm_sec = bcd2bin(buf[M41T93_REG_ST_SEC]); m41t93_get_time()
147 tm->tm_min = bcd2bin(buf[M41T93_REG_MIN]); m41t93_get_time()
148 tm->tm_hour = bcd2bin(buf[M41T93_REG_CENT_HOUR] & 0x3f); m41t93_get_time()
149 tm->tm_mday = bcd2bin(buf[M41T93_REG_DAY]); m41t93_get_time()
150 tm->tm_mon = bcd2bin(buf[M41T93_REG_MON]) - 1; m41t93_get_time()
151 tm->tm_wday = bcd2bin(buf[M41T93_REG_WDAY] & 0x0f) - 1; m41t93_get_time()
154 tm->tm_year = bcd2bin(buf[M41T93_REG_YEAR]) + century_after_1900 * 100; m41t93_get_time()
158 "read", tm->tm_sec, tm->tm_min, m41t93_get_time()
159 tm->tm_hour, tm->tm_mday, m41t93_get_time()
160 tm->tm_mon, tm->tm_year, tm->tm_wday); m41t93_get_time()
162 return ret < 0 ? ret : rtc_valid_tm(tm); m41t93_get_time()
H A Drtc-bq4802.c49 static int bq4802_read_time(struct device *dev, struct rtc_time *tm) bq4802_read_time() argument
62 tm->tm_sec = p->read(p, 0x00); bq4802_read_time()
63 tm->tm_min = p->read(p, 0x02); bq4802_read_time()
64 tm->tm_hour = p->read(p, 0x04); bq4802_read_time()
65 tm->tm_mday = p->read(p, 0x06); bq4802_read_time()
66 tm->tm_mon = p->read(p, 0x09); bq4802_read_time()
67 tm->tm_year = p->read(p, 0x0a); bq4802_read_time()
68 tm->tm_wday = p->read(p, 0x08); bq4802_read_time()
75 tm->tm_sec = bcd2bin(tm->tm_sec); bq4802_read_time()
76 tm->tm_min = bcd2bin(tm->tm_min); bq4802_read_time()
77 tm->tm_hour = bcd2bin(tm->tm_hour); bq4802_read_time()
78 tm->tm_mday = bcd2bin(tm->tm_mday); bq4802_read_time()
79 tm->tm_mon = bcd2bin(tm->tm_mon); bq4802_read_time()
80 tm->tm_year = bcd2bin(tm->tm_year); bq4802_read_time()
81 tm->tm_wday = bcd2bin(tm->tm_wday); bq4802_read_time()
84 tm->tm_year += (century * 100); bq4802_read_time()
85 tm->tm_year -= 1900; bq4802_read_time()
87 tm->tm_mon--; bq4802_read_time()
92 static int bq4802_set_time(struct device *dev, struct rtc_time *tm) bq4802_set_time() argument
100 year = tm->tm_year + 1900; bq4802_set_time()
104 mon = tm->tm_mon + 1; /* tm_mon starts at zero */ bq4802_set_time()
105 day = tm->tm_mday; bq4802_set_time()
106 hrs = tm->tm_hour; bq4802_set_time()
107 min = tm->tm_min; bq4802_set_time()
108 sec = tm->tm_sec; bq4802_set_time()
H A Drtc-m48t86.c45 static int m48t86_rtc_read_time(struct device *dev, struct rtc_time *tm) m48t86_rtc_read_time() argument
55 tm->tm_sec = ops->readbyte(M48T86_REG_SEC); m48t86_rtc_read_time()
56 tm->tm_min = ops->readbyte(M48T86_REG_MIN); m48t86_rtc_read_time()
57 tm->tm_hour = ops->readbyte(M48T86_REG_HOUR) & 0x3F; m48t86_rtc_read_time()
58 tm->tm_mday = ops->readbyte(M48T86_REG_DOM); m48t86_rtc_read_time()
60 tm->tm_mon = ops->readbyte(M48T86_REG_MONTH) - 1; m48t86_rtc_read_time()
61 tm->tm_year = ops->readbyte(M48T86_REG_YEAR) + 100; m48t86_rtc_read_time()
62 tm->tm_wday = ops->readbyte(M48T86_REG_DOW); m48t86_rtc_read_time()
65 tm->tm_sec = bcd2bin(ops->readbyte(M48T86_REG_SEC)); m48t86_rtc_read_time()
66 tm->tm_min = bcd2bin(ops->readbyte(M48T86_REG_MIN)); m48t86_rtc_read_time()
67 tm->tm_hour = bcd2bin(ops->readbyte(M48T86_REG_HOUR) & 0x3F); m48t86_rtc_read_time()
68 tm->tm_mday = bcd2bin(ops->readbyte(M48T86_REG_DOM)); m48t86_rtc_read_time()
70 tm->tm_mon = bcd2bin(ops->readbyte(M48T86_REG_MONTH)) - 1; m48t86_rtc_read_time()
71 tm->tm_year = bcd2bin(ops->readbyte(M48T86_REG_YEAR)) + 100; m48t86_rtc_read_time()
72 tm->tm_wday = bcd2bin(ops->readbyte(M48T86_REG_DOW)); m48t86_rtc_read_time()
78 tm->tm_hour += 12; m48t86_rtc_read_time()
80 return rtc_valid_tm(tm); m48t86_rtc_read_time()
83 static int m48t86_rtc_set_time(struct device *dev, struct rtc_time *tm) m48t86_rtc_set_time() argument
97 ops->writebyte(tm->tm_sec, M48T86_REG_SEC); m48t86_rtc_set_time()
98 ops->writebyte(tm->tm_min, M48T86_REG_MIN); m48t86_rtc_set_time()
99 ops->writebyte(tm->tm_hour, M48T86_REG_HOUR); m48t86_rtc_set_time()
100 ops->writebyte(tm->tm_mday, M48T86_REG_DOM); m48t86_rtc_set_time()
101 ops->writebyte(tm->tm_mon + 1, M48T86_REG_MONTH); m48t86_rtc_set_time()
102 ops->writebyte(tm->tm_year % 100, M48T86_REG_YEAR); m48t86_rtc_set_time()
103 ops->writebyte(tm->tm_wday, M48T86_REG_DOW); m48t86_rtc_set_time()
106 ops->writebyte(bin2bcd(tm->tm_sec), M48T86_REG_SEC); m48t86_rtc_set_time()
107 ops->writebyte(bin2bcd(tm->tm_min), M48T86_REG_MIN); m48t86_rtc_set_time()
108 ops->writebyte(bin2bcd(tm->tm_hour), M48T86_REG_HOUR); m48t86_rtc_set_time()
109 ops->writebyte(bin2bcd(tm->tm_mday), M48T86_REG_DOM); m48t86_rtc_set_time()
110 ops->writebyte(bin2bcd(tm->tm_mon + 1), M48T86_REG_MONTH); m48t86_rtc_set_time()
111 ops->writebyte(bin2bcd(tm->tm_year % 100), M48T86_REG_YEAR); m48t86_rtc_set_time()
112 ops->writebyte(bin2bcd(tm->tm_wday), M48T86_REG_DOW); m48t86_rtc_set_time()
H A Drtc-m48t35.c50 static int m48t35_read_time(struct device *dev, struct rtc_time *tm) m48t35_read_time() argument
64 tm->tm_sec = readb(&priv->reg->sec); m48t35_read_time()
65 tm->tm_min = readb(&priv->reg->min); m48t35_read_time()
66 tm->tm_hour = readb(&priv->reg->hour); m48t35_read_time()
67 tm->tm_mday = readb(&priv->reg->date); m48t35_read_time()
68 tm->tm_mon = readb(&priv->reg->month); m48t35_read_time()
69 tm->tm_year = readb(&priv->reg->year); m48t35_read_time()
73 tm->tm_sec = bcd2bin(tm->tm_sec); m48t35_read_time()
74 tm->tm_min = bcd2bin(tm->tm_min); m48t35_read_time()
75 tm->tm_hour = bcd2bin(tm->tm_hour); m48t35_read_time()
76 tm->tm_mday = bcd2bin(tm->tm_mday); m48t35_read_time()
77 tm->tm_mon = bcd2bin(tm->tm_mon); m48t35_read_time()
78 tm->tm_year = bcd2bin(tm->tm_year); m48t35_read_time()
84 tm->tm_year += 70; m48t35_read_time()
85 if (tm->tm_year <= 69) m48t35_read_time()
86 tm->tm_year += 100; m48t35_read_time()
88 tm->tm_mon--; m48t35_read_time()
89 return rtc_valid_tm(tm); m48t35_read_time()
92 static int m48t35_set_time(struct device *dev, struct rtc_time *tm) m48t35_set_time() argument
99 yrs = tm->tm_year + 1900; m48t35_set_time()
100 mon = tm->tm_mon + 1; /* tm_mon starts at zero */ m48t35_set_time()
101 day = tm->tm_mday; m48t35_set_time()
102 hrs = tm->tm_hour; m48t35_set_time()
103 min = tm->tm_min; m48t35_set_time()
104 sec = tm->tm_sec; m48t35_set_time()
H A Drtc-wm8350.c38 static int wm8350_rtc_readtime(struct device *dev, struct rtc_time *tm) wm8350_rtc_readtime() argument
59 tm->tm_sec = time1[0] & WM8350_RTC_SECS_MASK; wm8350_rtc_readtime()
61 tm->tm_min = (time1[0] & WM8350_RTC_MINS_MASK) wm8350_rtc_readtime()
64 tm->tm_hour = time1[1] & WM8350_RTC_HRS_MASK; wm8350_rtc_readtime()
66 tm->tm_wday = ((time1[1] >> WM8350_RTC_DAY_SHIFT) wm8350_rtc_readtime()
69 tm->tm_mon = ((time1[2] & WM8350_RTC_MTH_MASK) wm8350_rtc_readtime()
72 tm->tm_mday = (time1[2] & WM8350_RTC_DATE_MASK); wm8350_rtc_readtime()
74 tm->tm_year = ((time1[3] & WM8350_RTC_YHUNDREDS_MASK) wm8350_rtc_readtime()
76 tm->tm_year += time1[3] & WM8350_RTC_YUNITS_MASK; wm8350_rtc_readtime()
78 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, wm8350_rtc_readtime()
79 tm->tm_year); wm8350_rtc_readtime()
80 tm->tm_year -= 1900; wm8350_rtc_readtime()
97 static int wm8350_rtc_settime(struct device *dev, struct rtc_time *tm) wm8350_rtc_settime() argument
104 time[0] = tm->tm_sec; wm8350_rtc_settime()
105 time[0] |= tm->tm_min << WM8350_RTC_MINS_SHIFT; wm8350_rtc_settime()
106 time[1] = tm->tm_hour; wm8350_rtc_settime()
107 time[1] |= (tm->tm_wday + 1) << WM8350_RTC_DAY_SHIFT; wm8350_rtc_settime()
108 time[2] = tm->tm_mday; wm8350_rtc_settime()
109 time[2] |= (tm->tm_mon + 1) << WM8350_RTC_MTH_SHIFT; wm8350_rtc_settime()
110 time[3] = ((tm->tm_year + 1900) / 100) << WM8350_RTC_YHUNDREDS_SHIFT; wm8350_rtc_settime()
111 time[3] |= (tm->tm_year + 1900) % 100; wm8350_rtc_settime()
149 struct rtc_time *tm = &alrm->time; wm8350_rtc_readalarm() local
157 tm->tm_sec = time[0] & WM8350_RTC_ALMSECS_MASK; wm8350_rtc_readalarm()
158 if (tm->tm_sec == WM8350_RTC_ALMSECS_MASK) wm8350_rtc_readalarm()
159 tm->tm_sec = -1; wm8350_rtc_readalarm()
161 tm->tm_min = time[0] & WM8350_RTC_ALMMINS_MASK; wm8350_rtc_readalarm()
162 if (tm->tm_min == WM8350_RTC_ALMMINS_MASK) wm8350_rtc_readalarm()
163 tm->tm_min = -1; wm8350_rtc_readalarm()
165 tm->tm_min >>= WM8350_RTC_ALMMINS_SHIFT; wm8350_rtc_readalarm()
167 tm->tm_hour = time[1] & WM8350_RTC_ALMHRS_MASK; wm8350_rtc_readalarm()
168 if (tm->tm_hour == WM8350_RTC_ALMHRS_MASK) wm8350_rtc_readalarm()
169 tm->tm_hour = -1; wm8350_rtc_readalarm()
171 tm->tm_wday = ((time[1] >> WM8350_RTC_ALMDAY_SHIFT) & 0x7) - 1; wm8350_rtc_readalarm()
172 if (tm->tm_wday > 7) wm8350_rtc_readalarm()
173 tm->tm_wday = -1; wm8350_rtc_readalarm()
175 tm->tm_mon = time[2] & WM8350_RTC_ALMMTH_MASK; wm8350_rtc_readalarm()
176 if (tm->tm_mon == WM8350_RTC_ALMMTH_MASK) wm8350_rtc_readalarm()
177 tm->tm_mon = -1; wm8350_rtc_readalarm()
179 tm->tm_mon = (tm->tm_mon >> WM8350_RTC_ALMMTH_SHIFT) - 1; wm8350_rtc_readalarm()
181 tm->tm_mday = (time[2] & WM8350_RTC_ALMDATE_MASK); wm8350_rtc_readalarm()
182 if (tm->tm_mday == WM8350_RTC_ALMDATE_MASK) wm8350_rtc_readalarm()
183 tm->tm_mday = -1; wm8350_rtc_readalarm()
185 tm->tm_year = -1; wm8350_rtc_readalarm()
253 struct rtc_time *tm = &alrm->time; wm8350_rtc_setalarm() local
259 if (tm->tm_sec != -1) wm8350_rtc_setalarm()
260 time[0] |= tm->tm_sec; wm8350_rtc_setalarm()
264 if (tm->tm_min != -1) wm8350_rtc_setalarm()
265 time[0] |= tm->tm_min << WM8350_RTC_ALMMINS_SHIFT; wm8350_rtc_setalarm()
269 if (tm->tm_hour != -1) wm8350_rtc_setalarm()
270 time[1] |= tm->tm_hour; wm8350_rtc_setalarm()
274 if (tm->tm_wday != -1) wm8350_rtc_setalarm()
275 time[1] |= (tm->tm_wday + 1) << WM8350_RTC_ALMDAY_SHIFT; wm8350_rtc_setalarm()
279 if (tm->tm_mday != -1) wm8350_rtc_setalarm()
280 time[2] |= tm->tm_mday; wm8350_rtc_setalarm()
284 if (tm->tm_mon != -1) wm8350_rtc_setalarm()
285 time[2] |= (tm->tm_mon + 1) << WM8350_RTC_ALMMTH_SHIFT; wm8350_rtc_setalarm()
H A Drtc-moxart.c142 static int moxart_rtc_set_time(struct device *dev, struct rtc_time *tm) moxart_rtc_set_time() argument
150 (((tm->tm_year - 100) / 10) << 4) | moxart_rtc_set_time()
151 ((tm->tm_year - 100) % 10)); moxart_rtc_set_time()
154 (((tm->tm_mon + 1) / 10) << 4) | moxart_rtc_set_time()
155 ((tm->tm_mon + 1) % 10)); moxart_rtc_set_time()
158 ((tm->tm_mday / 10) << 4) | moxart_rtc_set_time()
159 (tm->tm_mday % 10)); moxart_rtc_set_time()
162 ((tm->tm_hour / 10) << 4) | moxart_rtc_set_time()
163 (tm->tm_hour % 10)); moxart_rtc_set_time()
166 ((tm->tm_min / 10) << 4) | moxart_rtc_set_time()
167 (tm->tm_min % 10)); moxart_rtc_set_time()
170 ((tm->tm_sec / 10) << 4) | moxart_rtc_set_time()
171 (tm->tm_sec % 10)); moxart_rtc_set_time()
179 __func__, tm->tm_year, tm->tm_mon, tm->tm_mday, moxart_rtc_set_time()
180 tm->tm_hour, tm->tm_min, tm->tm_sec); moxart_rtc_set_time()
185 static int moxart_rtc_read_time(struct device *dev, struct rtc_time *tm) moxart_rtc_read_time() argument
193 tm->tm_sec = (((v & 0x70) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
196 tm->tm_min = (((v & 0x70) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
200 tm->tm_hour = (((v & 0x10) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
202 tm->tm_hour += 12; moxart_rtc_read_time()
203 if (tm->tm_hour >= 24) moxart_rtc_read_time()
204 tm->tm_hour = 0; moxart_rtc_read_time()
207 tm->tm_hour = (((v & 0x30) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
211 tm->tm_mday = (((v & 0x30) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
214 tm->tm_mon = (((v & 0x10) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
215 tm->tm_mon--; moxart_rtc_read_time()
218 tm->tm_year = (((v & 0xF0) >> 4) * 10) + (v & 0x0F); moxart_rtc_read_time()
219 tm->tm_year += 100; moxart_rtc_read_time()
220 if (tm->tm_year <= 69) moxart_rtc_read_time()
221 tm->tm_year += 100; moxart_rtc_read_time()
224 tm->tm_wday = (v & 0x0f) - 1; moxart_rtc_read_time()
225 tm->tm_yday = day_of_year[tm->tm_mon]; moxart_rtc_read_time()
226 tm->tm_yday += (tm->tm_mday - 1); moxart_rtc_read_time()
227 if (tm->tm_mon >= 2) { moxart_rtc_read_time()
228 if (!(tm->tm_year % 4) && (tm->tm_year % 100)) moxart_rtc_read_time()
229 tm->tm_yday++; moxart_rtc_read_time()
232 tm->tm_isdst = 0; moxart_rtc_read_time()
H A Drtc-pcf8563.c204 static int pcf8563_get_datetime(struct i2c_client *client, struct rtc_time *tm) pcf8563_get_datetime() argument
230 tm->tm_sec = bcd2bin(buf[PCF8563_REG_SC] & 0x7F); pcf8563_get_datetime()
231 tm->tm_min = bcd2bin(buf[PCF8563_REG_MN] & 0x7F); pcf8563_get_datetime()
232 tm->tm_hour = bcd2bin(buf[PCF8563_REG_HR] & 0x3F); /* rtc hr 0-23 */ pcf8563_get_datetime()
233 tm->tm_mday = bcd2bin(buf[PCF8563_REG_DM] & 0x3F); pcf8563_get_datetime()
234 tm->tm_wday = buf[PCF8563_REG_DW] & 0x07; pcf8563_get_datetime()
235 tm->tm_mon = bcd2bin(buf[PCF8563_REG_MO] & 0x1F) - 1; /* rtc mn 1-12 */ pcf8563_get_datetime()
236 tm->tm_year = bcd2bin(buf[PCF8563_REG_YR]); pcf8563_get_datetime()
237 if (tm->tm_year < 70) pcf8563_get_datetime()
238 tm->tm_year += 100; /* assume we are in 1970...2069 */ pcf8563_get_datetime()
241 (tm->tm_year >= 100) : (tm->tm_year < 100); pcf8563_get_datetime()
243 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " pcf8563_get_datetime()
246 tm->tm_sec, tm->tm_min, tm->tm_hour, pcf8563_get_datetime()
247 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); pcf8563_get_datetime()
252 static int pcf8563_set_datetime(struct i2c_client *client, struct rtc_time *tm) pcf8563_set_datetime() argument
260 tm->tm_sec, tm->tm_min, tm->tm_hour, pcf8563_set_datetime()
261 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); pcf8563_set_datetime()
264 buf[PCF8563_REG_SC] = bin2bcd(tm->tm_sec); pcf8563_set_datetime()
265 buf[PCF8563_REG_MN] = bin2bcd(tm->tm_min); pcf8563_set_datetime()
266 buf[PCF8563_REG_HR] = bin2bcd(tm->tm_hour); pcf8563_set_datetime()
268 buf[PCF8563_REG_DM] = bin2bcd(tm->tm_mday); pcf8563_set_datetime()
271 buf[PCF8563_REG_MO] = bin2bcd(tm->tm_mon + 1); pcf8563_set_datetime()
274 buf[PCF8563_REG_YR] = bin2bcd(tm->tm_year % 100); pcf8563_set_datetime()
275 if (pcf8563->c_polarity ? (tm->tm_year >= 100) : (tm->tm_year < 100)) pcf8563_set_datetime()
278 buf[PCF8563_REG_DW] = tm->tm_wday & 0x07; pcf8563_set_datetime()
288 struct rtc_time tm; pcf8563_rtc_ioctl() local
307 if (pcf8563_get_datetime(to_i2c_client(dev), &tm)) pcf8563_rtc_ioctl()
308 pcf8563_set_datetime(to_i2c_client(dev), &tm); pcf8563_rtc_ioctl() local
322 static int pcf8563_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf8563_rtc_read_time() argument
324 return pcf8563_get_datetime(to_i2c_client(dev), tm); pcf8563_rtc_read_time()
327 static int pcf8563_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf8563_rtc_set_time() argument
329 return pcf8563_set_datetime(to_i2c_client(dev), tm); pcf8563_rtc_set_time()
332 static int pcf8563_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *tm) pcf8563_rtc_read_alarm() argument
346 tm->time.tm_min = bcd2bin(buf[0] & 0x7F); pcf8563_rtc_read_alarm()
347 tm->time.tm_hour = bcd2bin(buf[1] & 0x3F); pcf8563_rtc_read_alarm()
348 tm->time.tm_mday = bcd2bin(buf[2] & 0x3F); pcf8563_rtc_read_alarm()
349 tm->time.tm_wday = bcd2bin(buf[3] & 0x7); pcf8563_rtc_read_alarm()
350 tm->time.tm_mon = -1; pcf8563_rtc_read_alarm()
351 tm->time.tm_year = -1; pcf8563_rtc_read_alarm()
352 tm->time.tm_yday = -1; pcf8563_rtc_read_alarm()
353 tm->time.tm_isdst = -1; pcf8563_rtc_read_alarm()
355 err = pcf8563_get_alarm_mode(client, &tm->enabled, &tm->pending); pcf8563_rtc_read_alarm()
359 dev_dbg(&client->dev, "%s: tm is mins=%d, hours=%d, mday=%d, wday=%d," pcf8563_rtc_read_alarm()
360 " enabled=%d, pending=%d\n", __func__, tm->time.tm_min, pcf8563_rtc_read_alarm()
361 tm->time.tm_hour, tm->time.tm_mday, tm->time.tm_wday, pcf8563_rtc_read_alarm()
362 tm->enabled, tm->pending); pcf8563_rtc_read_alarm()
367 static int pcf8563_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *tm) pcf8563_rtc_set_alarm() argument
374 if (tm->time.tm_sec) { pcf8563_rtc_set_alarm()
375 time64_t alarm_time = rtc_tm_to_time64(&tm->time); pcf8563_rtc_set_alarm()
377 alarm_time += 60 - tm->time.tm_sec; pcf8563_rtc_set_alarm()
378 rtc_time64_to_tm(alarm_time, &tm->time); pcf8563_rtc_set_alarm()
383 tm->time.tm_min, tm->time.tm_hour, tm->time.tm_wday, pcf8563_rtc_set_alarm()
384 tm->time.tm_mday, tm->enabled, tm->pending); pcf8563_rtc_set_alarm()
386 buf[0] = bin2bcd(tm->time.tm_min); pcf8563_rtc_set_alarm()
387 buf[1] = bin2bcd(tm->time.tm_hour); pcf8563_rtc_set_alarm()
388 buf[2] = bin2bcd(tm->time.tm_mday); pcf8563_rtc_set_alarm()
389 buf[3] = tm->time.tm_wday & 0x07; pcf8563_rtc_set_alarm()
H A Drtc-ds1302.c144 static int ds1302_rtc_read_time(struct device *dev, struct rtc_time *tm) ds1302_rtc_read_time() argument
146 tm->tm_sec = bcd2bin(ds1302_readbyte(RTC_ADDR_SEC)); ds1302_rtc_read_time()
147 tm->tm_min = bcd2bin(ds1302_readbyte(RTC_ADDR_MIN)); ds1302_rtc_read_time()
148 tm->tm_hour = bcd2bin(ds1302_readbyte(RTC_ADDR_HOUR)); ds1302_rtc_read_time()
149 tm->tm_wday = bcd2bin(ds1302_readbyte(RTC_ADDR_DAY)); ds1302_rtc_read_time()
150 tm->tm_mday = bcd2bin(ds1302_readbyte(RTC_ADDR_DATE)); ds1302_rtc_read_time()
151 tm->tm_mon = bcd2bin(ds1302_readbyte(RTC_ADDR_MON)) - 1; ds1302_rtc_read_time()
152 tm->tm_year = bcd2bin(ds1302_readbyte(RTC_ADDR_YEAR)); ds1302_rtc_read_time()
154 if (tm->tm_year < 70) ds1302_rtc_read_time()
155 tm->tm_year += 100; ds1302_rtc_read_time()
157 dev_dbg(dev, "%s: tm is secs=%d, mins=%d, hours=%d, " ds1302_rtc_read_time()
160 tm->tm_sec, tm->tm_min, tm->tm_hour, ds1302_rtc_read_time()
161 tm->tm_mday, tm->tm_mon + 1, tm->tm_year, tm->tm_wday); ds1302_rtc_read_time()
163 return rtc_valid_tm(tm); ds1302_rtc_read_time()
166 static int ds1302_rtc_set_time(struct device *dev, struct rtc_time *tm) ds1302_rtc_set_time() argument
172 ds1302_writebyte(RTC_ADDR_SEC, bin2bcd(tm->tm_sec)); ds1302_rtc_set_time()
173 ds1302_writebyte(RTC_ADDR_MIN, bin2bcd(tm->tm_min)); ds1302_rtc_set_time()
174 ds1302_writebyte(RTC_ADDR_HOUR, bin2bcd(tm->tm_hour)); ds1302_rtc_set_time()
175 ds1302_writebyte(RTC_ADDR_DAY, bin2bcd(tm->tm_wday)); ds1302_rtc_set_time()
176 ds1302_writebyte(RTC_ADDR_DATE, bin2bcd(tm->tm_mday)); ds1302_rtc_set_time()
177 ds1302_writebyte(RTC_ADDR_MON, bin2bcd(tm->tm_mon + 1)); ds1302_rtc_set_time()
178 ds1302_writebyte(RTC_ADDR_YEAR, bin2bcd(tm->tm_year % 100)); ds1302_rtc_set_time()
H A Drtc-tile.c28 static int read_rtc_time(struct device *dev, struct rtc_time *tm) read_rtc_time() argument
32 tm->tm_sec = hvtm.tm_sec; read_rtc_time()
33 tm->tm_min = hvtm.tm_min; read_rtc_time()
34 tm->tm_hour = hvtm.tm_hour; read_rtc_time()
35 tm->tm_mday = hvtm.tm_mday; read_rtc_time()
36 tm->tm_mon = hvtm.tm_mon; read_rtc_time()
37 tm->tm_year = hvtm.tm_year; read_rtc_time()
38 tm->tm_wday = 0; read_rtc_time()
39 tm->tm_yday = 0; read_rtc_time()
40 tm->tm_isdst = 0; read_rtc_time()
42 if (rtc_valid_tm(tm) < 0) read_rtc_time()
52 static int set_rtc_time(struct device *dev, struct rtc_time *tm) set_rtc_time() argument
56 hvtm.tm_sec = tm->tm_sec; set_rtc_time()
57 hvtm.tm_min = tm->tm_min; set_rtc_time()
58 hvtm.tm_hour = tm->tm_hour; set_rtc_time()
59 hvtm.tm_mday = tm->tm_mday; set_rtc_time()
60 hvtm.tm_mon = tm->tm_mon; set_rtc_time()
61 hvtm.tm_year = tm->tm_year; set_rtc_time()
H A Drtc-max8907.c61 static void regs_to_tm(u8 *regs, struct rtc_time *tm) regs_to_tm() argument
63 tm->tm_year = bcd2bin(regs[RTC_YEAR2]) * 100 + regs_to_tm()
65 tm->tm_mon = bcd2bin(regs[RTC_MONTH] & 0x1f) - 1; regs_to_tm()
66 tm->tm_mday = bcd2bin(regs[RTC_DATE] & 0x3f); regs_to_tm()
67 tm->tm_wday = (regs[RTC_WEEKDAY] & 0x07); regs_to_tm()
69 tm->tm_hour = bcd2bin(regs[RTC_HOUR] & 0x01f); regs_to_tm()
70 if (tm->tm_hour == 12) regs_to_tm()
71 tm->tm_hour = 0; regs_to_tm()
73 tm->tm_hour += 12; regs_to_tm()
75 tm->tm_hour = bcd2bin(regs[RTC_HOUR] & 0x03f); regs_to_tm()
77 tm->tm_min = bcd2bin(regs[RTC_MIN] & 0x7f); regs_to_tm()
78 tm->tm_sec = bcd2bin(regs[RTC_SEC] & 0x7f); regs_to_tm()
81 static void tm_to_regs(struct rtc_time *tm, u8 *regs) tm_to_regs() argument
85 high = (tm->tm_year + 1900) / 100; tm_to_regs()
86 low = tm->tm_year % 100; tm_to_regs()
89 regs[RTC_MONTH] = bin2bcd(tm->tm_mon + 1); tm_to_regs()
90 regs[RTC_DATE] = bin2bcd(tm->tm_mday); tm_to_regs()
91 regs[RTC_WEEKDAY] = tm->tm_wday; tm_to_regs()
92 regs[RTC_HOUR] = bin2bcd(tm->tm_hour); tm_to_regs()
93 regs[RTC_MIN] = bin2bcd(tm->tm_min); tm_to_regs()
94 regs[RTC_SEC] = bin2bcd(tm->tm_sec); tm_to_regs()
97 static int max8907_rtc_read_time(struct device *dev, struct rtc_time *tm) max8907_rtc_read_time() argument
108 regs_to_tm(regs, tm); max8907_rtc_read_time()
113 static int max8907_rtc_set_time(struct device *dev, struct rtc_time *tm) max8907_rtc_set_time() argument
118 tm_to_regs(tm, regs); max8907_rtc_set_time()
H A Drtc-pcf85063.c46 static int pcf85063_get_datetime(struct i2c_client *client, struct rtc_time *tm) pcf85063_get_datetime() argument
70 tm->tm_sec = bcd2bin(buf[PCF85063_REG_SC] & 0x7F); pcf85063_get_datetime()
71 tm->tm_min = bcd2bin(buf[PCF85063_REG_MN] & 0x7F); pcf85063_get_datetime()
72 tm->tm_hour = bcd2bin(buf[PCF85063_REG_HR] & 0x3F); /* rtc hr 0-23 */ pcf85063_get_datetime()
73 tm->tm_mday = bcd2bin(buf[PCF85063_REG_DM] & 0x3F); pcf85063_get_datetime()
74 tm->tm_wday = buf[PCF85063_REG_DW] & 0x07; pcf85063_get_datetime()
75 tm->tm_mon = bcd2bin(buf[PCF85063_REG_MO] & 0x1F) - 1; /* rtc mn 1-12 */ pcf85063_get_datetime()
76 tm->tm_year = bcd2bin(buf[PCF85063_REG_YR]); pcf85063_get_datetime()
77 if (tm->tm_year < 70) pcf85063_get_datetime()
78 tm->tm_year += 100; /* assume we are in 1970...2069 */ pcf85063_get_datetime()
81 (tm->tm_year >= 100) : (tm->tm_year < 100); pcf85063_get_datetime()
83 return rtc_valid_tm(tm); pcf85063_get_datetime()
86 static int pcf85063_set_datetime(struct i2c_client *client, struct rtc_time *tm) pcf85063_set_datetime() argument
96 buf[PCF85063_REG_SC] = bin2bcd(tm->tm_sec) & 0x7F; pcf85063_set_datetime()
98 buf[PCF85063_REG_MN] = bin2bcd(tm->tm_min); pcf85063_set_datetime()
99 buf[PCF85063_REG_HR] = bin2bcd(tm->tm_hour); pcf85063_set_datetime()
102 buf[PCF85063_REG_DM] = bin2bcd(tm->tm_mday); pcf85063_set_datetime()
105 buf[PCF85063_REG_DW] = tm->tm_wday & 0x07; pcf85063_set_datetime()
108 buf[PCF85063_REG_MO] = bin2bcd(tm->tm_mon + 1); pcf85063_set_datetime()
111 buf[PCF85063_REG_YR] = bin2bcd(tm->tm_year % 100); pcf85063_set_datetime()
128 static int pcf85063_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf85063_rtc_read_time() argument
130 return pcf85063_get_datetime(to_i2c_client(dev), tm); pcf85063_rtc_read_time()
133 static int pcf85063_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf85063_rtc_set_time() argument
135 return pcf85063_set_datetime(to_i2c_client(dev), tm); pcf85063_rtc_set_time()
H A Drtc-at91rm9200.c117 struct rtc_time *tm) at91_rtc_decodetime()
128 tm->tm_sec = bcd2bin((time & AT91_RTC_SEC) >> 0); at91_rtc_decodetime()
129 tm->tm_min = bcd2bin((time & AT91_RTC_MIN) >> 8); at91_rtc_decodetime()
130 tm->tm_hour = bcd2bin((time & AT91_RTC_HOUR) >> 16); at91_rtc_decodetime()
137 tm->tm_year = bcd2bin(date & AT91_RTC_CENT) * 100; /* century */ at91_rtc_decodetime()
138 tm->tm_year += bcd2bin((date & AT91_RTC_YEAR) >> 8); /* year */ at91_rtc_decodetime()
140 tm->tm_wday = bcd2bin((date & AT91_RTC_DAY) >> 21) - 1; /* day of the week [0-6], Sunday=0 */ at91_rtc_decodetime()
141 tm->tm_mon = bcd2bin((date & AT91_RTC_MONTH) >> 16) - 1; at91_rtc_decodetime()
142 tm->tm_mday = bcd2bin((date & AT91_RTC_DATE) >> 24); at91_rtc_decodetime()
148 static int at91_rtc_readtime(struct device *dev, struct rtc_time *tm) at91_rtc_readtime() argument
150 at91_rtc_decodetime(AT91_RTC_TIMR, AT91_RTC_CALR, tm); at91_rtc_readtime()
151 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year); at91_rtc_readtime()
152 tm->tm_year = tm->tm_year - 1900; at91_rtc_readtime()
155 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, at91_rtc_readtime()
156 tm->tm_hour, tm->tm_min, tm->tm_sec); at91_rtc_readtime()
164 static int at91_rtc_settime(struct device *dev, struct rtc_time *tm) at91_rtc_settime() argument
169 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, at91_rtc_settime()
170 tm->tm_hour, tm->tm_min, tm->tm_sec); at91_rtc_settime()
183 bin2bcd(tm->tm_sec) << 0 at91_rtc_settime()
184 | bin2bcd(tm->tm_min) << 8 at91_rtc_settime()
185 | bin2bcd(tm->tm_hour) << 16); at91_rtc_settime()
188 bin2bcd((tm->tm_year + 1900) / 100) /* century */ at91_rtc_settime()
189 | bin2bcd(tm->tm_year % 100) << 8 /* year */ at91_rtc_settime()
190 | bin2bcd(tm->tm_mon + 1) << 16 /* tm_mon starts at zero */ at91_rtc_settime()
191 | bin2bcd(tm->tm_wday + 1) << 21 /* day of the week [0-6], Sunday=0 */ at91_rtc_settime()
192 | bin2bcd(tm->tm_mday) << 24); at91_rtc_settime()
208 struct rtc_time *tm = &alrm->time; at91_rtc_readalarm() local
210 at91_rtc_decodetime(AT91_RTC_TIMALR, AT91_RTC_CALALR, tm); at91_rtc_readalarm()
211 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year); at91_rtc_readalarm()
212 tm->tm_year = at91_alarm_year - 1900; at91_rtc_readalarm()
218 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, at91_rtc_readalarm()
219 tm->tm_hour, tm->tm_min, tm->tm_sec); at91_rtc_readalarm()
229 struct rtc_time tm; at91_rtc_setalarm() local
231 at91_rtc_decodetime(AT91_RTC_TIMR, AT91_RTC_CALR, &tm); at91_rtc_setalarm()
233 at91_alarm_year = tm.tm_year; at91_rtc_setalarm()
235 tm.tm_mon = alrm->time.tm_mon; at91_rtc_setalarm()
236 tm.tm_mday = alrm->time.tm_mday; at91_rtc_setalarm()
237 tm.tm_hour = alrm->time.tm_hour; at91_rtc_setalarm()
238 tm.tm_min = alrm->time.tm_min; at91_rtc_setalarm()
239 tm.tm_sec = alrm->time.tm_sec; at91_rtc_setalarm()
243 bin2bcd(tm.tm_sec) << 0 at91_rtc_setalarm()
244 | bin2bcd(tm.tm_min) << 8 at91_rtc_setalarm()
245 | bin2bcd(tm.tm_hour) << 16 at91_rtc_setalarm()
248 bin2bcd(tm.tm_mon + 1) << 16 /* tm_mon starts at zero */ at91_rtc_setalarm()
249 | bin2bcd(tm.tm_mday) << 24 at91_rtc_setalarm()
258 at91_alarm_year, tm.tm_mon, tm.tm_mday, tm.tm_hour, at91_rtc_setalarm()
259 tm.tm_min, tm.tm_sec); at91_rtc_setalarm()
116 at91_rtc_decodetime(unsigned int timereg, unsigned int calreg, struct rtc_time *tm) at91_rtc_decodetime() argument
H A Drtc-pcf2127.c49 static int pcf2127_get_datetime(struct i2c_client *client, struct rtc_time *tm) pcf2127_get_datetime() argument
84 tm->tm_sec = bcd2bin(buf[PCF2127_REG_SC] & 0x7F); pcf2127_get_datetime()
85 tm->tm_min = bcd2bin(buf[PCF2127_REG_MN] & 0x7F); pcf2127_get_datetime()
86 tm->tm_hour = bcd2bin(buf[PCF2127_REG_HR] & 0x3F); /* rtc hr 0-23 */ pcf2127_get_datetime()
87 tm->tm_mday = bcd2bin(buf[PCF2127_REG_DM] & 0x3F); pcf2127_get_datetime()
88 tm->tm_wday = buf[PCF2127_REG_DW] & 0x07; pcf2127_get_datetime()
89 tm->tm_mon = bcd2bin(buf[PCF2127_REG_MO] & 0x1F) - 1; /* rtc mn 1-12 */ pcf2127_get_datetime()
90 tm->tm_year = bcd2bin(buf[PCF2127_REG_YR]); pcf2127_get_datetime()
91 if (tm->tm_year < 70) pcf2127_get_datetime()
92 tm->tm_year += 100; /* assume we are in 1970...2069 */ pcf2127_get_datetime()
94 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " pcf2127_get_datetime()
97 tm->tm_sec, tm->tm_min, tm->tm_hour, pcf2127_get_datetime()
98 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); pcf2127_get_datetime()
100 return rtc_valid_tm(tm); pcf2127_get_datetime()
103 static int pcf2127_set_datetime(struct i2c_client *client, struct rtc_time *tm) pcf2127_set_datetime() argument
111 tm->tm_sec, tm->tm_min, tm->tm_hour, pcf2127_set_datetime()
112 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); pcf2127_set_datetime()
118 buf[i++] = bin2bcd(tm->tm_sec); /* this will also clear OSF flag */ pcf2127_set_datetime()
119 buf[i++] = bin2bcd(tm->tm_min); pcf2127_set_datetime()
120 buf[i++] = bin2bcd(tm->tm_hour); pcf2127_set_datetime()
121 buf[i++] = bin2bcd(tm->tm_mday); pcf2127_set_datetime()
122 buf[i++] = tm->tm_wday & 0x07; pcf2127_set_datetime()
125 buf[i++] = bin2bcd(tm->tm_mon + 1); pcf2127_set_datetime()
128 buf[i++] = bin2bcd(tm->tm_year % 100); pcf2127_set_datetime()
177 static int pcf2127_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf2127_rtc_read_time() argument
179 return pcf2127_get_datetime(to_i2c_client(dev), tm); pcf2127_rtc_read_time()
182 static int pcf2127_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf2127_rtc_set_time() argument
184 return pcf2127_set_datetime(to_i2c_client(dev), tm); pcf2127_rtc_set_time()
H A Drtc-lpc24xx.c74 static int lpc24xx_rtc_set_time(struct device *dev, struct rtc_time *tm) lpc24xx_rtc_set_time() argument
81 rtc_writel(rtc, LPC24XX_SEC, tm->tm_sec); lpc24xx_rtc_set_time()
82 rtc_writel(rtc, LPC24XX_MIN, tm->tm_min); lpc24xx_rtc_set_time()
83 rtc_writel(rtc, LPC24XX_HOUR, tm->tm_hour); lpc24xx_rtc_set_time()
84 rtc_writel(rtc, LPC24XX_DOW, tm->tm_wday); lpc24xx_rtc_set_time()
85 rtc_writel(rtc, LPC24XX_DOM, tm->tm_mday); lpc24xx_rtc_set_time()
86 rtc_writel(rtc, LPC24XX_DOY, tm->tm_yday); lpc24xx_rtc_set_time()
87 rtc_writel(rtc, LPC24XX_MONTH, tm->tm_mon); lpc24xx_rtc_set_time()
88 rtc_writel(rtc, LPC24XX_YEAR, tm->tm_year); lpc24xx_rtc_set_time()
95 static int lpc24xx_rtc_read_time(struct device *dev, struct rtc_time *tm) lpc24xx_rtc_read_time() argument
104 tm->tm_sec = CT0_SECS(ct0); lpc24xx_rtc_read_time()
105 tm->tm_min = CT0_MINS(ct0); lpc24xx_rtc_read_time()
106 tm->tm_hour = CT0_HOURS(ct0); lpc24xx_rtc_read_time()
107 tm->tm_wday = CT0_DOW(ct0); lpc24xx_rtc_read_time()
108 tm->tm_mon = CT1_MONTH(ct1); lpc24xx_rtc_read_time()
109 tm->tm_mday = CT1_DOM(ct1); lpc24xx_rtc_read_time()
110 tm->tm_year = CT1_YEAR(ct1); lpc24xx_rtc_read_time()
111 tm->tm_yday = CT2_DOY(ct2); lpc24xx_rtc_read_time()
113 return rtc_valid_tm(tm); lpc24xx_rtc_read_time()
119 struct rtc_time *tm = &wkalrm->time; lpc24xx_rtc_read_alarm() local
121 tm->tm_sec = rtc_readl(rtc, LPC24XX_ALSEC); lpc24xx_rtc_read_alarm()
122 tm->tm_min = rtc_readl(rtc, LPC24XX_ALMIN); lpc24xx_rtc_read_alarm()
123 tm->tm_hour = rtc_readl(rtc, LPC24XX_ALHOUR); lpc24xx_rtc_read_alarm()
124 tm->tm_mday = rtc_readl(rtc, LPC24XX_ALDOM); lpc24xx_rtc_read_alarm()
125 tm->tm_wday = rtc_readl(rtc, LPC24XX_ALDOW); lpc24xx_rtc_read_alarm()
126 tm->tm_yday = rtc_readl(rtc, LPC24XX_ALDOY); lpc24xx_rtc_read_alarm()
127 tm->tm_mon = rtc_readl(rtc, LPC24XX_ALMON); lpc24xx_rtc_read_alarm()
128 tm->tm_year = rtc_readl(rtc, LPC24XX_ALYEAR); lpc24xx_rtc_read_alarm()
139 struct rtc_time *tm = &wkalrm->time; lpc24xx_rtc_set_alarm() local
144 rtc_writel(rtc, LPC24XX_ALSEC, tm->tm_sec); lpc24xx_rtc_set_alarm()
145 rtc_writel(rtc, LPC24XX_ALMIN, tm->tm_min); lpc24xx_rtc_set_alarm()
146 rtc_writel(rtc, LPC24XX_ALHOUR, tm->tm_hour); lpc24xx_rtc_set_alarm()
147 rtc_writel(rtc, LPC24XX_ALDOM, tm->tm_mday); lpc24xx_rtc_set_alarm()
148 rtc_writel(rtc, LPC24XX_ALDOW, tm->tm_wday); lpc24xx_rtc_set_alarm()
149 rtc_writel(rtc, LPC24XX_ALDOY, tm->tm_yday); lpc24xx_rtc_set_alarm()
150 rtc_writel(rtc, LPC24XX_ALMON, tm->tm_mon); lpc24xx_rtc_set_alarm()
151 rtc_writel(rtc, LPC24XX_ALYEAR, tm->tm_year); lpc24xx_rtc_set_alarm()
H A Drtc-pcf2123.c139 static int pcf2123_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf2123_rtc_read_time() argument
152 tm->tm_sec = bcd2bin(rxbuf[0] & 0x7F); pcf2123_rtc_read_time()
153 tm->tm_min = bcd2bin(rxbuf[1] & 0x7F); pcf2123_rtc_read_time()
154 tm->tm_hour = bcd2bin(rxbuf[2] & 0x3F); /* rtc hr 0-23 */ pcf2123_rtc_read_time()
155 tm->tm_mday = bcd2bin(rxbuf[3] & 0x3F); pcf2123_rtc_read_time()
156 tm->tm_wday = rxbuf[4] & 0x07; pcf2123_rtc_read_time()
157 tm->tm_mon = bcd2bin(rxbuf[5] & 0x1F) - 1; /* rtc mn 1-12 */ pcf2123_rtc_read_time()
158 tm->tm_year = bcd2bin(rxbuf[6]); pcf2123_rtc_read_time()
159 if (tm->tm_year < 70) pcf2123_rtc_read_time()
160 tm->tm_year += 100; /* assume we are in 1970...2069 */ pcf2123_rtc_read_time()
162 dev_dbg(dev, "%s: tm is secs=%d, mins=%d, hours=%d, " pcf2123_rtc_read_time()
165 tm->tm_sec, tm->tm_min, tm->tm_hour, pcf2123_rtc_read_time()
166 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); pcf2123_rtc_read_time()
168 return rtc_valid_tm(tm); pcf2123_rtc_read_time()
171 static int pcf2123_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf2123_rtc_set_time() argument
177 dev_dbg(dev, "%s: tm is secs=%d, mins=%d, hours=%d, " pcf2123_rtc_set_time()
180 tm->tm_sec, tm->tm_min, tm->tm_hour, pcf2123_rtc_set_time()
181 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); pcf2123_rtc_set_time()
193 txbuf[1] = bin2bcd(tm->tm_sec & 0x7F); pcf2123_rtc_set_time()
194 txbuf[2] = bin2bcd(tm->tm_min & 0x7F); pcf2123_rtc_set_time()
195 txbuf[3] = bin2bcd(tm->tm_hour & 0x3F); pcf2123_rtc_set_time()
196 txbuf[4] = bin2bcd(tm->tm_mday & 0x3F); pcf2123_rtc_set_time()
197 txbuf[5] = tm->tm_wday & 0x07; pcf2123_rtc_set_time()
198 txbuf[6] = bin2bcd((tm->tm_mon + 1) & 0x1F); /* rtc mn 1-12 */ pcf2123_rtc_set_time()
199 txbuf[7] = bin2bcd(tm->tm_year < 100 ? tm->tm_year : tm->tm_year - 100); pcf2123_rtc_set_time()
H A Dhctosys.c30 struct rtc_time tm; rtc_hctosys() local
42 err = rtc_read_time(rtc, &tm); rtc_hctosys()
50 tv64.tv_sec = rtc_tm_to_time64(&tm); rtc_hctosys()
57 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, rtc_hctosys()
58 tm.tm_hour, tm.tm_min, tm.tm_sec, rtc_hctosys()
H A Drtc-em3027.c45 static int em3027_get_time(struct device *dev, struct rtc_time *tm) em3027_get_time() argument
72 tm->tm_sec = bcd2bin(buf[0]); em3027_get_time()
73 tm->tm_min = bcd2bin(buf[1]); em3027_get_time()
74 tm->tm_hour = bcd2bin(buf[2]); em3027_get_time()
75 tm->tm_mday = bcd2bin(buf[3]); em3027_get_time()
76 tm->tm_wday = bcd2bin(buf[4]); em3027_get_time()
77 tm->tm_mon = bcd2bin(buf[5]); em3027_get_time()
78 tm->tm_year = bcd2bin(buf[6]) + 100; em3027_get_time()
83 static int em3027_set_time(struct device *dev, struct rtc_time *tm) em3027_set_time() argument
95 buf[1] = bin2bcd(tm->tm_sec); em3027_set_time()
96 buf[2] = bin2bcd(tm->tm_min); em3027_set_time()
97 buf[3] = bin2bcd(tm->tm_hour); em3027_set_time()
98 buf[4] = bin2bcd(tm->tm_mday); em3027_set_time()
99 buf[5] = bin2bcd(tm->tm_wday); em3027_set_time()
100 buf[6] = bin2bcd(tm->tm_mon); em3027_set_time()
101 buf[7] = bin2bcd(tm->tm_year % 100); em3027_set_time()
H A Drtc-isl12022.c109 static int isl12022_get_datetime(struct i2c_client *client, struct rtc_time *tm) isl12022_get_datetime() argument
140 tm->tm_sec = bcd2bin(buf[ISL12022_REG_SC] & 0x7F); isl12022_get_datetime()
141 tm->tm_min = bcd2bin(buf[ISL12022_REG_MN] & 0x7F); isl12022_get_datetime()
142 tm->tm_hour = bcd2bin(buf[ISL12022_REG_HR] & 0x3F); isl12022_get_datetime()
143 tm->tm_mday = bcd2bin(buf[ISL12022_REG_DT] & 0x3F); isl12022_get_datetime()
144 tm->tm_wday = buf[ISL12022_REG_DW] & 0x07; isl12022_get_datetime()
145 tm->tm_mon = bcd2bin(buf[ISL12022_REG_MO] & 0x1F) - 1; isl12022_get_datetime()
146 tm->tm_year = bcd2bin(buf[ISL12022_REG_YR]) + 100; isl12022_get_datetime()
151 tm->tm_sec, tm->tm_min, tm->tm_hour, isl12022_get_datetime()
152 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); isl12022_get_datetime()
154 return rtc_valid_tm(tm); isl12022_get_datetime()
157 static int isl12022_set_datetime(struct i2c_client *client, struct rtc_time *tm) isl12022_set_datetime() argument
167 tm->tm_sec, tm->tm_min, tm->tm_hour, isl12022_set_datetime()
168 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); isl12022_set_datetime()
208 buf[ISL12022_REG_SC] = bin2bcd(tm->tm_sec); isl12022_set_datetime()
209 buf[ISL12022_REG_MN] = bin2bcd(tm->tm_min); isl12022_set_datetime()
210 buf[ISL12022_REG_HR] = bin2bcd(tm->tm_hour) | ISL12022_HR_MIL; isl12022_set_datetime()
212 buf[ISL12022_REG_DT] = bin2bcd(tm->tm_mday); isl12022_set_datetime()
215 buf[ISL12022_REG_MO] = bin2bcd(tm->tm_mon + 1); isl12022_set_datetime()
218 buf[ISL12022_REG_YR] = bin2bcd(tm->tm_year % 100); isl12022_set_datetime()
220 buf[ISL12022_REG_DW] = tm->tm_wday & 0x07; isl12022_set_datetime()
233 static int isl12022_rtc_read_time(struct device *dev, struct rtc_time *tm) isl12022_rtc_read_time() argument
235 return isl12022_get_datetime(to_i2c_client(dev), tm); isl12022_rtc_read_time()
238 static int isl12022_rtc_set_time(struct device *dev, struct rtc_time *tm) isl12022_rtc_set_time() argument
240 return isl12022_set_datetime(to_i2c_client(dev), tm); isl12022_rtc_set_time()
H A Drtc-max6900.c144 static int max6900_i2c_read_time(struct i2c_client *client, struct rtc_time *tm) max6900_i2c_read_time() argument
153 tm->tm_sec = bcd2bin(regs[MAX6900_REG_SC]); max6900_i2c_read_time()
154 tm->tm_min = bcd2bin(regs[MAX6900_REG_MN]); max6900_i2c_read_time()
155 tm->tm_hour = bcd2bin(regs[MAX6900_REG_HR] & 0x3f); max6900_i2c_read_time()
156 tm->tm_mday = bcd2bin(regs[MAX6900_REG_DT]); max6900_i2c_read_time()
157 tm->tm_mon = bcd2bin(regs[MAX6900_REG_MO]) - 1; max6900_i2c_read_time()
158 tm->tm_year = bcd2bin(regs[MAX6900_REG_YR]) + max6900_i2c_read_time()
160 tm->tm_wday = bcd2bin(regs[MAX6900_REG_DW]); max6900_i2c_read_time()
162 return rtc_valid_tm(tm); max6900_i2c_read_time()
171 max6900_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) max6900_i2c_set_time() argument
180 regs[MAX6900_REG_SC] = bin2bcd(tm->tm_sec); max6900_i2c_set_time()
181 regs[MAX6900_REG_MN] = bin2bcd(tm->tm_min); max6900_i2c_set_time()
182 regs[MAX6900_REG_HR] = bin2bcd(tm->tm_hour); max6900_i2c_set_time()
183 regs[MAX6900_REG_DT] = bin2bcd(tm->tm_mday); max6900_i2c_set_time()
184 regs[MAX6900_REG_MO] = bin2bcd(tm->tm_mon + 1); max6900_i2c_set_time()
185 regs[MAX6900_REG_DW] = bin2bcd(tm->tm_wday); max6900_i2c_set_time()
186 regs[MAX6900_REG_YR] = bin2bcd(tm->tm_year % 100); max6900_i2c_set_time()
187 regs[MAX6900_REG_CENTURY] = bin2bcd((tm->tm_year + 1900) / 100); max6900_i2c_set_time()
198 static int max6900_rtc_read_time(struct device *dev, struct rtc_time *tm) max6900_rtc_read_time() argument
200 return max6900_i2c_read_time(to_i2c_client(dev), tm); max6900_rtc_read_time()
203 static int max6900_rtc_set_time(struct device *dev, struct rtc_time *tm) max6900_rtc_set_time() argument
205 return max6900_i2c_set_time(to_i2c_client(dev), tm); max6900_rtc_set_time()
H A Drtc-rx4581.c102 static int rx4581_get_datetime(struct device *dev, struct rtc_time *tm) rx4581_get_datetime() argument
158 tm->tm_sec = bcd2bin(date[RX4581_REG_SC] & 0x7F); rx4581_get_datetime()
159 tm->tm_min = bcd2bin(date[RX4581_REG_MN] & 0x7F); rx4581_get_datetime()
160 tm->tm_hour = bcd2bin(date[RX4581_REG_HR] & 0x3F); /* rtc hr 0-23 */ rx4581_get_datetime()
161 tm->tm_wday = ilog2(date[RX4581_REG_DW] & 0x7F); rx4581_get_datetime()
162 tm->tm_mday = bcd2bin(date[RX4581_REG_DM] & 0x3F); rx4581_get_datetime()
163 tm->tm_mon = bcd2bin(date[RX4581_REG_MO] & 0x1F) - 1; /* rtc mn 1-12 */ rx4581_get_datetime()
164 tm->tm_year = bcd2bin(date[RX4581_REG_YR]); rx4581_get_datetime()
165 if (tm->tm_year < 70) rx4581_get_datetime()
166 tm->tm_year += 100; /* assume we are in 1970...2069 */ rx4581_get_datetime()
169 dev_dbg(dev, "%s: tm is secs=%d, mins=%d, hours=%d, " rx4581_get_datetime()
172 tm->tm_sec, tm->tm_min, tm->tm_hour, rx4581_get_datetime()
173 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); rx4581_get_datetime()
175 err = rtc_valid_tm(tm); rx4581_get_datetime()
182 static int rx4581_set_datetime(struct device *dev, struct rtc_time *tm) rx4581_set_datetime() argument
191 tm->tm_sec, tm->tm_min, tm->tm_hour, rx4581_set_datetime()
192 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); rx4581_set_datetime()
196 buf[RX4581_REG_SC+1] = bin2bcd(tm->tm_sec); rx4581_set_datetime()
197 buf[RX4581_REG_MN+1] = bin2bcd(tm->tm_min); rx4581_set_datetime()
198 buf[RX4581_REG_HR+1] = bin2bcd(tm->tm_hour); rx4581_set_datetime()
200 buf[RX4581_REG_DM+1] = bin2bcd(tm->tm_mday); rx4581_set_datetime()
203 buf[RX4581_REG_MO+1] = bin2bcd(tm->tm_mon + 1); rx4581_set_datetime()
206 buf[RX4581_REG_YR+1] = bin2bcd(tm->tm_year % 100); rx4581_set_datetime()
207 buf[RX4581_REG_DW+1] = (0x1 << tm->tm_wday); rx4581_set_datetime()
H A Drtc-s5m.c114 static void s5m8767_data_to_tm(u8 *data, struct rtc_time *tm, s5m8767_data_to_tm() argument
117 tm->tm_sec = data[RTC_SEC] & 0x7f; s5m8767_data_to_tm()
118 tm->tm_min = data[RTC_MIN] & 0x7f; s5m8767_data_to_tm()
120 tm->tm_hour = data[RTC_HOUR] & 0x1f; s5m8767_data_to_tm()
122 tm->tm_hour = data[RTC_HOUR] & 0x0f; s5m8767_data_to_tm()
124 tm->tm_hour += 12; s5m8767_data_to_tm()
127 tm->tm_wday = ffs(data[RTC_WEEKDAY] & 0x7f); s5m8767_data_to_tm()
128 tm->tm_mday = data[RTC_DATE] & 0x1f; s5m8767_data_to_tm()
129 tm->tm_mon = (data[RTC_MONTH] & 0x0f) - 1; s5m8767_data_to_tm()
130 tm->tm_year = (data[RTC_YEAR1] & 0x7f) + 100; s5m8767_data_to_tm()
131 tm->tm_yday = 0; s5m8767_data_to_tm()
132 tm->tm_isdst = 0; s5m8767_data_to_tm()
135 static int s5m8767_tm_to_data(struct rtc_time *tm, u8 *data) s5m8767_tm_to_data() argument
137 data[RTC_SEC] = tm->tm_sec; s5m8767_tm_to_data()
138 data[RTC_MIN] = tm->tm_min; s5m8767_tm_to_data()
140 if (tm->tm_hour >= 12) s5m8767_tm_to_data()
141 data[RTC_HOUR] = tm->tm_hour | HOUR_PM_MASK; s5m8767_tm_to_data()
143 data[RTC_HOUR] = tm->tm_hour & ~HOUR_PM_MASK; s5m8767_tm_to_data()
145 data[RTC_WEEKDAY] = 1 << tm->tm_wday; s5m8767_tm_to_data()
146 data[RTC_DATE] = tm->tm_mday; s5m8767_tm_to_data()
147 data[RTC_MONTH] = tm->tm_mon + 1; s5m8767_tm_to_data()
148 data[RTC_YEAR1] = tm->tm_year > 100 ? (tm->tm_year - 100) : 0; s5m8767_tm_to_data()
150 if (tm->tm_year < 100) { s5m8767_tm_to_data()
152 1900 + tm->tm_year); s5m8767_tm_to_data()
282 static void s5m8763_data_to_tm(u8 *data, struct rtc_time *tm) s5m8763_data_to_tm() argument
284 tm->tm_sec = bcd2bin(data[RTC_SEC]); s5m8763_data_to_tm()
285 tm->tm_min = bcd2bin(data[RTC_MIN]); s5m8763_data_to_tm()
288 tm->tm_hour = bcd2bin(data[RTC_HOUR] & 0x1f); s5m8763_data_to_tm()
290 tm->tm_hour += 12; s5m8763_data_to_tm()
292 tm->tm_hour = bcd2bin(data[RTC_HOUR] & 0x3f); s5m8763_data_to_tm()
295 tm->tm_wday = data[RTC_WEEKDAY] & 0x07; s5m8763_data_to_tm()
296 tm->tm_mday = bcd2bin(data[RTC_DATE]); s5m8763_data_to_tm()
297 tm->tm_mon = bcd2bin(data[RTC_MONTH]); s5m8763_data_to_tm()
298 tm->tm_year = bcd2bin(data[RTC_YEAR1]) + bcd2bin(data[RTC_YEAR2]) * 100; s5m8763_data_to_tm()
299 tm->tm_year -= 1900; s5m8763_data_to_tm()
302 static void s5m8763_tm_to_data(struct rtc_time *tm, u8 *data) s5m8763_tm_to_data() argument
304 data[RTC_SEC] = bin2bcd(tm->tm_sec); s5m8763_tm_to_data()
305 data[RTC_MIN] = bin2bcd(tm->tm_min); s5m8763_tm_to_data()
306 data[RTC_HOUR] = bin2bcd(tm->tm_hour); s5m8763_tm_to_data()
307 data[RTC_WEEKDAY] = tm->tm_wday; s5m8763_tm_to_data()
308 data[RTC_DATE] = bin2bcd(tm->tm_mday); s5m8763_tm_to_data()
309 data[RTC_MONTH] = bin2bcd(tm->tm_mon); s5m8763_tm_to_data()
310 data[RTC_YEAR1] = bin2bcd(tm->tm_year % 100); s5m8763_tm_to_data()
311 data[RTC_YEAR2] = bin2bcd((tm->tm_year + 1900) / 100); s5m8763_tm_to_data()
314 static int s5m_rtc_read_time(struct device *dev, struct rtc_time *tm) s5m_rtc_read_time() argument
338 s5m8763_data_to_tm(data, tm); s5m_rtc_read_time()
344 s5m8767_data_to_tm(data, tm, info->rtc_24hr_mode); s5m_rtc_read_time()
352 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, s5m_rtc_read_time()
353 tm->tm_hour, tm->tm_min, tm->tm_sec, tm->tm_wday); s5m_rtc_read_time()
355 return rtc_valid_tm(tm); s5m_rtc_read_time()
358 static int s5m_rtc_set_time(struct device *dev, struct rtc_time *tm) s5m_rtc_set_time() argument
366 s5m8763_tm_to_data(tm, data); s5m_rtc_set_time()
371 ret = s5m8767_tm_to_data(tm, data); s5m_rtc_set_time()
381 1900 + tm->tm_year, 1 + tm->tm_mon, tm->tm_mday, s5m_rtc_set_time()
382 tm->tm_hour, tm->tm_min, tm->tm_sec, tm->tm_wday); s5m_rtc_set_time()
448 struct rtc_time tm; s5m_rtc_stop_alarm() local
455 s5m8767_data_to_tm(data, &tm, info->rtc_24hr_mode); s5m_rtc_stop_alarm()
457 1900 + tm.tm_year, 1 + tm.tm_mon, tm.tm_mday, s5m_rtc_stop_alarm()
458 tm.tm_hour, tm.tm_min, tm.tm_sec, tm.tm_wday); s5m_rtc_stop_alarm()
492 struct rtc_time tm; s5m_rtc_start_alarm() local
499 s5m8767_data_to_tm(data, &tm, info->rtc_24hr_mode); s5m_rtc_start_alarm()
501 1900 + tm.tm_year, 1 + tm.tm_mon, tm.tm_mday, s5m_rtc_start_alarm()
502 tm.tm_hour, tm.tm_min, tm.tm_sec, tm.tm_wday); s5m_rtc_start_alarm()
H A Drtc-m48t59.c68 static int m48t59_rtc_read_time(struct device *dev, struct rtc_time *tm) m48t59_rtc_read_time() argument
80 tm->tm_year = bcd2bin(M48T59_READ(M48T59_YEAR)); m48t59_rtc_read_time()
82 tm->tm_mon = bcd2bin(M48T59_READ(M48T59_MONTH)) - 1; m48t59_rtc_read_time()
83 tm->tm_mday = bcd2bin(M48T59_READ(M48T59_MDAY)); m48t59_rtc_read_time()
89 tm->tm_year += 100; /* one century */ m48t59_rtc_read_time()
93 tm->tm_year += 68; m48t59_rtc_read_time()
96 tm->tm_wday = bcd2bin(val & 0x07); m48t59_rtc_read_time()
97 tm->tm_hour = bcd2bin(M48T59_READ(M48T59_HOUR) & 0x3F); m48t59_rtc_read_time()
98 tm->tm_min = bcd2bin(M48T59_READ(M48T59_MIN) & 0x7F); m48t59_rtc_read_time()
99 tm->tm_sec = bcd2bin(M48T59_READ(M48T59_SEC) & 0x7F); m48t59_rtc_read_time()
106 tm->tm_year + 1900, tm->tm_mon, tm->tm_mday, m48t59_rtc_read_time()
107 tm->tm_hour, tm->tm_min, tm->tm_sec); m48t59_rtc_read_time()
108 return rtc_valid_tm(tm); m48t59_rtc_read_time()
111 static int m48t59_rtc_set_time(struct device *dev, struct rtc_time *tm) m48t59_rtc_set_time() argument
118 int year = tm->tm_year; m48t59_rtc_set_time()
126 year + 1900, tm->tm_mon, tm->tm_mday, m48t59_rtc_set_time()
127 tm->tm_hour, tm->tm_min, tm->tm_sec); m48t59_rtc_set_time()
136 M48T59_WRITE((bin2bcd(tm->tm_sec) & 0x7F), M48T59_SEC); m48t59_rtc_set_time()
137 M48T59_WRITE((bin2bcd(tm->tm_min) & 0x7F), M48T59_MIN); m48t59_rtc_set_time()
138 M48T59_WRITE((bin2bcd(tm->tm_hour) & 0x3F), M48T59_HOUR); m48t59_rtc_set_time()
139 M48T59_WRITE((bin2bcd(tm->tm_mday) & 0x3F), M48T59_MDAY); m48t59_rtc_set_time()
141 M48T59_WRITE((bin2bcd(tm->tm_mon + 1) & 0x1F), M48T59_MONTH); m48t59_rtc_set_time()
146 val |= (bin2bcd(tm->tm_wday) & 0x07); m48t59_rtc_set_time()
163 struct rtc_time *tm = &alrm->time; m48t59_rtc_readalarm() local
175 tm->tm_year = bcd2bin(M48T59_READ(M48T59_YEAR)); m48t59_rtc_readalarm()
178 tm->tm_year += 68; m48t59_rtc_readalarm()
181 tm->tm_mon = bcd2bin(M48T59_READ(M48T59_MONTH)) - 1; m48t59_rtc_readalarm()
185 tm->tm_year += 100; /* one century */ m48t59_rtc_readalarm()
187 tm->tm_mday = bcd2bin(M48T59_READ(M48T59_ALARM_DATE)); m48t59_rtc_readalarm()
188 tm->tm_hour = bcd2bin(M48T59_READ(M48T59_ALARM_HOUR)); m48t59_rtc_readalarm()
189 tm->tm_min = bcd2bin(M48T59_READ(M48T59_ALARM_MIN)); m48t59_rtc_readalarm()
190 tm->tm_sec = bcd2bin(M48T59_READ(M48T59_ALARM_SEC)); m48t59_rtc_readalarm()
197 tm->tm_year + 1900, tm->tm_mon, tm->tm_mday, m48t59_rtc_readalarm()
198 tm->tm_hour, tm->tm_min, tm->tm_sec); m48t59_rtc_readalarm()
199 return rtc_valid_tm(tm); m48t59_rtc_readalarm()
210 struct rtc_time *tm = &alrm->time; m48t59_rtc_setalarm() local
213 int year = tm->tm_year; m48t59_rtc_setalarm()
230 mday = tm->tm_mday; m48t59_rtc_setalarm()
235 hour = tm->tm_hour; m48t59_rtc_setalarm()
238 min = tm->tm_min; m48t59_rtc_setalarm()
241 sec = tm->tm_sec; m48t59_rtc_setalarm()
258 year + 1900, tm->tm_mon, tm->tm_mday, m48t59_rtc_setalarm()
259 tm->tm_hour, tm->tm_min, tm->tm_sec); m48t59_rtc_setalarm()
H A Drtc-mt6397.c125 struct rtc_time *tm, int *sec) __mtk_rtc_read_time()
136 tm->tm_sec = data[RTC_OFFSET_SEC]; __mtk_rtc_read_time()
137 tm->tm_min = data[RTC_OFFSET_MIN]; __mtk_rtc_read_time()
138 tm->tm_hour = data[RTC_OFFSET_HOUR]; __mtk_rtc_read_time()
139 tm->tm_mday = data[RTC_OFFSET_DOM]; __mtk_rtc_read_time()
140 tm->tm_mon = data[RTC_OFFSET_MTH]; __mtk_rtc_read_time()
141 tm->tm_year = data[RTC_OFFSET_YEAR]; __mtk_rtc_read_time()
149 static int mtk_rtc_read_time(struct device *dev, struct rtc_time *tm) mtk_rtc_read_time() argument
156 ret = __mtk_rtc_read_time(rtc, tm, &sec); mtk_rtc_read_time()
159 } while (sec < tm->tm_sec); mtk_rtc_read_time()
165 tm->tm_year += RTC_MIN_YEAR_OFFSET; mtk_rtc_read_time()
168 tm->tm_mon--; mtk_rtc_read_time()
169 time = rtc_tm_to_time64(tm); mtk_rtc_read_time()
175 tm->tm_wday = (days + 4) % 7; mtk_rtc_read_time()
181 static int mtk_rtc_set_time(struct device *dev, struct rtc_time *tm) mtk_rtc_set_time() argument
187 tm->tm_year -= RTC_MIN_YEAR_OFFSET; mtk_rtc_set_time()
188 tm->tm_mon++; mtk_rtc_set_time()
190 data[RTC_OFFSET_SEC] = tm->tm_sec; mtk_rtc_set_time()
191 data[RTC_OFFSET_MIN] = tm->tm_min; mtk_rtc_set_time()
192 data[RTC_OFFSET_HOUR] = tm->tm_hour; mtk_rtc_set_time()
193 data[RTC_OFFSET_DOM] = tm->tm_mday; mtk_rtc_set_time()
194 data[RTC_OFFSET_MTH] = tm->tm_mon; mtk_rtc_set_time()
195 data[RTC_OFFSET_YEAR] = tm->tm_year; mtk_rtc_set_time()
213 struct rtc_time *tm = &alm->time; mtk_rtc_read_alarm() local
236 tm->tm_sec = data[RTC_OFFSET_SEC]; mtk_rtc_read_alarm()
237 tm->tm_min = data[RTC_OFFSET_MIN]; mtk_rtc_read_alarm()
238 tm->tm_hour = data[RTC_OFFSET_HOUR]; mtk_rtc_read_alarm()
239 tm->tm_mday = data[RTC_OFFSET_DOM]; mtk_rtc_read_alarm()
240 tm->tm_mon = data[RTC_OFFSET_MTH]; mtk_rtc_read_alarm()
241 tm->tm_year = data[RTC_OFFSET_YEAR]; mtk_rtc_read_alarm()
243 tm->tm_year += RTC_MIN_YEAR_OFFSET; mtk_rtc_read_alarm()
244 tm->tm_mon--; mtk_rtc_read_alarm()
254 struct rtc_time *tm = &alm->time; mtk_rtc_set_alarm() local
259 tm->tm_year -= RTC_MIN_YEAR_OFFSET; mtk_rtc_set_alarm()
260 tm->tm_mon++; mtk_rtc_set_alarm()
262 data[RTC_OFFSET_SEC] = tm->tm_sec; mtk_rtc_set_alarm()
263 data[RTC_OFFSET_MIN] = tm->tm_min; mtk_rtc_set_alarm()
264 data[RTC_OFFSET_HOUR] = tm->tm_hour; mtk_rtc_set_alarm()
265 data[RTC_OFFSET_DOM] = tm->tm_mday; mtk_rtc_set_alarm()
266 data[RTC_OFFSET_MTH] = tm->tm_mon; mtk_rtc_set_alarm()
267 data[RTC_OFFSET_YEAR] = tm->tm_year; mtk_rtc_set_alarm()
124 __mtk_rtc_read_time(struct mt6397_rtc *rtc, struct rtc_time *tm, int *sec) __mtk_rtc_read_time() argument
H A Drtc-generic.c14 static int generic_get_time(struct device *dev, struct rtc_time *tm) generic_get_time() argument
16 unsigned int ret = get_rtc_time(tm); generic_get_time()
21 return rtc_valid_tm(tm); generic_get_time()
24 static int generic_set_time(struct device *dev, struct rtc_time *tm) generic_set_time() argument
26 if (set_rtc_time(tm) < 0) generic_set_time()
H A Drtc-lp8788.c113 static int lp8788_rtc_read_time(struct device *dev, struct rtc_time *tm) lp8788_rtc_read_time() argument
126 tm->tm_sec = data[LPTIME_SEC]; lp8788_rtc_read_time()
127 tm->tm_min = data[LPTIME_MIN]; lp8788_rtc_read_time()
128 tm->tm_hour = data[LPTIME_HOUR]; lp8788_rtc_read_time()
129 tm->tm_mday = data[LPTIME_MDAY]; lp8788_rtc_read_time()
130 tm->tm_mon = data[LPTIME_MON] - LP8788_MONTH_OFFSET; lp8788_rtc_read_time()
131 tm->tm_year = data[LPTIME_YEAR] + LP8788_BASE_YEAR - 1900; lp8788_rtc_read_time()
132 tm->tm_wday = _to_tm_wday(data[LPTIME_WDAY]); lp8788_rtc_read_time()
137 static int lp8788_rtc_set_time(struct device *dev, struct rtc_time *tm) lp8788_rtc_set_time() argument
144 year = tm->tm_year + 1900 - LP8788_BASE_YEAR; lp8788_rtc_set_time()
151 data[LPTIME_SEC] = tm->tm_sec; lp8788_rtc_set_time()
152 data[LPTIME_MIN] = tm->tm_min; lp8788_rtc_set_time()
153 data[LPTIME_HOUR] = tm->tm_hour; lp8788_rtc_set_time()
154 data[LPTIME_MDAY] = tm->tm_mday; lp8788_rtc_set_time()
155 data[LPTIME_MON] = tm->tm_mon + LP8788_MONTH_OFFSET; lp8788_rtc_set_time()
171 struct rtc_time *tm = &alarm->time; lp8788_read_alarm() local
180 tm->tm_sec = data[LPTIME_SEC]; lp8788_read_alarm()
181 tm->tm_min = data[LPTIME_MIN]; lp8788_read_alarm()
182 tm->tm_hour = data[LPTIME_HOUR]; lp8788_read_alarm()
183 tm->tm_mday = data[LPTIME_MDAY]; lp8788_read_alarm()
184 tm->tm_mon = data[LPTIME_MON] - LP8788_MONTH_OFFSET; lp8788_read_alarm()
185 tm->tm_year = data[LPTIME_YEAR] + LP8788_BASE_YEAR - 1900; lp8788_read_alarm()
186 tm->tm_wday = _to_tm_wday(data[LPTIME_WDAY]); lp8788_read_alarm()
196 struct rtc_time *tm = &alarm->time; lp8788_set_alarm() local
200 year = tm->tm_year + 1900 - LP8788_BASE_YEAR; lp8788_set_alarm()
206 data[LPTIME_SEC] = tm->tm_sec; lp8788_set_alarm()
207 data[LPTIME_MIN] = tm->tm_min; lp8788_set_alarm()
208 data[LPTIME_HOUR] = tm->tm_hour; lp8788_set_alarm()
209 data[LPTIME_MDAY] = tm->tm_mday; lp8788_set_alarm()
210 data[LPTIME_MON] = tm->tm_mon + LP8788_MONTH_OFFSET; lp8788_set_alarm()
212 data[LPTIME_WDAY] = _to_lp8788_wday(tm->tm_wday); lp8788_set_alarm()
H A Drtc-max8925.c85 static int tm_calc(struct rtc_time *tm, unsigned char *buf, int len) tm_calc() argument
89 tm->tm_year = (buf[RTC_YEAR2] >> 4) * 1000 tm_calc()
93 tm->tm_year -= 1900; tm_calc()
94 tm->tm_mon = ((buf[RTC_MONTH] >> 4) & 0x01) * 10 tm_calc()
96 tm->tm_mday = ((buf[RTC_DATE] >> 4) & 0x03) * 10 tm_calc()
98 tm->tm_wday = buf[RTC_WEEKDAY] & 0x07; tm_calc()
100 tm->tm_hour = ((buf[RTC_HOUR] >> 4) & 0x1) * 10 tm_calc()
103 tm->tm_hour += 12; tm_calc()
105 tm->tm_hour = ((buf[RTC_HOUR] >> 4) & 0x03) * 10 tm_calc()
107 tm->tm_min = ((buf[RTC_MIN] >> 4) & 0x7) * 10 tm_calc()
109 tm->tm_sec = ((buf[RTC_SEC] >> 4) & 0x7) * 10 tm_calc()
114 static int data_calc(unsigned char *buf, struct rtc_time *tm, int len) data_calc() argument
121 high = (tm->tm_year + 1900) / 1000; data_calc()
122 low = (tm->tm_year + 1900) / 100; data_calc()
125 high = (tm->tm_year + 1900) / 10; data_calc()
126 low = tm->tm_year + 1900; data_calc()
130 high = tm->tm_mon / 10; data_calc()
131 low = tm->tm_mon; data_calc()
134 high = tm->tm_mday / 10; data_calc()
135 low = tm->tm_mday; data_calc()
138 buf[RTC_WEEKDAY] = tm->tm_wday; data_calc()
139 high = tm->tm_hour / 10; data_calc()
140 low = tm->tm_hour; data_calc()
143 high = tm->tm_min / 10; data_calc()
144 low = tm->tm_min; data_calc()
147 high = tm->tm_sec / 10; data_calc()
148 low = tm->tm_sec; data_calc()
154 static int max8925_rtc_read_time(struct device *dev, struct rtc_time *tm) max8925_rtc_read_time() argument
163 ret = tm_calc(tm, buf, TIME_NUM); max8925_rtc_read_time()
168 static int max8925_rtc_set_time(struct device *dev, struct rtc_time *tm) max8925_rtc_set_time() argument
174 ret = data_calc(buf, tm, TIME_NUM); max8925_rtc_set_time()
H A Drtc-rv3029c2.c142 rv3029c2_i2c_read_time(struct i2c_client *client, struct rtc_time *tm) rv3029c2_i2c_read_time() argument
162 tm->tm_sec = bcd2bin(regs[RV3029C2_W_SEC-RV3029C2_W_SEC]); rv3029c2_i2c_read_time()
163 tm->tm_min = bcd2bin(regs[RV3029C2_W_MINUTES-RV3029C2_W_SEC]); rv3029c2_i2c_read_time()
170 tm->tm_hour = bcd2bin(_hr & 0x1f); rv3029c2_i2c_read_time()
172 tm->tm_hour += 12; rv3029c2_i2c_read_time()
174 tm->tm_hour = bcd2bin(_hr & 0x3f); rv3029c2_i2c_read_time()
177 tm->tm_mday = bcd2bin(regs[RV3029C2_W_DATE-RV3029C2_W_SEC]); rv3029c2_i2c_read_time()
178 tm->tm_mon = bcd2bin(regs[RV3029C2_W_MONTHS-RV3029C2_W_SEC]) - 1; rv3029c2_i2c_read_time()
179 tm->tm_year = bcd2bin(regs[RV3029C2_W_YEARS-RV3029C2_W_SEC]) + 100; rv3029c2_i2c_read_time()
180 tm->tm_wday = bcd2bin(regs[RV3029C2_W_DAYS-RV3029C2_W_SEC]) - 1; rv3029c2_i2c_read_time()
185 static int rv3029c2_rtc_read_time(struct device *dev, struct rtc_time *tm) rv3029c2_rtc_read_time() argument
187 return rv3029c2_i2c_read_time(to_i2c_client(dev), tm); rv3029c2_rtc_read_time()
193 struct rtc_time *const tm = &alarm->time; rv3029c2_i2c_read_alarm() local
212 tm->tm_sec = bcd2bin(regs[RV3029C2_A_SC-RV3029C2_A_SC] & 0x7f); rv3029c2_i2c_read_alarm()
213 tm->tm_min = bcd2bin(regs[RV3029C2_A_MN-RV3029C2_A_SC] & 0x7f); rv3029c2_i2c_read_alarm()
214 tm->tm_hour = bcd2bin(regs[RV3029C2_A_HR-RV3029C2_A_SC] & 0x3f); rv3029c2_i2c_read_alarm()
215 tm->tm_mday = bcd2bin(regs[RV3029C2_A_DT-RV3029C2_A_SC] & 0x3f); rv3029c2_i2c_read_alarm()
216 tm->tm_mon = bcd2bin(regs[RV3029C2_A_MO-RV3029C2_A_SC] & 0x1f) - 1; rv3029c2_i2c_read_alarm()
217 tm->tm_year = bcd2bin(regs[RV3029C2_A_YR-RV3029C2_A_SC] & 0x7f) + 100; rv3029c2_i2c_read_alarm()
218 tm->tm_wday = bcd2bin(regs[RV3029C2_A_DW-RV3029C2_A_SC] & 0x07) - 1; rv3029c2_i2c_read_alarm()
258 struct rtc_time *const tm = &alarm->time; rv3029c2_rtc_i2c_set_alarm() local
267 if (tm->tm_year < 100) rv3029c2_rtc_i2c_set_alarm()
275 regs[RV3029C2_A_SC-RV3029C2_A_SC] = bin2bcd(tm->tm_sec & 0x7f); rv3029c2_rtc_i2c_set_alarm()
276 regs[RV3029C2_A_MN-RV3029C2_A_SC] = bin2bcd(tm->tm_min & 0x7f); rv3029c2_rtc_i2c_set_alarm()
277 regs[RV3029C2_A_HR-RV3029C2_A_SC] = bin2bcd(tm->tm_hour & 0x3f); rv3029c2_rtc_i2c_set_alarm()
278 regs[RV3029C2_A_DT-RV3029C2_A_SC] = bin2bcd(tm->tm_mday & 0x3f); rv3029c2_rtc_i2c_set_alarm()
279 regs[RV3029C2_A_MO-RV3029C2_A_SC] = bin2bcd((tm->tm_mon & 0x1f) - 1); rv3029c2_rtc_i2c_set_alarm()
280 regs[RV3029C2_A_DW-RV3029C2_A_SC] = bin2bcd((tm->tm_wday & 7) - 1); rv3029c2_rtc_i2c_set_alarm()
281 regs[RV3029C2_A_YR-RV3029C2_A_SC] = bin2bcd((tm->tm_year & 0x7f) - 100); rv3029c2_rtc_i2c_set_alarm()
329 rv3029c2_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) rv3029c2_i2c_set_time() argument
339 if (tm->tm_year < 100) rv3029c2_i2c_set_time()
342 regs[RV3029C2_W_SEC-RV3029C2_W_SEC] = bin2bcd(tm->tm_sec); rv3029c2_i2c_set_time()
343 regs[RV3029C2_W_MINUTES-RV3029C2_W_SEC] = bin2bcd(tm->tm_min); rv3029c2_i2c_set_time()
344 regs[RV3029C2_W_HOURS-RV3029C2_W_SEC] = bin2bcd(tm->tm_hour); rv3029c2_i2c_set_time()
345 regs[RV3029C2_W_DATE-RV3029C2_W_SEC] = bin2bcd(tm->tm_mday); rv3029c2_i2c_set_time()
346 regs[RV3029C2_W_MONTHS-RV3029C2_W_SEC] = bin2bcd(tm->tm_mon+1); rv3029c2_i2c_set_time()
347 regs[RV3029C2_W_DAYS-RV3029C2_W_SEC] = bin2bcd((tm->tm_wday & 7)+1); rv3029c2_i2c_set_time()
348 regs[RV3029C2_W_YEARS-RV3029C2_W_SEC] = bin2bcd(tm->tm_year - 100); rv3029c2_i2c_set_time()
370 static int rv3029c2_rtc_set_time(struct device *dev, struct rtc_time *tm) rv3029c2_rtc_set_time() argument
372 return rv3029c2_i2c_set_time(to_i2c_client(dev), tm); rv3029c2_rtc_set_time()
H A Drtc-s35390a.c151 static int s35390a_set_datetime(struct i2c_client *client, struct rtc_time *tm) s35390a_set_datetime() argument
157 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d mday=%d, " s35390a_set_datetime()
158 "mon=%d, year=%d, wday=%d\n", __func__, tm->tm_sec, s35390a_set_datetime()
159 tm->tm_min, tm->tm_hour, tm->tm_mday, tm->tm_mon, tm->tm_year, s35390a_set_datetime()
160 tm->tm_wday); s35390a_set_datetime()
162 buf[S35390A_BYTE_YEAR] = bin2bcd(tm->tm_year - 100); s35390a_set_datetime()
163 buf[S35390A_BYTE_MONTH] = bin2bcd(tm->tm_mon + 1); s35390a_set_datetime()
164 buf[S35390A_BYTE_DAY] = bin2bcd(tm->tm_mday); s35390a_set_datetime()
165 buf[S35390A_BYTE_WDAY] = bin2bcd(tm->tm_wday); s35390a_set_datetime()
166 buf[S35390A_BYTE_HOURS] = s35390a_hr2reg(s35390a, tm->tm_hour); s35390a_set_datetime()
167 buf[S35390A_BYTE_MINS] = bin2bcd(tm->tm_min); s35390a_set_datetime()
168 buf[S35390A_BYTE_SECS] = bin2bcd(tm->tm_sec); s35390a_set_datetime()
179 static int s35390a_get_datetime(struct i2c_client *client, struct rtc_time *tm) s35390a_get_datetime() argument
193 tm->tm_sec = bcd2bin(buf[S35390A_BYTE_SECS]); s35390a_get_datetime()
194 tm->tm_min = bcd2bin(buf[S35390A_BYTE_MINS]); s35390a_get_datetime()
195 tm->tm_hour = s35390a_reg2hr(s35390a, buf[S35390A_BYTE_HOURS]); s35390a_get_datetime()
196 tm->tm_wday = bcd2bin(buf[S35390A_BYTE_WDAY]); s35390a_get_datetime()
197 tm->tm_mday = bcd2bin(buf[S35390A_BYTE_DAY]); s35390a_get_datetime()
198 tm->tm_mon = bcd2bin(buf[S35390A_BYTE_MONTH]) - 1; s35390a_get_datetime()
199 tm->tm_year = bcd2bin(buf[S35390A_BYTE_YEAR]) + 100; s35390a_get_datetime()
201 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, mday=%d, " s35390a_get_datetime()
202 "mon=%d, year=%d, wday=%d\n", __func__, tm->tm_sec, s35390a_get_datetime()
203 tm->tm_min, tm->tm_hour, tm->tm_mday, tm->tm_mon, tm->tm_year, s35390a_get_datetime()
204 tm->tm_wday); s35390a_get_datetime()
206 return rtc_valid_tm(tm); s35390a_get_datetime()
307 static int s35390a_rtc_read_time(struct device *dev, struct rtc_time *tm) s35390a_rtc_read_time() argument
309 return s35390a_get_datetime(to_i2c_client(dev), tm); s35390a_rtc_read_time()
312 static int s35390a_rtc_set_time(struct device *dev, struct rtc_time *tm) s35390a_rtc_set_time() argument
314 return s35390a_set_datetime(to_i2c_client(dev), tm); s35390a_rtc_set_time()
333 struct rtc_time tm; s35390a_probe() local
385 if (s35390a_get_datetime(client, &tm) < 0) s35390a_probe()
H A Drtc-rx8581.c98 static int rx8581_get_datetime(struct i2c_client *client, struct rtc_time *tm) rx8581_get_datetime() argument
152 tm->tm_sec = bcd2bin(date[RX8581_REG_SC] & 0x7F); rx8581_get_datetime()
153 tm->tm_min = bcd2bin(date[RX8581_REG_MN] & 0x7F); rx8581_get_datetime()
154 tm->tm_hour = bcd2bin(date[RX8581_REG_HR] & 0x3F); /* rtc hr 0-23 */ rx8581_get_datetime()
155 tm->tm_wday = ilog2(date[RX8581_REG_DW] & 0x7F); rx8581_get_datetime()
156 tm->tm_mday = bcd2bin(date[RX8581_REG_DM] & 0x3F); rx8581_get_datetime()
157 tm->tm_mon = bcd2bin(date[RX8581_REG_MO] & 0x1F) - 1; /* rtc mn 1-12 */ rx8581_get_datetime()
158 tm->tm_year = bcd2bin(date[RX8581_REG_YR]); rx8581_get_datetime()
159 if (tm->tm_year < 70) rx8581_get_datetime()
160 tm->tm_year += 100; /* assume we are in 1970...2069 */ rx8581_get_datetime()
163 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " rx8581_get_datetime()
166 tm->tm_sec, tm->tm_min, tm->tm_hour, rx8581_get_datetime()
167 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); rx8581_get_datetime()
169 err = rtc_valid_tm(tm); rx8581_get_datetime()
176 static int rx8581_set_datetime(struct i2c_client *client, struct rtc_time *tm) rx8581_set_datetime() argument
185 tm->tm_sec, tm->tm_min, tm->tm_hour, rx8581_set_datetime()
186 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); rx8581_set_datetime()
189 buf[RX8581_REG_SC] = bin2bcd(tm->tm_sec); rx8581_set_datetime()
190 buf[RX8581_REG_MN] = bin2bcd(tm->tm_min); rx8581_set_datetime()
191 buf[RX8581_REG_HR] = bin2bcd(tm->tm_hour); rx8581_set_datetime()
193 buf[RX8581_REG_DM] = bin2bcd(tm->tm_mday); rx8581_set_datetime()
196 buf[RX8581_REG_MO] = bin2bcd(tm->tm_mon + 1); rx8581_set_datetime()
199 buf[RX8581_REG_YR] = bin2bcd(tm->tm_year % 100); rx8581_set_datetime()
200 buf[RX8581_REG_DW] = (0x1 << tm->tm_wday); rx8581_set_datetime()
254 static int rx8581_rtc_read_time(struct device *dev, struct rtc_time *tm) rx8581_rtc_read_time() argument
256 return rx8581_get_datetime(to_i2c_client(dev), tm); rx8581_rtc_read_time()
259 static int rx8581_rtc_set_time(struct device *dev, struct rtc_time *tm) rx8581_rtc_set_time() argument
261 return rx8581_set_datetime(to_i2c_client(dev), tm); rx8581_rtc_set_time()
H A Drtc-rs5c348.c64 rs5c348_rtc_set_time(struct device *dev, struct rtc_time *tm) rs5c348_rtc_set_time() argument
79 txp[RS5C348_REG_SECS] = bin2bcd(tm->tm_sec); rs5c348_rtc_set_time()
80 txp[RS5C348_REG_MINS] = bin2bcd(tm->tm_min); rs5c348_rtc_set_time()
82 txp[RS5C348_REG_HOURS] = bin2bcd(tm->tm_hour); rs5c348_rtc_set_time()
85 txp[RS5C348_REG_HOURS] = bin2bcd((tm->tm_hour + 11) % 12 + 1) | rs5c348_rtc_set_time()
86 (tm->tm_hour >= 12 ? RS5C348_BIT_PM : 0); rs5c348_rtc_set_time()
88 txp[RS5C348_REG_WDAY] = bin2bcd(tm->tm_wday); rs5c348_rtc_set_time()
89 txp[RS5C348_REG_DAY] = bin2bcd(tm->tm_mday); rs5c348_rtc_set_time()
90 txp[RS5C348_REG_MONTH] = bin2bcd(tm->tm_mon + 1) | rs5c348_rtc_set_time()
91 (tm->tm_year >= 100 ? RS5C348_BIT_Y2K : 0); rs5c348_rtc_set_time()
92 txp[RS5C348_REG_YEAR] = bin2bcd(tm->tm_year % 100); rs5c348_rtc_set_time()
100 rs5c348_rtc_read_time(struct device *dev, struct rtc_time *tm) rs5c348_rtc_read_time() argument
121 tm->tm_sec = bcd2bin(rxbuf[RS5C348_REG_SECS] & RS5C348_SECS_MASK); rs5c348_rtc_read_time()
122 tm->tm_min = bcd2bin(rxbuf[RS5C348_REG_MINS] & RS5C348_MINS_MASK); rs5c348_rtc_read_time()
123 tm->tm_hour = bcd2bin(rxbuf[RS5C348_REG_HOURS] & RS5C348_HOURS_MASK); rs5c348_rtc_read_time()
126 tm->tm_hour -= 20; rs5c348_rtc_read_time()
127 tm->tm_hour %= 12; rs5c348_rtc_read_time()
128 tm->tm_hour += 12; rs5c348_rtc_read_time()
130 tm->tm_hour %= 12; rs5c348_rtc_read_time()
132 tm->tm_wday = bcd2bin(rxbuf[RS5C348_REG_WDAY] & RS5C348_WDAY_MASK); rs5c348_rtc_read_time()
133 tm->tm_mday = bcd2bin(rxbuf[RS5C348_REG_DAY] & RS5C348_DAY_MASK); rs5c348_rtc_read_time()
134 tm->tm_mon = rs5c348_rtc_read_time()
136 /* year is 1900 + tm->tm_year */ rs5c348_rtc_read_time()
137 tm->tm_year = bcd2bin(rxbuf[RS5C348_REG_YEAR]) + rs5c348_rtc_read_time()
140 if (rtc_valid_tm(tm) < 0) { rs5c348_rtc_read_time()
142 rtc_time_to_tm(0, tm); rs5c348_rtc_read_time()
184 struct rtc_time tm; rs5c348_probe() local
189 rtc_time_to_tm(0, &tm); /* 1970/1/1 */ rs5c348_probe()
190 ret = rs5c348_rtc_set_time(&spi->dev, &tm); rs5c348_probe()
H A Drtc-rk808.c68 static time64_t nov2dec_transitions(struct rtc_time *tm) nov2dec_transitions() argument
70 return (tm->tm_year + 1900) - 2016 + (tm->tm_mon + 1 > 11 ? 1 : 0); nov2dec_transitions()
73 static void rockchip_to_gregorian(struct rtc_time *tm) rockchip_to_gregorian() argument
76 time64_t time = rtc_tm_to_time64(tm); rockchip_to_gregorian()
77 rtc_time64_to_tm(time + nov2dec_transitions(tm) * 86400, tm); rockchip_to_gregorian()
80 static void gregorian_to_rockchip(struct rtc_time *tm) gregorian_to_rockchip() argument
82 time64_t extra_days = nov2dec_transitions(tm); gregorian_to_rockchip()
83 time64_t time = rtc_tm_to_time64(tm); gregorian_to_rockchip()
84 rtc_time64_to_tm(time - extra_days * 86400, tm); gregorian_to_rockchip()
87 if (nov2dec_transitions(tm) < extra_days) { gregorian_to_rockchip()
88 if (tm->tm_mon + 1 == 11) gregorian_to_rockchip()
89 tm->tm_mday++; /* This may result in 31! */ gregorian_to_rockchip()
91 rtc_time64_to_tm(time - (extra_days - 1) * 86400, tm); gregorian_to_rockchip()
96 static int rk808_rtc_readtime(struct device *dev, struct rtc_time *tm) rk808_rtc_readtime() argument
133 tm->tm_sec = bcd2bin(rtc_data[0] & SECONDS_REG_MSK); rk808_rtc_readtime()
134 tm->tm_min = bcd2bin(rtc_data[1] & MINUTES_REG_MAK); rk808_rtc_readtime()
135 tm->tm_hour = bcd2bin(rtc_data[2] & HOURS_REG_MSK); rk808_rtc_readtime()
136 tm->tm_mday = bcd2bin(rtc_data[3] & DAYS_REG_MSK); rk808_rtc_readtime()
137 tm->tm_mon = (bcd2bin(rtc_data[4] & MONTHS_REG_MSK)) - 1; rk808_rtc_readtime()
138 tm->tm_year = (bcd2bin(rtc_data[5] & YEARS_REG_MSK)) + 100; rk808_rtc_readtime()
139 tm->tm_wday = bcd2bin(rtc_data[6] & WEEKS_REG_MSK); rk808_rtc_readtime()
140 rockchip_to_gregorian(tm); rk808_rtc_readtime()
142 1900 + tm->tm_year, tm->tm_mon + 1, tm->tm_mday, rk808_rtc_readtime()
143 tm->tm_wday, tm->tm_hour, tm->tm_min, tm->tm_sec); rk808_rtc_readtime()
149 static int rk808_rtc_set_time(struct device *dev, struct rtc_time *tm) rk808_rtc_set_time() argument
157 1900 + tm->tm_year, tm->tm_mon + 1, tm->tm_mday, rk808_rtc_set_time()
158 tm->tm_wday, tm->tm_hour, tm->tm_min, tm->tm_sec); rk808_rtc_set_time()
159 gregorian_to_rockchip(tm); rk808_rtc_set_time()
160 rtc_data[0] = bin2bcd(tm->tm_sec); rk808_rtc_set_time()
161 rtc_data[1] = bin2bcd(tm->tm_min); rk808_rtc_set_time()
162 rtc_data[2] = bin2bcd(tm->tm_hour); rk808_rtc_set_time()
163 rtc_data[3] = bin2bcd(tm->tm_mday); rk808_rtc_set_time()
164 rtc_data[4] = bin2bcd(tm->tm_mon + 1); rk808_rtc_set_time()
165 rtc_data[5] = bin2bcd(tm->tm_year - 100); rk808_rtc_set_time()
166 rtc_data[6] = bin2bcd(tm->tm_wday); rk808_rtc_set_time()
378 struct rtc_time tm; rk808_rtc_probe() local
408 ret = rk808_rtc_readtime(&pdev->dev, &tm); rk808_rtc_probe()
413 ret = rtc_valid_tm(&tm); rk808_rtc_probe()
H A Drtc-rp5c01.c93 static int rp5c01_read_time(struct device *dev, struct rtc_time *tm) rp5c01_read_time() argument
100 tm->tm_sec = rp5c01_read(priv, RP5C01_10_SECOND) * 10 + rp5c01_read_time()
102 tm->tm_min = rp5c01_read(priv, RP5C01_10_MINUTE) * 10 + rp5c01_read_time()
104 tm->tm_hour = rp5c01_read(priv, RP5C01_10_HOUR) * 10 + rp5c01_read_time()
106 tm->tm_mday = rp5c01_read(priv, RP5C01_10_DAY) * 10 + rp5c01_read_time()
108 tm->tm_wday = rp5c01_read(priv, RP5C01_DAY_OF_WEEK); rp5c01_read_time()
109 tm->tm_mon = rp5c01_read(priv, RP5C01_10_MONTH) * 10 + rp5c01_read_time()
111 tm->tm_year = rp5c01_read(priv, RP5C01_10_YEAR) * 10 + rp5c01_read_time()
113 if (tm->tm_year <= 69) rp5c01_read_time()
114 tm->tm_year += 100; rp5c01_read_time()
119 return rtc_valid_tm(tm); rp5c01_read_time()
122 static int rp5c01_set_time(struct device *dev, struct rtc_time *tm) rp5c01_set_time() argument
129 rp5c01_write(priv, tm->tm_sec / 10, RP5C01_10_SECOND); rp5c01_set_time()
130 rp5c01_write(priv, tm->tm_sec % 10, RP5C01_1_SECOND); rp5c01_set_time()
131 rp5c01_write(priv, tm->tm_min / 10, RP5C01_10_MINUTE); rp5c01_set_time()
132 rp5c01_write(priv, tm->tm_min % 10, RP5C01_1_MINUTE); rp5c01_set_time()
133 rp5c01_write(priv, tm->tm_hour / 10, RP5C01_10_HOUR); rp5c01_set_time()
134 rp5c01_write(priv, tm->tm_hour % 10, RP5C01_1_HOUR); rp5c01_set_time()
135 rp5c01_write(priv, tm->tm_mday / 10, RP5C01_10_DAY); rp5c01_set_time()
136 rp5c01_write(priv, tm->tm_mday % 10, RP5C01_1_DAY); rp5c01_set_time()
137 if (tm->tm_wday != -1) rp5c01_set_time()
138 rp5c01_write(priv, tm->tm_wday, RP5C01_DAY_OF_WEEK); rp5c01_set_time()
139 rp5c01_write(priv, (tm->tm_mon + 1) / 10, RP5C01_10_MONTH); rp5c01_set_time()
140 rp5c01_write(priv, (tm->tm_mon + 1) % 10, RP5C01_1_MONTH); rp5c01_set_time()
141 if (tm->tm_year >= 100) rp5c01_set_time()
142 tm->tm_year -= 100; rp5c01_set_time()
143 rp5c01_write(priv, tm->tm_year / 10, RP5C01_10_YEAR); rp5c01_set_time()
144 rp5c01_write(priv, tm->tm_year % 10, RP5C01_1_YEAR); rp5c01_set_time()
H A Drtc-sh.c353 static int sh_rtc_read_time(struct device *dev, struct rtc_time *tm) sh_rtc_read_time() argument
371 tm->tm_sec = bcd2bin(readb(rtc->regbase + RSECCNT)); sh_rtc_read_time()
372 tm->tm_min = bcd2bin(readb(rtc->regbase + RMINCNT)); sh_rtc_read_time()
373 tm->tm_hour = bcd2bin(readb(rtc->regbase + RHRCNT)); sh_rtc_read_time()
374 tm->tm_wday = bcd2bin(readb(rtc->regbase + RWKCNT)); sh_rtc_read_time()
375 tm->tm_mday = bcd2bin(readb(rtc->regbase + RDAYCNT)); sh_rtc_read_time()
376 tm->tm_mon = bcd2bin(readb(rtc->regbase + RMONCNT)) - 1; sh_rtc_read_time()
387 tm->tm_year = (yr100 * 100 + bcd2bin(yr)) - 1900; sh_rtc_read_time()
397 tm->tm_sec--; sh_rtc_read_time()
404 dev_dbg(dev, "%s: tm is secs=%d, mins=%d, hours=%d, " sh_rtc_read_time()
407 tm->tm_sec, tm->tm_min, tm->tm_hour, sh_rtc_read_time()
408 tm->tm_mday, tm->tm_mon + 1, tm->tm_year, tm->tm_wday); sh_rtc_read_time()
410 return rtc_valid_tm(tm); sh_rtc_read_time()
413 static int sh_rtc_set_time(struct device *dev, struct rtc_time *tm) sh_rtc_set_time() argument
428 writeb(bin2bcd(tm->tm_sec), rtc->regbase + RSECCNT); sh_rtc_set_time()
429 writeb(bin2bcd(tm->tm_min), rtc->regbase + RMINCNT); sh_rtc_set_time()
430 writeb(bin2bcd(tm->tm_hour), rtc->regbase + RHRCNT); sh_rtc_set_time()
431 writeb(bin2bcd(tm->tm_wday), rtc->regbase + RWKCNT); sh_rtc_set_time()
432 writeb(bin2bcd(tm->tm_mday), rtc->regbase + RDAYCNT); sh_rtc_set_time()
433 writeb(bin2bcd(tm->tm_mon + 1), rtc->regbase + RMONCNT); sh_rtc_set_time()
436 year = (bin2bcd((tm->tm_year + 1900) / 100) << 8) | sh_rtc_set_time()
437 bin2bcd(tm->tm_year % 100); sh_rtc_set_time()
440 year = tm->tm_year % 100; sh_rtc_set_time()
473 struct rtc_time *tm = &wkalrm->time; sh_rtc_read_alarm() local
477 tm->tm_sec = sh_rtc_read_alarm_value(rtc, RSECAR); sh_rtc_read_alarm()
478 tm->tm_min = sh_rtc_read_alarm_value(rtc, RMINAR); sh_rtc_read_alarm()
479 tm->tm_hour = sh_rtc_read_alarm_value(rtc, RHRAR); sh_rtc_read_alarm()
480 tm->tm_wday = sh_rtc_read_alarm_value(rtc, RWKAR); sh_rtc_read_alarm()
481 tm->tm_mday = sh_rtc_read_alarm_value(rtc, RDAYAR); sh_rtc_read_alarm()
482 tm->tm_mon = sh_rtc_read_alarm_value(rtc, RMONAR); sh_rtc_read_alarm()
483 if (tm->tm_mon > 0) sh_rtc_read_alarm()
484 tm->tm_mon -= 1; /* RTC is 1-12, tm_mon is 0-11 */ sh_rtc_read_alarm()
485 tm->tm_year = 0xffff; sh_rtc_read_alarm()
504 static int sh_rtc_check_alarm(struct rtc_time *tm) sh_rtc_check_alarm() argument
512 if (tm->tm_year == 0xffff) sh_rtc_check_alarm()
513 tm->tm_year = -1; sh_rtc_check_alarm()
514 if (tm->tm_mon >= 0xff) sh_rtc_check_alarm()
515 tm->tm_mon = -1; sh_rtc_check_alarm()
516 if (tm->tm_mday >= 0xff) sh_rtc_check_alarm()
517 tm->tm_mday = -1; sh_rtc_check_alarm()
518 if (tm->tm_wday >= 0xff) sh_rtc_check_alarm()
519 tm->tm_wday = -1; sh_rtc_check_alarm()
520 if (tm->tm_hour >= 0xff) sh_rtc_check_alarm()
521 tm->tm_hour = -1; sh_rtc_check_alarm()
522 if (tm->tm_min >= 0xff) sh_rtc_check_alarm()
523 tm->tm_min = -1; sh_rtc_check_alarm()
524 if (tm->tm_sec >= 0xff) sh_rtc_check_alarm()
525 tm->tm_sec = -1; sh_rtc_check_alarm()
527 if (tm->tm_year > 9999 || sh_rtc_check_alarm()
528 tm->tm_mon >= 12 || sh_rtc_check_alarm()
529 tm->tm_mday == 0 || tm->tm_mday >= 32 || sh_rtc_check_alarm()
530 tm->tm_wday >= 7 || sh_rtc_check_alarm()
531 tm->tm_hour >= 24 || sh_rtc_check_alarm()
532 tm->tm_min >= 60 || sh_rtc_check_alarm()
533 tm->tm_sec >= 60) sh_rtc_check_alarm()
544 struct rtc_time *tm = &wkalrm->time; sh_rtc_set_alarm() local
547 err = sh_rtc_check_alarm(tm); sh_rtc_set_alarm()
559 sh_rtc_write_alarm_value(rtc, tm->tm_sec, RSECAR); sh_rtc_set_alarm()
560 sh_rtc_write_alarm_value(rtc, tm->tm_min, RMINAR); sh_rtc_set_alarm()
561 sh_rtc_write_alarm_value(rtc, tm->tm_hour, RHRAR); sh_rtc_set_alarm()
562 sh_rtc_write_alarm_value(rtc, tm->tm_wday, RWKAR); sh_rtc_set_alarm()
563 sh_rtc_write_alarm_value(rtc, tm->tm_mday, RDAYAR); sh_rtc_set_alarm()
564 mon = tm->tm_mon; sh_rtc_set_alarm()
H A Drtc-spear.c173 static int tm2bcd(struct rtc_time *tm) tm2bcd() argument
175 if (rtc_valid_tm(tm) != 0) tm2bcd()
177 tm->tm_sec = bin2bcd(tm->tm_sec); tm2bcd()
178 tm->tm_min = bin2bcd(tm->tm_min); tm2bcd()
179 tm->tm_hour = bin2bcd(tm->tm_hour); tm2bcd()
180 tm->tm_mday = bin2bcd(tm->tm_mday); tm2bcd()
181 tm->tm_mon = bin2bcd(tm->tm_mon + 1); tm2bcd()
182 tm->tm_year = bin2bcd(tm->tm_year); tm2bcd()
187 static void bcd2tm(struct rtc_time *tm) bcd2tm() argument
189 tm->tm_sec = bcd2bin(tm->tm_sec); bcd2tm()
190 tm->tm_min = bcd2bin(tm->tm_min); bcd2tm()
191 tm->tm_hour = bcd2bin(tm->tm_hour); bcd2tm()
192 tm->tm_mday = bcd2bin(tm->tm_mday); bcd2tm()
193 tm->tm_mon = bcd2bin(tm->tm_mon) - 1; bcd2tm()
195 tm->tm_year = bcd2bin(tm->tm_year); bcd2tm()
201 * @tm: holds date and time
206 static int spear_rtc_read_time(struct device *dev, struct rtc_time *tm) spear_rtc_read_time() argument
216 tm->tm_sec = (time >> SECOND_SHIFT) & SECOND_MASK; spear_rtc_read_time()
217 tm->tm_min = (time >> MINUTE_SHIFT) & MIN_MASK; spear_rtc_read_time()
218 tm->tm_hour = (time >> HOUR_SHIFT) & HOUR_MASK; spear_rtc_read_time()
219 tm->tm_mday = (date >> MDAY_SHIFT) & DAY_MASK; spear_rtc_read_time()
220 tm->tm_mon = (date >> MONTH_SHIFT) & MONTH_MASK; spear_rtc_read_time()
221 tm->tm_year = (date >> YEAR_SHIFT) & YEAR_MASK; spear_rtc_read_time()
223 bcd2tm(tm); spear_rtc_read_time()
230 * @tm: holds date and time
235 static int spear_rtc_set_time(struct device *dev, struct rtc_time *tm) spear_rtc_set_time() argument
240 if (tm2bcd(tm) < 0) spear_rtc_set_time()
244 time = (tm->tm_sec << SECOND_SHIFT) | (tm->tm_min << MINUTE_SHIFT) | spear_rtc_set_time()
245 (tm->tm_hour << HOUR_SHIFT); spear_rtc_set_time()
246 date = (tm->tm_mday << MDAY_SHIFT) | (tm->tm_mon << MONTH_SHIFT) | spear_rtc_set_time()
247 (tm->tm_year << YEAR_SHIFT); spear_rtc_set_time()
H A Drtc-ds1286.c156 static int ds1286_read_time(struct device *dev, struct rtc_time *tm) ds1286_read_time() argument
187 tm->tm_sec = ds1286_rtc_read(priv, RTC_SECONDS); ds1286_read_time()
188 tm->tm_min = ds1286_rtc_read(priv, RTC_MINUTES); ds1286_read_time()
189 tm->tm_hour = ds1286_rtc_read(priv, RTC_HOURS) & 0x3f; ds1286_read_time()
190 tm->tm_mday = ds1286_rtc_read(priv, RTC_DATE); ds1286_read_time()
191 tm->tm_mon = ds1286_rtc_read(priv, RTC_MONTH) & 0x1f; ds1286_read_time()
192 tm->tm_year = ds1286_rtc_read(priv, RTC_YEAR); ds1286_read_time()
197 tm->tm_sec = bcd2bin(tm->tm_sec); ds1286_read_time()
198 tm->tm_min = bcd2bin(tm->tm_min); ds1286_read_time()
199 tm->tm_hour = bcd2bin(tm->tm_hour); ds1286_read_time()
200 tm->tm_mday = bcd2bin(tm->tm_mday); ds1286_read_time()
201 tm->tm_mon = bcd2bin(tm->tm_mon); ds1286_read_time()
202 tm->tm_year = bcd2bin(tm->tm_year); ds1286_read_time()
208 if (tm->tm_year < 45) ds1286_read_time()
209 tm->tm_year += 30; ds1286_read_time()
210 tm->tm_year += 40; ds1286_read_time()
211 if (tm->tm_year < 70) ds1286_read_time()
212 tm->tm_year += 100; ds1286_read_time()
214 tm->tm_mon--; ds1286_read_time()
216 return rtc_valid_tm(tm); ds1286_read_time()
219 static int ds1286_set_time(struct device *dev, struct rtc_time *tm) ds1286_set_time() argument
227 yrs = tm->tm_year + 1900; ds1286_set_time()
228 mon = tm->tm_mon + 1; /* tm_mon starts at zero */ ds1286_set_time()
229 day = tm->tm_mday; ds1286_set_time()
230 hrs = tm->tm_hour; ds1286_set_time()
231 min = tm->tm_min; ds1286_set_time()
232 sec = tm->tm_sec; ds1286_set_time()
H A Drtc-max8998.c81 static void max8998_data_to_tm(u8 *data, struct rtc_time *tm) max8998_data_to_tm() argument
83 tm->tm_sec = bcd2bin(data[RTC_SEC]); max8998_data_to_tm()
84 tm->tm_min = bcd2bin(data[RTC_MIN]); max8998_data_to_tm()
86 tm->tm_hour = bcd2bin(data[RTC_HOUR] & 0x1f); max8998_data_to_tm()
88 tm->tm_hour += 12; max8998_data_to_tm()
90 tm->tm_hour = bcd2bin(data[RTC_HOUR] & 0x3f); max8998_data_to_tm()
92 tm->tm_wday = data[RTC_WEEKDAY] & 0x07; max8998_data_to_tm()
93 tm->tm_mday = bcd2bin(data[RTC_DATE]); max8998_data_to_tm()
94 tm->tm_mon = bcd2bin(data[RTC_MONTH]); max8998_data_to_tm()
95 tm->tm_year = bcd2bin(data[RTC_YEAR1]) + bcd2bin(data[RTC_YEAR2]) * 100; max8998_data_to_tm()
96 tm->tm_year -= 1900; max8998_data_to_tm()
99 static void max8998_tm_to_data(struct rtc_time *tm, u8 *data) max8998_tm_to_data() argument
101 data[RTC_SEC] = bin2bcd(tm->tm_sec); max8998_tm_to_data()
102 data[RTC_MIN] = bin2bcd(tm->tm_min); max8998_tm_to_data()
103 data[RTC_HOUR] = bin2bcd(tm->tm_hour); max8998_tm_to_data()
104 data[RTC_WEEKDAY] = tm->tm_wday; max8998_tm_to_data()
105 data[RTC_DATE] = bin2bcd(tm->tm_mday); max8998_tm_to_data()
106 data[RTC_MONTH] = bin2bcd(tm->tm_mon); max8998_tm_to_data()
107 data[RTC_YEAR1] = bin2bcd(tm->tm_year % 100); max8998_tm_to_data()
108 data[RTC_YEAR2] = bin2bcd((tm->tm_year + 1900) / 100); max8998_tm_to_data()
111 static int max8998_rtc_read_time(struct device *dev, struct rtc_time *tm) max8998_rtc_read_time() argument
121 max8998_data_to_tm(data, tm); max8998_rtc_read_time()
123 return rtc_valid_tm(tm); max8998_rtc_read_time()
126 static int max8998_rtc_set_time(struct device *dev, struct rtc_time *tm) max8998_rtc_set_time() argument
132 max8998_tm_to_data(tm, data); max8998_rtc_set_time()
H A Drtc-tps80031.c67 static int tps80031_rtc_read_time(struct device *dev, struct rtc_time *tm) tps80031_rtc_read_time() argument
79 tm->tm_sec = bcd2bin(buff[0]); tps80031_rtc_read_time()
80 tm->tm_min = bcd2bin(buff[1]); tps80031_rtc_read_time()
81 tm->tm_hour = bcd2bin(buff[2]); tps80031_rtc_read_time()
82 tm->tm_mday = bcd2bin(buff[3]); tps80031_rtc_read_time()
83 tm->tm_mon = bcd2bin(buff[4]) - 1; tps80031_rtc_read_time()
84 tm->tm_year = bcd2bin(buff[5]) + RTC_YEAR_OFFSET; tps80031_rtc_read_time()
85 tm->tm_wday = bcd2bin(buff[6]); tps80031_rtc_read_time()
89 static int tps80031_rtc_set_time(struct device *dev, struct rtc_time *tm) tps80031_rtc_set_time() argument
94 buff[0] = bin2bcd(tm->tm_sec); tps80031_rtc_set_time()
95 buff[1] = bin2bcd(tm->tm_min); tps80031_rtc_set_time()
96 buff[2] = bin2bcd(tm->tm_hour); tps80031_rtc_set_time()
97 buff[3] = bin2bcd(tm->tm_mday); tps80031_rtc_set_time()
98 buff[4] = bin2bcd(tm->tm_mon + 1); tps80031_rtc_set_time()
99 buff[5] = bin2bcd(tm->tm_year % RTC_YEAR_OFFSET); tps80031_rtc_set_time()
100 buff[6] = bin2bcd(tm->tm_wday); tps80031_rtc_set_time()
239 struct rtc_time tm; tps80031_rtc_probe() local
258 tps80031_rtc_read_time(&pdev->dev, &tm); tps80031_rtc_probe()
259 if ((tm.tm_year == RTC_YEAR_OFFSET + TPS80031_RTC_POR_YEAR) && tps80031_rtc_probe()
260 (tm.tm_mon == (TPS80031_RTC_POR_MONTH - 1)) && tps80031_rtc_probe()
261 (tm.tm_mday == TPS80031_RTC_POR_DAY)) { tps80031_rtc_probe()
262 tm.tm_year = 2000; tps80031_rtc_probe()
263 tm.tm_mday = 1; tps80031_rtc_probe()
264 tm.tm_mon = 1; tps80031_rtc_probe()
265 ret = tps80031_rtc_set_time(&pdev->dev, &tm); tps80031_rtc_probe()
H A Dsystohc.c26 struct rtc_time tm; rtc_set_ntp_time() local
30 rtc_time64_to_tm(now.tv_sec, &tm); rtc_set_ntp_time()
32 rtc_time64_to_tm(now.tv_sec + 1, &tm); rtc_set_ntp_time()
42 err = rtc_set_time(rtc, &tm); rtc_set_ntp_time()
H A Drtc-max77686.c75 static void max77686_rtc_data_to_tm(u8 *data, struct rtc_time *tm, max77686_rtc_data_to_tm() argument
78 tm->tm_sec = data[RTC_SEC] & 0x7f; max77686_rtc_data_to_tm()
79 tm->tm_min = data[RTC_MIN] & 0x7f; max77686_rtc_data_to_tm()
81 tm->tm_hour = data[RTC_HOUR] & 0x1f; max77686_rtc_data_to_tm()
83 tm->tm_hour = data[RTC_HOUR] & 0x0f; max77686_rtc_data_to_tm()
85 tm->tm_hour += 12; max77686_rtc_data_to_tm()
89 tm->tm_wday = ffs(data[RTC_WEEKDAY] & 0x7f) - 1; max77686_rtc_data_to_tm()
90 tm->tm_mday = data[RTC_DATE] & 0x1f; max77686_rtc_data_to_tm()
91 tm->tm_mon = (data[RTC_MONTH] & 0x0f) - 1; max77686_rtc_data_to_tm()
92 tm->tm_year = (data[RTC_YEAR] & 0x7f) + 100; max77686_rtc_data_to_tm()
93 tm->tm_yday = 0; max77686_rtc_data_to_tm()
94 tm->tm_isdst = 0; max77686_rtc_data_to_tm()
97 static int max77686_rtc_tm_to_data(struct rtc_time *tm, u8 *data) max77686_rtc_tm_to_data() argument
99 data[RTC_SEC] = tm->tm_sec; max77686_rtc_tm_to_data()
100 data[RTC_MIN] = tm->tm_min; max77686_rtc_tm_to_data()
101 data[RTC_HOUR] = tm->tm_hour; max77686_rtc_tm_to_data()
102 data[RTC_WEEKDAY] = 1 << tm->tm_wday; max77686_rtc_tm_to_data()
103 data[RTC_DATE] = tm->tm_mday; max77686_rtc_tm_to_data()
104 data[RTC_MONTH] = tm->tm_mon + 1; max77686_rtc_tm_to_data()
105 data[RTC_YEAR] = tm->tm_year > 100 ? (tm->tm_year - 100) : 0; max77686_rtc_tm_to_data()
107 if (tm->tm_year < 100) { max77686_rtc_tm_to_data()
109 1900 + tm->tm_year); max77686_rtc_tm_to_data()
139 static int max77686_rtc_read_time(struct device *dev, struct rtc_time *tm) max77686_rtc_read_time() argument
158 max77686_rtc_data_to_tm(data, tm, info->rtc_24hr_mode); max77686_rtc_read_time()
160 ret = rtc_valid_tm(tm); max77686_rtc_read_time()
167 static int max77686_rtc_set_time(struct device *dev, struct rtc_time *tm) max77686_rtc_set_time() argument
173 ret = max77686_rtc_tm_to_data(tm, data); max77686_rtc_set_time()
245 struct rtc_time tm; max77686_rtc_stop_alarm() local
262 max77686_rtc_data_to_tm(data, &tm, info->rtc_24hr_mode); max77686_rtc_stop_alarm()
284 struct rtc_time tm; max77686_rtc_start_alarm() local
301 max77686_rtc_data_to_tm(data, &tm, info->rtc_24hr_mode); max77686_rtc_start_alarm()
H A Drtc-mpc5121.c93 struct rtc_time *tm) mpc5121_rtc_update_smh()
95 out_8(&regs->second_set, tm->tm_sec); mpc5121_rtc_update_smh()
96 out_8(&regs->minute_set, tm->tm_min); mpc5121_rtc_update_smh()
97 out_8(&regs->hour_set, tm->tm_hour); mpc5121_rtc_update_smh()
106 static int mpc5121_rtc_read_time(struct device *dev, struct rtc_time *tm) mpc5121_rtc_read_time() argument
117 rtc_time_to_tm(now, tm); mpc5121_rtc_read_time()
123 mpc5121_rtc_update_smh(regs, tm); mpc5121_rtc_read_time()
125 return rtc_valid_tm(tm); mpc5121_rtc_read_time()
128 static int mpc5121_rtc_set_time(struct device *dev, struct rtc_time *tm) mpc5121_rtc_set_time() argument
139 ret = rtc_tm_to_time(tm, &now); mpc5121_rtc_set_time()
147 mpc5121_rtc_update_smh(regs, tm); mpc5121_rtc_set_time()
152 static int mpc5200_rtc_read_time(struct device *dev, struct rtc_time *tm) mpc5200_rtc_read_time() argument
158 tm->tm_sec = in_8(&regs->second); mpc5200_rtc_read_time()
159 tm->tm_min = in_8(&regs->minute); mpc5200_rtc_read_time()
163 tm->tm_hour = (in_8(&regs->hour) >> 1) + mpc5200_rtc_read_time()
166 tm->tm_hour = in_8(&regs->hour); mpc5200_rtc_read_time()
169 tm->tm_mday = tmp & 0x1f; mpc5200_rtc_read_time()
170 tm->tm_mon = in_8(&regs->month) - 1; mpc5200_rtc_read_time()
171 tm->tm_year = in_be16(&regs->year) - 1900; mpc5200_rtc_read_time()
172 tm->tm_wday = (tmp >> 5) % 7; mpc5200_rtc_read_time()
173 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year); mpc5200_rtc_read_time()
174 tm->tm_isdst = 0; mpc5200_rtc_read_time()
179 static int mpc5200_rtc_set_time(struct device *dev, struct rtc_time *tm) mpc5200_rtc_set_time() argument
184 mpc5121_rtc_update_smh(regs, tm); mpc5200_rtc_set_time()
187 out_8(&regs->month_set, tm->tm_mon + 1); mpc5200_rtc_set_time()
188 out_8(&regs->weekday_set, tm->tm_wday ? tm->tm_wday : 7); mpc5200_rtc_set_time()
189 out_8(&regs->date_set, tm->tm_mday); mpc5200_rtc_set_time()
190 out_be16(&regs->year_set, tm->tm_year + 1900); mpc5200_rtc_set_time()
92 mpc5121_rtc_update_smh(struct mpc5121_rtc_regs __iomem *regs, struct rtc_time *tm) mpc5121_rtc_update_smh() argument
H A Drtc-rs5c313.c214 static int rs5c313_rtc_read_time(struct device *dev, struct rtc_time *tm) rs5c313_rtc_read_time() argument
240 tm->tm_sec = bcd2bin(data); rs5c313_rtc_read_time()
244 tm->tm_min = bcd2bin(data); rs5c313_rtc_read_time()
248 tm->tm_hour = bcd2bin(data); rs5c313_rtc_read_time()
252 tm->tm_mday = bcd2bin(data); rs5c313_rtc_read_time()
256 tm->tm_mon = bcd2bin(data) - 1; rs5c313_rtc_read_time()
260 tm->tm_year = bcd2bin(data); rs5c313_rtc_read_time()
262 if (tm->tm_year < 70) rs5c313_rtc_read_time()
263 tm->tm_year += 100; rs5c313_rtc_read_time()
266 tm->tm_wday = bcd2bin(data); rs5c313_rtc_read_time()
274 static int rs5c313_rtc_set_time(struct device *dev, struct rtc_time *tm) rs5c313_rtc_set_time() argument
299 data = bin2bcd(tm->tm_sec); rs5c313_rtc_set_time()
303 data = bin2bcd(tm->tm_min); rs5c313_rtc_set_time()
307 data = bin2bcd(tm->tm_hour); rs5c313_rtc_set_time()
311 data = bin2bcd(tm->tm_mday); rs5c313_rtc_set_time()
315 data = bin2bcd(tm->tm_mon + 1); rs5c313_rtc_set_time()
319 data = bin2bcd(tm->tm_year % 100); rs5c313_rtc_set_time()
323 data = bin2bcd(tm->tm_wday); rs5c313_rtc_set_time()
334 struct rtc_time tm; rs5c313_check_xstp_bit() local
351 memset(&tm, 0, sizeof(struct rtc_time)); rs5c313_check_xstp_bit()
352 tm.tm_mday = 1; rs5c313_check_xstp_bit()
353 tm.tm_mon = 1 - 1; rs5c313_check_xstp_bit()
354 tm.tm_year = 2000 - 1900; rs5c313_check_xstp_bit()
356 rs5c313_rtc_set_time(NULL, &tm); rs5c313_check_xstp_bit()
H A Drtc-omap.c261 static int tm2bcd(struct rtc_time *tm) tm2bcd() argument
263 if (rtc_valid_tm(tm) != 0) tm2bcd()
266 tm->tm_sec = bin2bcd(tm->tm_sec); tm2bcd()
267 tm->tm_min = bin2bcd(tm->tm_min); tm2bcd()
268 tm->tm_hour = bin2bcd(tm->tm_hour); tm2bcd()
269 tm->tm_mday = bin2bcd(tm->tm_mday); tm2bcd()
271 tm->tm_mon = bin2bcd(tm->tm_mon + 1); tm2bcd()
274 if (tm->tm_year < 100 || tm->tm_year > 199) tm2bcd()
276 tm->tm_year = bin2bcd(tm->tm_year - 100); tm2bcd()
281 static void bcd2tm(struct rtc_time *tm) bcd2tm() argument
283 tm->tm_sec = bcd2bin(tm->tm_sec); bcd2tm()
284 tm->tm_min = bcd2bin(tm->tm_min); bcd2tm()
285 tm->tm_hour = bcd2bin(tm->tm_hour); bcd2tm()
286 tm->tm_mday = bcd2bin(tm->tm_mday); bcd2tm()
287 tm->tm_mon = bcd2bin(tm->tm_mon) - 1; bcd2tm()
289 tm->tm_year = bcd2bin(tm->tm_year) + 100; bcd2tm()
292 static void omap_rtc_read_time_raw(struct omap_rtc *rtc, struct rtc_time *tm) omap_rtc_read_time_raw() argument
294 tm->tm_sec = rtc_read(rtc, OMAP_RTC_SECONDS_REG); omap_rtc_read_time_raw()
295 tm->tm_min = rtc_read(rtc, OMAP_RTC_MINUTES_REG); omap_rtc_read_time_raw()
296 tm->tm_hour = rtc_read(rtc, OMAP_RTC_HOURS_REG); omap_rtc_read_time_raw()
297 tm->tm_mday = rtc_read(rtc, OMAP_RTC_DAYS_REG); omap_rtc_read_time_raw()
298 tm->tm_mon = rtc_read(rtc, OMAP_RTC_MONTHS_REG); omap_rtc_read_time_raw()
299 tm->tm_year = rtc_read(rtc, OMAP_RTC_YEARS_REG); omap_rtc_read_time_raw()
302 static int omap_rtc_read_time(struct device *dev, struct rtc_time *tm) omap_rtc_read_time() argument
309 omap_rtc_read_time_raw(rtc, tm); omap_rtc_read_time()
312 bcd2tm(tm); omap_rtc_read_time()
317 static int omap_rtc_set_time(struct device *dev, struct rtc_time *tm) omap_rtc_set_time() argument
321 if (tm2bcd(tm) < 0) omap_rtc_set_time()
328 rtc_write(rtc, OMAP_RTC_YEARS_REG, tm->tm_year); omap_rtc_set_time()
329 rtc_write(rtc, OMAP_RTC_MONTHS_REG, tm->tm_mon); omap_rtc_set_time()
330 rtc_write(rtc, OMAP_RTC_DAYS_REG, tm->tm_mday); omap_rtc_set_time()
331 rtc_write(rtc, OMAP_RTC_HOURS_REG, tm->tm_hour); omap_rtc_set_time()
332 rtc_write(rtc, OMAP_RTC_MINUTES_REG, tm->tm_min); omap_rtc_set_time()
333 rtc_write(rtc, OMAP_RTC_SECONDS_REG, tm->tm_sec); omap_rtc_set_time()
425 struct rtc_time tm; omap_rtc_power_off() local
435 omap_rtc_read_time_raw(rtc, &tm); omap_rtc_power_off()
436 bcd2tm(&tm); omap_rtc_power_off()
437 rtc_tm_to_time(&tm, &now); omap_rtc_power_off()
438 rtc_time_to_tm(now + 2, &tm); omap_rtc_power_off()
440 if (tm2bcd(&tm) < 0) { omap_rtc_power_off()
447 rtc_write(rtc, OMAP_RTC_ALARM2_SECONDS_REG, tm.tm_sec); omap_rtc_power_off()
448 rtc_write(rtc, OMAP_RTC_ALARM2_MINUTES_REG, tm.tm_min); omap_rtc_power_off()
449 rtc_write(rtc, OMAP_RTC_ALARM2_HOURS_REG, tm.tm_hour); omap_rtc_power_off()
450 rtc_write(rtc, OMAP_RTC_ALARM2_DAYS_REG, tm.tm_mday); omap_rtc_power_off()
451 rtc_write(rtc, OMAP_RTC_ALARM2_MONTHS_REG, tm.tm_mon); omap_rtc_power_off()
452 rtc_write(rtc, OMAP_RTC_ALARM2_YEARS_REG, tm.tm_year); omap_rtc_power_off()
H A Drtc-x1205.c93 static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm, x1205_get_datetime() argument
132 tm->tm_sec = bcd2bin(buf[CCR_SEC]); x1205_get_datetime()
133 tm->tm_min = bcd2bin(buf[CCR_MIN]); x1205_get_datetime()
134 tm->tm_hour = bcd2bin(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */ x1205_get_datetime()
135 tm->tm_mday = bcd2bin(buf[CCR_MDAY]); x1205_get_datetime()
136 tm->tm_mon = bcd2bin(buf[CCR_MONTH]) - 1; /* mon is 0-11 */ x1205_get_datetime()
137 tm->tm_year = bcd2bin(buf[CCR_YEAR]) x1205_get_datetime()
139 tm->tm_wday = buf[CCR_WDAY]; x1205_get_datetime()
141 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " x1205_get_datetime()
144 tm->tm_sec, tm->tm_min, tm->tm_hour, x1205_get_datetime()
145 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); x1205_get_datetime()
177 static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm, x1205_set_datetime() argument
194 __func__, tm->tm_sec, tm->tm_min, tm->tm_hour, tm->tm_mday, x1205_set_datetime()
195 tm->tm_mon, tm->tm_year, tm->tm_wday); x1205_set_datetime()
197 buf[CCR_SEC] = bin2bcd(tm->tm_sec); x1205_set_datetime()
198 buf[CCR_MIN] = bin2bcd(tm->tm_min); x1205_set_datetime()
201 buf[CCR_HOUR] = bin2bcd(tm->tm_hour) | X1205_HR_MIL; x1205_set_datetime()
203 buf[CCR_MDAY] = bin2bcd(tm->tm_mday); x1205_set_datetime()
206 buf[CCR_MONTH] = bin2bcd(tm->tm_mon + 1); x1205_set_datetime()
209 buf[CCR_YEAR] = bin2bcd(tm->tm_year % 100); x1205_set_datetime()
210 buf[CCR_WDAY] = tm->tm_wday & 0x07; x1205_set_datetime()
211 buf[CCR_Y2K] = bin2bcd((tm->tm_year + 1900) / 100); x1205_set_datetime()
287 struct rtc_time tm; x1205_fix_osc() local
289 memset(&tm, 0, sizeof(tm)); x1205_fix_osc()
291 err = x1205_set_datetime(client, &tm, X1205_CCR_BASE, 0); x1205_fix_osc()
539 static int x1205_rtc_read_time(struct device *dev, struct rtc_time *tm) x1205_rtc_read_time() argument
542 tm, X1205_CCR_BASE); x1205_rtc_read_time()
545 static int x1205_rtc_set_time(struct device *dev, struct rtc_time *tm) x1205_rtc_set_time() argument
548 tm, X1205_CCR_BASE, 0); x1205_rtc_set_time()
H A Drtc-max8997.c80 static void max8997_rtc_data_to_tm(u8 *data, struct rtc_time *tm, max8997_rtc_data_to_tm() argument
83 tm->tm_sec = data[RTC_SEC] & 0x7f; max8997_rtc_data_to_tm()
84 tm->tm_min = data[RTC_MIN] & 0x7f; max8997_rtc_data_to_tm()
86 tm->tm_hour = data[RTC_HOUR] & 0x1f; max8997_rtc_data_to_tm()
88 tm->tm_hour = data[RTC_HOUR] & 0x0f; max8997_rtc_data_to_tm()
90 tm->tm_hour += 12; max8997_rtc_data_to_tm()
93 tm->tm_wday = fls(data[RTC_WEEKDAY] & 0x7f) - 1; max8997_rtc_data_to_tm()
94 tm->tm_mday = data[RTC_DATE] & 0x1f; max8997_rtc_data_to_tm()
95 tm->tm_mon = (data[RTC_MONTH] & 0x0f) - 1; max8997_rtc_data_to_tm()
96 tm->tm_year = (data[RTC_YEAR] & 0x7f) + 100; max8997_rtc_data_to_tm()
97 tm->tm_yday = 0; max8997_rtc_data_to_tm()
98 tm->tm_isdst = 0; max8997_rtc_data_to_tm()
101 static int max8997_rtc_tm_to_data(struct rtc_time *tm, u8 *data) max8997_rtc_tm_to_data() argument
103 data[RTC_SEC] = tm->tm_sec; max8997_rtc_tm_to_data()
104 data[RTC_MIN] = tm->tm_min; max8997_rtc_tm_to_data()
105 data[RTC_HOUR] = tm->tm_hour; max8997_rtc_tm_to_data()
106 data[RTC_WEEKDAY] = 1 << tm->tm_wday; max8997_rtc_tm_to_data()
107 data[RTC_DATE] = tm->tm_mday; max8997_rtc_tm_to_data()
108 data[RTC_MONTH] = tm->tm_mon + 1; max8997_rtc_tm_to_data()
109 data[RTC_YEAR] = tm->tm_year > 100 ? (tm->tm_year - 100) : 0; max8997_rtc_tm_to_data()
111 if (tm->tm_year < 100) { max8997_rtc_tm_to_data()
113 1900 + tm->tm_year); max8997_rtc_tm_to_data()
138 static int max8997_rtc_read_time(struct device *dev, struct rtc_time *tm) max8997_rtc_read_time() argument
154 max8997_rtc_data_to_tm(data, tm, info->rtc_24hr_mode); max8997_rtc_read_time()
156 return rtc_valid_tm(tm); max8997_rtc_read_time()
159 static int max8997_rtc_set_time(struct device *dev, struct rtc_time *tm) max8997_rtc_set_time() argument
165 ret = max8997_rtc_tm_to_data(tm, data); max8997_rtc_set_time()
H A Drtc-nuc900.c106 unsigned int calreg, struct rtc_time *tm) nuc900_rtc_bcd2bin()
108 tm->tm_mday = bcd2bin(calreg >> 0); nuc900_rtc_bcd2bin()
109 tm->tm_mon = bcd2bin(calreg >> 8); nuc900_rtc_bcd2bin()
110 tm->tm_year = bcd2bin(calreg >> 16) + 100; nuc900_rtc_bcd2bin()
112 tm->tm_sec = bcd2bin(timereg >> 0); nuc900_rtc_bcd2bin()
113 tm->tm_min = bcd2bin(timereg >> 8); nuc900_rtc_bcd2bin()
114 tm->tm_hour = bcd2bin(timereg >> 16); nuc900_rtc_bcd2bin()
116 return rtc_valid_tm(tm); nuc900_rtc_bcd2bin()
151 static int nuc900_rtc_read_time(struct device *dev, struct rtc_time *tm) nuc900_rtc_read_time() argument
159 return nuc900_rtc_bcd2bin(timeval, clrval, tm); nuc900_rtc_read_time()
162 static int nuc900_rtc_set_time(struct device *dev, struct rtc_time *tm) nuc900_rtc_set_time() argument
169 nuc900_rtc_bin2bcd(dev, tm, &gettm); nuc900_rtc_set_time()
198 struct nuc900_bcd_time tm; nuc900_rtc_set_alarm() local
202 nuc900_rtc_bin2bcd(dev, &alrm->time, &tm); nuc900_rtc_set_alarm()
208 val = tm.bcd_mday | tm.bcd_mon | tm.bcd_year; nuc900_rtc_set_alarm()
211 val = tm.bcd_sec | tm.bcd_min | tm.bcd_hour; nuc900_rtc_set_alarm()
105 nuc900_rtc_bcd2bin(unsigned int timereg, unsigned int calreg, struct rtc_time *tm) nuc900_rtc_bcd2bin() argument
H A Drtc-opal.c33 static void opal_to_tm(u32 y_m_d, u64 h_m_s_ms, struct rtc_time *tm) opal_to_tm() argument
35 tm->tm_year = ((bcd2bin(y_m_d >> 24) * 100) + opal_to_tm()
37 tm->tm_mon = bcd2bin((y_m_d >> 8) & 0xff) - 1; opal_to_tm()
38 tm->tm_mday = bcd2bin(y_m_d & 0xff); opal_to_tm()
39 tm->tm_hour = bcd2bin((h_m_s_ms >> 56) & 0xff); opal_to_tm()
40 tm->tm_min = bcd2bin((h_m_s_ms >> 48) & 0xff); opal_to_tm()
41 tm->tm_sec = bcd2bin((h_m_s_ms >> 40) & 0xff); opal_to_tm()
43 GregorianDay(tm); opal_to_tm()
46 static void tm_to_opal(struct rtc_time *tm, u32 *y_m_d, u64 *h_m_s_ms) tm_to_opal() argument
48 *y_m_d |= ((u32)bin2bcd((tm->tm_year + 1900) / 100)) << 24; tm_to_opal()
49 *y_m_d |= ((u32)bin2bcd((tm->tm_year + 1900) % 100)) << 16; tm_to_opal()
50 *y_m_d |= ((u32)bin2bcd((tm->tm_mon + 1))) << 8; tm_to_opal()
51 *y_m_d |= ((u32)bin2bcd(tm->tm_mday)); tm_to_opal()
53 *h_m_s_ms |= ((u64)bin2bcd(tm->tm_hour)) << 56; tm_to_opal()
54 *h_m_s_ms |= ((u64)bin2bcd(tm->tm_min)) << 48; tm_to_opal()
55 *h_m_s_ms |= ((u64)bin2bcd(tm->tm_sec)) << 40; tm_to_opal()
58 static int opal_get_rtc_time(struct device *dev, struct rtc_time *tm) opal_get_rtc_time() argument
79 opal_to_tm(y_m_d, h_m_s_ms, tm); opal_get_rtc_time()
84 static int opal_set_rtc_time(struct device *dev, struct rtc_time *tm) opal_set_rtc_time() argument
90 tm_to_opal(tm, &y_m_d, &h_m_s_ms); opal_set_rtc_time()
H A Drtc-ps3.c41 static int ps3_get_time(struct device *dev, struct rtc_time *tm) ps3_get_time() argument
43 rtc_time_to_tm(read_rtc() + ps3_os_area_get_rtc_diff(), tm); ps3_get_time()
44 return rtc_valid_tm(tm); ps3_get_time()
47 static int ps3_set_time(struct device *dev, struct rtc_time *tm) ps3_set_time() argument
51 rtc_tm_to_time(tm, &now); ps3_set_time()
H A Drtc-max77802.c78 static void max77802_rtc_data_to_tm(u8 *data, struct rtc_time *tm, max77802_rtc_data_to_tm() argument
81 tm->tm_sec = data[RTC_SEC] & 0xff; max77802_rtc_data_to_tm()
82 tm->tm_min = data[RTC_MIN] & 0xff; max77802_rtc_data_to_tm()
84 tm->tm_hour = data[RTC_HOUR] & 0x1f; max77802_rtc_data_to_tm()
86 tm->tm_hour = data[RTC_HOUR] & 0x0f; max77802_rtc_data_to_tm()
88 tm->tm_hour += 12; max77802_rtc_data_to_tm()
92 tm->tm_wday = ffs(data[RTC_WEEKDAY] & 0xff) - 1; max77802_rtc_data_to_tm()
93 tm->tm_mday = data[RTC_DATE] & 0x1f; max77802_rtc_data_to_tm()
94 tm->tm_mon = (data[RTC_MONTH] & 0x0f) - 1; max77802_rtc_data_to_tm()
96 tm->tm_year = data[RTC_YEAR] & 0xff; max77802_rtc_data_to_tm()
97 tm->tm_yday = 0; max77802_rtc_data_to_tm()
98 tm->tm_isdst = 0; max77802_rtc_data_to_tm()
101 static int max77802_rtc_tm_to_data(struct rtc_time *tm, u8 *data) max77802_rtc_tm_to_data() argument
103 data[RTC_SEC] = tm->tm_sec; max77802_rtc_tm_to_data()
104 data[RTC_MIN] = tm->tm_min; max77802_rtc_tm_to_data()
105 data[RTC_HOUR] = tm->tm_hour; max77802_rtc_tm_to_data()
106 data[RTC_WEEKDAY] = 1 << tm->tm_wday; max77802_rtc_tm_to_data()
107 data[RTC_DATE] = tm->tm_mday; max77802_rtc_tm_to_data()
108 data[RTC_MONTH] = tm->tm_mon + 1; max77802_rtc_tm_to_data()
109 data[RTC_YEAR] = tm->tm_year; max77802_rtc_tm_to_data()
139 static int max77802_rtc_read_time(struct device *dev, struct rtc_time *tm) max77802_rtc_read_time() argument
159 max77802_rtc_data_to_tm(data, tm, info->rtc_24hr_mode); max77802_rtc_read_time()
161 ret = rtc_valid_tm(tm); max77802_rtc_read_time()
168 static int max77802_rtc_set_time(struct device *dev, struct rtc_time *tm) max77802_rtc_set_time() argument
174 ret = max77802_rtc_tm_to_data(tm, data); max77802_rtc_set_time()
H A Drtc-as3722.c42 static void as3722_time_to_reg(u8 *rbuff, struct rtc_time *tm) as3722_time_to_reg() argument
44 rbuff[0] = bin2bcd(tm->tm_sec); as3722_time_to_reg()
45 rbuff[1] = bin2bcd(tm->tm_min); as3722_time_to_reg()
46 rbuff[2] = bin2bcd(tm->tm_hour); as3722_time_to_reg()
47 rbuff[3] = bin2bcd(tm->tm_mday); as3722_time_to_reg()
48 rbuff[4] = bin2bcd(tm->tm_mon + 1); as3722_time_to_reg()
49 rbuff[5] = bin2bcd(tm->tm_year - (AS3722_RTC_START_YEAR - 1900)); as3722_time_to_reg()
52 static void as3722_reg_to_time(u8 *rbuff, struct rtc_time *tm) as3722_reg_to_time() argument
54 tm->tm_sec = bcd2bin(rbuff[0] & 0x7F); as3722_reg_to_time()
55 tm->tm_min = bcd2bin(rbuff[1] & 0x7F); as3722_reg_to_time()
56 tm->tm_hour = bcd2bin(rbuff[2] & 0x3F); as3722_reg_to_time()
57 tm->tm_mday = bcd2bin(rbuff[3] & 0x3F); as3722_reg_to_time()
58 tm->tm_mon = bcd2bin(rbuff[4] & 0x1F) - 1; as3722_reg_to_time()
59 tm->tm_year = (AS3722_RTC_START_YEAR - 1900) + bcd2bin(rbuff[5] & 0x7F); as3722_reg_to_time()
63 static int as3722_rtc_read_time(struct device *dev, struct rtc_time *tm) as3722_rtc_read_time() argument
76 as3722_reg_to_time(as_time_array, tm); as3722_rtc_read_time()
80 static int as3722_rtc_set_time(struct device *dev, struct rtc_time *tm) as3722_rtc_set_time() argument
87 if (tm->tm_year < (AS3722_RTC_START_YEAR - 1900)) as3722_rtc_set_time()
90 as3722_time_to_reg(as_time_array, tm); as3722_rtc_set_time()
H A Drtc-bq32k.c87 static int bq32k_rtc_read_time(struct device *dev, struct rtc_time *tm) bq32k_rtc_read_time() argument
96 tm->tm_sec = bcd2bin(regs.seconds & BQ32K_SECONDS_MASK); bq32k_rtc_read_time()
97 tm->tm_min = bcd2bin(regs.minutes & BQ32K_SECONDS_MASK); bq32k_rtc_read_time()
98 tm->tm_hour = bcd2bin(regs.cent_hours & BQ32K_HOURS_MASK); bq32k_rtc_read_time()
99 tm->tm_mday = bcd2bin(regs.date); bq32k_rtc_read_time()
100 tm->tm_wday = bcd2bin(regs.day) - 1; bq32k_rtc_read_time()
101 tm->tm_mon = bcd2bin(regs.month) - 1; bq32k_rtc_read_time()
102 tm->tm_year = bcd2bin(regs.years) + bq32k_rtc_read_time()
105 return rtc_valid_tm(tm); bq32k_rtc_read_time()
108 static int bq32k_rtc_set_time(struct device *dev, struct rtc_time *tm) bq32k_rtc_set_time() argument
112 regs.seconds = bin2bcd(tm->tm_sec); bq32k_rtc_set_time()
113 regs.minutes = bin2bcd(tm->tm_min); bq32k_rtc_set_time()
114 regs.cent_hours = bin2bcd(tm->tm_hour) | BQ32K_CENT_EN; bq32k_rtc_set_time()
115 regs.day = bin2bcd(tm->tm_wday + 1); bq32k_rtc_set_time()
116 regs.date = bin2bcd(tm->tm_mday); bq32k_rtc_set_time()
117 regs.month = bin2bcd(tm->tm_mon + 1); bq32k_rtc_set_time()
119 if (tm->tm_year >= 100) { bq32k_rtc_set_time()
121 regs.years = bin2bcd(tm->tm_year - 100); bq32k_rtc_set_time()
123 regs.years = bin2bcd(tm->tm_year); bq32k_rtc_set_time()
H A Drtc-ds1742.c63 static int ds1742_rtc_set_time(struct device *dev, struct rtc_time *tm) ds1742_rtc_set_time() argument
70 century = bin2bcd((tm->tm_year + 1900) / 100); ds1742_rtc_set_time()
74 writeb(bin2bcd(tm->tm_year % 100), ioaddr + RTC_YEAR); ds1742_rtc_set_time()
75 writeb(bin2bcd(tm->tm_mon + 1), ioaddr + RTC_MONTH); ds1742_rtc_set_time()
76 writeb(bin2bcd(tm->tm_wday) & RTC_DAY_MASK, ioaddr + RTC_DAY); ds1742_rtc_set_time()
77 writeb(bin2bcd(tm->tm_mday), ioaddr + RTC_DATE); ds1742_rtc_set_time()
78 writeb(bin2bcd(tm->tm_hour), ioaddr + RTC_HOURS); ds1742_rtc_set_time()
79 writeb(bin2bcd(tm->tm_min), ioaddr + RTC_MINUTES); ds1742_rtc_set_time()
80 writeb(bin2bcd(tm->tm_sec) & RTC_SECONDS_MASK, ioaddr + RTC_SECONDS); ds1742_rtc_set_time()
88 static int ds1742_rtc_read_time(struct device *dev, struct rtc_time *tm) ds1742_rtc_read_time() argument
110 tm->tm_sec = bcd2bin(second); ds1742_rtc_read_time()
111 tm->tm_min = bcd2bin(minute); ds1742_rtc_read_time()
112 tm->tm_hour = bcd2bin(hour); ds1742_rtc_read_time()
113 tm->tm_mday = bcd2bin(day); ds1742_rtc_read_time()
114 tm->tm_wday = bcd2bin(week); ds1742_rtc_read_time()
115 tm->tm_mon = bcd2bin(month) - 1; ds1742_rtc_read_time()
116 /* year is 1900 + tm->tm_year */ ds1742_rtc_read_time()
117 tm->tm_year = bcd2bin(year) + bcd2bin(century) * 100 - 1900; ds1742_rtc_read_time()
119 return rtc_valid_tm(tm); ds1742_rtc_read_time()
H A Drtc-ds1672.c33 static int ds1672_get_datetime(struct i2c_client *client, struct rtc_time *tm) ds1672_get_datetime() argument
65 rtc_time_to_tm(time, tm); ds1672_get_datetime()
67 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " ds1672_get_datetime()
69 __func__, tm->tm_sec, tm->tm_min, tm->tm_hour, ds1672_get_datetime()
70 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); ds1672_get_datetime()
96 static int ds1672_rtc_read_time(struct device *dev, struct rtc_time *tm) ds1672_rtc_read_time() argument
98 return ds1672_get_datetime(to_i2c_client(dev), tm); ds1672_rtc_read_time()
H A Drtc-starfire.c30 static int starfire_read_time(struct device *dev, struct rtc_time *tm) starfire_read_time() argument
32 rtc_time_to_tm(starfire_get_time(), tm); starfire_read_time() local
33 return rtc_valid_tm(tm); starfire_read_time()
H A Drtc-fm3130.c191 struct rtc_time *tm = &alrm->time; fm3130_read_alarm() local
217 tm->tm_sec = bcd2bin(fm3130->regs[FM3130_ALARM_SECONDS] & 0x7F); fm3130_read_alarm()
218 tm->tm_min = bcd2bin(fm3130->regs[FM3130_ALARM_MINUTES] & 0x7F); fm3130_read_alarm()
219 tm->tm_hour = bcd2bin(fm3130->regs[FM3130_ALARM_HOURS] & 0x3F); fm3130_read_alarm()
220 tm->tm_mday = bcd2bin(fm3130->regs[FM3130_ALARM_DATE] & 0x3F); fm3130_read_alarm()
221 tm->tm_mon = bcd2bin(fm3130->regs[FM3130_ALARM_MONTHS] & 0x1F); fm3130_read_alarm()
223 if (tm->tm_mon > 0) fm3130_read_alarm()
224 tm->tm_mon -= 1; /* RTC is 1-12, tm_mon is 0-11 */ fm3130_read_alarm()
228 "read alarm", tm->tm_sec, tm->tm_min, fm3130_read_alarm()
229 tm->tm_hour, tm->tm_mday, fm3130_read_alarm()
230 tm->tm_mon, tm->tm_year, tm->tm_wday); fm3130_read_alarm()
248 struct rtc_time *tm = &alrm->time; fm3130_set_alarm() local
253 "write alarm", tm->tm_sec, tm->tm_min, fm3130_set_alarm()
254 tm->tm_hour, tm->tm_mday, fm3130_set_alarm()
255 tm->tm_mon, tm->tm_year, tm->tm_wday); fm3130_set_alarm()
258 (tm->tm_sec != -1) ? bin2bcd(tm->tm_sec) : 0x80; fm3130_set_alarm()
261 (tm->tm_min != -1) ? bin2bcd(tm->tm_min) : 0x80; fm3130_set_alarm()
264 (tm->tm_hour != -1) ? bin2bcd(tm->tm_hour) : 0x80; fm3130_set_alarm()
267 (tm->tm_mday != -1) ? bin2bcd(tm->tm_mday) : 0x80; fm3130_set_alarm()
270 (tm->tm_mon != -1) ? bin2bcd(tm->tm_mon + 1) : 0x80; fm3130_set_alarm()
H A Drtc-at91sam9.c108 static int at91_rtc_readtime(struct device *dev, struct rtc_time *tm) at91_rtc_readtime() argument
125 rtc_time_to_tm(offset + secs, tm); at91_rtc_readtime()
128 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, at91_rtc_readtime()
129 tm->tm_hour, tm->tm_min, tm->tm_sec); at91_rtc_readtime()
137 static int at91_rtc_settime(struct device *dev, struct rtc_time *tm) at91_rtc_settime() argument
145 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, at91_rtc_settime()
146 tm->tm_hour, tm->tm_min, tm->tm_sec); at91_rtc_settime()
148 err = rtc_tm_to_time(tm, &secs); at91_rtc_settime()
190 struct rtc_time *tm = &alrm->time; at91_rtc_readalarm() local
200 rtc_time_to_tm(offset + alarm, tm); at91_rtc_readalarm()
203 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, at91_rtc_readalarm()
204 tm->tm_hour, tm->tm_min, tm->tm_sec); at91_rtc_readalarm()
216 struct rtc_time *tm = &alrm->time; at91_rtc_setalarm() local
222 err = rtc_tm_to_time(tm, &secs); at91_rtc_setalarm()
246 tm->tm_year, tm->tm_mon, tm->tm_mday, tm->tm_hour, at91_rtc_setalarm()
247 tm->tm_min, tm->tm_sec); at91_rtc_setalarm()
H A Drtc-proc.c48 struct rtc_time tm; rtc_proc_show() local
50 err = rtc_read_time(rtc, &tm); rtc_proc_show()
55 tm.tm_hour, tm.tm_min, tm.tm_sec, rtc_proc_show()
56 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); rtc_proc_show()
H A Drtc-abx80x.c95 static int abx80x_rtc_read_time(struct device *dev, struct rtc_time *tm) abx80x_rtc_read_time() argument
108 tm->tm_sec = bcd2bin(buf[ABX8XX_REG_SC] & 0x7F); abx80x_rtc_read_time()
109 tm->tm_min = bcd2bin(buf[ABX8XX_REG_MN] & 0x7F); abx80x_rtc_read_time()
110 tm->tm_hour = bcd2bin(buf[ABX8XX_REG_HR] & 0x3F); abx80x_rtc_read_time()
111 tm->tm_wday = buf[ABX8XX_REG_WD] & 0x7; abx80x_rtc_read_time()
112 tm->tm_mday = bcd2bin(buf[ABX8XX_REG_DA] & 0x3F); abx80x_rtc_read_time()
113 tm->tm_mon = bcd2bin(buf[ABX8XX_REG_MO] & 0x1F) - 1; abx80x_rtc_read_time()
114 tm->tm_year = bcd2bin(buf[ABX8XX_REG_YR]) + 100; abx80x_rtc_read_time()
116 err = rtc_valid_tm(tm); abx80x_rtc_read_time()
123 static int abx80x_rtc_set_time(struct device *dev, struct rtc_time *tm) abx80x_rtc_set_time() argument
129 if (tm->tm_year < 100) abx80x_rtc_set_time()
133 buf[ABX8XX_REG_SC] = bin2bcd(tm->tm_sec); abx80x_rtc_set_time()
134 buf[ABX8XX_REG_MN] = bin2bcd(tm->tm_min); abx80x_rtc_set_time()
135 buf[ABX8XX_REG_HR] = bin2bcd(tm->tm_hour); abx80x_rtc_set_time()
136 buf[ABX8XX_REG_DA] = bin2bcd(tm->tm_mday); abx80x_rtc_set_time()
137 buf[ABX8XX_REG_MO] = bin2bcd(tm->tm_mon + 1); abx80x_rtc_set_time()
138 buf[ABX8XX_REG_YR] = bin2bcd(tm->tm_year - 100); abx80x_rtc_set_time()
139 buf[ABX8XX_REG_WD] = tm->tm_wday; abx80x_rtc_set_time()
H A Drtc-vt8500.c109 static int vt8500_rtc_read_time(struct device *dev, struct rtc_time *tm) vt8500_rtc_read_time() argument
117 tm->tm_sec = bcd2bin(time & TIME_SEC_MASK); vt8500_rtc_read_time()
118 tm->tm_min = bcd2bin((time & TIME_MIN_MASK) >> TIME_MIN_S); vt8500_rtc_read_time()
119 tm->tm_hour = bcd2bin((time & TIME_HOUR_MASK) >> TIME_HOUR_S); vt8500_rtc_read_time()
120 tm->tm_mday = bcd2bin(date & DATE_DAY_MASK); vt8500_rtc_read_time()
121 tm->tm_mon = bcd2bin((date & DATE_MONTH_MASK) >> DATE_MONTH_S) - 1; vt8500_rtc_read_time()
122 tm->tm_year = bcd2bin((date & DATE_YEAR_MASK) >> DATE_YEAR_S) vt8500_rtc_read_time()
124 tm->tm_wday = (time & TIME_DOW_MASK) >> TIME_DOW_S; vt8500_rtc_read_time()
129 static int vt8500_rtc_set_time(struct device *dev, struct rtc_time *tm) vt8500_rtc_set_time() argument
133 if (tm->tm_year < 100) { vt8500_rtc_set_time()
139 writel((bin2bcd(tm->tm_year % 100) << DATE_YEAR_S) vt8500_rtc_set_time()
140 | (bin2bcd(tm->tm_mon + 1) << DATE_MONTH_S) vt8500_rtc_set_time()
141 | (bin2bcd(tm->tm_mday)) vt8500_rtc_set_time()
142 | ((tm->tm_year >= 200) << DATE_CENTURY_S), vt8500_rtc_set_time()
144 writel((bin2bcd(tm->tm_wday) << TIME_DOW_S) vt8500_rtc_set_time()
145 | (bin2bcd(tm->tm_hour) << TIME_HOUR_S) vt8500_rtc_set_time()
146 | (bin2bcd(tm->tm_min) << TIME_MIN_S) vt8500_rtc_set_time()
147 | (bin2bcd(tm->tm_sec)), vt8500_rtc_set_time()
H A Drtc-pxa.c99 static u32 ryxr_calc(struct rtc_time *tm) ryxr_calc() argument
101 return ((tm->tm_year + 1900) << RYxR_YEAR_S) ryxr_calc()
102 | ((tm->tm_mon + 1) << RYxR_MONTH_S) ryxr_calc()
103 | tm->tm_mday; ryxr_calc()
106 static u32 rdxr_calc(struct rtc_time *tm) rdxr_calc() argument
108 return ((((tm->tm_mday + 6) / 7) << RDxR_WOM_S) & RDxR_WOM_MASK) rdxr_calc()
109 | (((tm->tm_wday + 1) << RDxR_DOW_S) & RDxR_DOW_MASK) rdxr_calc()
110 | (tm->tm_hour << RDxR_HOUR_S) rdxr_calc()
111 | (tm->tm_min << RDxR_MIN_S) rdxr_calc()
112 | tm->tm_sec; rdxr_calc()
115 static void tm_calc(u32 rycr, u32 rdcr, struct rtc_time *tm) tm_calc() argument
117 tm->tm_year = ((rycr & RYxR_YEAR_MASK) >> RYxR_YEAR_S) - 1900; tm_calc()
118 tm->tm_mon = (((rycr & RYxR_MONTH_MASK) >> RYxR_MONTH_S)) - 1; tm_calc()
119 tm->tm_mday = (rycr & RYxR_DAY_MASK); tm_calc()
120 tm->tm_wday = ((rycr & RDxR_DOW_MASK) >> RDxR_DOW_S) - 1; tm_calc()
121 tm->tm_hour = (rdcr & RDxR_HOUR_MASK) >> RDxR_HOUR_S; tm_calc()
122 tm->tm_min = (rdcr & RDxR_MIN_MASK) >> RDxR_MIN_S; tm_calc()
123 tm->tm_sec = rdcr & RDxR_SEC_MASK; tm_calc()
238 static int pxa_rtc_read_time(struct device *dev, struct rtc_time *tm) pxa_rtc_read_time() argument
246 tm_calc(rycr, rdcr, tm); pxa_rtc_read_time()
250 static int pxa_rtc_set_time(struct device *dev, struct rtc_time *tm) pxa_rtc_set_time() argument
254 rtc_writel(pxa_rtc, RYCR, ryxr_calc(tm)); pxa_rtc_set_time()
255 rtc_writel(pxa_rtc, RDCR, rdxr_calc(tm)); pxa_rtc_set_time()
H A Drtc-davinci.c243 static int convertfromdays(u16 days, struct rtc_time *tm) convertfromdays() argument
257 tm->tm_year = year - 1900; convertfromdays()
258 tm->tm_mon = mon; convertfromdays()
259 tm->tm_mday = days + 1; convertfromdays()
269 static int convert2days(u16 *days, struct rtc_time *tm) convert2days() argument
275 if (tm->tm_year < 100 || tm->tm_year > 199) convert2days()
278 for (i = 2000; i < 1900 + tm->tm_year; i++) convert2days()
281 *days += rtc_year_days(tm->tm_mday, tm->tm_mon, 1900 + tm->tm_year); convert2days()
286 static int davinci_rtc_read_time(struct device *dev, struct rtc_time *tm) davinci_rtc_read_time() argument
296 tm->tm_sec = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_SEC)); davinci_rtc_read_time()
299 tm->tm_min = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_MIN)); davinci_rtc_read_time()
302 tm->tm_hour = bcd2bin(rtcss_read(davinci_rtc, PRTCSS_RTC_HOUR)); davinci_rtc_read_time()
316 if (convertfromdays(days, tm) < 0) davinci_rtc_read_time()
322 static int davinci_rtc_set_time(struct device *dev, struct rtc_time *tm) davinci_rtc_set_time() argument
329 if (convert2days(&days, tm) < 0) davinci_rtc_set_time()
335 rtcss_write(davinci_rtc, bin2bcd(tm->tm_sec), PRTCSS_RTC_SEC); davinci_rtc_set_time()
338 rtcss_write(davinci_rtc, bin2bcd(tm->tm_min), PRTCSS_RTC_MIN); davinci_rtc_set_time()
341 rtcss_write(davinci_rtc, bin2bcd(tm->tm_hour), PRTCSS_RTC_HOUR); davinci_rtc_set_time()
429 struct rtc_time tm; davinci_rtc_set_alarm() local
432 davinci_rtc_read_time(dev, &tm); davinci_rtc_set_alarm()
433 rtc_tm_to_time(&tm, &now); davinci_rtc_set_alarm()
435 alm->time.tm_mday = tm.tm_mday; davinci_rtc_set_alarm()
436 alm->time.tm_mon = tm.tm_mon; davinci_rtc_set_alarm()
437 alm->time.tm_year = tm.tm_year; davinci_rtc_set_alarm()
441 rtc_time_to_tm(now + 24 * 60 * 60, &tm); davinci_rtc_set_alarm()
442 alm->time.tm_mday = tm.tm_mday; davinci_rtc_set_alarm()
443 alm->time.tm_mon = tm.tm_mon; davinci_rtc_set_alarm()
444 alm->time.tm_year = tm.tm_year; davinci_rtc_set_alarm()
H A Drtc-isl1208.c278 isl1208_i2c_read_time(struct i2c_client *client, struct rtc_time *tm) isl1208_i2c_read_time() argument
296 tm->tm_sec = bcd2bin(regs[ISL1208_REG_SC]); isl1208_i2c_read_time()
297 tm->tm_min = bcd2bin(regs[ISL1208_REG_MN]); isl1208_i2c_read_time()
303 tm->tm_hour = bcd2bin(_hr & 0x3f); isl1208_i2c_read_time()
306 tm->tm_hour = bcd2bin(_hr & 0x1f); isl1208_i2c_read_time()
308 tm->tm_hour += 12; isl1208_i2c_read_time()
312 tm->tm_mday = bcd2bin(regs[ISL1208_REG_DT]); isl1208_i2c_read_time()
313 tm->tm_mon = bcd2bin(regs[ISL1208_REG_MO]) - 1; /* rtc starts at 1 */ isl1208_i2c_read_time()
314 tm->tm_year = bcd2bin(regs[ISL1208_REG_YR]) + 100; isl1208_i2c_read_time()
315 tm->tm_wday = bcd2bin(regs[ISL1208_REG_DW]); isl1208_i2c_read_time()
323 struct rtc_time *const tm = &alarm->time; isl1208_i2c_read_alarm() local
341 tm->tm_sec = bcd2bin(regs[ISL1208_REG_SCA - ISL1208_REG_SCA] & 0x7f); isl1208_i2c_read_alarm()
342 tm->tm_min = bcd2bin(regs[ISL1208_REG_MNA - ISL1208_REG_SCA] & 0x7f); isl1208_i2c_read_alarm()
343 tm->tm_hour = bcd2bin(regs[ISL1208_REG_HRA - ISL1208_REG_SCA] & 0x3f); isl1208_i2c_read_alarm()
344 tm->tm_mday = bcd2bin(regs[ISL1208_REG_DTA - ISL1208_REG_SCA] & 0x3f); isl1208_i2c_read_alarm()
345 tm->tm_mon = isl1208_i2c_read_alarm()
347 tm->tm_wday = bcd2bin(regs[ISL1208_REG_DWA - ISL1208_REG_SCA] & 0x03); isl1208_i2c_read_alarm()
355 tm->tm_year = bcd2bin(yr) + 100; isl1208_i2c_read_alarm()
413 isl1208_rtc_read_time(struct device *dev, struct rtc_time *tm) isl1208_rtc_read_time() argument
415 return isl1208_i2c_read_time(to_i2c_client(dev), tm); isl1208_rtc_read_time()
419 isl1208_i2c_set_time(struct i2c_client *client, struct rtc_time const *tm) isl1208_i2c_set_time() argument
428 if (tm->tm_year < 100) isl1208_i2c_set_time()
431 regs[ISL1208_REG_SC] = bin2bcd(tm->tm_sec); isl1208_i2c_set_time()
432 regs[ISL1208_REG_MN] = bin2bcd(tm->tm_min); isl1208_i2c_set_time()
433 regs[ISL1208_REG_HR] = bin2bcd(tm->tm_hour) | ISL1208_REG_HR_MIL; isl1208_i2c_set_time()
435 regs[ISL1208_REG_DT] = bin2bcd(tm->tm_mday); isl1208_i2c_set_time()
436 regs[ISL1208_REG_MO] = bin2bcd(tm->tm_mon + 1); isl1208_i2c_set_time()
437 regs[ISL1208_REG_YR] = bin2bcd(tm->tm_year - 100); isl1208_i2c_set_time()
439 regs[ISL1208_REG_DW] = bin2bcd(tm->tm_wday & 7); isl1208_i2c_set_time()
476 isl1208_rtc_set_time(struct device *dev, struct rtc_time *tm) isl1208_rtc_set_time() argument
478 return isl1208_i2c_set_time(to_i2c_client(dev), tm); isl1208_rtc_set_time()
H A Drtc-pl031.c118 struct rtc_time *tm, unsigned long *st_time, pl031_stv2_tm_to_time()
121 int year = tm->tm_year + 1900; pl031_stv2_tm_to_time()
122 int wday = tm->tm_wday; pl031_stv2_tm_to_time()
126 dev_err(dev, "invalid wday value %d\n", tm->tm_wday); pl031_stv2_tm_to_time()
133 rtc_tm_to_time(tm, &time); pl031_stv2_tm_to_time()
140 *st_time = ((tm->tm_mon + 1) << RTC_MON_SHIFT) pl031_stv2_tm_to_time()
141 | (tm->tm_mday << RTC_MDAY_SHIFT) pl031_stv2_tm_to_time()
143 | (tm->tm_hour << RTC_HOUR_SHIFT) pl031_stv2_tm_to_time()
144 | (tm->tm_min << RTC_MIN_SHIFT) pl031_stv2_tm_to_time()
145 | (tm->tm_sec << RTC_SEC_SHIFT); pl031_stv2_tm_to_time()
154 struct rtc_time *tm) pl031_stv2_time_to_tm()
156 tm->tm_year = bcd2bin(bcd_year) + (bcd2bin(bcd_year >> 8) * 100); pl031_stv2_time_to_tm()
157 tm->tm_mon = ((st_time & RTC_MON_MASK) >> RTC_MON_SHIFT) - 1; pl031_stv2_time_to_tm()
158 tm->tm_mday = ((st_time & RTC_MDAY_MASK) >> RTC_MDAY_SHIFT); pl031_stv2_time_to_tm()
159 tm->tm_wday = ((st_time & RTC_WDAY_MASK) >> RTC_WDAY_SHIFT) - 1; pl031_stv2_time_to_tm()
160 tm->tm_hour = ((st_time & RTC_HOUR_MASK) >> RTC_HOUR_SHIFT); pl031_stv2_time_to_tm()
161 tm->tm_min = ((st_time & RTC_MIN_MASK) >> RTC_MIN_SHIFT); pl031_stv2_time_to_tm()
162 tm->tm_sec = ((st_time & RTC_SEC_MASK) >> RTC_SEC_SHIFT); pl031_stv2_time_to_tm()
164 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year); pl031_stv2_time_to_tm()
165 tm->tm_year -= 1900; pl031_stv2_time_to_tm()
170 static int pl031_stv2_read_time(struct device *dev, struct rtc_time *tm) pl031_stv2_read_time() argument
175 readl(ldata->base + RTC_YDR), tm); pl031_stv2_read_time()
180 static int pl031_stv2_set_time(struct device *dev, struct rtc_time *tm) pl031_stv2_set_time() argument
187 ret = pl031_stv2_tm_to_time(dev, tm, &time, &bcd_year); pl031_stv2_set_time()
251 static int pl031_read_time(struct device *dev, struct rtc_time *tm) pl031_read_time() argument
255 rtc_time_to_tm(readl(ldata->base + RTC_DR), tm); pl031_read_time()
260 static int pl031_set_time(struct device *dev, struct rtc_time *tm) pl031_set_time() argument
266 ret = rtc_tm_to_time(tm, &time); pl031_set_time()
117 pl031_stv2_tm_to_time(struct device *dev, struct rtc_time *tm, unsigned long *st_time, unsigned long *bcd_year) pl031_stv2_tm_to_time() argument
153 pl031_stv2_time_to_tm(unsigned long st_time, unsigned long bcd_year, struct rtc_time *tm) pl031_stv2_time_to_tm() argument
H A Drtc-mv.c49 static int mv_rtc_set_time(struct device *dev, struct rtc_time *tm) mv_rtc_set_time() argument
55 rtc_reg = (bin2bcd(tm->tm_sec) << RTC_SECONDS_OFFS) | mv_rtc_set_time()
56 (bin2bcd(tm->tm_min) << RTC_MINUTES_OFFS) | mv_rtc_set_time()
57 (bin2bcd(tm->tm_hour) << RTC_HOURS_OFFS) | mv_rtc_set_time()
58 (bin2bcd(tm->tm_wday) << RTC_WDAY_OFFS); mv_rtc_set_time()
61 rtc_reg = (bin2bcd(tm->tm_mday) << RTC_MDAY_OFFS) | mv_rtc_set_time()
62 (bin2bcd(tm->tm_mon + 1) << RTC_MONTH_OFFS) | mv_rtc_set_time()
63 (bin2bcd(tm->tm_year % 100) << RTC_YEAR_OFFS); mv_rtc_set_time()
69 static int mv_rtc_read_time(struct device *dev, struct rtc_time *tm) mv_rtc_read_time() argument
88 tm->tm_sec = bcd2bin(second); mv_rtc_read_time()
89 tm->tm_min = bcd2bin(minute); mv_rtc_read_time()
90 tm->tm_hour = bcd2bin(hour); mv_rtc_read_time()
91 tm->tm_mday = bcd2bin(day); mv_rtc_read_time()
92 tm->tm_wday = bcd2bin(wday); mv_rtc_read_time()
93 tm->tm_mon = bcd2bin(month) - 1; mv_rtc_read_time()
95 tm->tm_year = bcd2bin(year) + 100; mv_rtc_read_time()
97 return rtc_valid_tm(tm); mv_rtc_read_time()
H A Drtc-pcf50633.c108 static int pcf50633_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf50633_rtc_read_time() argument
132 pcf2rtc_time(tm, &pcf_tm); pcf50633_rtc_read_time()
135 tm->tm_mday, tm->tm_mon, tm->tm_year, pcf50633_rtc_read_time()
136 tm->tm_hour, tm->tm_min, tm->tm_sec); pcf50633_rtc_read_time()
138 return rtc_valid_tm(tm); pcf50633_rtc_read_time()
141 static int pcf50633_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf50633_rtc_set_time() argument
150 tm->tm_mday, tm->tm_mon, tm->tm_year, pcf50633_rtc_set_time()
151 tm->tm_hour, tm->tm_min, tm->tm_sec); pcf50633_rtc_set_time()
153 rtc2pcf_time(&pcf_tm, tm); pcf50633_rtc_set_time()
H A Drtc-pcf8523.c160 static int pcf8523_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf8523_rtc_read_time() argument
204 tm->tm_sec = bcd2bin(regs[0] & 0x7f); pcf8523_rtc_read_time()
205 tm->tm_min = bcd2bin(regs[1] & 0x7f); pcf8523_rtc_read_time()
206 tm->tm_hour = bcd2bin(regs[2] & 0x3f); pcf8523_rtc_read_time()
207 tm->tm_mday = bcd2bin(regs[3] & 0x3f); pcf8523_rtc_read_time()
208 tm->tm_wday = regs[4] & 0x7; pcf8523_rtc_read_time()
209 tm->tm_mon = bcd2bin(regs[5] & 0x1f) - 1; pcf8523_rtc_read_time()
210 tm->tm_year = bcd2bin(regs[6]) + 100; pcf8523_rtc_read_time()
212 return rtc_valid_tm(tm); pcf8523_rtc_read_time()
215 static int pcf8523_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf8523_rtc_set_time() argument
227 regs[1] = bin2bcd(tm->tm_sec); pcf8523_rtc_set_time()
228 regs[2] = bin2bcd(tm->tm_min); pcf8523_rtc_set_time()
229 regs[3] = bin2bcd(tm->tm_hour); pcf8523_rtc_set_time()
230 regs[4] = bin2bcd(tm->tm_mday); pcf8523_rtc_set_time()
231 regs[5] = tm->tm_wday; pcf8523_rtc_set_time()
232 regs[6] = bin2bcd(tm->tm_mon + 1); pcf8523_rtc_set_time()
233 regs[7] = bin2bcd(tm->tm_year - 100); pcf8523_rtc_set_time()
H A Drtc-da9063.c174 static void da9063_data_to_tm(u8 *data, struct rtc_time *tm, da9063_data_to_tm() argument
179 tm->tm_sec = data[RTC_SEC] & config->rtc_count_sec_mask; da9063_data_to_tm()
180 tm->tm_min = data[RTC_MIN] & config->rtc_count_min_mask; da9063_data_to_tm()
181 tm->tm_hour = data[RTC_HOUR] & config->rtc_count_hour_mask; da9063_data_to_tm()
182 tm->tm_mday = data[RTC_DAY] & config->rtc_count_day_mask; da9063_data_to_tm()
183 tm->tm_mon = MONTHS_FROM_DA9063(data[RTC_MONTH] & da9063_data_to_tm()
185 tm->tm_year = YEARS_FROM_DA9063(data[RTC_YEAR] & da9063_data_to_tm()
189 static void da9063_tm_to_data(struct rtc_time *tm, u8 *data, da9063_tm_to_data() argument
195 data[RTC_SEC] |= tm->tm_sec & config->rtc_count_sec_mask; da9063_tm_to_data()
198 data[RTC_MIN] |= tm->tm_min & config->rtc_count_min_mask; da9063_tm_to_data()
201 data[RTC_HOUR] |= tm->tm_hour & config->rtc_count_hour_mask; da9063_tm_to_data()
204 data[RTC_DAY] |= tm->tm_mday & config->rtc_count_day_mask; da9063_tm_to_data()
207 data[RTC_MONTH] |= MONTHS_TO_DA9063(tm->tm_mon) & da9063_tm_to_data()
211 data[RTC_YEAR] |= YEARS_TO_DA9063(tm->tm_year) & da9063_tm_to_data()
237 static int da9063_rtc_read_time(struct device *dev, struct rtc_time *tm) da9063_rtc_read_time() argument
259 da9063_data_to_tm(data, tm, rtc); da9063_rtc_read_time()
261 rtc_tm_to_time(tm, &tm_secs); da9063_rtc_read_time()
266 memcpy(tm, &rtc->alarm_time, sizeof(struct rtc_time)); da9063_rtc_read_time()
270 return rtc_valid_tm(tm); da9063_rtc_read_time()
273 static int da9063_rtc_set_time(struct device *dev, struct rtc_time *tm) da9063_rtc_set_time() argument
280 da9063_tm_to_data(tm, data, rtc); da9063_rtc_set_time()
H A Drtc-rs5c372.c183 static int rs5c372_get_datetime(struct i2c_client *client, struct rtc_time *tm) rs5c372_get_datetime() argument
191 tm->tm_sec = bcd2bin(rs5c->regs[RS5C372_REG_SECS] & 0x7f); rs5c372_get_datetime()
192 tm->tm_min = bcd2bin(rs5c->regs[RS5C372_REG_MINS] & 0x7f); rs5c372_get_datetime()
193 tm->tm_hour = rs5c_reg2hr(rs5c, rs5c->regs[RS5C372_REG_HOURS]); rs5c372_get_datetime()
195 tm->tm_wday = bcd2bin(rs5c->regs[RS5C372_REG_WDAY] & 0x07); rs5c372_get_datetime()
196 tm->tm_mday = bcd2bin(rs5c->regs[RS5C372_REG_DAY] & 0x3f); rs5c372_get_datetime()
198 /* tm->tm_mon is zero-based */ rs5c372_get_datetime()
199 tm->tm_mon = bcd2bin(rs5c->regs[RS5C372_REG_MONTH] & 0x1f) - 1; rs5c372_get_datetime()
201 /* year is 1900 + tm->tm_year */ rs5c372_get_datetime()
202 tm->tm_year = bcd2bin(rs5c->regs[RS5C372_REG_YEAR]) + 100; rs5c372_get_datetime()
204 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " rs5c372_get_datetime()
207 tm->tm_sec, tm->tm_min, tm->tm_hour, rs5c372_get_datetime()
208 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); rs5c372_get_datetime()
211 return rtc_valid_tm(tm); rs5c372_get_datetime()
214 static int rs5c372_set_datetime(struct i2c_client *client, struct rtc_time *tm) rs5c372_set_datetime() argument
220 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d " rs5c372_set_datetime()
223 tm->tm_sec, tm->tm_min, tm->tm_hour, rs5c372_set_datetime()
224 tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday); rs5c372_set_datetime()
227 buf[0] = bin2bcd(tm->tm_sec); rs5c372_set_datetime()
228 buf[1] = bin2bcd(tm->tm_min); rs5c372_set_datetime()
229 buf[2] = rs5c_hr2reg(rs5c, tm->tm_hour); rs5c372_set_datetime()
230 buf[3] = bin2bcd(tm->tm_wday); rs5c372_set_datetime()
231 buf[4] = bin2bcd(tm->tm_mday); rs5c372_set_datetime()
232 buf[5] = bin2bcd(tm->tm_mon + 1); rs5c372_set_datetime()
233 buf[6] = bin2bcd(tm->tm_year - 100); rs5c372_set_datetime()
281 static int rs5c372_rtc_read_time(struct device *dev, struct rtc_time *tm) rs5c372_rtc_read_time() argument
283 return rs5c372_get_datetime(to_i2c_client(dev), tm); rs5c372_rtc_read_time()
286 static int rs5c372_rtc_set_time(struct device *dev, struct rtc_time *tm) rs5c372_rtc_set_time() argument
288 return rs5c372_set_datetime(to_i2c_client(dev), tm); rs5c372_rtc_set_time()
563 struct rtc_time tm; rs5c372_probe() local
640 if (rs5c372_get_datetime(client, &tm) < 0) rs5c372_probe()
H A Drtc-puv3.c100 static int puv3_rtc_settime(struct device *dev, struct rtc_time *tm) puv3_rtc_settime() argument
105 tm->tm_year, tm->tm_mon, tm->tm_mday, puv3_rtc_settime()
106 tm->tm_hour, tm->tm_min, tm->tm_sec); puv3_rtc_settime()
108 rtc_tm_to_time(tm, &rtc_count); puv3_rtc_settime()
132 struct rtc_time *tm = &alrm->time; puv3_rtc_setalarm() local
137 tm->tm_mday & 0xff, tm->tm_mon & 0xff, tm->tm_year & 0xff, puv3_rtc_setalarm()
138 tm->tm_hour & 0xff, tm->tm_min & 0xff, tm->tm_sec); puv3_rtc_setalarm()
140 rtc_tm_to_time(tm, &rtcalarm_count); puv3_rtc_setalarm()
H A Drtc-rc5t583.c69 static int rc5t583_rtc_read_time(struct device *dev, struct rtc_time *tm) rc5t583_rtc_read_time() argument
82 tm->tm_sec = bcd2bin(rtc_data[0]); rc5t583_rtc_read_time()
83 tm->tm_min = bcd2bin(rtc_data[1]); rc5t583_rtc_read_time()
84 tm->tm_hour = bcd2bin(rtc_data[2]); rc5t583_rtc_read_time()
85 tm->tm_wday = bcd2bin(rtc_data[3]); rc5t583_rtc_read_time()
86 tm->tm_mday = bcd2bin(rtc_data[4]); rc5t583_rtc_read_time()
87 tm->tm_mon = bcd2bin(rtc_data[5]) - 1; rc5t583_rtc_read_time()
88 tm->tm_year = bcd2bin(rtc_data[6]) + 100; rc5t583_rtc_read_time()
93 static int rc5t583_rtc_set_time(struct device *dev, struct rtc_time *tm) rc5t583_rtc_set_time() argument
99 rtc_data[0] = bin2bcd(tm->tm_sec); rc5t583_rtc_set_time()
100 rtc_data[1] = bin2bcd(tm->tm_min); rc5t583_rtc_set_time()
101 rtc_data[2] = bin2bcd(tm->tm_hour); rc5t583_rtc_set_time()
102 rtc_data[3] = bin2bcd(tm->tm_wday); rc5t583_rtc_set_time()
103 rtc_data[4] = bin2bcd(tm->tm_mday); rc5t583_rtc_set_time()
104 rtc_data[5] = bin2bcd(tm->tm_mon + 1); rc5t583_rtc_set_time()
105 rtc_data[6] = bin2bcd(tm->tm_year - 100); rc5t583_rtc_set_time()
H A Drtc-sun4v.c38 static int sun4v_read_time(struct device *dev, struct rtc_time *tm) sun4v_read_time() argument
40 rtc_time_to_tm(hypervisor_get_time(), tm); sun4v_read_time() local
65 static int sun4v_set_time(struct device *dev, struct rtc_time *tm) sun4v_set_time() argument
70 err = rtc_tm_to_time(tm, &secs); sun4v_set_time()
H A Drtc-ds1553.c76 static int ds1553_rtc_set_time(struct device *dev, struct rtc_time *tm) ds1553_rtc_set_time() argument
83 century = bin2bcd((tm->tm_year + 1900) / 100); ds1553_rtc_set_time()
87 writeb(bin2bcd(tm->tm_year % 100), ioaddr + RTC_YEAR); ds1553_rtc_set_time()
88 writeb(bin2bcd(tm->tm_mon + 1), ioaddr + RTC_MONTH); ds1553_rtc_set_time()
89 writeb(bin2bcd(tm->tm_wday) & RTC_DAY_MASK, ioaddr + RTC_DAY); ds1553_rtc_set_time()
90 writeb(bin2bcd(tm->tm_mday), ioaddr + RTC_DATE); ds1553_rtc_set_time()
91 writeb(bin2bcd(tm->tm_hour), ioaddr + RTC_HOURS); ds1553_rtc_set_time()
92 writeb(bin2bcd(tm->tm_min), ioaddr + RTC_MINUTES); ds1553_rtc_set_time()
93 writeb(bin2bcd(tm->tm_sec) & RTC_SECONDS_MASK, ioaddr + RTC_SECONDS); ds1553_rtc_set_time()
101 static int ds1553_rtc_read_time(struct device *dev, struct rtc_time *tm) ds1553_rtc_read_time() argument
123 tm->tm_sec = bcd2bin(second); ds1553_rtc_read_time()
124 tm->tm_min = bcd2bin(minute); ds1553_rtc_read_time()
125 tm->tm_hour = bcd2bin(hour); ds1553_rtc_read_time()
126 tm->tm_mday = bcd2bin(day); ds1553_rtc_read_time()
127 tm->tm_wday = bcd2bin(week); ds1553_rtc_read_time()
128 tm->tm_mon = bcd2bin(month) - 1; ds1553_rtc_read_time()
129 /* year is 1900 + tm->tm_year */ ds1553_rtc_read_time()
130 tm->tm_year = bcd2bin(year) + bcd2bin(century) * 100 - 1900; ds1553_rtc_read_time()
132 if (rtc_valid_tm(tm) < 0) { ds1553_rtc_read_time()
134 rtc_time_to_tm(0, tm); ds1553_rtc_read_time()
H A Drtc-stk17ta8.c77 static int stk17ta8_rtc_set_time(struct device *dev, struct rtc_time *tm) stk17ta8_rtc_set_time() argument
87 writeb(bin2bcd(tm->tm_year % 100), ioaddr + RTC_YEAR); stk17ta8_rtc_set_time()
88 writeb(bin2bcd(tm->tm_mon + 1), ioaddr + RTC_MONTH); stk17ta8_rtc_set_time()
89 writeb(bin2bcd(tm->tm_wday) & RTC_DAY_MASK, ioaddr + RTC_DAY); stk17ta8_rtc_set_time()
90 writeb(bin2bcd(tm->tm_mday), ioaddr + RTC_DATE); stk17ta8_rtc_set_time()
91 writeb(bin2bcd(tm->tm_hour), ioaddr + RTC_HOURS); stk17ta8_rtc_set_time()
92 writeb(bin2bcd(tm->tm_min), ioaddr + RTC_MINUTES); stk17ta8_rtc_set_time()
93 writeb(bin2bcd(tm->tm_sec) & RTC_SECONDS_MASK, ioaddr + RTC_SECONDS); stk17ta8_rtc_set_time()
94 writeb(bin2bcd((tm->tm_year + 1900) / 100), ioaddr + RTC_CENTURY); stk17ta8_rtc_set_time()
100 static int stk17ta8_rtc_read_time(struct device *dev, struct rtc_time *tm) stk17ta8_rtc_read_time() argument
125 tm->tm_sec = bcd2bin(second); stk17ta8_rtc_read_time()
126 tm->tm_min = bcd2bin(minute); stk17ta8_rtc_read_time()
127 tm->tm_hour = bcd2bin(hour); stk17ta8_rtc_read_time()
128 tm->tm_mday = bcd2bin(day); stk17ta8_rtc_read_time()
129 tm->tm_wday = bcd2bin(week); stk17ta8_rtc_read_time()
130 tm->tm_mon = bcd2bin(month) - 1; stk17ta8_rtc_read_time()
131 /* year is 1900 + tm->tm_year */ stk17ta8_rtc_read_time()
132 tm->tm_year = bcd2bin(year) + bcd2bin(century) * 100 - 1900; stk17ta8_rtc_read_time()
134 if (rtc_valid_tm(tm) < 0) { stk17ta8_rtc_read_time()
136 rtc_time_to_tm(0, tm); stk17ta8_rtc_read_time()
H A Drtc-da9052.c203 static int da9052_rtc_set_time(struct device *dev, struct rtc_time *tm) da9052_rtc_set_time() argument
210 if ((tm->tm_year < 100) || (tm->tm_year > 163)) da9052_rtc_set_time()
215 v[0] = tm->tm_sec; da9052_rtc_set_time()
216 v[1] = tm->tm_min; da9052_rtc_set_time()
217 v[2] = tm->tm_hour; da9052_rtc_set_time()
218 v[3] = tm->tm_mday; da9052_rtc_set_time()
219 v[4] = tm->tm_mon + 1; da9052_rtc_set_time()
220 v[5] = tm->tm_year - 100; da9052_rtc_set_time()
231 struct rtc_time *tm = &alrm->time; da9052_rtc_read_alarm() local
234 ret = da9052_read_alarm(rtc, tm); da9052_rtc_read_alarm()
247 struct rtc_time *tm = &alrm->time; da9052_rtc_set_alarm() local
251 if ((tm->tm_year < 100) || (tm->tm_year > 163)) da9052_rtc_set_alarm()
258 ret = da9052_set_alarm(rtc, tm); da9052_rtc_set_alarm()
H A Drtc-dev.c60 struct rtc_time tm; rtc_uie_task() local
64 err = rtc_read_time(rtc, &tm); rtc_uie_task()
69 } else if (rtc->oldsecs != tm.tm_sec) { rtc_uie_task()
70 num = (tm.tm_sec + 60 - rtc->oldsecs) % 60; rtc_uie_task()
71 rtc->oldsecs = tm.tm_sec; rtc_uie_task()
120 struct rtc_time tm; set_uie() local
123 err = rtc_read_time(rtc, &tm); set_uie()
130 rtc->oldsecs = tm.tm_sec; set_uie()
224 struct rtc_time tm; rtc_dev_ioctl() local
277 if (copy_to_user(uarg, &alarm.time, sizeof(tm))) rtc_dev_ioctl()
284 if (copy_from_user(&alarm.time, uarg, sizeof(tm))) rtc_dev_ioctl()
309 err = rtc_read_time(rtc, &tm); rtc_dev_ioctl()
312 now = rtc_tm_to_time64(&tm); rtc_dev_ioctl()
314 alarm.time.tm_mday = tm.tm_mday; rtc_dev_ioctl()
315 alarm.time.tm_mon = tm.tm_mon; rtc_dev_ioctl()
316 alarm.time.tm_year = tm.tm_year; rtc_dev_ioctl()
324 rtc_time64_to_tm(now + 24 * 60 * 60, &tm); rtc_dev_ioctl()
325 alarm.time.tm_mday = tm.tm_mday; rtc_dev_ioctl()
326 alarm.time.tm_mon = tm.tm_mon; rtc_dev_ioctl()
327 alarm.time.tm_year = tm.tm_year; rtc_dev_ioctl()
336 err = rtc_read_time(rtc, &tm); rtc_dev_ioctl()
340 if (copy_to_user(uarg, &tm, sizeof(tm))) rtc_dev_ioctl()
347 if (copy_from_user(&tm, uarg, sizeof(tm))) rtc_dev_ioctl()
350 return rtc_set_time(rtc, &tm); rtc_dev_ioctl()
H A Drtc-88pm80x.c113 static int pm80x_rtc_read_time(struct device *dev, struct rtc_time *tm) pm80x_rtc_read_time() argument
128 rtc_time_to_tm(ticks, tm); pm80x_rtc_read_time()
132 static int pm80x_rtc_set_time(struct device *dev, struct rtc_time *tm) pm80x_rtc_set_time() argument
137 if ((tm->tm_year < 70) || (tm->tm_year > 138)) { pm80x_rtc_set_time()
140 1900 + tm->tm_year); pm80x_rtc_set_time()
143 rtc_tm_to_time(tm, &ticks); pm80x_rtc_set_time()
257 struct rtc_time tm; pm80x_rtc_probe() local
305 ret = pm80x_rtc_read_time(&pdev->dev, &tm); pm80x_rtc_probe()
310 if ((tm.tm_year < 70) || (tm.tm_year > 138)) { pm80x_rtc_probe()
311 tm.tm_year = 70; pm80x_rtc_probe()
312 tm.tm_mon = 0; pm80x_rtc_probe()
313 tm.tm_mday = 1; pm80x_rtc_probe()
314 tm.tm_hour = 0; pm80x_rtc_probe()
315 tm.tm_min = 0; pm80x_rtc_probe()
316 tm.tm_sec = 0; pm80x_rtc_probe()
317 ret = pm80x_rtc_set_time(&pdev->dev, &tm); pm80x_rtc_probe()
323 rtc_tm_to_time(&tm, &ticks); pm80x_rtc_probe()
H A Drtc-rv8803.c110 static int rv8803_get_time(struct device *dev, struct rtc_time *tm) rv8803_get_time() argument
142 tm->tm_sec = bcd2bin(date[RV8803_SEC] & 0x7f); rv8803_get_time()
143 tm->tm_min = bcd2bin(date[RV8803_MIN] & 0x7f); rv8803_get_time()
144 tm->tm_hour = bcd2bin(date[RV8803_HOUR] & 0x3f); rv8803_get_time()
145 tm->tm_wday = ffs(date[RV8803_WEEK] & 0x7f); rv8803_get_time()
146 tm->tm_mday = bcd2bin(date[RV8803_DAY] & 0x3f); rv8803_get_time()
147 tm->tm_mon = bcd2bin(date[RV8803_MONTH] & 0x1f) - 1; rv8803_get_time()
148 tm->tm_year = bcd2bin(date[RV8803_YEAR]) + 100; rv8803_get_time()
150 return rtc_valid_tm(tm); rv8803_get_time()
153 static int rv8803_set_time(struct device *dev, struct rtc_time *tm) rv8803_set_time() argument
160 if ((tm->tm_year < 100) || (tm->tm_year > 199)) rv8803_set_time()
163 date[RV8803_SEC] = bin2bcd(tm->tm_sec); rv8803_set_time()
164 date[RV8803_MIN] = bin2bcd(tm->tm_min); rv8803_set_time()
165 date[RV8803_HOUR] = bin2bcd(tm->tm_hour); rv8803_set_time()
166 date[RV8803_WEEK] = 1 << (tm->tm_wday); rv8803_set_time()
167 date[RV8803_DAY] = bin2bcd(tm->tm_mday); rv8803_set_time()
168 date[RV8803_MONTH] = bin2bcd(tm->tm_mon + 1); rv8803_set_time()
169 date[RV8803_YEAR] = bin2bcd(tm->tm_year - 100); rv8803_set_time()
H A Drtc-s3c.c208 static int s3c_rtc_settime(struct device *dev, struct rtc_time *tm) s3c_rtc_settime() argument
211 int year = tm->tm_year - 100; s3c_rtc_settime()
214 1900 + tm->tm_year, tm->tm_mon, tm->tm_mday, s3c_rtc_settime()
215 tm->tm_hour, tm->tm_min, tm->tm_sec); s3c_rtc_settime()
226 writeb(bin2bcd(tm->tm_sec), info->base + S3C2410_RTCSEC); s3c_rtc_settime()
227 writeb(bin2bcd(tm->tm_min), info->base + S3C2410_RTCMIN); s3c_rtc_settime()
228 writeb(bin2bcd(tm->tm_hour), info->base + S3C2410_RTCHOUR); s3c_rtc_settime()
229 writeb(bin2bcd(tm->tm_mday), info->base + S3C2410_RTCDATE); s3c_rtc_settime()
230 writeb(bin2bcd(tm->tm_mon + 1), info->base + S3C2410_RTCMON); s3c_rtc_settime()
303 struct rtc_time *tm = &alrm->time; s3c_rtc_setalarm() local
305 int year = tm->tm_year - 100; s3c_rtc_setalarm()
309 1900 + tm->tm_year, tm->tm_mon + 1, tm->tm_mday, s3c_rtc_setalarm()
310 tm->tm_hour, tm->tm_min, tm->tm_sec); s3c_rtc_setalarm()
317 if (tm->tm_sec < 60 && tm->tm_sec >= 0) { s3c_rtc_setalarm()
319 writeb(bin2bcd(tm->tm_sec), info->base + S3C2410_ALMSEC); s3c_rtc_setalarm()
322 if (tm->tm_min < 60 && tm->tm_min >= 0) { s3c_rtc_setalarm()
324 writeb(bin2bcd(tm->tm_min), info->base + S3C2410_ALMMIN); s3c_rtc_setalarm()
327 if (tm->tm_hour < 24 && tm->tm_hour >= 0) { s3c_rtc_setalarm()
329 writeb(bin2bcd(tm->tm_hour), info->base + S3C2410_ALMHOUR); s3c_rtc_setalarm()
337 if (tm->tm_mon < 12 && tm->tm_mon >= 0) { s3c_rtc_setalarm()
339 writeb(bin2bcd(tm->tm_mon + 1), info->base + S3C2410_ALMMON); s3c_rtc_setalarm()
342 if (tm->tm_mday <= 31 && tm->tm_mday >= 1) { s3c_rtc_setalarm()
344 writeb(bin2bcd(tm->tm_mday), info->base + S3C2410_ALMDATE); s3c_rtc_setalarm()
H A Drtc-tps65910.c56 static int tps65910_rtc_read_time(struct device *dev, struct rtc_time *tm) tps65910_rtc_read_time() argument
77 tm->tm_sec = bcd2bin(rtc_data[0]); tps65910_rtc_read_time()
78 tm->tm_min = bcd2bin(rtc_data[1]); tps65910_rtc_read_time()
79 tm->tm_hour = bcd2bin(rtc_data[2]); tps65910_rtc_read_time()
80 tm->tm_mday = bcd2bin(rtc_data[3]); tps65910_rtc_read_time()
81 tm->tm_mon = bcd2bin(rtc_data[4]) - 1; tps65910_rtc_read_time()
82 tm->tm_year = bcd2bin(rtc_data[5]) + 100; tps65910_rtc_read_time()
87 static int tps65910_rtc_set_time(struct device *dev, struct rtc_time *tm) tps65910_rtc_set_time() argument
93 rtc_data[0] = bin2bcd(tm->tm_sec); tps65910_rtc_set_time()
94 rtc_data[1] = bin2bcd(tm->tm_min); tps65910_rtc_set_time()
95 rtc_data[2] = bin2bcd(tm->tm_hour); tps65910_rtc_set_time()
96 rtc_data[3] = bin2bcd(tm->tm_mday); tps65910_rtc_set_time()
97 rtc_data[4] = bin2bcd(tm->tm_mon + 1); tps65910_rtc_set_time()
98 rtc_data[5] = bin2bcd(tm->tm_year - 100); tps65910_rtc_set_time()
H A Drtc-tegra.c107 static int tegra_rtc_read_time(struct device *dev, struct rtc_time *tm) tegra_rtc_read_time() argument
122 rtc_time_to_tm(sec, tm); tegra_rtc_read_time()
126 tm->tm_mon + 1, tegra_rtc_read_time()
127 tm->tm_mday, tegra_rtc_read_time()
128 tm->tm_year + 1900, tegra_rtc_read_time()
129 tm->tm_hour, tegra_rtc_read_time()
130 tm->tm_min, tegra_rtc_read_time()
131 tm->tm_sec tegra_rtc_read_time()
137 static int tegra_rtc_set_time(struct device *dev, struct rtc_time *tm) tegra_rtc_set_time() argument
143 /* convert tm to seconds. */ tegra_rtc_set_time()
144 ret = rtc_valid_tm(tm); tegra_rtc_set_time()
148 rtc_tm_to_time(tm, &sec); tegra_rtc_set_time()
152 tm->tm_mon+1, tegra_rtc_set_time()
153 tm->tm_mday, tegra_rtc_set_time()
154 tm->tm_year+1900, tegra_rtc_set_time()
155 tm->tm_hour, tegra_rtc_set_time()
156 tm->tm_min, tegra_rtc_set_time()
157 tm->tm_sec tegra_rtc_set_time()
H A Drtc-sysfs.c38 struct rtc_time tm; date_show() local
40 retval = rtc_read_time(to_rtc_device(dev), &tm); date_show()
43 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); date_show()
54 struct rtc_time tm; time_show() local
56 retval = rtc_read_time(to_rtc_device(dev), &tm); time_show()
59 tm.tm_hour, tm.tm_min, tm.tm_sec); time_show()
70 struct rtc_time tm; since_epoch_show() local
72 retval = rtc_read_time(to_rtc_device(dev), &tm); since_epoch_show()
75 rtc_tm_to_time(&tm, &time); since_epoch_show()
H A Drtc-m41t80.c94 struct rtc_time *tm) m41t80_get_datetime()
117 tm->tm_sec = bcd2bin(buf[M41T80_REG_SEC] & 0x7f); m41t80_get_datetime()
118 tm->tm_min = bcd2bin(buf[M41T80_REG_MIN] & 0x7f); m41t80_get_datetime()
119 tm->tm_hour = bcd2bin(buf[M41T80_REG_HOUR] & 0x3f); m41t80_get_datetime()
120 tm->tm_mday = bcd2bin(buf[M41T80_REG_DAY] & 0x3f); m41t80_get_datetime()
121 tm->tm_wday = buf[M41T80_REG_WDAY] & 0x07; m41t80_get_datetime()
122 tm->tm_mon = bcd2bin(buf[M41T80_REG_MON] & 0x1f) - 1; m41t80_get_datetime()
125 tm->tm_year = bcd2bin(buf[M41T80_REG_YEAR]) + 100; m41t80_get_datetime()
126 return rtc_valid_tm(tm); m41t80_get_datetime()
130 static int m41t80_set_datetime(struct i2c_client *client, struct rtc_time *tm) m41t80_set_datetime() argument
168 bin2bcd(tm->tm_sec) | (buf[M41T80_REG_SEC] & ~0x7f); m41t80_set_datetime()
170 bin2bcd(tm->tm_min) | (buf[M41T80_REG_MIN] & ~0x7f); m41t80_set_datetime()
172 bin2bcd(tm->tm_hour) | (buf[M41T80_REG_HOUR] & ~0x3f); m41t80_set_datetime()
174 (tm->tm_wday & 0x07) | (buf[M41T80_REG_WDAY] & ~0x07); m41t80_set_datetime()
176 bin2bcd(tm->tm_mday) | (buf[M41T80_REG_DAY] & ~0x3f); m41t80_set_datetime()
178 bin2bcd(tm->tm_mon + 1) | (buf[M41T80_REG_MON] & ~0x1f); m41t80_set_datetime()
180 buf[M41T80_REG_YEAR] = bin2bcd(tm->tm_year % 100); m41t80_set_datetime()
207 static int m41t80_rtc_read_time(struct device *dev, struct rtc_time *tm) m41t80_rtc_read_time() argument
209 return m41t80_get_datetime(to_i2c_client(dev), tm); m41t80_rtc_read_time()
212 static int m41t80_rtc_set_time(struct device *dev, struct rtc_time *tm) m41t80_rtc_set_time() argument
214 return m41t80_set_datetime(to_i2c_client(dev), tm); m41t80_rtc_set_time()
638 struct rtc_time tm; m41t80_probe() local
665 m41t80_get_datetime(client, &tm); m41t80_probe()
670 tm.tm_year + 1900, m41t80_probe()
671 tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, m41t80_probe()
672 tm.tm_min, tm.tm_sec); m41t80_probe()
93 m41t80_get_datetime(struct i2c_client *client, struct rtc_time *tm) m41t80_get_datetime() argument
H A Drtc-au1xxx.c31 static int au1xtoy_rtc_read_time(struct device *dev, struct rtc_time *tm) au1xtoy_rtc_read_time() argument
37 rtc_time_to_tm(t, tm); au1xtoy_rtc_read_time()
39 return rtc_valid_tm(tm); au1xtoy_rtc_read_time()
42 static int au1xtoy_rtc_set_time(struct device *dev, struct rtc_time *tm) au1xtoy_rtc_set_time() argument
46 rtc_tm_to_time(tm, &t); au1xtoy_rtc_set_time()
H A Drtc-da9055.c163 static int da9055_rtc_set_time(struct device *dev, struct rtc_time *tm) da9055_rtc_set_time() argument
170 v[0] = tm->tm_sec; da9055_rtc_set_time()
171 v[1] = tm->tm_min; da9055_rtc_set_time()
172 v[2] = tm->tm_hour; da9055_rtc_set_time()
173 v[3] = tm->tm_mday; da9055_rtc_set_time()
174 v[4] = tm->tm_mon + 1; da9055_rtc_set_time()
175 v[5] = tm->tm_year - 100; da9055_rtc_set_time()
183 struct rtc_time *tm = &alrm->time; da9055_rtc_read_alarm() local
186 ret = da9055_read_alarm(rtc->da9055, tm); da9055_rtc_read_alarm()
199 struct rtc_time *tm = &alrm->time; da9055_rtc_set_alarm() local
206 ret = da9055_set_alarm(rtc->da9055, tm); da9055_rtc_set_alarm()
H A Drtc-pcap.c48 struct rtc_time *tm = &alrm->time; pcap_rtc_read_alarm() local
59 rtc_time_to_tm(secs, tm); pcap_rtc_read_alarm()
68 struct rtc_time *tm = &alrm->time; pcap_rtc_set_alarm() local
72 rtc_tm_to_time(tm, &secs); pcap_rtc_set_alarm()
83 static int pcap_rtc_read_time(struct device *dev, struct rtc_time *tm) pcap_rtc_read_time() argument
96 rtc_time_to_tm(secs, tm); pcap_rtc_read_time()
98 return rtc_valid_tm(tm); pcap_rtc_read_time()
H A Drtc-palmas.c48 static int palmas_rtc_read_time(struct device *dev, struct rtc_time *tm) palmas_rtc_read_time() argument
69 tm->tm_sec = bcd2bin(rtc_data[0]); palmas_rtc_read_time()
70 tm->tm_min = bcd2bin(rtc_data[1]); palmas_rtc_read_time()
71 tm->tm_hour = bcd2bin(rtc_data[2]); palmas_rtc_read_time()
72 tm->tm_mday = bcd2bin(rtc_data[3]); palmas_rtc_read_time()
73 tm->tm_mon = bcd2bin(rtc_data[4]) - 1; palmas_rtc_read_time()
74 tm->tm_year = bcd2bin(rtc_data[5]) + 100; palmas_rtc_read_time()
79 static int palmas_rtc_set_time(struct device *dev, struct rtc_time *tm) palmas_rtc_set_time() argument
85 rtc_data[0] = bin2bcd(tm->tm_sec); palmas_rtc_set_time()
86 rtc_data[1] = bin2bcd(tm->tm_min); palmas_rtc_set_time()
87 rtc_data[2] = bin2bcd(tm->tm_hour); palmas_rtc_set_time()
88 rtc_data[3] = bin2bcd(tm->tm_mday); palmas_rtc_set_time()
89 rtc_data[4] = bin2bcd(tm->tm_mon + 1); palmas_rtc_set_time()
90 rtc_data[5] = bin2bcd(tm->tm_year - 100); palmas_rtc_set_time()
H A Drtc-88pm860x.c109 static int pm860x_rtc_read_time(struct device *dev, struct rtc_time *tm) pm860x_rtc_read_time() argument
127 rtc_time_to_tm(ticks, tm); pm860x_rtc_read_time()
132 static int pm860x_rtc_set_time(struct device *dev, struct rtc_time *tm) pm860x_rtc_set_time() argument
138 if ((tm->tm_year < 70) || (tm->tm_year > 138)) { pm860x_rtc_set_time()
141 1900 + tm->tm_year); pm860x_rtc_set_time()
144 rtc_tm_to_time(tm, &ticks); pm860x_rtc_set_time()
316 struct rtc_time tm; pm860x_rtc_probe() local
352 ret = pm860x_rtc_read_time(&pdev->dev, &tm); pm860x_rtc_probe()
357 if ((tm.tm_year < 70) || (tm.tm_year > 138)) { pm860x_rtc_probe()
358 tm.tm_year = 70; pm860x_rtc_probe()
359 tm.tm_mon = 0; pm860x_rtc_probe()
360 tm.tm_mday = 1; pm860x_rtc_probe()
361 tm.tm_hour = 0; pm860x_rtc_probe()
362 tm.tm_min = 0; pm860x_rtc_probe()
363 tm.tm_sec = 0; pm860x_rtc_probe()
364 ret = pm860x_rtc_set_time(&pdev->dev, &tm); pm860x_rtc_probe()
370 rtc_tm_to_time(&tm, &ticks); pm860x_rtc_probe()
H A Drtc-isl12057.c88 static void isl12057_rtc_regs_to_tm(struct rtc_time *tm, u8 *regs) isl12057_rtc_regs_to_tm() argument
90 tm->tm_sec = bcd2bin(regs[ISL12057_REG_RTC_SC]); isl12057_rtc_regs_to_tm()
91 tm->tm_min = bcd2bin(regs[ISL12057_REG_RTC_MN]); isl12057_rtc_regs_to_tm()
94 tm->tm_hour = bcd2bin(regs[ISL12057_REG_RTC_HR] & 0x1f); isl12057_rtc_regs_to_tm()
96 tm->tm_hour += 12; isl12057_rtc_regs_to_tm()
98 tm->tm_hour = bcd2bin(regs[ISL12057_REG_RTC_HR] & 0x3f); isl12057_rtc_regs_to_tm()
101 tm->tm_mday = bcd2bin(regs[ISL12057_REG_RTC_DT]); isl12057_rtc_regs_to_tm()
102 tm->tm_wday = bcd2bin(regs[ISL12057_REG_RTC_DW]) - 1; /* starts at 1 */ isl12057_rtc_regs_to_tm()
103 tm->tm_mon = bcd2bin(regs[ISL12057_REG_RTC_MO] & 0x1f) - 1; /* ditto */ isl12057_rtc_regs_to_tm()
104 tm->tm_year = bcd2bin(regs[ISL12057_REG_RTC_YR]) + 100; isl12057_rtc_regs_to_tm()
108 tm->tm_year += 100; isl12057_rtc_regs_to_tm()
111 static int isl12057_rtc_tm_to_regs(u8 *regs, struct rtc_time *tm) isl12057_rtc_tm_to_regs() argument
123 if (tm->tm_year < 100 || tm->tm_year > 299) isl12057_rtc_tm_to_regs()
126 century_bit = (tm->tm_year > 199) ? ISL12057_REG_RTC_MO_CEN : 0; isl12057_rtc_tm_to_regs()
128 regs[ISL12057_REG_RTC_SC] = bin2bcd(tm->tm_sec); isl12057_rtc_tm_to_regs()
129 regs[ISL12057_REG_RTC_MN] = bin2bcd(tm->tm_min); isl12057_rtc_tm_to_regs()
130 regs[ISL12057_REG_RTC_HR] = bin2bcd(tm->tm_hour); /* 24-hour format */ isl12057_rtc_tm_to_regs()
131 regs[ISL12057_REG_RTC_DT] = bin2bcd(tm->tm_mday); isl12057_rtc_tm_to_regs()
132 regs[ISL12057_REG_RTC_MO] = bin2bcd(tm->tm_mon + 1) | century_bit; isl12057_rtc_tm_to_regs()
133 regs[ISL12057_REG_RTC_YR] = bin2bcd(tm->tm_year % 100); isl12057_rtc_tm_to_regs()
134 regs[ISL12057_REG_RTC_DW] = bin2bcd(tm->tm_wday + 1); isl12057_rtc_tm_to_regs()
199 static int _isl12057_rtc_read_time(struct device *dev, struct rtc_time *tm) _isl12057_rtc_read_time() argument
228 isl12057_rtc_regs_to_tm(tm, regs); _isl12057_rtc_read_time()
230 return rtc_valid_tm(tm); _isl12057_rtc_read_time()
395 static int isl12057_rtc_set_time(struct device *dev, struct rtc_time *tm) isl12057_rtc_set_time() argument
401 ret = isl12057_rtc_tm_to_regs(regs, tm); isl12057_rtc_set_time()
H A Drtc-hym8563.c99 static int hym8563_rtc_read_time(struct device *dev, struct rtc_time *tm) hym8563_rtc_read_time() argument
113 tm->tm_sec = bcd2bin(buf[0] & HYM8563_SEC_MASK); hym8563_rtc_read_time()
114 tm->tm_min = bcd2bin(buf[1] & HYM8563_MIN_MASK); hym8563_rtc_read_time()
115 tm->tm_hour = bcd2bin(buf[2] & HYM8563_HOUR_MASK); hym8563_rtc_read_time()
116 tm->tm_mday = bcd2bin(buf[3] & HYM8563_DAY_MASK); hym8563_rtc_read_time()
117 tm->tm_wday = bcd2bin(buf[4] & HYM8563_WEEKDAY_MASK); /* 0 = Sun */ hym8563_rtc_read_time()
118 tm->tm_mon = bcd2bin(buf[5] & HYM8563_MONTH_MASK) - 1; /* 0 = Jan */ hym8563_rtc_read_time()
119 tm->tm_year = bcd2bin(buf[6]) + 100; hym8563_rtc_read_time()
124 static int hym8563_rtc_set_time(struct device *dev, struct rtc_time *tm) hym8563_rtc_set_time() argument
132 if (tm->tm_year < 100 || tm->tm_year >= 200) hym8563_rtc_set_time()
135 buf[0] = bin2bcd(tm->tm_sec); hym8563_rtc_set_time()
136 buf[1] = bin2bcd(tm->tm_min); hym8563_rtc_set_time()
137 buf[2] = bin2bcd(tm->tm_hour); hym8563_rtc_set_time()
138 buf[3] = bin2bcd(tm->tm_mday); hym8563_rtc_set_time()
139 buf[4] = bin2bcd(tm->tm_wday); hym8563_rtc_set_time()
140 buf[5] = bin2bcd(tm->tm_mon + 1); hym8563_rtc_set_time()
147 buf[6] = bin2bcd(tm->tm_year - 100); hym8563_rtc_set_time()
H A Drtc-dm355evm.c37 static int dm355evm_rtc_read_time(struct device *dev, struct rtc_time *tm) dm355evm_rtc_read_time() argument
81 rtc_time_to_tm(le32_to_cpu(time.value), tm); dm355evm_rtc_read_time() local
85 static int dm355evm_rtc_set_time(struct device *dev, struct rtc_time *tm) dm355evm_rtc_set_time() argument
91 rtc_tm_to_time(tm, &value); dm355evm_rtc_set_time()
H A Drtc-twl.c248 static int twl_rtc_read_time(struct device *dev, struct rtc_time *tm) twl_rtc_read_time() argument
304 tm->tm_sec = bcd2bin(rtc_data[0]); twl_rtc_read_time()
305 tm->tm_min = bcd2bin(rtc_data[1]); twl_rtc_read_time()
306 tm->tm_hour = bcd2bin(rtc_data[2]); twl_rtc_read_time()
307 tm->tm_mday = bcd2bin(rtc_data[3]); twl_rtc_read_time()
308 tm->tm_mon = bcd2bin(rtc_data[4]) - 1; twl_rtc_read_time()
309 tm->tm_year = bcd2bin(rtc_data[5]) + 100; twl_rtc_read_time()
314 static int twl_rtc_set_time(struct device *dev, struct rtc_time *tm) twl_rtc_set_time() argument
320 rtc_data[0] = bin2bcd(tm->tm_sec); twl_rtc_set_time()
321 rtc_data[1] = bin2bcd(tm->tm_min); twl_rtc_set_time()
322 rtc_data[2] = bin2bcd(tm->tm_hour); twl_rtc_set_time()
323 rtc_data[3] = bin2bcd(tm->tm_mday); twl_rtc_set_time()
324 rtc_data[4] = bin2bcd(tm->tm_mon + 1); twl_rtc_set_time()
325 rtc_data[5] = bin2bcd(tm->tm_year - 100); twl_rtc_set_time()
H A Drtc-efi.c162 static int efi_read_time(struct device *dev, struct rtc_time *tm) efi_read_time() argument
176 if (!convert_from_efi_time(&eft, tm)) efi_read_time()
179 return rtc_valid_tm(tm); efi_read_time()
182 static int efi_set_time(struct device *dev, struct rtc_time *tm) efi_set_time() argument
187 convert_to_efi_time(tm, &eft); efi_set_time()
H A Drtc-gemini.c70 static int gemini_rtc_read_time(struct device *dev, struct rtc_time *tm) gemini_rtc_read_time() argument
85 rtc_time_to_tm(time, tm); gemini_rtc_read_time()
90 static int gemini_rtc_set_time(struct device *dev, struct rtc_time *tm) gemini_rtc_set_time() argument
96 if (tm->tm_year >= 2148) /* EPOCH Year + 179 */ gemini_rtc_set_time()
99 rtc_tm_to_time(tm, &time); gemini_rtc_set_time()
H A Drtc-pcf8583.c175 static int pcf8583_rtc_read_time(struct device *dev, struct rtc_time *tm) pcf8583_rtc_read_time() argument
201 if (pcf8583_get_datetime(client, tm) || pcf8583_rtc_read_time()
213 year_offset = tm->tm_year - (real_year & 3); pcf8583_rtc_read_time()
220 tm->tm_year = (real_year + year_offset + year[1] * 100) - 1900; pcf8583_rtc_read_time()
225 static int pcf8583_rtc_set_time(struct device *dev, struct rtc_time *tm) pcf8583_rtc_set_time() argument
239 unsigned int proper_year = tm->tm_year + 1900; pcf8583_rtc_set_time()
247 ret = pcf8583_set_datetime(client, tm, 1); pcf8583_rtc_set_time()
H A Drtc-pl030.c63 static int pl030_read_time(struct device *dev, struct rtc_time *tm) pl030_read_time() argument
67 rtc_time_to_tm(readl(rtc->base + RTC_DR), tm); pl030_read_time()
80 static int pl030_set_time(struct device *dev, struct rtc_time *tm) pl030_set_time() argument
86 ret = rtc_tm_to_time(tm, &time); pl030_set_time()
H A Drtc-pm8xxx.c81 static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm) pm8xxx_rtc_set_time() argument
93 rtc_tm_to_time(tm, &secs); pm8xxx_rtc_set_time()
155 static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm) pm8xxx_rtc_read_time() argument
191 rtc_time_to_tm(secs, tm); pm8xxx_rtc_read_time()
193 rc = rtc_valid_tm(tm); pm8xxx_rtc_read_time()
200 secs, tm->tm_hour, tm->tm_min, tm->tm_sec, pm8xxx_rtc_read_time()
201 tm->tm_mday, tm->tm_mon, tm->tm_year); pm8xxx_rtc_read_time()
H A Dinterface.c23 static int __rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm) __rtc_read_time() argument
31 memset(tm, 0, sizeof(struct rtc_time)); __rtc_read_time()
32 err = rtc->ops->read_time(rtc->dev.parent, tm); __rtc_read_time()
39 err = rtc_valid_tm(tm); __rtc_read_time()
46 int rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm) rtc_read_time() argument
54 err = __rtc_read_time(rtc, tm); rtc_read_time()
60 int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm) rtc_set_time() argument
64 err = rtc_valid_tm(tm); rtc_set_time()
75 err = rtc->ops->set_time(rtc->dev.parent, tm); rtc_set_time()
77 time64_t secs64 = rtc_tm_to_time64(tm); rtc_set_time()
81 time64_t secs64 = rtc_tm_to_time64(tm); rtc_set_time()
308 struct rtc_time tm; __rtc_set_alarm() local
318 err = __rtc_read_time(rtc, &tm); __rtc_set_alarm()
321 now = rtc_tm_to_time64(&tm); __rtc_set_alarm()
449 struct rtc_time tm; rtc_update_irq_enable() local
452 __rtc_read_time(rtc, &tm); rtc_update_irq_enable()
454 now = rtc_tm_to_ktime(tm); rtc_update_irq_enable()
829 struct rtc_time tm; rtc_timer_do_work() local
836 __rtc_read_time(rtc, &tm); rtc_timer_do_work()
837 now = rtc_tm_to_ktime(tm); rtc_timer_do_work()
H A Drtc-ab-b5ze-s3.c216 static int _abb5zes3_rtc_read_time(struct device *dev, struct rtc_time *tm) _abb5zes3_rtc_read_time() argument
242 tm->tm_sec = bcd2bin(regs[ABB5ZES3_REG_RTC_SC] & 0x7F); _abb5zes3_rtc_read_time()
243 tm->tm_min = bcd2bin(regs[ABB5ZES3_REG_RTC_MN]); _abb5zes3_rtc_read_time()
246 tm->tm_hour = bcd2bin(regs[ABB5ZES3_REG_RTC_HR] & 0x1f); _abb5zes3_rtc_read_time()
248 tm->tm_hour += 12; _abb5zes3_rtc_read_time()
250 tm->tm_hour = bcd2bin(regs[ABB5ZES3_REG_RTC_HR]); _abb5zes3_rtc_read_time()
253 tm->tm_mday = bcd2bin(regs[ABB5ZES3_REG_RTC_DT]); _abb5zes3_rtc_read_time()
254 tm->tm_wday = bcd2bin(regs[ABB5ZES3_REG_RTC_DW]); _abb5zes3_rtc_read_time()
255 tm->tm_mon = bcd2bin(regs[ABB5ZES3_REG_RTC_MO]) - 1; /* starts at 1 */ _abb5zes3_rtc_read_time()
256 tm->tm_year = bcd2bin(regs[ABB5ZES3_REG_RTC_YR]) + 100; _abb5zes3_rtc_read_time()
258 ret = rtc_valid_tm(tm); _abb5zes3_rtc_read_time()
264 static int abb5zes3_rtc_set_time(struct device *dev, struct rtc_time *tm) abb5zes3_rtc_set_time() argument
276 if (tm->tm_year < 100) abb5zes3_rtc_set_time()
279 regs[ABB5ZES3_REG_RTC_SC] = bin2bcd(tm->tm_sec); /* MSB=0 clears OSC */ abb5zes3_rtc_set_time()
280 regs[ABB5ZES3_REG_RTC_MN] = bin2bcd(tm->tm_min); abb5zes3_rtc_set_time()
281 regs[ABB5ZES3_REG_RTC_HR] = bin2bcd(tm->tm_hour); /* 24-hour format */ abb5zes3_rtc_set_time()
282 regs[ABB5ZES3_REG_RTC_DT] = bin2bcd(tm->tm_mday); abb5zes3_rtc_set_time()
283 regs[ABB5ZES3_REG_RTC_DW] = bin2bcd(tm->tm_wday); abb5zes3_rtc_set_time()
284 regs[ABB5ZES3_REG_RTC_MO] = bin2bcd(tm->tm_mon + 1); abb5zes3_rtc_set_time()
285 regs[ABB5ZES3_REG_RTC_YR] = bin2bcd(tm->tm_year - 100); abb5zes3_rtc_set_time()
H A Drtc-tps6586x.c69 static int tps6586x_rtc_read_time(struct device *dev, struct rtc_time *tm) tps6586x_rtc_read_time() argument
92 rtc_time_to_tm(seconds, tm); tps6586x_rtc_read_time()
93 return rtc_valid_tm(tm); tps6586x_rtc_read_time()
96 static int tps6586x_rtc_set_time(struct device *dev, struct rtc_time *tm) tps6586x_rtc_set_time() argument
105 rtc_tm_to_time(tm, &seconds); tps6586x_rtc_set_time()
H A Drtc-zynqmp.c60 static int xlnx_rtc_set_time(struct device *dev, struct rtc_time *tm) xlnx_rtc_set_time() argument
65 new_time = rtc_tm_to_time64(tm); xlnx_rtc_set_time()
75 static int xlnx_rtc_read_time(struct device *dev, struct rtc_time *tm) xlnx_rtc_read_time() argument
79 rtc_time64_to_tm(readl(xrtcdev->reg_base + RTC_CUR_TM), tm); xlnx_rtc_read_time()
81 return rtc_valid_tm(tm); xlnx_rtc_read_time()
H A Dclass.c54 struct rtc_time tm; rtc_suspend() local
65 err = rtc_read_time(rtc, &tm); rtc_suspend()
72 old_rtc.tv_sec = rtc_tm_to_time64(&tm); rtc_suspend()
100 struct rtc_time tm; rtc_resume() local
114 err = rtc_read_time(rtc, &tm); rtc_resume()
120 new_rtc.tv_sec = rtc_tm_to_time64(&tm); rtc_resume()
H A Drtc-ab8500.c75 struct rtc_time tm = { get_elapsed_seconds() local
84 rtc_tm_to_time(&tm, &secs); get_elapsed_seconds()
88 static int ab8500_rtc_read_time(struct device *dev, struct rtc_time *tm) ab8500_rtc_read_time() argument
133 rtc_time_to_tm(secs, tm); ab8500_rtc_read_time()
134 return rtc_valid_tm(tm); ab8500_rtc_read_time()
137 static int ab8500_rtc_set_time(struct device *dev, struct rtc_time *tm) ab8500_rtc_set_time() argument
143 if (tm->tm_year < (AB8500_RTC_EPOCH - 1900)) { ab8500_rtc_set_time()
150 rtc_tm_to_time(tm, &secs); ab8500_rtc_set_time()
H A Drtc-ds1685.c247 * @tm: pointer to rtc_time structure.
250 ds1685_rtc_read_time(struct device *dev, struct rtc_time *tm) ds1685_rtc_read_time() argument
275 tm->tm_sec = ds1685_rtc_bcd2bin(rtc, seconds, RTC_SECS_BCD_MASK, ds1685_rtc_read_time()
277 tm->tm_min = ds1685_rtc_bcd2bin(rtc, minutes, RTC_MINS_BCD_MASK, ds1685_rtc_read_time()
279 tm->tm_hour = ds1685_rtc_bcd2bin(rtc, hours, RTC_HRS_24_BCD_MASK, ds1685_rtc_read_time()
281 tm->tm_wday = (ds1685_rtc_bcd2bin(rtc, wday, RTC_WDAY_MASK, ds1685_rtc_read_time()
283 tm->tm_mday = ds1685_rtc_bcd2bin(rtc, mday, RTC_MDAY_BCD_MASK, ds1685_rtc_read_time()
285 tm->tm_mon = (ds1685_rtc_bcd2bin(rtc, month, RTC_MONTH_BCD_MASK, ds1685_rtc_read_time()
287 tm->tm_year = ((years + (century * 100)) - 1900); ds1685_rtc_read_time()
288 tm->tm_yday = rtc_year_days(tm->tm_mday, tm->tm_mon, tm->tm_year); ds1685_rtc_read_time()
289 tm->tm_isdst = 0; /* RTC has hardcoded timezone, so don't use. */ ds1685_rtc_read_time()
291 return rtc_valid_tm(tm); ds1685_rtc_read_time()
297 * @tm: pointer to rtc_time structure.
300 ds1685_rtc_set_time(struct device *dev, struct rtc_time *tm) ds1685_rtc_set_time() argument
307 seconds = ds1685_rtc_bin2bcd(rtc, tm->tm_sec, RTC_SECS_BIN_MASK, ds1685_rtc_set_time()
309 minutes = ds1685_rtc_bin2bcd(rtc, tm->tm_min, RTC_MINS_BIN_MASK, ds1685_rtc_set_time()
311 hours = ds1685_rtc_bin2bcd(rtc, tm->tm_hour, RTC_HRS_24_BIN_MASK, ds1685_rtc_set_time()
313 wday = ds1685_rtc_bin2bcd(rtc, (tm->tm_wday + 1), RTC_WDAY_MASK, ds1685_rtc_set_time()
315 mday = ds1685_rtc_bin2bcd(rtc, tm->tm_mday, RTC_MDAY_BIN_MASK, ds1685_rtc_set_time()
317 month = ds1685_rtc_bin2bcd(rtc, (tm->tm_mon + 1), RTC_MONTH_BIN_MASK, ds1685_rtc_set_time()
319 years = ds1685_rtc_bin2bcd(rtc, (tm->tm_year % 100), ds1685_rtc_set_time()
321 century = ds1685_rtc_bin2bcd(rtc, ((tm->tm_year + 1900) / 100), ds1685_rtc_set_time()
330 if ((tm->tm_mon > 11) || (mday == 0)) ds1685_rtc_set_time()
333 if (tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year)) ds1685_rtc_set_time()
336 if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || ds1685_rtc_set_time()
337 (tm->tm_sec >= 60) || (wday > 7)) ds1685_rtc_set_time()
H A Drtc-mxc.c282 * This function reads the current RTC time into tm in Gregorian date.
284 static int mxc_rtc_read_time(struct device *dev, struct rtc_time *tm) mxc_rtc_read_time() argument
293 rtc_time64_to_tm(val, tm); mxc_rtc_read_time()
299 * This function sets the internal RTC time based on tm in Gregorian date.
310 struct rtc_time tm; mxc_rtc_set_mmss() local
312 rtc_time64_to_tm(time, &tm); mxc_rtc_set_mmss()
313 tm.tm_year = 70; mxc_rtc_set_mmss()
314 time = rtc_tm_to_time64(&tm); mxc_rtc_set_mmss()
H A Drtc-test.c35 struct rtc_time *tm) test_rtc_read_time()
37 rtc_time64_to_tm(ktime_get_real_seconds(), tm); test_rtc_read_time() local
34 test_rtc_read_time(struct device *dev, struct rtc_time *tm) test_rtc_read_time() argument
H A Drtc-armada38x.c57 static int armada38x_rtc_read_time(struct device *dev, struct rtc_time *tm) armada38x_rtc_read_time() argument
75 rtc_time_to_tm(time_check, tm); armada38x_rtc_read_time()
80 static int armada38x_rtc_set_time(struct device *dev, struct rtc_time *tm) armada38x_rtc_set_time() argument
86 ret = rtc_tm_to_time(tm, &time); armada38x_rtc_set_time()
H A Drtc-at32ap700x.c70 static int at32_rtc_readtime(struct device *dev, struct rtc_time *tm) at32_rtc_readtime() argument
76 rtc_time_to_tm(now, tm); at32_rtc_readtime()
81 static int at32_rtc_settime(struct device *dev, struct rtc_time *tm) at32_rtc_settime() argument
87 ret = rtc_tm_to_time(tm, &now); at32_rtc_settime()
H A Drtc-snvs.c121 static int snvs_rtc_read_time(struct device *dev, struct rtc_time *tm) snvs_rtc_read_time() argument
126 rtc_time_to_tm(time, tm); snvs_rtc_read_time()
131 static int snvs_rtc_set_time(struct device *dev, struct rtc_time *tm) snvs_rtc_set_time() argument
136 rtc_tm_to_time(tm, &time); snvs_rtc_set_time()
H A Drtc-st-lpc.c84 static int st_rtc_read_time(struct device *dev, struct rtc_time *tm) st_rtc_read_time() argument
102 rtc_time_to_tm(lpt, tm); st_rtc_read_time()
107 static int st_rtc_set_time(struct device *dev, struct rtc_time *tm) st_rtc_set_time() argument
114 ret = rtc_tm_to_time(tm, &secs); st_rtc_set_time()
H A Drtc-bfin.c104 static inline void rtc_bfin_to_tm(u32 rtc_bfin, struct rtc_time *tm) rtc_bfin_to_tm() argument
106 rtc_time_to_tm(rtc_bfin_to_time(rtc_bfin), tm); rtc_bfin_to_tm() local
257 static int bfin_rtc_read_time(struct device *dev, struct rtc_time *tm) bfin_rtc_read_time() argument
266 rtc_bfin_to_tm(bfin_read_RTC_STAT(), tm); bfin_rtc_read_time() local
271 static int bfin_rtc_set_time(struct device *dev, struct rtc_time *tm) bfin_rtc_set_time() argument
279 ret = rtc_tm_to_time(tm, &now); bfin_rtc_set_time()
H A Drtc-digicolor.c95 static int dc_rtc_read_time(struct device *dev, struct rtc_time *tm) dc_rtc_read_time() argument
104 rtc_time64_to_tm(now, tm); dc_rtc_read_time()
H A Drtc-ep93xx.c61 static int ep93xx_rtc_read_time(struct device *dev, struct rtc_time *tm) ep93xx_rtc_read_time() argument
68 rtc_time_to_tm(time, tm); ep93xx_rtc_read_time()
H A Drtc-sa1100.c154 static int sa1100_rtc_read_time(struct device *dev, struct rtc_time *tm) sa1100_rtc_read_time() argument
158 rtc_time_to_tm(readl_relaxed(info->rcnr), tm); sa1100_rtc_read_time()
162 static int sa1100_rtc_set_time(struct device *dev, struct rtc_time *tm) sa1100_rtc_set_time() argument
168 ret = rtc_tm_to_time(tm, &time); sa1100_rtc_set_time()
H A Drtc-sirfsoc.c170 struct rtc_time *tm) sirfsoc_rtc_read_time()
186 tmp_rtc >> RTC_SHIFT, tm); sirfsoc_rtc_read_time()
191 struct rtc_time *tm) sirfsoc_rtc_set_time()
197 rtc_tm_to_time(tm, &rtc_time); sirfsoc_rtc_set_time()
169 sirfsoc_rtc_read_time(struct device *dev, struct rtc_time *tm) sirfsoc_rtc_read_time() argument
190 sirfsoc_rtc_set_time(struct device *dev, struct rtc_time *tm) sirfsoc_rtc_set_time() argument
H A Drtc-ab3100.c76 static int ab3100_rtc_read_time(struct device *dev, struct rtc_time *tm) ab3100_rtc_read_time() argument
107 rtc_time64_to_tm(time, tm); ab3100_rtc_read_time()
109 return rtc_valid_tm(tm); ab3100_rtc_read_time()
/linux-4.4.14/drivers/net/fddi/skfp/
H A Dsmttimer.c42 struct smt_timer *tm ; smt_timer_stop() local
51 for (prev = &smc->t.st_queue ; (tm = *prev) ; prev = &tm->tm_next ) { smt_timer_stop()
52 if (tm == timer) { smt_timer_stop()
53 *prev = tm->tm_next ; smt_timer_stop()
54 if (tm->tm_next) { smt_timer_stop()
55 tm->tm_next->tm_delta += tm->tm_delta ; smt_timer_stop()
66 struct smt_timer *tm ; smt_timer_start() local
92 for (prev = &smc->t.st_queue ; (tm = *prev) ; prev = &tm->tm_next ) { smt_timer_start()
93 if (delta + tm->tm_delta > time) { smt_timer_start()
96 delta += tm->tm_delta ; smt_timer_start()
100 timer->tm_next = tm ; smt_timer_start()
102 if (tm) smt_timer_start()
103 tm->tm_delta -= timer->tm_delta ; smt_timer_start()
123 struct smt_timer *tm ; timer_done() local
130 tm = smc->t.st_queue ; timer_done()
131 while (tm && !done) { timer_done()
132 if (delta >= tm->tm_delta) { timer_done()
133 tm->tm_active = FALSE ; timer_done()
134 delta -= tm->tm_delta ; timer_done()
135 last = &tm->tm_next ; timer_done()
136 tm = tm->tm_next ; timer_done()
139 tm->tm_delta -= delta ; timer_done()
146 smc->t.st_queue = tm ; timer_done()
148 for ( tm = next ; tm ; tm = next) { timer_done()
149 next = tm->tm_next ; timer_done()
150 timer_event(smc,tm->tm_token) ; timer_done()
/linux-4.4.14/arch/powerpc/platforms/powernv/
H A Dopal-rtc.c25 static void opal_to_tm(u32 y_m_d, u64 h_m_s_ms, struct rtc_time *tm) opal_to_tm() argument
27 tm->tm_year = ((bcd2bin(y_m_d >> 24) * 100) + opal_to_tm()
29 tm->tm_mon = bcd2bin((y_m_d >> 8) & 0xff) - 1; opal_to_tm()
30 tm->tm_mday = bcd2bin(y_m_d & 0xff); opal_to_tm()
31 tm->tm_hour = bcd2bin((h_m_s_ms >> 56) & 0xff); opal_to_tm()
32 tm->tm_min = bcd2bin((h_m_s_ms >> 48) & 0xff); opal_to_tm()
33 tm->tm_sec = bcd2bin((h_m_s_ms >> 40) & 0xff); opal_to_tm()
35 GregorianDay(tm); opal_to_tm()
40 struct rtc_time tm; opal_get_boot_time() local
62 opal_to_tm(y_m_d, h_m_s_ms, &tm); opal_get_boot_time()
63 return mktime(tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, opal_get_boot_time()
64 tm.tm_hour, tm.tm_min, tm.tm_sec); opal_get_boot_time()
/linux-4.4.14/arch/powerpc/platforms/maple/
H A Dtime.c57 void maple_get_rtc_time(struct rtc_time *tm) maple_get_rtc_time() argument
60 tm->tm_sec = maple_clock_read(RTC_SECONDS); maple_get_rtc_time()
61 tm->tm_min = maple_clock_read(RTC_MINUTES); maple_get_rtc_time()
62 tm->tm_hour = maple_clock_read(RTC_HOURS); maple_get_rtc_time()
63 tm->tm_mday = maple_clock_read(RTC_DAY_OF_MONTH); maple_get_rtc_time()
64 tm->tm_mon = maple_clock_read(RTC_MONTH); maple_get_rtc_time()
65 tm->tm_year = maple_clock_read(RTC_YEAR); maple_get_rtc_time()
66 } while (tm->tm_sec != maple_clock_read(RTC_SECONDS)); maple_get_rtc_time()
70 tm->tm_sec = bcd2bin(tm->tm_sec); maple_get_rtc_time()
71 tm->tm_min = bcd2bin(tm->tm_min); maple_get_rtc_time()
72 tm->tm_hour = bcd2bin(tm->tm_hour); maple_get_rtc_time()
73 tm->tm_mday = bcd2bin(tm->tm_mday); maple_get_rtc_time()
74 tm->tm_mon = bcd2bin(tm->tm_mon); maple_get_rtc_time()
75 tm->tm_year = bcd2bin(tm->tm_year); maple_get_rtc_time()
77 if ((tm->tm_year + 1900) < 1970) maple_get_rtc_time()
78 tm->tm_year += 100; maple_get_rtc_time()
80 GregorianDay(tm); maple_get_rtc_time()
83 int maple_set_rtc_time(struct rtc_time *tm) maple_set_rtc_time() argument
98 sec = tm->tm_sec; maple_set_rtc_time()
99 min = tm->tm_min; maple_set_rtc_time()
100 hour = tm->tm_hour; maple_set_rtc_time()
101 mon = tm->tm_mon; maple_set_rtc_time()
102 mday = tm->tm_mday; maple_set_rtc_time()
103 year = tm->tm_year; maple_set_rtc_time()
142 struct rtc_time tm; maple_get_boot_time() local
172 maple_get_rtc_time(&tm); maple_get_boot_time()
173 return mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, maple_get_boot_time()
174 tm.tm_hour, tm.tm_min, tm.tm_sec); maple_get_boot_time()
/linux-4.4.14/arch/powerpc/platforms/chrp/
H A Dtime.c88 struct rtc_time tm = *tmarg; chrp_set_rtc_time() local
101 tm.tm_sec = bin2bcd(tm.tm_sec); chrp_set_rtc_time()
102 tm.tm_min = bin2bcd(tm.tm_min); chrp_set_rtc_time()
103 tm.tm_hour = bin2bcd(tm.tm_hour); chrp_set_rtc_time()
104 tm.tm_mon = bin2bcd(tm.tm_mon); chrp_set_rtc_time()
105 tm.tm_mday = bin2bcd(tm.tm_mday); chrp_set_rtc_time()
106 tm.tm_year = bin2bcd(tm.tm_year); chrp_set_rtc_time()
108 chrp_cmos_clock_write(tm.tm_sec,RTC_SECONDS); chrp_set_rtc_time()
109 chrp_cmos_clock_write(tm.tm_min,RTC_MINUTES); chrp_set_rtc_time()
110 chrp_cmos_clock_write(tm.tm_hour,RTC_HOURS); chrp_set_rtc_time()
111 chrp_cmos_clock_write(tm.tm_mon,RTC_MONTH); chrp_set_rtc_time()
112 chrp_cmos_clock_write(tm.tm_mday,RTC_DAY_OF_MONTH); chrp_set_rtc_time()
113 chrp_cmos_clock_write(tm.tm_year,RTC_YEAR); chrp_set_rtc_time()
129 void chrp_get_rtc_time(struct rtc_time *tm) chrp_get_rtc_time() argument
152 tm->tm_sec = sec; chrp_get_rtc_time()
153 tm->tm_min = min; chrp_get_rtc_time()
154 tm->tm_hour = hour; chrp_get_rtc_time()
155 tm->tm_mday = day; chrp_get_rtc_time()
156 tm->tm_mon = mon; chrp_get_rtc_time()
157 tm->tm_year = year; chrp_get_rtc_time()
/linux-4.4.14/net/sched/
H A Dem_text.c35 struct text_match *tm = EM_TEXT_PRIV(m); em_text_match() local
38 from = tcf_get_base_ptr(skb, tm->from_layer) - skb->data; em_text_match()
39 from += tm->from_offset; em_text_match()
41 to = tcf_get_base_ptr(skb, tm->to_layer) - skb->data; em_text_match()
42 to += tm->to_offset; em_text_match()
44 return skb_find_text(skb, from, to, tm->config) != UINT_MAX; em_text_match()
50 struct text_match *tm; em_text_change() local
84 tm = kmalloc(sizeof(*tm), GFP_KERNEL); em_text_change()
85 if (tm == NULL) { em_text_change()
90 tm->from_offset = conf->from_offset; em_text_change()
91 tm->to_offset = conf->to_offset; em_text_change()
92 tm->from_layer = conf->from_layer; em_text_change()
93 tm->to_layer = conf->to_layer; em_text_change()
94 tm->config = ts_conf; em_text_change()
96 m->datalen = sizeof(*tm); em_text_change()
97 m->data = (unsigned long) tm; em_text_change()
110 struct text_match *tm = EM_TEXT_PRIV(m); em_text_dump() local
113 strncpy(conf.algo, tm->config->ops->name, sizeof(conf.algo) - 1); em_text_dump()
114 conf.from_offset = tm->from_offset; em_text_dump()
115 conf.to_offset = tm->to_offset; em_text_dump()
116 conf.from_layer = tm->from_layer; em_text_dump()
117 conf.to_layer = tm->to_layer; em_text_dump()
118 conf.pattern_len = textsearch_get_pattern_len(tm->config); em_text_dump()
124 textsearch_get_pattern(tm->config)) < 0) em_text_dump()
H A Dact_bpf.c140 struct tcf_t tm; tcf_bpf_dump() local
153 tm.install = jiffies_to_clock_t(jiffies - prog->tcf_tm.install); tcf_bpf_dump()
154 tm.lastuse = jiffies_to_clock_t(jiffies - prog->tcf_tm.lastuse); tcf_bpf_dump()
155 tm.expires = jiffies_to_clock_t(prog->tcf_tm.expires); tcf_bpf_dump()
157 if (nla_put(skb, TCA_ACT_BPF_TM, sizeof(tm), &tm)) tcf_bpf_dump()
H A Dact_ipt.c227 struct tcf_t tm; tcf_ipt_dump() local
249 tm.install = jiffies_to_clock_t(jiffies - ipt->tcf_tm.install); tcf_ipt_dump()
250 tm.lastuse = jiffies_to_clock_t(jiffies - ipt->tcf_tm.lastuse); tcf_ipt_dump()
251 tm.expires = jiffies_to_clock_t(ipt->tcf_tm.expires); tcf_ipt_dump()
252 if (nla_put(skb, TCA_IPT_TM, sizeof (tm), &tm)) tcf_ipt_dump()
/linux-4.4.14/net/ipv4/
H A Dtcp_metrics.c57 static inline struct net *tm_net(struct tcp_metrics_block *tm) tm_net() argument
59 return read_pnet(&tm->tcpm_net); tm_net()
62 static bool tcp_metric_locked(struct tcp_metrics_block *tm, tcp_metric_locked() argument
65 return tm->tcpm_lock & (1 << idx); tcp_metric_locked()
68 static u32 tcp_metric_get(struct tcp_metrics_block *tm, tcp_metric_get() argument
71 return tm->tcpm_vals[idx]; tcp_metric_get()
74 static void tcp_metric_set(struct tcp_metrics_block *tm, tcp_metric_set() argument
78 tm->tcpm_vals[idx] = val; tcp_metric_set()
96 static void tcpm_suck_dst(struct tcp_metrics_block *tm, tcpm_suck_dst() argument
103 tm->tcpm_stamp = jiffies; tcpm_suck_dst()
116 tm->tcpm_lock = val; tcpm_suck_dst()
119 tm->tcpm_vals[TCP_METRIC_RTT] = msval * USEC_PER_MSEC; tcpm_suck_dst()
122 tm->tcpm_vals[TCP_METRIC_RTTVAR] = msval * USEC_PER_MSEC; tcpm_suck_dst()
123 tm->tcpm_vals[TCP_METRIC_SSTHRESH] = dst_metric_raw(dst, RTAX_SSTHRESH); tcpm_suck_dst()
124 tm->tcpm_vals[TCP_METRIC_CWND] = dst_metric_raw(dst, RTAX_CWND); tcpm_suck_dst()
125 tm->tcpm_vals[TCP_METRIC_REORDERING] = dst_metric_raw(dst, RTAX_REORDERING); tcpm_suck_dst()
126 tm->tcpm_ts = 0; tcpm_suck_dst()
127 tm->tcpm_ts_stamp = 0; tcpm_suck_dst()
129 tm->tcpm_fastopen.mss = 0; tcpm_suck_dst()
130 tm->tcpm_fastopen.syn_loss = 0; tcpm_suck_dst()
131 tm->tcpm_fastopen.try_exp = 0; tcpm_suck_dst()
132 tm->tcpm_fastopen.cookie.exp = false; tcpm_suck_dst()
133 tm->tcpm_fastopen.cookie.len = 0; tcpm_suck_dst()
139 static void tcpm_check_stamp(struct tcp_metrics_block *tm, struct dst_entry *dst) tcpm_check_stamp() argument
141 if (tm && unlikely(time_after(jiffies, tm->tcpm_stamp + TCP_METRICS_TIMEOUT))) tcpm_check_stamp()
142 tcpm_suck_dst(tm, dst, false); tcpm_check_stamp()
156 struct tcp_metrics_block *tm; tcpm_new() local
166 tm = __tcp_get_metrics(saddr, daddr, net, hash); tcpm_new()
167 if (tm == TCP_METRICS_RECLAIM_PTR) { tcpm_new()
169 tm = NULL; tcpm_new()
171 if (tm) { tcpm_new()
172 tcpm_check_stamp(tm, dst); tcpm_new()
180 for (tm = deref_locked(oldest->tcpm_next); tm; tcpm_new()
181 tm = deref_locked(tm->tcpm_next)) { tcpm_new()
182 if (time_before(tm->tcpm_stamp, oldest->tcpm_stamp)) tcpm_new()
183 oldest = tm; tcpm_new()
185 tm = oldest; tcpm_new()
187 tm = kmalloc(sizeof(*tm), GFP_ATOMIC); tcpm_new()
188 if (!tm) tcpm_new()
191 write_pnet(&tm->tcpm_net, net); tcpm_new()
192 tm->tcpm_saddr = *saddr; tcpm_new()
193 tm->tcpm_daddr = *daddr; tcpm_new()
195 tcpm_suck_dst(tm, dst, true); tcpm_new()
198 tm->tcpm_next = tcp_metrics_hash[hash].chain; tcpm_new()
199 rcu_assign_pointer(tcp_metrics_hash[hash].chain, tm); tcpm_new()
204 return tm; tcpm_new()
207 static struct tcp_metrics_block *tcp_get_encode(struct tcp_metrics_block *tm, int depth) tcp_get_encode() argument
209 if (tm) tcp_get_encode()
210 return tm; tcp_get_encode()
220 struct tcp_metrics_block *tm; __tcp_get_metrics() local
223 for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; __tcp_get_metrics()
224 tm = rcu_dereference(tm->tcpm_next)) { __tcp_get_metrics()
225 if (addr_same(&tm->tcpm_saddr, saddr) && __tcp_get_metrics()
226 addr_same(&tm->tcpm_daddr, daddr) && __tcp_get_metrics()
227 net_eq(tm_net(tm), net)) __tcp_get_metrics()
231 return tcp_get_encode(tm, depth); __tcp_get_metrics()
237 struct tcp_metrics_block *tm; __tcp_get_metrics_req() local
265 for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; __tcp_get_metrics_req()
266 tm = rcu_dereference(tm->tcpm_next)) { __tcp_get_metrics_req()
267 if (addr_same(&tm->tcpm_saddr, &saddr) && __tcp_get_metrics_req()
268 addr_same(&tm->tcpm_daddr, &daddr) && __tcp_get_metrics_req()
269 net_eq(tm_net(tm), net)) __tcp_get_metrics_req()
272 tcpm_check_stamp(tm, dst); __tcp_get_metrics_req()
273 return tm; __tcp_get_metrics_req()
278 struct tcp_metrics_block *tm; __tcp_get_metrics_tw() local
308 for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; __tcp_get_metrics_tw()
309 tm = rcu_dereference(tm->tcpm_next)) { __tcp_get_metrics_tw()
310 if (addr_same(&tm->tcpm_saddr, &saddr) && __tcp_get_metrics_tw()
311 addr_same(&tm->tcpm_daddr, &daddr) && __tcp_get_metrics_tw()
312 net_eq(tm_net(tm), net)) __tcp_get_metrics_tw()
315 return tm; __tcp_get_metrics_tw()
322 struct tcp_metrics_block *tm; tcp_get_metrics() local
352 tm = __tcp_get_metrics(&saddr, &daddr, net, hash); tcp_get_metrics()
353 if (tm == TCP_METRICS_RECLAIM_PTR) tcp_get_metrics()
354 tm = NULL; tcp_get_metrics()
355 if (!tm && create) tcp_get_metrics()
356 tm = tcpm_new(dst, &saddr, &daddr, hash); tcp_get_metrics()
358 tcpm_check_stamp(tm, dst); tcp_get_metrics()
360 return tm; tcp_get_metrics()
372 struct tcp_metrics_block *tm; tcp_update_metrics() local
389 tm = tcp_get_metrics(sk, dst, false); tcp_update_metrics()
390 if (tm && !tcp_metric_locked(tm, TCP_METRIC_RTT)) tcp_update_metrics()
391 tcp_metric_set(tm, TCP_METRIC_RTT, 0); tcp_update_metrics()
394 tm = tcp_get_metrics(sk, dst, true); tcp_update_metrics()
396 if (!tm) tcp_update_metrics()
399 rtt = tcp_metric_get(tm, TCP_METRIC_RTT); tcp_update_metrics()
406 if (!tcp_metric_locked(tm, TCP_METRIC_RTT)) { tcp_update_metrics()
411 tcp_metric_set(tm, TCP_METRIC_RTT, rtt); tcp_update_metrics()
414 if (!tcp_metric_locked(tm, TCP_METRIC_RTTVAR)) { tcp_update_metrics()
425 var = tcp_metric_get(tm, TCP_METRIC_RTTVAR); tcp_update_metrics()
431 tcp_metric_set(tm, TCP_METRIC_RTTVAR, var); tcp_update_metrics()
436 if (!tcp_metric_locked(tm, TCP_METRIC_SSTHRESH)) { tcp_update_metrics()
437 val = tcp_metric_get(tm, TCP_METRIC_SSTHRESH); tcp_update_metrics()
439 tcp_metric_set(tm, TCP_METRIC_SSTHRESH, tcp_update_metrics()
442 if (!tcp_metric_locked(tm, TCP_METRIC_CWND)) { tcp_update_metrics()
443 val = tcp_metric_get(tm, TCP_METRIC_CWND); tcp_update_metrics()
445 tcp_metric_set(tm, TCP_METRIC_CWND, tcp_update_metrics()
451 if (!tcp_metric_locked(tm, TCP_METRIC_SSTHRESH)) tcp_update_metrics()
452 tcp_metric_set(tm, TCP_METRIC_SSTHRESH, tcp_update_metrics()
454 if (!tcp_metric_locked(tm, TCP_METRIC_CWND)) { tcp_update_metrics()
455 val = tcp_metric_get(tm, TCP_METRIC_CWND); tcp_update_metrics()
456 tcp_metric_set(tm, TCP_METRIC_CWND, (val + tp->snd_cwnd) >> 1); tcp_update_metrics()
462 if (!tcp_metric_locked(tm, TCP_METRIC_CWND)) { tcp_update_metrics()
463 val = tcp_metric_get(tm, TCP_METRIC_CWND); tcp_update_metrics()
464 tcp_metric_set(tm, TCP_METRIC_CWND, tcp_update_metrics()
467 if (!tcp_metric_locked(tm, TCP_METRIC_SSTHRESH)) { tcp_update_metrics()
468 val = tcp_metric_get(tm, TCP_METRIC_SSTHRESH); tcp_update_metrics()
470 tcp_metric_set(tm, TCP_METRIC_SSTHRESH, tcp_update_metrics()
473 if (!tcp_metric_locked(tm, TCP_METRIC_REORDERING)) { tcp_update_metrics()
474 val = tcp_metric_get(tm, TCP_METRIC_REORDERING); tcp_update_metrics()
477 tcp_metric_set(tm, TCP_METRIC_REORDERING, tcp_update_metrics()
481 tm->tcpm_stamp = jiffies; tcp_update_metrics()
492 struct tcp_metrics_block *tm; tcp_init_metrics() local
501 tm = tcp_get_metrics(sk, dst, true); tcp_init_metrics()
502 if (!tm) { tcp_init_metrics()
507 if (tcp_metric_locked(tm, TCP_METRIC_CWND)) tcp_init_metrics()
508 tp->snd_cwnd_clamp = tcp_metric_get(tm, TCP_METRIC_CWND); tcp_init_metrics()
510 val = tcp_metric_get(tm, TCP_METRIC_SSTHRESH); tcp_init_metrics()
521 val = tcp_metric_get(tm, TCP_METRIC_REORDERING); tcp_init_metrics()
528 crtt = tcp_metric_get(tm, TCP_METRIC_RTT); tcp_init_metrics()
582 struct tcp_metrics_block *tm; tcp_peer_is_proven() local
589 tm = __tcp_get_metrics_req(req, dst); tcp_peer_is_proven()
591 if (tm && tcp_peer_is_proven()
592 (u32)get_seconds() - tm->tcpm_ts_stamp < TCP_PAWS_MSL && tcp_peer_is_proven()
593 ((s32)(tm->tcpm_ts - req->ts_recent) > TCP_PAWS_WINDOW || tcp_peer_is_proven()
599 if (tm && tcp_metric_get(tm, TCP_METRIC_RTT) && tm->tcpm_ts_stamp) tcp_peer_is_proven()
612 struct tcp_metrics_block *tm; tcp_fetch_timewait_stamp() local
615 tm = tcp_get_metrics(sk, dst, true); tcp_fetch_timewait_stamp()
616 if (tm) { tcp_fetch_timewait_stamp()
619 if ((u32)get_seconds() - tm->tcpm_ts_stamp <= TCP_PAWS_MSL) { tcp_fetch_timewait_stamp()
620 tp->rx_opt.ts_recent_stamp = tm->tcpm_ts_stamp; tcp_fetch_timewait_stamp()
621 tp->rx_opt.ts_recent = tm->tcpm_ts; tcp_fetch_timewait_stamp()
639 struct tcp_metrics_block *tm; tcp_remember_stamp() local
642 tm = tcp_get_metrics(sk, dst, true); tcp_remember_stamp()
643 if (tm) { tcp_remember_stamp()
646 if ((s32)(tm->tcpm_ts - tp->rx_opt.ts_recent) <= 0 || tcp_remember_stamp()
647 ((u32)get_seconds() - tm->tcpm_ts_stamp > TCP_PAWS_MSL && tcp_remember_stamp()
648 tm->tcpm_ts_stamp <= (u32)tp->rx_opt.ts_recent_stamp)) { tcp_remember_stamp()
649 tm->tcpm_ts_stamp = (u32)tp->rx_opt.ts_recent_stamp; tcp_remember_stamp()
650 tm->tcpm_ts = tp->rx_opt.ts_recent; tcp_remember_stamp()
661 struct tcp_metrics_block *tm; tcp_tw_remember_stamp() local
665 tm = __tcp_get_metrics_tw(tw); tcp_tw_remember_stamp()
666 if (tm) { tcp_tw_remember_stamp()
671 if ((s32)(tm->tcpm_ts - tcptw->tw_ts_recent) <= 0 || tcp_tw_remember_stamp()
672 ((u32)get_seconds() - tm->tcpm_ts_stamp > TCP_PAWS_MSL && tcp_tw_remember_stamp()
673 tm->tcpm_ts_stamp <= (u32)tcptw->tw_ts_recent_stamp)) { tcp_tw_remember_stamp()
674 tm->tcpm_ts_stamp = (u32)tcptw->tw_ts_recent_stamp; tcp_tw_remember_stamp()
675 tm->tcpm_ts = tcptw->tw_ts_recent; tcp_tw_remember_stamp()
690 struct tcp_metrics_block *tm; tcp_fastopen_cache_get() local
693 tm = tcp_get_metrics(sk, __sk_dst_get(sk), false); tcp_fastopen_cache_get()
694 if (tm) { tcp_fastopen_cache_get()
695 struct tcp_fastopen_metrics *tfom = &tm->tcpm_fastopen; tcp_fastopen_cache_get()
717 struct tcp_metrics_block *tm; tcp_fastopen_cache_set() local
722 tm = tcp_get_metrics(sk, dst, true); tcp_fastopen_cache_set()
723 if (tm) { tcp_fastopen_cache_set()
724 struct tcp_fastopen_metrics *tfom = &tm->tcpm_fastopen; tcp_fastopen_cache_set()
775 struct tcp_metrics_block *tm) tcp_metrics_fill_info()
780 switch (tm->tcpm_daddr.family) { tcp_metrics_fill_info()
783 inetpeer_get_addr_v4(&tm->tcpm_daddr)) < 0) tcp_metrics_fill_info()
786 inetpeer_get_addr_v4(&tm->tcpm_saddr)) < 0) tcp_metrics_fill_info()
791 inetpeer_get_addr_v6(&tm->tcpm_daddr)) < 0) tcp_metrics_fill_info()
794 inetpeer_get_addr_v6(&tm->tcpm_saddr)) < 0) tcp_metrics_fill_info()
802 jiffies - tm->tcpm_stamp) < 0) tcp_metrics_fill_info()
804 if (tm->tcpm_ts_stamp) { tcp_metrics_fill_info()
806 (s32) (get_seconds() - tm->tcpm_ts_stamp)) < 0) tcp_metrics_fill_info()
809 tm->tcpm_ts) < 0) tcp_metrics_fill_info()
820 u32 val = tm->tcpm_vals[i]; tcp_metrics_fill_info()
854 tfom_copy[0] = tm->tcpm_fastopen; tcp_metrics_fill_info()
882 struct tcp_metrics_block *tm) tcp_metrics_dump_info()
892 if (tcp_metrics_fill_info(skb, tm) < 0) tcp_metrics_dump_info()
912 struct tcp_metrics_block *tm; tcp_metrics_nl_dump() local
916 for (col = 0, tm = rcu_dereference(hb->chain); tm; tcp_metrics_nl_dump()
917 tm = rcu_dereference(tm->tcpm_next), col++) { tcp_metrics_nl_dump()
918 if (!net_eq(tm_net(tm), net)) tcp_metrics_nl_dump()
922 if (tcp_metrics_dump_info(skb, cb, tm) < 0) { tcp_metrics_nl_dump()
980 struct tcp_metrics_block *tm; tcp_metrics_nl_cmd_get() local
1010 for (tm = rcu_dereference(tcp_metrics_hash[hash].chain); tm; tcp_metrics_nl_cmd_get()
1011 tm = rcu_dereference(tm->tcpm_next)) { tcp_metrics_nl_cmd_get()
1012 if (addr_same(&tm->tcpm_daddr, &daddr) && tcp_metrics_nl_cmd_get()
1013 (!src || addr_same(&tm->tcpm_saddr, &saddr)) && tcp_metrics_nl_cmd_get()
1014 net_eq(tm_net(tm), net)) { tcp_metrics_nl_cmd_get()
1015 ret = tcp_metrics_fill_info(msg, tm); tcp_metrics_nl_cmd_get()
1038 struct tcp_metrics_block *tm; tcp_metrics_flush_all() local
1045 for (tm = deref_locked(*pp); tm; tm = deref_locked(*pp)) { tcp_metrics_flush_all()
1046 if (net_eq(tm_net(tm), net)) { tcp_metrics_flush_all()
1047 *pp = tm->tcpm_next; tcp_metrics_flush_all()
1048 kfree_rcu(tm, rcu_head); tcp_metrics_flush_all()
1050 pp = &tm->tcpm_next; tcp_metrics_flush_all()
1060 struct tcp_metrics_block *tm; tcp_metrics_nl_cmd_del() local
1084 for (tm = deref_locked(*pp); tm; tm = deref_locked(*pp)) { tcp_metrics_nl_cmd_del()
1085 if (addr_same(&tm->tcpm_daddr, &daddr) && tcp_metrics_nl_cmd_del()
1086 (!src || addr_same(&tm->tcpm_saddr, &saddr)) && tcp_metrics_nl_cmd_del()
1087 net_eq(tm_net(tm), net)) { tcp_metrics_nl_cmd_del()
1088 *pp = tm->tcpm_next; tcp_metrics_nl_cmd_del()
1089 kfree_rcu(tm, rcu_head); tcp_metrics_nl_cmd_del()
1092 pp = &tm->tcpm_next; tcp_metrics_nl_cmd_del()
774 tcp_metrics_fill_info(struct sk_buff *msg, struct tcp_metrics_block *tm) tcp_metrics_fill_info() argument
880 tcp_metrics_dump_info(struct sk_buff *skb, struct netlink_callback *cb, struct tcp_metrics_block *tm) tcp_metrics_dump_info() argument
/linux-4.4.14/drivers/isdn/mISDN/
H A Dtei.c230 struct teimgr *tm = fi->userdata; tei_debug() local
243 tm->l2->sapi, tm->l2->tei, &vaf); tei_debug()
467 struct teimgr *tm = fi->userdata; tei_id_request() local
469 if (tm->l2->tei != GROUP_TEI) { tei_id_request()
470 tm->tei_m.printdebug(&tm->tei_m, tei_id_request()
472 tm->l2->tei); tei_id_request()
475 tm->ri = random_ri(); tei_id_request()
477 tm->tei_m.printdebug(&tm->tei_m, tei_id_request()
478 "assign request ri %d", tm->ri); tei_id_request()
479 put_tei_msg(tm->mgr, ID_REQUEST, tm->ri, GROUP_TEI); tei_id_request()
481 mISDN_FsmAddTimer(&tm->timer, tm->tval, EV_TIMER, NULL, 1); tei_id_request()
482 tm->nval = 3; tei_id_request()
488 struct teimgr *tm = fi->userdata; tei_id_assign() local
498 tm->tei_m.printdebug(fi, "identity assign ri %d tei %d", tei_id_assign()
500 l2 = findtei(tm->mgr, tei); tei_id_assign()
502 if (ri != l2->tm->ri) { tei_id_assign()
503 tm->tei_m.printdebug(fi, tei_id_assign()
507 } else if (ri == tm->ri) { tei_id_assign()
508 mISDN_FsmDelTimer(&tm->timer, 1); tei_id_assign()
510 tei_l2(tm->l2, MDL_ASSIGN_REQ, tei); tei_id_assign()
517 struct teimgr *tm = fi->userdata; tei_id_test_dup() local
527 tm->tei_m.printdebug(fi, "foreign identity assign ri %d tei %d", tei_id_test_dup()
529 l2 = findtei(tm->mgr, tei); tei_id_test_dup()
531 if (ri != l2->tm->ri) { /* and it wasn't our request */ tei_id_test_dup()
532 tm->tei_m.printdebug(fi, tei_id_test_dup()
534 mISDN_FsmEvent(&l2->tm->tei_m, EV_VERIFY, NULL); tei_id_test_dup()
542 struct teimgr *tm = fi->userdata; tei_id_denied() local
551 tm->tei_m.printdebug(fi, "identity denied ri %d tei %d", tei_id_denied()
558 struct teimgr *tm = fi->userdata; tei_id_chk_req() local
564 tm->tei_m.printdebug(fi, "identity check req tei %d", tei); tei_id_chk_req()
565 if ((tm->l2->tei != GROUP_TEI) && ((tei == GROUP_TEI) || tei_id_chk_req()
566 (tei == tm->l2->tei))) { tei_id_chk_req()
567 mISDN_FsmDelTimer(&tm->timer, 4); tei_id_chk_req()
568 mISDN_FsmChangeState(&tm->tei_m, ST_TEI_NOP); tei_id_chk_req()
569 put_tei_msg(tm->mgr, ID_CHK_RES, random_ri(), tm->l2->tei); tei_id_chk_req()
576 struct teimgr *tm = fi->userdata; tei_id_remove() local
582 tm->tei_m.printdebug(fi, "identity remove tei %d", tei); tei_id_remove()
583 if ((tm->l2->tei != GROUP_TEI) && tei_id_remove()
584 ((tei == GROUP_TEI) || (tei == tm->l2->tei))) { tei_id_remove()
585 mISDN_FsmDelTimer(&tm->timer, 5); tei_id_remove()
586 mISDN_FsmChangeState(&tm->tei_m, ST_TEI_NOP); tei_id_remove()
587 tei_l2(tm->l2, MDL_REMOVE_REQ, 0); tei_id_remove()
594 struct teimgr *tm = fi->userdata; tei_id_verify() local
597 tm->tei_m.printdebug(fi, "id verify request for tei %d", tei_id_verify()
598 tm->l2->tei); tei_id_verify()
599 put_tei_msg(tm->mgr, ID_VERIFY, 0, tm->l2->tei); tei_id_verify()
600 mISDN_FsmChangeState(&tm->tei_m, ST_TEI_IDVERIFY); tei_id_verify()
601 mISDN_FsmAddTimer(&tm->timer, tm->tval, EV_TIMER, NULL, 2); tei_id_verify()
602 tm->nval = 2; tei_id_verify()
608 struct teimgr *tm = fi->userdata; tei_id_req_tout() local
610 if (--tm->nval) { tei_id_req_tout()
611 tm->ri = random_ri(); tei_id_req_tout()
613 tm->tei_m.printdebug(fi, "assign req(%d) ri %d", tei_id_req_tout()
614 4 - tm->nval, tm->ri); tei_id_req_tout()
615 put_tei_msg(tm->mgr, ID_REQUEST, tm->ri, GROUP_TEI); tei_id_req_tout()
616 mISDN_FsmAddTimer(&tm->timer, tm->tval, EV_TIMER, NULL, 3); tei_id_req_tout()
618 tm->tei_m.printdebug(fi, "assign req failed"); tei_id_req_tout()
619 tei_l2(tm->l2, MDL_ERROR_RSP, 0); tei_id_req_tout()
627 struct teimgr *tm = fi->userdata; tei_id_ver_tout() local
629 if (--tm->nval) { tei_id_ver_tout()
631 tm->tei_m.printdebug(fi, tei_id_ver_tout()
633 3 - tm->nval, tm->l2->tei); tei_id_ver_tout()
634 put_tei_msg(tm->mgr, ID_VERIFY, 0, tm->l2->tei); tei_id_ver_tout()
635 mISDN_FsmAddTimer(&tm->timer, tm->tval, EV_TIMER, NULL, 4); tei_id_ver_tout()
637 tm->tei_m.printdebug(fi, "verify req for tei %d failed", tei_id_ver_tout()
638 tm->l2->tei); tei_id_ver_tout()
639 tei_l2(tm->l2, MDL_REMOVE_REQ, 0); tei_id_ver_tout()
662 put_tei_msg(l2->tm->mgr, ID_REMOVE, 0, l2->tei); tei_l2remove()
671 struct teimgr *tm = fi->userdata; tei_assign_req() local
674 if (tm->l2->tei == GROUP_TEI) { tei_assign_req()
675 tm->tei_m.printdebug(&tm->tei_m, tei_assign_req()
679 tm->ri = ((unsigned int) *dp++ << 8); tei_assign_req()
680 tm->ri += *dp++; tei_assign_req()
682 tm->tei_m.printdebug(&tm->tei_m, tei_assign_req()
683 "net assign request ri %d teim %d", tm->ri, *dp); tei_assign_req()
684 put_tei_msg(tm->mgr, ID_ASSIGNED, tm->ri, tm->l2->tei); tei_assign_req()
691 struct teimgr *tm = fi->userdata; tei_id_chk_req_net() local
694 tm->tei_m.printdebug(fi, "id check request for tei %d", tei_id_chk_req_net()
695 tm->l2->tei); tei_id_chk_req_net()
696 tm->rcnt = 0; tei_id_chk_req_net()
697 put_tei_msg(tm->mgr, ID_CHK_REQ, 0, tm->l2->tei); tei_id_chk_req_net()
698 mISDN_FsmChangeState(&tm->tei_m, ST_TEI_IDVERIFY); tei_id_chk_req_net()
699 mISDN_FsmAddTimer(&tm->timer, tm->tval, EV_TIMER, NULL, 2); tei_id_chk_req_net()
700 tm->nval = 2; tei_id_chk_req_net()
706 struct teimgr *tm = fi->userdata; tei_id_chk_resp() local
712 tm->tei_m.printdebug(fi, "identity check resp tei %d", tei); tei_id_chk_resp()
713 if (tei == tm->l2->tei) tei_id_chk_resp()
714 tm->rcnt++; tei_id_chk_resp()
720 struct teimgr *tm = fi->userdata; tei_id_verify_net() local
726 tm->tei_m.printdebug(fi, "identity verify req tei %d/%d", tei_id_verify_net()
727 tei, tm->l2->tei); tei_id_verify_net()
728 if (tei == tm->l2->tei) tei_id_verify_net()
735 struct teimgr *tm = fi->userdata; tei_id_ver_tout_net() local
737 if (tm->rcnt == 1) { tei_id_ver_tout_net()
739 tm->tei_m.printdebug(fi, tei_id_ver_tout_net()
740 "check req for tei %d successful\n", tm->l2->tei); tei_id_ver_tout_net()
742 } else if (tm->rcnt > 1) { tei_id_ver_tout_net()
744 tei_l2remove(tm->l2); tei_id_ver_tout_net()
745 } else if (--tm->nval) { tei_id_ver_tout_net()
747 tm->tei_m.printdebug(fi, tei_id_ver_tout_net()
749 3 - tm->nval, tm->l2->tei); tei_id_ver_tout_net()
750 put_tei_msg(tm->mgr, ID_CHK_REQ, 0, tm->l2->tei); tei_id_ver_tout_net()
751 mISDN_FsmAddTimer(&tm->timer, tm->tval, EV_TIMER, NULL, 4); tei_id_ver_tout_net()
753 tm->tei_m.printdebug(fi, "check req for tei %d failed", tei_id_ver_tout_net()
754 tm->l2->tei); tei_id_ver_tout_net()
756 tei_l2remove(tm->l2); tei_id_ver_tout_net()
770 tei_ph_data_ind(struct teimgr *tm, u_int mt, u_char *dp, int len) tei_ph_data_ind() argument
772 if (test_bit(FLG_FIXED_TEI, &tm->l2->flag)) tei_ph_data_ind()
775 tm->tei_m.printdebug(&tm->tei_m, "tei handler mt %x", mt); tei_ph_data_ind()
777 mISDN_FsmEvent(&tm->tei_m, EV_ASSIGN, dp); tei_ph_data_ind()
779 mISDN_FsmEvent(&tm->tei_m, EV_DENIED, dp); tei_ph_data_ind()
781 mISDN_FsmEvent(&tm->tei_m, EV_CHKREQ, dp); tei_ph_data_ind()
783 mISDN_FsmEvent(&tm->tei_m, EV_REMOVE, dp); tei_ph_data_ind()
785 mISDN_FsmEvent(&tm->tei_m, EV_VERIFY, dp); tei_ph_data_ind()
787 mISDN_FsmEvent(&tm->tei_m, EV_CHKRESP, dp); tei_ph_data_ind()
815 l2->tm = kzalloc(sizeof(struct teimgr), GFP_KERNEL); create_new_tei()
816 if (!l2->tm) { create_new_tei()
821 l2->tm->mgr = mgr; create_new_tei()
822 l2->tm->l2 = l2; create_new_tei()
823 l2->tm->tei_m.debug = *debug & DEBUG_L2_TEIFSM; create_new_tei()
824 l2->tm->tei_m.userdata = l2->tm; create_new_tei()
825 l2->tm->tei_m.printdebug = tei_debug; create_new_tei()
826 l2->tm->tei_m.fsm = &teifsmn; create_new_tei()
827 l2->tm->tei_m.state = ST_TEI_NOP; create_new_tei()
828 l2->tm->tval = 2000; /* T202 2 sec */ create_new_tei()
829 mISDN_FsmInitTimer(&l2->tm->tei_m, &l2->tm->timer); create_new_tei()
880 mISDN_FsmEvent(&l2->tm->tei_m, EV_ASSIGN_REQ, dp); new_tei_req()
936 tei_ph_data_ind(l2->tm, mt, &skb->data[4], skb->len - 4); ph_data_ind()
945 struct teimgr *tm = l2->tm; l2_tei() local
953 mISDN_FsmEvent(&tm->tei_m, EV_IDREQ, NULL); l2_tei()
956 if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) l2_tei()
957 mISDN_FsmEvent(&tm->tei_m, EV_CHKREQ, &l2->tei); l2_tei()
958 if (test_bit(MGR_OPT_USER, &tm->mgr->options)) l2_tei()
959 mISDN_FsmEvent(&tm->tei_m, EV_VERIFY, NULL); l2_tei()
962 if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) l2_tei()
963 mISDN_FsmEvent(&tm->mgr->deact, EV_ACTIVATE, NULL); l2_tei()
966 if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) l2_tei()
967 mISDN_FsmEvent(&tm->mgr->deact, EV_DEACTIVATE, NULL); l2_tei()
970 if (test_bit(MGR_OPT_NETWORK, &tm->mgr->options)) l2_tei()
971 mISDN_FsmEvent(&tm->mgr->deact, EV_UI, NULL); l2_tei()
980 struct teimgr *tm = l2->tm; TEIrelease() local
983 mISDN_FsmDelTimer(&tm->timer, 1); TEIrelease()
984 write_lock_irqsave(&tm->mgr->lock, flags); TEIrelease()
986 write_unlock_irqrestore(&tm->mgr->lock, flags); TEIrelease()
987 l2->tm = NULL; TEIrelease()
988 kfree(tm); TEIrelease()
1058 l2->tm = kzalloc(sizeof(struct teimgr), GFP_KERNEL); create_teimgr()
1059 if (!l2->tm) { create_teimgr()
1064 l2->tm->mgr = mgr; create_teimgr()
1065 l2->tm->l2 = l2; create_teimgr()
1066 l2->tm->tei_m.debug = *debug & DEBUG_L2_TEIFSM; create_teimgr()
1067 l2->tm->tei_m.userdata = l2->tm; create_teimgr()
1068 l2->tm->tei_m.printdebug = tei_debug; create_teimgr()
1070 l2->tm->tei_m.fsm = &teifsmu; create_teimgr()
1071 l2->tm->tei_m.state = ST_TEI_NOP; create_teimgr()
1072 l2->tm->tval = 1000; /* T201 1 sec */ create_teimgr()
1078 l2->tm->tei_m.fsm = &teifsmn; create_teimgr()
1079 l2->tm->tei_m.state = ST_TEI_NOP; create_teimgr()
1080 l2->tm->tval = 2000; /* T202 2 sec */ create_teimgr()
1086 mISDN_FsmInitTimer(&l2->tm->tei_m, &l2->tm->timer); create_teimgr()
/linux-4.4.14/arch/mips/sibyte/swarm/
H A Drtc_xicor1241.c114 struct rtc_time tm; xicor_set_time() local
118 rtc_time_to_tm(t, &tm); xicor_set_time()
119 tm.tm_year += 1900; xicor_set_time()
127 tm.tm_sec = bin2bcd(tm.tm_sec); xicor_set_time()
128 xicor_write(X1241REG_SC, tm.tm_sec); xicor_set_time()
130 tm.tm_min = bin2bcd(tm.tm_min); xicor_set_time()
131 xicor_write(X1241REG_MN, tm.tm_min); xicor_set_time()
133 tm.tm_mday = bin2bcd(tm.tm_mday); xicor_set_time()
134 xicor_write(X1241REG_DT, tm.tm_mday); xicor_set_time()
137 tm.tm_mon ++; xicor_set_time()
138 tm.tm_mon = bin2bcd(tm.tm_mon); xicor_set_time()
139 xicor_write(X1241REG_MO, tm.tm_mon); xicor_set_time()
142 tmp = tm.tm_year / 100; xicor_set_time()
143 tm.tm_year %= 100; xicor_set_time()
144 xicor_write(X1241REG_YR, tm.tm_year); xicor_set_time()
151 tm.tm_hour = bin2bcd(tm.tm_hour); xicor_set_time()
152 tmp = (tmp & ~0x3f) | (tm.tm_hour & 0x3f); xicor_set_time()
156 if (tm.tm_hour >= 12) { xicor_set_time()
158 tm.tm_hour -= 12; xicor_set_time()
160 tm.tm_hour = bin2bcd(tm.tm_hour); xicor_set_time()
161 tmp |= tm.tm_hour; xicor_set_time()
H A Drtc_m41t81.c146 struct rtc_time tm; m41t81_set_time() local
150 rtc_time_to_tm(t, &tm); m41t81_set_time()
159 tm.tm_sec = bin2bcd(tm.tm_sec); m41t81_set_time()
160 m41t81_write(M41T81REG_SC, tm.tm_sec); m41t81_set_time()
162 tm.tm_min = bin2bcd(tm.tm_min); m41t81_set_time()
163 m41t81_write(M41T81REG_MN, tm.tm_min); m41t81_set_time()
165 tm.tm_hour = bin2bcd(tm.tm_hour); m41t81_set_time()
166 tm.tm_hour = (tm.tm_hour & 0x3f) | (m41t81_read(M41T81REG_HR) & 0xc0); m41t81_set_time()
167 m41t81_write(M41T81REG_HR, tm.tm_hour); m41t81_set_time()
170 if (tm.tm_wday == 0) tm.tm_wday = 7; m41t81_set_time()
171 tm.tm_wday = bin2bcd(tm.tm_wday); m41t81_set_time()
172 m41t81_write(M41T81REG_DY, tm.tm_wday); m41t81_set_time()
174 tm.tm_mday = bin2bcd(tm.tm_mday); m41t81_set_time()
175 m41t81_write(M41T81REG_DT, tm.tm_mday); m41t81_set_time()
178 tm.tm_mon ++; m41t81_set_time()
179 tm.tm_mon = bin2bcd(tm.tm_mon); m41t81_set_time()
180 m41t81_write(M41T81REG_MO, tm.tm_mon); m41t81_set_time()
183 tm.tm_year %= 100; m41t81_set_time()
184 tm.tm_year = bin2bcd(tm.tm_year); m41t81_set_time()
185 m41t81_write(M41T81REG_YR, tm.tm_year); m41t81_set_time()
/linux-4.4.14/arch/powerpc/platforms/powermac/
H A Dtime.c87 static void to_rtc_time(unsigned long now, struct rtc_time *tm) to_rtc_time() argument
89 to_tm(now, tm); to_rtc_time()
90 tm->tm_year -= 1900; to_rtc_time()
91 tm->tm_mon -= 1; to_rtc_time()
97 static unsigned long from_rtc_time(struct rtc_time *tm) from_rtc_time() argument
99 return mktime(tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, from_rtc_time()
100 tm->tm_hour, tm->tm_min, tm->tm_sec); from_rtc_time()
122 #define cuda_get_rtc_time(tm) to_rtc_time(cuda_get_time(), (tm))
124 static int cuda_set_rtc_time(struct rtc_time *tm) cuda_set_rtc_time() argument
129 nowtime = from_rtc_time(tm) + RTC_OFFSET; cuda_set_rtc_time()
144 #define cuda_get_rtc_time(tm)
145 #define cuda_set_rtc_time(tm) 0
165 #define pmu_get_rtc_time(tm) to_rtc_time(pmu_get_time(), (tm))
167 static int pmu_set_rtc_time(struct rtc_time *tm) pmu_set_rtc_time() argument
172 nowtime = from_rtc_time(tm) + RTC_OFFSET; pmu_set_rtc_time()
185 #define pmu_get_rtc_time(tm)
186 #define pmu_set_rtc_time(tm) 0
192 struct rtc_time tm; smu_get_time() local
194 if (smu_get_rtc_time(&tm, 1)) smu_get_time()
196 return from_rtc_time(&tm); smu_get_time()
201 #define smu_get_rtc_time(tm, spin)
202 #define smu_set_rtc_time(tm, spin) 0
221 void pmac_get_rtc_time(struct rtc_time *tm) pmac_get_rtc_time() argument
226 cuda_get_rtc_time(tm); pmac_get_rtc_time()
229 pmu_get_rtc_time(tm); pmac_get_rtc_time()
232 smu_get_rtc_time(tm, 1); pmac_get_rtc_time()
239 int pmac_set_rtc_time(struct rtc_time *tm) pmac_set_rtc_time() argument
243 return cuda_set_rtc_time(tm); pmac_set_rtc_time()
245 return pmu_set_rtc_time(tm); pmac_set_rtc_time()
247 return smu_set_rtc_time(tm, 1); pmac_set_rtc_time()
/linux-4.4.14/arch/powerpc/platforms/ps3/
H A Dtime.c32 static void _dump_tm(const struct rtc_time *tm, const char* func, int line) _dump_tm() argument
34 pr_debug("%s:%d tm_sec %d\n", func, line, tm->tm_sec); _dump_tm()
35 pr_debug("%s:%d tm_min %d\n", func, line, tm->tm_min); _dump_tm()
36 pr_debug("%s:%d tm_hour %d\n", func, line, tm->tm_hour); _dump_tm()
37 pr_debug("%s:%d tm_mday %d\n", func, line, tm->tm_mday); _dump_tm()
38 pr_debug("%s:%d tm_mon %d\n", func, line, tm->tm_mon); _dump_tm()
39 pr_debug("%s:%d tm_year %d\n", func, line, tm->tm_year); _dump_tm()
40 pr_debug("%s:%d tm_wday %d\n", func, line, tm->tm_wday); _dump_tm()
47 struct rtc_time tm; _dump_time() local
49 to_tm(time, &tm); _dump_time()
52 _dump_tm(&tm, func, line); _dump_time()
/linux-4.4.14/arch/powerpc/kernel/
H A Drtas-rtc.c86 int rtas_set_rtc_time(struct rtc_time *tm) rtas_set_rtc_time() argument
94 tm->tm_year + 1900, tm->tm_mon + 1, rtas_set_rtc_time()
95 tm->tm_mday, tm->tm_hour, tm->tm_min, rtas_set_rtc_time()
96 tm->tm_sec, 0); rtas_set_rtc_time()
H A Dtime.c720 struct rtc_time tm; update_persistent_clock() local
725 to_tm(now.tv_sec + 1 + timezone_offset, &tm); update_persistent_clock()
726 tm.tm_year -= 1900; update_persistent_clock()
727 tm.tm_mon -= 1; update_persistent_clock()
729 return ppc_md.set_rtc_time(&tm); update_persistent_clock()
734 struct rtc_time tm; __read_persistent_clock() local
754 ppc_md.get_rtc_time(&tm); __read_persistent_clock()
756 ts->tv_sec = mktime(tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday, __read_persistent_clock()
757 tm.tm_hour, tm.tm_min, tm.tm_sec); __read_persistent_clock()
1008 void GregorianDay(struct rtc_time * tm) GregorianDay() argument
1015 lastYear = tm->tm_year - 1; GregorianDay()
1028 day = tm->tm_mon > 2 && leapyear(tm->tm_year); GregorianDay()
1030 day += lastYear*365 + leapsToDate + MonthOffset[tm->tm_mon-1] + GregorianDay()
1031 tm->tm_mday; GregorianDay()
1033 tm->tm_wday = day % 7; GregorianDay()
1037 void to_tm(int tim, struct rtc_time * tm) to_tm() argument
1046 tm->tm_hour = hms / 3600; to_tm()
1047 tm->tm_min = (hms % 3600) / 60; to_tm()
1048 tm->tm_sec = (hms % 3600) % 60; to_tm()
1053 tm->tm_year = i; to_tm()
1056 if (leapyear(tm->tm_year)) to_tm()
1061 tm->tm_mon = i; to_tm()
1064 tm->tm_mday = day + 1; to_tm()
1069 GregorianDay(tm); to_tm()
H A Drtas-proc.c308 struct rtc_time tm; ppc_rtas_poweron_write() local
316 to_tm(nowtime, &tm); ppc_rtas_poweron_write()
319 tm.tm_year, tm.tm_mon, tm.tm_mday, ppc_rtas_poweron_write()
320 tm.tm_hour, tm.tm_min, tm.tm_sec, 0 /* nano */); ppc_rtas_poweron_write()
374 struct rtc_time tm; ppc_rtas_clock_write() local
380 to_tm(nowtime, &tm); ppc_rtas_clock_write()
382 tm.tm_year, tm.tm_mon, tm.tm_mday, ppc_rtas_clock_write()
383 tm.tm_hour, tm.tm_min, tm.tm_sec, 0); ppc_rtas_clock_write()
/linux-4.4.14/arch/alpha/kernel/
H A Drtc.c82 alpha_rtc_read_time(struct device *dev, struct rtc_time *tm) alpha_rtc_read_time() argument
84 __get_rtc_time(tm); alpha_rtc_read_time()
90 int year = tm->tm_year; alpha_rtc_read_time()
98 tm->tm_year = year; alpha_rtc_read_time()
101 return rtc_valid_tm(tm); alpha_rtc_read_time()
105 alpha_rtc_set_time(struct device *dev, struct rtc_time *tm) alpha_rtc_set_time() argument
110 xtm = *tm; alpha_rtc_set_time()
112 tm = &xtm; alpha_rtc_set_time()
115 return __set_rtc_time(tm); alpha_rtc_set_time()
228 struct rtc_time *tm; member in union:remote_data
237 x->retval = alpha_rtc_read_time(NULL, x->tm); do_remote_read()
241 remote_read_time(struct device *dev, struct rtc_time *tm) remote_read_time() argument
245 x.tm = tm; remote_read_time()
249 return alpha_rtc_read_time(NULL, tm); remote_read_time()
256 x->retval = alpha_rtc_set_time(NULL, x->tm); do_remote_set()
260 remote_set_time(struct device *dev, struct rtc_time *tm) remote_set_time() argument
264 x.tm = tm; remote_set_time()
268 return alpha_rtc_set_time(NULL, tm); remote_set_time()
/linux-4.4.14/drivers/xen/
H A Defi.c41 static efi_status_t xen_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc) xen_efi_get_time() argument
48 if (tm) { xen_efi_get_time()
49 BUILD_BUG_ON(sizeof(*tm) != sizeof(efi_data(op).u.get_time.time)); xen_efi_get_time()
50 memcpy(tm, &efi_data(op).u.get_time.time, sizeof(*tm)); xen_efi_get_time()
63 static efi_status_t xen_efi_set_time(efi_time_t *tm) xen_efi_set_time() argument
67 BUILD_BUG_ON(sizeof(*tm) != sizeof(efi_data(op).u.set_time)); xen_efi_set_time()
68 memcpy(&efi_data(op).u.set_time, tm, sizeof(*tm)); xen_efi_set_time()
78 efi_time_t *tm) xen_efi_get_wakeup_time()
85 if (tm) { xen_efi_get_wakeup_time()
86 BUILD_BUG_ON(sizeof(*tm) != sizeof(efi_data(op).u.get_wakeup_time)); xen_efi_get_wakeup_time()
87 memcpy(tm, &efi_data(op).u.get_wakeup_time, sizeof(*tm)); xen_efi_get_wakeup_time()
99 static efi_status_t xen_efi_set_wakeup_time(efi_bool_t enabled, efi_time_t *tm) xen_efi_set_wakeup_time() argument
103 BUILD_BUG_ON(sizeof(*tm) != sizeof(efi_data(op).u.set_wakeup_time)); xen_efi_set_wakeup_time()
106 if (tm) xen_efi_set_wakeup_time()
107 memcpy(&efi_data(op).u.set_wakeup_time, tm, sizeof(*tm)); xen_efi_set_wakeup_time()
76 xen_efi_get_wakeup_time(efi_bool_t *enabled, efi_bool_t *pending, efi_time_t *tm) xen_efi_get_wakeup_time() argument
/linux-4.4.14/arch/powerpc/platforms/8xx/
H A Dmpc8xx.h16 extern int mpc8xx_set_rtc_time(struct rtc_time *tm);
17 extern void mpc8xx_get_rtc_time(struct rtc_time *tm);
H A Dm8xx_setup.c167 int mpc8xx_set_rtc_time(struct rtc_time *tm) mpc8xx_set_rtc_time() argument
175 time = mktime(tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, mpc8xx_set_rtc_time()
176 tm->tm_hour, tm->tm_min, tm->tm_sec); mpc8xx_set_rtc_time()
187 void mpc8xx_get_rtc_time(struct rtc_time *tm) mpc8xx_get_rtc_time() argument
194 to_tm(data, tm); mpc8xx_get_rtc_time()
195 tm->tm_year -= 1900; mpc8xx_get_rtc_time()
196 tm->tm_mon -= 1; mpc8xx_get_rtc_time()
/linux-4.4.14/arch/x86/platform/intel-mid/
H A Dintel_mid_vrtc.c92 struct rtc_time tm; vrtc_set_mmss() local
96 rtc_time_to_tm(now->tv_sec, &tm); vrtc_set_mmss()
97 if (!rtc_valid_tm(&tm) && tm.tm_year >= 72) { vrtc_set_mmss()
99 * tm.year is the number of years since 1900, and the vrtc_set_mmss()
102 year = tm.tm_year - 72; vrtc_set_mmss()
105 vrtc_cmos_write(tm.tm_mon, RTC_MONTH); vrtc_set_mmss()
106 vrtc_cmos_write(tm.tm_mday, RTC_DAY_OF_MONTH); vrtc_set_mmss()
107 vrtc_cmos_write(tm.tm_hour, RTC_HOURS); vrtc_set_mmss()
108 vrtc_cmos_write(tm.tm_min, RTC_MINUTES); vrtc_set_mmss()
109 vrtc_cmos_write(tm.tm_sec, RTC_SECONDS); vrtc_set_mmss()
/linux-4.4.14/sound/core/seq/
H A Dseq_timer.h98 static inline void snd_seq_sanity_real_time(snd_seq_real_time_t *tm) snd_seq_sanity_real_time() argument
100 while (tm->tv_nsec >= 1000000000) { snd_seq_sanity_real_time()
102 tm->tv_nsec -= 1000000000; snd_seq_sanity_real_time()
103 tm->tv_sec++; snd_seq_sanity_real_time()
109 static inline void snd_seq_inc_real_time(snd_seq_real_time_t *tm, snd_seq_real_time_t *inc) snd_seq_inc_real_time() argument
111 tm->tv_sec += inc->tv_sec; snd_seq_inc_real_time()
112 tm->tv_nsec += inc->tv_nsec; snd_seq_inc_real_time()
113 snd_seq_sanity_real_time(tm); snd_seq_inc_real_time()
116 static inline void snd_seq_inc_time_nsec(snd_seq_real_time_t *tm, unsigned long nsec) snd_seq_inc_time_nsec() argument
118 tm->tv_nsec += nsec; snd_seq_inc_time_nsec()
119 snd_seq_sanity_real_time(tm); snd_seq_inc_time_nsec()
H A Dseq_timer.c447 struct timeval tm; snd_seq_timer_get_cur_time() local
449 do_gettimeofday(&tm); snd_seq_timer_get_cur_time()
450 usec = (int)(tm.tv_usec - tmr->last_update.tv_usec); snd_seq_timer_get_cur_time()
453 cur_time.tv_sec += tm.tv_sec - tmr->last_update.tv_sec - 1; snd_seq_timer_get_cur_time()
456 cur_time.tv_sec += tm.tv_sec - tmr->last_update.tv_sec; snd_seq_timer_get_cur_time()
/linux-4.4.14/drivers/media/platform/vivid/
H A Dvivid-rds-gen.c58 struct tm tm; vivid_rds_generate() local
103 time_to_tm(get_seconds(), 0, &tm); vivid_rds_generate() local
104 l = tm.tm_mon <= 1; vivid_rds_generate()
105 date = 14956 + tm.tm_mday + ((tm.tm_year - l) * 1461) / 4 + vivid_rds_generate()
106 ((tm.tm_mon + 2 + l * 12) * 306001) / 10000; vivid_rds_generate()
107 time = (tm.tm_hour << 12) | vivid_rds_generate()
108 (tm.tm_min << 6) | vivid_rds_generate()
H A Dvivid-vbi-gen.c190 struct tm tm; vivid_vbi_gen_set_time_of_day() local
193 time_to_tm(get_seconds(), 0, &tm); vivid_vbi_gen_set_time_of_day() local
196 packet[2] = calc_parity(0x40 | tm.tm_min); vivid_vbi_gen_set_time_of_day()
197 packet[3] = calc_parity(0x40 | tm.tm_hour); vivid_vbi_gen_set_time_of_day()
198 packet[4] = calc_parity(0x40 | tm.tm_mday); vivid_vbi_gen_set_time_of_day()
199 if (tm.tm_mday == 1 && tm.tm_mon == 2 && vivid_vbi_gen_set_time_of_day()
200 sys_tz.tz_minuteswest > tm.tm_min + tm.tm_hour * 60) vivid_vbi_gen_set_time_of_day()
201 packet[4] = calc_parity(0x60 | tm.tm_mday); vivid_vbi_gen_set_time_of_day()
202 packet[5] = calc_parity(0x40 | (1 + tm.tm_mon)); vivid_vbi_gen_set_time_of_day()
203 packet[6] = calc_parity(0x40 | (1 + tm.tm_wday)); vivid_vbi_gen_set_time_of_day()
204 packet[7] = calc_parity(0x40 | ((tm.tm_year - 90) & 0x3f)); vivid_vbi_gen_set_time_of_day()
/linux-4.4.14/fs/fat/
H A Dmisc.c230 struct tm tm; fat_time_unix2fat() local
233 -sys_tz.tz_minuteswest) * SECS_PER_MIN, &tm); fat_time_unix2fat()
236 if (tm.tm_year < 1980 - 1900) { fat_time_unix2fat()
243 if (tm.tm_year > 2107 - 1900) { fat_time_unix2fat()
252 tm.tm_year -= 80; fat_time_unix2fat()
254 tm.tm_mon++; fat_time_unix2fat()
256 tm.tm_sec >>= 1; fat_time_unix2fat()
258 *time = cpu_to_le16(tm.tm_hour << 11 | tm.tm_min << 5 | tm.tm_sec); fat_time_unix2fat()
259 *date = cpu_to_le16(tm.tm_year << 9 | tm.tm_mon << 5 | tm.tm_mday); fat_time_unix2fat()
/linux-4.4.14/arch/mn10300/kernel/
H A Drtc.c28 struct rtc_time tm; read_persistent_clock() local
30 get_rtc_time(&tm); read_persistent_clock()
33 ts->tv_sec = mktime(tm.tm_year, tm.tm_mon, tm.tm_mday, read_persistent_clock()
34 tm.tm_hour, tm.tm_min, tm.tm_sec); read_persistent_clock()
/linux-4.4.14/arch/x86/kernel/cpu/
H A Dpowerflags.c14 "tm", /* hardware thermal control */
/linux-4.4.14/arch/sh/kernel/
H A Dtime.c53 unsigned int get_rtc_time(struct rtc_time *tm) get_rtc_time() argument
59 rtc_time_to_tm(tv.tv_sec, tm); get_rtc_time()
66 int set_rtc_time(struct rtc_time *tm) set_rtc_time() argument
70 rtc_tm_to_time(tm, &secs); set_rtc_time()
/linux-4.4.14/drivers/video/fbdev/core/
H A Dsvgalib.c443 int svga_check_timings(const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, int node) svga_check_timings() argument
454 if (((value / 8) - 5) >= svga_regset_size (tm->h_total_regs)) svga_check_timings()
459 if (((value / 8) - 1) >= svga_regset_size (tm->h_display_regs)) svga_check_timings()
461 if (((value / 8) - 1) >= svga_regset_size (tm->h_blank_start_regs)) svga_check_timings()
466 if (((value / 8) - 1) >= svga_regset_size (tm->h_sync_start_regs)) svga_check_timings()
471 if ((value == 0) || ((value / 8) >= svga_regset_size (tm->h_blank_end_regs))) svga_check_timings()
476 if ((value == 0) || ((value / 8) >= svga_regset_size (tm->h_sync_end_regs))) svga_check_timings()
481 if ((value - 1) >= svga_regset_size(tm->v_total_regs)) svga_check_timings()
486 if ((value - 1) >= svga_regset_size(tm->v_display_regs)) svga_check_timings()
488 if ((value - 1) >= svga_regset_size(tm->v_blank_start_regs)) svga_check_timings()
493 if ((value - 1) >= svga_regset_size(tm->v_sync_start_regs)) svga_check_timings()
498 if ((value == 0) || (value >= svga_regset_size (tm->v_blank_end_regs))) svga_check_timings()
503 if ((value == 0) || (value >= svga_regset_size (tm->v_sync_end_regs))) svga_check_timings()
510 void svga_set_timings(void __iomem *regbase, const struct svga_timing_regs *tm, svga_set_timings() argument
520 svga_wcrt_multi(regbase, tm->h_total_regs, (value / 8) - 5); svga_set_timings()
525 svga_wcrt_multi(regbase, tm->h_display_regs, (value / 8) - 1); svga_set_timings()
530 svga_wcrt_multi(regbase, tm->h_blank_start_regs, (value / 8) - 1 + hborder); svga_set_timings()
535 svga_wcrt_multi(regbase, tm->h_blank_end_regs, (value / 8) - 1 - hborder); svga_set_timings()
540 svga_wcrt_multi(regbase, tm->h_sync_start_regs, (value / 8)); svga_set_timings()
545 svga_wcrt_multi(regbase, tm->h_sync_end_regs, (value / 8)); svga_set_timings()
550 svga_wcrt_multi(regbase, tm->v_total_regs, value - 2); svga_set_timings()
555 svga_wcrt_multi(regbase, tm->v_display_regs, value - 1); svga_set_timings()
560 svga_wcrt_multi(regbase, tm->v_blank_start_regs, value); svga_set_timings()
565 svga_wcrt_multi(regbase, tm->v_blank_end_regs, value - 2); svga_set_timings()
570 svga_wcrt_multi(regbase, tm->v_sync_start_regs, value); svga_set_timings()
575 svga_wcrt_multi(regbase, tm->v_sync_end_regs, value); svga_set_timings()
/linux-4.4.14/include/linux/
H A Drtc.h21 extern int rtc_valid_tm(struct rtc_time *tm);
22 extern time64_t rtc_tm_to_time64(struct rtc_time *tm);
23 extern void rtc_time64_to_tm(time64_t time, struct rtc_time *tm);
24 ktime_t rtc_tm_to_ktime(struct rtc_time tm);
38 static inline void rtc_time_to_tm(unsigned long time, struct rtc_time *tm) rtc_time_to_tm() argument
40 rtc_time64_to_tm(time, tm); rtc_time_to_tm()
46 static inline int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time) rtc_tm_to_time() argument
48 *time = rtc_tm_to_time64(tm); rtc_tm_to_time()
169 extern int rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm);
170 extern int rtc_set_time(struct rtc_device *rtc, struct rtc_time *tm);
H A Dsvga.h118 int svga_check_timings(const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, int node);
119 void svga_set_timings(void __iomem *regbase, const struct svga_timing_regs *tm, struct fb_var_screeninfo *var, u32 hmul, u32 hdiv, u32 vmul, u32 vdiv, u32 hborder, int node);
/linux-4.4.14/drivers/char/
H A Dgenrtc.c392 struct rtc_time tm; gen_rtc_proc_show() local
396 flags = get_rtc_time(&tm); gen_rtc_proc_show()
402 tm.tm_hour, tm.tm_min, tm.tm_sec, gen_rtc_proc_show()
403 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, 1900); gen_rtc_proc_show()
405 tm.tm_hour = tm.tm_min = tm.tm_sec = 0; gen_rtc_proc_show()
408 if (tm.tm_hour <= 24) gen_rtc_proc_show()
409 seq_printf(m, "%02d:", tm.tm_hour); gen_rtc_proc_show()
413 if (tm.tm_min <= 59) gen_rtc_proc_show()
414 seq_printf(m, "%02d:", tm.tm_min); gen_rtc_proc_show()
418 if (tm.tm_sec <= 59) gen_rtc_proc_show()
419 seq_printf(m, "%02d\n", tm.tm_sec); gen_rtc_proc_show()
H A Dds1302.c265 struct rtc_time tm; get_rtc_status() local
269 get_rtc_time(&tm); get_rtc_status()
279 tm.tm_hour, tm.tm_min, tm.tm_sec, get_rtc_status()
280 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); get_rtc_status()
H A Drtc.c1216 struct rtc_time tm; rtc_proc_show() local
1227 rtc_get_rtc_time(&tm); rtc_proc_show()
1237 tm.tm_hour, tm.tm_min, tm.tm_sec, rtc_proc_show()
1238 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, epoch); rtc_proc_show()
1240 get_rtc_alm_time(&tm); rtc_proc_show()
1248 if (tm.tm_hour <= 24) rtc_proc_show()
1249 seq_printf(seq, "%02d:", tm.tm_hour); rtc_proc_show()
1253 if (tm.tm_min <= 59) rtc_proc_show()
1254 seq_printf(seq, "%02d:", tm.tm_min); rtc_proc_show()
1258 if (tm.tm_sec <= 59) rtc_proc_show()
1259 seq_printf(seq, "%02d\n", tm.tm_sec); rtc_proc_show()
/linux-4.4.14/arch/arm/vfp/
H A Dvfpdouble.c211 int tn, tm = 0; vfp_propagate_nan() local
216 tm = vfp_double_type(vdm); vfp_propagate_nan()
229 if (tn == VFP_SNAN || (tm != VFP_SNAN && tn == VFP_QNAN)) vfp_propagate_nan()
244 return tn == VFP_SNAN || tm == VFP_SNAN ? FPSCR_IOC : VFP_NAN_FLAG; vfp_propagate_nan()
271 int ret, tm; vfp_double_fsqrt() local
274 tm = vfp_double_type(&vdm); vfp_double_fsqrt()
275 if (tm & (VFP_NAN|VFP_INFINITY)) { vfp_double_fsqrt()
278 if (tm & VFP_NAN) vfp_double_fsqrt()
296 if (tm & VFP_ZERO) vfp_double_fsqrt()
302 if (tm & VFP_DENORMAL) vfp_double_fsqrt()
443 int tm; vfp_double_fcvts() local
448 tm = vfp_double_type(&vdm); vfp_double_fcvts()
453 if (tm == VFP_SNAN) vfp_double_fcvts()
456 if (tm & VFP_DENORMAL) vfp_double_fcvts()
465 if (tm & (VFP_INFINITY|VFP_NAN)) { vfp_double_fcvts()
467 if (tm == VFP_QNAN) vfp_double_fcvts()
470 } else if (tm & VFP_ZERO) vfp_double_fcvts()
511 int tm; vfp_double_ftoui() local
518 tm = vfp_double_type(&vdm); vfp_double_ftoui()
519 if (tm & VFP_DENORMAL) vfp_double_ftoui()
522 if (tm & VFP_NAN) vfp_double_ftoui()
590 int tm; vfp_double_ftosi() local
598 tm = vfp_double_type(&vdm); vfp_double_ftosi()
599 if (tm & VFP_DENORMAL) vfp_double_ftosi()
602 if (tm & VFP_NAN) { vfp_double_ftosi()
688 int tn, tm; vfp_double_fadd_nonnumber() local
691 tm = vfp_double_type(vdm); vfp_double_fadd_nonnumber()
693 if (tn & tm & VFP_INFINITY) { vfp_double_fadd_nonnumber()
709 } else if (tn & VFP_INFINITY && tm & VFP_NUMBER) { vfp_double_fadd_nonnumber()
1011 int tm, tn; vfp_double_fdiv() local
1019 tm = vfp_double_type(&vdm); vfp_double_fdiv()
1030 if (tm & VFP_NAN) vfp_double_fdiv()
1037 if (tm & tn & (VFP_INFINITY|VFP_ZERO)) vfp_double_fdiv()
1049 if (tm & VFP_ZERO) vfp_double_fdiv()
1055 if (tm & VFP_INFINITY || tn & VFP_ZERO) vfp_double_fdiv()
1060 if (tm & VFP_DENORMAL) vfp_double_fdiv()
H A Dvfpsingle.c219 int tn, tm = 0; vfp_propagate_nan() local
224 tm = vfp_single_type(vsm); vfp_propagate_nan()
237 if (tn == VFP_SNAN || (tm != VFP_SNAN && tn == VFP_QNAN)) vfp_propagate_nan()
252 return tn == VFP_SNAN || tm == VFP_SNAN ? FPSCR_IOC : VFP_NAN_FLAG; vfp_propagate_nan()
319 int ret, tm; vfp_single_fsqrt() local
322 tm = vfp_single_type(&vsm); vfp_single_fsqrt()
323 if (tm & (VFP_NAN|VFP_INFINITY)) { vfp_single_fsqrt()
326 if (tm & VFP_NAN) vfp_single_fsqrt()
344 if (tm & VFP_ZERO) vfp_single_fsqrt()
350 if (tm & VFP_DENORMAL) vfp_single_fsqrt()
486 int tm; vfp_single_fcvtd() local
491 tm = vfp_single_type(&vsm); vfp_single_fcvtd()
496 if (tm == VFP_SNAN) vfp_single_fcvtd()
499 if (tm & VFP_DENORMAL) vfp_single_fcvtd()
508 if (tm & (VFP_INFINITY|VFP_NAN)) { vfp_single_fcvtd()
510 if (tm == VFP_QNAN) vfp_single_fcvtd()
513 } else if (tm & VFP_ZERO) vfp_single_fcvtd()
552 int tm; vfp_single_ftoui() local
560 tm = vfp_single_type(&vsm); vfp_single_ftoui()
561 if (tm & VFP_DENORMAL) vfp_single_ftoui()
564 if (tm & VFP_NAN) vfp_single_ftoui()
632 int tm; vfp_single_ftosi() local
640 tm = vfp_single_type(&vsm); vfp_single_ftosi()
644 if (tm & VFP_NAN) { vfp_single_ftosi()
734 int tn, tm; vfp_single_fadd_nonnumber() local
737 tm = vfp_single_type(vsm); vfp_single_fadd_nonnumber()
739 if (tn & tm & VFP_INFINITY) { vfp_single_fadd_nonnumber()
755 } else if (tn & VFP_INFINITY && tm & VFP_NUMBER) { vfp_single_fadd_nonnumber()
1057 int tm, tn; vfp_single_fdiv() local
1067 tm = vfp_single_type(&vsm); vfp_single_fdiv()
1078 if (tm & VFP_NAN) vfp_single_fdiv()
1085 if (tm & tn & (VFP_INFINITY|VFP_ZERO)) vfp_single_fdiv()
1097 if (tm & VFP_ZERO) vfp_single_fdiv()
1103 if (tm & VFP_INFINITY || tn & VFP_ZERO) vfp_single_fdiv()
1108 if (tm & VFP_DENORMAL) vfp_single_fdiv()
/linux-4.4.14/arch/s390/include/asm/
H A Dscsw.h135 * @tm: transport-mode SCSW
140 struct tm_scsw tm; member in union:scsw
222 return css_general_characteristics.fcx && (scsw->tm.x == 1); scsw_is_tm()
235 return scsw->tm.key; scsw_key()
250 return scsw->tm.eswf; scsw_eswf()
265 return scsw->tm.cc; scsw_cc()
280 return scsw->tm.ectl; scsw_ectl()
295 return scsw->tm.pno; scsw_pno()
310 return scsw->tm.fctl; scsw_fctl()
325 return scsw->tm.actl; scsw_actl()
340 return scsw->tm.stctl; scsw_stctl()
355 return scsw->tm.dstat; scsw_dstat()
370 return scsw->tm.cstat; scsw_cstat()
601 return (scsw->tm.fctl & SCSW_FCTL_START_FUNC); scsw_tm_is_valid_key()
613 return (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND); scsw_tm_is_valid_eswf()
625 return (scsw->tm.fctl & SCSW_FCTL_START_FUNC) && scsw_tm_is_valid_cc()
626 (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND); scsw_tm_is_valid_cc()
674 return (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND) && scsw_tm_is_valid_ectl()
675 !(scsw->tm.stctl & SCSW_STCTL_INTER_STATUS) && scsw_tm_is_valid_ectl()
676 (scsw->tm.stctl & SCSW_STCTL_ALERT_STATUS); scsw_tm_is_valid_ectl()
688 return (scsw->tm.fctl != 0) && scsw_tm_is_valid_pno()
689 (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND) && scsw_tm_is_valid_pno()
690 (!(scsw->tm.stctl & SCSW_STCTL_INTER_STATUS) || scsw_tm_is_valid_pno()
691 ((scsw->tm.stctl & SCSW_STCTL_INTER_STATUS) && scsw_tm_is_valid_pno()
692 (scsw->tm.actl & SCSW_ACTL_SUSPENDED))); scsw_tm_is_valid_pno()
743 return (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND) && scsw_tm_is_valid_dstat()
744 (scsw->tm.cc != 3); scsw_tm_is_valid_dstat()
756 return (scsw->tm.stctl & SCSW_STCTL_STATUS_PEND) && scsw_tm_is_valid_cstat()
757 (scsw->tm.cc != 3); scsw_tm_is_valid_cstat()
781 return (scsw->tm.cstat & (SCHN_STAT_PROG_CHECK | scsw_tm_is_valid_schxs()
969 return (scsw->tm.cc != 0) || (scsw->tm.stctl != scsw_tm_is_solicited()
/linux-4.4.14/drivers/firmware/efi/
H A Druntime-wrappers.c98 static efi_status_t virt_efi_get_time(efi_time_t *tm, efi_time_cap_t *tc) virt_efi_get_time() argument
105 status = efi_call_virt(get_time, tm, tc); virt_efi_get_time()
111 static efi_status_t virt_efi_set_time(efi_time_t *tm) virt_efi_set_time() argument
118 status = efi_call_virt(set_time, tm); virt_efi_set_time()
126 efi_time_t *tm) virt_efi_get_wakeup_time()
133 status = efi_call_virt(get_wakeup_time, enabled, pending, tm); virt_efi_get_wakeup_time()
139 static efi_status_t virt_efi_set_wakeup_time(efi_bool_t enabled, efi_time_t *tm) virt_efi_set_wakeup_time() argument
146 status = efi_call_virt(set_wakeup_time, enabled, tm); virt_efi_set_wakeup_time()
124 virt_efi_get_wakeup_time(efi_bool_t *enabled, efi_bool_t *pending, efi_time_t *tm) virt_efi_get_wakeup_time() argument
/linux-4.4.14/drivers/firmware/
H A Draspberrypi.c175 struct tm tm; rpi_firmware_print_firmware_revision() local
177 time_to_tm(packet, 0, &tm); rpi_firmware_print_firmware_revision()
181 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, rpi_firmware_print_firmware_revision()
182 tm.tm_hour, tm.tm_min); rpi_firmware_print_firmware_revision()
/linux-4.4.14/drivers/md/
H A Ddm-thin-metadata.c149 struct dm_transaction_manager *tm; member in struct:dm_pool_metadata
335 dm_tm_inc(info->tm, root); subtree_inc()
406 pmd->info.tm = pmd->tm; __setup_btree_details()
415 pmd->nb_info.tm = pmd->nb_tm; __setup_btree_details()
417 pmd->tl_info.tm = pmd->tm; __setup_btree_details()
425 pmd->bl_info.tm = pmd->tm; __setup_btree_details()
433 pmd->details_info.tm = pmd->tm; __setup_btree_details()
492 r = dm_tm_pre_commit(pmd->tm); __write_initial_superblock()
517 return dm_tm_commit(pmd->tm, sblock); __write_initial_superblock()
525 &pmd->tm, &pmd->metadata_sm); __format_metadata()
531 pmd->data_sm = dm_sm_disk_create(pmd->tm, 0); __format_metadata()
538 pmd->nb_tm = dm_tm_create_non_blocking_clone(pmd->tm); __format_metadata()
540 DMERR("could not create non-blocking clone tm"); __format_metadata()
568 dm_tm_destroy(pmd->tm); __format_metadata()
633 &pmd->tm, &pmd->metadata_sm); __open_metadata()
639 pmd->data_sm = dm_sm_disk_open(pmd->tm, disk_super->data_space_map_root, __open_metadata()
647 pmd->nb_tm = dm_tm_create_non_blocking_clone(pmd->tm); __open_metadata()
649 DMERR("could not create non-blocking clone tm"); __open_metadata()
662 dm_tm_destroy(pmd->tm); __open_metadata()
708 dm_tm_destroy(pmd->tm); __destroy_persistent_data_objects()
794 r = dm_tm_pre_commit(pmd->tm); __commit_transaction()
823 return dm_tm_commit(pmd->tm, sblock); __commit_transaction()
1072 dm_tm_inc(pmd->tm, origin_root); __create_snap()
1080 dm_tm_dec(pmd->tm, origin_root); __create_snap()
1219 r = dm_tm_shadow_block(pmd->tm, THIN_SUPERBLOCK_LOCATION, __reserve_metadata_snap()
1232 dm_tm_dec(pmd->tm, held_root); __reserve_metadata_snap()
1233 dm_tm_unlock(pmd->tm, copy); __reserve_metadata_snap()
1248 dm_tm_inc(pmd->tm, le64_to_cpu(disk_super->data_mapping_root)); __reserve_metadata_snap()
1249 dm_tm_inc(pmd->tm, le64_to_cpu(disk_super->device_details_root)); __reserve_metadata_snap()
1250 dm_tm_unlock(pmd->tm, copy); __reserve_metadata_snap()
1257 dm_tm_dec(pmd->tm, held_root); __reserve_metadata_snap()
1301 r = dm_tm_read_lock(pmd->tm, held_root, &sb_validator, &copy); __release_metadata_snap()
1310 dm_tm_unlock(pmd->tm, copy); __release_metadata_snap()
1565 dm_tm_inc(pmd->tm, mapping_root); __remove_range()
1948 dm_tm_issue_prefetches(pmd->tm); dm_pool_issue_prefetches()
H A Ddm-era-target.c264 struct dm_transaction_manager *tm; member in struct:era_metadata
374 dm_tm_inc(md->tm, b); ws_inc()
399 md->writeset_tree_info.tm = md->tm; setup_writeset_tree_info()
418 dm_array_info_init(&md->era_array_info, md->tm, &vt); setup_era_array_info()
423 dm_disk_bitset_init(md->tm, &md->bitset_info); setup_infos()
435 &md->tm, &md->sm); create_fresh_metadata()
459 dm_tm_destroy(md->tm); create_fresh_metadata()
530 return dm_tm_commit(md->tm, sblock); write_superblock()
547 dm_tm_destroy(md->tm); format_metadata()
570 &md->tm, &md->sm); open_metadata()
635 dm_tm_destroy(md->tm); destroy_persistent_data_objects()
768 dm_disk_bitset_init(md->tm, &d->info); metadata_digest_start()
970 r = dm_tm_pre_commit(md->tm); metadata_commit()
984 return dm_tm_commit(md->tm, sblock); metadata_commit()
1027 r = dm_tm_shadow_block(md->tm, SUPERBLOCK_LOCATION, metadata_take_snap()
1039 dm_tm_unlock(md->tm, clone); metadata_take_snap()
1047 dm_tm_unlock(md->tm, clone); metadata_take_snap()
1053 dm_tm_unlock(md->tm, clone); metadata_take_snap()
1070 r = dm_tm_read_lock(md->tm, md->metadata_snap, &sb_validator, &clone); metadata_drop_snap()
1087 dm_tm_unlock(md->tm, clone); metadata_drop_snap()
1094 dm_tm_unlock(md->tm, clone); metadata_drop_snap()
1099 dm_tm_unlock(md->tm, clone); metadata_drop_snap()
H A Ddm-cache-metadata.c105 struct dm_transaction_manager *tm; member in struct:dm_cache_metadata
277 dm_array_info_init(&cmd->info, cmd->tm, &vt); __setup_mapping_info()
281 dm_array_info_init(&cmd->hint_info, cmd->tm, &vt); __setup_mapping_info()
317 r = dm_tm_pre_commit(cmd->tm); __write_initial_superblock()
358 return dm_tm_commit(cmd->tm, sblock); __write_initial_superblock()
366 &cmd->tm, &cmd->metadata_sm); __format_metadata()
378 dm_disk_bitset_init(cmd->tm, &cmd->discard_info); __format_metadata()
395 dm_tm_destroy(cmd->tm); __format_metadata()
460 &cmd->tm, &cmd->metadata_sm); __open_metadata()
467 dm_disk_bitset_init(cmd->tm, &cmd->discard_info); __open_metadata()
517 dm_tm_destroy(cmd->tm); __destroy_persistent_data_objects()
627 r = dm_tm_pre_commit(cmd->tm); __commit_transaction()
662 return dm_tm_commit(cmd->tm, sblock); __commit_transaction()
/linux-4.4.14/fs/btrfs/
H A Dctree.c393 struct tree_mod_elem *tm; btrfs_put_tree_mod_seq() local
427 tm = container_of(node, struct tree_mod_elem, node); btrfs_put_tree_mod_seq()
428 if (tm->seq > min_seq) btrfs_put_tree_mod_seq()
431 kfree(tm); btrfs_put_tree_mod_seq()
447 __tree_mod_log_insert(struct btrfs_fs_info *fs_info, struct tree_mod_elem *tm) __tree_mod_log_insert() argument
454 BUG_ON(!tm); __tree_mod_log_insert()
456 tm->seq = btrfs_inc_tree_mod_seq(fs_info); __tree_mod_log_insert()
463 if (cur->index < tm->index) __tree_mod_log_insert()
465 else if (cur->index > tm->index) __tree_mod_log_insert()
467 else if (cur->seq < tm->seq) __tree_mod_log_insert()
469 else if (cur->seq > tm->seq) __tree_mod_log_insert()
475 rb_link_node(&tm->node, parent, new); __tree_mod_log_insert()
476 rb_insert_color(&tm->node, tm_root); __tree_mod_log_insert()
520 struct tree_mod_elem *tm; alloc_tree_mod_elem() local
522 tm = kzalloc(sizeof(*tm), flags); alloc_tree_mod_elem()
523 if (!tm) alloc_tree_mod_elem()
526 tm->index = eb->start >> PAGE_CACHE_SHIFT; alloc_tree_mod_elem()
528 btrfs_node_key(eb, &tm->key, slot); alloc_tree_mod_elem()
529 tm->blockptr = btrfs_node_blockptr(eb, slot); alloc_tree_mod_elem()
531 tm->op = op; alloc_tree_mod_elem()
532 tm->slot = slot; alloc_tree_mod_elem()
533 tm->generation = btrfs_node_ptr_generation(eb, slot); alloc_tree_mod_elem()
534 RB_CLEAR_NODE(&tm->node); alloc_tree_mod_elem()
536 return tm; alloc_tree_mod_elem()
544 struct tree_mod_elem *tm; tree_mod_log_insert_key() local
550 tm = alloc_tree_mod_elem(eb, slot, op, flags); tree_mod_log_insert_key()
551 if (!tm) tree_mod_log_insert_key()
555 kfree(tm); tree_mod_log_insert_key()
559 ret = __tree_mod_log_insert(fs_info, tm); tree_mod_log_insert_key()
562 kfree(tm); tree_mod_log_insert_key()
572 struct tree_mod_elem *tm = NULL; tree_mod_log_insert_move() local
585 tm = kzalloc(sizeof(*tm), flags); tree_mod_log_insert_move()
586 if (!tm) { tree_mod_log_insert_move()
591 tm->index = eb->start >> PAGE_CACHE_SHIFT; tree_mod_log_insert_move()
592 tm->slot = src_slot; tree_mod_log_insert_move()
593 tm->move.dst_slot = dst_slot; tree_mod_log_insert_move()
594 tm->move.nr_items = nr_items; tree_mod_log_insert_move()
595 tm->op = MOD_LOG_MOVE_KEYS; tree_mod_log_insert_move()
621 ret = __tree_mod_log_insert(fs_info, tm); tree_mod_log_insert_move()
637 kfree(tm); tree_mod_log_insert_move()
669 struct tree_mod_elem *tm = NULL; tree_mod_log_insert_root() local
696 tm = kzalloc(sizeof(*tm), flags); tree_mod_log_insert_root()
697 if (!tm) { tree_mod_log_insert_root()
702 tm->index = new_root->start >> PAGE_CACHE_SHIFT; tree_mod_log_insert_root()
703 tm->old_root.logical = old_root->start; tree_mod_log_insert_root()
704 tm->old_root.level = btrfs_header_level(old_root); tree_mod_log_insert_root()
705 tm->generation = btrfs_header_generation(old_root); tree_mod_log_insert_root()
706 tm->op = MOD_LOG_ROOT_REPLACE; tree_mod_log_insert_root()
714 ret = __tree_mod_log_insert(fs_info, tm); tree_mod_log_insert_root()
729 kfree(tm); tree_mod_log_insert_root()
1224 struct tree_mod_elem *tm; __tree_mod_log_oldest_root() local
1238 tm = tree_mod_log_search_oldest(fs_info, root_logical, __tree_mod_log_oldest_root()
1240 if (!looped && !tm) __tree_mod_log_oldest_root()
1247 if (!tm) __tree_mod_log_oldest_root()
1255 if (tm->op != MOD_LOG_ROOT_REPLACE) __tree_mod_log_oldest_root()
1258 found = tm; __tree_mod_log_oldest_root()
1259 root_logical = tm->old_root.logical; __tree_mod_log_oldest_root()
1265 found = tm; __tree_mod_log_oldest_root()
1271 * tm is a pointer to the first operation to rewind within eb. then, all
1281 struct tree_mod_elem *tm = first_tm; __tree_mod_log_rewind() local
1288 while (tm && tm->seq >= time_seq) { __tree_mod_log_rewind()
1294 switch (tm->op) { __tree_mod_log_rewind()
1296 BUG_ON(tm->slot < n); __tree_mod_log_rewind()
1300 btrfs_set_node_key(eb, &tm->key, tm->slot); __tree_mod_log_rewind()
1301 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); __tree_mod_log_rewind()
1302 btrfs_set_node_ptr_generation(eb, tm->slot, __tree_mod_log_rewind()
1303 tm->generation); __tree_mod_log_rewind()
1307 BUG_ON(tm->slot >= n); __tree_mod_log_rewind()
1308 btrfs_set_node_key(eb, &tm->key, tm->slot); __tree_mod_log_rewind()
1309 btrfs_set_node_blockptr(eb, tm->slot, tm->blockptr); __tree_mod_log_rewind()
1310 btrfs_set_node_ptr_generation(eb, tm->slot, __tree_mod_log_rewind()
1311 tm->generation); __tree_mod_log_rewind()
1318 o_dst = btrfs_node_key_ptr_offset(tm->slot); __tree_mod_log_rewind()
1319 o_src = btrfs_node_key_ptr_offset(tm->move.dst_slot); __tree_mod_log_rewind()
1321 tm->move.nr_items * p_size); __tree_mod_log_rewind()
1335 next = rb_next(&tm->node); __tree_mod_log_rewind()
1338 tm = container_of(next, struct tree_mod_elem, node); __tree_mod_log_rewind()
1339 if (tm->index != first_tm->index) __tree_mod_log_rewind()
1358 struct tree_mod_elem *tm; tree_mod_log_rewind() local
1366 tm = tree_mod_log_search(fs_info, eb->start, time_seq); tree_mod_log_rewind()
1367 if (!tm) tree_mod_log_rewind()
1373 if (tm->op == MOD_LOG_KEY_REMOVE_WHILE_FREEING) { tree_mod_log_rewind()
1374 BUG_ON(tm->slot != 0); tree_mod_log_rewind()
1401 __tree_mod_log_rewind(fs_info, eb_rewin, time_seq, tm); tree_mod_log_rewind()
1418 struct tree_mod_elem *tm; get_old_root() local
1427 tm = __tree_mod_log_oldest_root(root->fs_info, eb_root, time_seq); get_old_root()
1428 if (!tm) get_old_root()
1431 if (tm->op == MOD_LOG_ROOT_REPLACE) { get_old_root()
1432 old_root = &tm->old_root; get_old_root()
1433 old_generation = tm->generation; get_old_root()
1439 tm = tree_mod_log_search(root->fs_info, logical, time_seq); get_old_root()
1440 if (old_root && tm && tm->op != MOD_LOG_KEY_REMOVE_WHILE_FREEING) { get_old_root()
1475 if (tm) get_old_root()
1476 __tree_mod_log_rewind(root->fs_info, eb, time_seq, tm); get_old_root()
1486 struct tree_mod_elem *tm; btrfs_old_root_level() local
1490 tm = __tree_mod_log_oldest_root(root->fs_info, eb_root, time_seq); btrfs_old_root_level()
1491 if (tm && tm->op == MOD_LOG_ROOT_REPLACE) { btrfs_old_root_level()
1492 level = tm->old_root.level; btrfs_old_root_level()
/linux-4.4.14/arch/x86/kernel/
H A Drtc.c44 struct rtc_time tm; mach_set_rtc_mmss() local
47 rtc_time_to_tm(nowtime, &tm); mach_set_rtc_mmss()
48 if (!rtc_valid_tm(&tm)) { mach_set_rtc_mmss()
49 retval = set_rtc_time(&tm); mach_set_rtc_mmss()
/linux-4.4.14/tools/testing/selftests/powerpc/
H A DMakefile24 tm \
/linux-4.4.14/drivers/input/misc/
H A Dhp_sdc_rtc.c134 struct rtc_time tm, tm_last; hp_sdc_rtc_read_bbrtc() local
140 if (hp_sdc_rtc_do_read_bbrtc(&tm)) return -1; hp_sdc_rtc_read_bbrtc()
142 while (memcmp(&tm, &tm_last, sizeof(struct rtc_time))) { hp_sdc_rtc_read_bbrtc()
144 memcpy(&tm_last, &tm, sizeof(struct rtc_time)); hp_sdc_rtc_read_bbrtc()
145 if (hp_sdc_rtc_do_read_bbrtc(&tm)) return -1; hp_sdc_rtc_read_bbrtc()
148 memcpy(rtctm, &tm, sizeof(struct rtc_time)); hp_sdc_rtc_read_bbrtc()
435 struct rtc_time tm; hp_sdc_rtc_proc_show() local
438 memset(&tm, 0, sizeof(struct rtc_time)); hp_sdc_rtc_proc_show()
440 if (hp_sdc_rtc_read_bbrtc(&tm)) { hp_sdc_rtc_proc_show()
447 tm.tm_hour, tm.tm_min, tm.tm_sec, hp_sdc_rtc_proc_show()
448 tm.tm_year + 1900, tm.tm_mon + 1, hp_sdc_rtc_proc_show()
449 tm.tm_mday, epoch); hp_sdc_rtc_proc_show()
/linux-4.4.14/include/net/
H A Dact_api.h76 static inline void tcf_lastuse_update(struct tcf_t *tm) tcf_lastuse_update() argument
80 if (tm->lastuse != now) tcf_lastuse_update()
81 tm->lastuse = now; tcf_lastuse_update()
H A Dtransp_v6.h61 "st tx_queue rx_queue tr tm->when retrnsmt" \
/linux-4.4.14/Documentation/connector/
H A Ducon.c120 time_t tm; main() local
238 time(&tm); main()
240 ctime(&tm), data->id.idx, data->id.val, data->seq, data->ack); main()
/linux-4.4.14/arch/x86/platform/efi/
H A Defi_64.c394 static efi_status_t efi_thunk_get_time(efi_time_t *tm, efi_time_cap_t *tc) efi_thunk_get_time() argument
401 phys_tm = virt_to_phys(tm); efi_thunk_get_time()
411 static efi_status_t efi_thunk_set_time(efi_time_t *tm) efi_thunk_set_time() argument
418 phys_tm = virt_to_phys(tm); efi_thunk_set_time()
429 efi_time_t *tm) efi_thunk_get_wakeup_time()
438 phys_tm = virt_to_phys(tm); efi_thunk_get_wakeup_time()
449 efi_thunk_set_wakeup_time(efi_bool_t enabled, efi_time_t *tm) efi_thunk_set_wakeup_time() argument
456 phys_tm = virt_to_phys(tm); efi_thunk_set_wakeup_time()
428 efi_thunk_get_wakeup_time(efi_bool_t *enabled, efi_bool_t *pending, efi_time_t *tm) efi_thunk_get_wakeup_time() argument
/linux-4.4.14/kernel/time/
H A Dtimeconv.c75 * @result pointer to struct tm variable to receive broken-down time
77 void time_to_tm(time_t totalsecs, int offset, struct tm *result) time_to_tm()
/linux-4.4.14/arch/ia64/kernel/
H A Defi.c63 prefix##_get_time (efi_time_t *tm, efi_time_cap_t *tc) \
73 adjust_arg(tm), atc); \
80 prefix##_set_time (efi_time_t *tm) \
87 adjust_arg(tm)); \
95 efi_time_t *tm) \
103 adjust_arg(enabled), adjust_arg(pending), adjust_arg(tm)); \
110 prefix##_set_wakeup_time (efi_bool_t enabled, efi_time_t *tm) \
116 if (tm) \
117 atm = adjust_arg(tm); \
241 efi_time_t tm; STUB_GET_TIME() local
243 if ((*efi.get_time)(&tm, NULL) != EFI_SUCCESS) { STUB_GET_TIME()
248 ts->tv_sec = mktime(tm.year, tm.month, tm.day, STUB_GET_TIME()
249 tm.hour, tm.minute, tm.second); STUB_GET_TIME()
250 ts->tv_nsec = tm.nanosecond; STUB_GET_TIME()
/linux-4.4.14/drivers/s390/cio/
H A Dorb.h87 struct tm_orb tm; member in union:orb
/linux-4.4.14/arch/m32r/include/asm/
H A Drtc.h43 * struct tm in <time.h>, but it needs to be here so that the kernel
/linux-4.4.14/tools/perf/
H A Dbuiltin-buildid-cache.c42 struct tm tm; build_id_cache__kcore_dir() local
45 if (gettimeofday(&tv, NULL) || !localtime_r(&tv.tv_sec, &tm)) build_id_cache__kcore_dir()
48 if (!strftime(dt, sizeof(dt), "%Y%m%d%H%M%S", &tm)) build_id_cache__kcore_dir()
/linux-4.4.14/arch/ia64/hp/sim/boot/
H A Dfw-emu.c42 /* Compute the `struct tm' representation of *T,
111 fw_efi_get_time (efi_time_t *tm, efi_time_cap_t *tc) fw_efi_get_time() argument
121 memset(tm, 0, sizeof(*tm)); fw_efi_get_time()
122 offtime(tv32bits.tv_sec, tm); fw_efi_get_time()
/linux-4.4.14/drivers/scsi/fnic/
H A Dfnic_trace.c731 struct tm tm; copy_and_format_trace_data() local
743 time_to_tm(tdata->time_stamp.tv_sec, 0, &tm); copy_and_format_trace_data()
749 tm.tm_mon + 1, tm.tm_mday, tm.tm_year + 1900, copy_and_format_trace_data()
750 tm.tm_hour, tm.tm_min, tm.tm_sec, copy_and_format_trace_data()
/linux-4.4.14/drivers/media/dvb-frontends/
H A Dstv0288.c461 char tm; stv0288_set_frontend() local
490 for (tm = -9; tm < 7;) { stv0288_set_frontend()
501 tm++; stv0288_set_frontend()
503 tm++; stv0288_set_frontend()
507 tda[1] = (unsigned char)tm; stv0288_set_frontend()
/linux-4.4.14/drivers/ata/
H A Dpata_mpc52xx.c86 u8 tm; member in struct:mdmaspec
91 { .t0M = 32, .td = 15, .th = 2, .tj = 2, .tkw = 15, .tm = 4, .tn = 1 },
92 { .t0M = 10, .td = 6, .th = 1, .tj = 1, .tkw = 4, .tm = 2, .tn = 1 },
93 { .t0M = 8, .td = 5, .th = 1, .tj = 1, .tkw = 2, .tm = 2, .tn = 1 },
97 { .t0M = 64, .td = 29, .th = 3, .tj = 3, .tkw = 29, .tm = 7, .tn = 2 },
98 { .t0M = 20, .td = 11, .th = 2, .tj = 1, .tkw = 7, .tm = 4, .tn = 1 },
99 { .t0M = 16, .td = 10, .th = 2, .tj = 1, .tkw = 4, .tm = 4, .tn = 1 },
302 t->mdma1 = ((u32)s->t0M << 24) | ((u32)s->td << 16) | ((u32)s->tkw << 8) | s->tm; mpc52xx_ata_compute_mdma_timings()
/linux-4.4.14/arch/powerpc/include/asm/
H A Dtime.h29 extern void to_tm(int tim, struct rtc_time * tm);
30 extern void GregorianDay(struct rtc_time *tm);
/linux-4.4.14/sound/oss/
H A Dkahlua.c6 * XpressAudio(tm) is used on the Cyrix MediaGX (now NatSemi Geode) systems.
13 * on the XpressAudio(tm) internals.
/linux-4.4.14/include/linux/amba/
H A Dkmi.h24 * From ARM PrimeCell(tm) PS2 Keyboard/Mouse Interface (PL050) Technical
/linux-4.4.14/arch/sh/lib64/
H A Dmemset.S6 ! by Toshiyasu Morita (tm@netcom.com)
/linux-4.4.14/arch/parisc/math-emu/
H A Dfpudispatch.c1121 u_int rm1, rm2, tm, ra, ta; /* operands */ decode_06() local
1143 tm = extru(ir, fptmpos, 5) * sizeof(double)/sizeof(u_int); decode_06()
1144 if (tm == 0) decode_06()
1192 fpregs[tm] = mtmp.ints.i1; decode_06()
1193 fpregs[tm+1] = mtmp.ints.i2; decode_06()
1211 tm = (extru(ir,fptmpos,4) | 0x10 ) << 1; /* get offset */ decode_06()
1212 tm |= extru(ir,fptmpos-4,1); /* add right word offset */ decode_06()
1245 fpregs[tm] = mtmp.ints.i1; decode_06()
1261 u_int rm1, rm2, tm, ra, ta; /* operands */ decode_26() local
1281 tm = extru(ir, fptmpos, 5) * sizeof(double)/sizeof(u_int); decode_26()
1282 if (tm == 0) decode_26()
1299 fpregs[tm] = mtmp.ints.i1; decode_26()
1300 fpregs[tm+1] = mtmp.ints.i2; decode_26()
1318 tm = (extru(ir,fptmpos,4) | 0x10 ) << 1; /* get offset */ decode_26()
1319 tm |= extru(ir,fptmpos-4,1); /* add right word offset */ decode_26()
1335 fpregs[tm] = mtmp.ints.i1; decode_26()
/linux-4.4.14/drivers/w1/slaves/
H A Dw1_therm.c255 unsigned int tm = 750; w1_slave_show() local
267 w1_next_pullup(dev, tm); w1_slave_show()
274 sleep_rem = msleep_interruptible(tm); w1_slave_show()
284 sleep_rem = msleep_interruptible(tm); w1_slave_show()

Completed in 4616 milliseconds

12