summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authortsutsui <tsutsui@NetBSD.org>2009-09-08 18:31:36 +0000
committertsutsui <tsutsui@NetBSD.org>2009-09-08 18:31:36 +0000
commit32fba4227289978ffb95e01c324e0215db070d77 (patch)
treedd7404c74075a80888b4ee8497ba2cd14de20b36 /sys/dev
parent26a7078461abd96268afcfbfa2cdded4a06396b0 (diff)
sbus_establish() should take device_t self for the device itself,
not device_t parent even if sbus is grandparent of the device, otherwise (*sd_reset)() callbacks will be called with an wrong device_t. Even in such case, sbus_establish() looks for an sbus though device tree. XXX: (*sd_reset)() isn't called anyway, and these stuff seems really bogus.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/sbus/esp_sbus.c8
-rw-r--r--sys/dev/sbus/if_le_lebuffer.c8
-rw-r--r--sys/dev/sbus/if_le_ledma.c8
3 files changed, 12 insertions, 12 deletions
diff --git a/sys/dev/sbus/esp_sbus.c b/sys/dev/sbus/esp_sbus.c
index 186dd829477..ed5feac17a8 100644
--- a/sys/dev/sbus/esp_sbus.c
+++ b/sys/dev/sbus/esp_sbus.c
@@ -1,4 +1,4 @@
-/* $NetBSD: esp_sbus.c,v 1.49 2009/09/08 18:15:17 tsutsui Exp $ */
+/* $NetBSD: esp_sbus.c,v 1.50 2009/09/08 18:31:36 tsutsui Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: esp_sbus.c,v 1.49 2009/09/08 18:15:17 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: esp_sbus.c,v 1.50 2009/09/08 18:31:36 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -408,9 +408,9 @@ espattach_dma(device_t parent, device_t self, void *aux)
esc->sc_pri = sa->sa_pri;
- /* Assume SBus is grandparent */
+ /* SBus is grandparent, but sbus_establish() looks for it properly */
esc->sc_sd.sd_reset = esp_sbus_reset;
- sbus_establish(&esc->sc_sd, parent);
+ sbus_establish(&esc->sc_sd, self);
espattach(esc, &esp_sbus_glue);
}
diff --git a/sys/dev/sbus/if_le_lebuffer.c b/sys/dev/sbus/if_le_lebuffer.c
index 17d0d55e04c..c9564ac5350 100644
--- a/sys/dev/sbus/if_le_lebuffer.c
+++ b/sys/dev/sbus/if_le_lebuffer.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_le_lebuffer.c,v 1.25 2009/09/08 18:15:17 tsutsui Exp $ */
+/* $NetBSD: if_le_lebuffer.c,v 1.26 2009/09/08 18:31:36 tsutsui Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_le_lebuffer.c,v 1.25 2009/09/08 18:15:17 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_le_lebuffer.c,v 1.26 2009/09/08 18:31:36 tsutsui Exp $");
#include "opt_inet.h"
#include "bpfilter.h"
@@ -175,9 +175,9 @@ leattach_lebuffer(device_t parent, device_t self, void *aux)
sc->sc_conf3 = prom_getpropint(sa->sa_node, "busmaster-regval",
LE_C3_BSWP | LE_C3_ACON | LE_C3_BCON);
- /* Assume SBus is grandparent */
+ /* SBus is grandparent, but sbus_establish() looks for it properly */
lesc->sc_sd.sd_reset = le_lebuffer_reset;
- sbus_establish(&lesc->sc_sd, parent);
+ sbus_establish(&lesc->sc_sd, self);
sc->sc_supmedia = lemedia;
sc->sc_nsupmedia = NLEMEDIA;
diff --git a/sys/dev/sbus/if_le_ledma.c b/sys/dev/sbus/if_le_ledma.c
index 50475998e7b..ee37c811f27 100644
--- a/sys/dev/sbus/if_le_ledma.c
+++ b/sys/dev/sbus/if_le_ledma.c
@@ -1,4 +1,4 @@
-/* $NetBSD: if_le_ledma.c,v 1.32 2009/09/08 18:15:17 tsutsui Exp $ */
+/* $NetBSD: if_le_ledma.c,v 1.33 2009/09/08 18:31:36 tsutsui Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_le_ledma.c,v 1.32 2009/09/08 18:15:17 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_le_ledma.c,v 1.33 2009/09/08 18:31:36 tsutsui Exp $");
#include "opt_inet.h"
#include "bpfilter.h"
@@ -391,9 +391,9 @@ leattach_ledma(device_t parent, device_t self, void *aux)
sc->sc_conf3 = LE_C3_BSWP | LE_C3_ACON | LE_C3_BCON;
lesc->sc_lostcount = 0;
- /* Assume SBus is grandparent */
+ /* SBus is grandparent, but sbus_establish looks for it properly */
lesc->sc_sd.sd_reset = le_ledma_reset;
- sbus_establish(&lesc->sc_sd, parent);
+ sbus_establish(&lesc->sc_sd, self);
sc->sc_mediachange = lemediachange;
sc->sc_mediastatus = lemediastatus;