diff options
Diffstat (limited to 'include/linux/ioport.h')
-rw-r--r-- | include/linux/ioport.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 2cd07cc29687..041e95aac2bf 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h | |||
@@ -34,7 +34,8 @@ struct resource_list { | |||
34 | */ | 34 | */ |
35 | #define IORESOURCE_BITS 0x000000ff /* Bus-specific bits */ | 35 | #define IORESOURCE_BITS 0x000000ff /* Bus-specific bits */ |
36 | 36 | ||
37 | #define IORESOURCE_IO 0x00000100 /* Resource type */ | 37 | #define IORESOURCE_TYPE_BITS 0x00000f00 /* Resource type */ |
38 | #define IORESOURCE_IO 0x00000100 | ||
38 | #define IORESOURCE_MEM 0x00000200 | 39 | #define IORESOURCE_MEM 0x00000200 |
39 | #define IORESOURCE_IRQ 0x00000400 | 40 | #define IORESOURCE_IRQ 0x00000400 |
40 | #define IORESOURCE_DMA 0x00000800 | 41 | #define IORESOURCE_DMA 0x00000800 |
@@ -108,7 +109,11 @@ extern struct resource iomem_resource; | |||
108 | 109 | ||
109 | extern int request_resource(struct resource *root, struct resource *new); | 110 | extern int request_resource(struct resource *root, struct resource *new); |
110 | extern int release_resource(struct resource *new); | 111 | extern int release_resource(struct resource *new); |
112 | extern void reserve_region_with_split(struct resource *root, | ||
113 | resource_size_t start, resource_size_t end, | ||
114 | const char *name); | ||
111 | extern int insert_resource(struct resource *parent, struct resource *new); | 115 | extern int insert_resource(struct resource *parent, struct resource *new); |
116 | extern void insert_resource_expand_to_fit(struct resource *root, struct resource *new); | ||
112 | extern int allocate_resource(struct resource *root, struct resource *new, | 117 | extern int allocate_resource(struct resource *root, struct resource *new, |
113 | resource_size_t size, resource_size_t min, | 118 | resource_size_t size, resource_size_t min, |
114 | resource_size_t max, resource_size_t align, | 119 | resource_size_t max, resource_size_t align, |
@@ -118,6 +123,14 @@ extern int allocate_resource(struct resource *root, struct resource *new, | |||
118 | int adjust_resource(struct resource *res, resource_size_t start, | 123 | int adjust_resource(struct resource *res, resource_size_t start, |
119 | resource_size_t size); | 124 | resource_size_t size); |
120 | resource_size_t resource_alignment(struct resource *res); | 125 | resource_size_t resource_alignment(struct resource *res); |
126 | static inline resource_size_t resource_size(struct resource *res) | ||
127 | { | ||
128 | return res->end - res->start + 1; | ||
129 | } | ||
130 | static inline unsigned long resource_type(struct resource *res) | ||
131 | { | ||
132 | return res->flags & IORESOURCE_TYPE_BITS; | ||
133 | } | ||
121 | 134 | ||
122 | /* Convenience shorthand with allocation */ | 135 | /* Convenience shorthand with allocation */ |
123 | #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name)) | 136 | #define request_region(start,n,name) __request_region(&ioport_resource, (start), (n), (name)) |
@@ -154,13 +167,14 @@ extern struct resource * __devm_request_region(struct device *dev, | |||
154 | struct resource *parent, resource_size_t start, | 167 | struct resource *parent, resource_size_t start, |
155 | resource_size_t n, const char *name); | 168 | resource_size_t n, const char *name); |
156 | 169 | ||
157 | #define devm_release_region(start,n) \ | 170 | #define devm_release_region(dev, start, n) \ |
158 | __devm_release_region(dev, &ioport_resource, (start), (n)) | 171 | __devm_release_region(dev, &ioport_resource, (start), (n)) |
159 | #define devm_release_mem_region(start,n) \ | 172 | #define devm_release_mem_region(dev, start, n) \ |
160 | __devm_release_region(dev, &iomem_resource, (start), (n)) | 173 | __devm_release_region(dev, &iomem_resource, (start), (n)) |
161 | 174 | ||
162 | extern void __devm_release_region(struct device *dev, struct resource *parent, | 175 | extern void __devm_release_region(struct device *dev, struct resource *parent, |
163 | resource_size_t start, resource_size_t n); | 176 | resource_size_t start, resource_size_t n); |
177 | extern int iomem_map_sanity_check(resource_size_t addr, unsigned long size); | ||
164 | 178 | ||
165 | #endif /* __ASSEMBLY__ */ | 179 | #endif /* __ASSEMBLY__ */ |
166 | #endif /* _LINUX_IOPORT_H */ | 180 | #endif /* _LINUX_IOPORT_H */ |