linux/arch/sh/kernel/ioport.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * arch/sh/kernel/ioport.c
   4 *
   5 * Copyright (C) 2000  Niibe Yutaka
   6 * Copyright (C) 2005 - 2007 Paul Mundt
   7 */
   8#include <linux/module.h>
   9#include <linux/io.h>
  10#include <asm/io_trapped.h>
  11
  12unsigned long sh_io_port_base __read_mostly = -1;
  13EXPORT_SYMBOL(sh_io_port_base);
  14
  15void __iomem *__ioport_map(unsigned long addr, unsigned int size)
  16{
  17        if (sh_mv.mv_ioport_map)
  18                return sh_mv.mv_ioport_map(addr, size);
  19
  20        return (void __iomem *)(addr + sh_io_port_base);
  21}
  22EXPORT_SYMBOL(__ioport_map);
  23
  24void __iomem *ioport_map(unsigned long port, unsigned int nr)
  25{
  26        void __iomem *ret;
  27
  28        ret = __ioport_map_trapped(port, nr);
  29        if (ret)
  30                return ret;
  31
  32        return __ioport_map(port, nr);
  33}
  34EXPORT_SYMBOL(ioport_map);
  35
  36void ioport_unmap(void __iomem *addr)
  37{
  38        if (sh_mv.mv_ioport_unmap)
  39                sh_mv.mv_ioport_unmap(addr);
  40}
  41EXPORT_SYMBOL(ioport_unmap);
  42