Files
linux-apfs/include/linux/io.h
T

59 lines
1.7 KiB
C
Raw Normal View History

2006-02-01 03:05:16 -08:00
/*
* 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
2006-10-08 15:08:45 +01:00
#include <linux/types.h>
2006-02-01 03:05:16 -08:00
#include <asm/io.h>
#include <asm/page.h>
2006-02-01 03:05:16 -08:00
void __iowrite32_copy(void __iomem *to, const void *from, size_t count);
2006-06-20 20:03:02 -07:00
void __iowrite64_copy(void __iomem *to, const void *from, size_t count);
2006-02-01 03:05:16 -08:00
int ioremap_page_range(unsigned long addr, unsigned long end,
unsigned long phys_addr, pgprot_t prot);
2006-10-11 01:22:02 -07:00
/**
* check_signature - find BIOS signatures
* @io_addr: mmio address to check
* @signature: signature block
* @length: length of signature
*
* Perform a signature comparison with the mmio address io_addr. This
* address should have been obtained by ioremap.
* Returns 1 on a match.
*/
static inline int check_signature(const volatile void __iomem *io_addr,
const unsigned char *signature, int length)
{
int retval = 0;
do {
if (readb(io_addr) != *signature)
goto out;
io_addr++;
signature++;
length--;
} while (length);
retval = 1;
out:
return retval;
}
2006-02-01 03:05:16 -08:00
#endif /* _LINUX_IO_H */