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
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to