Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Dec 2019 21:35:03 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r355824 - in head/sys/dev: exca pccbb
Message-ID:  <201912162135.xBGLZ3TN096890@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Mon Dec 16 21:35:02 2019
New Revision: 355824
URL: https://svnweb.freebsd.org/changeset/base/355824

Log:
  Move attachment of pccard children into exca library. Attach the
  cardbus and pccard children before the sysctls are added rather than
  after.

Modified:
  head/sys/dev/exca/exca.c
  head/sys/dev/pccbb/pccbb_pci.c

Modified: head/sys/dev/exca/exca.c
==============================================================================
--- head/sys/dev/exca/exca.c	Mon Dec 16 21:34:57 2019	(r355823)
+++ head/sys/dev/exca/exca.c	Mon Dec 16 21:35:02 2019	(r355824)
@@ -646,6 +646,11 @@ exca_init(struct exca_softc *sc, device_t dev, 
 	sc->flags = 0;
 	sc->getb = exca_mem_getb;
 	sc->putb = exca_mem_putb;
+	sc->pccarddev = device_add_child(dev, "pccard", -1);
+	if (sc->pccarddev == NULL)
+		DEVPRINTF(brdev, "WARNING: cannot add pccard bus.\n");
+	else if (device_probe_and_attach(sc->pccarddev) != 0)
+		DEVPRINTF(brdev, "WARNING: cannot attach pccard bus.\n");
 }
 
 /*
@@ -742,6 +747,8 @@ exca_valid_slot(struct exca_softc *exca)
 		 *	Intel i82365sl-DF step or maybe a vlsi 82c146
 		 * we detected the vlsi case earlier, so if the controller
 		 * isn't set, we know it is a i82365sl step D.
+		 * XXXX Except we didn't -- this is a regression but VLSI
+		 * controllers are super hard to find these days for testing.
 		 */
 		exca->chipset = EXCA_I82365SL_DF;
 		break;

Modified: head/sys/dev/pccbb/pccbb_pci.c
==============================================================================
--- head/sys/dev/pccbb/pccbb_pci.c	Mon Dec 16 21:34:57 2019	(r355823)
+++ head/sys/dev/pccbb/pccbb_pci.c	Mon Dec 16 21:35:02 2019	(r355824)
@@ -317,6 +317,13 @@ cbb_pci_attach(device_t brdev)
 		    rman_get_start(sc->base_res)));
 	}
 
+	/* attach children */
+	sc->cbdev = device_add_child(brdev, "cardbus", -1);
+	if (sc->cbdev == NULL)
+		DEVPRINTF((brdev, "WARNING: cannot add cardbus bus.\n"));
+	else if (device_probe_and_attach(sc->cbdev) != 0)
+		DEVPRINTF((brdev, "WARNING: cannot attach cardbus bus!\n"));
+
 	sc->bst = rman_get_bustag(sc->base_res);
 	sc->bsh = rman_get_bushandle(sc->base_res);
 	exca_init(&sc->exca, brdev, sc->bst, sc->bsh, CBB_EXCA_OFFSET);
@@ -372,19 +379,6 @@ cbb_pci_attach(device_t brdev)
 		pci_write_config(brdev, PCIR_SUBBUS_2, sc->bus.sub, 1);
 	}
 #endif
-
-	/* attach children */
-	sc->cbdev = device_add_child(brdev, "cardbus", -1);
-	if (sc->cbdev == NULL)
-		DEVPRINTF((brdev, "WARNING: cannot add cardbus bus.\n"));
-	else if (device_probe_and_attach(sc->cbdev) != 0)
-		DEVPRINTF((brdev, "WARNING: cannot attach cardbus bus!\n"));
-
-	sc->exca.pccarddev = device_add_child(brdev, "pccard", -1);
-	if (sc->exca.pccarddev == NULL)
-		DEVPRINTF((brdev, "WARNING: cannot add pccard bus.\n"));
-	else if (device_probe_and_attach(sc->exca.pccarddev) != 0)
-		DEVPRINTF((brdev, "WARNING: cannot attach pccard bus.\n"));
 
 	/* Map and establish the interrupt. */
 	rid = 0;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912162135.xBGLZ3TN096890>