PERFORCE change 144310 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Sun Jun 29 20:41:40 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=144310
Change 144310 by hselasky at 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) <<<
More information about the p4-projects
mailing list