bcd.c 338 B

1234567891011121314151617
  1. // SPDX-License-Identifier: GPL-2.0
  2. #include <linux/bcd.h>
  3. #include <linux/export.h>
  4. unsigned _bcd2bin(unsigned char val)
  5. {
  6. return (val & 0x0f) + (val >> 4) * 10;
  7. }
  8. EXPORT_SYMBOL(_bcd2bin);
  9. unsigned char _bin2bcd(unsigned val)
  10. {
  11. const unsigned int t = (val * 103) >> 10;
  12. return (t << 4) | (val - t * 10);
  13. }
  14. EXPORT_SYMBOL(_bin2bcd);