The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=fef01f0498aa7b256bc37bbf28ee0e8ac9b2536f

commit fef01f0498aa7b256bc37bbf28ee0e8ac9b2536f
Author:     John Baldwin <[email protected]>
AuthorDate: 2024-03-13 22:05:54 +0000
Commit:     John Baldwin <[email protected]>
CommitDate: 2024-03-13 22:05:54 +0000

    new-bus: Remove the 'type' argument from BUS_ADJUST_RESOURCE
    
    The public bus_adjust_resource() API still accepts both forms, but the
    internal kobj method no longer passes the argument.  Implementations
    which need the type now use rman_get_type() to fetch the value from
    the allocated resource.
    
    Reviewed by:    imp
    Differential Revision:  https://reviews.freebsd.org/D44128
---
 share/man/man9/bus_adjust_resource.9 | 15 ++++-----------
 sys/arm/mv/mv_pci.c                  | 13 ++++++-------
 sys/arm64/cavium/thunder_pcie_pem.c  | 16 ++++++++--------
 sys/dev/acpica/acpi.c                |  4 ++--
 sys/dev/acpica/acpi_pcib_acpi.c      |  9 ++++-----
 sys/dev/bhnd/bhndb/bhndb.c           |  6 +++---
 sys/dev/bhnd/cores/chipc/chipc.c     |  7 +++----
 sys/dev/dpaa2/dpaa2_mc.c             |  8 ++++----
 sys/dev/dpaa2/dpaa2_mc.h             |  2 +-
 sys/dev/fdt/simplebus.c              | 14 +-------------
 sys/dev/hyperv/pcib/vmbus_pcib.c     |  6 +++---
 sys/dev/ofw/ofw_pcib.c               | 12 ++++++------
 sys/dev/pccbb/pccbb_pci.c            |  6 +++---
 sys/dev/pci/pci_host_generic.c       | 10 +++++-----
 sys/dev/pci/pci_pci.c                |  8 ++++----
 sys/dev/pci/pci_subr.c               | 10 +++++-----
 sys/dev/pci/pcib_private.h           |  2 +-
 sys/dev/vmd/vmd.c                    | 10 ++++------
 sys/kern/bus_if.m                    |  2 --
 sys/kern/subr_bus.c                  | 21 ++++++++++-----------
 sys/powerpc/mpc85xx/lbc.c            | 16 ++++++----------
 sys/powerpc/powermac/macio.c         | 15 +++++++--------
 sys/powerpc/powermac/uninorth.c      | 15 +++++++--------
 sys/powerpc/psim/iobus.c             | 15 +++++++--------
 sys/sys/bus.h                        | 12 ++++++------
 sys/x86/include/legacyvar.h          |  2 +-
 sys/x86/pci/pci_bus.c                |  6 +++---
 sys/x86/x86/mptable_pci.c            |  7 +++----
 28 files changed, 117 insertions(+), 152 deletions(-)

diff --git a/share/man/man9/bus_adjust_resource.9 
b/share/man/man9/bus_adjust_resource.9
index 6afc31cfb35c..27173894e0ec 100644
--- a/share/man/man9/bus_adjust_resource.9
+++ b/share/man/man9/bus_adjust_resource.9
@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd April 23, 2016
+.Dd March 13, 2024
 .Dt BUS_ADJUST_RESOURCE 9
 .Os
 .Sh NAME
@@ -40,7 +40,7 @@
 .In machine/resource.h
 .Ft int
 .Fo bus_adjust_resource
-.Fa "device_t dev" "int type" "struct resource *r"
+.Fa "device_t dev" "struct resource *r"
 .Fa "rman_res_t start" "rman_res_t end"
 .Fc
 .Sh DESCRIPTION
@@ -52,13 +52,6 @@ should have been allocated by a previous call to
 .Xr bus_alloc_resource 9 .
 The new resource range must overlap the existing range of
 .Fa r .
-The
-.Fa type
-argument should match the
-.Fa type
-argument passed to
-.Xr bus_alloc_resource 9
-when the resource was initially allocated.
 .Pp
 Note that none of the constraints of the original allocation request such
 as alignment or boundary restrictions are checked by
@@ -74,8 +67,8 @@ Grow an existing memory resource by 4096 bytes.
        struct resource *res;
        int error;
 
-       error = bus_adjust_resource(dev, SYS_RES_MEMORY, res,
-           rman_get_start(res), rman_get_end(res) + 0x1000);
+       error = bus_adjust_resource(dev, res, rman_get_start(res),
+           rman_get_end(res) + 0x1000);
 .Ed
 .Sh ERRORS
 .Fn bus_adjust_resource
diff --git a/sys/arm/mv/mv_pci.c b/sys/arm/mv/mv_pci.c
index 76da1c4da7a7..42ee3180a942 100644
--- a/sys/arm/mv/mv_pci.c
+++ b/sys/arm/mv/mv_pci.c
@@ -345,7 +345,7 @@ static int mv_pcib_attach(device_t);
 static struct rman *mv_pcib_get_rman(device_t, int, u_int);
 static struct resource *mv_pcib_alloc_resource(device_t, device_t, int, int *,
     rman_res_t, rman_res_t, rman_res_t, u_int);
