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) > _at__at_ -132,7 +132,9 _at__at_ > 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) > _at__at_ -82,7 +82,9 _at__at_ > 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) > _at__at_ -726,3 +726,41 _at__at_ > } > 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) > _at__at_ -82,9 +82,12 _at__at_ > 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 BaldwinReceived on Fri Jun 10 2011 - 17:11:05 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:14 UTC