Date: Sun, 29 Jun 2008 20:41:39 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 144310 for review Message-ID: <200806292041.m5TKfd9v006425@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=144310 Change 144310 by hselasky@hselasky_laptop001 on 2008/06/29 20:40:51 USB WLAN module is complete. - Mostly symbol renaming. "s/usbd_|usb_/usb2/g" (scripted) - Device ID tables have been converted into new format. (scripted) Affected files ... .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.c#5 edit .. //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.h#5 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2_fw.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2_reg.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2_var.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2_reg.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_ural2_var.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2_fw.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/if_zyd2_reg.h#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/usb2_wlan.c#2 edit .. //depot/projects/usb/src/sys/dev/usb2/wlan/usb2_wlan.h#2 edit .. //depot/projects/usb/src/sys/modules/usb2/wlan/Makefile#2 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.c#5 (text+ko) ==== @@ -121,7 +121,7 @@ *------------------------------------------------------------------------*/ int usb2_lookup_id_by_uaa(const struct usb2_device_id *id, uint32_t sizeof_id, - const struct usb2_attach_arg *uaa) + struct usb2_attach_arg *uaa) { id = usb2_lookup_id_by_info(id, sizeof_id, &(uaa->info)); if (id) { ==== //depot/projects/usb/src/sys/dev/usb2/core/usb2_lookup.h#5 (text+ko) ==== @@ -113,6 +113,6 @@ (((const uint8_t *)((did)->driver_info)) - ((const uint8_t *)0)) const struct usb2_device_id *usb2_lookup_id_by_info(const struct usb2_device_id *id, uint32_t sizeof_id, const struct usb2_lookup_info *info); -int usb2_lookup_id_by_uaa(const struct usb2_device_id *id, uint32_t sizeof_id, const struct usb2_attach_arg *uaa); +int usb2_lookup_id_by_uaa(const struct usb2_device_id *id, uint32_t sizeof_id, struct usb2_attach_arg *uaa); #endif /* _USB2_LOOKUP_H_ */ ==== //depot/projects/usb/src/sys/dev/usb2/wlan/if_rum2.c#2 (text+ko) ==== @@ -29,61 +29,36 @@ * http://www.ralinktech.com.tw/ */ -#include <sys/param.h> -#include <sys/sockio.h> -#include <sys/mbuf.h> -#include <sys/kernel.h> -#include <sys/socket.h> -#include <sys/systm.h> -#include <sys/malloc.h> -#include <sys/endian.h> +#include <dev/usb2/include/usb2_devid.h> +#include <dev/usb2/include/usb2_standard.h> +#include <dev/usb2/include/usb2_mfunc.h> +#include <dev/usb2/include/usb2_error.h> -#include <net/bpf.h> -#include <net/if.h> -#include <net/if_arp.h> -#include <net/ethernet.h> -#include <net/if_dl.h> -#include <net/if_media.h> -#include <net/if_types.h> +#define usb2_config_td_cc rum_config_copy +#define usb2_config_td_softc rum_softc -#include <net80211/ieee80211_var.h> -#include <net80211/ieee80211_radiotap.h> -#include <net80211/ieee80211_amrr.h> -#include <net80211/ieee80211_regdomain.h> -#include <net80211/ieee80211_phy.h> +#define USB_DEBUG_VAR rum_debug -#include <netinet/in.h> -#include <netinet/in_systm.h> -#include <netinet/in_var.h> -#include <netinet/ip.h> -#include <netinet/if_ether.h> +#include <dev/usb2/core/usb2_core.h> +#include <dev/usb2/core/usb2_lookup.h> +#include <dev/usb2/core/usb2_process.h> +#include <dev/usb2/core/usb2_config_td.h> +#include <dev/usb2/core/usb2_debug.h> +#include <dev/usb2/core/usb2_request.h> +#include <dev/usb2/core/usb2_busdma.h> +#include <dev/usb2/core/usb2_util.h> -#define usbd_config_td_cc rum_config_copy -#define usbd_config_td_softc rum_softc - -#include <dev/usb/usb_port.h> -#include <dev/usb/usb.h> -#include <dev/usb/usb_subr.h> - -#include "usbdevs.h" - -#include <dev/usb/if_rumreg.h> -#include <dev/usb/if_rumvar.h> -#include <dev/usb/if_rumfw.h> +#include <dev/usb2/wlan/usb2_wlan.h> +#include <dev/usb2/wlan/if_rum2_reg.h> +#include <dev/usb2/wlan/if_rum2_var.h> +#include <dev/usb2/wlan/if_rum2_fw.h> #ifdef USB_DEBUG -#define DPRINTF(sc,n,fmt,...) \ - do { if (rum_debug > (n)) { \ - printf("%s:%s: " fmt, (sc)->sc_name, \ - __FUNCTION__,## __VA_ARGS__); } } while (0) - static int rum_debug = 0; -SYSCTL_NODE(_hw_usb, OID_AUTO, rum, CTLFLAG_RW, 0, "USB rum"); -SYSCTL_INT(_hw_usb_rum, OID_AUTO, debug, CTLFLAG_RW, &rum_debug, 0, - "rum debug level"); -#else -#define DPRINTF(...) do { } while (0) +SYSCTL_NODE(_hw_usb2, OID_AUTO, rum, CTLFLAG_RW, 0, "USB rum"); +SYSCTL_INT(_hw_usb2_rum, OID_AUTO, debug, CTLFLAG_RW, &rum_debug, 0, + "Debug level"); #endif /* prototypes */ @@ -92,34 +67,34 @@ static device_attach_t rum_attach; static device_detach_t rum_detach; -static usbd_callback_t rum_bulk_read_callback; -static usbd_callback_t rum_bulk_read_clear_stall_callback; -static usbd_callback_t rum_bulk_write_callback; -static usbd_callback_t rum_bulk_write_clear_stall_callback; +static usb2_callback_t rum_bulk_read_callback; +static usb2_callback_t rum_bulk_read_clear_stall_callback; +static usb2_callback_t rum_bulk_write_callback; +static usb2_callback_t rum_bulk_write_clear_stall_callback; -static usbd_config_td_command_t rum_cfg_first_time_setup; -static usbd_config_td_command_t rum_config_copy; -static usbd_config_td_command_t rum_cfg_scan_start; -static usbd_config_td_command_t rum_cfg_scan_end; -static usbd_config_td_command_t rum_cfg_select_band; -static usbd_config_td_command_t rum_cfg_set_chan; -static usbd_config_td_command_t rum_cfg_enable_tsf_sync; -static usbd_config_td_command_t rum_cfg_enable_mrr; -static usbd_config_td_command_t rum_cfg_update_slot; -static usbd_config_td_command_t rum_cfg_select_antenna; -static usbd_config_td_command_t rum_cfg_set_txpreamble; -static usbd_config_td_command_t rum_cfg_update_promisc; -static usbd_config_td_command_t rum_cfg_pre_init; -static usbd_config_td_command_t rum_cfg_init; -static usbd_config_td_command_t rum_cfg_pre_stop; -static usbd_config_td_command_t rum_cfg_stop; -static usbd_config_td_command_t rum_cfg_amrr_timeout; -static usbd_config_td_command_t rum_cfg_prepare_beacon; -static usbd_config_td_command_t rum_cfg_newstate; +static usb2_config_td_command_t rum_cfg_first_time_setup; +static usb2_config_td_command_t rum_config_copy; +static usb2_config_td_command_t rum_cfg_scan_start; +static usb2_config_td_command_t rum_cfg_scan_end; +static usb2_config_td_command_t rum_cfg_select_band; +static usb2_config_td_command_t rum_cfg_set_chan; +static usb2_config_td_command_t rum_cfg_enable_tsf_sync; +static usb2_config_td_command_t rum_cfg_enable_mrr; +static usb2_config_td_command_t rum_cfg_update_slot; +static usb2_config_td_command_t rum_cfg_select_antenna; +static usb2_config_td_command_t rum_cfg_set_txpreamble; +static usb2_config_td_command_t rum_cfg_update_promisc; +static usb2_config_td_command_t rum_cfg_pre_init; +static usb2_config_td_command_t rum_cfg_init; +static usb2_config_td_command_t rum_cfg_pre_stop; +static usb2_config_td_command_t rum_cfg_stop; +static usb2_config_td_command_t rum_cfg_amrr_timeout; +static usb2_config_td_command_t rum_cfg_prepare_beacon; +static usb2_config_td_command_t rum_cfg_newstate; static const char *rum_get_rf(uint32_t rev); static int rum_ioctl_cb(struct ifnet *ifp, u_long cmd, caddr_t data); -static void rum_std_command(struct ieee80211com *ic, usbd_config_td_command_t *func); +static void rum_std_command(struct ieee80211com *ic, usb2_config_td_command_t *func); static void rum_scan_start_cb(struct ieee80211com *); static void rum_scan_end_cb(struct ieee80211com *); static void rum_set_channel_cb(struct ieee80211com *); @@ -130,7 +105,7 @@ static uint8_t rum_cfg_bbp_read(struct rum_softc *sc, uint8_t reg); static void rum_cfg_amrr_start(struct rum_softc *sc); static void rum_cfg_bbp_write(struct rum_softc *sc, uint8_t reg, uint8_t val); -static void rum_cfg_do_request(struct rum_softc *sc, usb_device_request_t *req, void *data); +static void rum_cfg_do_request(struct rum_softc *sc, struct usb2_device_request *req, void *data); static void rum_cfg_eeprom_read(struct rum_softc *sc, uint16_t addr, void *buf, uint16_t len); static void rum_cfg_load_microcode(struct rum_softc *sc, const uint8_t *ucode, uint16_t size); static void rum_cfg_read_eeprom(struct rum_softc *sc); @@ -166,52 +141,52 @@ static void rum_update_promisc_cb(struct ifnet *ifp); /* various supported device vendors/products */ -static const struct usb_devno rum_devs[] = { - {USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_HWU54DM}, - {USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_RT2573_2}, - {USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_RT2573_3}, - {USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_RT2573_4}, - {USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_WUG2700}, - {USB_VENDOR_AMIT, USB_PRODUCT_AMIT_CGWLUSB2GO}, - {USB_VENDOR_ASUS, USB_PRODUCT_ASUS_RT2573_1}, - {USB_VENDOR_ASUS, USB_PRODUCT_ASUS_RT2573_2}, - {USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5D7050A}, - {USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5D9050V3}, - {USB_VENDOR_CISCOLINKSYS, USB_PRODUCT_CISCOLINKSYS_WUSB54GC}, - {USB_VENDOR_CISCOLINKSYS, USB_PRODUCT_CISCOLINKSYS_WUSB54GR}, - {USB_VENDOR_CONCEPTRONIC2, USB_PRODUCT_CONCEPTRONIC2_C54RU2}, - {USB_VENDOR_COREGA, USB_PRODUCT_COREGA_CGWLUSB2GL}, - {USB_VENDOR_COREGA, USB_PRODUCT_COREGA_CGWLUSB2GPX}, - {USB_VENDOR_DICKSMITH, USB_PRODUCT_DICKSMITH_CWD854F}, - {USB_VENDOR_DICKSMITH, USB_PRODUCT_DICKSMITH_RT2573}, - {USB_VENDOR_DLINK2, USB_PRODUCT_DLINK2_DWLG122C1}, - {USB_VENDOR_DLINK2, USB_PRODUCT_DLINK2_WUA1340}, - {USB_VENDOR_GIGABYTE, USB_PRODUCT_GIGABYTE_GNWB01GS}, - {USB_VENDOR_GIGABYTE, USB_PRODUCT_GIGABYTE_GNWI05GS}, - {USB_VENDOR_GIGASET, USB_PRODUCT_GIGASET_RT2573}, - {USB_VENDOR_GOODWAY, USB_PRODUCT_GOODWAY_RT2573}, - {USB_VENDOR_GUILLEMOT, USB_PRODUCT_GUILLEMOT_HWGUSB254LB}, - {USB_VENDOR_GUILLEMOT, USB_PRODUCT_GUILLEMOT_HWGUSB254V2AP}, - {USB_VENDOR_HUAWEI3COM, USB_PRODUCT_HUAWEI3COM_WUB320G}, - {USB_VENDOR_MELCO, USB_PRODUCT_MELCO_G54HP}, - {USB_VENDOR_MELCO, USB_PRODUCT_MELCO_SG54HP}, - {USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_1}, - {USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_2}, - {USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_3}, - {USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_4}, - {USB_VENDOR_NOVATECH, USB_PRODUCT_NOVATECH_RT2573}, - {USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUS54HP}, - {USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUS54MINI2}, - {USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUSMM}, - {USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573}, - {USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573_2}, - {USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2573}, - {USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2573_2}, - {USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2671}, - {USB_VENDOR_SITECOMEU, USB_PRODUCT_SITECOMEU_WL113R2}, - {USB_VENDOR_SITECOMEU, USB_PRODUCT_SITECOMEU_WL172}, - {USB_VENDOR_SPARKLAN, USB_PRODUCT_SPARKLAN_RT2573}, - {USB_VENDOR_SURECOM, USB_PRODUCT_SURECOM_RT2573} +static const struct usb2_device_id rum_devs[] = { + {USB_VPI(USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_HWU54DM, 0)}, + {USB_VPI(USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_RT2573_2, 0)}, + {USB_VPI(USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_RT2573_3, 0)}, + {USB_VPI(USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_RT2573_4, 0)}, + {USB_VPI(USB_VENDOR_ABOCOM, USB_PRODUCT_ABOCOM_WUG2700, 0)}, + {USB_VPI(USB_VENDOR_AMIT, USB_PRODUCT_AMIT_CGWLUSB2GO, 0)}, + {USB_VPI(USB_VENDOR_ASUS, USB_PRODUCT_ASUS_RT2573_1, 0)}, + {USB_VPI(USB_VENDOR_ASUS, USB_PRODUCT_ASUS_RT2573_2, 0)}, + {USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5D7050A, 0)}, + {USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5D9050V3, 0)}, + {USB_VPI(USB_VENDOR_CISCOLINKSYS, USB_PRODUCT_CISCOLINKSYS_WUSB54GC, 0)}, + {USB_VPI(USB_VENDOR_CISCOLINKSYS, USB_PRODUCT_CISCOLINKSYS_WUSB54GR, 0)}, + {USB_VPI(USB_VENDOR_CONCEPTRONIC2, USB_PRODUCT_CONCEPTRONIC2_C54RU2, 0)}, + {USB_VPI(USB_VENDOR_COREGA, USB_PRODUCT_COREGA_CGWLUSB2GL, 0)}, + {USB_VPI(USB_VENDOR_COREGA, USB_PRODUCT_COREGA_CGWLUSB2GPX, 0)}, + {USB_VPI(USB_VENDOR_DICKSMITH, USB_PRODUCT_DICKSMITH_CWD854F, 0)}, + {USB_VPI(USB_VENDOR_DICKSMITH, USB_PRODUCT_DICKSMITH_RT2573, 0)}, + {USB_VPI(USB_VENDOR_DLINK2, USB_PRODUCT_DLINK2_DWLG122C1, 0)}, + {USB_VPI(USB_VENDOR_DLINK2, USB_PRODUCT_DLINK2_WUA1340, 0)}, + {USB_VPI(USB_VENDOR_GIGABYTE, USB_PRODUCT_GIGABYTE_GNWB01GS, 0)}, + {USB_VPI(USB_VENDOR_GIGABYTE, USB_PRODUCT_GIGABYTE_GNWI05GS, 0)}, + {USB_VPI(USB_VENDOR_GIGASET, USB_PRODUCT_GIGASET_RT2573, 0)}, + {USB_VPI(USB_VENDOR_GOODWAY, USB_PRODUCT_GOODWAY_RT2573, 0)}, + {USB_VPI(USB_VENDOR_GUILLEMOT, USB_PRODUCT_GUILLEMOT_HWGUSB254LB, 0)}, + {USB_VPI(USB_VENDOR_GUILLEMOT, USB_PRODUCT_GUILLEMOT_HWGUSB254V2AP, 0)}, + {USB_VPI(USB_VENDOR_HUAWEI3COM, USB_PRODUCT_HUAWEI3COM_WUB320G, 0)}, + {USB_VPI(USB_VENDOR_MELCO, USB_PRODUCT_MELCO_G54HP, 0)}, + {USB_VPI(USB_VENDOR_MELCO, USB_PRODUCT_MELCO_SG54HP, 0)}, + {USB_VPI(USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_1, 0)}, + {USB_VPI(USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_2, 0)}, + {USB_VPI(USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_3, 0)}, + {USB_VPI(USB_VENDOR_MSI, USB_PRODUCT_MSI_RT2573_4, 0)}, + {USB_VPI(USB_VENDOR_NOVATECH, USB_PRODUCT_NOVATECH_RT2573, 0)}, + {USB_VPI(USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUS54HP, 0)}, + {USB_VPI(USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUS54MINI2, 0)}, + {USB_VPI(USB_VENDOR_PLANEX2, USB_PRODUCT_PLANEX2_GWUSMM, 0)}, + {USB_VPI(USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573, 0)}, + {USB_VPI(USB_VENDOR_QCOM, USB_PRODUCT_QCOM_RT2573_2, 0)}, + {USB_VPI(USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2573, 0)}, + {USB_VPI(USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2573_2, 0)}, + {USB_VPI(USB_VENDOR_RALINK, USB_PRODUCT_RALINK_RT2671, 0)}, + {USB_VPI(USB_VENDOR_SITECOMEU, USB_PRODUCT_SITECOMEU_WL113R2, 0)}, + {USB_VPI(USB_VENDOR_SITECOMEU, USB_PRODUCT_SITECOMEU_WL172, 0)}, + {USB_VPI(USB_VENDOR_SPARKLAN, USB_PRODUCT_SPARKLAN_RT2573, 0)}, + {USB_VPI(USB_VENDOR_SURECOM, USB_PRODUCT_SURECOM_RT2573, 0)}, }; struct rum_def_mac { @@ -381,7 +356,7 @@ {165, 0x00b33, 0x012ad, 0x2e014, 0x30285} }; -static const struct usbd_config rum_config[RUM_N_TRANSFER] = { +static const struct usb2_config rum_config[RUM_N_TRANSFER] = { [0] = { .type = UE_BULK, .endpoint = UE_ADDR_ANY, @@ -405,7 +380,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &rum_bulk_write_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -415,7 +390,7 @@ .type = UE_CONTROL, .endpoint = 0x00, /* Control pipe */ .direction = UE_DIR_ANY, - .mh.bufsize = sizeof(usb_device_request_t), + .mh.bufsize = sizeof(struct usb2_device_request), .mh.callback = &rum_bulk_read_clear_stall_callback, .mh.timeout = 1000, /* 1 second */ .mh.interval = 50, /* 50ms */ @@ -437,30 +412,28 @@ .size = sizeof(struct rum_softc), }; -DRIVER_MODULE(rum, uhub, rum_driver, rum_devclass, usbd_driver_load, 0); -MODULE_DEPEND(rum, usb, 1, 1, 1); +DRIVER_MODULE(rum, ushub, rum_driver, rum_devclass, NULL, 0); +MODULE_DEPEND(rum, usb2_core, 1, 1, 1); MODULE_DEPEND(rum, wlan, 1, 1, 1); -MODULE_DEPEND(rum, wlan_amrr, 1, 1, 1); static int rum_probe(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); - if (uaa->usb_mode != USB_MODE_HOST) { - return (UMATCH_NONE); + if (uaa->usb2_mode != USB_MODE_HOST) { + return (ENXIO); } - if (uaa->iface != NULL) { - return (UMATCH_NONE); + if (uaa->info.bConfigIndex != 0) { + return (ENXIO); } - return ((usb_lookup(rum_devs, uaa->vendor, uaa->product) != NULL) ? - UMATCH_VENDOR_PRODUCT : UMATCH_NONE); + return (usb2_lookup_id_by_uaa(rum_devs, sizeof(rum_devs), uaa)); } static int rum_attach(device_t dev) { - struct usb_attach_arg *uaa = device_get_ivars(dev); + struct usb2_attach_arg *uaa = device_get_ivars(dev); struct rum_softc *sc = device_get_softc(dev); int error; uint8_t iface_index; @@ -468,7 +441,7 @@ if (sc == NULL) { return (ENOMEM); } - usbd_set_device_desc(dev); + device_set_usb2_desc(dev); mtx_init(&sc->sc_mtx, "rum lock", MTX_NETWORK_LOCK, MTX_DEF | MTX_RECURSE); @@ -479,27 +452,20 @@ sc->sc_udev = uaa->device; sc->sc_unit = device_get_unit(dev); - usb_callout_init_mtx(&(sc->sc_watchdog), + usb2_callout_init_mtx(&(sc->sc_watchdog), &(sc->sc_mtx), CALLOUT_RETURNUNLOCKED); - error = usbd_set_config_no(uaa->device, RT2573_CONFIG_NO, 0); - - if (error) { - device_printf(dev, "could not set configuration " - "number, err=%s!\n", usbd_errstr(error)); - goto detach; - } iface_index = RT2573_IFACE_INDEX; - error = usbd_transfer_setup(uaa->device, &iface_index, + error = usb2_transfer_setup(uaa->device, &iface_index, sc->sc_xfer, rum_config, RUM_N_TRANSFER, sc, &(sc->sc_mtx)); if (error) { device_printf(dev, "could not allocate USB transfers, " - "err=%s\n", usbd_errstr(error)); + "err=%s\n", usb2_errstr(error)); goto detach; } - error = usbd_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_mtx), + error = usb2_config_td_setup(&(sc->sc_config_td), sc, &(sc->sc_mtx), &rum_end_of_commands, - sizeof(struct rum_config_copy), 24); + sizeof(struct usb2_config_td_cc), 24); if (error) { device_printf(dev, "could not setup config " "thread!\n"); @@ -509,7 +475,7 @@ /* start setup */ - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), NULL, &rum_cfg_first_time_setup, 0, 0); /* start watchdog (will exit mutex) */ @@ -530,11 +496,11 @@ struct ieee80211com *ic; struct ifnet *ifp; - usbd_config_td_stop(&(sc->sc_config_td)); + usb2_config_td_stop(&(sc->sc_config_td)); mtx_lock(&(sc->sc_mtx)); - usb_callout_stop(&sc->sc_watchdog); + usb2_callout_stop(&sc->sc_watchdog); rum_cfg_pre_stop(sc, NULL, 0); @@ -544,7 +510,7 @@ mtx_unlock(&(sc->sc_mtx)); /* stop all USB transfers first */ - usbd_transfer_unsetup(sc->sc_xfer, RUM_N_TRANSFER); + usb2_transfer_unsetup(sc->sc_xfer, RUM_N_TRANSFER); /* get rid of any late children */ bus_generic_detach(dev); @@ -554,9 +520,9 @@ ieee80211_ifdetach(ic); if_free(ifp); } - usbd_config_td_unsetup(&(sc->sc_config_td)); + usb2_config_td_unsetup(&(sc->sc_config_td)); - usb_callout_drain(&(sc->sc_watchdog)); + usb2_callout_drain(&(sc->sc_watchdog)); mtx_destroy(&sc->sc_mtx); @@ -564,27 +530,27 @@ } static void -rum_cfg_do_request(struct rum_softc *sc, usb_device_request_t *req, +rum_cfg_do_request(struct rum_softc *sc, struct usb2_device_request *req, void *data) { uint16_t length; - usbd_status_t err; + usb2_error_t err; repeat: - if (usbd_config_td_is_gone(&(sc->sc_config_td))) { + if (usb2_config_td_is_gone(&(sc->sc_config_td))) { goto error; } - err = usbd_do_request_flags + err = usb2_do_request_flags (sc->sc_udev, &(sc->sc_mtx), req, data, 0, NULL, 1000); if (err) { - DPRINTF(sc, 0, "device request failed, err=%s " - "(ignored)\n", usbd_errstr(err)); + DPRINTF(0, "device request failed, err=%s " + "(ignored)\n", usb2_errstr(err)); /* wait a little before next try */ - if (usbd_config_td_sleep(&(sc->sc_config_td), hz / 4)) { + if (usb2_config_td_sleep(&(sc->sc_config_td), hz / 4)) { goto error; } /* try until we are detached */ @@ -604,7 +570,7 @@ static void rum_cfg_eeprom_read(struct rum_softc *sc, uint16_t addr, void *buf, uint16_t len) { - usb_device_request_t req; + struct usb2_device_request req; req.bmRequestType = UT_READ_VENDOR_DEVICE; req.bRequest = RT2573_READ_EEPROM; @@ -637,7 +603,7 @@ static void rum_cfg_read_multi(struct rum_softc *sc, uint16_t reg, void *buf, uint16_t len) { - usb_device_request_t req; + struct usb2_device_request req; req.bmRequestType = UT_READ_VENDOR_DEVICE; req.bRequest = RT2573_READ_MULTI_MAC; @@ -661,7 +627,7 @@ static void rum_cfg_write_multi(struct rum_softc *sc, uint16_t reg, void *buf, uint16_t len) { - usb_device_request_t req; + struct usb2_device_request req; req.bmRequestType = UT_WRITE_VENDOR_DEVICE; req.bRequest = RT2573_WRITE_MULTI_MAC; @@ -686,14 +652,14 @@ if ((tmp & RT2573_BBP_BUSY) == 0) { return (tmp); } - if (usbd_config_td_sleep(&(sc->sc_config_td), hz / 100)) { + if (usb2_config_td_sleep(&(sc->sc_config_td), hz / 100)) { break; } } else { break; } } - DPRINTF(sc, 0, "could not disbusy BBP\n"); + DPRINTF(0, "could not disbusy BBP\n"); return (RT2573_BBP_BUSY); /* failure */ } @@ -739,11 +705,11 @@ if (!(tmp & RT2573_RF_BUSY)) { break; } - if (usbd_config_td_sleep(&(sc->sc_config_td), hz / 100)) { + if (usb2_config_td_sleep(&(sc->sc_config_td), hz / 100)) { return; } } else { - DPRINTF(sc, 0, "could not write to RF\n"); + DPRINTF(0, "could not write to RF\n"); return; } } @@ -751,13 +717,13 @@ tmp = RT2573_RF_BUSY | RT2573_RF_20BIT | ((val & 0xfffff) << 2) | reg; rum_cfg_write(sc, RT2573_PHY_CSR4, tmp); - DPRINTF(sc, 15, "RF R[%u] <- 0x%05x\n", reg, val & 0xfffff); + DPRINTF(15, "RF R[%u] <- 0x%05x\n", reg, val & 0xfffff); return; } static void rum_cfg_first_time_setup(struct rum_softc *sc, - struct rum_config_copy *cc, uint16_t refcount) + struct usb2_config_td_cc *cc, uint16_t refcount) { struct ieee80211com *ic; struct ifnet *ifp; @@ -783,14 +749,14 @@ break; } /* wait a little */ - if (usbd_config_td_sleep(&(sc->sc_config_td), hz / 100)) { + if (usb2_config_td_sleep(&(sc->sc_config_td), hz / 100)) { /* device detached */ goto done; } } if (tmp == 0) { - DPRINTF(sc, 0, "chip is maybe not ready\n"); + DPRINTF(0, "chip is maybe not ready\n"); } /* retrieve MAC address and various other things from EEPROM */ rum_cfg_read_eeprom(sc); @@ -807,7 +773,7 @@ mtx_lock(&(sc->sc_mtx)); if (ifp == NULL) { - DPRINTF(sc, -1, "could not if_alloc()!\n"); + DPRINTF(-1, "could not if_alloc()!\n"); goto done; } sc->sc_evilhack = ifp; @@ -918,7 +884,7 @@ sc->sc_flags &= ~RUM_FLAG_WAIT_COMMAND; /* start write transfer, if not started */ - usbd_transfer_start(sc->sc_xfer[0]); + usb2_transfer_start(sc->sc_xfer[0]); return; } @@ -949,7 +915,7 @@ static void rum_config_copy(struct rum_softc *sc, - struct rum_config_copy *cc, uint16_t refcount) + struct usb2_config_td_cc *cc, uint16_t refcount) { struct ifnet *ifp; struct ieee80211com *ic; @@ -1014,7 +980,7 @@ } static void -rum_bulk_read_callback(struct usbd_xfer *xfer) +rum_bulk_read_callback(struct usb2_xfer *xfer) { struct rum_softc *sc = xfer->priv_sc; struct ifnet *ifp = sc->sc_ifp; @@ -1026,18 +992,18 @@ uint32_t max_len; uint8_t rssi = 0; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: - DPRINTF(sc, 14, "rx done, actlen=%d\n", xfer->actlen); + DPRINTF(14, "rx done, actlen=%d\n", xfer->actlen); if (xfer->actlen < (RT2573_RX_DESC_SIZE + IEEE80211_MIN_LEN)) { - DPRINTF(sc, 0, "too short transfer, " + DPRINTF(0, "too short transfer, " "%d bytes\n", xfer->actlen); ifp->if_ierrors++; goto tr_setup; } - usbd_copy_out(xfer->frbuffers, 0, + usb2_copy_out(xfer->frbuffers, 0, &(sc->sc_rx_desc), RT2573_RX_DESC_SIZE); flags = le32toh(sc->sc_rx_desc.flags); @@ -1048,20 +1014,20 @@ * request to receive those frames when we * filled RAL_TXRX_CSR2: */ - DPRINTF(sc, 5, "PHY or CRC error\n"); + DPRINTF(5, "PHY or CRC error\n"); ifp->if_ierrors++; goto tr_setup; } m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); if (m == NULL) { - DPRINTF(sc, 0, "could not allocate mbuf\n"); + DPRINTF(0, "could not allocate mbuf\n"); ifp->if_ierrors++; goto tr_setup; } max_len = (xfer->actlen - RT2573_RX_DESC_SIZE); - usbd_copy_out(xfer->frbuffers, RT2573_RX_DESC_SIZE, + usb2_copy_out(xfer->frbuffers, RT2573_RX_DESC_SIZE, m->m_data, max_len); /* finalize mbuf */ @@ -1069,7 +1035,7 @@ m->m_pkthdr.len = m->m_len = (flags >> 16) & 0xfff; if (m->m_len > max_len) { - DPRINTF(sc, 0, "invalid length in RX " + DPRINTF(0, "invalid length in RX " "descriptor, %u bytes, received %u bytes\n", m->m_len, max_len); ifp->if_ierrors++; @@ -1079,7 +1045,7 @@ } rssi = rum_get_rssi(sc, sc->sc_rx_desc.rssi); - DPRINTF(sc, 0, "real length=%d bytes, rssi=%d\n", m->m_len, rssi); + DPRINTF(0, "real length=%d bytes, rssi=%d\n", m->m_len, rssi); if (bpf_peers_present(ifp->if_bpf)) { struct rum_rx_radiotap_header *tap = &(sc->sc_rxtap); @@ -1095,14 +1061,14 @@ bpf_mtap2(ifp->if_bpf, tap, sc->sc_rxtap_len, m); } - case USBD_ST_SETUP: + case USB_ST_SETUP: tr_setup: if (sc->sc_flags & RUM_FLAG_READ_STALL) { - usbd_transfer_start(sc->sc_xfer[3]); + usb2_transfer_start(sc->sc_xfer[3]); } else { xfer->frlengths[0] = xfer->max_data_length; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); } /* @@ -1131,10 +1097,10 @@ return; default: /* Error */ - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= RUM_FLAG_READ_STALL; - usbd_transfer_start(sc->sc_xfer[3]); + usb2_transfer_start(sc->sc_xfer[3]); } return; @@ -1142,15 +1108,15 @@ } static void -rum_bulk_read_clear_stall_callback(struct usbd_xfer *xfer) +rum_bulk_read_clear_stall_callback(struct usb2_xfer *xfer) { struct rum_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[1]; + struct usb2_xfer *xfer_other = sc->sc_xfer[1]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~RUM_FLAG_READ_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -1233,7 +1199,7 @@ return; } if (rate < 2) { - DPRINTF(sc, 0, "rate < 2!\n"); + DPRINTF(0, "rate < 2!\n"); /* avoid division by zero */ rate = 2; @@ -1293,13 +1259,13 @@ } if (sizeof(sc->sc_tx_desc) > MHLEN) { - DPRINTF(sc, 0, "No room for header structure!\n"); + DPRINTF(0, "No room for header structure!\n"); rum_tx_freem(m); return; } mm = m_gethdr(M_NOWAIT, MT_DATA); if (mm == NULL) { - DPRINTF(sc, 0, "Could not allocate header mbuf!\n"); + DPRINTF(0, "Could not allocate header mbuf!\n"); rum_tx_freem(m); return; } @@ -1312,7 +1278,7 @@ if (is_beacon) { if (mm->m_pkthdr.len > sizeof(sc->sc_beacon_buf)) { - DPRINTF(sc, -1, "Truncating beacon" + DPRINTF(-1, "Truncating beacon" ", %u bytes!\n", mm->m_pkthdr.len); mm->m_pkthdr.len = sizeof(sc->sc_beacon_buf); } @@ -1327,12 +1293,12 @@ /* start write transfer, if not started */ _IF_ENQUEUE(&(sc->sc_tx_queue), mm); - usbd_transfer_start(sc->sc_xfer[0]); + usb2_transfer_start(sc->sc_xfer[0]); return; } static void -rum_bulk_write_callback(struct usbd_xfer *xfer) +rum_bulk_write_callback(struct usb2_xfer *xfer) { struct rum_softc *sc = xfer->priv_sc; struct ifnet *ifp = sc->sc_ifp; @@ -1340,15 +1306,15 @@ uint16_t temp_len; uint8_t align; - switch (USBD_GET_STATE(xfer)) { - case USBD_ST_TRANSFERRED: - DPRINTF(sc, 10, "transfer complete\n"); + switch (USB_GET_STATE(xfer)) { + case USB_ST_TRANSFERRED: + DPRINTF(10, "transfer complete\n"); ifp->if_opackets++; - case USBD_ST_SETUP: + case USB_ST_SETUP: if (sc->sc_flags & RUM_FLAG_WRITE_STALL) { - usbd_transfer_start(sc->sc_xfer[2]); + usb2_transfer_start(sc->sc_xfer[2]); break; } if (sc->sc_flags & RUM_FLAG_WAIT_COMMAND) { @@ -1364,11 +1330,11 @@ if (m) { if (m->m_pkthdr.len > (MCLBYTES + RT2573_TX_DESC_SIZE)) { - DPRINTF(sc, -1, "data overflow, %u bytes\n", + DPRINTF(-1, "data overflow, %u bytes\n", m->m_pkthdr.len); m->m_pkthdr.len = (MCLBYTES + RT2573_TX_DESC_SIZE); } - usbd_m_copy_in(xfer->frbuffers, 0, + usb2_m_copy_in(xfer->frbuffers, 0, m, 0, m->m_pkthdr.len); /* compute transfer length */ @@ -1384,14 +1350,14 @@ /* check if we need to align length */ if (align != 0) { /* zero the extra bytes */ - usbd_bzero(xfer->frbuffers, temp_len, align); + usb2_bzero(xfer->frbuffers, temp_len, align); temp_len += align; } - DPRINTF(sc, 10, "sending frame len=%u ferlen=%u\n", + DPRINTF(10, "sending frame len=%u ferlen=%u\n", m->m_pkthdr.len, temp_len); xfer->frlengths[0] = temp_len; - usbd_start_hardware(xfer); + usb2_start_hardware(xfer); /* free mbuf and node */ rum_tx_freem(m); @@ -1400,13 +1366,13 @@ break; default: /* Error */ - DPRINTF(sc, 10, "transfer error, %s\n", - usbd_errstr(xfer->error)); + DPRINTF(10, "transfer error, %s\n", + usb2_errstr(xfer->error)); - if (xfer->error != USBD_ERR_CANCELLED) { + if (xfer->error != USB_ERR_CANCELLED) { /* try to clear stall first */ sc->sc_flags |= RUM_FLAG_WRITE_STALL; - usbd_transfer_start(sc->sc_xfer[2]); + usb2_transfer_start(sc->sc_xfer[2]); } ifp->if_oerrors++; break; @@ -1415,15 +1381,15 @@ } static void -rum_bulk_write_clear_stall_callback(struct usbd_xfer *xfer) +rum_bulk_write_clear_stall_callback(struct usb2_xfer *xfer) { struct rum_softc *sc = xfer->priv_sc; - struct usbd_xfer *xfer_other = sc->sc_xfer[0]; + struct usb2_xfer *xfer_other = sc->sc_xfer[0]; - if (usbd_clear_stall_callback(xfer, xfer_other)) { - DPRINTF(sc, 0, "stall cleared\n"); + if (usb2_clear_stall_callback(xfer, xfer_other)) { + DPRINTF(0, "stall cleared\n"); sc->sc_flags &= ~RUM_FLAG_WRITE_STALL; - usbd_transfer_start(xfer_other); + usb2_transfer_start(xfer_other); } return; } @@ -1436,11 +1402,11 @@ mtx_assert(&(sc->sc_mtx), MA_OWNED); if (sc->sc_amrr_timer) { - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), NULL, &rum_cfg_amrr_timeout, 0, 0); } - usb_callout_reset(&(sc->sc_watchdog), + usb2_callout_reset(&(sc->sc_watchdog), hz, &rum_watchdog, sc); mtx_unlock(&(sc->sc_mtx)); @@ -1454,7 +1420,7 @@ struct rum_softc *sc = arg; mtx_lock(&(sc->sc_mtx)); - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), &rum_cfg_pre_init, &rum_cfg_init, 0, 0); mtx_unlock(&(sc->sc_mtx)); @@ -1474,13 +1440,13 @@ mtx_lock(&(sc->sc_mtx)); if (ifp->if_flags & IFF_UP) { if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), &rum_cfg_pre_init, &rum_cfg_init, 0, 0); } } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), &rum_cfg_pre_stop, &rum_cfg_stop, 0, 0); } @@ -1507,7 +1473,7 @@ mtx_lock(&(sc->sc_mtx)); /* start write transfer, if not started */ - usbd_transfer_start(sc->sc_xfer[0]); + usb2_transfer_start(sc->sc_xfer[0]); mtx_unlock(&(sc->sc_mtx)); return; @@ -1515,7 +1481,7 @@ static void rum_cfg_newstate(struct rum_softc *sc, - struct rum_config_copy *cc, uint16_t refcount) + struct usb2_config_td_cc *cc, uint16_t refcount) { struct ifnet *ifp = sc->sc_ifp; struct ieee80211com *ic = ifp->if_l2com; @@ -1560,7 +1526,7 @@ struct ieee80211com *ic = vap->iv_ic; struct rum_softc *sc = ic->ic_ifp->if_softc; - DPRINTF(sc, 0, "setting new state: %d\n", nstate); + DPRINTF(0, "setting new state: %d\n", nstate); mtx_lock(&(sc->sc_mtx)); @@ -1575,7 +1541,7 @@ * USB configuration can only be done from the USB configuration * thread: */ - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), &rum_config_copy, &rum_cfg_newstate, 0, 0); @@ -1585,7 +1551,7 @@ } static void -rum_std_command(struct ieee80211com *ic, usbd_config_td_command_t *func) +rum_std_command(struct ieee80211com *ic, usb2_config_td_command_t *func) { struct rum_softc *sc = ic->ic_ifp->if_softc; @@ -1593,7 +1559,7 @@ sc->sc_rates = ieee80211_get_ratetable(ic->ic_curchan); - usbd_config_td_queue_command + usb2_config_td_queue_command (&(sc->sc_config_td), &rum_config_copy, func, 0, 0); mtx_unlock(&(sc->sc_mtx)); @@ -1624,7 +1590,7 @@ static void rum_cfg_scan_start(struct rum_softc *sc, - struct rum_config_copy *cc, uint16_t refcount) + struct usb2_config_td_cc *cc, uint16_t refcount) { /* abort TSF synchronization */ rum_cfg_disable_tsf_sync(sc); @@ -1634,7 +1600,7 @@ static void rum_cfg_scan_end(struct rum_softc *sc, - struct rum_config_copy *cc, uint16_t refcount) + struct usb2_config_td_cc *cc, uint16_t refcount) { /* enable TSF synchronization */ rum_cfg_enable_tsf_sync(sc, cc, 0); @@ -1648,7 +1614,7 @@ */ static void rum_cfg_select_band(struct rum_softc *sc, - struct rum_config_copy *cc, uint16_t refcount) + struct usb2_config_td_cc *cc, uint16_t refcount) { uint32_t tmp; uint8_t bbp17, bbp35, bbp96, bbp97, bbp98, bbp104; @@ -1706,7 +1672,7 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806292041.m5TKfd9v006425>