Date: Fri, 27 Jan 2006 00:17:18 GMT From: Scott Long <scottl@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 90437 for review Message-ID: <200601270017.k0R0HI0Z041003@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=90437 Change 90437 by scottl@scottl-junior on 2006/01/27 00:16:31 Begin restoring the newbus infrastructure for xenbus. Affected files ... .. //depot/projects/xen3-newbus/src/sys/dev/xen/xenbus/xenbus_probe.c#3 edit Differences ... ==== //depot/projects/xen3-newbus/src/sys/dev/xen/xenbus/xenbus_probe.c#3 (text+ko) ==== @@ -1051,8 +1051,33 @@ } #endif + +statuc void +xenhub_identify(driver_t *driver, device_t parent) +{ + device_t child; + + if (device_find_child(parent, "xenhub", 0) != NULL) + return; + + if ((child = BUS_ADD_CHILD(parent, 0, "xenhub", 0)) == NULL) { + device_printf(parent, "xenhub_identify failed\n"); + return; + } + + return; +} + +static int +xenhub_probe(device_t dev) +{ + + device_set_desc(dev, "Xen 3.0 Hub"); + return (0); +} + static int -xenbus_probe_sysinit(void *unused) +xenhub_attach(device_t dev) { int err = 0, dom0; @@ -1154,25 +1179,43 @@ return 0; } +static int +xenhub_suspend(device_t dev) +{ + + return (EINVAL); +} + +static int +xenhub_resume(device_t dev) +{ + + return (0); +} + +static int +xenhub_add_child(device_t parent, device_t child) +{ + + return (0); +} + SYSINIT(xenbus_probe_sysinit, SI_SUB_PSEUDO, SI_ORDER_FIRST, xenbus_probe_sysinit, NULL); -#if 0 -static device_method_t xenbus_methods[] = { +static device_method_t xenhub_methods[] = { /* Device interface */ -#if 0 - DEVMETHOD(device_identify, xenbus_identify), - DEVMETHOD(device_probe, xenbus_probe), - DEVMETHOD(device_attach, xenbus_attach), + DEVMETHOD(device_identify, xenhub_identify), + DEVMETHOD(device_probe, xenhub_probe), + DEVMETHOD(device_attach, xenhub_attach), DEVMETHOD(device_detach, bus_generic_detach), DEVMETHOD(device_shutdown, bus_generic_shutdown), -#endif - DEVMETHOD(device_suspend, xenbus_suspend), - DEVMETHOD(device_resume, xenbus_resume), + DEVMETHOD(device_suspend, xenhub_suspend), + DEVMETHOD(device_resume, xenhub_resume), /* Bus interface */ DEVMETHOD(bus_print_child, bus_generic_print_child), - DEVMETHOD(bus_add_child, xenbus_add_child), + DEVMETHOD(bus_add_child, xenhub_add_child), DEVMETHOD(bus_read_ivar, bus_generic_read_ivar), DEVMETHOD(bus_write_ivar, bus_generic_write_ivar), #if 0 @@ -1194,15 +1237,13 @@ static char driver_name[] = "xenbus"; static driver_t xenbus_driver = { - driver_name, - xenbus_methods, - sizeof(struct xenbus_device), + "xenhub", + xenhub_methods, + sizeof(struct xenhub_device), }; -devclass_t xenbus_devclass; +devclass_t xenhub_devclass; -DRIVER_MODULE(xenbus, nexus, xenbus_driver, xenbus_devclass, 0, 0); - -#endif +DRIVER_MODULE(xenhub, nexus, xenhub_driver, xenhub_devclass, 0, 0); /* * Local variables:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601270017.k0R0HI0Z041003>