irq.c 905 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * linux/arch/sh/boards/se/7751/irq.c
  3. *
  4. * Copyright (C) 2000 Kazumoto Kojima
  5. *
  6. * Hitachi SolutionEngine Support.
  7. *
  8. * Modified for 7751 Solution Engine by
  9. * Ian da Silva and Jeremy Siegel, 2001.
  10. */
  11. #include <linux/init.h>
  12. #include <linux/irq.h>
  13. #include <asm/irq.h>
  14. #include <mach-se/mach/se7751.h>
  15. static struct ipr_data ipr_irq_table[] = {
  16. { 13, 3, 3, 2 },
  17. /* Add additional entries here as drivers are added and tested. */
  18. };
  19. static unsigned long ipr_offsets[] = {
  20. BCR_ILCRA,
  21. BCR_ILCRB,
  22. BCR_ILCRC,
  23. BCR_ILCRD,
  24. BCR_ILCRE,
  25. BCR_ILCRF,
  26. BCR_ILCRG,
  27. };
  28. static struct ipr_desc ipr_irq_desc = {
  29. .ipr_offsets = ipr_offsets,
  30. .nr_offsets = ARRAY_SIZE(ipr_offsets),
  31. .ipr_data = ipr_irq_table,
  32. .nr_irqs = ARRAY_SIZE(ipr_irq_table),
  33. .chip = {
  34. .name = "IPR-se7751",
  35. },
  36. };
  37. /*
  38. * Initialize IRQ setting
  39. */
  40. void __init init_7751se_IRQ(void)
  41. {
  42. register_ipr_controller(&ipr_irq_desc);
  43. }