io.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * OpenRISC Linux
  3. *
  4. * Linux architectural port borrowing liberally from similar works of
  5. * others. All original copyrights apply as per the original source
  6. * declaration.
  7. *
  8. * OpenRISC implementation:
  9. * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
  10. * et al.
  11. *
  12. * This program is free software; you can redistribute it and/or modify
  13. * it under the terms of the GNU General Public License as published by
  14. * the Free Software Foundation; either version 2 of the License, or
  15. * (at your option) any later version.
  16. */
  17. #ifndef __ASM_OPENRISC_IO_H
  18. #define __ASM_OPENRISC_IO_H
  19. /*
  20. * PCI: can we really do 0 here if we have no port IO?
  21. */
  22. #define IO_SPACE_LIMIT 0
  23. /* OpenRISC has no port IO */
  24. #define HAVE_ARCH_PIO_SIZE 1
  25. #define PIO_RESERVED 0X0UL
  26. #define PIO_OFFSET 0
  27. #define PIO_MASK 0
  28. #include <asm-generic/io.h>
  29. #include <asm/pgtable.h>
  30. extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
  31. pgprot_t prot);
  32. static inline void __iomem *ioremap(phys_addr_t offset, unsigned long size)
  33. {
  34. return __ioremap(offset, size, PAGE_KERNEL);
  35. }
  36. /* #define _PAGE_CI 0x002 */
  37. static inline void __iomem *ioremap_nocache(phys_addr_t offset,
  38. unsigned long size)
  39. {
  40. return __ioremap(offset, size,
  41. __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI));
  42. }
  43. extern void iounmap(void *addr);
  44. #endif