Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * Copyright 2006 PathScale, Inc.  All Rights Reserved.
  3  *
  4  * This file is free software; you can redistribute it and/or modify
  5  * it under the terms of version 2 of the GNU General Public License
  6  * as published by the Free Software Foundation.
  7  *
  8  * This program is distributed in the hope that it will be useful,
  9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 11  * GNU General Public License for more details.
 12  *
 13  * You should have received a copy of the GNU General Public License
 14  * along with this program; if not, write to the Free Software Foundation,
 15  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 16  */
 17 
 18 #ifndef _LINUX_IO_H
 19 #define _LINUX_IO_H
 20 
 21 #include <linux/types.h>
 22 #include <asm/io.h>
 23 #include <asm/page.h>
 24 
 25 struct device;
 26 
 27 void __iowrite32_copy(void __iomem *to, const void *from, size_t count);
 28 void __iowrite64_copy(void __iomem *to, const void *from, size_t count);
 29 
 30 #ifdef CONFIG_MMU
 31 int ioremap_page_range(unsigned long addr, unsigned long end,
 32                        unsigned long phys_addr, pgprot_t prot);
 33 #else
 34 static inline int ioremap_page_range(unsigned long addr, unsigned long end,
 35                                      unsigned long phys_addr, pgprot_t prot)
 36 {
 37         return 0;
 38 }
 39 #endif
 40 
 41 /*
 42  * Managed iomap interface
 43  */
 44 #ifdef CONFIG_HAS_IOPORT
 45 void __iomem * devm_ioport_map(struct device *dev, unsigned long port,
 46                                unsigned int nr);
 47 void devm_ioport_unmap(struct device *dev, void __iomem *addr);
 48 #else
 49 static inline void __iomem *devm_ioport_map(struct device *dev,
 50                                              unsigned long port,
 51                                              unsigned int nr)
 52 {
 53         return NULL;
 54 }
 55 
 56 static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr)
 57 {
 58 }
 59 #endif
 60 
 61 void __iomem *devm_ioremap(struct device *dev, resource_size_t offset,
 62                             unsigned long size);
 63 void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset,
 64                                     unsigned long size);
 65 void devm_iounmap(struct device *dev, void __iomem *addr);
 66 int check_signature(const volatile void __iomem *io_addr,
 67                         const unsigned char *signature, int length);
 68 void devm_ioremap_release(struct device *dev, void *res);
 69 
 70 #endif /* _LINUX_IO_H */
 71 
  This page was automatically generated by the LXR engine.