Blame view

include/linux/io.h 2.13 KB
c27a0d75b   Bryan O'Sullivan   [PATCH] Introduce...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  /*
   * Copyright 2006 PathScale, Inc.  All Rights Reserved.
   *
   * This file is free software; you can redistribute it and/or modify
   * it under the terms of version 2 of the GNU General Public License
   * as published by the Free Software Foundation.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
   * along with this program; if not, write to the Free Software Foundation,
   * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
   */
  
  #ifndef _LINUX_IO_H
  #define _LINUX_IO_H
cb1055fb1   Al Viro   [PATCH] linux/io....
20
  #include <linux/types.h>
c27a0d75b   Bryan O'Sullivan   [PATCH] Introduce...
21
  #include <asm/io.h>
74588d8ba   Haavard Skinnemoen   [PATCH] Generic i...
22
  #include <asm/page.h>
c27a0d75b   Bryan O'Sullivan   [PATCH] Introduce...
23

7f2537704   Andrew Morton   git-libata-all: f...
24
  struct device;
c27a0d75b   Bryan O'Sullivan   [PATCH] Introduce...
25
  void __iowrite32_copy(void __iomem *to, const void *from, size_t count);
22ae813b8   Brice Goglin   [PATCH] add __iow...
26
  void __iowrite64_copy(void __iomem *to, const void *from, size_t count);
c27a0d75b   Bryan O'Sullivan   [PATCH] Introduce...
27

218f0aaee   Paul Mundt   nommu: add iorema...
28
  #ifdef CONFIG_MMU
74588d8ba   Haavard Skinnemoen   [PATCH] Generic i...
29
  int ioremap_page_range(unsigned long addr, unsigned long end,
ffa71f33a   Kenji Kaneshige   x86, ioremap: Fix...
30
  		       phys_addr_t phys_addr, pgprot_t prot);
218f0aaee   Paul Mundt   nommu: add iorema...
31
32
  #else
  static inline int ioremap_page_range(unsigned long addr, unsigned long end,
ffa71f33a   Kenji Kaneshige   x86, ioremap: Fix...
33
  				     phys_addr_t phys_addr, pgprot_t prot)
218f0aaee   Paul Mundt   nommu: add iorema...
34
35
36
37
  {
  	return 0;
  }
  #endif
74588d8ba   Haavard Skinnemoen   [PATCH] Generic i...
38

9ac7849e3   Tejun Heo   devres: device re...
39
40
41
  /*
   * Managed iomap interface
   */
93da28790   Russell King   Provide dummy dev...
42
  #ifdef CONFIG_HAS_IOPORT
9ac7849e3   Tejun Heo   devres: device re...
43
44
45
  void __iomem * devm_ioport_map(struct device *dev, unsigned long port,
  			       unsigned int nr);
  void devm_ioport_unmap(struct device *dev, void __iomem *addr);
93da28790   Russell King   Provide dummy dev...
46
47
48
49
50
51
52
53
54
55
56
57
  #else
  static inline void __iomem *devm_ioport_map(struct device *dev,
  					     unsigned long port,
  					     unsigned int nr)
  {
  	return NULL;
  }
  
  static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr)
  {
  }
  #endif
9ac7849e3   Tejun Heo   devres: device re...
58

4f452e8aa   Kumar Gala   devres: support a...
59
  void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
9ac7849e3   Tejun Heo   devres: device re...
60
  			    unsigned long size);
4f452e8aa   Kumar Gala   devres: support a...
61
  void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
9ac7849e3   Tejun Heo   devres: device re...
62
63
  				    unsigned long size);
  void devm_iounmap(struct device *dev, void __iomem *addr);
cc2ea416b   Andrew Morton   uninline check_si...
64
65
  int check_signature(const volatile void __iomem *io_addr,
  			const unsigned char *signature, int length);
b41e5fffe   Emil Medve   [POWERPC] devres:...
66
  void devm_ioremap_release(struct device *dev, void *res);
e50190a83   Matthew Wilcox   [PATCH] Consolida...
67

c27a0d75b   Bryan O'Sullivan   [PATCH] Introduce...
68
  #endif /* _LINUX_IO_H */