summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMichel Stam <m.stam@fugro.nl>2014-04-07 12:01:20 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-04-08 08:17:55 +0200
commit4d94f56c6c5ba00d35d6b3e3a1862439b2ced3f0 (patch)
treeb3efb2fad02e4abe18ca0d0baefee5ebae6a3875 /include
parent0a5529d0edcd8c00a679c485f7266548851c6948 (diff)
downloadbarebox-4d94f56c6c5ba00d35d6b3e3a1862439b2ced3f0.tar.gz
barebox-4d94f56c6c5ba00d35d6b3e3a1862439b2ced3f0.tar.xz
common: Allow for I/O mapped I/O
Rework the current framework so that I/O mapped I/O resources are also possible. Signed-off-by: Michel Stam <michel@reverze.net> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/driver.h5
-rw-r--r--include/linux/ioport.h5
2 files changed, 8 insertions, 2 deletions
diff --git a/include/driver.h b/include/driver.h
index 01b181ddbd..7c7d38fc14 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -203,11 +203,13 @@ static inline const char *dev_name(const struct device_d *dev)
/*
* get resource 'num' for a device
*/
-struct resource *dev_get_resource(struct device_d *dev, int num);
+struct resource *dev_get_resource(struct device_d *dev, unsigned long type,
+ int num);
/*
* get resource base 'name' for a device
*/
struct resource *dev_get_resource_by_name(struct device_d *dev,
+ unsigned long type,
const char *name);
/*
* get register base 'name' for a device
@@ -219,6 +221,7 @@ void *dev_get_mem_region_by_name(struct device_d *dev, const char *name);
*/
void __iomem *dev_request_mem_region_by_name(struct device_d *dev,
const char *name);
+
/*
* get register base 'num' for a device
*/
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index ff0cba0707..d1b2f55c93 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -137,14 +137,17 @@ static inline unsigned long resource_type(const struct resource *res)
struct resource *request_iomem_region(const char *name,
resource_size_t start, resource_size_t end);
+struct resource *request_ioport_region(const char *name,
+ resource_size_t start, resource_size_t end);
-struct resource *request_region(struct resource *parent,
+struct resource *__request_region(struct resource *parent,
const char *name, resource_size_t end,
resource_size_t size);
int release_region(struct resource *res);
extern struct resource iomem_resource;
+extern struct resource ioport_resource;
#endif /* __ASSEMBLY__ */
#endif /* _LINUX_IOPORT_H */