Loading drivers/pnp/system.c +19 −7 Original line number Diff line number Diff line Loading @@ -3,7 +3,8 @@ * * Some code is based on pnpbios_core.c * Copyright 2002 Adam Belay <ambx1@neo.rr.com> * * (c) Copyright 2007 Hewlett-Packard Development Company, L.P. * Bjorn Helgaas <bjorn.helgaas@hp.com> */ #include <linux/pnp.h> Loading @@ -21,7 +22,7 @@ static const struct pnp_device_id pnp_dev_table[] = { { "", 0 } }; static void reserve_ioport_range(char *pnpid, int start, int end) static void reserve_range(char *pnpid, int start, int end, int port) { struct resource *res; char *regionid; Loading @@ -30,7 +31,10 @@ static void reserve_ioport_range(char *pnpid, int start, int end) if ( regionid == NULL ) return; snprintf(regionid, 16, "pnp %s", pnpid); if (port) res = request_region(start,end-start+1,regionid); else res = request_mem_region(start,end-start+1,regionid); if ( res == NULL ) kfree( regionid ); else Loading @@ -41,8 +45,8 @@ static void reserve_ioport_range(char *pnpid, int start, int end) * have double reservations. */ printk(KERN_INFO "pnp: %s: ioport range 0x%x-0x%x %s reserved\n", pnpid, start, end, "pnp: %s: %s range 0x%x-0x%x %s reserved\n", pnpid, port ? "ioport" : "iomem", start, end, NULL != res ? "has been" : "could not be" ); Loading Loading @@ -75,13 +79,21 @@ static void reserve_resources_of_dev( struct pnp_dev *dev ) /* invalid endpoint */ /* Do nothing */ continue; reserve_ioport_range( reserve_range( dev->dev.bus_id, pnp_port_start(dev, i), pnp_port_end(dev, i) pnp_port_end(dev, i), 1 ); } for (i = 0; i < PNP_MAX_MEM; i++) { if (!pnp_mem_valid(dev, i)) continue; reserve_range(dev->dev.bus_id, pnp_mem_start(dev, i), pnp_mem_end(dev, i), 0); } return; } Loading Loading
drivers/pnp/system.c +19 −7 Original line number Diff line number Diff line Loading @@ -3,7 +3,8 @@ * * Some code is based on pnpbios_core.c * Copyright 2002 Adam Belay <ambx1@neo.rr.com> * * (c) Copyright 2007 Hewlett-Packard Development Company, L.P. * Bjorn Helgaas <bjorn.helgaas@hp.com> */ #include <linux/pnp.h> Loading @@ -21,7 +22,7 @@ static const struct pnp_device_id pnp_dev_table[] = { { "", 0 } }; static void reserve_ioport_range(char *pnpid, int start, int end) static void reserve_range(char *pnpid, int start, int end, int port) { struct resource *res; char *regionid; Loading @@ -30,7 +31,10 @@ static void reserve_ioport_range(char *pnpid, int start, int end) if ( regionid == NULL ) return; snprintf(regionid, 16, "pnp %s", pnpid); if (port) res = request_region(start,end-start+1,regionid); else res = request_mem_region(start,end-start+1,regionid); if ( res == NULL ) kfree( regionid ); else Loading @@ -41,8 +45,8 @@ static void reserve_ioport_range(char *pnpid, int start, int end) * have double reservations. */ printk(KERN_INFO "pnp: %s: ioport range 0x%x-0x%x %s reserved\n", pnpid, start, end, "pnp: %s: %s range 0x%x-0x%x %s reserved\n", pnpid, port ? "ioport" : "iomem", start, end, NULL != res ? "has been" : "could not be" ); Loading Loading @@ -75,13 +79,21 @@ static void reserve_resources_of_dev( struct pnp_dev *dev ) /* invalid endpoint */ /* Do nothing */ continue; reserve_ioport_range( reserve_range( dev->dev.bus_id, pnp_port_start(dev, i), pnp_port_end(dev, i) pnp_port_end(dev, i), 1 ); } for (i = 0; i < PNP_MAX_MEM; i++) { if (!pnp_mem_valid(dev, i)) continue; reserve_range(dev->dev.bus_id, pnp_mem_start(dev, i), pnp_mem_end(dev, i), 0); } return; } Loading