52 #include <sys/mac_wifi.h>
53 #include <sys/net80211.h>
54 #include <inet/wifi_ioctl.h>
55
56 #include "mwl_var.h"
57
58 static int mwl_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd);
59 static int mwl_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd);
60 static int mwl_quiesce(dev_info_t *devinfo);
61
62 DDI_DEFINE_STREAM_OPS(mwl_dev_ops, nulldev, nulldev, mwl_attach, mwl_detach,
63 nodev, NULL, D_MP, NULL, mwl_quiesce);
64
65 static struct modldrv mwl_modldrv = {
66 &mod_driverops, /* Type of module. This one is a driver */
67 "Marvell 88W8363 WiFi driver v1.1", /* short description */
68 &mwl_dev_ops /* driver specific ops */
69 };
70
71 static struct modlinkage modlinkage = {
72 MODREV_1, (void *)&mwl_modldrv, NULL
73 };
74
75 static void *mwl_soft_state_p = NULL;
76
77 static int mwl_m_stat(void *, uint_t, uint64_t *);
78 static int mwl_m_start(void *);
79 static void mwl_m_stop(void *);
80 static int mwl_m_promisc(void *, boolean_t);
81 static int mwl_m_multicst(void *, boolean_t, const uint8_t *);
82 static int mwl_m_unicst(void *, const uint8_t *);
83 static mblk_t *mwl_m_tx(void *, mblk_t *);
84 static void mwl_m_ioctl(void *, queue_t *, mblk_t *);
85 static int mwl_m_setprop(void *arg, const char *pr_name,
86 mac_prop_id_t wldp_pr_num,
87 uint_t wldp_length, const void *wldp_buf);
88 static int mwl_m_getprop(void *arg, const char *pr_name,
89 mac_prop_id_t wldp_pr_num, uint_t wldp_length,
90 void *wldp_buf);
91 static void mwl_m_propinfo(void *, const char *, mac_prop_id_t,
92 mac_prop_info_handle_t);
|
52 #include <sys/mac_wifi.h>
53 #include <sys/net80211.h>
54 #include <inet/wifi_ioctl.h>
55
56 #include "mwl_var.h"
57
58 static int mwl_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd);
59 static int mwl_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd);
60 static int mwl_quiesce(dev_info_t *devinfo);
61
62 DDI_DEFINE_STREAM_OPS(mwl_dev_ops, nulldev, nulldev, mwl_attach, mwl_detach,
63 nodev, NULL, D_MP, NULL, mwl_quiesce);
64
65 static struct modldrv mwl_modldrv = {
66 &mod_driverops, /* Type of module. This one is a driver */
67 "Marvell 88W8363 WiFi driver v1.1", /* short description */
68 &mwl_dev_ops /* driver specific ops */
69 };
70
71 static struct modlinkage modlinkage = {
72 MODREV_1, { (void *)&mwl_modldrv, NULL }
73 };
74
75 static void *mwl_soft_state_p = NULL;
76
77 static int mwl_m_stat(void *, uint_t, uint64_t *);
78 static int mwl_m_start(void *);
79 static void mwl_m_stop(void *);
80 static int mwl_m_promisc(void *, boolean_t);
81 static int mwl_m_multicst(void *, boolean_t, const uint8_t *);
82 static int mwl_m_unicst(void *, const uint8_t *);
83 static mblk_t *mwl_m_tx(void *, mblk_t *);
84 static void mwl_m_ioctl(void *, queue_t *, mblk_t *);
85 static int mwl_m_setprop(void *arg, const char *pr_name,
86 mac_prop_id_t wldp_pr_num,
87 uint_t wldp_length, const void *wldp_buf);
88 static int mwl_m_getprop(void *arg, const char *pr_name,
89 mac_prop_id_t wldp_pr_num, uint_t wldp_length,
90 void *wldp_buf);
91 static void mwl_m_propinfo(void *, const char *, mac_prop_id_t,
92 mac_prop_info_handle_t);
|