usb/133896: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Tue May 5 15:40:04 UTC 2009
The following reply was made to PR usb/133896; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: usb/133896: commit references a PR
Date: Tue, 5 May 2009 15:39:45 +0000 (UTC)
Author: thompsa
Date: Tue May 5 15:39:29 2009
New Revision: 191825
URL: http://svn.freebsd.org/changeset/base/191825
Log:
Remove USB shutdown methods from device drivers as its the host controllers
responsibility to detach the bus.
PR: usb/133896
Submitted by: Hans Petter Selasky
Modified:
head/sys/dev/usb/net/if_aue.c
head/sys/dev/usb/net/if_axe.c
head/sys/dev/usb/net/if_cdce.c
head/sys/dev/usb/net/if_cue.c
head/sys/dev/usb/net/if_kue.c
head/sys/dev/usb/net/if_rue.c
head/sys/dev/usb/net/if_udav.c
head/sys/dev/usb/net/usb_ethernet.c
head/sys/dev/usb/net/usb_ethernet.h
head/sys/dev/usb/storage/ustorage_fs.c
head/sys/dev/usb/usb_compat_linux.c
head/sys/dev/usb/usb_hub.c
Modified: head/sys/dev/usb/net/if_aue.c
==============================================================================
--- head/sys/dev/usb/net/if_aue.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_aue.c Tue May 5 15:39:29 2009 (r191825)
@@ -173,7 +173,6 @@ static const struct usb2_device_id aue_d
static device_probe_t aue_probe;
static device_attach_t aue_attach;
static device_detach_t aue_detach;
-static device_shutdown_t aue_shutdown;
static miibus_readreg_t aue_miibus_readreg;
static miibus_writereg_t aue_miibus_writereg;
static miibus_statchg_t aue_miibus_statchg;
@@ -239,7 +238,6 @@ static device_method_t aue_methods[] = {
DEVMETHOD(device_probe, aue_probe),
DEVMETHOD(device_attach, aue_attach),
DEVMETHOD(device_detach, aue_detach),
- DEVMETHOD(device_shutdown, aue_shutdown),
/* bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -1038,17 +1036,3 @@ aue_stop(struct usb2_ether *ue)
aue_csr_write_1(sc, AUE_CTL1, 0);
aue_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-aue_shutdown(device_t dev)
-{
- struct aue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
Modified: head/sys/dev/usb/net/if_axe.c
==============================================================================
--- head/sys/dev/usb/net/if_axe.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_axe.c Tue May 5 15:39:29 2009 (r191825)
@@ -151,7 +151,6 @@ static const struct usb2_device_id axe_d
static device_probe_t axe_probe;
static device_attach_t axe_attach;
static device_detach_t axe_detach;
-static device_shutdown_t axe_shutdown;
static usb2_callback_t axe_intr_callback;
static usb2_callback_t axe_bulk_read_callback;
@@ -216,7 +215,6 @@ static device_method_t axe_methods[] = {
DEVMETHOD(device_probe, axe_probe),
DEVMETHOD(device_attach, axe_attach),
DEVMETHOD(device_detach, axe_detach),
- DEVMETHOD(device_shutdown, axe_shutdown),
/* bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -1060,17 +1058,3 @@ axe_stop(struct usb2_ether *ue)
axe_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-axe_shutdown(device_t dev)
-{
- struct axe_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
Modified: head/sys/dev/usb/net/if_cdce.c
==============================================================================
--- head/sys/dev/usb/net/if_cdce.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_cdce.c Tue May 5 15:39:29 2009 (r191825)
@@ -67,7 +67,6 @@ __FBSDID("$FreeBSD$");
static device_probe_t cdce_probe;
static device_attach_t cdce_attach;
static device_detach_t cdce_detach;
-static device_shutdown_t cdce_shutdown;
static device_suspend_t cdce_suspend;
static device_resume_t cdce_resume;
static usb_handle_request_t cdce_handle_request;
@@ -157,7 +156,6 @@ static device_method_t cdce_methods[] =
DEVMETHOD(device_detach, cdce_detach),
DEVMETHOD(device_suspend, cdce_suspend),
DEVMETHOD(device_resume, cdce_resume),
- DEVMETHOD(device_shutdown, cdce_shutdown),
{0, 0}
};
@@ -596,16 +594,6 @@ cdce_setpromisc(struct usb2_ether *ue)
}
static int
-cdce_shutdown(device_t dev)
-{
- struct cdce_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
-
-static int
cdce_suspend(device_t dev)
{
device_printf(dev, "Suspending\n");
Modified: head/sys/dev/usb/net/if_cue.c
==============================================================================
--- head/sys/dev/usb/net/if_cue.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_cue.c Tue May 5 15:39:29 2009 (r191825)
@@ -86,7 +86,6 @@ static const struct usb2_device_id cue_d
static device_probe_t cue_probe;
static device_attach_t cue_attach;
static device_detach_t cue_detach;
-static device_shutdown_t cue_shutdown;
static usb2_callback_t cue_bulk_read_callback;
static usb2_callback_t cue_bulk_write_callback;
@@ -142,7 +141,6 @@ static device_method_t cue_methods[] = {
DEVMETHOD(device_probe, cue_probe),
DEVMETHOD(device_attach, cue_attach),
DEVMETHOD(device_detach, cue_detach),
- DEVMETHOD(device_shutdown, cue_shutdown),
{0, 0}
};
@@ -629,17 +627,3 @@ cue_stop(struct usb2_ether *ue)
cue_csr_write_1(sc, CUE_ETHCTL, 0);
cue_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-cue_shutdown(device_t dev)
-{
- struct cue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
Modified: head/sys/dev/usb/net/if_kue.c
==============================================================================
--- head/sys/dev/usb/net/if_kue.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_kue.c Tue May 5 15:39:29 2009 (r191825)
@@ -129,7 +129,6 @@ static const struct usb2_device_id kue_d
static device_probe_t kue_probe;
static device_attach_t kue_attach;
static device_detach_t kue_detach;
-static device_shutdown_t kue_shutdown;
static usb2_callback_t kue_bulk_read_callback;
static usb2_callback_t kue_bulk_write_callback;
@@ -185,7 +184,6 @@ static device_method_t kue_methods[] = {
DEVMETHOD(device_probe, kue_probe),
DEVMETHOD(device_attach, kue_attach),
DEVMETHOD(device_detach, kue_detach),
- DEVMETHOD(device_shutdown, kue_shutdown),
{0, 0}
};
@@ -688,17 +686,3 @@ kue_stop(struct usb2_ether *ue)
usb2_transfer_stop(sc->sc_xfer[KUE_BULK_DT_WR]);
usb2_transfer_stop(sc->sc_xfer[KUE_BULK_DT_RD]);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-kue_shutdown(device_t dev)
-{
- struct kue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
Modified: head/sys/dev/usb/net/if_rue.c
==============================================================================
--- head/sys/dev/usb/net/if_rue.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_rue.c Tue May 5 15:39:29 2009 (r191825)
@@ -105,7 +105,6 @@ static const struct usb2_device_id rue_d
static device_probe_t rue_probe;
static device_attach_t rue_attach;
static device_detach_t rue_detach;
-static device_shutdown_t rue_shutdown;
static miibus_readreg_t rue_miibus_readreg;
static miibus_writereg_t rue_miibus_writereg;
@@ -172,7 +171,6 @@ static device_method_t rue_methods[] = {
DEVMETHOD(device_probe, rue_probe),
DEVMETHOD(device_attach, rue_attach),
DEVMETHOD(device_detach, rue_detach),
- DEVMETHOD(device_shutdown, rue_shutdown),
/* Bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -897,17 +895,3 @@ rue_stop(struct usb2_ether *ue)
rue_reset(sc);
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-rue_shutdown(device_t dev)
-{
- struct rue_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
Modified: head/sys/dev/usb/net/if_udav.c
==============================================================================
--- head/sys/dev/usb/net/if_udav.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/if_udav.c Tue May 5 15:39:29 2009 (r191825)
@@ -69,7 +69,6 @@ __FBSDID("$FreeBSD$");
static device_probe_t udav_probe;
static device_attach_t udav_attach;
static device_detach_t udav_detach;
-static device_shutdown_t udav_shutdown;
static usb2_callback_t udav_bulk_write_callback;
static usb2_callback_t udav_bulk_read_callback;
@@ -132,7 +131,6 @@ static device_method_t udav_methods[] =
DEVMETHOD(device_probe, udav_probe),
DEVMETHOD(device_attach, udav_attach),
DEVMETHOD(device_detach, udav_detach),
- DEVMETHOD(device_shutdown, udav_shutdown),
/* bus interface */
DEVMETHOD(bus_print_child, bus_generic_print_child),
@@ -840,17 +838,3 @@ udav_miibus_statchg(device_t dev)
{
/* nothing to do */
}
-
-/*
- * Stop all chip I/O so that the kernel's probe routines don't
- * get confused by errant DMAs when rebooting.
- */
-static int
-udav_shutdown(device_t dev)
-{
- struct udav_softc *sc = device_get_softc(dev);
-
- usb2_ether_ifshutdown(&sc->sc_ue);
-
- return (0);
-}
Modified: head/sys/dev/usb/net/usb_ethernet.c
==============================================================================
--- head/sys/dev/usb/net/usb_ethernet.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/usb_ethernet.c Tue May 5 15:39:29 2009 (r191825)
@@ -288,19 +288,6 @@ usb2_ether_ifdetach(struct usb2_ether *u
usb2_proc_free(&ue->ue_tq);
}
-void
-usb2_ether_ifshutdown(struct usb2_ether *ue)
-{
- struct ifnet *ifp = ue->ue_ifp;
-
- UE_LOCK(ue);
- if (ifp->if_drv_flags & IFF_DRV_RUNNING)
- ue_queue_command(ue, ue_stop_task,
- &ue->ue_sync_task[0].hdr,
- &ue->ue_sync_task[1].hdr);
- UE_UNLOCK(ue);
-}
-
uint8_t
usb2_ether_is_gone(struct usb2_ether *ue)
{
Modified: head/sys/dev/usb/net/usb_ethernet.h
==============================================================================
--- head/sys/dev/usb/net/usb_ethernet.h Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/net/usb_ethernet.h Tue May 5 15:39:29 2009 (r191825)
@@ -118,6 +118,5 @@ int usb2_ether_rxbuf(struct usb2_ether
struct usb2_page_cache *,
unsigned int, unsigned int);
void usb2_ether_rxflush(struct usb2_ether *);
-void usb2_ether_ifshutdown(struct usb2_ether *);
uint8_t usb2_ether_is_gone(struct usb2_ether *);
#endif /* _USB2_ETHERNET_H_ */
Modified: head/sys/dev/usb/storage/ustorage_fs.c
==============================================================================
--- head/sys/dev/usb/storage/ustorage_fs.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/storage/ustorage_fs.c Tue May 5 15:39:29 2009 (r191825)
@@ -202,7 +202,6 @@ static device_attach_t ustorage_fs_attac
static device_detach_t ustorage_fs_detach;
static device_suspend_t ustorage_fs_suspend;
static device_resume_t ustorage_fs_resume;
-static device_shutdown_t ustorage_fs_shutdown;
static usb_handle_request_t ustorage_fs_handle_request;
static usb2_callback_t ustorage_fs_t_bbb_command_callback;
@@ -239,7 +238,6 @@ static device_method_t ustorage_fs_metho
DEVMETHOD(device_detach, ustorage_fs_detach),
DEVMETHOD(device_suspend, ustorage_fs_suspend),
DEVMETHOD(device_resume, ustorage_fs_resume),
- DEVMETHOD(device_shutdown, ustorage_fs_shutdown),
{0, 0}
};
@@ -437,12 +435,6 @@ ustorage_fs_resume(device_t dev)
return (0); /* success */
}
-static int
-ustorage_fs_shutdown(device_t dev)
-{
- return (0); /* success */
-}
-
/*
* Generic functions to handle transfers
*/
Modified: head/sys/dev/usb/usb_compat_linux.c
==============================================================================
--- head/sys/dev/usb/usb_compat_linux.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/usb_compat_linux.c Tue May 5 15:39:29 2009 (r191825)
@@ -59,7 +59,6 @@ static device_attach_t usb_linux_attach;
static device_detach_t usb_linux_detach;
static device_suspend_t usb_linux_suspend;
static device_resume_t usb_linux_resume;
-static device_shutdown_t usb_linux_shutdown;
static usb2_callback_t usb_linux_isoc_callback;
static usb2_callback_t usb_linux_non_isoc_callback;
@@ -92,7 +91,6 @@ static device_method_t usb_linux_methods
DEVMETHOD(device_detach, usb_linux_detach),
DEVMETHOD(device_suspend, usb_linux_suspend),
DEVMETHOD(device_resume, usb_linux_resume),
- DEVMETHOD(device_shutdown, usb_linux_shutdown),
{0, 0}
};
@@ -360,23 +358,6 @@ usb_linux_resume(device_t dev)
}
/*------------------------------------------------------------------------*
- * usb_linux_shutdown
- *
- * This function is the FreeBSD shutdown callback. Usually it does nothing.
- *------------------------------------------------------------------------*/
-static int
-usb_linux_shutdown(device_t dev)
-{
- struct usb_linux_softc *sc = device_get_softc(dev);
- struct usb_driver *udrv = usb_linux_get_usb_driver(sc);
-
- if (udrv && udrv->shutdown) {
- (udrv->shutdown) (sc->sc_ui);
- }
- return (0);
-}
-
-/*------------------------------------------------------------------------*
* Linux emulation layer
*------------------------------------------------------------------------*/
Modified: head/sys/dev/usb/usb_hub.c
==============================================================================
--- head/sys/dev/usb/usb_hub.c Tue May 5 15:36:23 2009 (r191824)
+++ head/sys/dev/usb/usb_hub.c Tue May 5 15:39:29 2009 (r191825)
@@ -132,7 +132,6 @@ static device_method_t uhub_methods[] =
DEVMETHOD(device_suspend, uhub_suspend),
DEVMETHOD(device_resume, uhub_resume),
- DEVMETHOD(device_shutdown, bus_generic_shutdown),
DEVMETHOD(bus_child_location_str, uhub_child_location_string),
DEVMETHOD(bus_child_pnpinfo_str, uhub_child_pnpinfo_string),
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-usb
mailing list