summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-05-05 11:05:51 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-05-05 11:05:51 +0200
commitf8327af20c1c2988b0d9909f403780e31cc6b59e (patch)
tree80eb52cc1160e577646e136ad9e3e4638aac5559 /include
parentb568687bc3c48edd814c4b4546d049d859c8cc3f (diff)
parent9f556d4b6fc71d548e5c984c416f4f1b7d599d2f (diff)
downloadbarebox-f8327af20c1c2988b0d9909f403780e31cc6b59e.tar.gz
barebox-f8327af20c1c2988b0d9909f403780e31cc6b59e.tar.xz
Merge branch 'for-next/ioresource'
Diffstat (limited to 'include')
-rw-r--r--include/ata_drive.h1
-rw-r--r--include/driver.h7
-rw-r--r--include/linux/ioport.h5
-rw-r--r--include/ns16550.h11
4 files changed, 11 insertions, 13 deletions
diff --git a/include/ata_drive.h b/include/ata_drive.h
index 6d6cca43bf..44073cb1b1 100644
--- a/include/ata_drive.h
+++ b/include/ata_drive.h
@@ -119,6 +119,7 @@ struct ata_ioports {
/* hard reset line handling */
void (*reset)(int); /* true: assert reset, false: de-assert reset */
int dataif_be; /* true if 16 bit data register is big endian */
+ int mmio; /* true if memory-mapped io */
};
struct ata_port;
diff --git a/include/driver.h b/include/driver.h
index 01b181ddbd..ffc0cbaf77 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
*/
@@ -275,7 +278,7 @@ static inline struct device_d *add_ns16550_device(int id, resource_size_t start,
resource_size_t size, int flags, struct NS16550_plat *pdata)
{
return add_generic_device("ns16550_serial", id, NULL, start, size,
- IORESOURCE_MEM | flags, pdata);
+ flags, pdata);
}
#ifdef CONFIG_DRIVER_NET_DM9K
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 */
diff --git a/include/ns16550.h b/include/ns16550.h
index 36aa5ffae5..876bb0427f 100644
--- a/include/ns16550.h
+++ b/include/ns16550.h
@@ -33,18 +33,9 @@
struct NS16550_plat {
/** Clock speed */
unsigned int clock;
- /**
- * register read access capability
- */
- unsigned int (*reg_read) (unsigned long base, unsigned char reg_offset);
- /**
- * register write access capability
- */
- void (*reg_write) (unsigned int val, unsigned long base,
- unsigned char reg_offset);
-
int shift;
unsigned int flags;
+ int mmio;
#define NS16650_FLAG_DISABLE_FIFO 1
};