Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6] / include / pcmcia / bulkmem.h
1 /*
2  * bulkmem.h -- Definitions for bulk memory services
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * The initial developer of the original code is David A. Hinds
9  * <dahinds@users.sourceforge.net>.  Portions created by David A. Hinds
10  * are Copyright (C) 1999 David A. Hinds.  All Rights Reserved.
11  *
12  * (C) 1999             David A. Hinds
13  */
14
15 #ifndef _LINUX_BULKMEM_H
16 #define _LINUX_BULKMEM_H
17
18 /* For GetFirstRegion and GetNextRegion */
19 typedef struct region_info_t {
20     u_int               Attributes;
21     u_int               CardOffset;
22     u_int               RegionSize;
23     u_int               AccessSpeed;
24     u_int               BlockSize;
25     u_int               PartMultiple;
26     u_char              JedecMfr, JedecInfo;
27     memory_handle_t     next;
28 } region_info_t;
29
30 #define REGION_TYPE             0x0001
31 #define REGION_TYPE_CM          0x0000
32 #define REGION_TYPE_AM          0x0001
33 #define REGION_PREFETCH         0x0008
34 #define REGION_CACHEABLE        0x0010
35 #define REGION_BAR_MASK         0xe000
36 #define REGION_BAR_SHIFT        13
37
38 int pcmcia_get_first_region(struct pcmcia_device *handle, region_info_t *rgn);
39 int pcmcia_get_next_region(struct pcmcia_device *handle, region_info_t *rgn);
40
41 #endif /* _LINUX_BULKMEM_H */