From owner-freebsd-current@FreeBSD.ORG Fri Jun 10 19:11:05 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 12C4B106564A for ; Fri, 10 Jun 2011 19:11:05 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 8DF758FC0C for ; Fri, 10 Jun 2011 19:11:04 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id 2025446B0A for ; Fri, 10 Jun 2011 15:11:04 -0400 (EDT) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id AF8818A01F for ; Fri, 10 Jun 2011 15:11:03 -0400 (EDT) From: John Baldwin To: freebsd-current@freebsd.org Date: Fri, 10 Jun 2011 15:11:02 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110325; KDE/4.5.5; amd64; ; ) References: <201105231039.02845.jhb@freebsd.org> In-Reply-To: <201105231039.02845.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201106101511.02809.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Fri, 10 Jun 2011 15:11:03 -0400 (EDT) Subject: Re: [PATCH] Simple tidy up of puc(4) bus driver X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Jun 2011 19:11:05 -0000 On Monday, May 23, 2011 10:39:02 am John Baldwin wrote: > This small patch makes the puc(4) bus drivers a little more friendly. It > should now list the port for each child device in the boot messages, and > devinfo -v should list the type and port of each child device in its output as > well: Can I get a volunteer to test these changes? > > Index: puc_pci.c > =================================================================== > --- puc_pci.c (revision 222126) > +++ puc_pci.c (working copy) > @@ -132,7 +132,9 @@ > DEVMETHOD(bus_read_ivar, puc_bus_read_ivar), > DEVMETHOD(bus_setup_intr, puc_bus_setup_intr), > DEVMETHOD(bus_teardown_intr, puc_bus_teardown_intr), > - DEVMETHOD(bus_print_child, bus_generic_print_child), > + DEVMETHOD(bus_print_child, puc_bus_print_child), > + DEVMETHOD(bus_child_pnpinfo_str, puc_bus_child_pnpinfo_str), > + DEVMETHOD(bus_child_location_str, puc_bus_child_location_str), > DEVMETHOD(bus_driver_added, bus_generic_driver_added), > { 0, 0 } > }; > Index: puc_pccard.c > =================================================================== > --- puc_pccard.c (revision 222126) > +++ puc_pccard.c (working copy) > @@ -82,7 +82,9 @@ > DEVMETHOD(bus_read_ivar, puc_bus_read_ivar), > DEVMETHOD(bus_setup_intr, puc_bus_setup_intr), > DEVMETHOD(bus_teardown_intr, puc_bus_teardown_intr), > - DEVMETHOD(bus_print_child, bus_generic_print_child), > + DEVMETHOD(bus_print_child, puc_bus_print_child), > + DEVMETHOD(bus_child_pnpinfo_str, puc_bus_child_pnpinfo_str), > + DEVMETHOD(bus_child_location_str, puc_bus_child_location_str), > DEVMETHOD(bus_driver_added, bus_generic_driver_added), > { 0, 0 } > }; > Index: puc.c > =================================================================== > --- puc.c (revision 222126) > +++ puc.c (working copy) > @@ -726,3 +726,41 @@ > } > return (0); > } > + > +int > +puc_bus_print_child(device_t dev, device_t child) > +{ > + struct puc_port *port; > + int retval; > + > + port = device_get_ivars(child); > + retval = 0; > + > + retval += bus_print_child_header(dev, child); > + retval += printf(" at port %d", port->p_nr); > + retval += bus_print_child_footer(dev, child); > + > + return (retval); > +} > + > +int > +puc_bus_child_location_str(device_t dev, device_t child, char *buf, > + size_t buflen) > +{ > + struct puc_port *port; > + > + port = device_get_ivars(child); > + snprintf(buf, buflen, "port=%d", port->p_nr); > + return (0); > +} > + > +int > +puc_bus_child_pnpinfo_str(device_t dev, device_t child, char *buf, > + size_t buflen) > +{ > + struct puc_port *port; > + > + port = device_get_ivars(child); > + snprintf(buf, buflen, "type=%d", port->p_type); > + return (0); > +} > Index: puc_bfe.h > =================================================================== > --- puc_bfe.h (revision 222126) > +++ puc_bfe.h (working copy) > @@ -82,9 +82,12 @@ > int puc_bfe_detach(device_t); > int puc_bfe_probe(device_t, const struct puc_cfg *); > > +int puc_bus_child_location_str(device_t, device_t, char *, size_t); > +int puc_bus_child_pnpinfo_str(device_t, device_t, char *, size_t); > struct resource *puc_bus_alloc_resource(device_t, device_t, int, int *, > u_long, > u_long, u_long, u_int); > int puc_bus_get_resource(device_t, device_t, int, int, u_long *, u_long *); > +int puc_bus_print_child(device_t, device_t); > int puc_bus_read_ivar(device_t, device_t, int, uintptr_t *); > int puc_bus_release_resource(device_t, device_t, int, int, struct resource > *); > int puc_bus_setup_intr(device_t, device_t, struct resource *, int, > -- John Baldwin