Blame view

include/linux/bcd.h 520 Bytes
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
  #ifndef _BCD_H
  #define _BCD_H
d3de851a4   David Brownell   rtc: BCD codeshrink
3
  #include <linux/compiler.h>
b53d657d8   Sebastian Andrzej Siewior   usb/core: use bin...
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  #define bcd2bin(x)					\
  		(__builtin_constant_p((u8 )(x)) ?	\
  		const_bcd2bin(x) :			\
  		_bcd2bin(x))
  
  #define bin2bcd(x)					\
  		(__builtin_constant_p((u8 )(x)) ?	\
  		const_bin2bcd(x) :			\
  		_bin2bcd(x))
  
  #define const_bcd2bin(x)	(((x) & 0x0f) + ((x) >> 4) * 10)
  #define const_bin2bcd(x)	((((x) / 10) << 4) + (x) % 10)
  
  unsigned _bcd2bin(unsigned char val) __attribute_const__;
  unsigned char _bin2bcd(unsigned val) __attribute_const__;
d3de851a4   David Brownell   rtc: BCD codeshrink
19

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20
  #endif /* _BCD_H */