common.c 877 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include <linux/irq.h>
  2. #include <linux/irqnr.h>
  3. #include <linux/interrupt.h>
  4. #include "internal.h"
  5. long long nsec_high(unsigned long long nsec)
  6. {
  7. if ((long long)nsec < 0) {
  8. nsec = -nsec;
  9. do_div(nsec, 1000000);
  10. return -nsec;
  11. }
  12. do_div(nsec, 1000000);
  13. return nsec;
  14. }
  15. unsigned long nsec_low(unsigned long long nsec)
  16. {
  17. if ((long long)nsec < 0)
  18. nsec = -nsec;
  19. return do_div(nsec, 1000000);
  20. }
  21. long long usec_high(unsigned long long usec)
  22. {
  23. if ((long long)usec < 0) {
  24. usec = -usec;
  25. do_div(usec, 1000);
  26. return -usec;
  27. }
  28. do_div(usec, 1000);
  29. return usec;
  30. }
  31. unsigned long usec_low(unsigned long long usec)
  32. {
  33. if ((long long)usec < 0)
  34. usec = -usec;
  35. return do_div(usec, 1000);
  36. }
  37. const char *isr_name(int irq)
  38. {
  39. struct irq_desc *desc;
  40. desc = irq_to_desc(irq);
  41. if (desc && desc->action && desc->action->name)
  42. return desc->action->name;
  43. return NULL;
  44. }