-static int mv_pcib_adjust_resource(device_t, device_t, int, struct resource *,
+static int mv_pcib_adjust_resource(device_t, device_t, struct resource *,
     rman_res_t, rman_res_t);
 static int mv_pcib_release_resource(device_t, device_t, int, int,
     struct resource *);
@@ -941,26 +941,25 @@ mv_pcib_alloc_resource(device_t dev, device_t child, int 
type, int *rid,
 }
 
 static int
-mv_pcib_adjust_resource(device_t dev, device_t child, int type,
+mv_pcib_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
 #ifdef PCI_RES_BUS
        struct mv_pcib_softc *sc = device_get_softc(dev);
 #endif
 
-       switch (type) {
+       switch (rman_get_type(r)) {
        case SYS_RES_IOPORT:
        case SYS_RES_MEMORY:
-               return (bus_generic_rman_adjust_resource(dev, child, type, r,
-                   start, end));
+               return (bus_generic_rman_adjust_resource(dev, child, r, start,
+                   end));
 #ifdef PCI_RES_BUS
        case PCI_RES_BUS:
                return (pci_domain_adjust_bus(sc->ap_segment, child, r, start,
                    end));
 #endif
        default:
-               return (bus_generic_adjust_resource(dev, child, type, r,
-                   start, end));
+               return (bus_generic_adjust_resource(dev, child, r, start, end));
        }
 }
 
diff --git a/sys/arm64/cavium/thunder_pcie_pem.c 
b/sys/arm64/cavium/thunder_pcie_pem.c
index 5060b6e79d97..78fcf333d825 100644
--- a/sys/arm64/cavium/thunder_pcie_pem.c
+++ b/sys/arm64/cavium/thunder_pcie_pem.c
@@ -122,7 +122,7 @@
 
 static int thunder_pem_activate_resource(device_t, device_t, int, int,
     struct resource *);
-static int thunder_pem_adjust_resource(device_t, device_t, int,
+static int thunder_pem_adjust_resource(device_t, device_t,
     struct resource *, rman_res_t, rman_res_t);
 static struct resource * thunder_pem_alloc_resource(device_t, device_t, int,
     int *, rman_res_t, rman_res_t, rman_res_t, u_int);
@@ -355,26 +355,26 @@ thunder_pem_unmap_resource(device_t dev, device_t child, 
int type,
 }
 
 static int
-thunder_pem_adjust_resource(device_t dev, device_t child, int type,
-    struct resource *res, rman_res_t start, rman_res_t end)
+thunder_pem_adjust_resource(device_t dev, device_t child, struct resource *res,
+    rman_res_t start, rman_res_t end)
 {
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
        struct thunder_pem_softc *sc;
 
        sc = device_get_softc(dev);
 #endif
-       switch (type) {
+       switch (rman_get_type(res)) {
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
        case PCI_RES_BUS:
                return (pci_domain_adjust_bus(sc->id, child, res, start, end));
 #endif
        case SYS_RES_MEMORY:
        case SYS_RES_IOPORT:
-               return (bus_generic_rman_adjust_resource(dev, child, type, res,
-                   start, end));
+               return (bus_generic_rman_adjust_resource(dev, child, res, start,
+                   end));
        default:
-               return (bus_generic_adjust_resource(dev, child, type, res,
-                   start, end));
+               return (bus_generic_adjust_resource(dev, child, res, start,
+                   end));
        }
 }
 
diff --git a/sys/dev/acpica/acpi.c b/sys/dev/acpica/acpi.c
index 0ea9a32b1589..93bce7df70d5 100644
--- a/sys/dev/acpica/acpi.c
+++ b/sys/dev/acpica/acpi.c
@@ -1570,13 +1570,13 @@ acpi_managed_resource(device_t bus, int type, struct 
resource *r)
 }
 
 static int
-acpi_adjust_resource(device_t bus, device_t child, int type, struct resource 
*r,
+acpi_adjust_resource(device_t bus, device_t child, struct resource *r,
     rman_res_t start, rman_res_t end)
 {
 
     if (acpi_is_resource_managed(bus, r))
        return (rman_adjust_resource(r, start, end));
-    return (bus_generic_adjust_resource(bus, child, type, r, start, end));
+    return (bus_generic_adjust_resource(bus, child, r, start, end));
 }
 
 static int
diff --git a/sys/dev/acpica/acpi_pcib_acpi.c b/sys/dev/acpica/acpi_pcib_acpi.c
index 451a8d8b736d..235670076dae 100644
--- a/sys/dev/acpica/acpi_pcib_acpi.c
+++ b/sys/dev/acpica/acpi_pcib_acpi.c
@@ -97,7 +97,7 @@ static struct resource 
*acpi_pcib_acpi_alloc_resource(device_t dev,
                            u_int flags);
 #ifdef NEW_PCIB
 static int             acpi_pcib_acpi_adjust_resource(device_t dev,
-                           device_t child, int type, struct resource *r,
+                           device_t child, struct resource *r,
                            rman_res_t start, rman_res_t end);
 #ifdef PCI_RES_BUS
 static int             acpi_pcib_acpi_release_resource(device_t dev,
@@ -745,19 +745,18 @@ acpi_pcib_acpi_alloc_resource(device_t dev, device_t 
child, int type, int *rid,
 
 #ifdef NEW_PCIB
 int
-acpi_pcib_acpi_adjust_resource(device_t dev, device_t child, int type,
+acpi_pcib_acpi_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct acpi_hpcib_softc *sc;
 
        sc = device_get_softc(dev);
 #ifdef PCI_RES_BUS
-       if (type == PCI_RES_BUS)
+       if (rman_get_type(r) == PCI_RES_BUS)
                return (pci_domain_adjust_bus(sc->ap_segment, child, r, start,
                    end));
 #endif
-       return (pcib_host_res_adjust(&sc->ap_host_res, child, type, r, start,
-           end));
+       return (pcib_host_res_adjust(&sc->ap_host_res, child, r, start, end));
 }
 
 #ifdef PCI_RES_BUS
diff --git a/sys/dev/bhnd/bhndb/bhndb.c b/sys/dev/bhnd/bhndb/bhndb.c
index ea5230bf459b..f8a1467894d1 100644
--- a/sys/dev/bhnd/bhndb/bhndb.c
+++ b/sys/dev/bhnd/bhndb/bhndb.c
@@ -1080,7 +1080,7 @@ bhndb_release_resource(device_t dev, device_t child, int 
type, int rid,
  * Default bhndb(4) implementation of BUS_ADJUST_RESOURCE().
  */
 static int
-bhndb_adjust_resource(device_t dev, device_t child, int type,
+bhndb_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct bhndb_softc              *sc;
@@ -1093,10 +1093,10 @@ bhndb_adjust_resource(device_t dev, device_t child, int 
type,
 
        /* Delegate to our parent device's bus if the requested resource type
         * isn't handled locally. */
-       rm = bhndb_get_rman(sc, child, type);
+       rm = bhndb_get_rman(sc, child, rman_get_type(r));
        if (rm == NULL) {
                return (BUS_ADJUST_RESOURCE(device_get_parent(sc->parent_dev),
-                   child, type, r, start, end));
+                   child, r, start, end));
        }
 
        /* Verify basic constraints */
diff --git a/sys/dev/bhnd/cores/chipc/chipc.c b/sys/dev/bhnd/cores/chipc/chipc.c
index f99f42fb3ac3..2d1440e5c987 100644
--- a/sys/dev/bhnd/cores/chipc/chipc.c
+++ b/sys/dev/bhnd/cores/chipc/chipc.c
@@ -913,7 +913,7 @@ chipc_release_resource(device_t dev, device_t child, int 
type, int rid,
 }
 
 static int
-chipc_adjust_resource(device_t dev, device_t child, int type,
+chipc_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct chipc_softc              *sc;
@@ -923,10 +923,9 @@ chipc_adjust_resource(device_t dev, device_t child, int 
type,
        sc = device_get_softc(dev);
 
        /* Handled by parent bus? */
-       rm = chipc_get_rman(dev, type, rman_get_flags(r));
+       rm = chipc_get_rman(dev, rman_get_type(r), rman_get_flags(r));
        if (rm == NULL || !rman_is_region_manager(r, rm)) {
-               return (bus_generic_adjust_resource(dev, child, type, r, start,
-                   end));
+               return (bus_generic_adjust_resource(dev, child, r, start, end));
        }
 
        /* The range is limited to the existing region mapping */
diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c
index 6d11e50b1f98..0dbb282399ae 100644
--- a/sys/dev/dpaa2/dpaa2_mc.c
+++ b/sys/dev/dpaa2/dpaa2_mc.c
@@ -343,16 +343,16 @@ dpaa2_mc_alloc_resource(device_t mcdev, device_t child, 
int type, int *rid,
 }
 
 int
-dpaa2_mc_adjust_resource(device_t mcdev, device_t child, int type,
+dpaa2_mc_adjust_resource(device_t mcdev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct rman *rm;
 
-       rm = dpaa2_mc_rman(mcdev, type, rman_get_flags(r));
+       rm = dpaa2_mc_rman(mcdev, rman_get_type(r), rman_get_flags(r));
        if (rm)
-               return (bus_generic_rman_adjust_resource(mcdev, child, type, r,
+               return (bus_generic_rman_adjust_resource(mcdev, child, r,
                    start, end));
-       return (bus_generic_adjust_resource(mcdev, child, type, r, start, end));
+       return (bus_generic_adjust_resource(mcdev, child, r, start, end));
 }
 
 int
diff --git a/sys/dev/dpaa2/dpaa2_mc.h b/sys/dev/dpaa2/dpaa2_mc.h
index 40b318c4c9e7..23b18f8d2ca6 100644
--- a/sys/dev/dpaa2/dpaa2_mc.h
+++ b/sys/dev/dpaa2/dpaa2_mc.h
@@ -183,7 +183,7 @@ struct rman *dpaa2_mc_rman(device_t mcdev, int type, u_int 
flags);
 struct resource * dpaa2_mc_alloc_resource(device_t mcdev, device_t child,
     int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count,
     u_int flags);
-int dpaa2_mc_adjust_resource(device_t mcdev, device_t child, int type,
+int dpaa2_mc_adjust_resource(device_t mcdev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end);
 int dpaa2_mc_release_resource(device_t mcdev, device_t child, int type,
     int rid, struct resource *r);
diff --git a/sys/dev/fdt/simplebus.c b/sys/dev/fdt/simplebus.c
index ceb5fdde4bb7..940f93f56274 100644
--- a/sys/dev/fdt/simplebus.c
+++ b/sys/dev/fdt/simplebus.c
@@ -46,8 +46,6 @@
 static int             simplebus_probe(device_t dev);
 static struct resource *simplebus_alloc_resource(device_t, device_t, int,
     int *, rman_res_t, rman_res_t, rman_res_t, u_int);
-static int             simplebus_adjust_resource(device_t bus, device_t child,
-    int type, struct resource *r, rman_res_t start, rman_res_t end);
 static int             simplebus_release_resource(device_t bus, device_t child,
     int type, int rid, struct resource *r);
 static int             simplebus_activate_resource(device_t bus,
@@ -99,7 +97,7 @@ static device_method_t        simplebus_methods[] = {
        DEVMETHOD(bus_release_resource, simplebus_release_resource),
        DEVMETHOD(bus_activate_resource, simplebus_activate_resource),
        DEVMETHOD(bus_deactivate_resource, simplebus_deactivate_resource),
-       DEVMETHOD(bus_adjust_resource,  simplebus_adjust_resource),
+       DEVMETHOD(bus_adjust_resource,  bus_generic_adjust_resource),
        DEVMETHOD(bus_map_resource,     simplebus_map_resource),
        DEVMETHOD(bus_unmap_resource,   simplebus_unmap_resource),
        DEVMETHOD(bus_set_resource,     bus_generic_rl_set_resource),
@@ -496,16 +494,6 @@ simplebus_alloc_resource(device_t bus, device_t child, int 
type, int *rid,
            count, flags));
 }
 
-static int
-simplebus_adjust_resource(device_t bus, device_t child, int type,
-    struct resource *r, rman_res_t start, rman_res_t end)
-{
-
-       if (type == SYS_RES_IOPORT)
-               type = SYS_RES_MEMORY;
-       return (bus_generic_adjust_resource(bus, child, type, r, start, end));
-}
-
 static int
 simplebus_release_resource(device_t bus, device_t child, int type, int rid,
     struct resource *r)
diff --git a/sys/dev/hyperv/pcib/vmbus_pcib.c b/sys/dev/hyperv/pcib/vmbus_pcib.c
index 3fa349b0c0c5..3d3041ee76b3 100644
--- a/sys/dev/hyperv/pcib/vmbus_pcib.c
+++ b/sys/dev/hyperv/pcib/vmbus_pcib.c
@@ -1713,15 +1713,15 @@ vmbus_pcib_alloc_resource(device_t dev, device_t child, 
int type, int *rid,
 }
 
 static int
-vmbus_pcib_adjust_resource(device_t dev, device_t child, int type,
+vmbus_pcib_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct vmbus_pcib_softc *sc = device_get_softc(dev);
 
-       if (type == PCI_RES_BUS)
+       if (rman_get_type(r) == PCI_RES_BUS)
                return (pci_domain_adjust_bus(sc->hbus->pci_domain, child, r,
                    start, end));
-       return (bus_generic_adjust_resource(dev, child, type, r, start, end));
+       return (bus_generic_adjust_resource(dev, child, r, start, end));
 }
 
 static int
diff --git a/sys/dev/ofw/ofw_pcib.c b/sys/dev/ofw/ofw_pcib.c
index f8d0fc8e7029..e95a5f029140 100644
--- a/sys/dev/ofw/ofw_pcib.c
+++ b/sys/dev/ofw/ofw_pcib.c
@@ -73,7 +73,7 @@ static int ofw_pcib_activate_resource(device_t, device_t, 
int, int,
     struct resource *);
 static int ofw_pcib_deactivate_resource(device_t, device_t, int, int,
     struct resource *);
-static int ofw_pcib_adjust_resource(device_t, device_t, int,
+static int ofw_pcib_adjust_resource(device_t, device_t,
     struct resource *, rman_res_t, rman_res_t);
 static int ofw_pcib_map_resource(device_t, device_t, int, struct resource *,
     struct resource_map_request *, struct resource_map *);
@@ -656,7 +656,7 @@ ofw_pcib_deactivate_resource(device_t bus, device_t child, 
int type, int rid,
 }
 
 static int
-ofw_pcib_adjust_resource(device_t bus, device_t child, int type,
+ofw_pcib_adjust_resource(device_t bus, device_t child,
     struct resource *res, rman_res_t start, rman_res_t end)
 {
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
@@ -664,7 +664,7 @@ ofw_pcib_adjust_resource(device_t bus, device_t child, int 
type,
 
        sc = device_get_softc(bus);
 #endif
-       switch (type) {
+       switch (rman_get_type(res)) {
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
        case PCI_RES_BUS:
                return (pci_domain_adjust_bus(sc->sc_pci_domain, child, res,
@@ -672,11 +672,11 @@ ofw_pcib_adjust_resource(device_t bus, device_t child, 
int type,
 #endif
        case SYS_RES_MEMORY:
        case SYS_RES_IOPORT:
-               return (bus_generic_rman_adjust_resource(bus, child, type, res,
+               return (bus_generic_rman_adjust_resource(bus, child, res,
                    start, end));
        default:
-               return (bus_generic_adjust_resource(bus, child, type, res,
-                   start, end));
+               return (bus_generic_adjust_resource(bus, child, res, start,
+                   end));
        }
 }
 
diff --git a/sys/dev/pccbb/pccbb_pci.c b/sys/dev/pccbb/pccbb_pci.c
index 1a07ff8a4e98..08014fb210ed 100644
--- a/sys/dev/pccbb/pccbb_pci.c
+++ b/sys/dev/pccbb/pccbb_pci.c
@@ -803,18 +803,18 @@ cbb_pci_alloc_resource(device_t bus, device_t child, int 
type, int *rid,
 }
 
 static int
-cbb_pci_adjust_resource(device_t bus, device_t child, int type,
+cbb_pci_adjust_resource(device_t bus, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct cbb_softc *sc;
 
        sc = device_get_softc(bus);
-       if (type == PCI_RES_BUS) {
+       if (rman_get_type(r) == PCI_RES_BUS) {
                if (!rman_is_region_manager(r, &sc->bus.rman))
                        return (EINVAL);
                return (rman_adjust_resource(r, start, end));
        }
-       return (bus_generic_adjust_resource(bus, child, type, r, start, end));
+       return (bus_generic_adjust_resource(bus, child, r, start, end));
 }
 
 static int
diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c
index da49edcf91f5..f4fccc7b8277 100644
--- a/sys/dev/pci/pci_host_generic.c
+++ b/sys/dev/pci/pci_host_generic.c
@@ -614,7 +614,7 @@ generic_pcie_deactivate_resource(device_t dev, device_t 
child, int type,
 }
 
 static int
-generic_pcie_adjust_resource(device_t dev, device_t child, int type,
+generic_pcie_adjust_resource(device_t dev, device_t child,
     struct resource *res, rman_res_t start, rman_res_t end)
 {
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
@@ -622,7 +622,7 @@ generic_pcie_adjust_resource(device_t dev, device_t child, 
int type,
 
        sc = device_get_softc(dev);
 #endif
-       switch (type) {
+       switch (rman_get_type(res)) {
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
        case PCI_RES_BUS:
                return (pci_domain_adjust_bus(sc->ecam, child, res, start,
@@ -630,11 +630,11 @@ generic_pcie_adjust_resource(device_t dev, device_t 
child, int type,
 #endif
        case SYS_RES_IOPORT:
        case SYS_RES_MEMORY:
-               return (bus_generic_rman_adjust_resource(dev, child, type, res,
+               return (bus_generic_rman_adjust_resource(dev, child, res,
                    start, end));
        default:
-               return (bus_generic_adjust_resource(dev, child, type, res,
-                   start, end));
+               return (bus_generic_adjust_resource(dev, child, res, start,
+                   end));
        }
 }
 
diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c
index da09a917b9bc..b4c02bfeca37 100644
--- a/sys/dev/pci/pci_pci.c
+++ b/sys/dev/pci/pci_pci.c
@@ -2372,23 +2372,23 @@ pcib_alloc_resource(device_t dev, device_t child, int 
type, int *rid,
 }
 
 static int
-pcib_adjust_resource(device_t bus, device_t child, int type, struct resource 
*r,
+pcib_adjust_resource(device_t bus, device_t child, struct resource *r,
     rman_res_t start, rman_res_t end)
 {
        struct pcib_softc *sc;
        struct pcib_window *w;
        rman_res_t wmask;
-       int error;
+       int error, type;
 
        sc = device_get_softc(bus);
+       type = rman_get_type(r);
 
        /*
         * If the resource wasn't sub-allocated from one of our region
         * managers then just pass the request up.
         */
        if (!pcib_is_resource_managed(sc, r))
-               return (bus_generic_adjust_resource(bus, child, type, r,
-                   start, end));
+               return (bus_generic_adjust_resource(bus, child, r, start, end));
 
 #ifdef PCI_RES_BUS
        if (type == PCI_RES_BUS) {
diff --git a/sys/dev/pci/pci_subr.c b/sys/dev/pci/pci_subr.c
index e2583a75e303..4be3e3f166eb 100644
--- a/sys/dev/pci/pci_subr.c
+++ b/sys/dev/pci/pci_subr.c
@@ -260,26 +260,26 @@ restart:
 }
 
 int
-pcib_host_res_adjust(struct pcib_host_resources *hr, device_t dev, int type,
+pcib_host_res_adjust(struct pcib_host_resources *hr, device_t dev,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct resource_list_entry *rle;
 
-       rle = resource_list_find(&hr->hr_rl, type, 0);
+       rle = resource_list_find(&hr->hr_rl, rman_get_type(r), 0);
        if (rle == NULL) {
                /*
                 * No decoding ranges for this resource type, just pass
                 * the request up to the parent.
                 */
-               return (bus_generic_adjust_resource(hr->hr_pcib, dev, type, r,
-                   start, end));
+               return (bus_generic_adjust_resource(hr->hr_pcib, dev, r, start,
+                   end));
        }
 
        /* Only allow adjustments that stay within a decoded range. */
        for (; rle != NULL; rle = STAILQ_NEXT(rle, link)) {
                if (rle->start <= start && rle->end >= end)
                        return (bus_generic_adjust_resource(hr->hr_pcib, dev,
-                           type, r, start, end));
+                           r, start, end));
        }
        return (ERANGE);
 }
diff --git a/sys/dev/pci/pcib_private.h b/sys/dev/pci/pcib_private.h
index bc0b48d9f031..1f4f18d921e5 100644
--- a/sys/dev/pci/pcib_private.h
+++ b/sys/dev/pci/pcib_private.h
@@ -56,7 +56,7 @@ struct resource *pcib_host_res_alloc(struct 
pcib_host_resources *hr,
                    device_t dev, int type, int *rid, rman_res_t start,
                    rman_res_t end, rman_res_t count, u_int flags);
 int            pcib_host_res_adjust(struct pcib_host_resources *hr,
-                   device_t dev, int type, struct resource *r, rman_res_t 
start,
+                   device_t dev, struct resource *r, rman_res_t start,
                    rman_res_t end);
 #endif
 
diff --git a/sys/dev/vmd/vmd.c b/sys/dev/vmd/vmd.c
index d885cd15ac26..c258ef7a7047 100644
--- a/sys/dev/vmd/vmd.c
+++ b/sys/dev/vmd/vmd.c
@@ -469,16 +469,14 @@ vmd_alloc_resource(device_t dev, device_t child, int 
type, int *rid,
 }
 
 static int
-vmd_adjust_resource(device_t dev, device_t child, int type,
+vmd_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
 
-       if (type == SYS_RES_IRQ) {
-               return (bus_generic_adjust_resource(dev, child, type, r,
-                   start, end));
+       if (rman_get_type(r) == SYS_RES_IRQ) {
+               return (bus_generic_adjust_resource(dev, child, r, start, end));
        }
-       return (bus_generic_rman_adjust_resource(dev, child, type, r, start,
-           end));
+       return (bus_generic_rman_adjust_resource(dev, child, r, start, end));
 }
 
 static int
diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m
index 7078683911b8..497b98ca4601 100644
--- a/sys/kern/bus_if.m
+++ b/sys/kern/bus_if.m
@@ -399,7 +399,6 @@ METHOD int deactivate_resource {
  *
  * @param _dev         the parent device of @p _child
  * @param _child       the device which allocated the resource
- * @param _type                the type of resource
  * @param _res         the resource to adjust
  * @param _start       the new starting address of the resource range
  * @param _end         the new ending address of the resource range
@@ -407,7 +406,6 @@ METHOD int deactivate_resource {
 METHOD int adjust_resource {
        device_t        _dev;
        device_t        _child;
-       int             _type;
        struct resource *_res;
        rman_res_t      _start;
        rman_res_t      _end;
diff --git a/sys/kern/subr_bus.c b/sys/kern/subr_bus.c
index 25cb5fba2108..33d7b1e4af88 100644
--- a/sys/kern/subr_bus.c
+++ b/sys/kern/subr_bus.c
@@ -3877,13 +3877,12 @@ bus_generic_resume_intr(device_t dev, device_t child, 
struct resource *irq)
  * BUS_ADJUST_RESOURCE() method of the parent of @p dev.
  */
 int
-bus_generic_adjust_resource(device_t dev, device_t child, int type,
-    struct resource *r, rman_res_t start, rman_res_t end)
+bus_generic_adjust_resource(device_t dev, device_t child, struct resource *r,
+    rman_res_t start, rman_res_t end)
 {
        /* Propagate up the bus hierarchy until someone handles it. */
        if (dev->parent)
-               return (BUS_ADJUST_RESOURCE(dev->parent, child, type, r, start,
-                   end));
+               return (BUS_ADJUST_RESOURCE(dev->parent, child, r, start, end));
        return (EINVAL);
 }
 
@@ -4270,12 +4269,12 @@ bus_generic_rman_alloc_resource(device_t dev, device_t 
child, int type,
  * BUS_GET_RMAN().
  */
 int
-bus_generic_rman_adjust_resource(device_t dev, device_t child, int type,
+bus_generic_rman_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct rman *rm;
 
-       rm = BUS_GET_RMAN(dev, type, rman_get_flags(r));
+       rm = BUS_GET_RMAN(dev, rman_get_type(r), rman_get_flags(r));
        if (rm == NULL)
                return (ENXIO);
        if (!rman_is_region_manager(r, rm))
@@ -4537,19 +4536,19 @@ bus_alloc_resource(device_t dev, int type, int *rid, 
rman_res_t start,
  * parent of @p dev.
  */
 int
-bus_adjust_resource(device_t dev, int type, struct resource *r, rman_res_t 
start,
+bus_adjust_resource(device_t dev, struct resource *r, rman_res_t start,
     rman_res_t end)
 {
        if (dev->parent == NULL)
                return (EINVAL);
-       return (BUS_ADJUST_RESOURCE(dev->parent, dev, type, r, start, end));
+       return (BUS_ADJUST_RESOURCE(dev->parent, dev, r, start, end));
 }
 
 int
-bus_adjust_resource_new(device_t dev, struct resource *r, rman_res_t start,
-    rman_res_t end)
+bus_adjust_resource_old(device_t dev, int type __unused, struct resource *r,
+    rman_res_t start, rman_res_t end)
 {
-       return (bus_adjust_resource(dev, rman_get_type(r), r, start, end));
+       return (bus_adjust_resource(dev, r, start, end));
 }
 
 /**
diff --git a/sys/powerpc/mpc85xx/lbc.c b/sys/powerpc/mpc85xx/lbc.c
index f6f38f22beb6..afac89b7597a 100644
--- a/sys/powerpc/mpc85xx/lbc.c
+++ b/sys/powerpc/mpc85xx/lbc.c
@@ -81,7 +81,7 @@ static int lbc_deactivate_resource(device_t bus,
 static struct rman *lbc_get_rman(device_t, int, u_int);
 static struct resource *lbc_alloc_resource(device_t, device_t, int, int *,
     rman_res_t, rman_res_t, rman_res_t, u_int);
-static int lbc_adjust_resource(device_t, device_t, int, struct resource *,
+static int lbc_adjust_resource(device_t, device_t, struct resource *,
     rman_res_t, rman_res_t);
 static int lbc_print_child(device_t, device_t);
 static int lbc_release_resource(device_t, device_t, int, int,
@@ -762,19 +762,15 @@ lbc_print_child(device_t dev, device_t child)
 }
 
 static int
-lbc_adjust_resource(device_t dev, device_t child, int type, struct resource *r,
+lbc_adjust_resource(device_t dev, device_t child, struct resource *r,
     rman_res_t start, rman_res_t end)
 {
-       switch (type) {
-       case SYS_RES_IOPORT:
-               type = SYS_RES_MEMORY;
-               /* FALLTHROUGH */
+       switch (rman_get_type(r)) {
        case SYS_RES_MEMORY:
-               return (bus_generic_rman_adjust_resource(dev, child, type, r,
-                   start, end));
-       case SYS_RES_IRQ:
-               return (bus_generic_adjust_resource(dev, child, type, r, start,
+               return (bus_generic_rman_adjust_resource(dev, child, r, start,
                    end));
+       case SYS_RES_IRQ:
+               return (bus_generic_adjust_resource(dev, child, r, start, end));
        default:
                return (EINVAL);
        }
diff --git a/sys/powerpc/powermac/macio.c b/sys/powerpc/powermac/macio.c
index f6ad815064e8..b443f277ec89 100644
--- a/sys/powerpc/powermac/macio.c
+++ b/sys/powerpc/powermac/macio.c
@@ -84,7 +84,7 @@ static struct rman *macio_get_rman(device_t, int, u_int);
 static struct   resource *macio_alloc_resource(device_t, device_t, int, int *,
                                               rman_res_t, rman_res_t, 
rman_res_t,
                                               u_int);
-static int  macio_adjust_resource(device_t, device_t, int, struct resource *,
+static int  macio_adjust_resource(device_t, device_t, struct resource *,
                                  rman_res_t, rman_res_t);
 static int  macio_activate_resource(device_t, device_t, int, int,
                                    struct resource *);
@@ -596,17 +596,16 @@ macio_alloc_resource(device_t bus, device_t child, int 
type, int *rid,
 }
 
 static int
-macio_adjust_resource(device_t bus, device_t child, int type,
-    struct resource *r, rman_res_t start, rman_res_t end)
+macio_adjust_resource(device_t bus, device_t child, struct resource *r,
+    rman_res_t start, rman_res_t end)
 {
-       switch (type) {
+       switch (rman_get_type(r)) {
        case SYS_RES_IOPORT:
        case SYS_RES_MEMORY:
-               return (bus_generic_rman_adjust_resource(bus, child, type, r,
-                   start, end));
-       case SYS_RES_IRQ:
-               return (bus_generic_adjust_resource(bus, child, type, r, start,
+               return (bus_generic_rman_adjust_resource(bus, child, r, start,
                    end));
+       case SYS_RES_IRQ:
+               return (bus_generic_adjust_resource(bus, child, r, start, end));
        default:
                return (EINVAL);
        }
diff --git a/sys/powerpc/powermac/uninorth.c b/sys/powerpc/powermac/uninorth.c
index b64bbc8ade62..b9cb4814b986 100644
--- a/sys/powerpc/powermac/uninorth.c
+++ b/sys/powerpc/powermac/uninorth.c
@@ -75,7 +75,7 @@ static struct rman *unin_chip_get_rman(device_t, int, u_int);
 static struct resource *unin_chip_alloc_resource(device_t, device_t, int, int 
*,
                                                 rman_res_t, rman_res_t,
                                                 rman_res_t, u_int);
-static int  unin_chip_adjust_resource(device_t, device_t, int,
+static int  unin_chip_adjust_resource(device_t, device_t,
                                      struct resource *, rman_res_t,
                                      rman_res_t);
 static int  unin_chip_activate_resource(device_t, device_t, int, int,
@@ -554,17 +554,16 @@ unin_chip_alloc_resource(device_t bus, device_t child, 
int type, int *rid,
 }
 
 static int
-unin_chip_adjust_resource(device_t bus, device_t child, int type,
-    struct resource *r, rman_res_t start, rman_res_t end)
+unin_chip_adjust_resource(device_t bus, device_t child, struct resource *r,
+    rman_res_t start, rman_res_t end)
 {
-       switch (type) {
+       switch (rman_get_type(r)) {
        case SYS_RES_IOPORT:
        case SYS_RES_MEMORY:
-               return (bus_generic_rman_adjust_resource(bus, child, type, r,
-                   start, end));
-       case SYS_RES_IRQ:
-               return (bus_generic_adjust_resource(bus, child, type, r, start,
+               return (bus_generic_rman_adjust_resource(bus, child, r, start,
                    end));
+       case SYS_RES_IRQ:
+               return (bus_generic_adjust_resource(bus, child, r, start, end));
        default:
                return (EINVAL);
        }
diff --git a/sys/powerpc/psim/iobus.c b/sys/powerpc/psim/iobus.c
index eea0255aa21c..79befbc8bd86 100644
--- a/sys/powerpc/psim/iobus.c
+++ b/sys/powerpc/psim/iobus.c
@@ -74,7 +74,7 @@ static struct rman *iobus_get_rman(device_t, int, u_int);
 static struct   resource *iobus_alloc_resource(device_t, device_t, int, int *,
                                               rman_res_t, rman_res_t, 
rman_res_t,
                                               u_int);
-static int  iobus_adjust_resource(device_t, device_t, int, struct resource *,
+static int  iobus_adjust_resource(device_t, device_t, struct resource *,
                                  rman_res_t, rman_res_t);
 static int  iobus_activate_resource(device_t, device_t, int, int,
                                    struct resource *);
@@ -342,18 +342,17 @@ iobus_alloc_resource(device_t bus, device_t child, int 
type, int *rid,
 }
 
 static int
-iobus_adjust_resource(device_t bus, device_t child, int type,
-    struct resource *r, rman_res_t start, rman_res_t end)
+iobus_adjust_resource(device_t bus, device_t child, struct resource *r,
+    rman_res_t start, rman_res_t end)
 {
 
-       switch (type) {
+       switch (rman_get_type(r)) {
        case SYS_RES_MEMORY:
        case SYS_RES_IOPORT:
-               return (bus_generic_rman_adjust_resource(bus, child, type, r,
-                   start, end));
-       case SYS_RES_IRQ:
-               return (bus_generic_adjust_resource(bus, child, type, r, start,
+               return (bus_generic_rman_adjust_resource(bus, child, r, start,
                    end));
+       case SYS_RES_IRQ:
+               return (bus_generic_adjust_resource(bus, child, r, start, end));
        default:
                return (EINVAL);
        }
diff --git a/sys/sys/bus.h b/sys/sys/bus.h
index 6fcd414dc7be..310b3646f49f 100644
--- a/sys/sys/bus.h
+++ b/sys/sys/bus.h
@@ -432,7 +432,7 @@ int bus_generic_activate_resource(device_t dev, device_t 
child, int type,
 device_t
        bus_generic_add_child(device_t dev, u_int order, const char *name,
                              int unit);
-int    bus_generic_adjust_resource(device_t bus, device_t child, int type,
+int    bus_generic_adjust_resource(device_t bus, device_t child,
                                    struct resource *r, rman_res_t start,
                                    rman_res_t end);
 struct resource *
@@ -504,7 +504,7 @@ struct resource *
                                        int *rid, rman_res_t start,
                                        rman_res_t end, rman_res_t count,
                                        u_int flags);
-int    bus_generic_rman_adjust_resource(device_t dev, device_t child, int type,
+int    bus_generic_rman_adjust_resource(device_t dev, device_t child,
                                         struct resource *r, rman_res_t start,
                                         rman_res_t end);
 int    bus_generic_rman_release_resource(device_t dev, device_t child,
@@ -554,7 +554,7 @@ int bus_alloc_resources(device_t dev, struct resource_spec 
*rs,
 void   bus_release_resources(device_t dev, const struct resource_spec *rs,
                              struct resource **res);
 
-int    bus_adjust_resource(device_t child, int type, struct resource *r,
+int    bus_adjust_resource(device_t child, struct resource *r,
                            rman_res_t start, rman_res_t end);
 int    bus_translate_resource(device_t child, int type, rman_res_t start,
                               rman_res_t *newstart);
@@ -614,7 +614,7 @@ bus_alloc_resource_anywhere(device_t dev, int type, int 
*rid,
 }
 
 /* Compat shims for simpler bus resource API. */
-int    bus_adjust_resource_new(device_t child, struct resource *r,
+int    bus_adjust_resource_old(device_t child, int type, struct resource *r,
     rman_res_t start, rman_res_t end);
 int    bus_activate_resource_new(device_t dev, struct resource *r);
 int    bus_deactivate_resource_new(device_t dev, struct resource *r);
@@ -627,8 +627,8 @@ int bus_release_resource_new(device_t dev, struct resource 
*r);
 #define        _BUS_API_MACRO(_1, _2, _3, _4, _5, NAME, ...)   NAME
 
 #define        bus_adjust_resource(...)                                        
\
-       _BUS_API_MACRO(__VA_ARGS__, bus_adjust_resource,                \
-           bus_adjust_resource_new)(__VA_ARGS__)
+       _BUS_API_MACRO(__VA_ARGS__, bus_adjust_resource_old,            \
+           bus_adjust_resource)(__VA_ARGS__)
 
 #define        bus_activate_resource(...)                                      
\
        _BUS_API_MACRO(__VA_ARGS__, INVALID, bus_activate_resource,     \
diff --git a/sys/x86/include/legacyvar.h b/sys/x86/include/legacyvar.h
index 5627e9b90306..789c6c55f198 100644
--- a/sys/x86/include/legacyvar.h
+++ b/sys/x86/include/legacyvar.h
@@ -58,7 +58,7 @@ int   legacy_pcib_write_ivar(device_t dev, device_t child, 
int which,
 struct resource *legacy_pcib_alloc_resource(device_t dev, device_t child,
     int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count,
     u_int flags);
-int    legacy_pcib_adjust_resource(device_t dev, device_t child, int type,
+int    legacy_pcib_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end);
 int    legacy_pcib_release_resource(device_t dev, device_t child, int type,
     int rid, struct resource *r);
diff --git a/sys/x86/pci/pci_bus.c b/sys/x86/pci/pci_bus.c
index cfe0a3974187..c7715c47d3c8 100644
--- a/sys/x86/pci/pci_bus.c
+++ b/sys/x86/pci/pci_bus.c
@@ -607,13 +607,13 @@ legacy_pcib_alloc_resource(device_t dev, device_t child, 
int type, int *rid,
 
 #if defined(NEW_PCIB) && defined(PCI_RES_BUS)
 int
-legacy_pcib_adjust_resource(device_t dev, device_t child, int type,
+legacy_pcib_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
 
-       if (type == PCI_RES_BUS)
+       if (rman_get_type(r) == PCI_RES_BUS)
                return (pci_domain_adjust_bus(0, child, r, start, end));
-       return (bus_generic_adjust_resource(dev, child, type, r, start, end));
+       return (bus_generic_adjust_resource(dev, child, r, start, end));
 }
 
 int
diff --git a/sys/x86/x86/mptable_pci.c b/sys/x86/x86/mptable_pci.c
index 5792b0cb7387..de659ca75163 100644
--- a/sys/x86/x86/mptable_pci.c
+++ b/sys/x86/x86/mptable_pci.c
@@ -139,18 +139,17 @@ mptable_hostb_alloc_resource(device_t dev, device_t 
child, int type, int *rid,
 }
 
 static int
-mptable_hostb_adjust_resource(device_t dev, device_t child, int type,
+mptable_hostb_adjust_resource(device_t dev, device_t child,
     struct resource *r, rman_res_t start, rman_res_t end)
 {
        struct mptable_hostb_softc *sc;
 
 #ifdef PCI_RES_BUS
-       if (type == PCI_RES_BUS)
+       if (rman_get_type(r) == PCI_RES_BUS)
                return (pci_domain_adjust_bus(0, child, r, start, end));
 #endif
        sc = device_get_softc(dev);
-       return (pcib_host_res_adjust(&sc->sc_host_res, child, type, r, start,
-           end));
+       return (pcib_host_res_adjust(&sc->sc_host_res, child, r, start, end));
 }
 #endif
 

Reply via email to