Index: sys/dev/ld.c =================================================================== RCS file: /cvsroot/src/sys/dev/ld.c,v retrieving revision 1.40 diff -u -r1.40 ld.c --- sys/dev/ld.c 28 Mar 2006 17:38:29 -0000 1.40 +++ sys/dev/ld.c 22 Apr 2006 17:08:28 -0000 @@ -72,7 +72,7 @@ static void ldgetdefaultlabel(struct ld_softc *, struct disklabel *); static void ldgetdisklabel(struct ld_softc *); static void ldminphys(struct buf *bp); -static void ldshutdown(void *); +static void ldshutdown(int, void *); static void ldstart(struct ld_softc *); extern struct cfdriver ld_cd; @@ -256,7 +256,7 @@ /* ARGSUSED */ static void -ldshutdown(void *cookie) +ldshutdown(int howto, void *cookie) { struct ld_softc *sc; int i; Index: sys/dev/acpi/acpi.c =================================================================== RCS file: /cvsroot/src/sys/dev/acpi/acpi.c,v retrieving revision 1.85 diff -u -r1.85 acpi.c --- sys/dev/acpi/acpi.c 26 Feb 2006 18:46:04 -0000 1.85 +++ sys/dev/acpi/acpi.c 22 Apr 2006 17:08:32 -0000 @@ -159,7 +159,7 @@ /* * Prototypes. */ -static void acpi_shutdown(void *); +static void acpi_shutdown(int, void *); static void acpi_build_tree(struct acpi_softc *); static ACPI_STATUS acpi_make_devnode(ACPI_HANDLE, UINT32, void *, void **); @@ -397,7 +397,7 @@ * might confuse us. */ static void -acpi_shutdown(void *arg) +acpi_shutdown(int howto, void *arg) { /* nothing */ } Index: sys/dev/ata/wd.c =================================================================== RCS file: /cvsroot/src/sys/dev/ata/wd.c,v retrieving revision 1.323 diff -u -r1.323 wd.c --- sys/dev/ata/wd.c 5 Apr 2006 02:40:57 -0000 1.323 +++ sys/dev/ata/wd.c 22 Apr 2006 17:08:35 -0000 @@ -191,7 +191,7 @@ int wd_get_params(struct wd_softc *, u_int8_t, struct ataparams *); int wd_standby(struct wd_softc *, int); int wd_flushcache(struct wd_softc *, int); -void wd_shutdown(void *); +void wd_shutdown(int, void *); int wd_getcache(struct wd_softc *, int *); int wd_setcache(struct wd_softc *, int); @@ -1829,7 +1829,7 @@ } void -wd_shutdown(void *arg) +wd_shutdown(int howto, void *arg) { struct wd_softc *wd = arg; wd_flushcache(wd, AT_POLL); Index: sys/dev/bi/if_ni.c =================================================================== RCS file: /cvsroot/src/sys/dev/bi/if_ni.c,v retrieving revision 1.27 diff -u -r1.27 if_ni.c --- sys/dev/bi/if_ni.c 11 Dec 2005 12:21:15 -0000 1.27 +++ sys/dev/bi/if_ni.c 22 Apr 2006 17:08:35 -0000 @@ -149,7 +149,7 @@ static int ni_add_rxbuf(struct ni_softc *, struct ni_dg *, int); static void ni_setup(struct ni_softc *); static void nitimeout(struct ifnet *); -static void ni_shutdown(void *); +static void ni_shutdown(int, void *); static void ni_getpgs(struct ni_softc *sc, int size, caddr_t *v, paddr_t *p); static int failtest(struct ni_softc *, int, int, int, const char *); @@ -891,7 +891,8 @@ * Shutdown hook. Make sure the interface is stopped at reboot. */ void -ni_shutdown(arg) +ni_shutdown(howto, arg) + int howto; void *arg; { struct ni_softc *sc = arg; Index: sys/dev/i2o/iop.c =================================================================== RCS file: /cvsroot/src/sys/dev/i2o/iop.c,v retrieving revision 1.55 diff -u -r1.55 iop.c --- sys/dev/i2o/iop.c 14 Apr 2006 20:16:02 -0000 1.55 +++ sys/dev/i2o/iop.c 22 Apr 2006 17:08:41 -0000 @@ -227,7 +227,7 @@ static void iop_configure_devices(struct iop_softc *, int, int); static void iop_devinfo(int, char *, size_t); static int iop_print(void *, const char *); -static void iop_shutdown(void *); +static void iop_shutdown(int, void *); static void iop_adjqparam(struct iop_softc *, int); static void iop_create_reconf_thread(void *); @@ -903,7 +903,7 @@ * Shut down all configured IOPs. */ static void -iop_shutdown(void *junk) +iop_shutdown(int howto, void *junk) { struct iop_softc *sc; int i; Index: sys/dev/ic/aac.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/aac.c,v retrieving revision 1.27 diff -u -r1.27 aac.c --- sys/dev/ic/aac.c 4 Mar 2006 20:44:11 -0000 1.27 +++ sys/dev/ic/aac.c 22 Apr 2006 17:08:43 -0000 @@ -105,7 +105,7 @@ static void aac_host_response(struct aac_softc *); static int aac_init(struct aac_softc *); static int aac_print(void *, const char *); -static void aac_shutdown(void *); +static void aac_shutdown(int, void *); static void aac_startup(struct aac_softc *); static int aac_sync_command(struct aac_softc *, u_int32_t, u_int32_t, u_int32_t, u_int32_t, u_int32_t, u_int32_t *); @@ -693,7 +693,7 @@ } static void -aac_shutdown(void *cookie) +aac_shutdown(int howto, void *cookie) { struct aac_softc *sc; struct aac_close_command cc; Index: sys/dev/ic/aic6915.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/aic6915.c,v retrieving revision 1.15 diff -u -r1.15 aic6915.c --- sys/dev/ic/aic6915.c 24 Dec 2005 20:27:29 -0000 1.15 +++ sys/dev/ic/aic6915.c 22 Apr 2006 17:08:44 -0000 @@ -82,7 +82,7 @@ static int sf_init(struct ifnet *); static void sf_stop(struct ifnet *, int); -static void sf_shutdown(void *); +static void sf_shutdown(int, void *); static void sf_txintr(struct sf_softc *); static void sf_rxintr(struct sf_softc *); @@ -340,7 +340,7 @@ * Shutdown hook -- make sure the interface is stopped at reboot. */ static void -sf_shutdown(void *arg) +sf_shutdown(int howto, void *arg) { struct sf_softc *sc = arg; Index: sys/dev/ic/aic79xx.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/aic79xx.c,v retrieving revision 1.34 diff -u -r1.34 aic79xx.c --- sys/dev/ic/aic79xx.c 8 Mar 2006 23:46:24 -0000 1.34 +++ sys/dev/ic/aic79xx.c 22 Apr 2006 17:09:00 -0000 @@ -5219,7 +5219,7 @@ } void -ahd_shutdown(void *arg) +ahd_shutdown(int howto, void *arg) { struct ahd_softc *ahd; Index: sys/dev/ic/aic7xxx.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/aic7xxx.c,v retrieving revision 1.120 diff -u -r1.120 aic7xxx.c --- sys/dev/ic/aic7xxx.c 15 Apr 2006 14:22:52 -0000 1.120 +++ sys/dev/ic/aic7xxx.c 22 Apr 2006 17:09:09 -0000 @@ -3969,7 +3969,7 @@ } void -ahc_shutdown(void *arg) +ahc_shutdown(int howto, void *arg) { struct ahc_softc *ahc; int i; Index: sys/dev/ic/ath.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/ath.c,v retrieving revision 1.71 diff -u -r1.71 ath.c --- sys/dev/ic/ath.c 14 Apr 2006 20:20:33 -0000 1.71 +++ sys/dev/ic/ath.c 22 Apr 2006 17:09:17 -0000 @@ -778,7 +778,7 @@ } void -ath_shutdown(void *arg) +ath_shutdown(int howto, void *arg) { struct ath_softc *sc = arg; Index: sys/dev/ic/atw.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/atw.c,v retrieving revision 1.117 diff -u -r1.117 atw.c --- sys/dev/ic/atw.c 6 Apr 2006 06:08:26 -0000 1.117 +++ sys/dev/ic/atw.c 22 Apr 2006 17:09:21 -0000 @@ -213,7 +213,7 @@ int atw_enable(struct atw_softc *); void atw_power(int, void *); void atw_reset(struct atw_softc *); -void atw_shutdown(void *); +void atw_shutdown(int, void *); /* Interrupt handlers */ void atw_linkintr(struct atw_softc *, u_int32_t); @@ -2775,7 +2775,7 @@ /* atw_shutdown: make sure the interface is stopped at reboot time. */ void -atw_shutdown(void *arg) +atw_shutdown(int howto, void *arg) { struct atw_softc *sc = arg; Index: sys/dev/ic/awi.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/awi.c,v retrieving revision 1.70 diff -u -r1.70 awi.c --- sys/dev/ic/awi.c 14 Apr 2006 20:33:57 -0000 1.70 +++ sys/dev/ic/awi.c 22 Apr 2006 17:09:23 -0000 @@ -450,7 +450,7 @@ #endif /* __NetBSD__ */ void -awi_shutdown(void *arg) +awi_shutdown(int howto, void *arg) { struct awi_softc *sc = arg; struct ifnet *ifp = &sc->sc_if; Index: sys/dev/ic/cac.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/cac.c,v retrieving revision 1.34 diff -u -r1.34 cac.c --- sys/dev/ic/cac.c 29 Jan 2006 21:42:42 -0000 1.34 +++ sys/dev/ic/cac.c 22 Apr 2006 17:09:23 -0000 @@ -70,7 +70,7 @@ static int cac_ccb_poll(struct cac_softc *, struct cac_ccb *, int); static int cac_ccb_start(struct cac_softc *, struct cac_ccb *); static int cac_print(void *, const char *); -static void cac_shutdown(void *); +static void cac_shutdown(int, void *); static struct cac_ccb *cac_l0_completed(struct cac_softc *); static int cac_l0_fifo_full(struct cac_softc *); @@ -200,7 +200,7 @@ * Shut down all `cac' controllers. */ static void -cac_shutdown(void *cookie) +cac_shutdown(int howto, void *cookie) { extern struct cfdriver cac_cd; struct cac_softc *sc; Index: sys/dev/ic/ciss.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/ciss.c,v retrieving revision 1.2 diff -u -r1.2 ciss.c --- sys/dev/ic/ciss.c 15 Apr 2006 12:36:23 -0000 1.2 +++ sys/dev/ic/ciss.c 22 Apr 2006 17:09:24 -0000 @@ -80,7 +80,7 @@ #endif static int ciss_sync(struct ciss_softc *sc); static void ciss_heartbeat(void *v); -static void ciss_shutdown(void *v); +static void ciss_shutdown(int howto, void *v); #if 0 static void ciss_kthread(void *v); #endif @@ -382,7 +382,7 @@ } static void -ciss_shutdown(void *v) +ciss_shutdown(int howto, void *v) { struct ciss_softc *sc = v; Index: sys/dev/ic/cs89x0.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/cs89x0.c,v retrieving revision 1.19 diff -u -r1.19 cs89x0.c --- sys/dev/ic/cs89x0.c 18 Mar 2006 18:44:16 -0000 1.19 +++ sys/dev/ic/cs89x0.c 22 Apr 2006 17:09:29 -0000 @@ -269,6 +269,7 @@ int cs_get_params(struct cs_softc *); int cs_get_enaddr(struct cs_softc *); int cs_reset_chip(struct cs_softc *); +void cs_shutdown(int, void *); void cs_reset(void *); int cs_ioctl(struct ifnet *, u_long, caddr_t); void cs_initChip(struct cs_softc *); @@ -492,7 +493,7 @@ if (sc->sc_dma_attach) (*sc->sc_dma_attach)(sc); - sc->sc_sh = shutdownhook_establish(cs_reset, sc); + sc->sc_sh = shutdownhook_establish(cs_shutdown, sc); if (sc->sc_sh == NULL) { printf("%s: unable to establish shutdownhook\n", sc->sc_dev.dv_xname); @@ -1311,6 +1312,12 @@ } void +cs_shutdown(int howto, void *arg) +{ + cs_reset(arg); +} + +void cs_reset(void *arg) { struct cs_softc *sc = arg; Index: sys/dev/ic/dp83932.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/dp83932.c,v retrieving revision 1.13 diff -u -r1.13 dp83932.c --- sys/dev/ic/dp83932.c 11 Dec 2005 12:21:26 -0000 1.13 +++ sys/dev/ic/dp83932.c 22 Apr 2006 17:09:31 -0000 @@ -78,7 +78,7 @@ int sonic_init(struct ifnet *); void sonic_stop(struct ifnet *, int); -void sonic_shutdown(void *); +void sonic_shutdown(int, void *); void sonic_reset(struct sonic_softc *); void sonic_rxdrain(struct sonic_softc *); @@ -262,7 +262,7 @@ * Make sure the interface is stopped at reboot. */ void -sonic_shutdown(void *arg) +sonic_shutdown(int howto, void *arg) { struct sonic_softc *sc = arg; Index: sys/dev/ic/dpt.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/dpt.c,v retrieving revision 1.47 diff -u -r1.47 dpt.c --- sys/dev/ic/dpt.c 14 Apr 2006 20:43:11 -0000 1.47 +++ sys/dev/ic/dpt.c 22 Apr 2006 17:09:32 -0000 @@ -200,7 +200,7 @@ struct lwp *); static void dpt_scsipi_request(struct scsipi_channel *, scsipi_adapter_req_t, void *); -static void dpt_shutdown(void *); +static void dpt_shutdown(int, void *); static void dpt_sysinfo(struct dpt_softc *, struct dpt_sysinfo *); static int dpt_wait(struct dpt_softc *, u_int8_t, u_int8_t, int); @@ -613,7 +613,7 @@ * we tell root that it's safe to power off). */ static void -dpt_shutdown(void *cookie) +dpt_shutdown(int howto, void *cookie) { extern struct cfdriver dpt_cd; struct dpt_softc *sc; Index: sys/dev/ic/elink3.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/elink3.c,v retrieving revision 1.115 diff -u -r1.115 elink3.c --- sys/dev/ic/elink3.c 20 Feb 2006 16:50:37 -0000 1.115 +++ sys/dev/ic/elink3.c 22 Apr 2006 17:09:33 -0000 @@ -200,7 +200,7 @@ void epstart(struct ifnet *); void epwatchdog(struct ifnet *); void epreset(struct ep_softc *); -static void epshutdown(void *); +static void epshutdown(int, void *); void epread(struct ep_softc *); struct mbuf *epget(struct ep_softc *, int); void epmbuffill(void *); @@ -1844,7 +1844,8 @@ * Before reboots, reset card completely. */ static void -epshutdown(arg) +epshutdown(why, arg) + int why; void *arg; { struct ep_softc *sc = arg; Index: sys/dev/ic/elinkxl.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/elinkxl.c,v retrieving revision 1.87 diff -u -r1.87 elinkxl.c --- sys/dev/ic/elinkxl.c 20 Feb 2006 16:50:37 -0000 1.87 +++ sys/dev/ic/elinkxl.c 22 Apr 2006 17:09:38 -0000 @@ -111,7 +111,7 @@ static int ex_add_rxbuf(struct ex_softc *, struct ex_rxdesc *); static void ex_init_txdescs(struct ex_softc *); -static void ex_shutdown(void *); +static void ex_shutdown(int, void *); static void ex_start(struct ifnet *); static void ex_txstat(struct ex_softc *); @@ -1704,7 +1704,8 @@ * Before reboots, reset card completely. */ static void -ex_shutdown(arg) +ex_shutdown(howto, arg) + int howto; void *arg; { struct ex_softc *sc = arg; Index: sys/dev/ic/gem.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/gem.c,v retrieving revision 1.45 diff -u -r1.45 gem.c --- sys/dev/ic/gem.c 2 Jan 2006 05:46:25 -0000 1.45 +++ sys/dev/ic/gem.c 22 Apr 2006 17:09:41 -0000 @@ -90,7 +90,7 @@ int gem_ioctl(struct ifnet *, u_long, caddr_t); void gem_tick(void *); void gem_watchdog(struct ifnet *); -void gem_shutdown(void *); +void gem_shutdown(int, void *); int gem_init(struct ifnet *); void gem_init_regs(struct gem_softc *sc); static int gem_ringsize(int sz); @@ -2073,7 +2073,8 @@ void -gem_shutdown(arg) +gem_shutdown(howto, arg) + int howto; void *arg; { struct gem_softc *sc = (struct gem_softc *)arg; Index: sys/dev/ic/hme.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/hme.c,v retrieving revision 1.53 diff -u -r1.53 hme.c --- sys/dev/ic/hme.c 24 Dec 2005 23:41:33 -0000 1.53 +++ sys/dev/ic/hme.c 22 Apr 2006 17:09:42 -0000 @@ -102,7 +102,7 @@ int hme_ioctl(struct ifnet *, u_long, caddr_t); void hme_tick(void *); void hme_watchdog(struct ifnet *); -void hme_shutdown(void *); +void hme_shutdown(int, void *); void hme_init(struct hme_softc *); void hme_meminit(struct hme_softc *); void hme_mifinit(struct hme_softc *); @@ -1554,7 +1554,8 @@ } void -hme_shutdown(arg) +hme_shutdown(howto, arg) + int howto; void *arg; { Index: sys/dev/ic/i82557.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/i82557.c,v retrieving revision 1.97 diff -u -r1.97 i82557.c --- sys/dev/ic/i82557.c 20 Feb 2006 16:50:37 -0000 1.97 +++ sys/dev/ic/i82557.c 22 Apr 2006 17:09:48 -0000 @@ -207,7 +207,7 @@ void fxp_mc_setup(struct fxp_softc *); void fxp_load_ucode(struct fxp_softc *); -void fxp_shutdown(void *); +void fxp_shutdown(int, void *); void fxp_power(int, void *); int fxp_copy_small = 0; @@ -540,7 +540,7 @@ * kernel memory doesn't get clobbered during warmboot. */ void -fxp_shutdown(void *arg) +fxp_shutdown(int howto, void *arg) { struct fxp_softc *sc = arg; Index: sys/dev/ic/lance.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/lance.c,v retrieving revision 1.34 diff -u -r1.34 lance.c --- sys/dev/ic/lance.c 24 Dec 2005 20:27:30 -0000 1.34 +++ sys/dev/ic/lance.c 22 Apr 2006 17:09:49 -0000 @@ -127,7 +127,7 @@ integrate struct mbuf *lance_get(struct lance_softc *, int, int); -hide void lance_shutdown(void *); +hide void lance_shutdown(int, void *); int lance_mediachange(struct ifnet *); void lance_mediastatus(struct ifnet *, struct ifmediareq *); @@ -630,7 +630,8 @@ } hide void -lance_shutdown(arg) +lance_shutdown(howto, arg) + int howto; void *arg; { Index: sys/dev/ic/mlx.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/mlx.c,v retrieving revision 1.42 diff -u -r1.42 mlx.c --- sys/dev/ic/mlx.c 14 Apr 2006 21:06:47 -0000 1.42 +++ sys/dev/ic/mlx.c 22 Apr 2006 17:09:50 -0000 @@ -132,7 +132,7 @@ static void mlx_periodic_thread(void *); static int mlx_print(void *, const char *); static int mlx_rebuild(struct mlx_softc *, int, int); -static void mlx_shutdown(void *); +static void mlx_shutdown(int, void *); static int mlx_user_command(struct mlx_softc *, struct mlx_usercommand *); static inline time_t mlx_curtime(void); @@ -676,7 +676,7 @@ * Shut down all configured `mlx' devices. */ static void -mlx_shutdown(void *cookie) +mlx_shutdown(int howto, void *cookie) { struct mlx_softc *mlx; int i; Index: sys/dev/ic/mtd803.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/mtd803.c,v retrieving revision 1.10 diff -u -r1.10 mtd803.c --- sys/dev/ic/mtd803.c 20 Feb 2006 16:50:37 -0000 1.10 +++ sys/dev/ic/mtd803.c 22 Apr 2006 17:09:53 -0000 @@ -986,7 +986,8 @@ void -mtd_shutdown (arg) +mtd_shutdown (howto, arg) + int howto; void *arg; { struct mtd_softc *sc = arg; Index: sys/dev/ic/rtl8169.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/rtl8169.c,v retrieving revision 1.22 diff -u -r1.22 rtl8169.c --- sys/dev/ic/rtl8169.c 11 Dec 2005 12:21:28 -0000 1.22 +++ sys/dev/ic/rtl8169.c 22 Apr 2006 17:09:56 -0000 @@ -167,7 +167,7 @@ static void re_stop(struct ifnet *, int); static void re_watchdog(struct ifnet *); -static void re_shutdown(void *); +static void re_shutdown(int, void *); static int re_enable(struct rtk_softc *); static void re_disable(struct rtk_softc *); static void re_power(int, void *); @@ -1374,7 +1374,7 @@ * get confused by errant DMAs when rebooting. */ static void -re_shutdown(void *vsc) +re_shutdown(int howto, void *vsc) { struct rtk_softc *sc = (struct rtk_softc *)vsc; Index: sys/dev/ic/rtl81x9.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/rtl81x9.c,v retrieving revision 1.52 diff -u -r1.52 rtl81x9.c --- sys/dev/ic/rtl81x9.c 8 Dec 2005 18:06:42 -0000 1.52 +++ sys/dev/ic/rtl81x9.c 22 Apr 2006 17:09:58 -0000 @@ -140,7 +140,7 @@ STATIC void rtk_stop (struct ifnet *, int); STATIC void rtk_watchdog(struct ifnet *); -STATIC void rtk_shutdown(void *); +STATIC void rtk_shutdown(int, void *); STATIC int rtk_ifmedia_upd(struct ifnet *); STATIC void rtk_ifmedia_sts(struct ifnet *, struct ifmediareq *); @@ -1642,7 +1642,8 @@ * get confused by errant DMAs when rebooting. */ STATIC void -rtk_shutdown(vsc) +rtk_shutdown(howto, vsc) + int howto; void *vsc; { struct rtk_softc *sc = (struct rtk_softc *)vsc; Index: sys/dev/ic/rtw.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/rtw.c,v retrieving revision 1.72 diff -u -r1.72 rtw.c --- sys/dev/ic/rtw.c 28 Mar 2006 00:48:10 -0000 1.72 +++ sys/dev/ic/rtw.c 22 Apr 2006 17:10:03 -0000 @@ -3766,7 +3766,7 @@ /* rtw_shutdown: make sure the interface is stopped at reboot time. */ void -rtw_shutdown(void *arg) +rtw_shutdown(int howto, void *arg) { struct rtw_softc *sc = arg; Index: sys/dev/ic/smc83c170.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/smc83c170.c,v retrieving revision 1.63 diff -u -r1.63 smc83c170.c --- sys/dev/ic/smc83c170.c 16 Apr 2006 00:38:59 -0000 1.63 +++ sys/dev/ic/smc83c170.c 22 Apr 2006 17:10:05 -0000 @@ -347,7 +347,8 @@ * Shutdown hook. Make sure the interface is stopped at reboot. */ void -epic_shutdown(arg) +epic_shutdown(howto, arg) + int howto; void *arg; { struct epic_softc *sc = arg; Index: sys/dev/ic/tropic.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/tropic.c,v retrieving revision 1.26 diff -u -r1.26 tropic.c --- sys/dev/ic/tropic.c 11 Dec 2005 12:21:28 -0000 1.26 +++ sys/dev/ic/tropic.c 22 Apr 2006 17:10:07 -0000 @@ -85,7 +85,7 @@ #include #include -static void tr_shutdown(void *); +static void tr_shutdown(int, void *); static void tr_reopen(void *); void tr_rint(struct tr_softc *); @@ -583,7 +583,8 @@ } static void -tr_shutdown(arg) +tr_shutdown(howto, arg) + int howto; void *arg; { struct tr_softc *sc = arg; Index: sys/dev/ic/tulip.c =================================================================== RCS file: /cvsroot/src/sys/dev/ic/tulip.c,v retrieving revision 1.143 diff -u -r1.143 tulip.c --- sys/dev/ic/tulip.c 25 Mar 2006 23:10:50 -0000 1.143 +++ sys/dev/ic/tulip.c 22 Apr 2006 17:10:15 -0000 @@ -101,7 +101,7 @@ static int tlp_init(struct ifnet *); static void tlp_stop(struct ifnet *, int); -static void tlp_shutdown(void *); +static void tlp_shutdown(int, void *); static void tlp_rxdrain(struct tulip_softc *); static int tlp_add_rxbuf(struct tulip_softc *, int); @@ -690,7 +690,7 @@ * Make sure the interface is stopped at reboot time. */ static void -tlp_shutdown(void *arg) +tlp_shutdown(int howto, void *arg) { struct tulip_softc *sc = arg; Index: sys/dev/ieee1394/fw_port.h =================================================================== RCS file: /cvsroot/src/sys/dev/ieee1394/fw_port.h,v retrieving revision 1.11 diff -u -r1.11 fw_port.h --- sys/dev/ieee1394/fw_port.h 14 Apr 2006 21:47:04 -0000 1.11 +++ sys/dev/ieee1394/fw_port.h 22 Apr 2006 17:10:16 -0000 @@ -764,7 +764,7 @@ shutdownhook_disestablish(sc->sc_shutdownhook) #define FWOHCI_STOP() \ void \ - fwohci_stop(void *arg) + fwohci_stop(int howto, void *arg) #define FWOHCI_STOP_START struct fwohci_softc *sc = arg #define FWOHCI_STOP_RETURN(r) return Index: sys/dev/isa/com_isa.c =================================================================== RCS file: /cvsroot/src/sys/dev/isa/com_isa.c,v retrieving revision 1.24 diff -u -r1.24 com_isa.c --- sys/dev/isa/com_isa.c 11 Dec 2005 12:22:02 -0000 1.24 +++ sys/dev/isa/com_isa.c 22 Apr 2006 17:10:16 -0000 @@ -100,7 +100,7 @@ int com_isa_probe(struct device *, struct cfdata *, void *); void com_isa_attach(struct device *, struct device *, void *); -void com_isa_cleanup(void *); +void com_isa_cleanup(int, void *); CFATTACH_DECL(com_isa, sizeof(struct com_isa_softc), com_isa_probe, com_isa_attach, NULL, NULL); @@ -196,7 +196,8 @@ } void -com_isa_cleanup(arg) +com_isa_cleanup(howto, arg) + int howto; void *arg; { struct com_softc *sc = arg; Index: sys/dev/isa/fd.c =================================================================== RCS file: /cvsroot/src/sys/dev/isa/fd.c,v retrieving revision 1.67 diff -u -r1.67 fd.c --- sys/dev/isa/fd.c 14 Apr 2006 13:09:06 -0000 1.67 +++ sys/dev/isa/fd.c 22 Apr 2006 17:10:20 -0000 @@ -243,6 +243,7 @@ const struct fd_type *fd_nvtotype(char *, int, int); #endif /* i386 */ void fd_set_motor(struct fdc_softc *fdc, int reset); +void fd_motor_shutdown(int howto, void *arg); void fd_motor_off(void *arg); void fd_motor_on(void *arg); int fdcresult(struct fdc_softc *fdc); @@ -507,7 +508,7 @@ mountroothook_establish(fd_mountroot_hook, &fd->sc_dev); /* Needed to power off if the motor is on when we halt. */ - fd->sc_sdhook = shutdownhook_establish(fd_motor_off, fd); + fd->sc_sdhook = shutdownhook_establish(fd_motor_shutdown, fd); #if NRND > 0 rnd_attach_source(&fd->rnd_source, fd->sc_dev.dv_xname, @@ -738,6 +739,15 @@ } void +fd_motor_shutdown(howto, arg) + int howto; + void *arg; +{ + fd_motor_off(arg); +} + + +void fd_motor_off(arg) void *arg; { Index: sys/dev/isa/if_ntwoc_isa.c =================================================================== RCS file: /cvsroot/src/sys/dev/isa/if_ntwoc_isa.c,v retrieving revision 1.12 diff -u -r1.12 if_ntwoc_isa.c --- sys/dev/isa/if_ntwoc_isa.c 29 Mar 2006 04:16:50 -0000 1.12 +++ sys/dev/isa/if_ntwoc_isa.c 22 Apr 2006 17:10:22 -0000 @@ -93,7 +93,7 @@ static void ntwoc_isa_get_clock(struct sca_port *, u_int8_t, u_int8_t, u_int8_t, u_int8_t); static void ntwoc_isa_setup_memory(struct sca_softc *sc); -static void ntwoc_isa_shutdown(void *sc); +static void ntwoc_isa_shutdown(int howto, void *sc); CFATTACH_DECL(ntwoc_isa, sizeof(struct ntwoc_isa_softc), ntwoc_isa_probe, ntwoc_isa_attach, NULL, NULL); @@ -690,7 +690,7 @@ * boot. Also, lower DTR on each port and disable card interrupts. */ static void -ntwoc_isa_shutdown(void *aux) +ntwoc_isa_shutdown(int howto, void *aux) { struct ntwoc_isa_softc *sc = aux; u_int16_t mcr; Index: sys/dev/marvell/gtmpsc.c =================================================================== RCS file: /cvsroot/src/sys/dev/marvell/gtmpsc.c,v retrieving revision 1.16 diff -u -r1.16 gtmpsc.c --- sys/dev/marvell/gtmpsc.c 29 Mar 2006 06:55:32 -0000 1.16 +++ sys/dev/marvell/gtmpsc.c 22 Apr 2006 17:10:24 -0000 @@ -158,7 +158,7 @@ STATIC void gtmpsc_txflush(gtmpsc_softc_t *); STATIC void gtmpsc_iflush(gtmpsc_softc_t *); -STATIC void gtmpsc_shutdownhook(void *); +STATIC void gtmpsc_shutdownhook(int, void *); dev_type_open(gtmpscopen); dev_type_close(gtmpscclose); @@ -1833,7 +1833,7 @@ } void -gtmpsc_shutdownhook(void *arg) +gtmpsc_shutdownhook(int howto, void *arg) { gtmpsc_softc_t *sc = (gtmpsc_softc_t *)arg; Index: sys/dev/mca/com_mca.c =================================================================== RCS file: /cvsroot/src/sys/dev/mca/com_mca.c,v retrieving revision 1.14 diff -u -r1.14 com_mca.c --- sys/dev/mca/com_mca.c 29 Mar 2006 06:58:14 -0000 1.14 +++ sys/dev/mca/com_mca.c 22 Apr 2006 17:10:24 -0000 @@ -105,7 +105,7 @@ int com_mca_probe(struct device *, struct cfdata *, void *); void com_mca_attach(struct device *, struct device *, void *); -void com_mca_cleanup(void *); +void com_mca_cleanup(int, void *); static int ibm_modem_getcfg(struct mca_attach_args *, int *, int *); static int neocom1_getcfg(struct mca_attach_args *, int *, int *); @@ -208,7 +208,8 @@ } void -com_mca_cleanup(arg) +com_mca_cleanup(howto, arg) + int howto; void *arg; { struct com_softc *sc = arg; Index: sys/dev/mvme/clock_pcctwo.c =================================================================== RCS file: /cvsroot/src/sys/dev/mvme/clock_pcctwo.c,v retrieving revision 1.10 diff -u -r1.10 clock_pcctwo.c --- sys/dev/mvme/clock_pcctwo.c 29 Mar 2006 07:07:41 -0000 1.10 +++ sys/dev/mvme/clock_pcctwo.c 22 Apr 2006 17:10:25 -0000 @@ -76,7 +76,7 @@ static int clock_pcctwo_statintr(void *); static void clock_pcctwo_initclocks(void *, int, int); static long clock_pcctwo_microtime(void *); -static void clock_pcctwo_shutdown(void *); +static void clock_pcctwo_shutdown(int, void *); static struct clock_pcctwo_softc *clock_pcctwo_sc; @@ -245,7 +245,8 @@ /* ARGSUSED */ void -clock_pcctwo_shutdown(arg) +clock_pcctwo_shutdown(howto, arg) + int howto; void *arg; { Index: sys/dev/pci/amr.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/amr.c,v retrieving revision 1.34 diff -u -r1.34 amr.c --- sys/dev/pci/amr.c 17 Apr 2006 13:31:02 -0000 1.34 +++ sys/dev/pci/amr.c 22 Apr 2006 17:10:26 -0000 @@ -104,7 +104,7 @@ static int amr_intr(void *); static int amr_match(struct device *, struct cfdata *, void *); static int amr_print(void *, const char *); -static void amr_shutdown(void *); +static void amr_shutdown(int, void *); static void amr_teardown(struct amr_softc *); static void amr_thread(void *); static void amr_thread_create(void *); @@ -717,7 +717,7 @@ * shutdown time. */ static void -amr_shutdown(void *cookie) +amr_shutdown(int howto, void *cookie) { extern struct cfdriver amr_cd; struct amr_softc *amr; Index: sys/dev/pci/if_ath_pci.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_ath_pci.c,v retrieving revision 1.12 diff -u -r1.12 if_ath_pci.c --- sys/dev/pci/if_ath_pci.c 2 Apr 2006 05:52:50 -0000 1.12 +++ sys/dev/pci/if_ath_pci.c 22 Apr 2006 17:10:27 -0000 @@ -100,7 +100,7 @@ static int ath_pci_match(struct device *, struct cfdata *, void *); static void ath_pci_attach(struct device *, struct device *, void *); -static void ath_pci_shutdown(void *); +static void ath_pci_shutdown(int, void *); static int ath_pci_detach(struct device *, int); CFATTACH_DECL(ath_pci, @@ -236,7 +236,7 @@ } static void -ath_pci_shutdown(void *self) +ath_pci_shutdown(int howto, void *self) { struct ath_pci_softc *psc = (struct ath_pci_softc *)self; Index: sys/dev/pci/if_de.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_de.c,v retrieving revision 1.119 diff -u -r1.119 if_de.c --- sys/dev/pci/if_de.c 20 Apr 2006 17:08:20 -0000 1.119 +++ sys/dev/pci/if_de.c 22 Apr 2006 17:10:39 -0000 @@ -5575,7 +5575,7 @@ #if defined(__NetBSD__) #define TULIP_PCI_ATTACH_ARGS struct device * const parent, struct device * const self, void * const aux -#define TULIP_SHUTDOWN_ARGS void *arg +#define TULIP_SHUTDOWN_ARGS int howto, void *arg static int tulip_pci_probe( struct device *parent, Index: sys/dev/pci/if_dge.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_dge.c,v retrieving revision 1.12 diff -u -r1.12 if_dge.c --- sys/dev/pci/if_dge.c 11 Dec 2005 12:22:49 -0000 1.12 +++ sys/dev/pci/if_dge.c 22 Apr 2006 17:10:41 -0000 @@ -618,7 +618,7 @@ static int dge_init(struct ifnet *); static void dge_stop(struct ifnet *, int); -static void dge_shutdown(void *); +static void dge_shutdown(int, void *); static void dge_reset(struct dge_softc *); static void dge_rxdrain(struct dge_softc *); @@ -1007,7 +1007,7 @@ * Make sure the interface is stopped at reboot time. */ static void -dge_shutdown(void *arg) +dge_shutdown(int howto, void *arg) { struct dge_softc *sc = arg; Index: sys/dev/pci/if_ipw.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_ipw.c,v retrieving revision 1.20 diff -u -r1.20 if_ipw.c --- sys/dev/pci/if_ipw.c 18 Apr 2006 12:49:02 -0000 1.20 +++ sys/dev/pci/if_ipw.c 22 Apr 2006 17:10:45 -0000 @@ -94,7 +94,7 @@ static void ipw_attach(struct device *, struct device *, void *); static int ipw_detach(struct device *, int); -static void ipw_shutdown(void *); +static void ipw_shutdown(int, void *); static int ipw_suspend(struct ipw_softc *); static int ipw_resume(struct ipw_softc *); static void ipw_powerhook(int, void *); @@ -748,7 +748,7 @@ } static void -ipw_shutdown(void *arg) +ipw_shutdown(int howto, void *arg) { struct ipw_softc *sc = (struct ipw_softc *)arg; struct ifnet *ifp = sc->sc_ic.ic_ifp; Index: sys/dev/pci/if_iwi.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_iwi.c,v retrieving revision 1.47 diff -u -r1.47 if_iwi.c --- sys/dev/pci/if_iwi.c 11 Apr 2006 15:42:56 -0000 1.47 +++ sys/dev/pci/if_iwi.c 22 Apr 2006 17:10:50 -0000 @@ -91,7 +91,7 @@ static void iwi_attach(struct device *, struct device *, void *); static int iwi_detach(struct device *, int); -static void iwi_shutdown(void *); +static void iwi_shutdown(int, void *); static int iwi_suspend(struct iwi_softc *); static int iwi_resume(struct iwi_softc *); static void iwi_powerhook(int, void *); @@ -804,7 +804,7 @@ } static void -iwi_shutdown(void *arg) +iwi_shutdown(int howto, void *arg) { struct iwi_softc *sc = (struct iwi_softc *)arg; struct ifnet *ifp = sc->sc_ic.ic_ifp; Index: sys/dev/pci/if_lmc.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_lmc.c,v retrieving revision 1.28 diff -u -r1.28 if_lmc.c --- sys/dev/pci/if_lmc.c 20 Apr 2006 16:51:57 -0000 1.28 +++ sys/dev/pci/if_lmc.c 22 Apr 2006 17:11:00 -0000 @@ -7156,7 +7156,7 @@ aprint_naive(": %s\n", sc->dev_desc); /* Install a shutdown hook. */ - if ((sc->sdh_cookie = shutdownhook_establish(tulip_detach, sc)) == NULL) + if ((sc->sdh_cookie = shutdownhook_establish(nbsd_tulip_detach, sc)) == NULL) { aprint_error("%s: shutdown_hook_establish() failed\n", NAME_UNIT); nbsd_detach(self, 0); @@ -7191,6 +7191,11 @@ return 0; } +nbsd_tulip_shutdown(int howto, void *arg) +{ + tulip_detach(arg); +} + CFATTACH_DECL(lmc, sizeof(softc_t), /* lmc_ca */ nbsd_match, nbsd_attach, nbsd_detach, NULL); @@ -7319,7 +7324,7 @@ printf(" %s: %s\n", intrstr, sc->dev_desc); /* Install a shutdown hook. */ - if ((sc->sdh_cookie = shutdownhook_establish(tulip_detach, sc)) == NULL) + if ((sc->sdh_cookie = shutdownhook_establish(tulip_shutdown, sc)) == NULL) { printf("%s: shutdown_hook_establish() failed\n", NAME_UNIT); obsd_detach(self, 0); Index: sys/dev/pci/if_ntwoc_pci.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_ntwoc_pci.c,v retrieving revision 1.17 diff -u -r1.17 if_ntwoc_pci.c --- sys/dev/pci/if_ntwoc_pci.c 29 Mar 2006 04:16:50 -0000 1.17 +++ sys/dev/pci/if_ntwoc_pci.c 22 Apr 2006 17:11:02 -0000 @@ -123,7 +123,7 @@ u_int8_t, u_int8_t); static int ntwoc_pci_intr(void *); static void ntwoc_pci_setup_dma(struct sca_softc *); -static void ntwoc_pci_shutdown(void *sc); +static void ntwoc_pci_shutdown(int howto, void *sc); CFATTACH_DECL(ntwoc_pci, sizeof(struct ntwoc_pci_softc), ntwoc_pci_match, ntwoc_pci_attach, NULL, NULL); @@ -463,7 +463,7 @@ * boot. Also, lower DTR on each port and disable card interrupts. */ static void -ntwoc_pci_shutdown(void *aux) +ntwoc_pci_shutdown(int howto, void *aux) { struct ntwoc_pci_softc *sc = aux; u_int16_t fecr; Index: sys/dev/pci/if_pcn.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_pcn.c,v retrieving revision 1.29 diff -u -r1.29 if_pcn.c --- sys/dev/pci/if_pcn.c 22 Feb 2006 02:57:26 -0000 1.29 +++ sys/dev/pci/if_pcn.c 22 Apr 2006 17:11:08 -0000 @@ -399,7 +399,7 @@ static int pcn_init(struct ifnet *); static void pcn_stop(struct ifnet *, int); -static void pcn_shutdown(void *); +static void pcn_shutdown(int, void *); static void pcn_reset(struct pcn_softc *); static void pcn_rxdrain(struct pcn_softc *); @@ -882,7 +882,7 @@ * Make sure the interface is stopped at reboot time. */ static void -pcn_shutdown(void *arg) +pcn_shutdown(int howto, void *arg) { struct pcn_softc *sc = arg; Index: sys/dev/pci/if_sip.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_sip.c,v retrieving revision 1.107 diff -u -r1.107 if_sip.c --- sys/dev/pci/if_sip.c 18 Apr 2006 13:07:03 -0000 1.107 +++ sys/dev/pci/if_sip.c 22 Apr 2006 17:11:15 -0000 @@ -428,7 +428,7 @@ static int SIP_DECL(init)(struct ifnet *); static void SIP_DECL(stop)(struct ifnet *, int); -static void SIP_DECL(shutdown)(void *); +static void SIP_DECL(shutdown)(int, void *); static void SIP_DECL(reset)(struct sip_softc *); static void SIP_DECL(rxdrain)(struct sip_softc *); @@ -1153,7 +1153,7 @@ * Make sure the interface is stopped at reboot time. */ static void -SIP_DECL(shutdown)(void *arg) +SIP_DECL(shutdown)(int howto, void *arg) { struct sip_softc *sc = arg; Index: sys/dev/pci/if_ste.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_ste.c,v retrieving revision 1.22 diff -u -r1.22 if_ste.c --- sys/dev/pci/if_ste.c 11 Dec 2005 12:22:49 -0000 1.22 +++ sys/dev/pci/if_ste.c 22 Apr 2006 17:11:16 -0000 @@ -210,7 +210,7 @@ static int ste_init(struct ifnet *); static void ste_stop(struct ifnet *, int); -static void ste_shutdown(void *); +static void ste_shutdown(int, void *); static void ste_reset(struct ste_softc *, u_int32_t); static void ste_setthresh(struct ste_softc *); @@ -573,7 +573,7 @@ * Make sure the interface is stopped at reboot time. */ static void -ste_shutdown(void *arg) +ste_shutdown(int howto, void *arg) { struct ste_softc *sc = arg; Index: sys/dev/pci/if_stge.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_stge.c,v retrieving revision 1.32 diff -u -r1.32 if_stge.c --- sys/dev/pci/if_stge.c 11 Dec 2005 12:22:49 -0000 1.32 +++ sys/dev/pci/if_stge.c 22 Apr 2006 17:11:24 -0000 @@ -273,7 +273,7 @@ static int stge_init(struct ifnet *); static void stge_stop(struct ifnet *, int); -static void stge_shutdown(void *); +static void stge_shutdown(int, void *); static void stge_reset(struct stge_softc *); static void stge_rxdrain(struct stge_softc *); @@ -757,7 +757,7 @@ * Make sure the interface is stopped at reboot time. */ static void -stge_shutdown(void *arg) +stge_shutdown(int howto, void *arg) { struct stge_softc *sc = arg; Index: sys/dev/pci/if_ti.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_ti.c,v retrieving revision 1.70 diff -u -r1.70 if_ti.c --- sys/dev/pci/if_ti.c 28 Mar 2006 17:38:34 -0000 1.70 +++ sys/dev/pci/if_ti.c 22 Apr 2006 17:11:29 -0000 @@ -156,7 +156,7 @@ static const struct ti_type *ti_type_match(struct pci_attach_args *); static int ti_probe(struct device *, struct cfdata *, void *); static void ti_attach(struct device *, struct device *, void *); -static void ti_shutdown(void *); +static void ti_shutdown(int, void *); static void ti_txeof_tigon1(struct ti_softc *); static void ti_txeof_tigon2(struct ti_softc *); static void ti_rxeof(struct ti_softc *); @@ -2947,7 +2947,8 @@ * Stop all chip I/O so that the kernel's probe routines don't * get confused by errant DMAs when rebooting. */ -static void ti_shutdown(v) +static void ti_shutdown(howto, v) + int howto; void *v; { struct ti_softc *sc = v; Index: sys/dev/pci/if_tl.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_tl.c,v retrieving revision 1.72 diff -u -r1.72 if_tl.c --- sys/dev/pci/if_tl.c 24 Dec 2005 20:27:42 -0000 1.72 +++ sys/dev/pci/if_tl.c 22 Apr 2006 17:11:32 -0000 @@ -131,7 +131,7 @@ static int tl_mediachange(struct ifnet *); static void tl_mediastatus(struct ifnet *, struct ifmediareq *); static void tl_ifwatchdog(struct ifnet *); -static void tl_shutdown(void*); +static void tl_shutdown(int, void*); static void tl_ifstart(struct ifnet *); static void tl_reset(tl_softc_t*); @@ -537,7 +537,8 @@ sc->tl_mii.mii_media_status &= ~IFM_ACTIVE; } -static void tl_shutdown(v) +static void tl_shutdown(howto, v) + int howto; void *v; { tl_stop(v, 1); Index: sys/dev/pci/if_txp.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_txp.c,v retrieving revision 1.15 diff -u -r1.15 if_txp.c --- sys/dev/pci/if_txp.c 14 Apr 2006 18:45:53 -0000 1.15 +++ sys/dev/pci/if_txp.c 22 Apr 2006 17:11:33 -0000 @@ -91,7 +91,7 @@ void txp_attach(struct device *, struct device *, void *); int txp_intr(void *); void txp_tick(void *); -void txp_shutdown(void *); +void txp_shutdown(int, void *); int txp_ioctl(struct ifnet *, u_long, caddr_t); void txp_start(struct ifnet *); void txp_stop(struct txp_softc *); @@ -929,7 +929,8 @@ } void -txp_shutdown(vsc) +txp_shutdown(howto, vsc) + int howto; void *vsc; { struct txp_softc *sc = (struct txp_softc *)vsc; Index: sys/dev/pci/if_vge.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_vge.c,v retrieving revision 1.9 diff -u -r1.9 if_vge.c --- sys/dev/pci/if_vge.c 8 Mar 2006 23:46:27 -0000 1.9 +++ sys/dev/pci/if_vge.c 22 Apr 2006 17:11:38 -0000 @@ -143,7 +143,7 @@ static int vge_suspend (struct device *); static int vge_resume (struct device *); #endif -static void vge_shutdown (void *); +static void vge_shutdown (int, void *); static int vge_ifmedia_upd (struct ifnet *); static void vge_ifmedia_sts (struct ifnet *, struct ifmediareq *); @@ -2277,7 +2277,8 @@ * get confused by errant DMAs when rebooting. */ static void -vge_shutdown(arg) +vge_shutdown(howto, arg) + int howto; void *arg; { struct vge_softc *sc = (struct vge_softc *)arg; Index: sys/dev/pci/if_vr.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_vr.c,v retrieving revision 1.75 diff -u -r1.75 if_vr.c --- sys/dev/pci/if_vr.c 11 Dec 2005 12:22:50 -0000 1.75 +++ sys/dev/pci/if_vr.c 22 Apr 2006 17:11:40 -0000 @@ -1394,7 +1394,7 @@ static int vr_probe(struct device *, struct cfdata *, void *); static void vr_attach(struct device *, struct device *, void *); -static void vr_shutdown(void *); +static void vr_shutdown(int, void *); CFATTACH_DECL(vr, sizeof (struct vr_softc), vr_probe, vr_attach, NULL, NULL); @@ -1428,7 +1428,7 @@ * get confused by errant DMAs when rebooting. */ static void -vr_shutdown(void *arg) +vr_shutdown(int howto, void *arg) { struct vr_softc *sc = (struct vr_softc *)arg; Index: sys/dev/pci/if_wm.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/if_wm.c,v retrieving revision 1.114 diff -u -r1.114 if_wm.c --- sys/dev/pci/if_wm.c 27 Feb 2006 04:50:47 -0000 1.114 +++ sys/dev/pci/if_wm.c 22 Apr 2006 17:11:45 -0000 @@ -458,7 +458,7 @@ static int wm_init(struct ifnet *); static void wm_stop(struct ifnet *, int); -static void wm_shutdown(void *); +static void wm_shutdown(int, void *); static void wm_reset(struct wm_softc *); static void wm_rxdrain(struct wm_softc *); @@ -1376,7 +1376,7 @@ * Make sure the interface is stopped at reboot time. */ static void -wm_shutdown(void *arg) +wm_shutdown(int howto, void *arg) { struct wm_softc *sc = arg; Index: sys/dev/pci/mly.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/mly.c,v retrieving revision 1.26 diff -u -r1.26 mly.c --- sys/dev/pci/mly.c 14 Apr 2006 17:58:01 -0000 1.26 +++ sys/dev/pci/mly.c 22 Apr 2006 17:11:48 -0000 @@ -115,7 +115,7 @@ static int mly_fwhandshake(struct mly_softc *); static int mly_flush(struct mly_softc *); static int mly_intr(void *); -static void mly_shutdown(void *); +static void mly_shutdown(int, void *); static int mly_alloc_ccbs(struct mly_softc *); static void mly_check_event(struct mly_softc *); @@ -588,7 +588,7 @@ * Shut down all configured `mly' devices. */ static void -mly_shutdown(void *cookie) +mly_shutdown(int howto, void *cookie) { struct mly_softc *mly; int i; Index: sys/dev/pci/pccbb.c =================================================================== RCS file: /cvsroot/src/sys/dev/pci/pccbb.c,v retrieving revision 1.128 diff -u -r1.128 pccbb.c --- sys/dev/pci/pccbb.c 5 Apr 2006 22:16:42 -0000 1.128 +++ sys/dev/pci/pccbb.c 22 Apr 2006 17:11:54 -0000 @@ -390,7 +390,7 @@ } static void -pccbb_shutdown(void *arg) +pccbb_shutdown(int howto, void *arg) { struct pccbb_softc *sc = arg; pcireg_t command; Index: sys/dev/pcmcia/if_ray.c =================================================================== RCS file: /cvsroot/src/sys/dev/pcmcia/if_ray.c,v retrieving revision 1.60 diff -u -r1.60 if_ray.c --- sys/dev/pcmcia/if_ray.c 14 Apr 2006 17:50:27 -0000 1.60 +++ sys/dev/pcmcia/if_ray.c 22 Apr 2006 17:11:57 -0000 @@ -320,7 +320,7 @@ static void ray_reset_resetloop(void *); static int ray_send_auth(struct ray_softc *, u_int8_t *, u_int8_t); static void ray_set_pending(struct ray_softc *, u_int); -static void ray_shutdown(void *); +static void ray_shutdown(int, void *); static int ray_simple_cmd(struct ray_softc *, u_int, u_int); static void ray_start_assoc(struct ray_softc *); static void ray_start_join_net(struct ray_softc *); @@ -913,7 +913,8 @@ } static void -ray_shutdown(arg) +ray_shutdown(howto, arg) + int howto; void *arg; { struct ray_softc *sc; Index: sys/dev/pcmcia/if_wi_pcmcia.c =================================================================== RCS file: /cvsroot/src/sys/dev/pcmcia/if_wi_pcmcia.c,v retrieving revision 1.68 diff -u -r1.68 if_wi_pcmcia.c --- sys/dev/pcmcia/if_wi_pcmcia.c 11 Dec 2005 12:23:23 -0000 1.68 +++ sys/dev/pcmcia/if_wi_pcmcia.c 22 Apr 2006 17:11:58 -0000 @@ -80,7 +80,7 @@ static int wi_pcmcia_enable(struct wi_softc *); static void wi_pcmcia_disable(struct wi_softc *); static void wi_pcmcia_powerhook(int, void *); -static void wi_pcmcia_shutdown(void *); +static void wi_pcmcia_shutdown(int, void *); /* support to download firmware for symbol CF card */ static int wi_pcmcia_load_firm(struct wi_softc *, const void *, int, const void *, int); @@ -424,7 +424,8 @@ } static void -wi_pcmcia_shutdown(arg) +wi_pcmcia_shutdown(howto, arg) + int howto; void *arg; { struct wi_pcmcia_softc *psc = arg; Index: sys/dev/qbus/if_de.c =================================================================== RCS file: /cvsroot/src/sys/dev/qbus/if_de.c,v retrieving revision 1.20 diff -u -r1.20 if_de.c --- sys/dev/qbus/if_de.c 29 Mar 2006 18:17:36 -0000 1.20 +++ sys/dev/qbus/if_de.c 22 Apr 2006 17:12:03 -0000 @@ -184,7 +184,7 @@ static void destart(struct ifnet *); static void derecv(struct de_softc *); static void deintr(void *); -static void deshutdown(void *); +static void deshutdown(int, void *); CFATTACH_DECL(de, sizeof(struct de_softc), dematch, deattach, NULL, NULL); @@ -660,7 +660,7 @@ } void -deshutdown(void *arg) +deshutdown(int howto, void *arg) { struct de_softc *sc = arg; Index: sys/dev/sbus/p9100.c =================================================================== RCS file: /cvsroot/src/sys/dev/sbus/p9100.c,v retrieving revision 1.32 diff -u -r1.32 p9100.c --- sys/dev/sbus/p9100.c 15 Apr 2006 17:48:23 -0000 1.32 +++ sys/dev/sbus/p9100.c 22 Apr 2006 17:12:05 -0000 @@ -160,7 +160,7 @@ static void p9100_sbus_attach(struct device *, struct device *, void *); static void p9100unblank(struct device *); -static void p9100_shutdown(void *); +static void p9100_shutdown(int, void *); CFATTACH_DECL(pnozz, sizeof(struct p9100_softc), p9100_sbus_match, p9100_sbus_attach, NULL, NULL); @@ -482,7 +482,8 @@ } static void -p9100_shutdown(arg) +p9100_shutdown(howto, arg) + int howto; void *arg; { struct p9100_softc *sc = arg; Index: sys/dev/scsipi/sd.c =================================================================== RCS file: /cvsroot/src/sys/dev/scsipi/sd.c,v retrieving revision 1.247 diff -u -r1.247 sd.c --- sys/dev/scsipi/sd.c 30 Mar 2006 16:09:28 -0000 1.247 +++ sys/dev/scsipi/sd.c 22 Apr 2006 17:12:07 -0000 @@ -103,7 +103,7 @@ static void sdstart(struct scsipi_periph *); static void sdrestart(void *); static void sddone(struct scsipi_xfer *, int); -static void sd_shutdown(void *); +static void sd_shutdown(int, void *); static int sd_interpret_sense(struct scsipi_xfer *); static int sd_mode_sense(struct sd_softc *, u_int8_t, void *, size_t, int, @@ -1319,7 +1319,7 @@ } static void -sd_shutdown(void *arg) +sd_shutdown(int howto, void *arg) { struct sd_softc *sd = arg; Index: sys/dev/sysmon/sysmon_wdog.c =================================================================== RCS file: /cvsroot/src/sys/dev/sysmon/sysmon_wdog.c,v retrieving revision 1.12 diff -u -r1.12 sysmon_wdog.c --- sys/dev/sysmon/sysmon_wdog.c 11 Dec 2005 12:23:56 -0000 1.12 +++ sys/dev/sysmon/sysmon_wdog.c 22 Apr 2006 17:12:08 -0000 @@ -81,7 +81,7 @@ void sysmon_wdog_release(struct sysmon_wdog *); int sysmon_wdog_setmode(struct sysmon_wdog *, int, u_int); void sysmon_wdog_ktickle(void *); -void sysmon_wdog_shutdown(void *); +void sysmon_wdog_shutdown(int, void *); /* * sysmonopen_wdog: @@ -453,7 +453,7 @@ * Perform shutdown-time operations. */ void -sysmon_wdog_shutdown(void *arg) +sysmon_wdog_shutdown(int howto, void *arg) { struct sysmon_wdog *smw; Index: sys/dev/usb/ehci.c =================================================================== RCS file: /cvsroot/src/sys/dev/usb/ehci.c,v retrieving revision 1.109 diff -u -r1.109 ehci.c --- sys/dev/usb/ehci.c 14 Apr 2006 17:27:08 -0000 1.109 +++ sys/dev/usb/ehci.c 22 Apr 2006 17:12:14 -0000 @@ -127,7 +127,7 @@ } u; }; -Static void ehci_shutdown(void *); +Static void ehci_shutdown(int, void *); Static void ehci_power(int, void *); Static usbd_status ehci_open(usbd_pipe_handle); @@ -1098,7 +1098,7 @@ * Shut down the controller when the system is going down. */ void -ehci_shutdown(void *v) +ehci_shutdown(int howto, void *v) { ehci_softc_t *sc = v; Index: sys/dev/usb/ohci.c =================================================================== RCS file: /cvsroot/src/sys/dev/usb/ohci.c,v retrieving revision 1.173 diff -u -r1.173 ohci.c --- sys/dev/usb/ohci.c 15 Apr 2006 01:07:51 -0000 1.173 +++ sys/dev/usb/ohci.c 22 Apr 2006 17:12:17 -0000 @@ -136,7 +136,7 @@ ohci_softc_t *, int, int, usbd_xfer_handle, ohci_soft_td_t *, ohci_soft_td_t **); -Static void ohci_shutdown(void *v); +Static void ohci_shutdown(int howto, void *v); Static void ohci_power(int, void *); Static usbd_status ohci_open(usbd_pipe_handle); Static void ohci_poll(struct usbd_bus *); @@ -882,12 +882,18 @@ sc->sc_bus.methods = &ohci_bus_methods; sc->sc_bus.pipe_size = sizeof(struct ohci_pipe); -#if defined(__NetBSD__) || defined(__OpenBSD__) +#if defined(__NetBSD__) sc->sc_control = sc->sc_intre = 0; sc->sc_powerhook = powerhook_establish(ohci_power, sc); sc->sc_shutdownhook = shutdownhook_establish(ohci_shutdown, sc); #endif +#if defined(__OpenBSD__) + sc->sc_control = sc->sc_intre = 0; + sc->sc_powerhook = powerhook_establish(ohci_power, sc); /* XXX: Broken */ + sc->sc_shutdownhook = shutdownhook_establish(ohci_shutdown, sc); +#endif + usb_callout_init(sc->sc_tmo_rhsc); /* Finally, turn on interrupts. */ @@ -989,7 +995,7 @@ * Shut down the controller when the system is going down. */ void -ohci_shutdown(void *v) +ohci_shutdown(int howto, void *v) { ohci_softc_t *sc = v; Index: sys/dev/usb/uhci.c =================================================================== RCS file: /cvsroot/src/sys/dev/usb/uhci.c,v retrieving revision 1.195 diff -u -r1.195 uhci.c --- sys/dev/usb/uhci.c 14 Apr 2006 16:31:27 -0000 1.195 +++ sys/dev/usb/uhci.c 22 Apr 2006 17:12:23 -0000 @@ -165,7 +165,7 @@ Static void uhci_globalreset(uhci_softc_t *); Static usbd_status uhci_portreset(uhci_softc_t*, int); Static void uhci_reset(uhci_softc_t *); -Static void uhci_shutdown(void *v); +Static void uhci_shutdown(int howto, void *v); Static void uhci_power(int, void *); Static usbd_status uhci_run(uhci_softc_t *, int run); Static uhci_soft_td_t *uhci_alloc_std(uhci_softc_t *); @@ -525,12 +525,17 @@ sc->sc_bus.methods = &uhci_bus_methods; sc->sc_bus.pipe_size = sizeof(struct uhci_pipe); -#if defined(__NetBSD__) || defined(__OpenBSD__) +#if defined(__NetBSD__) sc->sc_suspend = PWR_RESUME; sc->sc_powerhook = powerhook_establish(uhci_power, sc); sc->sc_shutdownhook = shutdownhook_establish(uhci_shutdown, sc); #endif +#if defined(__OpenBSD__) + sc->sc_suspend = PWR_RESUME; + sc->sc_powerhook = powerhook_establish(uhci_power, sc); + sc->sc_shutdownhook = shutdownhook_establish(uhci_shutdown, sc); /* XXX: Broken */ +#endif UHCICMD(sc, UHCI_CMD_MAXP); /* Assume 64 byte packets at frame end */ DPRINTFN(1,("uhci_init: enabling\n")); @@ -695,7 +700,7 @@ * Shut down the controller when the system is going down. */ void -uhci_shutdown(void *v) +uhci_shutdown(int howto, void *v) { uhci_softc_t *sc = v; int s; Index: sys/dev/wscons/wsdisplay.c =================================================================== RCS file: /cvsroot/src/sys/dev/wscons/wsdisplay.c,v retrieving revision 1.97 diff -u -r1.97 wsdisplay.c --- sys/dev/wscons/wsdisplay.c 15 Apr 2006 17:48:24 -0000 1.97 +++ sys/dev/wscons/wsdisplay.c 22 Apr 2006 17:12:24 -0000 @@ -103,7 +103,7 @@ int, int, long); void wsscreen_detach(struct wsscreen *); int wsdisplay_addscreen(struct wsdisplay_softc *, int, const char *, const char *); -static void wsdisplay_shutdownhook(void *); +static void wsdisplay_shutdownhook(int, void *); static void wsdisplay_addscreen_print(struct wsdisplay_softc *, int, int); static void wsdisplay_closescreen(struct wsdisplay_softc *, struct wsscreen *); int wsdisplay_delscreen(struct wsdisplay_softc *, int, int); @@ -1999,7 +1999,7 @@ * Switch the console at shutdown. */ static void -wsdisplay_shutdownhook(void *arg) +wsdisplay_shutdownhook(int howto, void *arg) { wsdisplay_switchtoconsole();