svn commit: r300760 - head/sys/dev/siba

Adrian Chadd adrian at FreeBSD.org
Thu May 26 18:01:04 UTC 2016


Author: adrian
Date: Thu May 26 18:01:03 2016
New Revision: 300760
URL: https://svnweb.freebsd.org/changeset/base/300760

Log:
  [siba] use the generic bus methods where appropriate.
  
  Submitted by:	jhibbits
  Differential Revision:	https://reviews.freebsd.org/D802

Modified:
  head/sys/dev/siba/siba_bwn.c

Modified: head/sys/dev/siba/siba_bwn.c
==============================================================================
--- head/sys/dev/siba/siba_bwn.c	Thu May 26 17:06:43 2016	(r300759)
+++ head/sys/dev/siba/siba_bwn.c	Thu May 26 18:01:03 2016	(r300760)
@@ -177,43 +177,17 @@ siba_bwn_detach(device_t dev)
 }
 
 static int
-siba_bwn_shutdown(device_t dev)
-{
-	device_t *devlistp;
-	int devcnt, error = 0, i;
-
-	error = device_get_children(dev, &devlistp, &devcnt);
-	if (error != 0)
-		return (error);
-
-	for (i = 0 ; i < devcnt ; i++)
-		device_shutdown(devlistp[i]);
-	free(devlistp, M_TEMP);
-	return (0);
-}
-
-static int
 siba_bwn_suspend(device_t dev)
 {
 	struct siba_bwn_softc *ssc = device_get_softc(dev);
 	struct siba_softc *siba = &ssc->ssc_siba;
-	device_t *devlistp;
-	int devcnt, error = 0, i, j;
+	int error;
+
+	error = bus_generic_suspend(dev);
 
-	error = device_get_children(dev, &devlistp, &devcnt);
 	if (error != 0)
 		return (error);
 
-	for (i = 0 ; i < devcnt ; i++) {
-		error = DEVICE_SUSPEND(devlistp[i]);
-		if (error) {
-			for (j = 0; j < i; j++)
-				DEVICE_RESUME(devlistp[j]);
-			free(devlistp, M_TEMP);
-			return (error);
-		}
-	}
-	free(devlistp, M_TEMP);
 	return (siba_core_suspend(siba));
 }
 
@@ -222,20 +196,14 @@ siba_bwn_resume(device_t dev)
 {
 	struct siba_bwn_softc *ssc = device_get_softc(dev);
 	struct siba_softc *siba = &ssc->ssc_siba;
-	device_t *devlistp;
-	int devcnt, error = 0, i;
+	int error;
 
 	error = siba_core_resume(siba);
 	if (error != 0)
 		return (error);
 
-	error = device_get_children(dev, &devlistp, &devcnt);
-	if (error != 0)
-		return (error);
+	bus_generic_resume(dev);
 
-	for (i = 0 ; i < devcnt ; i++)
-		DEVICE_RESUME(devlistp[i]);
-	free(devlistp, M_TEMP);
 	return (0);
 }
 
@@ -410,7 +378,7 @@ static device_method_t siba_bwn_methods[
 	DEVMETHOD(device_probe,		siba_bwn_probe),
 	DEVMETHOD(device_attach,	siba_bwn_attach),
 	DEVMETHOD(device_detach,	siba_bwn_detach),
-	DEVMETHOD(device_shutdown,	siba_bwn_shutdown),
+	DEVMETHOD(device_shutdown,	bus_generic_shutdown),
 	DEVMETHOD(device_suspend,	siba_bwn_suspend),
 	DEVMETHOD(device_resume,	siba_bwn_resume),
 


More information about the svn-src-head mailing list