From owner-svn-src-all@FreeBSD.ORG Wed May 20 17:29:22 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E77B106564A; Wed, 20 May 2009 17:29:22 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 890B68FC13; Wed, 20 May 2009 17:29:22 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n4KHTMRO038317; Wed, 20 May 2009 17:29:22 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n4KHTLQL038297; Wed, 20 May 2009 17:29:21 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <200905201729.n4KHTLQL038297@svn.freebsd.org> From: Warner Losh Date: Wed, 20 May 2009 17:29:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r192450 - in head/sys/dev: aac acpica amr arcmsr ata ciss cxgb iir mfi mpt pci twa twe wi X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 May 2009 17:29:23 -0000 Author: imp Date: Wed May 20 17:29:21 2009 New Revision: 192450 URL: http://svn.freebsd.org/changeset/base/192450 Log: We no longer need to use d_thread_t, migrate to struct thread *. Modified: head/sys/dev/aac/aac.c head/sys/dev/acpica/acpi.c head/sys/dev/amr/amr.c head/sys/dev/amr/amr_linux.c head/sys/dev/arcmsr/arcmsr.c head/sys/dev/ata/ata-all.c head/sys/dev/ciss/ciss.c head/sys/dev/cxgb/cxgb_main.c head/sys/dev/iir/iir_ctrl.c head/sys/dev/mfi/mfi.c head/sys/dev/mfi/mfi_linux.c head/sys/dev/mpt/mpt_user.c head/sys/dev/pci/pci.c head/sys/dev/pci/pci_pci.c head/sys/dev/pci/pcib_if.m head/sys/dev/twa/tw_osl_freebsd.c head/sys/dev/twe/twe_freebsd.c head/sys/dev/wi/if_wavelan_ieee.h head/sys/dev/wi/if_wi.c head/sys/dev/wi/if_wivar.h Modified: head/sys/dev/aac/aac.c ============================================================================== --- head/sys/dev/aac/aac.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/aac/aac.c Wed May 20 17:29:21 2009 (r192450) @@ -2905,7 +2905,7 @@ aac_describe_code(struct aac_code_lookup */ static int -aac_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +aac_open(struct cdev *dev, int flags, int fmt, struct thread *td) { struct aac_softc *sc; @@ -2918,7 +2918,7 @@ aac_open(struct cdev *dev, int flags, in } static int -aac_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +aac_close(struct cdev *dev, int flags, int fmt, struct thread *td) { struct aac_softc *sc; @@ -2933,7 +2933,7 @@ aac_close(struct cdev *dev, int flags, i } static int -aac_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td) +aac_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, struct thread *td) { union aac_statrequest *as; struct aac_softc *sc; @@ -3038,7 +3038,7 @@ aac_ioctl(struct cdev *dev, u_long cmd, } static int -aac_poll(struct cdev *dev, int poll_events, d_thread_t *td) +aac_poll(struct cdev *dev, int poll_events, struct thread *td) { struct aac_softc *sc; struct aac_fib_context *ctx; Modified: head/sys/dev/acpica/acpi.c ============================================================================== --- head/sys/dev/acpica/acpi.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/acpica/acpi.c Wed May 20 17:29:21 2009 (r192450) @@ -3186,19 +3186,19 @@ acpi_deregister_ioctl(u_long cmd, acpi_i } static int -acpiopen(struct cdev *dev, int flag, int fmt, d_thread_t *td) +acpiopen(struct cdev *dev, int flag, int fmt, struct thread *td) { return (0); } static int -acpiclose(struct cdev *dev, int flag, int fmt, d_thread_t *td) +acpiclose(struct cdev *dev, int flag, int fmt, struct thread *td) { return (0); } static int -acpiioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, d_thread_t *td) +acpiioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td) { struct acpi_softc *sc; struct acpi_ioctl_hook *hp; Modified: head/sys/dev/amr/amr.c ============================================================================== --- head/sys/dev/amr/amr.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/amr/amr.c Wed May 20 17:29:21 2009 (r192450) @@ -173,7 +173,7 @@ static void amr_printcommand(struct amr_ static void amr_init_sysctl(struct amr_softc *sc); static int amr_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t addr, - int32_t flag, d_thread_t *td); + int32_t flag, struct thread *td); MALLOC_DEFINE(M_AMR, "amr", "AMR memory"); @@ -431,7 +431,7 @@ amr_submit_bio(struct amr_softc *sc, str * Accept an open operation on the control device. */ static int -amr_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +amr_open(struct cdev *dev, int flags, int fmt, struct thread *td) { int unit = dev2unit(dev); struct amr_softc *sc = devclass_get_softc(devclass_find("amr"), unit); @@ -487,7 +487,7 @@ amr_prepare_ld_delete(struct amr_softc * * Accept the last close on the control device. */ static int -amr_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +amr_close(struct cdev *dev, int flags, int fmt, struct thread *td) { int unit = dev2unit(dev); struct amr_softc *sc = devclass_get_softc(devclass_find("amr"), unit); @@ -537,7 +537,7 @@ shutdown_out: int amr_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, - d_thread_t *td) + struct thread *td) { struct amr_softc *sc = (struct amr_softc *)dev->si_drv1; struct amr_command *ac; @@ -736,7 +736,7 @@ amr_linux_ioctl_int(struct cdev *dev, u_ } static int -amr_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, d_thread_t *td) +amr_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, struct thread *td) { struct amr_softc *sc = (struct amr_softc *)dev->si_drv1; union { Modified: head/sys/dev/amr/amr_linux.c ============================================================================== --- head/sys/dev/amr/amr_linux.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/amr/amr_linux.c Wed May 20 17:29:21 2009 (r192450) @@ -69,7 +69,7 @@ DEV_MODULE(amr_linux, amr_linux_modevent MODULE_DEPEND(amr, linux, 1, 1, 1); static int -amr_linux_ioctl(d_thread_t *p, struct linux_ioctl_args *args) +amr_linux_ioctl(struct thread *p, struct linux_ioctl_args *args) { struct file *fp; int error; Modified: head/sys/dev/arcmsr/arcmsr.c ============================================================================== --- head/sys/dev/arcmsr/arcmsr.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/arcmsr/arcmsr.c Wed May 20 17:29:21 2009 (r192450) @@ -249,7 +249,7 @@ MODULE_DEPEND(arcmsr, cam, 1, 1, 1); #if __FreeBSD_version < 503000 static int arcmsr_open(dev_t dev, int flags, int fmt, struct thread *proc) #else - static int arcmsr_open(struct cdev *dev, int flags, int fmt, d_thread_t *proc) + static int arcmsr_open(struct cdev *dev, int flags, int fmt, struct thread *proc) #endif #endif { @@ -274,7 +274,7 @@ MODULE_DEPEND(arcmsr, cam, 1, 1, 1); #if __FreeBSD_version < 503000 static int arcmsr_close(dev_t dev, int flags, int fmt, struct thread *proc) #else - static int arcmsr_close(struct cdev *dev, int flags, int fmt, d_thread_t *proc) + static int arcmsr_close(struct cdev *dev, int flags, int fmt, struct thread *proc) #endif #endif { @@ -299,7 +299,7 @@ MODULE_DEPEND(arcmsr, cam, 1, 1, 1); #if __FreeBSD_version < 503000 static int arcmsr_ioctl(dev_t dev, u_long ioctl_cmd, caddr_t arg, int flags, struct thread *proc) #else - static int arcmsr_ioctl(struct cdev *dev, u_long ioctl_cmd, caddr_t arg, int flags, d_thread_t *proc) + static int arcmsr_ioctl(struct cdev *dev, u_long ioctl_cmd, caddr_t arg, int flags, struct thread *proc) #endif #endif { Modified: head/sys/dev/ata/ata-all.c ============================================================================== --- head/sys/dev/ata/ata-all.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/ata/ata-all.c Wed May 20 17:29:21 2009 (r192450) @@ -663,7 +663,7 @@ ata_getparam(struct ata_device *atadev, btrim(atacap->serial, sizeof(atacap->serial)); bpack(atacap->serial, atacap->serial, sizeof(atacap->serial)); - if (bootverbose) + if (bootverbose || 1) printf("ata%d-%s: pio=%s wdma=%s udma=%s cable=%s wire\n", device_get_unit(ch->dev), ata_unit2str(atadev), Modified: head/sys/dev/ciss/ciss.c ============================================================================== --- head/sys/dev/ciss/ciss.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/ciss/ciss.c Wed May 20 17:29:21 2009 (r192450) @@ -4442,7 +4442,7 @@ ciss_name_command_status(int status) * Handle an open on the control device. */ static int -ciss_open(struct cdev *dev, int flags, int fmt, d_thread_t *p) +ciss_open(struct cdev *dev, int flags, int fmt, struct thread *p) { struct ciss_softc *sc; @@ -4462,7 +4462,7 @@ ciss_open(struct cdev *dev, int flags, i * Handle the last close on the control device. */ static int -ciss_close(struct cdev *dev, int flags, int fmt, d_thread_t *p) +ciss_close(struct cdev *dev, int flags, int fmt, struct thread *p) { struct ciss_softc *sc; @@ -4483,7 +4483,7 @@ ciss_close(struct cdev *dev, int flags, * simplify the porting of Compaq's userland tools. */ static int -ciss_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, d_thread_t *p) +ciss_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, struct thread *p) { struct ciss_softc *sc; IOCTL_Command_struct *ioc = (IOCTL_Command_struct *)addr; Modified: head/sys/dev/cxgb/cxgb_main.c ============================================================================== --- head/sys/dev/cxgb/cxgb_main.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/cxgb/cxgb_main.c Wed May 20 17:29:21 2009 (r192450) @@ -2528,13 +2528,13 @@ in_range(int val, int lo, int hi) } static int -cxgb_extension_open(struct cdev *dev, int flags, int fmp, d_thread_t *td) +cxgb_extension_open(struct cdev *dev, int flags, int fmp, struct thread *td) { return (0); } static int -cxgb_extension_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +cxgb_extension_close(struct cdev *dev, int flags, int fmt, struct thread *td) { return (0); } Modified: head/sys/dev/iir/iir_ctrl.c ============================================================================== --- head/sys/dev/iir/iir_ctrl.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/iir/iir_ctrl.c Wed May 20 17:29:21 2009 (r192450) @@ -144,7 +144,7 @@ gdt_minor2softc(int minor_no) } static int -iir_open(struct cdev *dev, int flags, int fmt, d_thread_t * p) +iir_open(struct cdev *dev, int flags, int fmt, struct thread * p) { GDT_DPRINTF(GDT_D_DEBUG, ("iir_open()\n")); @@ -162,7 +162,7 @@ iir_open(struct cdev *dev, int flags, in } static int -iir_close(struct cdev *dev, int flags, int fmt, d_thread_t * p) +iir_close(struct cdev *dev, int flags, int fmt, struct thread * p) { GDT_DPRINTF(GDT_D_DEBUG, ("iir_close()\n")); @@ -222,7 +222,7 @@ iir_read(struct cdev *dev, struct uio * */ static int -iir_ioctl(struct cdev *dev, u_long cmd, caddr_t cmdarg, int flags, d_thread_t * p) +iir_ioctl(struct cdev *dev, u_long cmd, caddr_t cmdarg, int flags, struct thread * p) { GDT_DPRINTF(GDT_D_DEBUG, ("iir_ioctl() cmd 0x%lx\n",cmd)); Modified: head/sys/dev/mfi/mfi.c ============================================================================== --- head/sys/dev/mfi/mfi.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/mfi/mfi.c Wed May 20 17:29:21 2009 (r192450) @@ -104,7 +104,7 @@ static int mfi_mapcmd(struct mfi_softc * static int mfi_send_frame(struct mfi_softc *, struct mfi_command *); static void mfi_complete(struct mfi_softc *, struct mfi_command *); static int mfi_abort(struct mfi_softc *, struct mfi_command *); -static int mfi_linux_ioctl_int(struct cdev *, u_long, caddr_t, int, d_thread_t *); +static int mfi_linux_ioctl_int(struct cdev *, u_long, caddr_t, int, struct thread *); static void mfi_timeout(void *); static int mfi_user_command(struct mfi_softc *, struct mfi_ioc_passthru *); @@ -1686,7 +1686,7 @@ mfi_dump_blocks(struct mfi_softc *sc, in } static int -mfi_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +mfi_open(struct cdev *dev, int flags, int fmt, struct thread *td) { struct mfi_softc *sc; int error; @@ -1706,7 +1706,7 @@ mfi_open(struct cdev *dev, int flags, in } static int -mfi_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +mfi_close(struct cdev *dev, int flags, int fmt, struct thread *td) { struct mfi_softc *sc; struct mfi_aen *mfi_aen_entry, *tmp; @@ -1910,7 +1910,7 @@ out: #endif static int -mfi_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td) +mfi_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, struct thread *td) { struct mfi_softc *sc; union mfi_statrequest *ms; @@ -2234,7 +2234,7 @@ out: } static int -mfi_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td) +mfi_linux_ioctl_int(struct cdev *dev, u_long cmd, caddr_t arg, int flag, struct thread *td) { struct mfi_softc *sc; struct mfi_linux_ioc_packet l_ioc; Modified: head/sys/dev/mfi/mfi_linux.c ============================================================================== --- head/sys/dev/mfi/mfi_linux.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/mfi/mfi_linux.c Wed May 20 17:29:21 2009 (r192450) @@ -80,7 +80,7 @@ DEV_MODULE(mfi_linux, mfi_linux_modevent MODULE_DEPEND(mfi, linux, 1, 1, 1); static int -mfi_linux_ioctl(d_thread_t *p, struct linux_ioctl_args *args) +mfi_linux_ioctl(struct thread *p, struct linux_ioctl_args *args) { struct file *fp; int error; Modified: head/sys/dev/mpt/mpt_user.c ============================================================================== --- head/sys/dev/mpt/mpt_user.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/mpt/mpt_user.c Wed May 20 17:29:21 2009 (r192450) @@ -173,14 +173,14 @@ mpt_user_detach(struct mpt_softc *mpt) } static int -mpt_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +mpt_open(struct cdev *dev, int flags, int fmt, struct thread *td) { return (0); } static int -mpt_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +mpt_close(struct cdev *dev, int flags, int fmt, struct thread *td) { return (0); @@ -585,7 +585,7 @@ mpt_user_raid_action(struct mpt_softc *m #endif static int -mpt_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, d_thread_t *td) +mpt_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, struct thread *td) { struct mpt_softc *mpt; struct mpt_cfg_page_req *page_req; Modified: head/sys/dev/pci/pci.c ============================================================================== --- head/sys/dev/pci/pci.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/pci/pci.c Wed May 20 17:29:21 2009 (r192450) @@ -418,6 +418,38 @@ pci_hdrtypedata(device_t pcib, int b, in #undef REG } +/* + * This is a lame example: we should have some way of managing this table + * from userland. The user should be able to tell us from the boot loader + * or at runtime what mapping to do. + */ +static struct pci_remap_entry +{ + uint16_t vendor; + uint16_t device; + uint16_t mapped_vendor; + uint16_t mapped_device; +} pci_remap[] = +{ + { 0x1039, 0x0901, 0x1039, 0x0900 } /* Map sis 901 to sis 900 */ +}; +static int pci_remap_entries = 1; + +static void +pci_apply_remap_table(pcicfgregs *cfg) +{ + int i; + + for (i = 0; i < pci_remap_entries; i++) { + if (cfg->vendor == pci_remap[i].vendor && + cfg->device == pci_remap[i].device) { + cfg->vendor = pci_remap[i].mapped_vendor; + cfg->device = pci_remap[i].mapped_device; + return; + } + } +} + /* read configuration header into pcicfgregs structure */ struct pci_devinfo * pci_read_device(device_t pcib, int d, int b, int s, int f, size_t size) @@ -464,6 +496,7 @@ pci_read_device(device_t pcib, int d, in pci_fixancient(cfg); pci_hdrtypedata(pcib, b, s, f, cfg); + pci_apply_remap_table(cfg); if (REG(PCIR_STATUS, 2) & PCIM_STATUS_CAPPRESENT) pci_read_extcap(pcib, cfg); @@ -2619,6 +2652,59 @@ pci_add_resources(device_t bus, device_t } } +/* + * After we've added the children to the pci bus device, we need to fixup + * the children in various ways. This function fixes things that require + * multiple passes to get right, such as bus number and some resource + * things (although the latter hasn't been implemented yet). This must be + * done before the children are probe/attached, sicne by that point these + * things must be fixed. + */ +static void +pci_fix_bridges(device_t dev) +{ + int i, numdevs, error, secbus, subbus; + device_t child, *devlist; + + if ((error = device_get_children(dev, &devlist, &numdevs))) + return; + /* + * First pass, get the bus numbers that are in use + */ + for (i = 0; i < numdevs; i++) { + child = devlist[i]; + switch (pci_read_config(child, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) { + default: + continue; + case 1: /* PCI-PCI bridge */ + case 2: /* CardBus bridge -- offsets are the same */ + secbus = pci_read_config(child, PCIR_SECBUS_1, 1); + subbus = pci_read_config(child, PCIR_SUBBUS_1, 1); + break; + } + printf("%d:%d:%d:%d sec %d sub %d\n", pcib_get_domain(dev), + pci_get_bus(child), pci_get_slot(child), + pci_get_function(child), secbus, subbus); + } +#if 0 + /* + * Second pass, Fix the bus numbers, as needed + */ + for (i = 0; i < numdevs; i++) { + child = devlist[i]; + switch (pci_read_config(dev, PCIR_HDRTYPE, 1) & PCIM_HDRTYPE) { + case 1: /* PCI-PCI bridge */ + break; + case 2: /* CardBus bridge */ + break; + default: + continue; + } + } +#endif + free(devlist, M_TEMP); +} + void pci_add_children(device_t dev, int domain, int busno, size_t dinfo_size) { @@ -2650,6 +2736,7 @@ pci_add_children(device_t dev, int domai } } #undef REG + pci_fix_bridges(dev); } void Modified: head/sys/dev/pci/pci_pci.c ============================================================================== --- head/sys/dev/pci/pci_pci.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/pci/pci_pci.c Wed May 20 17:29:21 2009 (r192450) @@ -52,6 +52,13 @@ __FBSDID("$FreeBSD$"); #include "pcib_if.h" +// #define KLUDGE_O_MATIC +#ifdef KLUDGE_O_MATIC +int hack_unit = 1; +u_long mem_base = 0xc0400000ul; +u_long mem_limit = 0x00100000ul; +#endif + static int pcib_probe(device_t dev); static device_method_t pcib_methods[] = { @@ -324,6 +331,14 @@ pcib_attach(device_t dev) struct pcib_softc *sc; device_t child; +#ifdef KLUDGE_O_MATIC + if (device_get_unit(dev) == hack_unit) { + pci_write_config(dev, PCIR_COMMAND, + PCIM_CMD_MEMEN | pci_read_config(dev, PCIR_COMMAND, 1), 1); + pci_write_config(dev, PCIR_MEMBASE_1, mem_base >> 16, 2); + pci_write_config(dev, PCIR_MEMLIMIT_1, mem_limit >> 16, 2); + } +#endif pcib_attach_common(dev); sc = device_get_softc(dev); if (sc->secbus != 0) { Modified: head/sys/dev/pci/pcib_if.m ============================================================================== --- head/sys/dev/pci/pcib_if.m Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/pci/pcib_if.m Wed May 20 17:29:21 2009 (r192450) @@ -144,3 +144,17 @@ METHOD int map_msi { uint64_t *addr; uint32_t *data; }; + +# +# Return the range of busses passed through this bridge. For normal +# pci-pci bridges (and compatible things like pci-x and pcie), this will +# just be the secbus and subbus configuration registers. For non-standard +# bridges, or for host bridges which have no standard, this will be the +# same data read from either device specific registers of from "perfect +# knowledge" of what they must be. +# +METHOD int bus_range { + device_t pcib; + u_int *secbus; + u_int *subbus; +}; Modified: head/sys/dev/twa/tw_osl_freebsd.c ============================================================================== --- head/sys/dev/twa/tw_osl_freebsd.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/twa/tw_osl_freebsd.c Wed May 20 17:29:21 2009 (r192450) @@ -86,7 +86,7 @@ static devclass_t twa_devclass; * non-zero-- failure */ static TW_INT32 -twa_open(struct cdev *dev, TW_INT32 flags, TW_INT32 fmt, d_thread_t *proc) +twa_open(struct cdev *dev, TW_INT32 flags, TW_INT32 fmt, struct thread *proc) { struct twa_softc *sc = (struct twa_softc *)(dev->si_drv1); @@ -111,7 +111,7 @@ twa_open(struct cdev *dev, TW_INT32 flag * non-zero-- failure */ static TW_INT32 -twa_close(struct cdev *dev, TW_INT32 flags, TW_INT32 fmt, d_thread_t *proc) +twa_close(struct cdev *dev, TW_INT32 flags, TW_INT32 fmt, struct thread *proc) { struct twa_softc *sc = (struct twa_softc *)(dev->si_drv1); @@ -140,7 +140,7 @@ twa_close(struct cdev *dev, TW_INT32 fla * non-zero-- failure */ static TW_INT32 -twa_ioctl(struct cdev *dev, u_long cmd, caddr_t buf, TW_INT32 flags, d_thread_t *proc) +twa_ioctl(struct cdev *dev, u_long cmd, caddr_t buf, TW_INT32 flags, struct thread *proc) { struct twa_softc *sc = (struct twa_softc *)(dev->si_drv1); TW_INT32 error; Modified: head/sys/dev/twe/twe_freebsd.c ============================================================================== --- head/sys/dev/twe/twe_freebsd.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/twe/twe_freebsd.c Wed May 20 17:29:21 2009 (r192450) @@ -79,7 +79,7 @@ static struct cdevsw twe_cdevsw = { * Accept an open operation on the control device. */ static int -twe_open(struct cdev *dev, int flags, int fmt, d_thread_t *td) +twe_open(struct cdev *dev, int flags, int fmt, struct thread *td) { struct twe_softc *sc = (struct twe_softc *)dev->si_drv1; @@ -91,7 +91,7 @@ twe_open(struct cdev *dev, int flags, in * Accept the last close on the control device. */ static int -twe_close(struct cdev *dev, int flags, int fmt, d_thread_t *td) +twe_close(struct cdev *dev, int flags, int fmt, struct thread *td) { struct twe_softc *sc = (struct twe_softc *)dev->si_drv1; @@ -103,7 +103,7 @@ twe_close(struct cdev *dev, int flags, i * Handle controller-specific control operations. */ static int -twe_ioctl_wrapper(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, d_thread_t *td) +twe_ioctl_wrapper(struct cdev *dev, u_long cmd, caddr_t addr, int32_t flag, struct thread *td) { struct twe_softc *sc = (struct twe_softc *)dev->si_drv1; Modified: head/sys/dev/wi/if_wavelan_ieee.h ============================================================================== --- head/sys/dev/wi/if_wavelan_ieee.h Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/wi/if_wavelan_ieee.h Wed May 20 17:29:21 2009 (r192450) @@ -58,14 +58,11 @@ * value. */ #define WI_MAX_DATALEN 512 - -#if 0 struct wi_req { u_int16_t wi_len; u_int16_t wi_type; u_int16_t wi_val[WI_MAX_DATALEN]; }; -#endif /* * Private LTV records (interpreted only by the driver). This is Modified: head/sys/dev/wi/if_wi.c ============================================================================== --- head/sys/dev/wi/if_wi.c Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/wi/if_wi.c Wed May 20 17:29:21 2009 (r192450) @@ -143,7 +143,6 @@ static int wi_alloc_fid(struct wi_softc static void wi_read_nicid(struct wi_softc *); static int wi_write_ssid(struct wi_softc *, int, u_int8_t *, int); -static int wi_cmd(struct wi_softc *, int, int, int, int); static int wi_seek_bap(struct wi_softc *, int, int); static int wi_read_bap(struct wi_softc *, int, int, void *, int); static int wi_write_bap(struct wi_softc *, int, int, void *, int); @@ -1801,7 +1800,7 @@ wi_write_wep(struct wi_softc *sc, struct return error; } -static int +int wi_cmd(struct wi_softc *sc, int cmd, int val0, int val1, int val2) { int i, s = 0; @@ -2120,3 +2119,5 @@ wi_free(device_t dev) sc->mem = NULL; } } + +MODULE_VERSION(wi, 1); Modified: head/sys/dev/wi/if_wivar.h ============================================================================== --- head/sys/dev/wi/if_wivar.h Wed May 20 17:19:30 2009 (r192449) +++ head/sys/dev/wi/if_wivar.h Wed May 20 17:29:21 2009 (r192450) @@ -186,3 +186,6 @@ void wi_init(void *); void wi_intr(void *); int wi_mgmt_xmit(struct wi_softc *, caddr_t, int); void wi_stop(struct wi_softc *, int); + +/* KLUDGE */ +int wi_cmd(struct wi_softc *, int, int, int, int);