diff options
author | Petr Vandrovec <petr@vandrovec.name> | 2007-04-01 23:49:46 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-02 10:06:08 -0700 |
commit | a2b091dbfb355d0cd35756c6ace0988c9855f3f7 (patch) | |
tree | 32ed4c7c7fb286a67c1842410c5c016611ba8d0e /drivers/pnp/system.c | |
parent | 7479d2b90b103f84d956a7177b3f99cbd472b345 (diff) | |
download | blackbird-op-linux-a2b091dbfb355d0cd35756c6ace0988c9855f3f7.tar.gz blackbird-op-linux-a2b091dbfb355d0cd35756c6ace0988c9855f3f7.zip |
[PATCH] Correctly report PnP 64bit resources
Change PnP resource handling code to use proper type for resource start and
length. Fixes bogus regions reported in /proc/iomem.
I've also made some pointer constant, as they are constant...
Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/pnp/system.c')
-rw-r--r-- | drivers/pnp/system.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/pnp/system.c b/drivers/pnp/system.c index 2065e74bb63f..a8a95540b1ef 100644 --- a/drivers/pnp/system.c +++ b/drivers/pnp/system.c @@ -22,7 +22,7 @@ static const struct pnp_device_id pnp_dev_table[] = { { "", 0 } }; -static void reserve_range(char *pnpid, int start, int end, int port) +static void reserve_range(const char *pnpid, resource_size_t start, resource_size_t end, int port) { struct resource *res; char *regionid; @@ -32,9 +32,9 @@ static void reserve_range(char *pnpid, int start, int end, int port) return; snprintf(regionid, 16, "pnp %s", pnpid); if (port) - res = request_region(start,end-start+1,regionid); + res = request_region(start, end-start+1, regionid); else - res = request_mem_region(start,end-start+1,regionid); + res = request_mem_region(start, end-start+1, regionid); if (res == NULL) kfree(regionid); else @@ -45,12 +45,13 @@ static void reserve_range(char *pnpid, int start, int end, int port) * have double reservations. */ printk(KERN_INFO - "pnp: %s: %s range 0x%x-0x%x %s reserved\n", - pnpid, port ? "ioport" : "iomem", start, end, + "pnp: %s: %s range 0x%llx-0x%llx %s reserved\n", + pnpid, port ? "ioport" : "iomem", + (unsigned long long)start, (unsigned long long)end, NULL != res ? "has been" : "could not be"); } -static void reserve_resources_of_dev(struct pnp_dev *dev) +static void reserve_resources_of_dev(const struct pnp_dev *dev) { int i; |