From 1b3328c30076a4872fb76549719ee41c4f633e6a Mon Sep 17 00:00:00 2001 From: mdodd Date: Thu, 29 Jul 1999 01:03:04 +0000 Subject: 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: " 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 --- sys/isa/atkbdc_isa.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'sys/isa/atkbdc_isa.c') 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 -- cgit v1.1