summaryrefslogtreecommitdiffstats
path: root/sys/isa
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>1999-07-29 01:03:04 +0000
committermdodd <mdodd@FreeBSD.org>1999-07-29 01:03:04 +0000
commit1b3328c30076a4872fb76549719ee41c4f633e6a (patch)
tree08fbd565ea1bf201e2bfcfcd2a4119c82ef665a7 /sys/isa
parent0d84c8efb0a2e4b063d0c818f89eb17ee4bc6e47 (diff)
downloadFreeBSD-src-1b3328c30076a4872fb76549719ee41c4f633e6a.zip
FreeBSD-src-1b3328c30076a4872fb76549719ee41c4f633e6a.tar.gz
Alter the behavior of sys/kern/subr_bus.c:device_print_child()
- device_print_child() either lets the BUS_PRINT_CHILD method produce the entire device announcement message or it prints "foo0: not found\n" Alter sys/kern/subr_bus.c:bus_generic_print_child() to take on the previous behavior of device_print_child() (printing the "foo0: <FooDevice 1.1>" bit of the announce message.) Provide bus_print_child_header() and bus_print_child_footer() to actually print the output for bus_generic_print_child(). These functions should be used whenever possible (unless you can just use bus_generic_print_child()) The BUS_PRINT_CHILD method now returns int instead of void. Modify everything else that defines or uses a BUS_PRINT_CHILD method to comply with the above changes. - Devices are 'on' a bus, not 'at' it. - If a custom BUS_PRINT_CHILD method does the same thing as bus_generic_print_child(), use bus_generic_print_child() - Use device_get_nameunit() instead of both device_get_name() and device_get_unit() - All BUS_PRINT_CHILD methods return the number of characters output. Reviewed by: dfr, peter
Diffstat (limited to 'sys/isa')
-rw-r--r--sys/isa/atkbdc_isa.c15
-rw-r--r--sys/isa/fd.c11
-rw-r--r--sys/isa/isa_common.c24
3 files changed, 31 insertions, 19 deletions
diff --git a/sys/isa/atkbdc_isa.c b/sys/isa/atkbdc_isa.c
index 0c57bc3..387f9a5 100644
--- a/sys/isa/atkbdc_isa.c
+++ b/sys/isa/atkbdc_isa.c
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: atkbdc_isa.c,v 1.8 1999/05/30 11:12:27 dfr Exp $
+ * $Id: atkbdc_isa.c,v 1.9 1999/06/29 17:35:09 yokota Exp $
*/
#include "atkbdc.h"
@@ -59,7 +59,7 @@ devclass_t atkbdc_devclass;
static int atkbdc_probe(device_t dev);
static int atkbdc_attach(device_t dev);
-static void atkbdc_print_child(device_t bus, device_t dev);
+static int atkbdc_print_child(device_t bus, device_t dev);
static int atkbdc_read_ivar(device_t bus, device_t dev, int index,
u_long *val);
static int atkbdc_write_ivar(device_t bus, device_t dev, int index,
@@ -201,19 +201,22 @@ atkbdc_attach(device_t dev)
return 0;
}
-static void
+static int
atkbdc_print_child(device_t bus, device_t dev)
{
atkbdc_device_t *kbdcdev;
+ int retval = 0;
kbdcdev = (atkbdc_device_t *)device_get_ivars(dev);
+ retval += bus_print_child_header(bus, dev);
if (kbdcdev->flags != 0)
- printf(" flags 0x%x", kbdcdev->flags);
+ retval += printf(" flags 0x%x", kbdcdev->flags);
if (kbdcdev->irq != -1)
- printf(" irq %d", kbdcdev->irq);
+ retval += printf(" irq %d", kbdcdev->irq);
+ retval += bus_print_child_footer(bus, dev);
- printf(" on %s%d", device_get_name(bus), device_get_unit(bus));
+ return (retval);
}
static int
diff --git a/sys/isa/fd.c b/sys/isa/fd.c
index 597d2da..eaa5b0f 100644
--- a/sys/isa/fd.c
+++ b/sys/isa/fd.c
@@ -47,7 +47,7 @@
* SUCH DAMAGE.
*
* from: @(#)fd.c 7.4 (Berkeley) 5/25/91
- * $Id: fd.c,v 1.148 1999/07/04 14:58:32 phk Exp $
+ * $Id: fd.c,v 1.149 1999/07/21 12:19:44 joerg Exp $
*
*/
@@ -757,11 +757,16 @@ fdc_attach(device_t dev)
return (bus_generic_attach(dev));
}
-static void
+static int
fdc_print_child(device_t me, device_t child)
{
- printf(" at %s%d drive %d", device_get_name(me), device_get_unit(me),
+ int retval = 0;
+
+ retval += bus_print_child_header(me, child);
+ retval += printf(" on %s drive %d\n", device_get_nameunit(me),
*(int *)device_get_ivars(child));
+
+ return (retval);
}
static int
diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c
index d2207ac..35bd28a 100644
--- a/sys/isa/isa_common.c
+++ b/sys/isa/isa_common.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: isa_common.c,v 1.2 1999/05/28 09:24:58 dfr Exp $
+ * $Id: isa_common.c,v 1.3 1999/05/30 11:02:09 dfr Exp $
*/
/*
* Modifications for Intel architecture by Garrett A. Wollman.
@@ -152,24 +152,28 @@ isa_print_resources(struct resource_list *rl, const char *name, int type,
}
}
-static void
+static int
isa_print_child(device_t bus, device_t dev)
{
struct isa_device *idev = DEVTOISA(dev);
struct resource_list *rl = &idev->id_resources;
+ int retval = 0;
+
+ retval += bus_print_child_header(bus, dev);
if (SLIST_FIRST(rl) || idev->id_flags)
- printf(" at");
+ retval += printf(" at");
- isa_print_resources(rl, "port", SYS_RES_IOPORT, "%#lx");
- isa_print_resources(rl, "iomem", SYS_RES_MEMORY, "%#lx");
- isa_print_resources(rl, "irq", SYS_RES_IRQ, "%ld");
- isa_print_resources(rl, "drq", SYS_RES_DRQ, "%ld");
+ retval += isa_print_resources(rl, "port", SYS_RES_IOPORT, "%#lx");
+ retval += isa_print_resources(rl, "iomem", SYS_RES_MEMORY, "%#lx");
+ retval += isa_print_resources(rl, "irq", SYS_RES_IRQ, "%ld");
+ retval += isa_print_resources(rl, "drq", SYS_RES_DRQ, "%ld");
if (idev->id_flags)
- printf(" flags %#x", idev->id_flags);
+ retval += printf(" flags %#x", idev->id_flags);
+
+ retval += bus_print_child_footer(bus, dev);
- printf(" on %s%d",
- device_get_name(bus), device_get_unit(bus));
+ return (retval);
}
static int
OpenPOWER on IntegriCloud