Merge tag 'staging-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 Nov 2021 14:56:22 +0000 (07:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 Nov 2021 14:56:22 +0000 (07:56 -0700)
Pull staging driver updates from Greg KH:
 "Here is the big set of staging driver updates and cleanups for
  5.16-rc1.

  Overall we ended up removing a lot of code this time, a bit over
  20,000 lines are now gone thanks to a lot of cleanup work by many
  developers.

  Nothing huge in here functionality wise, just loads of cleanups:

   - r8188eu driver major cleanups and removal of unused and dead code

   - wlan-ng minor cleanups

   - fbtft driver cleanups

   - most driver cleanups

   - rtl8* drivers cleanups

   - rts5208 driver cleanups

   - vt6655 driver cleanups

   - vc04_services drivers cleanups

   - wfx cleanups on the way to almost getting this merged out of
     staging (it's close!)

   - tiny mips changes needed for the mt7621 drivers, they have been
     acked by the respective subsystem maintainers to go through this
     tree.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'staging-5.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (622 commits)
  staging: r8188eu: hal: remove goto statement and local variable
  staging: rtl8723bs: hal remove the assignment to itself
  staging: rtl8723bs: fix unmet dependency on CRYPTO for CRYPTO_LIB_ARC4
  staging: vchiq_core: get rid of typedef
  staging: fieldbus: anybus: reframe comment to avoid warning
  staging: r8188eu: fix missing unlock in rtw_resume()
  staging: r8188eu: core: remove the goto from rtw_IOL_accquire_xmit_frame
  staging: r8188eu: core: remove goto statement
  staging: vt6655: Rename `dwAL7230InitTable` array
  staging: vt6655: Rename `dwAL2230PowerTable` array
  staging: vt6655: Rename `dwAL7230InitTableAMode` array
  staging: vt6655: Rename `dwAL7230ChannelTable2` array
  staging: vt6655: Rename `dwAL7230ChannelTable1` array
  staging: vt6655: Rename `dwAL7230ChannelTable0` array
  staging: vt6655: Rename `dwAL2230ChannelTable1` array
  staging: vt6655: Rename `dwAL2230ChannelTable0` array
  staging: r8712u: fix control-message timeout
  staging: rtl8192u: fix control-message timeouts
  staging: mt7621-dts: add missing SPDX license to files
  staging: vchiq_core: fix quoted strings split across lines
  ...

258 files changed:
arch/mips/include/asm/mach-ralink/spaces.h
arch/mips/include/asm/pci.h
arch/mips/pci/pci-generic.c
drivers/pci/pci.c
drivers/staging/axis-fifo/axis-fifo.c
drivers/staging/fbtft/fbtft-core.c
drivers/staging/fbtft/fbtft.h
drivers/staging/fieldbus/anybuss/host.c
drivers/staging/gdm724x/gdm_lte.c
drivers/staging/ks7010/Kconfig
drivers/staging/ks7010/ks_hostif.c
drivers/staging/ks7010/ks_wlan_net.c
drivers/staging/most/dim2/Makefile
drivers/staging/most/dim2/dim2.c
drivers/staging/most/dim2/sysfs.c [deleted file]
drivers/staging/most/dim2/sysfs.h
drivers/staging/most/net/net.c
drivers/staging/mt7621-dma/hsdma-mt7621.c
drivers/staging/mt7621-dts/gbpc1.dts
drivers/staging/mt7621-dts/gbpc2.dts
drivers/staging/mt7621-dts/mt7621.dtsi
drivers/staging/mt7621-pci/pci-mt7621.c
drivers/staging/octeon/ethernet.c
drivers/staging/pi433/pi433_if.c
drivers/staging/pi433/pi433_if.h
drivers/staging/qlge/qlge_main.c
drivers/staging/qlge/qlge_mpi.c
drivers/staging/r8188eu/Kconfig
drivers/staging/r8188eu/Makefile
drivers/staging/r8188eu/core/rtw_ap.c
drivers/staging/r8188eu/core/rtw_br_ext.c
drivers/staging/r8188eu/core/rtw_cmd.c
drivers/staging/r8188eu/core/rtw_debug.c [deleted file]
drivers/staging/r8188eu/core/rtw_efuse.c
drivers/staging/r8188eu/core/rtw_ieee80211.c
drivers/staging/r8188eu/core/rtw_io.c [deleted file]
drivers/staging/r8188eu/core/rtw_ioctl_set.c
drivers/staging/r8188eu/core/rtw_iol.c
drivers/staging/r8188eu/core/rtw_led.c
drivers/staging/r8188eu/core/rtw_mlme.c
drivers/staging/r8188eu/core/rtw_mlme_ext.c
drivers/staging/r8188eu/core/rtw_mp.c [deleted file]
drivers/staging/r8188eu/core/rtw_mp_ioctl.c [deleted file]
drivers/staging/r8188eu/core/rtw_p2p.c
drivers/staging/r8188eu/core/rtw_pwrctrl.c
drivers/staging/r8188eu/core/rtw_recv.c
drivers/staging/r8188eu/core/rtw_rf.c
drivers/staging/r8188eu/core/rtw_security.c
drivers/staging/r8188eu/core/rtw_sreset.c [deleted file]
drivers/staging/r8188eu/core/rtw_sta_mgt.c
drivers/staging/r8188eu/core/rtw_wlan_util.c
drivers/staging/r8188eu/core/rtw_xmit.c
drivers/staging/r8188eu/hal/Hal8188ERateAdaptive.c
drivers/staging/r8188eu/hal/HalHWImg8188E_BB.c
drivers/staging/r8188eu/hal/HalHWImg8188E_MAC.c
drivers/staging/r8188eu/hal/HalHWImg8188E_RF.c
drivers/staging/r8188eu/hal/HalPhyRf_8188e.c
drivers/staging/r8188eu/hal/hal_com.c
drivers/staging/r8188eu/hal/hal_intf.c
drivers/staging/r8188eu/hal/odm.c
drivers/staging/r8188eu/hal/odm_HWConfig.c
drivers/staging/r8188eu/hal/odm_RTL8188E.c
drivers/staging/r8188eu/hal/odm_RegConfig8188E.c
drivers/staging/r8188eu/hal/odm_interface.c
drivers/staging/r8188eu/hal/rtl8188e_cmd.c
drivers/staging/r8188eu/hal/rtl8188e_dm.c
drivers/staging/r8188eu/hal/rtl8188e_hal_init.c
drivers/staging/r8188eu/hal/rtl8188e_mp.c [deleted file]
drivers/staging/r8188eu/hal/rtl8188e_phycfg.c
drivers/staging/r8188eu/hal/rtl8188e_rf6052.c
drivers/staging/r8188eu/hal/rtl8188e_rxdesc.c
drivers/staging/r8188eu/hal/rtl8188e_sreset.c
drivers/staging/r8188eu/hal/rtl8188eu_recv.c
drivers/staging/r8188eu/hal/rtl8188eu_xmit.c
drivers/staging/r8188eu/hal/usb_halinit.c
drivers/staging/r8188eu/hal/usb_ops_linux.c
drivers/staging/r8188eu/include/Hal8188EPhyCfg.h
drivers/staging/r8188eu/include/Hal8188ERateAdaptive.h
drivers/staging/r8188eu/include/HalHWImg8188E_FW.h [deleted file]
drivers/staging/r8188eu/include/HalVerDef.h
drivers/staging/r8188eu/include/drv_types.h
drivers/staging/r8188eu/include/hal_intf.h
drivers/staging/r8188eu/include/ieee80211.h
drivers/staging/r8188eu/include/ioctl_cfg80211.h
drivers/staging/r8188eu/include/mp_custom_oid.h [deleted file]
drivers/staging/r8188eu/include/odm.h
drivers/staging/r8188eu/include/odm_HWConfig.h
drivers/staging/r8188eu/include/odm_RTL8188E.h
drivers/staging/r8188eu/include/odm_RegConfig8188E.h
drivers/staging/r8188eu/include/odm_RegDefine11AC.h [deleted file]
drivers/staging/r8188eu/include/odm_RegDefine11N.h
drivers/staging/r8188eu/include/odm_interface.h
drivers/staging/r8188eu/include/odm_precomp.h
drivers/staging/r8188eu/include/odm_reg.h [deleted file]
drivers/staging/r8188eu/include/odm_types.h
drivers/staging/r8188eu/include/osdep_intf.h
drivers/staging/r8188eu/include/osdep_service.h
drivers/staging/r8188eu/include/recv_osdep.h
drivers/staging/r8188eu/include/rtl8188e_cmd.h
drivers/staging/r8188eu/include/rtl8188e_dm.h
drivers/staging/r8188eu/include/rtl8188e_hal.h
drivers/staging/r8188eu/include/rtl8188e_led.h
drivers/staging/r8188eu/include/rtl8188e_recv.h
drivers/staging/r8188eu/include/rtl8188e_rf.h
drivers/staging/r8188eu/include/rtl8188e_spec.h
drivers/staging/r8188eu/include/rtl8188e_sreset.h
drivers/staging/r8188eu/include/rtw_ap.h
drivers/staging/r8188eu/include/rtw_br_ext.h
drivers/staging/r8188eu/include/rtw_cmd.h
drivers/staging/r8188eu/include/rtw_debug.h
drivers/staging/r8188eu/include/rtw_eeprom.h
drivers/staging/r8188eu/include/rtw_efuse.h
drivers/staging/r8188eu/include/rtw_io.h
drivers/staging/r8188eu/include/rtw_ioctl_rtl.h [deleted file]
drivers/staging/r8188eu/include/rtw_ioctl_set.h
drivers/staging/r8188eu/include/rtw_iol.h
drivers/staging/r8188eu/include/rtw_led.h
drivers/staging/r8188eu/include/rtw_mlme.h
drivers/staging/r8188eu/include/rtw_mlme_ext.h
drivers/staging/r8188eu/include/rtw_mp.h [deleted file]
drivers/staging/r8188eu/include/rtw_mp_ioctl.h [deleted file]
drivers/staging/r8188eu/include/rtw_mp_phy_regdef.h [deleted file]
drivers/staging/r8188eu/include/rtw_p2p.h
drivers/staging/r8188eu/include/rtw_pwrctrl.h
drivers/staging/r8188eu/include/rtw_recv.h
drivers/staging/r8188eu/include/rtw_rf.h
drivers/staging/r8188eu/include/rtw_security.h
drivers/staging/r8188eu/include/rtw_sreset.h [deleted file]
drivers/staging/r8188eu/include/rtw_xmit.h
drivers/staging/r8188eu/include/sta_info.h
drivers/staging/r8188eu/include/usb_ops.h
drivers/staging/r8188eu/include/usb_ops_linux.h
drivers/staging/r8188eu/include/usb_osintf.h
drivers/staging/r8188eu/include/wifi.h
drivers/staging/r8188eu/include/xmit_osdep.h
drivers/staging/r8188eu/os_dep/ioctl_linux.c
drivers/staging/r8188eu/os_dep/mlme_linux.c
drivers/staging/r8188eu/os_dep/os_intfs.c
drivers/staging/r8188eu/os_dep/osdep_service.c
drivers/staging/r8188eu/os_dep/recv_linux.c
drivers/staging/r8188eu/os_dep/usb_intf.c
drivers/staging/r8188eu/os_dep/usb_ops_linux.c
drivers/staging/r8188eu/os_dep/xmit_linux.c
drivers/staging/rtl8192e/rtl8192e/r8192E_dev.c
drivers/staging/rtl8192e/rtl8192e/rtl_cam.c
drivers/staging/rtl8192e/rtl8192e/rtl_core.c
drivers/staging/rtl8192e/rtl819x_BAProc.c
drivers/staging/rtl8192u/r8192U.h
drivers/staging/rtl8192u/r8192U_core.c
drivers/staging/rtl8712/os_intfs.c
drivers/staging/rtl8712/rtl871x_cmd.c
drivers/staging/rtl8712/rtl871x_cmd.h
drivers/staging/rtl8712/rtl871x_xmit.h
drivers/staging/rtl8712/usb_intf.c
drivers/staging/rtl8712/usb_ops_linux.c
drivers/staging/rtl8723bs/Kconfig
drivers/staging/rtl8723bs/core/rtw_ap.c
drivers/staging/rtl8723bs/core/rtw_cmd.c
drivers/staging/rtl8723bs/core/rtw_ioctl_set.c
drivers/staging/rtl8723bs/core/rtw_mlme.c
drivers/staging/rtl8723bs/core/rtw_mlme_ext.c
drivers/staging/rtl8723bs/core/rtw_recv.c
drivers/staging/rtl8723bs/core/rtw_security.c
drivers/staging/rtl8723bs/core/rtw_sta_mgt.c
drivers/staging/rtl8723bs/core/rtw_xmit.c
drivers/staging/rtl8723bs/hal/odm_DIG.c
drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c
drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c
drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c
drivers/staging/rtl8723bs/include/osdep_service.h
drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
drivers/staging/rtl8723bs/os_dep/ioctl_linux.c
drivers/staging/rtl8723bs/os_dep/os_intfs.c
drivers/staging/rtl8723bs/os_dep/osdep_service.c
drivers/staging/rts5208/ms.c
drivers/staging/rts5208/rtsx.c
drivers/staging/rts5208/rtsx_card.c
drivers/staging/rts5208/rtsx_chip.c
drivers/staging/rts5208/rtsx_scsi.c
drivers/staging/rts5208/rtsx_transport.c
drivers/staging/rts5208/sd.c
drivers/staging/rts5208/xd.c
drivers/staging/unisys/visornic/visornic_main.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_connected.h
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.h
drivers/staging/vc04_services/interface/vchiq_arm/vchiq_dev.c
drivers/staging/vt6655/baseband.c
drivers/staging/vt6655/baseband.h
drivers/staging/vt6655/card.c
drivers/staging/vt6655/channel.c
drivers/staging/vt6655/device.h
drivers/staging/vt6655/device_main.c
drivers/staging/vt6655/dpc.c
drivers/staging/vt6655/key.c
drivers/staging/vt6655/mac.c
drivers/staging/vt6655/mac.h
drivers/staging/vt6655/power.c
drivers/staging/vt6655/rf.c
drivers/staging/vt6655/rf.h
drivers/staging/vt6655/rxtx.c
drivers/staging/wfx/bh.c
drivers/staging/wfx/bh.h
drivers/staging/wfx/bus_sdio.c
drivers/staging/wfx/bus_spi.c
drivers/staging/wfx/data_rx.c
drivers/staging/wfx/data_rx.h
drivers/staging/wfx/data_tx.c
drivers/staging/wfx/data_tx.h
drivers/staging/wfx/debug.c
drivers/staging/wfx/debug.h
drivers/staging/wfx/fwio.c
drivers/staging/wfx/fwio.h
drivers/staging/wfx/hif_api_cmd.h
drivers/staging/wfx/hif_api_general.h
drivers/staging/wfx/hif_api_mib.h
drivers/staging/wfx/hif_rx.c
drivers/staging/wfx/hif_rx.h
drivers/staging/wfx/hif_tx.c
drivers/staging/wfx/hif_tx.h
drivers/staging/wfx/hif_tx_mib.c
drivers/staging/wfx/hif_tx_mib.h
drivers/staging/wfx/hwio.c
drivers/staging/wfx/hwio.h
drivers/staging/wfx/key.c
drivers/staging/wfx/key.h
drivers/staging/wfx/main.c
drivers/staging/wfx/main.h
drivers/staging/wfx/queue.c
drivers/staging/wfx/queue.h
drivers/staging/wfx/scan.c
drivers/staging/wfx/scan.h
drivers/staging/wfx/sta.c
drivers/staging/wfx/sta.h
drivers/staging/wfx/traces.h
drivers/staging/wfx/wfx.h
drivers/staging/wlan-ng/hfa384x.h
drivers/staging/wlan-ng/hfa384x_usb.c
drivers/staging/wlan-ng/p80211conv.c
drivers/staging/wlan-ng/p80211conv.h
drivers/staging/wlan-ng/p80211hdr.h
drivers/staging/wlan-ng/p80211ioctl.h
drivers/staging/wlan-ng/p80211mgmt.h
drivers/staging/wlan-ng/p80211msg.h
drivers/staging/wlan-ng/p80211netdev.c
drivers/staging/wlan-ng/p80211netdev.h
drivers/staging/wlan-ng/p80211req.c
drivers/staging/wlan-ng/p80211req.h
drivers/staging/wlan-ng/p80211types.h
drivers/staging/wlan-ng/p80211wep.c
drivers/staging/wlan-ng/prism2mgmt.c
drivers/staging/wlan-ng/prism2mgmt.h
drivers/staging/wlan-ng/prism2mib.c
drivers/staging/wlan-ng/prism2sta.c
drivers/staging/wlan-ng/prism2usb.c

index 87d085c..05d14c2 100644 (file)
@@ -2,8 +2,8 @@
 #ifndef __ASM_MACH_RALINK_SPACES_H_
 #define __ASM_MACH_RALINK_SPACES_H_
 
-#define PCI_IOBASE     _AC(0xa0000000, UL)
-#define PCI_IOSIZE     SZ_16M
+#define PCI_IOBASE     mips_io_port_base
+#define PCI_IOSIZE     SZ_64K
 #define IO_SPACE_LIMIT (PCI_IOSIZE - 1)
 
 #include <asm/mach-generic/spaces.h>
index 9ffc819..421231f 100644 (file)
 #include <linux/list.h>
 #include <linux/of.h>
 
+#ifdef CONFIG_PCI_DRIVERS_GENERIC
+#define pci_remap_iospace pci_remap_iospace
+#endif
+
 #ifdef CONFIG_PCI_DRIVERS_LEGACY
 
 /*
index 95b0001..18eb8a4 100644 (file)
@@ -46,3 +46,17 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 {
        pci_read_bridge_bases(bus);
 }
+
+int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
+{
+       unsigned long vaddr;
+
+       if (res->start != 0) {
+               WARN_ONCE(1, "resource start address is not zero\n");
+               return -ENODEV;
+       }
+
+       vaddr = (unsigned long)ioremap(phys_addr, resource_size(res));
+       set_io_port_base(vaddr);
+       return 0;
+}
index 11c88ff..39c65b5 100644 (file)
@@ -4101,6 +4101,7 @@ unsigned long __weak pci_address_to_pio(phys_addr_t address)
  * architectures that have memory mapped IO functions defined (and the
  * PCI_IOBASE value defined) should call this function.
  */
+#ifndef pci_remap_iospace
 int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
 {
 #if defined(PCI_IOBASE) && defined(CONFIG_MMU)
@@ -4124,6 +4125,7 @@ int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr)
 #endif
 }
 EXPORT_SYMBOL(pci_remap_iospace);
+#endif
 
 /**
  * pci_unmap_iospace - Unmap the memory mapped I/O space
index b23eabb..632f140 100644 (file)
@@ -30,6 +30,7 @@
 #include <linux/types.h>
 #include <linux/uaccess.h>
 #include <linux/jiffies.h>
+#include <linux/miscdevice.h>
 
 #include <linux/of_address.h>
 #include <linux/of_device.h>
  *           globals
  * ----------------------------
  */
-
-static struct class *axis_fifo_driver_class; /* char device class */
-
 static int read_timeout = 1000; /* ms to wait before read() times out */
 static int write_timeout = 1000; /* ms to wait before write() times out */
 
@@ -140,9 +138,7 @@ struct axis_fifo {
        unsigned int read_flags; /* read file flags */
 
        struct device *dt_device; /* device created from the device tree */
-       struct device *device; /* device associated with char_device */
-       dev_t devt; /* our char device number */
-       struct cdev char_device; /* our char device */
+       struct miscdevice miscdev;
 };
 
 /* ----------------------------
@@ -319,6 +315,11 @@ static const struct attribute_group axis_fifo_attrs_group = {
        .attrs = axis_fifo_attrs,
 };
 
+static const struct attribute_group *axis_fifo_attrs_groups[] = {
+       &axis_fifo_attrs_group,
+       NULL,
+};
+
 /* ----------------------------
  *        implementation
  * ----------------------------
@@ -684,8 +685,8 @@ static irqreturn_t axis_fifo_irq(int irq, void *dw)
 
 static int axis_fifo_open(struct inode *inod, struct file *f)
 {
-       struct axis_fifo *fifo = (struct axis_fifo *)container_of(inod->i_cdev,
-                                       struct axis_fifo, char_device);
+       struct axis_fifo *fifo = container_of(f->private_data,
+                                             struct axis_fifo, miscdev);
        f->private_data = fifo;
 
        if (((f->f_flags & O_ACCMODE) == O_WRONLY) ||
@@ -812,9 +813,7 @@ static int axis_fifo_probe(struct platform_device *pdev)
        struct resource *r_mem; /* IO mem resources */
        struct device *dev = &pdev->dev; /* OS device (from device tree) */
        struct axis_fifo *fifo = NULL;
-
-       char device_name[32];
-
+       char *device_name;
        int rc = 0; /* error return value */
 
        /* ----------------------------
@@ -822,8 +821,12 @@ static int axis_fifo_probe(struct platform_device *pdev)
         * ----------------------------
         */
 
+       device_name = devm_kzalloc(dev, 32, GFP_KERNEL);
+       if (!device_name)
+               return -ENOMEM;
+
        /* allocate device wrapper memory */
-       fifo = devm_kmalloc(dev, sizeof(*fifo), GFP_KERNEL);
+       fifo = devm_kzalloc(dev, sizeof(*fifo), GFP_KERNEL);
        if (!fifo)
                return -ENOMEM;
 
@@ -859,9 +862,7 @@ static int axis_fifo_probe(struct platform_device *pdev)
        dev_dbg(fifo->dt_device, "remapped memory to 0x%p\n", fifo->base_addr);
 
        /* create unique device name */
-       snprintf(device_name, sizeof(device_name), "%s_%pa",
-                DRIVER_NAME, &r_mem->start);
-
+       snprintf(device_name, 32, "%s_%pa", DRIVER_NAME, &r_mem->start);
        dev_dbg(fifo->dt_device, "device name [%s]\n", device_name);
 
        /* ----------------------------
@@ -904,51 +905,21 @@ static int axis_fifo_probe(struct platform_device *pdev)
         * ----------------------------
         */
 
-       /* allocate device number */
-       rc = alloc_chrdev_region(&fifo->devt, 0, 1, DRIVER_NAME);
+       /* create character device */
+       fifo->miscdev.fops = &fops;
+       fifo->miscdev.minor = MISC_DYNAMIC_MINOR;
+       fifo->miscdev.name = device_name;
+       fifo->miscdev.groups = axis_fifo_attrs_groups;
+       fifo->miscdev.parent = dev;
+       rc = misc_register(&fifo->miscdev);
        if (rc < 0)
                goto err_initial;
-       dev_dbg(fifo->dt_device, "allocated device number major %i minor %i\n",
-               MAJOR(fifo->devt), MINOR(fifo->devt));
-
-       /* create driver file */
-       fifo->device = device_create(axis_fifo_driver_class, NULL, fifo->devt,
-                                    NULL, device_name);
-       if (IS_ERR(fifo->device)) {
-               dev_err(fifo->dt_device,
-                       "couldn't create driver file\n");
-               rc = PTR_ERR(fifo->device);
-               goto err_chrdev_region;
-       }
-       dev_set_drvdata(fifo->device, fifo);
-
-       /* create character device */
-       cdev_init(&fifo->char_device, &fops);
-       rc = cdev_add(&fifo->char_device, fifo->devt, 1);
-       if (rc < 0) {
-               dev_err(fifo->dt_device, "couldn't create character device\n");
-               goto err_dev;
-       }
-
-       /* create sysfs entries */
-       rc = devm_device_add_group(fifo->device, &axis_fifo_attrs_group);
-       if (rc < 0) {
-               dev_err(fifo->dt_device, "couldn't register sysfs group\n");
-               goto err_cdev;
-       }
 
-       dev_info(fifo->dt_device, "axis-fifo created at %pa mapped to 0x%pa, irq=%i, major=%i, minor=%i\n",
-                &r_mem->start, &fifo->base_addr, fifo->irq,
-                MAJOR(fifo->devt), MINOR(fifo->devt));
+       dev_info(fifo->dt_device, "axis-fifo created at %pa mapped to 0x%pa, irq=%i\n",
+                &r_mem->start, &fifo->base_addr, fifo->irq);
 
        return 0;
 
-err_cdev:
-       cdev_del(&fifo->char_device);
-err_dev:
-       device_destroy(axis_fifo_driver_class, fifo->devt);
-err_chrdev_region:
-       unregister_chrdev_region(fifo->devt, 1);
 err_initial:
        dev_set_drvdata(dev, NULL);
        return rc;
@@ -959,10 +930,7 @@ static int axis_fifo_remove(struct platform_device *pdev)
        struct device *dev = &pdev->dev;
        struct axis_fifo *fifo = dev_get_drvdata(dev);
 
-       cdev_del(&fifo->char_device);
-       dev_set_drvdata(fifo->device, NULL);
-       device_destroy(axis_fifo_driver_class, fifo->devt);
-       unregister_chrdev_region(fifo->devt, 1);
+       misc_deregister(&fifo->miscdev);
        dev_set_drvdata(dev, NULL);
 
        return 0;
@@ -987,9 +955,6 @@ static int __init axis_fifo_init(void)
 {
        pr_info("axis-fifo driver loaded with parameters read_timeout = %i, write_timeout = %i\n",
                read_timeout, write_timeout);
-       axis_fifo_driver_class = class_create(THIS_MODULE, DRIVER_NAME);
-       if (IS_ERR(axis_fifo_driver_class))
-               return PTR_ERR(axis_fifo_driver_class);
        return platform_driver_register(&axis_fifo_driver);
 }
 
@@ -998,7 +963,6 @@ module_init(axis_fifo_init);
 static void __exit axis_fifo_exit(void)
 {
        platform_driver_unregister(&axis_fifo_driver);
-       class_destroy(axis_fifo_driver_class);
 }
 
 module_exit(axis_fifo_exit);
index ed992ca..ecb5f75 100644 (file)
@@ -1038,7 +1038,8 @@ int fbtft_init_display(struct fbtft_par *par)
                        i++;
 
                        /* make debug message */
-                       for (j = 0; par->init_sequence[i + 1 + j] >= 0; j++);
+                       for (j = 0; par->init_sequence[i + 1 + j] >= 0; j++)
+                               ;
 
                        fbtft_par_dbg(DEBUG_INIT_DISPLAY, par,
                                      "init: write(0x%02X) %*ph\n",
@@ -1318,23 +1319,17 @@ EXPORT_SYMBOL(fbtft_probe_common);
  * @info: Framebuffer
  *
  * Unregisters and releases the framebuffer
- *
- * Return: 0 if successful, negative if error
  */
-int fbtft_remove_common(struct device *dev, struct fb_info *info)
+void fbtft_remove_common(struct device *dev, struct fb_info *info)
 {
        struct fbtft_par *par;
 
-       if (!info)
-               return -EINVAL;
        par = info->par;
        if (par)
                fbtft_par_dbg(DEBUG_DRIVER_INIT_FUNCTIONS, par,
                              "%s()\n", __func__);
        fbtft_unregister_framebuffer(info);
        fbtft_framebuffer_release(info);
-
-       return 0;
 }
 EXPORT_SYMBOL(fbtft_remove_common);
 
index 76f8c09..6869f36 100644 (file)
@@ -252,7 +252,7 @@ void fbtft_unregister_backlight(struct fbtft_par *par);
 int fbtft_init_display(struct fbtft_par *par);
 int fbtft_probe_common(struct fbtft_display *display, struct spi_device *sdev,
                       struct platform_device *pdev);
-int fbtft_remove_common(struct device *dev, struct fb_info *info);
+void fbtft_remove_common(struct device *dev, struct fb_info *info);
 
 /* fbtft-io.c */
 int fbtft_write_spi(struct fbtft_par *par, void *buf, size_t len);
@@ -283,7 +283,8 @@ static int fbtft_driver_remove_spi(struct spi_device *spi)                 \
 {                                                                          \
        struct fb_info *info = spi_get_drvdata(spi);                       \
                                                                           \
-       return fbtft_remove_common(&spi->dev, info);                       \
+       fbtft_remove_common(&spi->dev, info);                              \
+       return 0;                                                          \
 }                                                                          \
                                                                           \
 static int fbtft_driver_probe_pdev(struct platform_device *pdev)           \
@@ -295,7 +296,8 @@ static int fbtft_driver_remove_pdev(struct platform_device *pdev)          \
 {                                                                          \
        struct fb_info *info = platform_get_drvdata(pdev);                 \
                                                                           \
-       return fbtft_remove_common(&pdev->dev, info);                      \
+       fbtft_remove_common(&pdev->dev, info);                             \
+       return 0;                                                          \
 }                                                                          \
                                                                           \
 static const struct of_device_id dt_ids[] = {                              \
index 8a75f66..a344410 100644 (file)
@@ -1318,11 +1318,11 @@ anybuss_host_common_probe(struct device *dev,
        }
        /*
         * startup sequence:
-        *   perform dummy IND_AB read to prevent false 'init done' irq
+        *   a) perform dummy IND_AB read to prevent false 'init done' irq
         *     (already done by test_dpram() above)
-        *   release reset
-        *   wait for first interrupt
-        *   interrupt came in: ready to go !
+        *   b) release reset
+        *   c) wait for first interrupt
+        *   d) interrupt came in: ready to go !
         */
        reset_deassert(cd);
        if (!wait_for_completion_timeout(&cd->card_boot, TIMEOUT)) {
index e390c92..493ed48 100644 (file)
@@ -867,6 +867,7 @@ int register_lte_device(struct phy_dev *phy_dev,
        struct nic *nic;
        struct net_device *net;
        char pdn_dev_name[16];
+       u8 addr[ETH_ALEN];
        int ret = 0;
        u8 index;
 
@@ -893,11 +894,12 @@ int register_lte_device(struct phy_dev *phy_dev,
                nic->phy_dev = phy_dev;
                nic->nic_id = index;
 
-               form_mac_address(net->dev_addr,
+               form_mac_address(addr,
                                 nic->src_mac_addr,
                                 nic->dest_mac_addr,
                                 mac_address,
                                 index);
+               eth_hw_addr_set(net, addr);
 
                SET_NETDEV_DEV(net, dev);
                SET_NETDEV_DEVTYPE(net, &wwan_type);
index 0987fdc..8ea6c09 100644 (file)
@@ -5,6 +5,9 @@ config KS7010
        select WIRELESS_EXT
        select WEXT_PRIV
        select FW_LOADER
+       select CRYPTO
+       select CRYPTO_HASH
+       select CRYPTO_MICHAEL_MIC
        help
          This is a driver for KeyStream KS7010 based SDIO WIFI cards. It is
          found on at least later Spectec SDW-821 (FCC-ID "S2Y-WLAN-11G-K" only,
index eaa7089..1c63d59 100644 (file)
@@ -541,7 +541,7 @@ void hostif_mib_get_confirm(struct ks_wlan_private *priv)
                hostif_sme_enqueue(priv, SME_GET_MAC_ADDRESS);
                ether_addr_copy(priv->eth_addr, priv->rxp);
                priv->mac_address_valid = true;
-               ether_addr_copy(dev->dev_addr, priv->eth_addr);
+               eth_hw_addr_set(dev, priv->eth_addr);
                netdev_info(dev, "MAC ADDRESS = %pM\n", priv->eth_addr);
                break;
        case DOT11_PRODUCT_VERSION:
index 631ad76..7e8d37c 100644 (file)
@@ -2490,7 +2490,7 @@ int ks_wlan_set_mac_address(struct net_device *dev, void *addr)
 
        if (netif_running(dev))
                return -EBUSY;
-       memcpy(dev->dev_addr, mac_addr->sa_data, dev->addr_len);
+       eth_hw_addr_set(dev, mac_addr->sa_data);
        ether_addr_copy(priv->eth_addr, mac_addr->sa_data);
 
        priv->mac_address_valid = false;
@@ -2625,7 +2625,7 @@ int ks_wlan_net_start(struct net_device *dev)
 
        /* dummy address set */
        ether_addr_copy(priv->eth_addr, dummy_addr);
-       ether_addr_copy(dev->dev_addr, priv->eth_addr);
+       eth_hw_addr_set(dev, priv->eth_addr);
 
        /* The ks_wlan-specific entries in the device structure. */
        dev->netdev_ops = &ks_wlan_netdev_ops;
index 861adac..5f9612a 100644 (file)
@@ -1,4 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0
 obj-$(CONFIG_MOST_DIM2) += most_dim2.o
 
-most_dim2-objs := dim2.o hal.o sysfs.o
+most_dim2-objs := dim2.o hal.o
index 093ef9a..bd10232 100644 (file)
@@ -108,6 +108,7 @@ struct dim2_hdm {
 struct dim2_platform_data {
        int (*enable)(struct platform_device *pdev);
        void (*disable)(struct platform_device *pdev);
+       u8 fcnt;
 };
 
 #define iface_to_hdm(iface) container_of(iface, struct dim2_hdm, most_iface)
@@ -117,7 +118,8 @@ struct dim2_platform_data {
        (((p)[1] == 0x18) && ((p)[2] == 0x05) && ((p)[3] == 0x0C) && \
         ((p)[13] == 0x3C) && ((p)[14] == 0x00) && ((p)[15] == 0x0A))
 
-bool dim2_sysfs_get_state_cb(void)
+static ssize_t state_show(struct device *dev, struct device_attribute *attr,
+                         char *buf)
 {
        bool state;
        unsigned long flags;
@@ -126,9 +128,18 @@ bool dim2_sysfs_get_state_cb(void)
        state = dim_get_lock_state();
        spin_unlock_irqrestore(&dim_lock, flags);
 
-       return state;
+       return sysfs_emit(buf, "%s\n", state ? "locked" : "");
 }
 
+static DEVICE_ATTR_RO(state);
+
+static struct attribute *dim2_attrs[] = {
+       &dev_attr_state.attr,
+       NULL,
+};
+
+ATTRIBUTE_GROUPS(dim2);
+
 /**
  * dimcb_on_error - callback from HAL to report miscommunication between
  * HDM and HAL
@@ -716,6 +727,23 @@ static int get_dim2_clk_speed(const char *clock_speed, u8 *val)
        return -EINVAL;
 }
 
+static void dim2_release(struct device *d)
+{
+       struct dim2_hdm *dev = container_of(d, struct dim2_hdm, dev);
+       unsigned long flags;
+
+       kthread_stop(dev->netinfo_task);
+
+       spin_lock_irqsave(&dim_lock, flags);
+       dim_shutdown();
+       spin_unlock_irqrestore(&dim_lock, flags);
+
+       if (dev->disable_platform)
+               dev->disable_platform(to_platform_device(d->parent));
+
+       kfree(dev);
+}
+
 /*
  * dim2_probe - dim2 probe handler
  * @pdev: platform device structure
@@ -732,11 +760,12 @@ static int dim2_probe(struct platform_device *pdev)
        struct resource *res;
        int ret, i;
        u8 hal_ret;
+       u8 dev_fcnt = fcnt;
        int irq;
 
        enum { MLB_INT_IDX, AHB0_INT_IDX };
 
-       dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
+       dev = kzalloc(sizeof(*dev), GFP_KERNEL);
        if (!dev)
                return -ENOMEM;
 
@@ -748,30 +777,38 @@ static int dim2_probe(struct platform_device *pdev)
                                      "microchip,clock-speed", &clock_speed);
        if (ret) {
                dev_err(&pdev->dev, "missing dt property clock-speed\n");
-               return ret;
+               goto err_free_dev;
        }
 
        ret = get_dim2_clk_speed(clock_speed, &dev->clk_speed);
        if (ret) {
                dev_err(&pdev->dev, "bad dt property clock-speed\n");
-               return ret;
+               goto err_free_dev;
        }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        dev->io_base = devm_ioremap_resource(&pdev->dev, res);
-       if (IS_ERR(dev->io_base))
-               return PTR_ERR(dev->io_base);
+       if (IS_ERR(dev->io_base)) {
+               ret = PTR_ERR(dev->io_base);
+               goto err_free_dev;
+       }
 
        of_id = of_match_node(dim2_of_match, pdev->dev.of_node);
        pdata = of_id->data;
-       ret = pdata && pdata->enable ? pdata->enable(pdev) : 0;
-       if (ret)
-               return ret;
-
-       dev->disable_platform = pdata ? pdata->disable : NULL;
+       if (pdata) {
+               if (pdata->enable) {
+                       ret = pdata->enable(pdev);
+                       if (ret)
+                               goto err_free_dev;
+               }
+               dev->disable_platform = pdata->disable;
+               if (pdata->fcnt)
+                       dev_fcnt = pdata->fcnt;
+       }
 
-       dev_info(&pdev->dev, "sync: num of frames per sub-buffer: %u\n", fcnt);
-       hal_ret = dim_startup(dev->io_base, dev->clk_speed, fcnt);
+       dev_info(&pdev->dev, "sync: num of frames per sub-buffer: %u\n",
+                dev_fcnt);
+       hal_ret = dim_startup(dev->io_base, dev->clk_speed, dev_fcnt);
        if (hal_ret != DIM_NO_ERROR) {
                dev_err(&pdev->dev, "dim_startup failed: %d\n", hal_ret);
                ret = -ENODEV;
@@ -857,32 +894,19 @@ static int dim2_probe(struct platform_device *pdev)
        dev->most_iface.request_netinfo = request_netinfo;
        dev->most_iface.driver_dev = &pdev->dev;
        dev->most_iface.dev = &dev->dev;
-       dev->dev.init_name = "dim2_state";
+       dev->dev.init_name = dev->name;
        dev->dev.parent = &pdev->dev;
+       dev->dev.release = dim2_release;
 
-       ret = most_register_interface(&dev->most_iface);
-       if (ret) {
-               dev_err(&pdev->dev, "failed to register MOST interface\n");
-               goto err_stop_thread;
-       }
-
-       ret = dim2_sysfs_probe(&dev->dev);
-       if (ret) {
-               dev_err(&pdev->dev, "failed to create sysfs attribute\n");
-               goto err_unreg_iface;
-       }
+       return most_register_interface(&dev->most_iface);
 
-       return 0;
-
-err_unreg_iface:
-       most_deregister_interface(&dev->most_iface);
-err_stop_thread:
-       kthread_stop(dev->netinfo_task);
 err_shutdown_dim:
        dim_shutdown();
 err_disable_platform:
        if (dev->disable_platform)
                dev->disable_platform(pdev);
+err_free_dev:
+       kfree(dev);
 
        return ret;
 }
@@ -896,18 +920,8 @@ err_disable_platform:
 static int dim2_remove(struct platform_device *pdev)
 {
        struct dim2_hdm *dev = platform_get_drvdata(pdev);
-       unsigned long flags;
 
-       dim2_sysfs_destroy(&dev->dev);
        most_deregister_interface(&dev->most_iface);
-       kthread_stop(dev->netinfo_task);
-
-       spin_lock_irqsave(&dim_lock, flags);
-       dim_shutdown();
-       spin_unlock_irqrestore(&dim_lock, flags);
-
-       if (dev->disable_platform)
-               dev->disable_platform(pdev);
 
        return 0;
 }
@@ -1047,9 +1061,19 @@ static void rcar_m3_disable(struct platform_device *pdev)
 enum dim2_platforms { FSL_MX6, RCAR_H2, RCAR_M3 };
 
 static struct dim2_platform_data plat_data[] = {
-       [FSL_MX6] = { .enable = fsl_mx6_enable, .disable = fsl_mx6_disable },
-       [RCAR_H2] = { .enable = rcar_h2_enable, .disable = rcar_h2_disable },
-       [RCAR_M3] = { .enable = rcar_m3_enable, .disable = rcar_m3_disable },
+       [FSL_MX6] = {
+               .enable = fsl_mx6_enable,
+               .disable = fsl_mx6_disable,
+       },
+       [RCAR_H2] = {
+               .enable = rcar_h2_enable,
+               .disable = rcar_h2_disable,
+       },
+       [RCAR_M3] = {
+               .enable = rcar_m3_enable,
+               .disable = rcar_m3_disable,
+               .fcnt = 3,
+       },
 };
 
 static const struct of_device_id dim2_of_match[] = {
@@ -1082,6 +1106,7 @@ static struct platform_driver dim2_driver = {
        .driver = {
                .name = "hdm_dim2",
                .of_match_table = dim2_of_match,
+               .dev_groups = dim2_groups,
        },
 };
 
diff --git a/drivers/staging/most/dim2/sysfs.c b/drivers/staging/most/dim2/sysfs.c
deleted file mode 100644 (file)
index c85b2cd..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * sysfs.c - MediaLB sysfs information
- *
- * Copyright (C) 2015, Microchip Technology Germany II GmbH & Co. KG
- */
-
-/* Author: Andrey Shvetsov <andrey.shvetsov@k2l.de> */
-
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
-#include <linux/kernel.h>
-#include "sysfs.h"
-#include <linux/device.h>
-
-static ssize_t state_show(struct device *dev, struct device_attribute *attr,
-                         char *buf)
-{
-       bool state = dim2_sysfs_get_state_cb();
-
-       return sprintf(buf, "%s\n", state ? "locked" : "");
-}
-
-static DEVICE_ATTR_RO(state);
-
-static struct attribute *dev_attrs[] = {
-       &dev_attr_state.attr,
-       NULL,
-};
-
-static struct attribute_group dev_attr_group = {
-       .attrs = dev_attrs,
-};
-
-static const struct attribute_group *dev_attr_groups[] = {
-       &dev_attr_group,
-       NULL,
-};
-
-int dim2_sysfs_probe(struct device *dev)
-{
-       dev->groups = dev_attr_groups;
-       return device_register(dev);
-}
-
-void dim2_sysfs_destroy(struct device *dev)
-{
-       device_unregister(dev);
-}
index 24277a1..09115cf 100644 (file)
@@ -16,15 +16,4 @@ struct medialb_bus {
        struct kobject kobj_group;
 };
 
-struct device;
-
-int dim2_sysfs_probe(struct device *dev);
-void dim2_sysfs_destroy(struct device *dev);
-
-/*
- * callback,
- * must deliver MediaLB state as true if locked or false if unlocked
- */
-bool dim2_sysfs_get_state_cb(void);
-
 #endif /* DIM2_SYSFS_H */
index a5fd142..47039f0 100644 (file)
@@ -564,7 +564,7 @@ static void on_netinfo(struct most_interface *iface,
        if (m && is_valid_ether_addr(m)) {
                if (!is_valid_ether_addr(dev->dev_addr)) {
                        netdev_info(dev, "set mac %pM\n", m);
-                       ether_addr_copy(dev->dev_addr, m);
+                       eth_hw_addr_set(dev, m);
                        netif_dormant_off(dev);
                } else if (!ether_addr_equal(dev->dev_addr, m)) {
                        netdev_warn(dev, "reject mac %pM\n", m);
index b0ed935..1424d01 100644 (file)
@@ -162,8 +162,7 @@ struct mtk_hsdam_engine {
        struct mtk_hsdma_chan chan[1];
 };
 
-static inline struct mtk_hsdam_engine *mtk_hsdma_chan_get_dev(
-               struct mtk_hsdma_chan *chan)
+static inline struct mtk_hsdam_engine *mtk_hsdma_chan_get_dev(struct mtk_hsdma_chan *chan)
 {
        return container_of(chan->vchan.chan.device, struct mtk_hsdam_engine,
                        ddev);
@@ -174,8 +173,7 @@ static inline struct mtk_hsdma_chan *to_mtk_hsdma_chan(struct dma_chan *c)
        return container_of(c, struct mtk_hsdma_chan, vchan.chan);
 }
 
-static inline struct mtk_hsdma_desc *to_mtk_hsdma_desc(
-               struct virt_dma_desc *vdesc)
+static inline struct mtk_hsdma_desc *to_mtk_hsdma_desc(struct virt_dma_desc *vdesc)
 {
        return container_of(vdesc, struct mtk_hsdma_desc, vdesc);
 }
index b65d716..e38a083 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 /dts-v1/;
 
 #include "mt7621.dtsi"
@@ -18,7 +19,7 @@
                bootargs = "console=ttyS0,57600";
        };
 
-       palmbus: palmbus@1E000000 {
+       palmbus: palmbus@1e000000 {
                i2c@900 {
                        status = "okay";
                };
index 52760e7..6fe603c 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 /dts-v1/;
 
 #include "gbpc1.dts"
index eeabe9c..6d158e4 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 #include <dt-bindings/interrupt-controller/mips-gic.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/clock/mt7621-clk.h>
@@ -8,12 +9,19 @@
        compatible = "mediatek,mt7621-soc";
 
        cpus {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
                cpu@0 {
+                       device_type = "cpu";
                        compatible = "mips,mips1004Kc";
+                       reg = <0>;
                };
 
                cpu@1 {
+                       device_type = "cpu";
                        compatible = "mips,mips1004Kc";
+                       reg = <1>;
                };
        };
 
                regulator-always-on;
        };
 
-       palmbus: palmbus@1E000000 {
+       palmbus: palmbus@1e000000 {
                compatible = "palmbus";
-               reg = <0x1E000000 0x100000>;
-               ranges = <0x0 0x1E000000 0x0FFFFF>;
+               reg = <0x1e000000 0x100000>;
+               ranges = <0x0 0x1e000000 0x0fffff>;
 
                #address-cells = <1>;
                #size-cells = <1>;
                        pinctrl-0 = <&i2c_pins>;
                };
 
-               i2s: i2s@a00 {
-                       compatible = "mediatek,mt7621-i2s";
-                       reg = <0xa00 0x100>;
-
-                       clocks = <&sysc MT7621_CLK_I2S>;
-                       clock-names = "i2s";
-                       resets = <&rstctrl 17>;
-                       reset-names = "i2s";
-
-                       interrupt-parent = <&gic>;
-                       interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
-
-                       txdma-req = <2>;
-                       rxdma-req = <3>;
-
-                       dmas = <&gdma 4>,
-                               <&gdma 6>;
-                       dma-names = "tx", "rx";
-
-                       status = "disabled";
-               };
-
                memc: syscon@5000 {
                        compatible = "mediatek,mt7621-memc", "syscon";
                        reg = <0x5000 0x1000>;
                };
 
-               cpc: cpc@1fbf0000 {
-                            compatible = "mediatek,mt7621-cpc";
-                            reg = <0x1fbf0000 0x8000>;
-               };
-
-               mc: mc@1fbf8000 {
-                           compatible = "mediatek,mt7621-mc";
-                           reg = <0x1fbf8000 0x8000>;
-               };
-
                uartlite: uartlite@c00 {
                        compatible = "ns16550a";
                        reg = <0xc00 0x100>;
                        reset-names = "dma";
 
                        interrupt-parent = <&gic>;
-                       interrupts = <0 13 4>;
+                       interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
 
                        #dma-cells = <1>;
                        #dma-channels = <16>;
                        reset-names = "hsdma";
 
                        interrupt-parent = <&gic>;
-                       interrupts = <0 11 4>;
+                       interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
 
                        #dma-cells = <1>;
                        #dma-channels = <1>;
                #reset-cells = <1>;
        };
 
-       sdhci: sdhci@1E130000 {
+       sdhci: sdhci@1e130000 {
                status = "disabled";
 
                compatible = "mediatek,mt7620-mmc";
-               reg = <0x1E130000 0x4000>;
+               reg = <0x1e130000 0x4000>;
 
                bus-width = <4>;
                max-frequency = <48000000>;
                interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
        };
 
-       xhci: xhci@1E1C0000 {
+       xhci: xhci@1e1c0000 {
                status = "okay";
 
                compatible = "mediatek,mt8173-xhci";
                };
        };
 
-       nand: nand@1e003000 {
-               status = "disabled";
-
-               compatible = "mediatek,mt7621-nand";
-               bank-width = <2>;
-               reg = <0x1e003000 0x800
-                       0x1e003800 0x800>;
-               #address-cells = <1>;
-               #size-cells = <1>;
+       cpc: cpc@1fbf0000 {
+               compatible = "mti,mips-cpc";
+               reg = <0x1fbf0000 0x8000>;
+       };
 
-               clocks = <&sysc MT7621_CLK_NAND>;
-               clock-names = "nand";
+       cdmm: cdmm@1fbf8000 {
+               compatible = "mti,mips-cdmm";
+               reg = <0x1fbf8000 0x8000>;
        };
 
        ethernet: ethernet@1e100000 {
index 6acfc94..503cb1f 100644 (file)
@@ -482,7 +482,7 @@ static int mt7621_pcie_enable_ports(struct pci_host_bridge *host)
 
        /* Setup MEMWIN and IOWIN */
        pcie_write(pcie, 0xffffffff, RALINK_PCI_MEMBASE);
-       pcie_write(pcie, entry->res->start, RALINK_PCI_IOBASE);
+       pcie_write(pcie, entry->res->start - entry->offset, RALINK_PCI_IOBASE);
 
        list_for_each_entry(port, &pcie->ports, list) {
                if (port->enabled) {
index d5785c0..f662739 100644 (file)
@@ -350,7 +350,7 @@ static int cvm_oct_set_mac_filter(struct net_device *dev)
            (cvmx_helper_interface_get_mode(interface) !=
                CVMX_HELPER_INTERFACE_MODE_SPI)) {
                int i;
-               u8 *ptr = dev->dev_addr;
+               const u8 *ptr = dev->dev_addr;
                u64 mac = 0;
                int index = INDEX(priv->port);
 
index c8d0c63..29bd376 100644 (file)
@@ -649,7 +649,7 @@ pi433_tx_thread(void *data)
                /* clear fifo, set fifo threshold, set payload length */
                retval = rf69_set_mode(spi, standby); /* this clears the fifo */
                if (retval < 0)
-                       return retval;
+                       goto abort;
 
                if (device->rx_active && !rx_interrupted) {
                        /*
@@ -661,33 +661,33 @@ pi433_tx_thread(void *data)
 
                retval = rf69_set_fifo_threshold(spi, FIFO_THRESHOLD);
                if (retval < 0)
-                       return retval;
+                       goto abort;
                if (tx_cfg.enable_length_byte == OPTION_ON) {
                        retval = rf69_set_payload_length(spi, size * tx_cfg.repetitions);
                        if (retval < 0)
-                               return retval;
+                               goto abort;
                } else {
                        retval = rf69_set_payload_length(spi, 0);
                        if (retval < 0)
-                               return retval;
+                               goto abort;
                }
 
                /* configure the rf chip */
                retval = rf69_set_tx_cfg(device, &tx_cfg);
                if (retval < 0)
-                       return retval;
+                       goto abort;
 
                /* enable fifo level interrupt */
                retval = rf69_set_dio_mapping(spi, DIO1, DIO_FIFO_LEVEL);
                if (retval < 0)
-                       return retval;
+                       goto abort;
                device->irq_state[DIO1] = DIO_FIFO_LEVEL;
                irq_set_irq_type(device->irq_num[DIO1], IRQ_TYPE_EDGE_FALLING);
 
                /* enable packet sent interrupt */
                retval = rf69_set_dio_mapping(spi, DIO0, DIO_PACKET_SENT);
                if (retval < 0)
-                       return retval;
+                       goto abort;
                device->irq_state[DIO0] = DIO_PACKET_SENT;
                irq_set_irq_type(device->irq_num[DIO0], IRQ_TYPE_EDGE_RISING);
                enable_irq(device->irq_num[DIO0]); /* was disabled by rx active check */
@@ -695,7 +695,7 @@ pi433_tx_thread(void *data)
                /* enable transmission */
                retval = rf69_set_mode(spi, transmit);
                if (retval < 0)
-                       return retval;
+                       goto abort;
 
                /* transfer this msg (and repetitions) to chip fifo */
                device->free_in_fifo = FIFO_SIZE;
@@ -742,7 +742,7 @@ pi433_tx_thread(void *data)
                dev_dbg(device->dev, "thread: Packet sent. Set mode to stby.");
                retval = rf69_set_mode(spi, standby);
                if (retval < 0)
-                       return retval;
+                       goto abort;
 
                /* everything sent? */
                if (kfifo_is_empty(&device->tx_fifo)) {
index d5c1521..855f0be 100644 (file)
@@ -5,14 +5,13 @@
  * userspace interface for pi433 radio module
  *
  * Pi433 is a 433MHz radio module for the Raspberry Pi.
- * It is based on the HopeRf Module RFM69CW. Therefore inside of this
- * driver, you'll find an abstraction of the rf69 chip.
+ * It is based on the HopeRf Module RFM69CW. Therefore, inside of this
+ * driver you'll find an abstraction of the rf69 chip.
  *
- * If needed, this driver could be extended, to also support other
- * devices, basing on HopeRfs rf69.
+ * If needed this driver could also be extended to support other
+ * devices based on HopeRf rf69 as well as HopeRf modules with a similar
+ * interface such as RFM69HCW, RFM12, RFM95 and so on.
  *
- * The driver can also be extended, to support other modules of
- * HopeRf with a similar interace - e. g. RFM69HCW, RFM12, RFM95, ...
  * Copyright (C) 2016 Wolf-Entwicklungen
  *     Marcus Wolf <linux@wolf-entwicklungen.de>
  */
@@ -33,8 +32,8 @@ enum option_on_off {
 /* IOCTL structs and commands */
 
 /**
- * struct pi433_tx_config
- * describes the configuration of the radio module for sending
+ * struct pi433_tx_cfg
+ * describes the configuration of the radio module for sending data
  * @frequency:
  * @bit_rate:
  * @modulation:
@@ -46,7 +45,7 @@ enum option_on_off {
  * @repetitions:
  *
  * ATTENTION:
- * If the contents of 'pi433_tx_config' ever change
+ * If the contents of 'pi433_tx_cfg' ever change
  * incompatibly, then the ioctl number (see define below) must change.
  *
  * NOTE: struct layout is the same in 64bit and 32bit userspace.
@@ -81,8 +80,8 @@ struct pi433_tx_cfg {
 };
 
 /**
- * struct pi433_rx_config
- * describes the configuration of the radio module for sending
+ * struct pi433_rx_cfg
+ * describes the configuration of the radio module for receiving data
  * @frequency:
  * @bit_rate:
  * @modulation:
@@ -94,7 +93,7 @@ struct pi433_tx_cfg {
  * @repetitions:
  *
  * ATTENTION:
- * If the contents of 'pi433_rx_config' ever change
+ * If the contents of 'pi433_rx_cfg' ever change
  * incompatibly, then the ioctl number (see define below) must change
  *
  * NOTE: struct layout is the same in 64bit and 32bit userspace.
index 1dc8493..9873bb2 100644 (file)
@@ -321,8 +321,8 @@ int qlge_get_mac_addr_reg(struct qlge_adapter *qdev, u32 type, u16 index,
 /* Set up a MAC, multicast or VLAN address for the
  * inbound frame matching.
  */
-static int qlge_set_mac_addr_reg(struct qlge_adapter *qdev, u8 *addr, u32 type,
-                                u16 index)
+static int qlge_set_mac_addr_reg(struct qlge_adapter *qdev, const u8 *addr,
+                                u32 type, u16 index)
 {
        u32 offset = 0;
        int status = 0;
@@ -441,7 +441,7 @@ static int qlge_set_mac_addr(struct qlge_adapter *qdev, int set)
        status = qlge_sem_spinlock(qdev, SEM_MAC_ADDR_MASK);
        if (status)
                return status;
-       status = qlge_set_mac_addr_reg(qdev, (u8 *)addr,
+       status = qlge_set_mac_addr_reg(qdev, (const u8 *)addr,
                                       MAC_ADDR_TYPE_CAM_MAC,
                                       qdev->func * MAX_CQ);
        qlge_sem_unlock(qdev, SEM_MAC_ADDR_MASK);
@@ -724,9 +724,7 @@ static int qlge_get_8000_flash_params(struct qlge_adapter *qdev)
                goto exit;
        }
 
-       memcpy(qdev->ndev->dev_addr,
-              mac_addr,
-              qdev->ndev->addr_len);
+       eth_hw_addr_set(qdev->ndev, mac_addr);
 
 exit:
        qlge_sem_unlock(qdev, SEM_FLASH_MASK);
@@ -774,9 +772,7 @@ static int qlge_get_8012_flash_params(struct qlge_adapter *qdev)
                goto exit;
        }
 
-       memcpy(qdev->ndev->dev_addr,
-              qdev->flash.flash_params_8012.mac_addr,
-              qdev->ndev->addr_len);
+       eth_hw_addr_set(qdev->ndev, qdev->flash.flash_params_8012.mac_addr);
 
 exit:
        qlge_sem_unlock(qdev, SEM_FLASH_MASK);
@@ -4214,14 +4210,14 @@ static int qlge_set_mac_address(struct net_device *ndev, void *p)
 
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
-       memcpy(ndev->dev_addr, addr->sa_data, ndev->addr_len);
+       eth_hw_addr_set(ndev, addr->sa_data);
        /* Update local copy of current mac address. */
        memcpy(qdev->current_mac_addr, ndev->dev_addr, ndev->addr_len);
 
        status = qlge_sem_spinlock(qdev, SEM_MAC_ADDR_MASK);
        if (status)
                return status;
-       status = qlge_set_mac_addr_reg(qdev, (u8 *)ndev->dev_addr,
+       status = qlge_set_mac_addr_reg(qdev, (const u8 *)ndev->dev_addr,
                                       MAC_ADDR_TYPE_CAM_MAC,
                                       qdev->func * MAX_CQ);
        if (status)
index 2630ebf..96a4de6 100644 (file)
@@ -862,7 +862,7 @@ int qlge_mb_wol_set_magic(struct qlge_adapter *qdev, u32 enable_wol)
        struct mbox_params mbc;
        struct mbox_params *mbcp = &mbc;
        int status;
-       u8 *addr = qdev->ndev->dev_addr;
+       const u8 *addr = qdev->ndev->dev_addr;
 
        memset(mbcp, 0, sizeof(struct mbox_params));
 
index dc1719d..f5fe423 100644 (file)
@@ -14,13 +14,3 @@ config R8188EU
        sources for version v4.1.4_6773.20130222, and contains modifications for
        newer kernel features. If built as a module, it will be called r8188eu.
 
-if R8188EU
-
-config 88EU_AP_MODE
-       bool "Realtek RTL8188EU AP mode"
-       help
-       This option enables Access Point mode. Unless you know that your system
-       will never be used as an AP, or the target system has limited memory,
-       "Y" should be selected.
-
-endif
index aebaf29..62933b0 100644 (file)
-SHELL := /bin/bash
-EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)
-EXTRA_CFLAGS += -O1
 
-ccflags-y += -D__CHECK_ENDIAN__
-
-CONFIG_BT_COEXIST = n
-CONFIG_WOWLAN = n
-
-OUTSRC_FILES :=                                \
-               hal/HalHWImg8188E_MAC.o \
-               hal/HalHWImg8188E_BB.o  \
-               hal/HalHWImg8188E_RF.o  \
-               hal/HalPhyRf_8188e.o    \
-               hal/HalPwrSeqCmd.o      \
-               hal/Hal8188EPwrSeq.o    \
-               hal/Hal8188ERateAdaptive.o\
-               hal/hal_intf.o          \
-               hal/hal_com.o           \
-               hal/odm.o               \
-               hal/odm_debug.o         \
-               hal/odm_interface.o     \
-               hal/odm_HWConfig.o      \
-               hal/odm_RegConfig8188E.o\
-               hal/odm_RTL8188E.o      \
-               hal/rtl8188e_cmd.o      \
-               hal/rtl8188e_dm.o       \
-               hal/rtl8188e_hal_init.o \
-               hal/rtl8188e_mp.o       \
-               hal/rtl8188e_phycfg.o   \
-               hal/rtl8188e_rf6052.o   \
-               hal/rtl8188e_rxdesc.o   \
-               hal/rtl8188e_sreset.o   \
-               hal/rtl8188e_xmit.o     \
-               hal/rtl8188eu_led.o     \
-               hal/rtl8188eu_recv.o    \
-               hal/rtl8188eu_xmit.o    \
-               hal/usb_halinit.o       \
-               hal/usb_ops_linux.o
-
-RTL871X = rtl8188e
-
-HCI_NAME = usb
-
-_OS_INTFS_FILES :=                             \
-                       os_dep/ioctl_linux.o    \
-                       os_dep/mlme_linux.o     \
-                       os_dep/os_intfs.o       \
-                       os_dep/osdep_service.o  \
-                       os_dep/recv_linux.o     \
-                       os_dep/usb_intf.o       \
-                       os_dep/usb_ops_linux.o  \
-                       os_dep/xmit_linux.o
-
-_HAL_INTFS_FILES += $(OUTSRC_FILES)
-
-ifeq ($(CONFIG_BT_COEXIST), y)
-EXTRA_CFLAGS += -DCONFIG_BT_COEXIST
-endif
-
-ifeq ($(CONFIG_WOWLAN), y)
-EXTRA_CFLAGS += -DCONFIG_WOWLAN
-endif
-
-SUBARCH := $(shell uname -m | sed -e "s/i.86/i386/; s/ppc.*/powerpc/; s/armv.l/arm/; s/aarch64/arm64/;")
-
-ARCH ?= $(SUBARCH)
-CROSS_COMPILE ?=
-KVER  ?= $(if $(KERNELRELEASE),$(KERNELRELEASE),$(shell uname -r))
-KSRC ?= $(if $(KERNEL_SRC),$(KERNEL_SRC),/lib/modules/$(KVER)/build)
-MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless
-INSTALL_PREFIX :=
-
-rtk_core :=                            \
-               core/rtw_ap.o           \
-               core/rtw_br_ext.o       \
-               core/rtw_cmd.o          \
-               core/rtw_debug.o        \
-               core/rtw_efuse.o        \
-               core/rtw_ieee80211.o    \
-               core/rtw_io.o           \
-               core/rtw_ioctl_set.o    \
-               core/rtw_iol.o          \
-               core/rtw_led.o          \
-               core/rtw_mlme.o         \
-               core/rtw_mlme_ext.o     \
-               core/rtw_mp.o           \
-               core/rtw_mp_ioctl.o     \
-               core/rtw_pwrctrl.o      \
-               core/rtw_p2p.o          \
-               core/rtw_recv.o         \
-               core/rtw_rf.o           \
-               core/rtw_security.o     \
-               core/rtw_sreset.o       \
-               core/rtw_sta_mgt.o      \
-               core/rtw_wlan_util.o    \
+r8188eu-y = \
+               hal/HalHWImg8188E_MAC.o \
+               hal/HalHWImg8188E_BB.o \
+               hal/HalHWImg8188E_RF.o \
+               hal/HalPhyRf_8188e.o \
+               hal/HalPwrSeqCmd.o \
+               hal/Hal8188EPwrSeq.o \
+               hal/Hal8188ERateAdaptive.o \
+               hal/hal_intf.o \
+               hal/hal_com.o \
+               hal/odm.o \
+               hal/odm_debug.o \
+               hal/odm_interface.o \
+               hal/odm_HWConfig.o \
+               hal/odm_RegConfig8188E.o \
+               hal/odm_RTL8188E.o \
+               hal/rtl8188e_cmd.o \
+               hal/rtl8188e_dm.o \
+               hal/rtl8188e_hal_init.o \
+               hal/rtl8188e_phycfg.o \
+               hal/rtl8188e_rf6052.o \
+               hal/rtl8188e_rxdesc.o \
+               hal/rtl8188e_sreset.o \
+               hal/rtl8188e_xmit.o \
+               hal/rtl8188eu_led.o \
+               hal/rtl8188eu_recv.o \
+               hal/rtl8188eu_xmit.o \
+               hal/usb_halinit.o \
+               hal/usb_ops_linux.o \
+               os_dep/ioctl_linux.o \
+               os_dep/mlme_linux.o \
+               os_dep/os_intfs.o \
+               os_dep/osdep_service.o \
+               os_dep/recv_linux.o \
+               os_dep/usb_intf.o \
+               os_dep/usb_ops_linux.o \
+               os_dep/xmit_linux.o \
+               core/rtw_ap.o \
+               core/rtw_br_ext.o \
+               core/rtw_cmd.o \
+               core/rtw_efuse.o \
+               core/rtw_ieee80211.o \
+               core/rtw_ioctl_set.o \
+               core/rtw_iol.o \
+               core/rtw_led.o \
+               core/rtw_mlme.o \
+               core/rtw_mlme_ext.o \
+               core/rtw_pwrctrl.o \
+               core/rtw_p2p.o \
+               core/rtw_recv.o \
+               core/rtw_rf.o \
+               core/rtw_security.o \
+               core/rtw_sta_mgt.o \
+               core/rtw_wlan_util.o \
                core/rtw_xmit.o
 
-r8188eu-y += $(rtk_core)
-
-r8188eu-y += $(_HAL_INTFS_FILES)
-
-r8188eu-y += $(_OS_INTFS_FILES)
-
 obj-$(CONFIG_R8188EU) := r8188eu.o
index 1c07ad2..c78feeb 100644 (file)
@@ -7,8 +7,7 @@
 #include "../include/drv_types.h"
 #include "../include/wifi.h"
 #include "../include/ieee80211.h"
-
-#ifdef CONFIG_88EU_AP_MODE
+#include "../include/rtl8188e_cmd.h"
 
 void init_mlme_ap_info(struct adapter *padapter)
 {
@@ -19,7 +18,7 @@ void init_mlme_ap_info(struct adapter *padapter)
        spin_lock_init(&pmlmepriv->bcn_update_lock);
 
        /* for ACL */
-       _rtw_init_queue(&pacl_list->acl_node_q);
+       rtw_init_queue(&pacl_list->acl_node_q);
 
        start_ap_mode(padapter);
 }
@@ -343,7 +342,7 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
        }
        /* n mode ra_bitmap */
        if (psta_ht->ht_option) {
-               rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
+               GetHwReg8188EU(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
                if (rf_type == RF_2T2R)
                        limit = 16;/*  2R */
                else
@@ -393,7 +392,7 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level)
                /* bitmap[28:31]= Rate Adaptive id */
                /* arg[0:4] = macid */
                /* arg[5] = Short GI */
-               rtw_hal_add_ra_tid(padapter, tx_ra_bitmap, arg, rssi_level);
+               rtl8188e_Add_RateATid(padapter, tx_ra_bitmap, arg, rssi_level);
 
                if (shortGIrate)
                        init_rate |= BIT(6);
@@ -453,7 +452,7 @@ void update_bmc_sta(struct adapter *padapter)
                init_rate = get_highest_rate_idx(tx_ra_bitmap & 0x0fffffff) & 0x3f;
 
                /* ap mode */
-               rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, true);
+               rtl8188e_SetHalODMVar(padapter, HAL_ODM_STA_INFO, psta, true);
 
                {
                        u8 arg = 0;
@@ -467,7 +466,7 @@ void update_bmc_sta(struct adapter *padapter)
                        /* bitmap[28:31]= Rate Adaptive id */
                        /* arg[0:4] = macid */
                        /* arg[5] = Short GI */
-                       rtw_hal_add_ra_tid(padapter, tx_ra_bitmap, arg, 0);
+                       rtl8188e_Add_RateATid(padapter, tx_ra_bitmap, arg, 0);
                }
                /* set ra_id, init_rate */
                psta->raid = raid;
@@ -505,7 +504,7 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
        DBG_88E("%s\n", __func__);
 
        /* ap mode */
-       rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, true);
+       rtl8188e_SetHalODMVar(padapter, HAL_ODM_STA_INFO, psta, true);
 
        if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
                psta->ieee8021x_blocked = true;
@@ -558,550 +557,6 @@ void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta)
        spin_unlock_bh(&psta->lock);
 }
 
-static void update_hw_ht_param(struct adapter *padapter)
-{
-       unsigned char           max_AMPDU_len;
-       unsigned char           min_MPDU_spacing;
-       struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-       struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
-
-       DBG_88E("%s\n", __func__);
-
-       /* handle A-MPDU parameter field */
-       /*
-               AMPDU_para [1:0]:Max AMPDU Len => 0:8k , 1:16k, 2:32k, 3:64k
-               AMPDU_para [4:2]:Min MPDU Start Spacing
-       */
-       max_AMPDU_len = pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x03;
-
-       min_MPDU_spacing = (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c) >> 2;
-
-       rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_MIN_SPACE, (u8 *)(&min_MPDU_spacing));
-
-       rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len));
-
-       /*  */
-       /*  Config SM Power Save setting */
-       /*  */
-       pmlmeinfo->SM_PS = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & 0x0C) >> 2;
-       if (pmlmeinfo->SM_PS == WLAN_HT_CAP_SM_PS_STATIC)
-               DBG_88E("%s(): WLAN_HT_CAP_SM_PS_STATIC\n", __func__);
-}
-
-static void start_bss_network(struct adapter *padapter, u8 *pbuf)
-{
-       u8 *p;
-       u8 val8, cur_channel, cur_bwmode, cur_ch_offset;
-       u16 bcn_interval;
-       u32     acparm;
-       int     ie_len;
-       struct registry_priv     *pregpriv = &padapter->registrypriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct security_priv *psecuritypriv = &padapter->securitypriv;
-       struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
-       struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-       struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
-       struct wlan_bssid_ex *pnetwork_mlmeext = &pmlmeinfo->network;
-       struct HT_info_element *pht_info = NULL;
-#ifdef CONFIG_88EU_P2P
-       struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
-
-       bcn_interval = (u16)pnetwork->Configuration.BeaconPeriod;
-       cur_channel = pnetwork->Configuration.DSConfig;
-       cur_bwmode = HT_CHANNEL_WIDTH_20;
-       cur_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
-
-       /* check if there is wps ie, */
-       /* if there is wpsie in beacon, the hostapd will update beacon twice when stating hostapd, */
-       /* and at first time the security ie (RSN/WPA IE) will not include in beacon. */
-       if (!rtw_get_wps_ie(pnetwork->IEs + _FIXED_IE_LENGTH_, pnetwork->IELength - _FIXED_IE_LENGTH_, NULL, NULL))
-               pmlmeext->bstart_bss = true;
-
-       /* todo: update wmm, ht cap */
-       if (pmlmepriv->qospriv.qos_option)
-               pmlmeinfo->WMM_enable = true;
-       if (pmlmepriv->htpriv.ht_option) {
-               pmlmeinfo->WMM_enable = true;
-               pmlmeinfo->HT_enable = true;
-
-               update_hw_ht_param(padapter);
-       }
-
-       if (pmlmepriv->cur_network.join_res != true) { /* setting only at  first time */
-               /* WEP Key will be set before this function, do not clear CAM. */
-               if ((psecuritypriv->dot11PrivacyAlgrthm != _WEP40_) &&
-                   (psecuritypriv->dot11PrivacyAlgrthm != _WEP104_))
-                       flush_all_cam_entry(padapter);  /* clear CAM */
-       }
-
-       /* set MSR to AP_Mode */
-       Set_MSR(padapter, _HW_STATE_AP_);
-
-       /* Set BSSID REG */
-       rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pnetwork->MacAddress);
-
-       /* Set EDCA param reg */
-       acparm = 0x002F3217; /*  VO */
-       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VO, (u8 *)(&acparm));
-       acparm = 0x005E4317; /*  VI */
-       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VI, (u8 *)(&acparm));
-       acparm = 0x005ea42b;
-       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BE, (u8 *)(&acparm));
-       acparm = 0x0000A444; /*  BK */
-       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acparm));
-
-       /* Set Security */
-       val8 = (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) ? 0xcc : 0xcf;
-       rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
-
-       /* Beacon Control related register */
-       rtw_hal_set_hwreg(padapter, HW_VAR_BEACON_INTERVAL, (u8 *)(&bcn_interval));
-
-       UpdateBrateTbl(padapter, pnetwork->SupportedRates);
-       rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, pnetwork->SupportedRates);
-
-       if (!pmlmepriv->cur_network.join_res) { /* setting only at  first time */
-               /* turn on all dynamic functions */
-               Switch_DM_Func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true);
-       }
-       /* set channel, bwmode */
-       p = rtw_get_ie((pnetwork->IEs + sizeof(struct ndis_802_11_fixed_ie)), _HT_ADD_INFO_IE_, &ie_len, (pnetwork->IELength - sizeof(struct ndis_802_11_fixed_ie)));
-       if (p && ie_len) {
-               pht_info = (struct HT_info_element *)(p + 2);
-
-               if ((pregpriv->cbw40_enable) &&  (pht_info->infos[0] & BIT(2))) {
-                       /* switch to the 40M Hz mode */
-                       cur_bwmode = HT_CHANNEL_WIDTH_40;
-                       switch (pht_info->infos[0] & 0x3) {
-                       case 1:
-                               cur_ch_offset = HAL_PRIME_CHNL_OFFSET_LOWER;
-                               break;
-                       case 3:
-                               cur_ch_offset = HAL_PRIME_CHNL_OFFSET_UPPER;
-                               break;
-                       default:
-                               cur_ch_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
-                               break;
-                       }
-               }
-       }
-       /* TODO: need to judge the phy parameters on concurrent mode for single phy */
-       set_channel_bwmode(padapter, cur_channel, cur_ch_offset, cur_bwmode);
-
-       DBG_88E("CH =%d, BW =%d, offset =%d\n", cur_channel, cur_bwmode, cur_ch_offset);
-
-       /*  */
-       pmlmeext->cur_channel = cur_channel;
-       pmlmeext->cur_bwmode = cur_bwmode;
-       pmlmeext->cur_ch_offset = cur_ch_offset;
-       pmlmeext->cur_wireless_mode = pmlmepriv->cur_network.network_type;
-
-       /* update cur_wireless_mode */
-       update_wireless_mode(padapter);
-
-       /* udpate capability after cur_wireless_mode updated */
-       update_capinfo(padapter, rtw_get_capability((struct wlan_bssid_ex *)pnetwork));
-
-       /* let pnetwork_mlmeext == pnetwork_mlme. */
-       memcpy(pnetwork_mlmeext, pnetwork, pnetwork->Length);
-
-#ifdef CONFIG_88EU_P2P
-       memcpy(pwdinfo->p2p_group_ssid, pnetwork->Ssid.Ssid, pnetwork->Ssid.SsidLength);
-       pwdinfo->p2p_group_ssid_len = pnetwork->Ssid.SsidLength;
-#endif /* CONFIG_88EU_P2P */
-
-       if (pmlmeext->bstart_bss) {
-               update_beacon(padapter, _TIM_IE_, NULL, false);
-
-               /* issue beacon frame */
-               if (send_beacon(padapter) == _FAIL)
-                       DBG_88E("issue_beacon, fail!\n");
-       }
-
-       /* update bc/mc sta_info */
-       update_bmc_sta(padapter);
-}
-
-int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
-{
-       int ret = _SUCCESS;
-       u8 *p;
-       u8 *pHT_caps_ie = NULL;
-       u8 *pHT_info_ie = NULL;
-       struct sta_info *psta = NULL;
-       u16 cap, ht_cap = false;
-       uint ie_len = 0;
-       int group_cipher, pairwise_cipher;
-       u8      channel, network_type, supportRate[NDIS_802_11_LENGTH_RATES_EX];
-       int supportRateNum = 0;
-       u8 OUI1[] = {0x00, 0x50, 0xf2, 0x01};
-       u8 WMM_PARA_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x01, 0x01};
-       struct registry_priv *pregistrypriv = &padapter->registrypriv;
-       struct security_priv *psecuritypriv = &padapter->securitypriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct wlan_bssid_ex *pbss_network = (struct wlan_bssid_ex *)&pmlmepriv->cur_network.network;
-       u8 *ie = pbss_network->IEs;
-
-       /* SSID */
-       /* Supported rates */
-       /* DS Params */
-       /* WLAN_EID_COUNTRY */
-       /* ERP Information element */
-       /* Extended supported rates */
-       /* WPA/WPA2 */
-       /* Wi-Fi Wireless Multimedia Extensions */
-       /* ht_capab, ht_oper */
-       /* WPS IE */
-
-       DBG_88E("%s, len =%d\n", __func__, len);
-
-       if (check_fwstate(pmlmepriv, WIFI_AP_STATE) != true)
-               return _FAIL;
-
-       if (len > MAX_IE_SZ)
-               return _FAIL;
-
-       pbss_network->IELength = len;
-
-       memset(ie, 0, MAX_IE_SZ);
-
-       memcpy(ie, pbuf, pbss_network->IELength);
-
-       if (pbss_network->InfrastructureMode != Ndis802_11APMode)
-               return _FAIL;
-
-       pbss_network->Rssi = 0;
-
-       memcpy(pbss_network->MacAddress, myid(&padapter->eeprompriv), ETH_ALEN);
-
-       /* beacon interval */
-       p = rtw_get_beacon_interval_from_ie(ie);/* 8: TimeStamp, 2: Beacon Interval 2:Capability */
-       pbss_network->Configuration.BeaconPeriod = get_unaligned_le16(p);
-
-       /* capability */
-       cap = get_unaligned_le16(ie);
-
-       /* SSID */
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _SSID_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p && ie_len > 0) {
-               memset(&pbss_network->Ssid, 0, sizeof(struct ndis_802_11_ssid));
-               memcpy(pbss_network->Ssid.Ssid, (p + 2), ie_len);
-               pbss_network->Ssid.SsidLength = ie_len;
-       }
-
-       /* channel */
-       channel = 0;
-       pbss_network->Configuration.Length = 0;
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _DSSET_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p && ie_len > 0)
-               channel = *(p + 2);
-
-       pbss_network->Configuration.DSConfig = channel;
-
-       memset(supportRate, 0, NDIS_802_11_LENGTH_RATES_EX);
-       /*  get supported rates */
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _SUPPORTEDRATES_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p) {
-               memcpy(supportRate, p + 2, ie_len);
-               supportRateNum = ie_len;
-       }
-
-       /* get ext_supported rates */
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _EXT_SUPPORTEDRATES_IE_, &ie_len, pbss_network->IELength - _BEACON_IE_OFFSET_);
-       if (p) {
-               memcpy(supportRate + supportRateNum, p + 2, ie_len);
-               supportRateNum += ie_len;
-       }
-
-       network_type = rtw_check_network_type(supportRate, supportRateNum, channel);
-
-       rtw_set_supported_rate(pbss_network->SupportedRates, network_type);
-
-       /* parsing ERP_IE */
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _ERPINFO_IE_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p && ie_len > 0)
-               ERP_IE_handler(padapter, (struct ndis_802_11_var_ie *)p);
-
-       /* update privacy/security */
-       if (cap & BIT(4))
-               pbss_network->Privacy = 1;
-       else
-               pbss_network->Privacy = 0;
-
-       psecuritypriv->wpa_psk = 0;
-
-       /* wpa2 */
-       group_cipher = 0;
-       pairwise_cipher = 0;
-       psecuritypriv->wpa2_group_cipher = _NO_PRIVACY_;
-       psecuritypriv->wpa2_pairwise_cipher = _NO_PRIVACY_;
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _RSN_IE_2_, &ie_len, (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p && ie_len > 0) {
-               if (rtw_parse_wpa2_ie(p, ie_len + 2, &group_cipher, &pairwise_cipher, NULL) == _SUCCESS) {
-                       psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
-
-                       psecuritypriv->dot8021xalg = 1;/* psk,  todo:802.1x */
-                       psecuritypriv->wpa_psk |= BIT(1);
-
-                       psecuritypriv->wpa2_group_cipher = group_cipher;
-                       psecuritypriv->wpa2_pairwise_cipher = pairwise_cipher;
-               }
-       }
-       /* wpa */
-       ie_len = 0;
-       group_cipher = 0;
-       pairwise_cipher = 0;
-       psecuritypriv->wpa_group_cipher = _NO_PRIVACY_;
-       psecuritypriv->wpa_pairwise_cipher = _NO_PRIVACY_;
-       for (p = ie + _BEACON_IE_OFFSET_;; p += (ie_len + 2)) {
-               p = rtw_get_ie(p, _SSN_IE_1_, &ie_len,
-                              (pbss_network->IELength - _BEACON_IE_OFFSET_ - (ie_len + 2)));
-               if ((p) && (!memcmp(p + 2, OUI1, 4))) {
-                       if (rtw_parse_wpa_ie(p, ie_len + 2, &group_cipher,
-                                            &pairwise_cipher, NULL) == _SUCCESS) {
-                               psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_8021X;
-
-                               psecuritypriv->dot8021xalg = 1;/* psk,  todo:802.1x */
-
-                               psecuritypriv->wpa_psk |= BIT(0);
-
-                               psecuritypriv->wpa_group_cipher = group_cipher;
-                               psecuritypriv->wpa_pairwise_cipher = pairwise_cipher;
-                       }
-                       break;
-               }
-               if (!p || ie_len == 0)
-                       break;
-       }
-
-       /* wmm */
-       ie_len = 0;
-       pmlmepriv->qospriv.qos_option = 0;
-       if (pregistrypriv->wmm_enable) {
-               for (p = ie + _BEACON_IE_OFFSET_;; p += (ie_len + 2)) {
-                       p = rtw_get_ie(p, _VENDOR_SPECIFIC_IE_, &ie_len,
-                                      (pbss_network->IELength - _BEACON_IE_OFFSET_ - (ie_len + 2)));
-                       if ((p) && !memcmp(p + 2, WMM_PARA_IE, 6)) {
-                               pmlmepriv->qospriv.qos_option = 1;
-
-                               *(p + 8) |= BIT(7);/* QoS Info, support U-APSD */
-
-                               /* disable all ACM bits since the WMM admission control is not supported */
-                               *(p + 10) &= ~BIT(4); /* BE */
-                               *(p + 14) &= ~BIT(4); /* BK */
-                               *(p + 18) &= ~BIT(4); /* VI */
-                               *(p + 22) &= ~BIT(4); /* VO */
-                               break;
-                       }
-
-                       if (!p || ie_len == 0)
-                               break;
-               }
-       }
-       /* parsing HT_CAP_IE */
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _HT_CAPABILITY_IE_, &ie_len,
-                      (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p && ie_len > 0) {
-               u8 rf_type;
-               struct ieee80211_ht_cap *pht_cap = (struct ieee80211_ht_cap *)(p + 2);
-
-               pHT_caps_ie = p;
-               ht_cap = true;
-               network_type |= WIRELESS_11_24N;
-
-               rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
-
-               if ((psecuritypriv->wpa_pairwise_cipher & WPA_CIPHER_CCMP) ||
-                   (psecuritypriv->wpa2_pairwise_cipher & WPA_CIPHER_CCMP))
-                       pht_cap->ampdu_params_info |= (IEEE80211_HT_AMPDU_PARM_DENSITY & (0x07 << 2));
-               else
-                       pht_cap->ampdu_params_info |= (IEEE80211_HT_AMPDU_PARM_DENSITY & 0x00);
-
-               /* set  Max Rx AMPDU size  to 64K */
-               pht_cap->ampdu_params_info |= (IEEE80211_HT_AMPDU_PARM_FACTOR & 0x03);
-
-               if (rf_type == RF_1T1R) {
-                       pht_cap->mcs.rx_mask[0] = 0xff;
-                       pht_cap->mcs.rx_mask[1] = 0x0;
-               }
-               memcpy(&pmlmepriv->htpriv.ht_cap, p + 2, ie_len);
-       }
-
-       /* parsing HT_INFO_IE */
-       p = rtw_get_ie(ie + _BEACON_IE_OFFSET_, _HT_ADD_INFO_IE_, &ie_len,
-                      (pbss_network->IELength - _BEACON_IE_OFFSET_));
-       if (p && ie_len > 0)
-               pHT_info_ie = p;
-       switch (network_type) {
-       case WIRELESS_11B:
-               pbss_network->NetworkTypeInUse = Ndis802_11DS;
-               break;
-       case WIRELESS_11G:
-       case WIRELESS_11BG:
-       case WIRELESS_11G_24N:
-       case WIRELESS_11BG_24N:
-               pbss_network->NetworkTypeInUse = Ndis802_11OFDM24;
-               break;
-       default:
-               pbss_network->NetworkTypeInUse = Ndis802_11OFDM24;
-               break;
-       }
-
-       pmlmepriv->cur_network.network_type = network_type;
-
-       pmlmepriv->htpriv.ht_option = false;
-
-       if ((psecuritypriv->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) ||
-           (psecuritypriv->wpa_pairwise_cipher & WPA_CIPHER_TKIP)) {
-               /* todo: */
-               /* ht_cap = false; */
-       }
-
-       /* ht_cap */
-       if (pregistrypriv->ht_enable && ht_cap) {
-               pmlmepriv->htpriv.ht_option = true;
-               pmlmepriv->qospriv.qos_option = 1;
-
-               if (pregistrypriv->ampdu_enable == 1)
-                       pmlmepriv->htpriv.ampdu_enable = true;
-               HT_caps_handler(padapter, (struct ndis_802_11_var_ie *)pHT_caps_ie);
-
-               HT_info_handler(padapter, (struct ndis_802_11_var_ie *)pHT_info_ie);
-       }
-
-       pbss_network->Length = get_wlan_bssid_ex_sz((struct wlan_bssid_ex  *)pbss_network);
-
-       /* issue beacon to start bss network */
-       start_bss_network(padapter, (u8 *)pbss_network);
-
-       /* alloc sta_info for ap itself */
-       psta = rtw_get_stainfo(&padapter->stapriv, pbss_network->MacAddress);
-       if (!psta) {
-               psta = rtw_alloc_stainfo(&padapter->stapriv, pbss_network->MacAddress);
-               if (!psta)
-                       return _FAIL;
-       }
-
-       /* fix bug of flush_cam_entry at STOP AP mode */
-       psta->state |= WIFI_AP_STATE;
-       rtw_indicate_connect(padapter);
-       pmlmepriv->cur_network.join_res = true;/* for check if already set beacon */
-       return ret;
-}
-
-void rtw_set_macaddr_acl(struct adapter *padapter, int mode)
-{
-       struct sta_priv *pstapriv = &padapter->stapriv;
-       struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
-
-       DBG_88E("%s, mode =%d\n", __func__, mode);
-
-       pacl_list->mode = mode;
-}
-
-int rtw_acl_add_sta(struct adapter *padapter, u8 *addr)
-{
-       struct list_head *plist, *phead;
-       u8 added = false;
-       int i, ret = 0;
-       struct rtw_wlan_acl_node *paclnode;
-       struct sta_priv *pstapriv = &padapter->stapriv;
-       struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
-       struct __queue *pacl_node_q = &pacl_list->acl_node_q;
-
-       DBG_88E("%s(acl_num =%d) =%pM\n", __func__, pacl_list->num, (addr));
-
-       if ((NUM_ACL - 1) < pacl_list->num)
-               return -1;
-
-       spin_lock_bh(&pacl_node_q->lock);
-
-       phead = get_list_head(pacl_node_q);
-       plist = phead->next;
-
-       while (phead != plist) {
-               paclnode = container_of(plist, struct rtw_wlan_acl_node, list);
-               plist = plist->next;
-
-               if (!memcmp(paclnode->addr, addr, ETH_ALEN)) {
-                       if (paclnode->valid) {
-                               added = true;
-                               DBG_88E("%s, sta has been added\n", __func__);
-                               break;
-                       }
-               }
-       }
-
-       spin_unlock_bh(&pacl_node_q->lock);
-
-       if (added)
-               return ret;
-
-       spin_lock_bh(&pacl_node_q->lock);
-
-       for (i = 0; i < NUM_ACL; i++) {
-               paclnode = &pacl_list->aclnode[i];
-
-               if (!paclnode->valid) {
-                       INIT_LIST_HEAD(&paclnode->list);
-
-                       memcpy(paclnode->addr, addr, ETH_ALEN);
-
-                       paclnode->valid = true;
-
-                       list_add_tail(&paclnode->list, get_list_head(pacl_node_q));
-
-                       pacl_list->num++;
-
-                       break;
-               }
-       }
-
-       DBG_88E("%s, acl_num =%d\n", __func__, pacl_list->num);
-
-       spin_unlock_bh(&pacl_node_q->lock);
-
-       return ret;
-}
-
-int rtw_acl_remove_sta(struct adapter *padapter, u8 *addr)
-{
-       struct list_head *plist, *phead;
-       int ret = 0;
-       struct rtw_wlan_acl_node *paclnode;
-       struct sta_priv *pstapriv = &padapter->stapriv;
-       struct wlan_acl_pool *pacl_list = &pstapriv->acl_list;
-       struct __queue *pacl_node_q = &pacl_list->acl_node_q;
-
-       DBG_88E("%s(acl_num =%d) =%pM\n", __func__, pacl_list->num, (addr));
-
-       spin_lock_bh(&pacl_node_q->lock);
-
-       phead = get_list_head(pacl_node_q);
-       plist = phead->next;
-
-       while (phead != plist) {
-               paclnode = container_of(plist, struct rtw_wlan_acl_node, list);
-               plist = plist->next;
-
-               if (!memcmp(paclnode->addr, addr, ETH_ALEN)) {
-                       if (paclnode->valid) {
-                               paclnode->valid = false;
-
-                               list_del_init(&paclnode->list);
-
-                               pacl_list->num--;
-                       }
-               }
-       }
-
-       spin_unlock_bh(&pacl_node_q->lock);
-
-       DBG_88E("%s, acl_num =%d\n", __func__, pacl_list->num);
-       return ret;
-}
-
 static void update_bcn_fixed_ie(struct adapter *padapter)
 {
        DBG_88E("%s\n", __func__);
@@ -1289,7 +744,7 @@ void update_beacon(struct adapter *padapter, u8 ie_id, u8 *oui, u8 tx)
 
 /*
 op_mode
-Set to 0 (HT pure) under the followign conditions
+Set to 0 (HT pure) under the following conditions
        - all STAs in the BSS are 20/40 MHz HT in 20/40 MHz BSS or
        - all STAs in the BSS are 20 MHz HT in 20 MHz BSS
 Set to 1 (HT non-member protection) if there may be non-HT STAs
@@ -1633,41 +1088,6 @@ u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta,
        return beacon_updated;
 }
 
-int rtw_ap_inform_ch_switch(struct adapter *padapter, u8 new_ch, u8 ch_offset)
-{
-       struct list_head *phead, *plist;
-       int ret = 0;
-       struct sta_info *psta = NULL;
-       struct sta_priv *pstapriv = &padapter->stapriv;
-       struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
-       struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
-       u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
-
-       if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
-               return ret;
-
-       DBG_88E(FUNC_NDEV_FMT" with ch:%u, offset:%u\n",
-               FUNC_NDEV_ARG(padapter->pnetdev), new_ch, ch_offset);
-
-       spin_lock_bh(&pstapriv->asoc_list_lock);
-       phead = &pstapriv->asoc_list;
-       plist = phead->next;
-
-       /* for each sta in asoc_queue */
-       while (phead != plist) {
-               psta = container_of(plist, struct sta_info, asoc_list);
-               plist = plist->next;
-
-               issue_action_spct_ch_switch(padapter, psta->hwaddr, new_ch, ch_offset);
-               psta->expire_to = ((pstapriv->expire_to * 2) > 5) ? 5 : (pstapriv->expire_to * 2);
-       }
-       spin_unlock_bh(&pstapriv->asoc_list_lock);
-
-       issue_action_spct_ch_switch(padapter, bc_addr, new_ch, ch_offset);
-
-       return ret;
-}
-
 int rtw_sta_flush(struct adapter *padapter)
 {
        struct list_head *phead, *plist;
@@ -1736,15 +1156,6 @@ void sta_info_update(struct adapter *padapter, struct sta_info *psta)
        update_sta_info_apmode(padapter, psta);
 }
 
-/* called >= TSR LEVEL for USB or SDIO Interface*/
-void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta)
-{
-       if (psta->state & _FW_LINKED) {
-               /* add ratid */
-               add_RATid(padapter, psta, 0);/* DM_RATR_STA_INIT */
-       }
-}
-
 void start_ap_mode(struct adapter *padapter)
 {
        int i;
@@ -1846,5 +1257,3 @@ void stop_ap_mode(struct adapter *padapter)
 
        rtw_free_mlme_priv_ie_data(pmlmepriv);
 }
-
-#endif /* CONFIG_88EU_AP_MODE */
index 62a6722..bcd0f9d 100644 (file)
@@ -695,8 +695,7 @@ void dhcp_flag_bcast(struct adapter *priv, struct sk_buff *skb)
        }
 }
 
-void *scdb_findEntry(struct adapter *priv, unsigned char *macAddr,
-                               unsigned char *ipAddr)
+void *scdb_findEntry(struct adapter *priv, unsigned char *ipAddr)
 {
        unsigned char networkAddr[MAX_NETWORK_ADDR_LEN];
        struct nat25_network_db_entry *db;
index ce73ac7..5d5f253 100644 (file)
@@ -9,6 +9,8 @@
 #include "../include/mlme_osdep.h"
 #include "../include/rtw_br_ext.h"
 #include "../include/rtw_mlme_ext.h"
+#include "../include/rtl8188e_dm.h"
+#include "../include/rtl8188e_sreset.h"
 
 /*
 Caller and the rtw_cmd_thread can protect cmd_q by spin_lock.
@@ -19,11 +21,12 @@ static int _rtw_init_cmd_priv(struct cmd_priv *pcmdpriv)
 {
        int res = _SUCCESS;
 
-       sema_init(&pcmdpriv->cmd_queue_sema, 0);
+       init_completion(&pcmdpriv->enqueue_cmd);
        /* sema_init(&(pcmdpriv->cmd_done_sema), 0); */
-       sema_init(&pcmdpriv->terminate_cmdthread_sema, 0);
+       init_completion(&pcmdpriv->start_cmd_thread);
+       init_completion(&pcmdpriv->stop_cmd_thread);
 
-       _rtw_init_queue(&pcmdpriv->cmd_queue);
+       rtw_init_queue(&pcmdpriv->cmd_queue);
 
        /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
 
@@ -167,16 +170,6 @@ static int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
 {
        u8 bAllow = false; /* set to true to allow enqueuing cmd when hw_init_completed is false */
 
-       /* To decide allow or not */
-       if ((pcmdpriv->padapter->pwrctrlpriv.bHWPwrPindetect) &&
-           (!pcmdpriv->padapter->registrypriv.usbss_enable)) {
-               if (cmd_obj->cmdcode == GEN_CMD_CODE(_Set_Drv_Extra)) {
-                       struct drvextra_cmd_parm        *pdrvextra_cmd_parm = (struct drvextra_cmd_parm *)cmd_obj->parmbuf;
-                       if (pdrvextra_cmd_parm->ec_id == POWER_SAVING_CTRL_WK_CID)
-                               bAllow = true;
-               }
-       }
-
        if (cmd_obj->cmdcode == GEN_CMD_CODE(_SetChannelPlan))
                bAllow = true;
 
@@ -205,7 +198,7 @@ u32 rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
        res = _rtw_enqueue_cmd(&pcmdpriv->cmd_queue, cmd_obj);
 
        if (res == _SUCCESS)
-               up(&pcmdpriv->cmd_queue_sema);
+               complete(&pcmdpriv->enqueue_cmd);
 
 exit:
 
@@ -221,14 +214,6 @@ struct     cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv)
        return cmd_obj;
 }
 
-void rtw_cmd_clr_isr(struct    cmd_priv *pcmdpriv)
-{
-
-       pcmdpriv->cmd_done_cnt++;
-       /* up(&(pcmdpriv->cmd_done_sema)); */
-
-}
-
 void rtw_free_cmd_obj(struct cmd_obj *pcmd)
 {
 
@@ -259,23 +244,14 @@ int rtw_cmd_thread(void *context)
        struct adapter *padapter = (struct adapter *)context;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
-       thread_enter("RTW_CMD_THREAD");
-
        pcmdbuf = pcmdpriv->cmd_buf;
 
        pcmdpriv->cmdthd_running = true;
-       up(&pcmdpriv->terminate_cmdthread_sema);
+       complete(&pcmdpriv->start_cmd_thread);
 
        while (1) {
-               if (_rtw_down_sema(&pcmdpriv->cmd_queue_sema) == _FAIL)
-                       break;
+               wait_for_completion(&pcmdpriv->enqueue_cmd);
 
-               if (padapter->bDriverStopped ||
-                   padapter->bSurpriseRemoved) {
-                       DBG_88E("%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
-                               __func__, padapter->bDriverStopped, padapter->bSurpriseRemoved, __LINE__);
-                       break;
-               }
 _next:
                if (padapter->bDriverStopped ||
                    padapter->bSurpriseRemoved) {
@@ -345,43 +321,11 @@ post_process:
                rtw_free_cmd_obj(pcmd);
        } while (1);
 
-       up(&pcmdpriv->terminate_cmdthread_sema);
+       complete(&pcmdpriv->stop_cmd_thread);
 
        thread_exit();
 }
 
-u8 rtw_setstandby_cmd(struct adapter *padapter, uint action)
-{
-       struct cmd_obj *ph2c;
-       struct usb_suspend_parm *psetusbsuspend;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-
-       u8 ret = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               ret = _FAIL;
-               goto exit;
-       }
-
-       psetusbsuspend = kzalloc(sizeof(struct usb_suspend_parm), GFP_ATOMIC);
-       if (!psetusbsuspend) {
-               kfree(ph2c);
-               ret = _FAIL;
-               goto exit;
-       }
-
-       psetusbsuspend->action = action;
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, psetusbsuspend, GEN_CMD_CODE(_SetUsbSuspend));
-
-       ret = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
-exit:
-
-       return ret;
-}
-
 /*
 rtw_sitesurvey_cmd(~)
        ### NOTE:#### (!!!!)
@@ -491,228 +435,12 @@ exit:
        return res;
 }
 
-u8 rtw_setbasicrate_cmd(struct adapter *padapter, u8 *rateset)
-{
-       struct cmd_obj *ph2c;
-       struct setbasicrate_parm *pssetbasicratepara;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-       }
-       pssetbasicratepara = kzalloc(sizeof(struct setbasicrate_parm), GFP_ATOMIC);
-
-       if (!pssetbasicratepara) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, pssetbasicratepara, _SetBasicRate_CMD_);
-
-       memcpy(pssetbasicratepara->basicrates, rateset, NumRates);
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-/*
-unsigned char rtw_setphy_cmd(unsigned char  *adapter)
-
-1.  be called only after rtw_update_registrypriv_dev_network(~) or mp testing program
-2.  for AdHoc/Ap mode or mp mode?
-
-*/
-u8 rtw_setphy_cmd(struct adapter *padapter, u8 modem, u8 ch)
-{
-       struct cmd_obj *ph2c;
-       struct setphy_parm *psetphypara;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-               }
-       psetphypara = kzalloc(sizeof(struct setphy_parm), GFP_ATOMIC);
-
-       if (!psetphypara) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, psetphypara, _SetPhy_CMD_);
-
-       psetphypara->modem = modem;
-       psetphypara->rfchannel = ch;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-u8 rtw_setbbreg_cmd(struct adapter *padapter, u8 offset, u8 val)
-{
-       struct cmd_obj *ph2c;
-       struct writeBB_parm *pwritebbparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-               }
-       pwritebbparm = kzalloc(sizeof(struct writeBB_parm), GFP_ATOMIC);
-
-       if (!pwritebbparm) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, pwritebbparm, GEN_CMD_CODE(_SetBBReg));
-
-       pwritebbparm->offset = offset;
-       pwritebbparm->value = val;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-u8 rtw_getbbreg_cmd(struct adapter  *padapter, u8 offset, u8 *pval)
-{
-       struct cmd_obj *ph2c;
-       struct readBB_parm *prdbbparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-               }
-       prdbbparm = kzalloc(sizeof(struct readBB_parm), GFP_ATOMIC);
-
-       if (!prdbbparm) {
-               kfree(ph2c);
-               return _FAIL;
-       }
-
-       INIT_LIST_HEAD(&ph2c->list);
-       ph2c->cmdcode = GEN_CMD_CODE(_GetBBReg);
-       ph2c->parmbuf = (unsigned char *)prdbbparm;
-       ph2c->cmdsz =  sizeof(struct readBB_parm);
-       ph2c->rsp = pval;
-       ph2c->rspsz = sizeof(struct readBB_rsp);
-
-       prdbbparm->offset = offset;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-u8 rtw_setrfreg_cmd(struct adapter  *padapter, u8 offset, u32 val)
-{
-       struct cmd_obj *ph2c;
-       struct writeRF_parm *pwriterfparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-       }
-       pwriterfparm = kzalloc(sizeof(struct writeRF_parm), GFP_ATOMIC);
-
-       if (!pwriterfparm) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, pwriterfparm, GEN_CMD_CODE(_SetRFReg));
-
-       pwriterfparm->offset = offset;
-       pwriterfparm->value = val;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-u8 rtw_getrfreg_cmd(struct adapter  *padapter, u8 offset, u8 *pval)
-{
-       struct cmd_obj *ph2c;
-       struct readRF_parm *prdrfparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       prdrfparm = kzalloc(sizeof(struct readRF_parm), GFP_ATOMIC);
-       if (!prdrfparm) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       INIT_LIST_HEAD(&ph2c->list);
-       ph2c->cmdcode = GEN_CMD_CODE(_GetRFReg);
-       ph2c->parmbuf = (unsigned char *)prdrfparm;
-       ph2c->cmdsz =  sizeof(struct readRF_parm);
-       ph2c->rsp = pval;
-       ph2c->rspsz = sizeof(struct readRF_rsp);
-
-       prdrfparm->offset = offset;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
-exit:
-
-       return res;
-}
-
 void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *pcmd)
 {
 
 
        kfree(pcmd->parmbuf);
        kfree(pcmd);
-
-       if (padapter->registrypriv.mp_mode == 1)
-               padapter->mppriv.workparam.bcompleted = true;
-
-}
-
-void rtw_readtssi_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *pcmd)
-{
-
-
-       kfree(pcmd->parmbuf);
-       kfree(pcmd);
-
-       if (padapter->registrypriv.mp_mode == 1)
-               padapter->mppriv.workparam.bcompleted = true;
-
 }
 
 u8 rtw_createbss_cmd(struct adapter  *padapter)
@@ -743,32 +471,6 @@ exit:
        return res;
 }
 
-u8 rtw_createbss_cmd_ex(struct adapter  *padapter, unsigned char *pbss, unsigned int sz)
-{
-       struct cmd_obj *pcmd;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       pcmd = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!pcmd) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       INIT_LIST_HEAD(&pcmd->list);
-       pcmd->cmdcode = GEN_CMD_CODE(_CreateBss);
-       pcmd->parmbuf = pbss;
-       pcmd->cmdsz =  sz;
-       pcmd->rsp = NULL;
-       pcmd->rspsz = 0;
-
-       res = rtw_enqueue_cmd(pcmdpriv, pcmd);
-
-exit:
-
-       return res;
-}
-
 u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
 {
        u8      res = _SUCCESS;
@@ -1073,115 +775,6 @@ exit:
        return res;
 }
 
-u8 rtw_setrttbl_cmd(struct adapter  *padapter, struct setratable_parm *prate_table)
-{
-       struct cmd_obj *ph2c;
-       struct setratable_parm *psetrttblparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-       }
-       psetrttblparm = kzalloc(sizeof(struct setratable_parm), GFP_KERNEL);
-
-       if (!psetrttblparm) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, psetrttblparm, GEN_CMD_CODE(_SetRaTable));
-
-       memcpy(psetrttblparm, prate_table, sizeof(struct setratable_parm));
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-u8 rtw_getrttbl_cmd(struct adapter  *padapter, struct getratable_rsp *pval)
-{
-       struct cmd_obj *ph2c;
-       struct getratable_parm *pgetrttblparm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-       }
-       pgetrttblparm = kzalloc(sizeof(struct getratable_parm), GFP_KERNEL);
-
-       if (!pgetrttblparm) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-/*     init_h2fwcmd_w_parm_no_rsp(ph2c, psetrttblparm, GEN_CMD_CODE(_SetRaTable)); */
-
-       INIT_LIST_HEAD(&ph2c->list);
-       ph2c->cmdcode = GEN_CMD_CODE(_GetRaTable);
-       ph2c->parmbuf = (unsigned char *)pgetrttblparm;
-       ph2c->cmdsz =  sizeof(struct getratable_parm);
-       ph2c->rsp = (u8 *)pval;
-       ph2c->rspsz = sizeof(struct getratable_rsp);
-
-       pgetrttblparm->rsvd = 0x0;
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-exit:
-
-       return res;
-}
-
-u8 rtw_setassocsta_cmd(struct adapter  *padapter, u8 *mac_addr)
-{
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-       struct cmd_obj *ph2c;
-       struct set_assocsta_parm *psetassocsta_para;
-       struct set_stakey_rsp *psetassocsta_rsp = NULL;
-
-       u8      res = _SUCCESS;
-
-       ph2c = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!ph2c) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       psetassocsta_para = kzalloc(sizeof(struct set_assocsta_parm), GFP_ATOMIC);
-       if (!psetassocsta_para) {
-               kfree(ph2c);
-               res = _FAIL;
-               goto exit;
-       }
-
-       psetassocsta_rsp = kzalloc(sizeof(struct set_assocsta_rsp), GFP_ATOMIC);
-       if (!psetassocsta_rsp) {
-               kfree(ph2c);
-               kfree(psetassocsta_para);
-               return _FAIL;
-       }
-
-       init_h2fwcmd_w_parm_no_rsp(ph2c, psetassocsta_para, _SetAssocSta_CMD_);
-       ph2c->rsp = (u8 *)psetassocsta_rsp;
-       ph2c->rspsz = sizeof(struct set_assocsta_rsp);
-
-       memcpy(psetassocsta_para->addr, mac_addr, ETH_ALEN);
-
-       res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
-exit:
-
-       return res;
- }
-
 u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr)
 {
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
@@ -1250,57 +843,6 @@ exit:
        return res;
 }
 
-u8 rtw_set_ch_cmd(struct adapter *padapter, u8 ch, u8 bw, u8 ch_offset, u8 enqueue)
-{
-       struct cmd_obj *pcmdobj;
-       struct set_ch_parm *set_ch_parm;
-       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
-
-       u8 res = _SUCCESS;
-
-       DBG_88E(FUNC_NDEV_FMT" ch:%u, bw:%u, ch_offset:%u\n",
-               FUNC_NDEV_ARG(padapter->pnetdev), ch, bw, ch_offset);
-
-       /* check input parameter */
-
-       /* prepare cmd parameter */
-       set_ch_parm = kzalloc(sizeof(*set_ch_parm), GFP_ATOMIC);
-       if (!set_ch_parm) {
-               res = _FAIL;
-               goto exit;
-       }
-       set_ch_parm->ch = ch;
-       set_ch_parm->bw = bw;
-       set_ch_parm->ch_offset = ch_offset;
-
-       if (enqueue) {
-               /* need enqueue, prepare cmd_obj and enqueue */
-               pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-               if (!pcmdobj) {
-                       kfree(set_ch_parm);
-                       res = _FAIL;
-                       goto exit;
-               }
-
-               init_h2fwcmd_w_parm_no_rsp(pcmdobj, set_ch_parm, GEN_CMD_CODE(_SetChannel));
-               res = rtw_enqueue_cmd(pcmdpriv, pcmdobj);
-       } else {
-               /* no need to enqueue, do the cmd hdl directly and free cmd parameter */
-               if (H2C_SUCCESS != set_ch_hdl(padapter, (u8 *)set_ch_parm))
-                       res = _FAIL;
-
-               kfree(set_ch_parm);
-       }
-
-       /* do something based on res... */
-
-exit:
-
-       DBG_88E(FUNC_NDEV_FMT" res:%u\n", FUNC_NDEV_ARG(padapter->pnetdev), res);
-
-       return res;
-}
-
 u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue)
 {
        struct  cmd_obj *pcmdobj;
@@ -1352,74 +894,6 @@ exit:
        return res;
 }
 
-u8 rtw_led_blink_cmd(struct adapter *padapter, struct LED_871x *pLed)
-{
-       struct  cmd_obj *pcmdobj;
-       struct  LedBlink_param *ledBlink_param;
-       struct  cmd_priv   *pcmdpriv = &padapter->cmdpriv;
-
-       u8      res = _SUCCESS;
-
-       pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!pcmdobj) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       ledBlink_param = kzalloc(sizeof(struct LedBlink_param), GFP_ATOMIC);
-       if (!ledBlink_param) {
-               kfree(pcmdobj);
-               res = _FAIL;
-               goto exit;
-       }
-
-       ledBlink_param->pLed = pLed;
-
-       init_h2fwcmd_w_parm_no_rsp(pcmdobj, ledBlink_param, GEN_CMD_CODE(_LedBlink));
-       res = rtw_enqueue_cmd(pcmdpriv, pcmdobj);
-
-exit:
-
-       return res;
-}
-
-u8 rtw_set_csa_cmd(struct adapter *padapter, u8 new_ch_no)
-{
-       struct  cmd_obj *pcmdobj;
-       struct  SetChannelSwitch_param *setChannelSwitch_param;
-       struct  cmd_priv   *pcmdpriv = &padapter->cmdpriv;
-
-       u8      res = _SUCCESS;
-
-       pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);
-       if (!pcmdobj) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       setChannelSwitch_param = kzalloc(sizeof(struct  SetChannelSwitch_param),
-                                        GFP_ATOMIC);
-       if (!setChannelSwitch_param) {
-               kfree(pcmdobj);
-               res = _FAIL;
-               goto exit;
-       }
-
-       setChannelSwitch_param->new_ch_no = new_ch_no;
-
-       init_h2fwcmd_w_parm_no_rsp(pcmdobj, setChannelSwitch_param, GEN_CMD_CODE(_SetChannelSwitch));
-       res = rtw_enqueue_cmd(pcmdpriv, pcmdobj);
-
-exit:
-
-       return res;
-}
-
-u8 rtw_tdls_cmd(struct adapter *padapter, u8 *addr, u8 option)
-{
-       return _SUCCESS;
-}
-
 static void traffic_status_watchdog(struct adapter *padapter)
 {
        u8      bEnterPS;
@@ -1486,17 +960,15 @@ static void dynamic_chk_wk_hdl(struct adapter *padapter, u8 *pbuf, int sz)
        padapter = (struct adapter *)pbuf;
        pmlmepriv = &padapter->mlmepriv;
 
-#ifdef CONFIG_88EU_AP_MODE
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE))
                expire_timeout_chk(padapter);
-#endif
 
-       rtw_hal_sreset_xmit_status_check(padapter);
+       rtl8188e_sreset_xmit_status_check(padapter);
 
        linked_status_chk(padapter);
        traffic_status_watchdog(padapter);
 
-       rtw_hal_dm_watchdog(padapter);
+       rtl8188e_HalDmWatchDog(padapter);
 }
 
 static void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
@@ -1523,12 +995,12 @@ static void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
                mstatus = 1;/* connect */
                /*  Reset LPS Setting */
                padapter->pwrctrlpriv.LpsIdleCount = 0;
-               rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_JOINBSSRPT, (u8 *)(&mstatus));
+               SetHwReg8188EU(padapter, HW_VAR_H2C_FW_JOINBSSRPT, (u8 *)(&mstatus));
                break;
        case LPS_CTRL_DISCONNECT:
                mstatus = 0;/* disconnect */
                LPS_Leave(padapter);
-               rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_JOINBSSRPT, (u8 *)(&mstatus));
+               SetHwReg8188EU(padapter, HW_VAR_H2C_FW_JOINBSSRPT, (u8 *)(&mstatus));
                break;
        case LPS_CTRL_SPECIAL_PACKET:
                /* DBG_88E("LPS_CTRL_SPECIAL_PACKET\n"); */
@@ -1588,7 +1060,7 @@ exit:
 
 static void rpt_timer_setting_wk_hdl(struct adapter *padapter, u16 min_time)
 {
-       rtw_hal_set_hwreg(padapter, HW_VAR_RPT_TIMER_SETTING, (u8 *)(&min_time));
+       SetHwReg8188EU(padapter, HW_VAR_RPT_TIMER_SETTING, (u8 *)(&min_time));
 }
 
 u8 rtw_rpt_timer_cfg_cmd(struct adapter *padapter, u16 min_time)
@@ -1625,7 +1097,7 @@ exit:
 
 static void antenna_select_wk_hdl(struct adapter *padapter, u8 antenna)
 {
-       rtw_hal_set_hwreg(padapter, HW_VAR_ANTENNA_DIVERSITY_SELECT, (u8 *)(&antenna));
+       SetHwReg8188EU(padapter, HW_VAR_ANTENNA_DIVERSITY_SELECT, (u8 *)(&antenna));
 }
 
 u8 rtw_antenna_select_cmd(struct adapter *padapter, u8 antenna, u8 enqueue)
@@ -1636,7 +1108,7 @@ u8 rtw_antenna_select_cmd(struct adapter *padapter, u8 antenna, u8 enqueue)
        u8      support_ant_div;
        u8      res = _SUCCESS;
 
-       rtw_hal_get_def_var(padapter, HAL_DEF_IS_SUPPORT_ANT_DIV, &support_ant_div);
+       GetHalDefVar8188EUsb(padapter, HAL_DEF_IS_SUPPORT_ANT_DIV, &support_ant_div);
        if (!support_ant_div)
                return res;
 
@@ -1669,12 +1141,6 @@ exit:
        return res;
 }
 
-static void power_saving_wk_hdl(struct adapter *padapter, u8 *pbuf, int sz)
-{
-        rtw_ps_processor(padapter);
-}
-
-#ifdef CONFIG_88EU_P2P
 u8 p2p_protocol_wk_cmd(struct adapter *padapter, int intCmdType)
 {
        struct cmd_obj  *ph2c;
@@ -1711,7 +1177,6 @@ exit:
 
        return res;
 }
-#endif /* CONFIG_88EU_P2P */
 
 u8 rtw_ps_cmd(struct adapter *padapter)
 {
@@ -1745,8 +1210,6 @@ exit:
        return res;
 }
 
-#ifdef CONFIG_88EU_AP_MODE
-
 static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
 {
        int cnt = 0;
@@ -1763,7 +1226,7 @@ static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
                /* while ((rtw_read32(padapter, 0x414)&0x00ffff00)!= 0) */
                /* while ((rtw_read32(padapter, 0x414)&0x0000ff00)!= 0) */
 
-               rtw_hal_get_hwreg(padapter, HW_VAR_CHK_HI_QUEUE_EMPTY, &val);
+               GetHwReg8188EU(padapter, HW_VAR_CHK_HI_QUEUE_EMPTY, &val);
 
                while (!val) {
                        msleep(100);
@@ -1773,7 +1236,7 @@ static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
                        if (cnt > 10)
                                break;
 
-                       rtw_hal_get_hwreg(padapter, HW_VAR_CHK_HI_QUEUE_EMPTY, &val);
+                       GetHwReg8188EU(padapter, HW_VAR_CHK_HI_QUEUE_EMPTY, &val);
                }
 
                if (cnt <= 10) {
@@ -1817,7 +1280,6 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
 exit:
        return res;
 }
-#endif
 
 u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
 {
@@ -1852,29 +1314,12 @@ exit:
        return res;
 }
 
-static s32 c2h_evt_hdl(struct adapter *adapter, struct c2h_evt_hdr *c2h_evt, c2h_id_filter filter)
+static void c2h_evt_hdl(struct adapter *adapter, struct c2h_evt_hdr *c2h_evt, c2h_id_filter filter)
 {
-       s32 ret = _FAIL;
        u8 buf[16];
 
-       if (!c2h_evt) {
-               /* No c2h event in cmd_obj, read c2h event before handling*/
-               if (c2h_evt_read(adapter, buf) == _SUCCESS) {
-                       c2h_evt = (struct c2h_evt_hdr *)buf;
-
-                       if (filter && !filter(c2h_evt->id))
-                               goto exit;
-
-                       ret = rtw_hal_c2h_handler(adapter, c2h_evt);
-               }
-       } else {
-               if (filter && !filter(c2h_evt->id))
-                       goto exit;
-
-               ret = rtw_hal_c2h_handler(adapter, c2h_evt);
-       }
-exit:
-       return ret;
+       if (!c2h_evt)
+               c2h_evt_read(adapter, buf);
 }
 
 static void c2h_wk_callback(struct work_struct *work)
@@ -1882,7 +1327,6 @@ static void c2h_wk_callback(struct work_struct *work)
        struct evt_priv *evtpriv = container_of(work, struct evt_priv, c2h_wk);
        struct adapter *adapter = container_of(evtpriv, struct adapter, evtpriv);
        struct c2h_evt_hdr *c2h_evt;
-       c2h_id_filter ccx_id_filter = rtw_hal_c2h_id_filter_ccx(adapter);
 
        evtpriv->c2h_wk_alive = true;
 
@@ -1912,16 +1356,8 @@ static void c2h_wk_callback(struct work_struct *work)
                        continue;
                }
 
-               if (ccx_id_filter(c2h_evt->id)) {
-                       /* Handle CCX report here */
-                       rtw_hal_c2h_handler(adapter, c2h_evt);
-                       kfree(c2h_evt);
-               } else {
-#ifdef CONFIG_88EU_P2P
-                       /* Enqueue into cmd_thread for others */
-                       rtw_c2h_wk_cmd(adapter, (u8 *)c2h_evt);
-#endif
-               }
+               /* Enqueue into cmd_thread for others */
+               rtw_c2h_wk_cmd(adapter, (u8 *)c2h_evt);
        }
 
        evtpriv->c2h_wk_alive = false;
@@ -1941,7 +1377,7 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
                dynamic_chk_wk_hdl(padapter, pdrvextra_cmd->pbuf, pdrvextra_cmd->type_size);
                break;
        case POWER_SAVING_CTRL_WK_CID:
-               power_saving_wk_hdl(padapter, pdrvextra_cmd->pbuf, pdrvextra_cmd->type_size);
+               rtw_ps_processor(padapter);
                break;
        case LPS_CTRL_WK_CID:
                lps_ctrl_wk_hdl(padapter, (u8)pdrvextra_cmd->type_size);
@@ -1952,7 +1388,6 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
        case ANT_SELECT_WK_CID:
                antenna_select_wk_hdl(padapter, pdrvextra_cmd->type_size);
                break;
-#ifdef CONFIG_88EU_P2P
        case P2P_PS_WK_CID:
                p2p_ps_wk_hdl(padapter, pdrvextra_cmd->type_size);
                break;
@@ -1961,12 +1396,9 @@ u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf)
                /*      I used the type_size as the type command */
                p2p_protocol_wk_hdl(padapter, pdrvextra_cmd->type_size);
                break;
-#endif
-#ifdef CONFIG_88EU_AP_MODE
        case CHECK_HIQ_WK_CID:
                rtw_chk_hi_queue_hdl(padapter);
                break;
-#endif /* CONFIG_88EU_AP_MODE */
        case C2H_WK_CID:
                c2h_evt_hdl(padapter, (struct c2h_evt_hdr *)pdrvextra_cmd->pbuf, NULL);
                break;
diff --git a/drivers/staging/r8188eu/core/rtw_debug.c b/drivers/staging/r8188eu/core/rtw_debug.c
deleted file mode 100644 (file)
index 2ee64ce..0000000
+++ /dev/null
@@ -1,904 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 2007 - 2012 Realtek Corporation. */
-
-#define _RTW_DEBUG_C_
-
-#include "../include/rtw_debug.h"
-#include "../include/drv_types.h"
-
-int proc_get_drv_version(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "%s\n", DRIVERVERSION);
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_write_reg(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       *eof = 1;
-       return 0;
-}
-
-int proc_set_write_reg(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       char tmp[32];
-       u32 addr, val, len;
-
-       if (count < 3) {
-               DBG_88E("argument size is less than 3\n");
-               return -EFAULT;
-       }
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               int num = sscanf(tmp, "%x %x %x", &addr, &val, &len);
-
-               if (num !=  3) {
-                       DBG_88E("invalid write_reg parameter!\n");
-                       return count;
-               }
-               switch (len) {
-               case 1:
-                       rtw_write8(padapter, addr, (u8)val);
-                       break;
-               case 2:
-                       rtw_write16(padapter, addr, (u16)val);
-                       break;
-               case 4:
-                       rtw_write32(padapter, addr, val);
-                       break;
-               default:
-                       DBG_88E("error write length =%d", len);
-                       break;
-               }
-       }
-       return count;
-}
-
-static u32 proc_get_read_addr = 0xeeeeeeee;
-static u32 proc_get_read_len = 0x4;
-
-int proc_get_read_reg(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-
-       int len = 0;
-
-       if (proc_get_read_addr == 0xeeeeeeee) {
-               *eof = 1;
-               return len;
-       }
-
-       switch (proc_get_read_len) {
-       case 1:
-               len += snprintf(page + len, count - len, "rtw_read8(0x%x)=0x%x\n", proc_get_read_addr, rtw_read8(padapter, proc_get_read_addr));
-               break;
-       case 2:
-               len += snprintf(page + len, count - len, "rtw_read16(0x%x)=0x%x\n", proc_get_read_addr, rtw_read16(padapter, proc_get_read_addr));
-               break;
-       case 4:
-               len += snprintf(page + len, count - len, "rtw_read32(0x%x)=0x%x\n", proc_get_read_addr, rtw_read32(padapter, proc_get_read_addr));
-               break;
-       default:
-               len += snprintf(page + len, count - len, "error read length=%d\n", proc_get_read_len);
-               break;
-       }
-
-       *eof = 1;
-       return len;
-}
-
-int proc_set_read_reg(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       char tmp[16];
-       u32 addr, len;
-
-       if (count < 2) {
-               DBG_88E("argument size is less than 2\n");
-               return -EFAULT;
-       }
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               int num = sscanf(tmp, "%x %x", &addr, &len);
-
-               if (num !=  2) {
-                       DBG_88E("invalid read_reg parameter!\n");
-                       return count;
-               }
-
-               proc_get_read_addr = addr;
-
-               proc_get_read_len = len;
-       }
-
-       return count;
-}
-
-int proc_get_fwstate(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "fwstate=0x%x\n", get_fwstate(pmlmepriv));
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_sec_info(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct security_priv *psecuritypriv = &padapter->securitypriv;
-
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "auth_alg=0x%x, enc_alg=0x%x, auth_type=0x%x, enc_type=0x%x\n",
-                                               psecuritypriv->dot11AuthAlgrthm, psecuritypriv->dot11PrivacyAlgrthm,
-                                               psecuritypriv->ndisauthtype, psecuritypriv->ndisencryptstatus);
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_mlmext_state(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-       struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
-
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "pmlmeinfo->state=0x%x\n", pmlmeinfo->state);
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_qos_option(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "qos_option=%d\n", pmlmepriv->qospriv.qos_option);
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_ht_option(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-       int len = 0;
-       len += snprintf(page + len, count - len, "ht_option=%d\n", pmlmepriv->htpriv.ht_option);
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rf_info(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "cur_ch=%d, cur_bw=%d, cur_ch_offet=%d\n",
-                                       pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
-       *eof = 1;
-       return len;
-}
-
-int proc_get_ap_info(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct sta_info *psta;
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
-       struct wlan_network *cur_network = &pmlmepriv->cur_network;
-       struct sta_priv *pstapriv = &padapter->stapriv;
-       int len = 0;
-
-       psta = rtw_get_stainfo(pstapriv, cur_network->network.MacAddress);
-       if (psta) {
-               int i;
-               struct recv_reorder_ctrl *preorder_ctrl;
-
-               len += snprintf(page + len, count - len, "SSID=%s\n", cur_network->network.Ssid.Ssid);
-               len += snprintf(page + len, count - len, "sta's macaddr:%pM\n", psta->hwaddr);
-               len += snprintf(page + len, count - len, "cur_channel=%d, cur_bwmode=%d, cur_ch_offset=%d\n", pmlmeext->cur_channel, pmlmeext->cur_bwmode, pmlmeext->cur_ch_offset);
-               len += snprintf(page + len, count - len, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
-               len += snprintf(page + len, count - len, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
-               len += snprintf(page + len, count - len, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
-               len += snprintf(page + len, count - len, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
-               len += snprintf(page + len, count - len, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
-               len += snprintf(page + len, count - len, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
-
-               for (i = 0; i < 16; i++) {
-                       preorder_ctrl = &psta->recvreorder_ctrl[i];
-                       if (preorder_ctrl->enable)
-                               len += snprintf(page + len, count - len, "tid=%d, indicate_seq=%d\n", i, preorder_ctrl->indicate_seq);
-               }
-       } else {
-               len += snprintf(page + len, count - len, "can't get sta's macaddr, cur_network's macaddr: %pM\n", cur_network->network.MacAddress);
-       }
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_adapter_state(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "bSurpriseRemoved=%d, bDriverStopped=%d\n",
-                                               padapter->bSurpriseRemoved, padapter->bDriverStopped);
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_trx_info(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
-       struct recv_priv  *precvpriv = &padapter->recvpriv;
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "free_xmitbuf_cnt=%d, free_xmitframe_cnt=%d, free_ext_xmitbuf_cnt=%d, free_recvframe_cnt=%d\n",
-                               pxmitpriv->free_xmitbuf_cnt, pxmitpriv->free_xmitframe_cnt, pxmitpriv->free_xmit_extbuf_cnt, precvpriv->free_recvframe_cnt);
-       len += snprintf(page + len, count - len, "rx_urb_pending_cn=%d\n", precvpriv->rx_pending_cnt);
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_mac_reg_dump1(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1;
-
-       len += snprintf(page + len, count - len, "\n======= MAC REG =======\n");
-
-       for (i = 0x0; i < 0x300; i += 4) {
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", rtw_read32(padapter, i));
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_mac_reg_dump2(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1;
-
-       len += snprintf(page + len, count - len, "\n======= MAC REG =======\n");
-       memset(page, 0, count);
-       for (i = 0x300; i < 0x600; i += 4) {
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", rtw_read32(padapter, i));
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_mac_reg_dump3(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1;
-
-       len += snprintf(page + len, count - len, "\n======= MAC REG =======\n");
-
-       for (i = 0x600; i < 0x800; i += 4) {
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", rtw_read32(padapter, i));
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_bb_reg_dump1(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1;
-
-       len += snprintf(page + len, count - len, "\n======= BB REG =======\n");
-       for (i = 0x800; i < 0xB00; i += 4) {
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", rtw_read32(padapter, i));
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-       *eof = 1;
-       return len;
-}
-
-int proc_get_bb_reg_dump2(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1;
-
-       len += snprintf(page + len, count - len, "\n======= BB REG =======\n");
-       for (i = 0xB00; i < 0xE00; i += 4) {
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", rtw_read32(padapter, i));
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-       *eof = 1;
-       return len;
-}
-
-int proc_get_bb_reg_dump3(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1;
-
-       len += snprintf(page + len, count - len, "\n======= BB REG =======\n");
-       for (i = 0xE00; i < 0x1000; i += 4) {
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", rtw_read32(padapter, i));
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rf_reg_dump1(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1, path;
-       u32 value;
-
-       len += snprintf(page + len, count - len, "\n======= RF REG =======\n");
-       path = 1;
-       len += snprintf(page + len, count - len, "\nRF_Path(%x)\n", path);
-       for (i = 0; i < 0xC0; i++) {
-               value = rtw_hal_read_rfreg(padapter, path, i, 0xffffffff);
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x ", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", value);
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rf_reg_dump2(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1, path;
-       u32 value;
-
-       len += snprintf(page + len, count - len, "\n======= RF REG =======\n");
-       path = 1;
-       len += snprintf(page + len, count - len, "\nRF_Path(%x)\n", path);
-       for (i = 0xC0; i < 0x100; i++) {
-               value = rtw_hal_read_rfreg(padapter, path, i, 0xffffffff);
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x ", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", value);
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rf_reg_dump3(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1, path;
-       u32 value;
-
-       len += snprintf(page + len, count - len, "\n======= RF REG =======\n");
-       path = 2;
-       len += snprintf(page + len, count - len, "\nRF_Path(%x)\n", path);
-       for (i = 0; i < 0xC0; i++) {
-               value = rtw_hal_read_rfreg(padapter, path, i, 0xffffffff);
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x ", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", value);
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rf_reg_dump4(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-       int i, j = 1, path;
-       u32 value;
-
-       len += snprintf(page + len, count - len, "\n======= RF REG =======\n");
-       path = 2;
-       len += snprintf(page + len, count - len, "\nRF_Path(%x)\n", path);
-       for (i = 0xC0; i < 0x100; i++) {
-               value = rtw_hal_read_rfreg(padapter, path, i, 0xffffffff);
-               if (j % 4 == 1)
-                       len += snprintf(page + len, count - len, "0x%02x ", i);
-               len += snprintf(page + len, count - len, " 0x%08x ", value);
-               if ((j++) % 4 == 0)
-                       len += snprintf(page + len, count - len, "\n");
-       }
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rx_signal(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       int len = 0;
-
-       len = snprintf(page + len, count,
-               "rssi:%d\n"
-               "rxpwdb:%d\n"
-               "signal_strength:%u\n"
-               "signal_qual:%u\n"
-               "noise:%u\n",
-               padapter->recvpriv.rssi,
-               padapter->recvpriv.rxpwdb,
-               padapter->recvpriv.signal_strength,
-               padapter->recvpriv.signal_qual,
-               padapter->recvpriv.noise
-               );
-
-       *eof = 1;
-       return len;
-}
-
-int proc_set_rx_signal(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       char tmp[32];
-       u32 is_signal_dbg;
-       s32 signal_strength;
-
-       if (count < 1)
-               return -EFAULT;
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               int num = sscanf(tmp, "%u %u", &is_signal_dbg, &signal_strength);
-               is_signal_dbg = is_signal_dbg == 0 ? 0 : 1;
-               if (is_signal_dbg && num != 2)
-                       return count;
-
-               signal_strength = signal_strength > 100 ? 100 : signal_strength;
-               signal_strength = signal_strength < 0 ? 0 : signal_strength;
-
-               padapter->recvpriv.is_signal_dbg = is_signal_dbg;
-               padapter->recvpriv.signal_strength_dbg = signal_strength;
-
-               if (is_signal_dbg)
-                       DBG_88E("set %s %u\n", "DBG_SIGNAL_STRENGTH", signal_strength);
-               else
-                       DBG_88E("set %s\n", "HW_SIGNAL_STRENGTH");
-       }
-       return count;
-}
-
-int proc_get_ht_enable(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-       int len = 0;
-
-       if (pregpriv)
-               len += snprintf(page + len, count - len,
-                       "%d\n",
-                       pregpriv->ht_enable
-                       );
-       *eof = 1;
-       return len;
-}
-
-int proc_set_ht_enable(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-       char tmp[32];
-       s32 mode = 0;
-
-       if (count < 1)
-               return -EFAULT;
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               if (pregpriv) {
-                       pregpriv->ht_enable = mode;
-                       pr_info("ht_enable=%d\n", pregpriv->ht_enable);
-               }
-       }
-
-       return count;
-}
-
-int proc_get_cbw40_enable(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-
-       int len = 0;
-
-       if (pregpriv)
-               len += snprintf(page + len, count - len,
-                       "%d\n",
-                       pregpriv->cbw40_enable
-                       );
-
-       *eof = 1;
-       return len;
-}
-
-int proc_set_cbw40_enable(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-       char tmp[32];
-       s32 mode = 0;
-
-       if (count < 1)
-               return -EFAULT;
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               if (pregpriv) {
-                       pregpriv->cbw40_enable = mode;
-                       pr_info("cbw40_enable=%d\n", mode);
-               }
-       }
-       return count;
-}
-
-int proc_get_ampdu_enable(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-
-       int len = 0;
-
-       if (pregpriv)
-               len += snprintf(page + len, count - len,
-                       "%d\n",
-                       pregpriv->ampdu_enable
-                       );
-
-       *eof = 1;
-       return len;
-}
-
-int proc_set_ampdu_enable(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-       char tmp[32];
-       s32 mode = 0;
-
-       if (count < 1)
-               return -EFAULT;
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               if (pregpriv) {
-                       pregpriv->ampdu_enable = mode;
-                       pr_info("ampdu_enable=%d\n", mode);
-               }
-       }
-       return count;
-}
-
-int proc_get_two_path_rssi(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-
-       int len = 0;
-
-       if (padapter)
-               len += snprintf(page + len, count - len,
-                       "%d %d\n",
-                       padapter->recvpriv.RxRssi[0],
-                       padapter->recvpriv.RxRssi[1]
-                       );
-
-       *eof = 1;
-       return len;
-}
-
-int proc_get_rx_stbc(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-
-       int len = 0;
-
-       if (pregpriv)
-               len += snprintf(page + len, count - len,
-                       "%d\n",
-                       pregpriv->rx_stbc
-                       );
-
-       *eof = 1;
-       return len;
-}
-
-int proc_set_rx_stbc(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct registry_priv    *pregpriv = &padapter->registrypriv;
-       char tmp[32];
-       u32 mode = 0;
-
-       if (count < 1)
-               return -EFAULT;
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               if (pregpriv) {
-                       pregpriv->rx_stbc = mode;
-                       printk("rx_stbc=%d\n", mode);
-               }
-       }
-       return count;
-}
-
-int proc_get_rssi_disp(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       *eof = 1;
-       return 0;
-}
-
-int proc_set_rssi_disp(struct file *file, const char __user *buffer,
-               unsigned long count, void *data)
-{
-       struct net_device *dev = (struct net_device *)data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       char tmp[32];
-       u32 enable = 0;
-
-       if (count < 1) {
-               DBG_88E("argument size is less than 1\n");
-               return -EFAULT;
-       }
-
-       if (buffer && !copy_from_user(tmp, buffer, sizeof(tmp))) {
-               int num = sscanf(tmp, "%x", &enable);
-
-               if (num !=  1) {
-                       DBG_88E("invalid set_rssi_disp parameter!\n");
-                       return count;
-               }
-
-               if (enable) {
-                       DBG_88E("Turn On Rx RSSI Display Function\n");
-                       padapter->bRxRSSIDisplay = enable;
-               } else {
-                       DBG_88E("Turn Off Rx RSSI Display Function\n");
-                       padapter->bRxRSSIDisplay = 0;
-               }
-       }
-       return count;
-}
-
-#ifdef CONFIG_88EU_AP_MODE
-
-int proc_get_all_sta_info(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct sta_info *psta;
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct sta_priv *pstapriv = &padapter->stapriv;
-       int i, j;
-       struct list_head *plist, *phead;
-       struct recv_reorder_ctrl *preorder_ctrl;
-       int len = 0;
-
-       len += snprintf(page + len, count - len, "sta_dz_bitmap=0x%x, tim_bitmap=0x%x\n", pstapriv->sta_dz_bitmap, pstapriv->tim_bitmap);
-
-       spin_lock_bh(&pstapriv->sta_hash_lock);
-
-       for (i = 0; i < NUM_STA; i++) {
-               phead = &pstapriv->sta_hash[i];
-               plist = phead->next;
-
-               while (phead != plist) {
-                       psta = container_of(plist, struct sta_info, hash_list);
-
-                       plist = plist->next;
-
-                       len += snprintf(page + len, count - len, "sta's macaddr: %pM\n", psta->hwaddr);
-                       len += snprintf(page + len, count - len, "rtsen=%d, cts2slef=%d\n", psta->rtsen, psta->cts2self);
-                       len += snprintf(page + len, count - len, "state=0x%x, aid=%d, macid=%d, raid=%d\n", psta->state, psta->aid, psta->mac_id, psta->raid);
-                       len += snprintf(page + len, count - len, "qos_en=%d, ht_en=%d, init_rate=%d\n", psta->qos_option, psta->htpriv.ht_option, psta->init_rate);
-                       len += snprintf(page + len, count - len, "bwmode=%d, ch_offset=%d, sgi=%d\n", psta->htpriv.bwmode, psta->htpriv.ch_offset, psta->htpriv.sgi);
-                       len += snprintf(page + len, count - len, "ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
-                       len += snprintf(page + len, count - len, "agg_enable_bitmap=%x, candidate_tid_bitmap=%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
-                       len += snprintf(page + len, count - len, "sleepq_len=%d\n", psta->sleepq_len);
-                       len += snprintf(page + len, count - len, "capability=0x%x\n", psta->capability);
-                       len += snprintf(page + len, count - len, "flags=0x%x\n", psta->flags);
-                       len += snprintf(page + len, count - len, "wpa_psk=0x%x\n", psta->wpa_psk);
-                       len += snprintf(page + len, count - len, "wpa2_group_cipher=0x%x\n", psta->wpa2_group_cipher);
-                       len += snprintf(page + len, count - len, "wpa2_pairwise_cipher=0x%x\n", psta->wpa2_pairwise_cipher);
-                       len += snprintf(page + len, count - len, "qos_info=0x%x\n", psta->qos_info);
-                       len += snprintf(page + len, count - len, "dot118021XPrivacy=0x%x\n", psta->dot118021XPrivacy);
-
-                       for (j = 0; j < 16; j++) {
-                               preorder_ctrl = &psta->recvreorder_ctrl[j];
-                               if (preorder_ctrl->enable)
-                                       len += snprintf(page + len, count - len, "tid=%d, indicate_seq=%d\n", j, preorder_ctrl->indicate_seq);
-                       }
-               }
-       }
-       spin_unlock_bh(&pstapriv->sta_hash_lock);
-
-       *eof = 1;
-       return len;
-}
-#endif
-
-int proc_get_best_channel(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data)
-{
-       struct net_device *dev = data;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
-       int len = 0;
-       u32 i, best_channel_24G = 1, index_24G = 0;
-
-       for (i = 0; pmlmeext->channel_set[i].ChannelNum != 0; i++) {
-               if (pmlmeext->channel_set[i].ChannelNum == 1)
-                       index_24G = i;
-       }
-
-       for (i = 0; pmlmeext->channel_set[i].ChannelNum != 0; i++) {
-               /*  2.4G */
-               if (pmlmeext->channel_set[i].ChannelNum == 6) {
-                       if (pmlmeext->channel_set[i].rx_count < pmlmeext->channel_set[index_24G].rx_count) {
-                               index_24G = i;
-                               best_channel_24G = pmlmeext->channel_set[i].ChannelNum;
-                       }
-               }
-
-               /*  debug */
-               len += snprintf(page + len, count - len, "The rx cnt of channel %3d = %d\n",
-                                       pmlmeext->channel_set[i].ChannelNum, pmlmeext->channel_set[i].rx_count);
-       }
-
-       len += snprintf(page + len, count - len, "best_channel_24G = %d\n", best_channel_24G);
-
-       *eof = 1;
-       return len;
-}
index c1c7064..03c8431 100644 (file)
@@ -25,13 +25,10 @@ u8 fakeBTEfuseInitMap[EFUSE_BT_MAX_MAP_LEN] = {0};
 u8 fakeBTEfuseModifiedMap[EFUSE_BT_MAX_MAP_LEN] = {0};
 /*------------------------Define local variable------------------------------*/
 
-/*  */
 #define REG_EFUSE_CTRL         0x0030
 #define EFUSE_CTRL                     REG_EFUSE_CTRL          /*  E-Fuse Control. */
-/*  */
-static bool Efuse_Read1ByteFromFakeContent(struct adapter *pAdapter,
-                                          u16 Offset,
-                                          u8 *Value)
+
+static bool Efuse_Read1ByteFromFakeContent(u16 Offset, u8 *Value)
 {
        if (Offset >= EFUSE_MAX_HW_SIZE)
                return false;
@@ -58,62 +55,6 @@ Efuse_Write1ByteToFakeContent(
        return true;
 }
 
-/*-----------------------------------------------------------------------------
- * Function:   Efuse_PowerSwitch
- *
- * Overview:   When we want to enable write operation, we should change to
- *                             pwr on state. When we stop write, we should switch to 500k mode
- *                             and disable LDO 2.5V.
- *
- * Input:       NONE
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 11/17/2008  MHC             Create Version 0.
- *
- *---------------------------------------------------------------------------*/
-void
-Efuse_PowerSwitch(
-               struct adapter *pAdapter,
-               u8 write,
-               u8 PwrState)
-{
-       pAdapter->HalFunc.EfusePowerSwitch(pAdapter, write, PwrState);
-}
-
-/*-----------------------------------------------------------------------------
- * Function:   efuse_GetCurrentSize
- *
- * Overview:   Get current efuse size!!!
- *
- * Input:       NONE
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 11/16/2008  MHC             Create Version 0.
- *
- *---------------------------------------------------------------------------*/
-u16
-Efuse_GetCurrentSize(
-       struct adapter *pAdapter,
-       u8 efuseType,
-       bool pseudo)
-{
-       u16 ret = 0;
-
-       ret = pAdapter->HalFunc.EfuseGetCurrentSize(pAdapter, efuseType, pseudo);
-
-       return ret;
-}
-
 /*  11/16/2008 MH Add description. Get current efuse area enabled word!!. */
 u8
 Efuse_CalculateWordCnts(u8 word_en)
@@ -153,7 +94,7 @@ ReadEFuseByte(
        u16 retry;
 
        if (pseudo) {
-               Efuse_Read1ByteFromFakeContent(Adapter, _offset, pbuf);
+               Efuse_Read1ByteFromFakeContent(_offset, pbuf);
                return;
        }
 
@@ -184,93 +125,6 @@ ReadEFuseByte(
        *pbuf = (u8)(value32 & 0xff);
 }
 
-/*  */
-/*     Description: */
-/*             1. Execute E-Fuse read byte operation according as map offset and */
-/*                 save to E-Fuse table. */
-/*             2. Referred from SD1 Richard. */
-/*  */
-/*     Assumption: */
-/*             1. Boot from E-Fuse and successfully auto-load. */
-/*             2. PASSIVE_LEVEL (USB interface) */
-/*  */
-/*     Created by Roger, 2008.10.21. */
-/*  */
-/*     2008/12/12 MH   1. Reorganize code flow and reserve bytes. and add description. */
-/*                                     2. Add efuse utilization collect. */
-/*     2008/12/22 MH   Read Efuse must check if we write section 1 data again!!! Sec1 */
-/*                                     write addr must be after sec5. */
-/*  */
-
-static void efuse_ReadEFuse(struct adapter *Adapter, u8 efuseType, u16 _offset, u16 _size_byte, u8 *pbuf, bool pseudo)
-{
-       Adapter->HalFunc.ReadEFuse(Adapter, efuseType, _offset, _size_byte, pbuf, pseudo);
-}
-
-void EFUSE_GetEfuseDefinition(struct adapter *pAdapter, u8 efuseType, u8 type, void *pOut, bool pseudo
-       )
-{
-       pAdapter->HalFunc.EFUSEGetEfuseDefinition(pAdapter, efuseType, type, pOut, pseudo);
-}
-
-/*-----------------------------------------------------------------------------
- * Function:   EFUSE_Read1Byte
- *
- * Overview:   Copy from WMAC fot EFUSE read 1 byte.
- *
- * Input:       NONE
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 09/23/2008  MHC             Copy from WMAC.
- *
- *---------------------------------------------------------------------------*/
-u8 EFUSE_Read1Byte(struct adapter *Adapter, u16 Address)
-{
-       u8 data;
-       u8 Bytetemp = {0x00};
-       u8 temp = {0x00};
-       u32 k = 0;
-       u16 contentLen = 0;
-
-       EFUSE_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, (void *)&contentLen, false);
-
-       if (Address < contentLen) {     /* E-fuse 512Byte */
-               /* Write E-fuse Register address bit0~7 */
-               temp = Address & 0xFF;
-               rtw_write8(Adapter, EFUSE_CTRL + 1, temp);
-               Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 2);
-               /* Write E-fuse Register address bit8~9 */
-               temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC);
-               rtw_write8(Adapter, EFUSE_CTRL + 2, temp);
-
-               /* Write 0x30[31]= 0 */
-               Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3);
-               temp = Bytetemp & 0x7F;
-               rtw_write8(Adapter, EFUSE_CTRL + 3, temp);
-
-               /* Wait Write-ready (0x30[31]= 1) */
-               Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3);
-               while (!(Bytetemp & 0x80)) {
-                       Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3);
-                       k++;
-                       if (k == 1000) {
-                               k = 0;
-                               break;
-                       }
-               }
-               data = rtw_read8(Adapter, EFUSE_CTRL);
-               return data;
-       } else {
-               return 0xFF;
-       }
-
-} /* EFUSE_Read1Byte */
-
 /*  11/16/2008 MH Read one byte from real Efuse. */
 u8 efuse_OneByteRead(struct adapter *pAdapter, u16 addr, u8 *data, bool pseudo)
 {
@@ -278,7 +132,7 @@ u8 efuse_OneByteRead(struct adapter *pAdapter, u16 addr, u8 *data, bool pseudo)
        u8 result;
 
        if (pseudo) {
-               result = Efuse_Read1ByteFromFakeContent(pAdapter, addr, data);
+               result = Efuse_Read1ByteFromFakeContent(addr, data);
                return result;
        }
        /*  -----------------e-fuse reg ctrl --------------------------------- */
@@ -333,33 +187,6 @@ u8 efuse_OneByteWrite(struct adapter *pAdapter, u16 addr, u8 data, bool pseudo)
        return result;
 }
 
-int Efuse_PgPacketRead(struct adapter *pAdapter, u8 offset, u8 *data, bool pseudo)
-{
-       int     ret = 0;
-
-       ret =  pAdapter->HalFunc.Efuse_PgPacketRead(pAdapter, offset, data, pseudo);
-
-       return ret;
-}
-
-int Efuse_PgPacketWrite(struct adapter *pAdapter, u8 offset, u8 word_en, u8 *data, bool pseudo)
-{
-       int ret;
-
-       ret =  pAdapter->HalFunc.Efuse_PgPacketWrite(pAdapter, offset, word_en, data, pseudo);
-
-       return ret;
-}
-
-static int Efuse_PgPacketWrite_BT(struct adapter *pAdapter, u8 offset, u8 word_en, u8 *data, bool pseudo)
-{
-       int ret;
-
-       ret =  pAdapter->HalFunc.Efuse_PgPacketWrite_BT(pAdapter, offset, word_en, data, pseudo);
-
-       return ret;
-}
-
 /*-----------------------------------------------------------------------------
  * Function:   efuse_WordEnableDataRead
  *
@@ -397,368 +224,6 @@ void efuse_WordEnableDataRead(u8 word_en, u8 *sourdata, u8 *targetdata)
        }
 }
 
-u8 Efuse_WordEnableDataWrite(struct adapter *pAdapter, u16 efuse_addr, u8 word_en, u8 *data, bool pseudo)
-{
-       u8 ret = 0;
-
-       ret =  pAdapter->HalFunc.Efuse_WordEnableDataWrite(pAdapter, efuse_addr, word_en, data, pseudo);
-
-       return ret;
-}
-
-static u8 efuse_read8(struct adapter *padapter, u16 address, u8 *value)
-{
-       return efuse_OneByteRead(padapter, address, value, false);
-}
-
-static u8 efuse_write8(struct adapter *padapter, u16 address, u8 *value)
-{
-       return efuse_OneByteWrite(padapter, address, *value, false);
-}
-
-/*
- * read/wirte raw efuse data
- */
-u8 rtw_efuse_access(struct adapter *padapter, u8 write, u16 start_addr, u16 cnts, u8 *data)
-{
-       int i = 0;
-       u16 real_content_len = 0, max_available_size = 0;
-       u8 res = _FAIL;
-       u8 (*rw8)(struct adapter *, u16, u8*);
-
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, (void *)&real_content_len, false);
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-
-       if (start_addr > real_content_len)
-               return _FAIL;
-
-       if (write) {
-               if ((start_addr + cnts) > max_available_size)
-                       return _FAIL;
-               rw8 = &efuse_write8;
-       } else {
-               rw8 = &efuse_read8;
-       }
-
-       Efuse_PowerSwitch(padapter, write, true);
-
-       /*  e-fuse one byte read / write */
-       for (i = 0; i < cnts; i++) {
-               if (start_addr >= real_content_len) {
-                       res = _FAIL;
-                       break;
-               }
-
-               res = rw8(padapter, start_addr++, data++);
-               if (_FAIL == res)
-                       break;
-       }
-
-       Efuse_PowerSwitch(padapter, write, false);
-
-       return res;
-}
-/*  */
-u16 efuse_GetMaxSize(struct adapter *padapter)
-{
-       u16 max_size;
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_size, false);
-       return max_size;
-}
-/*  */
-u8 efuse_GetCurrentSize(struct adapter *padapter, u16 *size)
-{
-       Efuse_PowerSwitch(padapter, false, true);
-       *size = Efuse_GetCurrentSize(padapter, EFUSE_WIFI, false);
-       Efuse_PowerSwitch(padapter, false, false);
-
-       return _SUCCESS;
-}
-/*  */
-u8 rtw_efuse_map_read(struct adapter *padapter, u16 addr, u16 cnts, u8 *data)
-{
-       u16 mapLen = 0;
-
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, false);
-
-       if ((addr + cnts) > mapLen)
-               return _FAIL;
-
-       Efuse_PowerSwitch(padapter, false, true);
-
-       efuse_ReadEFuse(padapter, EFUSE_WIFI, addr, cnts, data, false);
-
-       Efuse_PowerSwitch(padapter, false, false);
-
-       return _SUCCESS;
-}
-
-u8 rtw_BT_efuse_map_read(struct adapter *padapter, u16 addr, u16 cnts, u8 *data)
-{
-       u16 mapLen = 0;
-
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, false);
-
-       if ((addr + cnts) > mapLen)
-               return _FAIL;
-
-       Efuse_PowerSwitch(padapter, false, true);
-
-       efuse_ReadEFuse(padapter, EFUSE_BT, addr, cnts, data, false);
-
-       Efuse_PowerSwitch(padapter, false, false);
-
-       return _SUCCESS;
-}
-/*  */
-u8 rtw_efuse_map_write(struct adapter *padapter, u16 addr, u16 cnts, u8 *data)
-{
-       u8 offset, word_en;
-       u8 *map;
-       u8 newdata[PGPKT_DATA_SIZE + 1];
-       s32     i, idx;
-       u8 ret = _SUCCESS;
-       u16 mapLen = 0;
-
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, false);
-
-       if ((addr + cnts) > mapLen)
-               return _FAIL;
-
-       map = kzalloc(mapLen, GFP_KERNEL);
-       if (!map)
-               return _FAIL;
-
-       ret = rtw_efuse_map_read(padapter, 0, mapLen, map);
-       if (ret == _FAIL)
-               goto exit;
-
-       Efuse_PowerSwitch(padapter, true, true);
-
-       offset = (addr >> 3);
-       word_en = 0xF;
-       memset(newdata, 0xFF, PGPKT_DATA_SIZE + 1);
-       i = addr & 0x7; /*  index of one package */
-       idx = 0;        /*  data index */
-
-       if (i & 0x1) {
-               /*  odd start */
-               if (data[idx] != map[addr + idx]) {
-                       word_en &= ~BIT(i >> 1);
-                       newdata[i - 1] = map[addr + idx - 1];
-                       newdata[i] = data[idx];
-               }
-               i++;
-               idx++;
-       }
-       do {
-               for (; i < PGPKT_DATA_SIZE; i += 2) {
-                       if (cnts == idx)
-                               break;
-                       if ((cnts - idx) == 1) {
-                               if (data[idx] != map[addr + idx]) {
-                                       word_en &= ~BIT(i >> 1);
-                                       newdata[i] = data[idx];
-                                       newdata[i + 1] = map[addr + idx + 1];
-                               }
-                               idx++;
-                               break;
-                       } else {
-                               if ((data[idx] != map[addr + idx]) ||
-                                   (data[idx + 1] != map[addr + idx + 1])) {
-                                       word_en &= ~BIT(i >> 1);
-                                       newdata[i] = data[idx];
-                                       newdata[i + 1] = data[idx + 1];
-                               }
-                               idx += 2;
-                       }
-                       if (idx == cnts)
-                               break;
-               }
-
-               if (word_en != 0xF) {
-                       ret = Efuse_PgPacketWrite(padapter, offset, word_en, newdata, false);
-                       DBG_88E("offset=%x\n", offset);
-                       DBG_88E("word_en=%x\n", word_en);
-
-                       for (i = 0; i < PGPKT_DATA_SIZE; i++)
-                               DBG_88E("data=%x \t", newdata[i]);
-                       if (ret == _FAIL)
-                               break;
-               }
-
-               if (idx == cnts)
-                       break;
-
-               offset++;
-               i = 0;
-               word_en = 0xF;
-               memset(newdata, 0xFF, PGPKT_DATA_SIZE);
-       } while (1);
-
-       Efuse_PowerSwitch(padapter, true, false);
-exit:
-       kfree(map);
-       return ret;
-}
-
-/*  */
-u8 rtw_BT_efuse_map_write(struct adapter *padapter, u16 addr, u16 cnts, u8 *data)
-{
-       u8 offset, word_en;
-       u8 *map;
-       u8 newdata[PGPKT_DATA_SIZE + 1];
-       s32     i, idx;
-       u8 ret = _SUCCESS;
-       u16 mapLen = 0;
-
-       EFUSE_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, false);
-
-       if ((addr + cnts) > mapLen)
-               return _FAIL;
-
-       map = kzalloc(mapLen, GFP_KERNEL);
-       if (!map)
-               return _FAIL;
-
-       ret = rtw_BT_efuse_map_read(padapter, 0, mapLen, map);
-       if (ret == _FAIL)
-               goto exit;
-
-       Efuse_PowerSwitch(padapter, true, true);
-
-       offset = (addr >> 3);
-       word_en = 0xF;
-       memset(newdata, 0xFF, PGPKT_DATA_SIZE + 1);
-       i = addr & 0x7; /*  index of one package */
-       idx = 0;        /*  data index */
-
-       if (i & 0x1) {
-               /*  odd start */
-               if (data[idx] != map[addr + idx]) {
-                       word_en &= ~BIT(i >> 1);
-                       newdata[i - 1] = map[addr + idx - 1];
-                       newdata[i] = data[idx];
-               }
-               i++;
-               idx++;
-       }
-       do {
-               for (; i < PGPKT_DATA_SIZE; i += 2) {
-                       if (cnts == idx)
-                               break;
-                       if ((cnts - idx) == 1) {
-                               if (data[idx] != map[addr + idx]) {
-                                       word_en &= ~BIT(i >> 1);
-                                       newdata[i] = data[idx];
-                                       newdata[i + 1] = map[addr + idx + 1];
-                               }
-                               idx++;
-                               break;
-                       } else {
-                               if ((data[idx] != map[addr + idx]) ||
-                                   (data[idx + 1] != map[addr + idx + 1])) {
-                                       word_en &= ~BIT(i >> 1);
-                                       newdata[i] = data[idx];
-                                       newdata[i + 1] = data[idx + 1];
-                               }
-                               idx += 2;
-                       }
-                       if (idx == cnts)
-                               break;
-               }
-
-               if (word_en != 0xF) {
-                       DBG_88E("%s: offset=%#X\n", __func__, offset);
-                       DBG_88E("%s: word_en=%#X\n", __func__, word_en);
-                       DBG_88E("%s: data=", __func__);
-                       for (i = 0; i < PGPKT_DATA_SIZE; i++)
-                               DBG_88E("0x%02X ", newdata[i]);
-                       DBG_88E("\n");
-
-                       ret = Efuse_PgPacketWrite_BT(padapter, offset, word_en, newdata, false);
-                       if (ret == _FAIL)
-                               break;
-               }
-
-               if (idx == cnts)
-                       break;
-
-               offset++;
-               i = 0;
-               word_en = 0xF;
-               memset(newdata, 0xFF, PGPKT_DATA_SIZE);
-       } while (1);
-
-       Efuse_PowerSwitch(padapter, true, false);
-
-exit:
-
-       kfree(map);
-
-       return ret;
-}
-
-/*-----------------------------------------------------------------------------
- * Function:   efuse_ShadowRead1Byte
- *                     efuse_ShadowRead2Byte
- *                     efuse_ShadowRead4Byte
- *
- * Overview:   Read from efuse init map by one/two/four bytes !!!!!
- *
- * Input:       NONE
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 11/12/2008  MHC             Create Version 0.
- *
- *---------------------------------------------------------------------------*/
-static void
-efuse_ShadowRead1Byte(
-               struct adapter *pAdapter,
-               u16 Offset,
-               u8 *Value)
-{
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(pAdapter);
-
-       *Value = pEEPROM->efuse_eeprom_data[Offset];
-
-}      /*  EFUSE_ShadowRead1Byte */
-
-/* Read Two Bytes */
-static void
-efuse_ShadowRead2Byte(
-               struct adapter *pAdapter,
-               u16 Offset,
-               u16 *Value)
-{
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(pAdapter);
-
-       *Value = pEEPROM->efuse_eeprom_data[Offset];
-       *Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8;
-
-}      /*  EFUSE_ShadowRead2Byte */
-
-/* Read Four Bytes */
-static void
-efuse_ShadowRead4Byte(
-               struct adapter *pAdapter,
-               u16 Offset,
-               u32 *Value)
-{
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(pAdapter);
-
-       *Value = pEEPROM->efuse_eeprom_data[Offset];
-       *Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8;
-       *Value |= pEEPROM->efuse_eeprom_data[Offset + 2] << 16;
-       *Value |= pEEPROM->efuse_eeprom_data[Offset + 3] << 24;
-
-}      /*  efuse_ShadowRead4Byte */
-
 /*-----------------------------------------------------------------------------
  * Function:   Efuse_ReadAllMap
  *
@@ -779,13 +244,13 @@ static void Efuse_ReadAllMap(struct adapter *pAdapter, u8 efuseType, u8 *Efuse,
 {
        u16 mapLen = 0;
 
-       Efuse_PowerSwitch(pAdapter, false, true);
+       rtl8188e_EfusePowerSwitch(pAdapter, false, true);
 
-       EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, pseudo);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, pseudo);
 
-       efuse_ReadEFuse(pAdapter, efuseType, 0, mapLen, Efuse, pseudo);
+       rtl8188e_ReadEFuse(pAdapter, efuseType, 0, mapLen, Efuse, pseudo);
 
-       Efuse_PowerSwitch(pAdapter, false, false);
+       rtl8188e_EfusePowerSwitch(pAdapter, false, false);
 }
 
 /*-----------------------------------------------------------------------------
@@ -809,40 +274,13 @@ void EFUSE_ShadowMapUpdate(
        u8 efuseType,
        bool pseudo)
 {
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(pAdapter);
+       struct eeprom_priv *pEEPROM = &pAdapter->eeprompriv;
        u16 mapLen = 0;
 
-       EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, pseudo);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_EFUSE_MAP_LEN, (void *)&mapLen, pseudo);
 
        if (pEEPROM->bautoload_fail_flag)
                memset(pEEPROM->efuse_eeprom_data, 0xFF, mapLen);
        else
                Efuse_ReadAllMap(pAdapter, efuseType, pEEPROM->efuse_eeprom_data, pseudo);
 } /*  EFUSE_ShadowMapUpdate */
-
-/*-----------------------------------------------------------------------------
- * Function:   EFUSE_ShadowRead
- *
- * Overview:   Read from efuse init map !!!!!
- *
- * Input:       NONE
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 11/12/2008  MHC             Create Version 0.
- *
- *---------------------------------------------------------------------------*/
-void EFUSE_ShadowRead(struct adapter *pAdapter, u8 Type, u16 Offset, u32 *Value)
-{
-       if (Type == 1)
-               efuse_ShadowRead1Byte(pAdapter, Offset, (u8 *)Value);
-       else if (Type == 2)
-               efuse_ShadowRead2Byte(pAdapter, Offset, (u16 *)Value);
-       else if (Type == 4)
-               efuse_ShadowRead4Byte(pAdapter, Offset, (u32 *)Value);
-
-}      /*  EFUSE_ShadowRead */
index b3a7419..343c2f9 100644 (file)
@@ -140,59 +140,6 @@ u8 *rtw_set_ie
        return pbuf + len + 2;
 }
 
-inline u8 *rtw_set_ie_ch_switch(u8 *buf, u32 *buf_len, u8 ch_switch_mode,
-       u8 new_ch, u8 ch_switch_cnt)
-{
-       u8 ie_data[3];
-
-       ie_data[0] = ch_switch_mode;
-       ie_data[1] = new_ch;
-       ie_data[2] = ch_switch_cnt;
-       return rtw_set_ie(buf, WLAN_EID_CHANNEL_SWITCH,  3, ie_data, buf_len);
-}
-
-inline u8 secondary_ch_offset_to_hal_ch_offset(u8 ch_offset)
-{
-       if (ch_offset == SCN)
-               return HAL_PRIME_CHNL_OFFSET_DONT_CARE;
-       else if (ch_offset == SCA)
-               return HAL_PRIME_CHNL_OFFSET_UPPER;
-       else if (ch_offset == SCB)
-               return HAL_PRIME_CHNL_OFFSET_LOWER;
-
-       return HAL_PRIME_CHNL_OFFSET_DONT_CARE;
-}
-
-inline u8 hal_ch_offset_to_secondary_ch_offset(u8 ch_offset)
-{
-       if (ch_offset == HAL_PRIME_CHNL_OFFSET_DONT_CARE)
-               return SCN;
-       else if (ch_offset == HAL_PRIME_CHNL_OFFSET_LOWER)
-               return SCB;
-       else if (ch_offset == HAL_PRIME_CHNL_OFFSET_UPPER)
-               return SCA;
-
-       return SCN;
-}
-
-inline u8 *rtw_set_ie_secondary_ch_offset(u8 *buf, u32 *buf_len, u8 secondary_ch_offset)
-{
-       return rtw_set_ie(buf, WLAN_EID_SECONDARY_CHANNEL_OFFSET,  1, &secondary_ch_offset, buf_len);
-}
-
-inline u8 *rtw_set_ie_mesh_ch_switch_parm(u8 *buf, u32 *buf_len, u8 ttl,
-       u8 flags, u16 reason, u16 precedence)
-{
-       u8 ie_data[6];
-
-       ie_data[0] = ttl;
-       ie_data[1] = flags;
-       *(u16 *)(ie_data + 2) = cpu_to_le16(reason);
-       *(u16 *)(ie_data + 4) = cpu_to_le16(precedence);
-
-       return rtw_set_ie(buf, 0x118,  6, ie_data, buf_len);
-}
-
 /*----------------------------------------------------------------------------
 index: the information element id index, limit is the limit for search
 -----------------------------------------------------------------------------*/
@@ -225,96 +172,6 @@ u8 *rtw_get_ie(u8 *pbuf, int index, int *len, int limit)
        return NULL;
 }
 
-/**
- * rtw_get_ie_ex - Search specific IE from a series of IEs
- * @in_ie: Address of IEs to search
- * @in_len: Length limit from in_ie
- * @eid: Element ID to match
- * @oui: OUI to match
- * @oui_len: OUI length
- * @ie: If not NULL and the specific IE is found, the IE will be copied to the buf starting from the specific IE
- * @ielen: If not NULL and the specific IE is found, will set to the length of the entire IE
- *
- * Returns: The address of the specific IE found, or NULL
- */
-u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui, u8 oui_len, u8 *ie, uint *ielen)
-{
-       uint cnt;
-       u8 *target_ie = NULL;
-
-       if (ielen)
-               *ielen = 0;
-
-       if (!in_ie || in_len <= 0)
-               return target_ie;
-
-       cnt = 0;
-
-       while (cnt < in_len) {
-               if (eid == in_ie[cnt] && (!oui || !memcmp(&in_ie[cnt + 2], oui, oui_len))) {
-                       target_ie = &in_ie[cnt];
-
-                       if (ie)
-                               memcpy(ie, &in_ie[cnt], in_ie[cnt + 1] + 2);
-
-                       if (ielen)
-                               *ielen = in_ie[cnt + 1] + 2;
-
-                       break;
-               } else {
-                       cnt += in_ie[cnt + 1] + 2; /* goto next */
-               }
-       }
-       return target_ie;
-}
-
-/**
- * rtw_ies_remove_ie - Find matching IEs and remove
- * @ies: Address of IEs to search
- * @ies_len: Pointer of length of ies, will update to new length
- * @offset: The offset to start scarch
- * @eid: Element ID to match
- * @oui: OUI to match
- * @oui_len: OUI length
- *
- * Returns: _SUCCESS: ies is updated, _FAIL: not updated
- */
-int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset, u8 eid, u8 *oui, u8 oui_len)
-{
-       int ret = _FAIL;
-       u8 *target_ie;
-       u32 target_ielen;
-       u8 *start;
-       uint search_len;
-
-       if (!ies || !ies_len || *ies_len <= offset)
-               goto exit;
-
-       start = ies + offset;
-       search_len = *ies_len - offset;
-
-       while (1) {
-               target_ie = rtw_get_ie_ex(start, search_len, eid, oui, oui_len, NULL, &target_ielen);
-               if (target_ie && target_ielen) {
-                       u8 buf[MAX_IE_SZ] = {0};
-                       u8 *remain_ies = target_ie + target_ielen;
-                       uint remain_len = search_len - (remain_ies - start);
-
-                       memcpy(buf, remain_ies, remain_len);
-                       memcpy(target_ie, buf, remain_len);
-                       *ies_len = *ies_len - target_ielen;
-                       ret = _SUCCESS;
-
-                       start = target_ie;
-                       search_len = remain_len;
-               } else {
-                       break;
-               }
-       }
-exit:
-       return ret;
-}
-
 void rtw_set_supported_rate(u8 *SupportedRates, uint mode)
 {
 
@@ -1021,97 +878,24 @@ u8 key_2char2num(u8 hch, u8 lch)
 void rtw_macaddr_cfg(u8 *mac_addr)
 {
        u8 mac[ETH_ALEN];
+
        if (!mac_addr)
                return;
 
-       if (rtw_initmac) {      /* Users specify the mac address */
-               int jj, kk;
-
-               for (jj = 0, kk = 0; jj < ETH_ALEN; jj++, kk += 3)
-                       mac[jj] = key_2char2num(rtw_initmac[kk], rtw_initmac[kk + 1]);
-               memcpy(mac_addr, mac, ETH_ALEN);
-       } else {        /* Use the mac address stored in the Efuse */
-               memcpy(mac, mac_addr, ETH_ALEN);
+       if (rtw_initmac && mac_pton(rtw_initmac, mac)) {
+               /* Users specify the mac address */
+               ether_addr_copy(mac_addr, mac);
+       } else {
+               /* Use the mac address stored in the Efuse */
+               ether_addr_copy(mac, mac_addr);
        }
 
-       if (((mac[0] == 0xff) && (mac[1] == 0xff) && (mac[2] == 0xff) &&
-            (mac[3] == 0xff) && (mac[4] == 0xff) && (mac[5] == 0xff)) ||
-           ((mac[0] == 0x0) && (mac[1] == 0x0) && (mac[2] == 0x0) &&
-            (mac[3] == 0x0) && (mac[4] == 0x0) && (mac[5] == 0x0))) {
-               mac[0] = 0x00;
-               mac[1] = 0xe0;
-               mac[2] = 0x4c;
-               mac[3] = 0x87;
-               mac[4] = 0x00;
-               mac[5] = 0x00;
-               /*  use default mac addresss */
-               memcpy(mac_addr, mac, ETH_ALEN);
-               DBG_88E("MAC Address from efuse error, assign default one !!!\n");
+       if (is_broadcast_ether_addr(mac) || is_zero_ether_addr(mac)) {
+               eth_random_addr(mac_addr);
+               DBG_88E("MAC Address from efuse error, assign random one !!!\n");
        }
 
-       DBG_88E("rtw_macaddr_cfg MAC Address  = %pM\n", (mac_addr));
-}
-
-void dump_ies(u8 *buf, u32 buf_len)
-{
-       u8 *pos = (u8 *)buf;
-       u8 id, len;
-
-       while (pos - buf <= buf_len) {
-               id = *pos;
-               len = *(pos + 1);
-
-               DBG_88E("%s ID:%u, LEN:%u\n", __func__, id, len);
-               #ifdef CONFIG_88EU_P2P
-               dump_p2p_ie(pos, len);
-               #endif
-               dump_wps_ie(pos, len);
-
-               pos += (2 + len);
-       }
-}
-
-void dump_wps_ie(u8 *ie, u32 ie_len)
-{
-       u8 *pos = (u8 *)ie;
-       u16 id;
-       u16 len;
-       u8 *wps_ie;
-       uint wps_ielen;
-
-       wps_ie = rtw_get_wps_ie(ie, ie_len, NULL, &wps_ielen);
-       if (wps_ie != ie || wps_ielen == 0)
-               return;
-
-       pos += 6;
-       while (pos - ie < ie_len) {
-               id = RTW_GET_BE16(pos);
-               len = RTW_GET_BE16(pos + 2);
-               DBG_88E("%s ID:0x%04x, LEN:%u\n", __func__, id, len);
-               pos += (4 + len);
-       }
-}
-
-#ifdef CONFIG_88EU_P2P
-void dump_p2p_ie(u8 *ie, u32 ie_len)
-{
-       u8 *pos = (u8 *)ie;
-       u8 id;
-       u16 len;
-       u8 *p2p_ie;
-       uint p2p_ielen;
-
-       p2p_ie = rtw_get_p2p_ie(ie, ie_len, NULL, &p2p_ielen);
-       if (p2p_ie != ie || p2p_ielen == 0)
-               return;
-
-       pos += 6;
-       while (pos - ie < ie_len) {
-               id = *pos;
-               len = get_unaligned_le16(pos + 1);
-               DBG_88E("%s ID:%u, LEN:%u\n", __func__, id, len);
-               pos += (3 + len);
-       }
+       DBG_88E("rtw_macaddr_cfg MAC Address  = %pM\n", mac_addr);
 }
 
 /**
@@ -1294,52 +1078,6 @@ void rtw_wlan_bssid_ex_remove_p2p_attr(struct wlan_bssid_ex *bss_ex, u8 attr_id)
        }
 }
 
-#endif /* CONFIG_88EU_P2P */
-
-/* Baron adds to avoid FreeBSD warning */
-int ieee80211_is_empty_essid(const char *essid, int essid_len)
-{
-       /* Single white space is for Linksys APs */
-       if (essid_len == 1 && essid[0] == ' ')
-               return 1;
-
-       /* Otherwise, if the entire essid is 0, we assume it is hidden */
-       while (essid_len) {
-               essid_len--;
-               if (essid[essid_len] != '\0')
-                       return 0;
-       }
-
-       return 1;
-}
-
-int ieee80211_get_hdrlen(u16 fc)
-{
-       int hdrlen = 24;
-
-       switch (WLAN_FC_GET_TYPE(fc)) {
-       case RTW_IEEE80211_FTYPE_DATA:
-               if (fc & RTW_IEEE80211_STYPE_QOS_DATA)
-                       hdrlen += 2;
-               if ((fc & RTW_IEEE80211_FCTL_FROMDS) && (fc & RTW_IEEE80211_FCTL_TODS))
-                       hdrlen += 6; /* Addr4 */
-               break;
-       case RTW_IEEE80211_FTYPE_CTL:
-               switch (WLAN_FC_GET_STYPE(fc)) {
-               case RTW_IEEE80211_STYPE_CTS:
-               case RTW_IEEE80211_STYPE_ACK:
-                       hdrlen = 10;
-                       break;
-               default:
-                       hdrlen = 16;
-                       break;
-               }
-               break;
-       }
-
-       return hdrlen;
-}
-
 static int rtw_get_cipher_info(struct wlan_network *pnetwork)
 {
        u32 wpa_ielen;
@@ -1482,58 +1220,3 @@ u16 rtw_mcs_rate(u8 rf_type, u8 bw_40MHz, u8 short_GI_20, u8 short_GI_40, unsign
        }
        return max_rate;
 }
-
-int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category, u8 *action)
-{
-       const u8 *frame_body = frame + sizeof(struct rtw_ieee80211_hdr_3addr);
-       u16 fc;
-       u8 c, a = 0;
-
-       fc = le16_to_cpu(((struct rtw_ieee80211_hdr_3addr *)frame)->frame_ctl);
-
-       if ((fc & (RTW_IEEE80211_FCTL_FTYPE | RTW_IEEE80211_FCTL_STYPE)) !=
-           (RTW_IEEE80211_FTYPE_MGMT | RTW_IEEE80211_STYPE_ACTION))
-               return false;
-
-       c = frame_body[0];
-
-       switch (c) {
-       case RTW_WLAN_CATEGORY_P2P: /* vendor-specific */
-               break;
-       default:
-               a = frame_body[1];
-       }
-
-       if (category)
-               *category = c;
-       if (action)
-               *action = a;
-
-       return true;
-}
-
-static const char *_action_public_str[] = {
-       "ACT_PUB_BSSCOEXIST",
-       "ACT_PUB_DSE_ENABLE",
-       "ACT_PUB_DSE_DEENABLE",
-       "ACT_PUB_DSE_REG_LOCATION",
-       "ACT_PUB_EXT_CHL_SWITCH",
-       "ACT_PUB_DSE_MSR_REQ",
-       "ACT_PUB_DSE_MSR_RPRT",
-       "ACT_PUB_MP",
-       "ACT_PUB_DSE_PWR_CONSTRAINT",
-       "ACT_PUB_VENDOR",
-       "ACT_PUB_GAS_INITIAL_REQ",
-       "ACT_PUB_GAS_INITIAL_RSP",
-       "ACT_PUB_GAS_COMEBACK_REQ",
-       "ACT_PUB_GAS_COMEBACK_RSP",
-       "ACT_PUB_TDLS_DISCOVERY_RSP",
-       "ACT_PUB_LOCATION_TRACK",
-       "ACT_PUB_RSVD",
-};
-
-const char *action_public_str(u8 action)
-{
-       action = (action >= ACT_PUBLIC_MAX) ? ACT_PUBLIC_MAX : action;
-       return _action_public_str[action];
-}
diff --git a/drivers/staging/r8188eu/core/rtw_io.c b/drivers/staging/r8188eu/core/rtw_io.c
deleted file mode 100644 (file)
index cde0205..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-/*
-
-The purpose of rtw_io.c
-
-a. provides the API
-
-b. provides the protocol engine
-
-c. provides the software interface between caller and the hardware interface
-
-Compiler Flag Option:
-
-USB:
-   a. USE_ASYNC_IRP: Both sync/async operations are provided.
-
-Only sync read/rtw_write_mem operations are provided.
-
-jackson@realtek.com.tw
-
-*/
-
-#define _RTW_IO_C_
-#include "../include/osdep_service.h"
-#include "../include/drv_types.h"
-#include "../include/rtw_io.h"
-#include "../include/osdep_intf.h"
-#include "../include/usb_ops.h"
-
-#define rtw_le16_to_cpu(val)           le16_to_cpu(val)
-#define rtw_le32_to_cpu(val)           le32_to_cpu(val)
-#define rtw_cpu_to_le16(val)           cpu_to_le16(val)
-#define rtw_cpu_to_le32(val)           cpu_to_le32(val)
-
-u8 _rtw_read8(struct adapter *adapter, u32 addr)
-{
-       u8 r_val;
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl *pintfhdl = &pio_priv->intf;
-       u8 (*_read8)(struct intf_hdl *pintfhdl, u32 addr);
-
-
-       _read8 = pintfhdl->io_ops._read8;
-       r_val = _read8(pintfhdl, addr);
-
-       return r_val;
-}
-
-u16 _rtw_read16(struct adapter *adapter, u32 addr)
-{
-       u16 r_val;
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       u16 (*_read16)(struct intf_hdl *pintfhdl, u32 addr);
-
-       _read16 = pintfhdl->io_ops._read16;
-
-       r_val = _read16(pintfhdl, addr);
-
-       return r_val;
-}
-
-u32 _rtw_read32(struct adapter *adapter, u32 addr)
-{
-       u32 r_val;
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       u32     (*_read32)(struct intf_hdl *pintfhdl, u32 addr);
-
-       _read32 = pintfhdl->io_ops._read32;
-
-       r_val = _read32(pintfhdl, addr);
-
-       return r_val;
-}
-
-int _rtw_write8(struct adapter *adapter, u32 addr, u8 val)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       int (*_write8)(struct intf_hdl *pintfhdl, u32 addr, u8 val);
-       int ret;
-
-       _write8 = pintfhdl->io_ops._write8;
-
-       ret = _write8(pintfhdl, addr, val);
-
-
-       return RTW_STATUS_CODE(ret);
-}
-
-int _rtw_write16(struct adapter *adapter, u32 addr, u16 val)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       int (*_write16)(struct intf_hdl *pintfhdl, u32 addr, u16 val);
-       int ret;
-
-       _write16 = pintfhdl->io_ops._write16;
-
-       ret = _write16(pintfhdl, addr, val);
-
-
-       return RTW_STATUS_CODE(ret);
-}
-int _rtw_write32(struct adapter *adapter, u32 addr, u32 val)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       int (*_write32)(struct intf_hdl *pintfhdl, u32 addr, u32 val);
-       int ret;
-
-       _write32 = pintfhdl->io_ops._write32;
-
-       ret = _write32(pintfhdl, addr, val);
-
-
-       return RTW_STATUS_CODE(ret);
-}
-
-int _rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *pdata)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl *pintfhdl = (struct intf_hdl *)(&pio_priv->intf);
-       int (*_writeN)(struct intf_hdl *pintfhdl, u32 addr, u32 length, u8 *pdata);
-       int ret;
-
-       _writeN = pintfhdl->io_ops._writeN;
-
-       ret = _writeN(pintfhdl, addr, length, pdata);
-
-
-       return RTW_STATUS_CODE(ret);
-}
-int _rtw_write8_async(struct adapter *adapter, u32 addr, u8 val)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       int (*_write8_async)(struct intf_hdl *pintfhdl, u32 addr, u8 val);
-       int ret;
-
-       _write8_async = pintfhdl->io_ops._write8_async;
-
-       ret = _write8_async(pintfhdl, addr, val);
-
-
-       return RTW_STATUS_CODE(ret);
-}
-
-int _rtw_write16_async(struct adapter *adapter, u32 addr, u16 val)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       int (*_write16_async)(struct intf_hdl *pintfhdl, u32 addr, u16 val);
-       int ret;
-
-       _write16_async = pintfhdl->io_ops._write16_async;
-       ret = _write16_async(pintfhdl, addr, val);
-
-       return RTW_STATUS_CODE(ret);
-}
-
-int _rtw_write32_async(struct adapter *adapter, u32 addr, u32 val)
-{
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       int (*_write32_async)(struct intf_hdl *pintfhdl, u32 addr, u32 val);
-       int ret;
-
-       _write32_async = pintfhdl->io_ops._write32_async;
-       ret = _write32_async(pintfhdl, addr, val);
-
-       return RTW_STATUS_CODE(ret);
-}
-
-void _rtw_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
-{
-       void (*_read_mem)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-
-
-       if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
-            return;
-       _read_mem = pintfhdl->io_ops._read_mem;
-       _read_mem(pintfhdl, addr, cnt, pmem);
-
-}
-
-void _rtw_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
-{
-       void (*_write_mem)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-
-
-
-       _write_mem = pintfhdl->io_ops._write_mem;
-
-       _write_mem(pintfhdl, addr, cnt, pmem);
-
-
-}
-
-void _rtw_read_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
-{
-       u32 (*_read_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-
-
-
-       if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
-            return;
-
-       _read_port = pintfhdl->io_ops._read_port;
-
-       _read_port(pintfhdl, addr, cnt, pmem);
-
-
-}
-
-void _rtw_read_port_cancel(struct adapter *adapter)
-{
-       void (*_read_port_cancel)(struct intf_hdl *pintfhdl);
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct intf_hdl *pintfhdl = &pio_priv->intf;
-
-       _read_port_cancel = pintfhdl->io_ops._read_port_cancel;
-
-       if (_read_port_cancel)
-               _read_port_cancel(pintfhdl);
-}
-
-u32 _rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem)
-{
-       u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct  intf_hdl                *pintfhdl = &pio_priv->intf;
-       u32 ret = _SUCCESS;
-
-
-
-       _write_port = pintfhdl->io_ops._write_port;
-
-       ret = _write_port(pintfhdl, addr, cnt, pmem);
-
-
-
-       return ret;
-}
-
-u32 _rtw_write_port_and_wait(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem, int timeout_ms)
-{
-       int ret = _SUCCESS;
-       struct xmit_buf *pxmitbuf = (struct xmit_buf *)pmem;
-       struct submit_ctx sctx;
-
-       rtw_sctx_init(&sctx, timeout_ms);
-       pxmitbuf->sctx = &sctx;
-
-       ret = _rtw_write_port(adapter, addr, cnt, pmem);
-
-       if (ret == _SUCCESS)
-               ret = rtw_sctx_wait(&sctx);
-
-       return ret;
-}
-
-void _rtw_write_port_cancel(struct adapter *adapter)
-{
-       void (*_write_port_cancel)(struct intf_hdl *pintfhdl);
-       struct io_priv *pio_priv = &adapter->iopriv;
-       struct intf_hdl *pintfhdl = &pio_priv->intf;
-
-       _write_port_cancel = pintfhdl->io_ops._write_port_cancel;
-
-       if (_write_port_cancel)
-               _write_port_cancel(pintfhdl);
-}
-
-int rtw_init_io_priv(struct adapter *padapter, void (*set_intf_ops)(struct _io_ops *pops))
-{
-       struct io_priv  *piopriv = &padapter->iopriv;
-       struct intf_hdl *pintf = &piopriv->intf;
-
-       if (!set_intf_ops)
-               return _FAIL;
-
-       piopriv->padapter = padapter;
-       pintf->padapter = padapter;
-       pintf->pintf_dev = adapter_to_dvobj(padapter);
-
-       set_intf_ops(&pintf->io_ops);
-
-       return _SUCCESS;
-}
index c187de7..411b06e 100644 (file)
 
 extern void indicate_wx_scan_complete_event(struct adapter *padapter);
 
-u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid)
-{
-       u8       i;
-       u8      ret = true;
-
-       if (ssid->SsidLength > 32) {
-               ret = false;
-               goto exit;
-       }
-
-       for (i = 0; i < ssid->SsidLength; i++) {
-               /* wifi, printable ascii code must be supported */
-               if (!((ssid->Ssid[i] >= 0x20) && (ssid->Ssid[i] <= 0x7e))) {
-                       ret = false;
-                       break;
-               }
-       }
-
-exit:
-
-       return ret;
-}
-
 u8 rtw_do_join(struct adapter *padapter)
 {
        struct list_head *plist, *phead;
@@ -74,7 +51,7 @@ u8 rtw_do_join(struct adapter *padapter)
                        ret = _FAIL;
                }
 
-               goto exit;
+               return ret;
        } else {
                int select_ret;
 
@@ -101,10 +78,9 @@ u8 rtw_do_join(struct adapter *padapter)
 
                                rtw_generate_random_ibss(pibss);
 
-                               if (rtw_createbss_cmd(padapter) != _SUCCESS) {
-                                       ret =  false;
-                                       goto exit;
-                               }
+                               if (rtw_createbss_cmd(padapter) != _SUCCESS)
+                                       return false;
+
                                pmlmepriv->to_join = false;
                        } else {
                                /*  can't associate ; reset under-linking */
@@ -125,8 +101,6 @@ u8 rtw_do_join(struct adapter *padapter)
                }
        }
 
-exit:
-
        return ret;
 }
 
@@ -312,9 +286,7 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter,
                        /* change to other mode from Ndis802_11APMode */
                        cur_network->join_res = -1;
 
-#ifdef CONFIG_88EU_AP_MODE
                        stop_ap_mode(padapter);
-#endif
                }
 
                if ((check_fwstate(pmlmepriv, _FW_LINKED)) ||
@@ -343,9 +315,6 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter,
                        break;
                case Ndis802_11APMode:
                        set_fwstate(pmlmepriv, WIFI_AP_STATE);
-#ifdef CONFIG_88EU_AP_MODE
-                       start_ap_mode(padapter);
-#endif
                        break;
                case Ndis802_11AutoUnknown:
                case Ndis802_11InfrastructureMax:
@@ -472,298 +441,6 @@ exit:
        return ret;
 }
 
-u8 rtw_set_802_11_remove_wep(struct adapter *padapter, u32 keyindex)
-{
-       u8 ret = _SUCCESS;
-
-       if (keyindex >= 0x80000000 || !padapter) {
-               ret = false;
-               goto exit;
-       } else {
-               int res;
-               struct security_priv *psecuritypriv = &padapter->securitypriv;
-               if (keyindex < 4) {
-                       memset(&psecuritypriv->dot11DefKey[keyindex], 0, 16);
-                       res = rtw_set_key(padapter, psecuritypriv, keyindex, 0);
-                       psecuritypriv->dot11DefKeylen[keyindex] = 0;
-                       if (res == _FAIL)
-                               ret = _FAIL;
-               } else {
-                       ret = _FAIL;
-               }
-       }
-exit:
-
-       return ret;
-}
-
-u8 rtw_set_802_11_add_key(struct adapter *padapter, struct ndis_802_11_key *key)
-{
-       uint    encryptionalgo;
-       u8 *pbssid;
-       struct sta_info *stainfo;
-       u8      bgroup = false;
-       u8      bgrouptkey = false;/* can be removed later */
-       u8      ret = _SUCCESS;
-
-       if (((key->KeyIndex & 0x80000000) == 0) && ((key->KeyIndex & 0x40000000) > 0)) {
-               /*  It is invalid to clear bit 31 and set bit 30. If the miniport driver encounters this combination, */
-               /*  it must fail the request and return NDIS_STATUS_INVALID_DATA. */
-               ret = _FAIL;
-               goto exit;
-       }
-
-       if (key->KeyIndex & 0x40000000) {
-               /*  Pairwise key */
-
-               pbssid = get_bssid(&padapter->mlmepriv);
-               stainfo = rtw_get_stainfo(&padapter->stapriv, pbssid);
-
-               if (stainfo && padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
-                       encryptionalgo = stainfo->dot118021XPrivacy;
-               else
-                       encryptionalgo = padapter->securitypriv.dot11PrivacyAlgrthm;
-
-               if (key->KeyIndex & 0x000000FF) {
-                       /*  The key index is specified in the lower 8 bits by values of zero to 255. */
-                       /*  The key index should be set to zero for a Pairwise key, and the driver should fail with */
-                       /*  NDIS_STATUS_INVALID_DATA if the lower 8 bits is not zero */
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  check BSSID */
-               if (is_broadcast_ether_addr(key->BSSID)) {
-                       ret = false;
-                       goto exit;
-               }
-
-               /*  Check key length for TKIP. */
-               if ((encryptionalgo == _TKIP_) && (key->KeyLength != 32)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  Check key length for AES. */
-               if ((encryptionalgo == _AES_) && (key->KeyLength != 16)) {
-                       /*  For our supplicant, EAPPkt9x.vxd, cannot differentiate TKIP and AES case. */
-                       if (key->KeyLength == 32) {
-                               key->KeyLength = 16;
-                       } else {
-                               ret = _FAIL;
-                               goto exit;
-                       }
-               }
-
-               /*  Check key length for WEP. For NDTEST, 2005.01.27, by rcnjko. */
-               if ((encryptionalgo == _WEP40_ || encryptionalgo == _WEP104_) &&
-                   (key->KeyLength != 5 && key->KeyLength != 13)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               bgroup = false;
-       } else {
-               /*  Group key - KeyIndex(BIT(30) == 0) */
-               /*  when add wep key through add key and didn't assigned encryption type before */
-               if ((padapter->securitypriv.ndisauthtype <= 3) &&
-                   (padapter->securitypriv.dot118021XGrpPrivacy == 0)) {
-                       switch (key->KeyLength) {
-                       case 5:
-                               padapter->securitypriv.dot11PrivacyAlgrthm = _WEP40_;
-                               break;
-                       case 13:
-                               padapter->securitypriv.dot11PrivacyAlgrthm = _WEP104_;
-                               break;
-                       default:
-                               padapter->securitypriv.dot11PrivacyAlgrthm = _NO_PRIVACY_;
-                               break;
-                       }
-
-                       encryptionalgo = padapter->securitypriv.dot11PrivacyAlgrthm;
-               } else {
-                       encryptionalgo = padapter->securitypriv.dot118021XGrpPrivacy;
-               }
-
-               if (check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE) && !is_broadcast_ether_addr(key->BSSID)) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  Check key length for TKIP */
-               if ((encryptionalgo == _TKIP_) && (key->KeyLength != 32)) {
-                       ret = _FAIL;
-                       goto exit;
-               } else if (encryptionalgo == _AES_ && (key->KeyLength != 16 && key->KeyLength != 32)) {
-                       /*  Check key length for AES */
-                       /*  For NDTEST, we allow keylen = 32 in this case. 2005.01.27, by rcnjko. */
-                       ret = _FAIL;
-                       goto exit;
-               }
-
-               /*  Change the key length for EAPPkt9x.vxd. Added by Annie, 2005-11-03. */
-               if ((encryptionalgo ==  _AES_) && (key->KeyLength == 32))
-                       key->KeyLength = 16;
-
-               if (key->KeyIndex & 0x8000000) {/* error ??? 0x8000_0000 */
-                       bgrouptkey = true;
-               }
-
-               if ((check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE)) &&
-                   (check_fwstate(&padapter->mlmepriv, _FW_LINKED)))
-                       bgrouptkey = true;
-               bgroup = true;
-       }
-
-       /*  If WEP encryption algorithm, just call rtw_set_802_11_add_wep(). */
-       if ((padapter->securitypriv.dot11AuthAlgrthm != dot11AuthAlgrthm_8021X) &&
-           (encryptionalgo == _WEP40_ || encryptionalgo == _WEP104_)) {
-               u32 keyindex;
-               u32 len = FIELD_OFFSET(struct ndis_802_11_key, KeyMaterial) + key->KeyLength;
-               struct ndis_802_11_wep *wep = &padapter->securitypriv.ndiswep;
-
-               wep->Length = len;
-               keyindex = key->KeyIndex & 0x7fffffff;
-               wep->KeyIndex = keyindex;
-               wep->KeyLength = key->KeyLength;
-
-               memcpy(wep->KeyMaterial, key->KeyMaterial, key->KeyLength);
-               memcpy(&padapter->securitypriv.dot11DefKey[keyindex].skey[0], key->KeyMaterial, key->KeyLength);
-
-               padapter->securitypriv.dot11DefKeylen[keyindex] = key->KeyLength;
-               padapter->securitypriv.dot11PrivacyKeyIndex = keyindex;
-
-               ret = rtw_set_802_11_add_wep(padapter, wep);
-               goto exit;
-       }
-       if (key->KeyIndex & 0x20000000) {
-               /*  SetRSC */
-               if (bgroup) {
-                       unsigned long long keysrc = key->KeyRSC & 0x00FFFFFFFFFFFFULL;
-                       memcpy(&padapter->securitypriv.dot11Grprxpn, &keysrc, 8);
-               } else {
-                       unsigned long long keysrc = key->KeyRSC & 0x00FFFFFFFFFFFFULL;
-                       memcpy(&padapter->securitypriv.dot11Grptxpn, &keysrc, 8);
-               }
-       }
-
-       /*  Indicate this key idx is used for TX */
-       /*  Save the key in KeyMaterial */
-       if (bgroup) { /*  Group transmit key */
-               int res;
-
-               if (bgrouptkey)
-                       padapter->securitypriv.dot118021XGrpKeyid = (u8)key->KeyIndex;
-               if ((key->KeyIndex & 0x3) == 0) {
-                       ret = _FAIL;
-                       goto exit;
-               }
-               memset(&padapter->securitypriv.dot118021XGrpKey[(u8)((key->KeyIndex) & 0x03)], 0, 16);
-               memset(&padapter->securitypriv.dot118021XGrptxmickey[(u8)((key->KeyIndex) & 0x03)], 0, 16);
-               memset(&padapter->securitypriv.dot118021XGrprxmickey[(u8)((key->KeyIndex) & 0x03)], 0, 16);
-
-               if ((key->KeyIndex & 0x10000000)) {
-                       memcpy(&padapter->securitypriv.dot118021XGrptxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 16, 8);
-                       memcpy(&padapter->securitypriv.dot118021XGrprxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 24, 8);
-               } else {
-                       memcpy(&padapter->securitypriv.dot118021XGrptxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 24, 8);
-                       memcpy(&padapter->securitypriv.dot118021XGrprxmickey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial + 16, 8);
-               }
-
-               /* set group key by index */
-               memcpy(&padapter->securitypriv.dot118021XGrpKey[(u8)((key->KeyIndex) & 0x03)], key->KeyMaterial, key->KeyLength);
-
-               key->KeyIndex = key->KeyIndex & 0x03;
-
-               padapter->securitypriv.binstallGrpkey = true;
-
-               padapter->securitypriv.bcheck_grpkey = false;
-
-               res = rtw_set_key(padapter, &padapter->securitypriv, key->KeyIndex, 1);
-
-               if (res == _FAIL)
-                       ret = _FAIL;
-
-               goto exit;
-
-       } else { /*  Pairwise Key */
-               u8 res;
-
-               pbssid = get_bssid(&padapter->mlmepriv);
-               stainfo = rtw_get_stainfo(&padapter->stapriv, pbssid);
-
-               if (stainfo) {
-                       memset(&stainfo->dot118021x_UncstKey, 0, 16);/*  clear keybuffer */
-
-                       memcpy(&stainfo->dot118021x_UncstKey, key->KeyMaterial, 16);
-
-                       if (encryptionalgo == _TKIP_) {
-                               padapter->securitypriv.busetkipkey = false;
-
-                               /* _set_timer(&padapter->securitypriv.tkip_timer, 50); */
-
-                               /*  if TKIP, save the Receive/Transmit MIC key in KeyMaterial[128-255] */
-                               if ((key->KeyIndex & 0x10000000)) {
-                                       memcpy(&stainfo->dot11tkiptxmickey, key->KeyMaterial + 16, 8);
-                                       memcpy(&stainfo->dot11tkiprxmickey, key->KeyMaterial + 24, 8);
-
-                               } else {
-                                       memcpy(&stainfo->dot11tkiptxmickey, key->KeyMaterial + 24, 8);
-                                       memcpy(&stainfo->dot11tkiprxmickey, key->KeyMaterial + 16, 8);
-                               }
-                       }
-
-                       /* Set key to CAM through H2C command */
-                       if (bgrouptkey) /* never go to here */
-                               res = rtw_setstakey_cmd(padapter, (unsigned char *)stainfo, false);
-                       else
-                               res = rtw_setstakey_cmd(padapter, (unsigned char *)stainfo, true);
-                       if (!res)
-                               ret = _FAIL;
-               }
-       }
-exit:
-
-       return ret;
-}
-
-u8 rtw_set_802_11_remove_key(struct adapter *padapter, struct ndis_802_11_remove_key *key)
-{
-       u8 *pbssid;
-       struct sta_info *stainfo;
-       u8      bgroup = (key->KeyIndex & 0x4000000) > 0 ? false : true;
-       u8      keyIndex = (u8)key->KeyIndex & 0x03;
-       u8      ret = _SUCCESS;
-
-       if ((key->KeyIndex & 0xbffffffc) > 0) {
-               ret = _FAIL;
-               goto exit;
-       }
-
-       if (bgroup) {
-               /*  clear group key by index */
-
-               memset(&padapter->securitypriv.dot118021XGrpKey[keyIndex], 0, 16);
-
-               /*  \todo Send a H2C Command to Firmware for removing this Key in CAM Entry. */
-       } else {
-               pbssid = get_bssid(&padapter->mlmepriv);
-               stainfo = rtw_get_stainfo(&padapter->stapriv, pbssid);
-               if (stainfo) {
-                       /*  clear key by BSSID */
-                       memset(&stainfo->dot118021x_UncstKey, 0, 16);
-
-                       /*  \todo Send a H2C Command to Firmware for disable this Key in CAM Entry. */
-               } else {
-                       ret = _FAIL;
-                       goto exit;
-               }
-       }
-exit:
-
-       return ret;
-}
-
 /*
 * rtw_get_cur_max_rate -
 * @adapter: pointer to struct adapter structure
@@ -786,11 +463,6 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
        u16     mcs_rate = 0;
        u32     ht_ielen = 0;
 
-       if (adapter->registrypriv.mp_mode == 1) {
-               if (check_fwstate(pmlmepriv, WIFI_MP_STATE))
-                       return 0;
-       }
-
        if ((!check_fwstate(pmlmepriv, _FW_LINKED)) &&
            (!check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)))
                return 0;
@@ -808,7 +480,7 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
                        short_GI_20 = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & IEEE80211_HT_CAP_SGI_20) ? 1 : 0;
                        short_GI_40 = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & IEEE80211_HT_CAP_SGI_40) ? 1 : 0;
 
-                       rtw_hal_get_hwreg(adapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
+                       GetHwReg8188EU(adapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
                        max_rate = rtw_mcs_rate(
                                rf_type,
                                bw_40MHz & (pregistrypriv->cbw40_enable),
@@ -830,62 +502,3 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
 
        return max_rate;
 }
-
-/*
-* rtw_set_scan_mode -
-* @adapter: pointer to struct adapter structure
-* @scan_mode:
-*
-* Return _SUCCESS or _FAIL
-*/
-int rtw_set_scan_mode(struct adapter *adapter, enum rt_scan_type scan_mode)
-{
-       if (scan_mode != SCAN_ACTIVE && scan_mode != SCAN_PASSIVE)
-               return _FAIL;
-
-       adapter->mlmepriv.scan_mode = scan_mode;
-
-       return _SUCCESS;
-}
-
-/*
-* rtw_set_channel_plan -
-* @adapter: pointer to struct adapter structure
-* @channel_plan:
-*
-* Return _SUCCESS or _FAIL
-*/
-int rtw_set_channel_plan(struct adapter *adapter, u8 channel_plan)
-{
-       /* handle by cmd_thread to sync with scan operation */
-       return rtw_set_chplan_cmd(adapter, channel_plan, 1);
-}
-
-/*
-* rtw_set_country -
-* @adapter: pointer to struct adapter structure
-* @country_code: string of country code
-*
-* Return _SUCCESS or _FAIL
-*/
-int rtw_set_country(struct adapter *adapter, const char *country_code)
-{
-       int channel_plan = RT_CHANNEL_DOMAIN_GLOBAL_DOAMIN_2G;
-
-       DBG_88E("%s country_code:%s\n", __func__, country_code);
-
-       /* TODO: should have a table to match country code and RT_CHANNEL_DOMAIN */
-       /* TODO: should consider 2-character and 3-character country code */
-       if (0 == strcmp(country_code, "US"))
-               channel_plan = RT_CHANNEL_DOMAIN_FCC;
-       else if (0 == strcmp(country_code, "EU"))
-               channel_plan = RT_CHANNEL_DOMAIN_ETSI;
-       else if (0 == strcmp(country_code, "JP"))
-               channel_plan = RT_CHANNEL_DOMAIN_MKK;
-       else if (0 == strcmp(country_code, "CN"))
-               channel_plan = RT_CHANNEL_DOMAIN_CHINA;
-       else
-               DBG_88E("%s unknown country_code:%s\n", __func__, country_code);
-
-       return rtw_set_channel_plan(adapter, channel_plan);
-}
index 5c1b196..7e78b47 100644 (file)
@@ -13,15 +13,14 @@ struct xmit_frame   *rtw_IOL_accquire_xmit_frame(struct adapter  *adapter)
        xmit_frame = rtw_alloc_xmitframe(pxmitpriv);
        if (!xmit_frame) {
                DBG_88E("%s rtw_alloc_xmitframe return null\n", __func__);
-               goto exit;
+               return NULL;
        }
 
        xmitbuf = rtw_alloc_xmitbuf(pxmitpriv);
        if (!xmitbuf) {
                DBG_88E("%s rtw_alloc_xmitbuf return null\n", __func__);
                rtw_free_xmitframe(pxmitpriv, xmit_frame);
-               xmit_frame = NULL;
-               goto exit;
+               return NULL;
        }
 
        xmit_frame->frame_tag = MGNT_FRAMETAG;
@@ -35,7 +34,7 @@ struct xmit_frame     *rtw_IOL_accquire_xmit_frame(struct adapter  *adapter)
        pattrib->subtype = WIFI_BEACON;
        pattrib->pktlen = 0;
        pattrib->last_txcmdsz = 0;
-exit:
+
        return xmit_frame;
 }
 
@@ -72,16 +71,6 @@ bool rtw_IOL_applied(struct adapter  *adapter)
        return false;
 }
 
-int rtw_IOL_exec_cmds_sync(struct adapter  *adapter, struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt)
-{
-       return rtw_hal_iol_cmd(adapter, xmit_frame, max_wating_ms, bndy_cnt);
-}
-
-int rtw_IOL_append_LLT_cmd(struct xmit_frame *xmit_frame, u8 page_boundary)
-{
-       return _SUCCESS;
-}
-
 int _rtw_IOL_append_WB_cmd(struct xmit_frame *xmit_frame, u16 addr, u8 value, u8 mask)
 {
        struct ioreg_cfg cmd = {8, IOREG_CMD_WB_REG, 0x0, 0x0, 0x0};
@@ -173,20 +162,3 @@ u8 rtw_IOL_cmd_boundary_handle(struct xmit_frame *pxmit_frame)
        }
        return is_cmd_bndy;
 }
-
-void rtw_IOL_cmd_buf_dump(struct adapter  *Adapter, int buf_len, u8 *pbuf)
-{
-       int i;
-       int j = 1;
-
-       pr_info("###### %s ######\n", __func__);
-       for (i = 0; i < buf_len; i++) {
-               printk("%02x-", *(pbuf + i));
-
-               if (j % 32 == 0)
-                       printk("\n");
-               j++;
-       }
-       printk("\n");
-       pr_info("=============ioreg_cmd len=%d===============\n", buf_len);
-}
index b33e34c..0e34536 100644 (file)
@@ -4,11 +4,6 @@
 #include "../include/drv_types.h"
 #include "../include/rtw_led.h"
 
-/*  */
-/*     Description: */
-/*             Callback function of LED BlinkTimer, */
-/*             it just schedules to corresponding BlinkWorkItem/led_blink_hdl */
-/*  */
 void BlinkTimerCallback(struct timer_list *t)
 {
        struct LED_871x *pLed = from_timer(pLed, t, BlinkTimer);
@@ -20,21 +15,12 @@ void BlinkTimerCallback(struct timer_list *t)
        _set_workitem(&pLed->BlinkWorkItem);
 }
 
-/*  */
-/*     Description: */
-/*             Callback function of LED BlinkWorkItem. */
-/*             We dispatch acture LED blink action according to LedStrategy. */
-/*  */
 void BlinkWorkItemCallback(struct work_struct *work)
 {
        struct LED_871x *pLed = container_of(work, struct LED_871x, BlinkWorkItem);
        BlinkHandler(pLed);
 }
 
-/*  */
-/*     Description: */
-/*             Reset status of LED_871x object. */
-/*  */
 void ResetLedStatus(struct LED_871x *pLed)
 {
        pLed->CurrLedState = RTW_LED_OFF; /*  Current LED state. */
@@ -52,8 +38,6 @@ void ResetLedStatus(struct LED_871x *pLed)
        pLed->bLedScanBlinkInProgress = false;
 }
 
-/*Description: */
-/*             Initialize an LED_871x object. */
 void InitLed871x(struct adapter *padapter, struct LED_871x *pLed, enum LED_PIN_871x LedPin)
 {
        pLed->padapter = padapter;
@@ -65,10 +49,6 @@ void InitLed871x(struct adapter *padapter, struct LED_871x *pLed, enum LED_PIN_8
        _init_workitem(&pLed->BlinkWorkItem, BlinkWorkItemCallback, pLed);
 }
 
-/*  */
-/*     Description: */
-/*             DeInitialize an LED_871x object. */
-/*  */
 void DeInitLed871x(struct LED_871x *pLed)
 {
        _cancel_workitem_sync(&pLed->BlinkWorkItem);
@@ -76,84 +56,6 @@ void DeInitLed871x(struct LED_871x *pLed)
        ResetLedStatus(pLed);
 }
 
-/*  */
-/*     Description: */
-/*             Implementation of LED blinking behavior. */
-/*             It toggle off LED and schedule corresponding timer if necessary. */
-/*  */
-
-static void SwLedBlink(struct LED_871x *pLed)
-{
-       struct adapter *padapter = pLed->padapter;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       u8 bStopBlinking = false;
-
-       /*  Change LED according to BlinkingLedState specified. */
-       if (pLed->BlinkingLedState == RTW_LED_ON)
-               SwLedOn(padapter, pLed);
-       else
-               SwLedOff(padapter, pLed);
-
-       /*  Determine if we shall change LED state again. */
-       pLed->BlinkTimes--;
-       switch (pLed->CurrLedState) {
-       case LED_BLINK_NORMAL:
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               break;
-       case LED_BLINK_StartToBlink:
-               if (check_fwstate(pmlmepriv, _FW_LINKED) && check_fwstate(pmlmepriv, WIFI_STATION_STATE))
-                       bStopBlinking = true;
-               if (check_fwstate(pmlmepriv, _FW_LINKED) &&
-                   (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) ||
-                   check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)))
-                       bStopBlinking = true;
-               else if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               break;
-       case LED_BLINK_WPS:
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               break;
-       default:
-               bStopBlinking = true;
-               break;
-       }
-
-       if (bStopBlinking) {
-               if (check_fwstate(pmlmepriv, _FW_LINKED) && !pLed->bLedOn) {
-                       SwLedOn(padapter, pLed);
-               } else if (check_fwstate(pmlmepriv, _FW_LINKED) && pLed->bLedOn) {
-                       SwLedOff(padapter, pLed);
-               }
-               pLed->BlinkTimes = 0;
-               pLed->bLedBlinkInProgress = false;
-       } else {
-               /*  Assign LED state to toggle. */
-               if (pLed->BlinkingLedState == RTW_LED_ON)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-
-               /*  Schedule a timer to toggle LED state. */
-               switch (pLed->CurrLedState) {
-               case LED_BLINK_NORMAL:
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-                       break;
-               case LED_BLINK_SLOWLY:
-               case LED_BLINK_StartToBlink:
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SLOWLY_INTERVAL);
-                       break;
-               case LED_BLINK_WPS:
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_LONG_INTERVAL);
-                       break;
-               default:
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SLOWLY_INTERVAL);
-                       break;
-               }
-       }
-}
-
 static void SwLedBlink1(struct LED_871x *pLed)
 {
        struct adapter *padapter = pLed->padapter;
@@ -240,7 +142,6 @@ static void SwLedBlink1(struct LED_871x *pLed)
                                        pLed->BlinkingLedState = RTW_LED_ON;
                                _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
                        }
-                       pLed->BlinkTimes = 0;
                        pLed->bLedBlinkInProgress = false;
                } else {
                        if (pLed->bLedOn)
@@ -250,1005 +151,105 @@ static void SwLedBlink1(struct LED_871x *pLed)
                        _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
                }
                break;
-       case LED_BLINK_WPS:
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-               break;
-       case LED_BLINK_WPS_STOP:        /* WPS success */
-               if (pLed->BlinkingLedState == RTW_LED_ON)
-                       bStopBlinking = false;
-               else
-                       bStopBlinking = true;
-
-               if (bStopBlinking) {
-                       pLed->bLedLinkBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_NORMAL;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_LINK_INTERVAL_ALPHA);
-
-                       pLed->bLedWPSBlinkInProgress = false;
-               } else {
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA);
-               }
-               break;
-       default:
-               break;
-       }
-}
-
-static void SwLedBlink2(struct LED_871x *pLed)
-{
-       struct adapter *padapter = pLed->padapter;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       u8 bStopBlinking = false;
-
-       /*  Change LED according to BlinkingLedState specified. */
-       if (pLed->BlinkingLedState == RTW_LED_ON)
-               SwLedOn(padapter, pLed);
-       else
-               SwLedOff(padapter, pLed);
-
-       switch (pLed->CurrLedState) {
-       case LED_BLINK_SCAN:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_ON;
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                               SwLedOn(padapter, pLed);
-                       } else if (!check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_OFF;
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                               SwLedOff(padapter, pLed);
-                       }
-                       pLed->bLedScanBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       case LED_BLINK_TXRX:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_ON;
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                               SwLedOn(padapter, pLed);
-                       } else if (!check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_OFF;
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                               SwLedOff(padapter, pLed);
-                       }
-                       pLed->bLedBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       default:
-               break;
-       }
-}
-
-static void SwLedBlink3(struct LED_871x *pLed)
-{
-       struct adapter *padapter = pLed->padapter;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       u8 bStopBlinking = false;
-
-       /*  Change LED according to BlinkingLedState specified. */
-       if (pLed->BlinkingLedState == RTW_LED_ON) {
-               SwLedOn(padapter, pLed);
-       } else {
-               if (pLed->CurrLedState != LED_BLINK_WPS_STOP)
-                       SwLedOff(padapter, pLed);
-       }
-
-       switch (pLed->CurrLedState) {
-       case LED_BLINK_SCAN:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_ON;
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                               if (!pLed->bLedOn)
-                                       SwLedOn(padapter, pLed);
-                       } else if (!check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_OFF;
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                               if (pLed->bLedOn)
-                                       SwLedOff(padapter, pLed);
-                       }
-                       pLed->bLedScanBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       case LED_BLINK_TXRX:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_ON;
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                               if (!pLed->bLedOn)
-                                       SwLedOn(padapter, pLed);
-                       } else if (!check_fwstate(pmlmepriv, _FW_LINKED)) {
-                               pLed->CurrLedState = RTW_LED_OFF;
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-
-                               if (pLed->bLedOn)
-                                       SwLedOff(padapter, pLed);
-                       }
-                       pLed->bLedBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       case LED_BLINK_WPS:
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-               break;
-       case LED_BLINK_WPS_STOP:        /* WPS success */
-               if (pLed->BlinkingLedState == RTW_LED_ON) {
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA);
-                       bStopBlinking = false;
-               } else {
-                       bStopBlinking = true;
-               }
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               pLed->CurrLedState = RTW_LED_ON;
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                               SwLedOn(padapter, pLed);
-                       }
-                       pLed->bLedWPSBlinkInProgress = false;
-               }
-               break;
-       default:
-               break;
-       }
-}
-
-static void SwLedBlink4(struct LED_871x *pLed)
-{
-       struct adapter *padapter = pLed->padapter;
-       struct led_priv *ledpriv = &padapter->ledpriv;
-       struct LED_871x *pLed1 = &ledpriv->SwLed1;
-       u8 bStopBlinking = false;
-
-       /*  Change LED according to BlinkingLedState specified. */
-       if (pLed->BlinkingLedState == RTW_LED_ON)
-               SwLedOn(padapter, pLed);
-       else
-               SwLedOff(padapter, pLed);
-
-       if (!pLed1->bLedWPSBlinkInProgress && pLed1->BlinkingLedState == LED_UNKNOWN) {
-               pLed1->BlinkingLedState = RTW_LED_OFF;
-               pLed1->CurrLedState = RTW_LED_OFF;
-               SwLedOff(padapter, pLed1);
-       }
-
-       switch (pLed->CurrLedState) {
-       case LED_BLINK_SLOWLY:
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-               break;
-       case LED_BLINK_StartToBlink:
-               if (pLed->bLedOn) {
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SLOWLY_INTERVAL);
-               } else {
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-               }
-               break;
-       case LED_BLINK_SCAN:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = false;
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               pLed->bLedNoLinkBlinkInProgress = false;
-                               pLed->CurrLedState = LED_BLINK_SLOWLY;
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-                       }
-                       pLed->bLedScanBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       case LED_BLINK_TXRX:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               pLed->bLedNoLinkBlinkInProgress = true;
-                               pLed->CurrLedState = LED_BLINK_SLOWLY;
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-                       }
-                       pLed->bLedBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       case LED_BLINK_WPS:
-               if (pLed->bLedOn) {
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SLOWLY_INTERVAL);
-               } else {
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-               }
-               break;
-       case LED_BLINK_WPS_STOP:        /* WPS authentication fail */
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-               break;
-       case LED_BLINK_WPS_STOP_OVERLAP:        /* WPS session overlap */
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0) {
-                       if (pLed->bLedOn)
-                               pLed->BlinkTimes = 1;
-                       else
-                               bStopBlinking = true;
-               }
-
-               if (bStopBlinking) {
-                       pLed->BlinkTimes = 10;
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_LINK_INTERVAL_ALPHA);
-               } else {
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-               }
-               break;
-       default:
-               break;
-       }
-}
-
-static void SwLedBlink5(struct LED_871x *pLed)
-{
-       struct adapter *padapter = pLed->padapter;
-       u8 bStopBlinking = false;
-
-       /*  Change LED according to BlinkingLedState specified. */
-       if (pLed->BlinkingLedState == RTW_LED_ON)
-               SwLedOn(padapter, pLed);
-       else
-               SwLedOff(padapter, pLed);
-
-       switch (pLed->CurrLedState) {
-       case LED_BLINK_SCAN:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               pLed->CurrLedState = RTW_LED_OFF;
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                               if (pLed->bLedOn)
-                                       SwLedOff(padapter, pLed);
-                       } else {
-                                       pLed->CurrLedState = RTW_LED_ON;
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                                       if (!pLed->bLedOn)
-                                               _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-                       }
-
-                       pLed->bLedScanBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-       case LED_BLINK_TXRX:
-               pLed->BlinkTimes--;
-               if (pLed->BlinkTimes == 0)
-                       bStopBlinking = true;
-
-               if (bStopBlinking) {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               pLed->CurrLedState = RTW_LED_OFF;
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                               if (pLed->bLedOn)
-                                       SwLedOff(padapter, pLed);
-                       } else {
-                               pLed->CurrLedState = RTW_LED_ON;
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                               if (!pLed->bLedOn)
-                                       _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-                       }
-
-                       pLed->bLedBlinkInProgress = false;
-               } else {
-                       if (padapter->pwrctrlpriv.rf_pwrstate != rf_on && padapter->pwrctrlpriv.rfoff_reason > RF_CHANGE_BY_PS) {
-                               SwLedOff(padapter, pLed);
-                       } else {
-                               if (pLed->bLedOn)
-                                       pLed->BlinkingLedState = RTW_LED_OFF;
-                               else
-                                       pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-                       }
-               }
-               break;
-
-       default:
-               break;
-       }
-}
-
-static void SwLedBlink6(struct LED_871x *pLed)
-{
-       struct adapter *padapter = pLed->padapter;
-
-       /*  Change LED according to BlinkingLedState specified. */
-       if (pLed->BlinkingLedState == RTW_LED_ON)
-               SwLedOn(padapter, pLed);
-       else
-               SwLedOff(padapter, pLed);
-}
-
- /* ALPHA, added by chiyoko, 20090106 */
-static void SwLedControlMode1(struct adapter *padapter, enum LED_CTL_MODE LedAction)
-{
-       struct led_priv *ledpriv = &padapter->ledpriv;
-       struct LED_871x *pLed = &ledpriv->SwLed0;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-       switch (LedAction) {
-       case LED_CTL_POWER_ON:
-       case LED_CTL_START_TO_LINK:
-       case LED_CTL_NO_LINK:
-               if (!pLed->bLedNoLinkBlinkInProgress) {
-                       if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
-                               return;
-                       if (pLed->bLedLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-
-                       pLed->bLedNoLinkBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_SLOWLY;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_LINK:
-               if (!pLed->bLedLinkBlinkInProgress) {
-                       if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
-                               return;
-                       if (pLed->bLedNoLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedNoLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       pLed->bLedLinkBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_NORMAL;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_LINK_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_SITE_SURVEY:
-               if ((pmlmepriv->LinkDetectInfo.bBusyTraffic) && (check_fwstate(pmlmepriv, _FW_LINKED))) {
-                       ;
-               } else if (!pLed->bLedScanBlinkInProgress) {
-                       if (IS_LED_WPS_BLINKING(pLed))
-                               return;
-                       if (pLed->bLedNoLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedNoLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       pLed->bLedScanBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_SCAN;
-                       pLed->BlinkTimes = 24;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                }
-               break;
-       case LED_CTL_TX:
-       case LED_CTL_RX:
-               if (!pLed->bLedBlinkInProgress) {
-                       if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
-                               return;
-                       if (pLed->bLedNoLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedNoLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedLinkBlinkInProgress = false;
-                       }
-                       pLed->bLedBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_TXRX;
-                       pLed->BlinkTimes = 2;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_START_WPS: /* wait until xinpin finish */
-       case LED_CTL_START_WPS_BOTTON:
-                if (!pLed->bLedWPSBlinkInProgress) {
-                       if (pLed->bLedNoLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedNoLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedLinkBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedLinkBlinkInProgress = false;
-                       }
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       if (pLed->bLedScanBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedScanBlinkInProgress = false;
-                       }
-                       pLed->bLedWPSBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_WPS;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                }
-               break;
-       case LED_CTL_STOP_WPS:
-               if (pLed->bLedNoLinkBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedNoLinkBlinkInProgress = false;
-               }
-               if (pLed->bLedLinkBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedLinkBlinkInProgress = false;
-               }
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
-               if (pLed->bLedScanBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedScanBlinkInProgress = false;
-               }
-               if (pLed->bLedWPSBlinkInProgress)
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-               else
-                       pLed->bLedWPSBlinkInProgress = true;
-               pLed->CurrLedState = LED_BLINK_WPS_STOP;
-               if (pLed->bLedOn) {
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA);
-               } else {
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, 0);
-               }
-               break;
-       case LED_CTL_STOP_WPS_FAIL:
-               if (pLed->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
-               }
-               pLed->bLedNoLinkBlinkInProgress = true;
-               pLed->CurrLedState = LED_BLINK_SLOWLY;
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-               break;
-       case LED_CTL_POWER_OFF:
-               pLed->CurrLedState = RTW_LED_OFF;
-               pLed->BlinkingLedState = RTW_LED_OFF;
-               if (pLed->bLedNoLinkBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedNoLinkBlinkInProgress = false;
-               }
-               if (pLed->bLedLinkBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedLinkBlinkInProgress = false;
-               }
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
-               if (pLed->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
-               }
-               if (pLed->bLedScanBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedScanBlinkInProgress = false;
-               }
-               SwLedOff(padapter, pLed);
-               break;
-       default:
-               break;
-       }
-}
-
- /* Arcadyan/Sitecom , added by chiyoko, 20090216 */
-static void SwLedControlMode2(struct adapter *padapter, enum LED_CTL_MODE LedAction)
-{
-       struct led_priv *ledpriv = &padapter->ledpriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct LED_871x *pLed = &ledpriv->SwLed0;
-
-       switch (LedAction) {
-       case LED_CTL_SITE_SURVEY:
-               if (pmlmepriv->LinkDetectInfo.bBusyTraffic) {
-               } else if (!pLed->bLedScanBlinkInProgress) {
-                       if (IS_LED_WPS_BLINKING(pLed))
-                               return;
-
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       pLed->bLedScanBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_SCAN;
-                       pLed->BlinkTimes = 24;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-                }
-               break;
-       case LED_CTL_TX:
-       case LED_CTL_RX:
-               if ((!pLed->bLedBlinkInProgress) && (check_fwstate(pmlmepriv, _FW_LINKED))) {
-                       if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
-                               return;
-                       pLed->bLedBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_TXRX;
-                       pLed->BlinkTimes = 2;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_LINK:
-               pLed->CurrLedState = RTW_LED_ON;
-               pLed->BlinkingLedState = RTW_LED_ON;
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
-               if (pLed->bLedScanBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedScanBlinkInProgress = false;
-               }
-               _set_timer(&pLed->BlinkTimer, 0);
-               break;
-       case LED_CTL_START_WPS: /* wait until xinpin finish */
-       case LED_CTL_START_WPS_BOTTON:
-               if (!pLed->bLedWPSBlinkInProgress) {
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       if (pLed->bLedScanBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedScanBlinkInProgress = false;
-                       }
-                       pLed->bLedWPSBlinkInProgress = true;
-                       pLed->CurrLedState = RTW_LED_ON;
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, 0);
-                }
-               break;
-       case LED_CTL_STOP_WPS:
-               pLed->bLedWPSBlinkInProgress = false;
-               if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                       SwLedOff(padapter, pLed);
-               } else {
-                       pLed->CurrLedState = RTW_LED_ON;
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, 0);
-               }
-               break;
-       case LED_CTL_STOP_WPS_FAIL:
-               pLed->bLedWPSBlinkInProgress = false;
-               if (padapter->pwrctrlpriv.rf_pwrstate != rf_on) {
-                       SwLedOff(padapter, pLed);
-               } else {
-                       pLed->CurrLedState = RTW_LED_OFF;
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, 0);
-               }
-               break;
-       case LED_CTL_START_TO_LINK:
-       case LED_CTL_NO_LINK:
-               if (!IS_LED_BLINKING(pLed)) {
-                       pLed->CurrLedState = RTW_LED_OFF;
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, 0);
-               }
-               break;
-       case LED_CTL_POWER_OFF:
-               pLed->CurrLedState = RTW_LED_OFF;
-               pLed->BlinkingLedState = RTW_LED_OFF;
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
-               if (pLed->bLedScanBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedScanBlinkInProgress = false;
-               }
-               if (pLed->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
-               }
-
-               _set_timer(&pLed->BlinkTimer, 0);
-               break;
-       default:
-               break;
-       }
-}
-
-  /* COREGA, added by chiyoko, 20090316 */
- static void SwLedControlMode3(struct adapter *padapter, enum LED_CTL_MODE LedAction)
-{
-       struct led_priv *ledpriv = &padapter->ledpriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct LED_871x *pLed = &ledpriv->SwLed0;
-
-       switch (LedAction) {
-       case LED_CTL_SITE_SURVEY:
-               if (pmlmepriv->LinkDetectInfo.bBusyTraffic) {
-               } else if (!pLed->bLedScanBlinkInProgress) {
-                       if (IS_LED_WPS_BLINKING(pLed))
-                               return;
-
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       pLed->bLedScanBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_SCAN;
-                       pLed->BlinkTimes = 24;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_TX:
-       case LED_CTL_RX:
-               if ((!pLed->bLedBlinkInProgress) && (check_fwstate(pmlmepriv, _FW_LINKED))) {
-                       if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
-                               return;
-                       pLed->bLedBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_TXRX;
-                       pLed->BlinkTimes = 2;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_LINK:
-               if (IS_LED_WPS_BLINKING(pLed))
-                       return;
-               pLed->CurrLedState = RTW_LED_ON;
-               pLed->BlinkingLedState = RTW_LED_ON;
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
-               if (pLed->bLedScanBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedScanBlinkInProgress = false;
-               }
-
-               _set_timer(&pLed->BlinkTimer, 0);
-               break;
-       case LED_CTL_START_WPS: /* wait until xinpin finish */
-       case LED_CTL_START_WPS_BOTTON:
-               if (!pLed->bLedWPSBlinkInProgress) {
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       if (pLed->bLedScanBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedScanBlinkInProgress = false;
-                       }
-                       pLed->bLedWPSBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_WPS;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_STOP_WPS:
-               if (pLed->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
-               } else {
-                       pLed->bLedWPSBlinkInProgress = true;
-               }
-
-               pLed->CurrLedState = LED_BLINK_WPS_STOP;
-               if (pLed->bLedOn) {
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA);
-               } else {
-                       pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, 0);
-               }
-               break;
-       case LED_CTL_STOP_WPS_FAIL:
-               if (pLed->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
-               }
-               pLed->CurrLedState = RTW_LED_OFF;
-               pLed->BlinkingLedState = RTW_LED_OFF;
-               _set_timer(&pLed->BlinkTimer, 0);
-               break;
-       case LED_CTL_START_TO_LINK:
-       case LED_CTL_NO_LINK:
-               if (!IS_LED_BLINKING(pLed)) {
-                       pLed->CurrLedState = RTW_LED_OFF;
+       case LED_BLINK_WPS:
+               if (pLed->bLedOn)
                        pLed->BlinkingLedState = RTW_LED_OFF;
-                       _set_timer(&pLed->BlinkTimer, 0);
-               }
+               else
+                       pLed->BlinkingLedState = RTW_LED_ON;
+               _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
                break;
-       case LED_CTL_POWER_OFF:
-               pLed->CurrLedState = RTW_LED_OFF;
-               pLed->BlinkingLedState = RTW_LED_OFF;
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
-               if (pLed->bLedScanBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedScanBlinkInProgress = false;
-               }
-               if (pLed->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
+       case LED_BLINK_WPS_STOP:        /* WPS success */
+               if (pLed->BlinkingLedState == RTW_LED_ON)
+                       bStopBlinking = false;
+               else
+                       bStopBlinking = true;
+
+               if (bStopBlinking) {
+                       pLed->bLedLinkBlinkInProgress = true;
+                       pLed->CurrLedState = LED_BLINK_NORMAL;
+                       if (pLed->bLedOn)
+                               pLed->BlinkingLedState = RTW_LED_OFF;
+                       else
+                               pLed->BlinkingLedState = RTW_LED_ON;
+                       _set_timer(&pLed->BlinkTimer, LED_BLINK_LINK_INTERVAL_ALPHA);
+
                        pLed->bLedWPSBlinkInProgress = false;
+               } else {
+                       pLed->BlinkingLedState = RTW_LED_OFF;
+                       _set_timer(&pLed->BlinkTimer, LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA);
                }
-
-               _set_timer(&pLed->BlinkTimer, 0);
                break;
        default:
                break;
        }
 }
 
- /* Edimax-Belkin, added by chiyoko, 20090413 */
-static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAction)
+static void SwLedControlMode1(struct adapter *padapter, enum LED_CTL_MODE LedAction)
 {
        struct led_priv *ledpriv = &padapter->ledpriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct LED_871x *pLed = &ledpriv->SwLed0;
-       struct LED_871x *pLed1 = &ledpriv->SwLed1;
+       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
 
        switch (LedAction) {
+       case LED_CTL_POWER_ON:
        case LED_CTL_START_TO_LINK:
-               if (pLed1->bLedWPSBlinkInProgress) {
-                       pLed1->bLedWPSBlinkInProgress = false;
-                       _cancel_timer_ex(&pLed1->BlinkTimer);
-
-                       pLed1->BlinkingLedState = RTW_LED_OFF;
-                       pLed1->CurrLedState = RTW_LED_OFF;
-
-                       if (pLed1->bLedOn)
-                               _set_timer(&pLed->BlinkTimer, 0);
-               }
-
-               if (!pLed->bLedStartToLinkBlinkInProgress) {
+       case LED_CTL_NO_LINK:
+               if (!pLed->bLedNoLinkBlinkInProgress) {
                        if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
                                return;
-                       if (pLed->bLedBlinkInProgress) {
+                       if (pLed->bLedLinkBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
+                               pLed->bLedLinkBlinkInProgress = false;
                        }
-                       if (pLed->bLedNoLinkBlinkInProgress) {
+                       if (pLed->bLedBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedNoLinkBlinkInProgress = false;
+                               pLed->bLedBlinkInProgress = false;
                        }
 
-                       pLed->bLedStartToLinkBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_StartToBlink;
-                       if (pLed->bLedOn) {
+                       pLed->bLedNoLinkBlinkInProgress = true;
+                       pLed->CurrLedState = LED_BLINK_SLOWLY;
+                       if (pLed->bLedOn)
                                pLed->BlinkingLedState = RTW_LED_OFF;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_SLOWLY_INTERVAL);
-                       } else {
+                       else
                                pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-                       }
+                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
                }
                break;
        case LED_CTL_LINK:
-       case LED_CTL_NO_LINK:
-               /* LED1 settings */
-               if (LedAction == LED_CTL_LINK) {
-                       if (pLed1->bLedWPSBlinkInProgress) {
-                               pLed1->bLedWPSBlinkInProgress = false;
-                               _cancel_timer_ex(&pLed1->BlinkTimer);
-
-                               pLed1->BlinkingLedState = RTW_LED_OFF;
-                               pLed1->CurrLedState = RTW_LED_OFF;
-
-                               if (pLed1->bLedOn)
-                                       _set_timer(&pLed->BlinkTimer, 0);
-                       }
-               }
-
-               if (!pLed->bLedNoLinkBlinkInProgress) {
+               if (!pLed->bLedLinkBlinkInProgress) {
                        if (pLed->CurrLedState == LED_BLINK_SCAN || IS_LED_WPS_BLINKING(pLed))
                                return;
+                       if (pLed->bLedNoLinkBlinkInProgress) {
+                               _cancel_timer_ex(&pLed->BlinkTimer);
+                               pLed->bLedNoLinkBlinkInProgress = false;
+                       }
                        if (pLed->bLedBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
                                pLed->bLedBlinkInProgress = false;
                        }
-
-                       pLed->bLedNoLinkBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_SLOWLY;
+                       pLed->bLedLinkBlinkInProgress = true;
+                       pLed->CurrLedState = LED_BLINK_NORMAL;
                        if (pLed->bLedOn)
                                pLed->BlinkingLedState = RTW_LED_OFF;
                        else
                                pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
+                       _set_timer(&pLed->BlinkTimer, LED_BLINK_LINK_INTERVAL_ALPHA);
                }
                break;
        case LED_CTL_SITE_SURVEY:
                if ((pmlmepriv->LinkDetectInfo.bBusyTraffic) && (check_fwstate(pmlmepriv, _FW_LINKED))) {
+                       ;
                } else if (!pLed->bLedScanBlinkInProgress) {
                        if (IS_LED_WPS_BLINKING(pLed))
                                return;
-
                        if (pLed->bLedNoLinkBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
                                pLed->bLedNoLinkBlinkInProgress = false;
                        }
+                       if (pLed->bLedLinkBlinkInProgress) {
+                               _cancel_timer_ex(&pLed->BlinkTimer);
+                               pLed->bLedLinkBlinkInProgress = false;
+                       }
                        if (pLed->bLedBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
                                pLed->bLedBlinkInProgress = false;
@@ -1261,7 +262,7 @@ static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAct
                        else
                                pLed->BlinkingLedState = RTW_LED_ON;
                        _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-               }
+                }
                break;
        case LED_CTL_TX:
        case LED_CTL_RX:
@@ -1272,6 +273,10 @@ static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAct
                                _cancel_timer_ex(&pLed->BlinkTimer);
                                pLed->bLedNoLinkBlinkInProgress = false;
                        }
+                       if (pLed->bLedLinkBlinkInProgress) {
+                               _cancel_timer_ex(&pLed->BlinkTimer);
+                               pLed->bLedLinkBlinkInProgress = false;
+                       }
                        pLed->bLedBlinkInProgress = true;
                        pLed->CurrLedState = LED_BLINK_TXRX;
                        pLed->BlinkTimes = 2;
@@ -1284,22 +289,15 @@ static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAct
                break;
        case LED_CTL_START_WPS: /* wait until xinpin finish */
        case LED_CTL_START_WPS_BOTTON:
-               if (pLed1->bLedWPSBlinkInProgress) {
-                       pLed1->bLedWPSBlinkInProgress = false;
-                       _cancel_timer_ex(&pLed1->BlinkTimer);
-
-                       pLed1->BlinkingLedState = RTW_LED_OFF;
-                       pLed1->CurrLedState = RTW_LED_OFF;
-
-                       if (pLed1->bLedOn)
-                               _set_timer(&pLed->BlinkTimer, 0);
-               }
-
-               if (!pLed->bLedWPSBlinkInProgress) {
+                if (!pLed->bLedWPSBlinkInProgress) {
                        if (pLed->bLedNoLinkBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
                                pLed->bLedNoLinkBlinkInProgress = false;
                        }
+                       if (pLed->bLedLinkBlinkInProgress) {
+                               _cancel_timer_ex(&pLed->BlinkTimer);
+                               pLed->bLedLinkBlinkInProgress = false;
+                       }
                        if (pLed->bLedBlinkInProgress) {
                                _cancel_timer_ex(&pLed->BlinkTimer);
                                pLed->bLedBlinkInProgress = false;
@@ -1310,56 +308,44 @@ static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAct
                        }
                        pLed->bLedWPSBlinkInProgress = true;
                        pLed->CurrLedState = LED_BLINK_WPS;
-                       if (pLed->bLedOn) {
+                       if (pLed->bLedOn)
                                pLed->BlinkingLedState = RTW_LED_OFF;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_SLOWLY_INTERVAL);
-                       } else {
+                       else
                                pLed->BlinkingLedState = RTW_LED_ON;
-                               _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
-                       }
-               }
+                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
+                }
                break;
-       case LED_CTL_STOP_WPS:  /* WPS connect success */
-               if (pLed->bLedWPSBlinkInProgress) {
+       case LED_CTL_STOP_WPS:
+               if (pLed->bLedNoLinkBlinkInProgress) {
                        _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
+                       pLed->bLedNoLinkBlinkInProgress = false;
                }
-
-               pLed->bLedNoLinkBlinkInProgress = true;
-               pLed->CurrLedState = LED_BLINK_SLOWLY;
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-
-               break;
-       case LED_CTL_STOP_WPS_FAIL:             /* WPS authentication fail */
-               if (pLed->bLedWPSBlinkInProgress) {
+               if (pLed->bLedLinkBlinkInProgress) {
                        _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedWPSBlinkInProgress = false;
+                       pLed->bLedLinkBlinkInProgress = false;
                }
-               pLed->bLedNoLinkBlinkInProgress = true;
-               pLed->CurrLedState = LED_BLINK_SLOWLY;
-               if (pLed->bLedOn)
-                       pLed->BlinkingLedState = RTW_LED_OFF;
+               if (pLed->bLedBlinkInProgress) {
+                       _cancel_timer_ex(&pLed->BlinkTimer);
+                       pLed->bLedBlinkInProgress = false;
+               }
+               if (pLed->bLedScanBlinkInProgress) {
+                       _cancel_timer_ex(&pLed->BlinkTimer);
+                       pLed->bLedScanBlinkInProgress = false;
+               }
+               if (pLed->bLedWPSBlinkInProgress)
+                       _cancel_timer_ex(&pLed->BlinkTimer);
                else
+                       pLed->bLedWPSBlinkInProgress = true;
+               pLed->CurrLedState = LED_BLINK_WPS_STOP;
+               if (pLed->bLedOn) {
+                       pLed->BlinkingLedState = RTW_LED_OFF;
+                       _set_timer(&pLed->BlinkTimer, LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA);
+               } else {
                        pLed->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-
-               /* LED1 settings */
-               if (pLed1->bLedWPSBlinkInProgress)
-                       _cancel_timer_ex(&pLed1->BlinkTimer);
-               else
-                       pLed1->bLedWPSBlinkInProgress = true;
-               pLed1->CurrLedState = LED_BLINK_WPS_STOP;
-               if (pLed1->bLedOn)
-                       pLed1->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed1->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
+                       _set_timer(&pLed->BlinkTimer, 0);
+               }
                break;
-       case LED_CTL_STOP_WPS_FAIL_OVERLAP:     /* WPS session overlap */
+       case LED_CTL_STOP_WPS_FAIL:
                if (pLed->bLedWPSBlinkInProgress) {
                        _cancel_timer_ex(&pLed->BlinkTimer);
                        pLed->bLedWPSBlinkInProgress = false;
@@ -1371,24 +357,10 @@ static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAct
                else
                        pLed->BlinkingLedState = RTW_LED_ON;
                _set_timer(&pLed->BlinkTimer, LED_BLINK_NO_LINK_INTERVAL_ALPHA);
-
-               /* LED1 settings */
-               if (pLed1->bLedWPSBlinkInProgress)
-                       _cancel_timer_ex(&pLed1->BlinkTimer);
-               else
-                       pLed1->bLedWPSBlinkInProgress = true;
-               pLed1->CurrLedState = LED_BLINK_WPS_STOP_OVERLAP;
-               pLed1->BlinkTimes = 10;
-               if (pLed1->bLedOn)
-                       pLed1->BlinkingLedState = RTW_LED_OFF;
-               else
-                       pLed1->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed->BlinkTimer, LED_BLINK_NORMAL_INTERVAL);
                break;
        case LED_CTL_POWER_OFF:
                pLed->CurrLedState = RTW_LED_OFF;
                pLed->BlinkingLedState = RTW_LED_OFF;
-
                if (pLed->bLedNoLinkBlinkInProgress) {
                        _cancel_timer_ex(&pLed->BlinkTimer);
                        pLed->bLedNoLinkBlinkInProgress = false;
@@ -1409,83 +381,6 @@ static void SwLedControlMode4(struct adapter *padapter, enum LED_CTL_MODE LedAct
                        _cancel_timer_ex(&pLed->BlinkTimer);
                        pLed->bLedScanBlinkInProgress = false;
                }
-               if (pLed->bLedStartToLinkBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedStartToLinkBlinkInProgress = false;
-               }
-               if (pLed1->bLedWPSBlinkInProgress) {
-                       _cancel_timer_ex(&pLed1->BlinkTimer);
-                       pLed1->bLedWPSBlinkInProgress = false;
-               }
-               pLed1->BlinkingLedState = LED_UNKNOWN;
-               SwLedOff(padapter, pLed);
-               SwLedOff(padapter, pLed1);
-               break;
-       default:
-               break;
-       }
-}
-
- /* Sercomm-Belkin, added by chiyoko, 20090415 */
-static void
-SwLedControlMode5(
-       struct adapter *padapter,
-       enum LED_CTL_MODE LedAction
-)
-{
-       struct led_priv *ledpriv = &padapter->ledpriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct LED_871x *pLed = &ledpriv->SwLed0;
-
-       switch (LedAction) {
-       case LED_CTL_POWER_ON:
-       case LED_CTL_NO_LINK:
-       case LED_CTL_LINK:      /* solid blue */
-               pLed->CurrLedState = RTW_LED_ON;
-               pLed->BlinkingLedState = RTW_LED_ON;
-
-               _set_timer(&pLed->BlinkTimer, 0);
-               break;
-       case LED_CTL_SITE_SURVEY:
-               if ((pmlmepriv->LinkDetectInfo.bBusyTraffic) && (check_fwstate(pmlmepriv, _FW_LINKED))) {
-               } else if (!pLed->bLedScanBlinkInProgress) {
-                       if (pLed->bLedBlinkInProgress) {
-                               _cancel_timer_ex(&pLed->BlinkTimer);
-                               pLed->bLedBlinkInProgress = false;
-                       }
-                       pLed->bLedScanBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_SCAN;
-                       pLed->BlinkTimes = 24;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_SCAN_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_TX:
-       case LED_CTL_RX:
-               if (!pLed->bLedBlinkInProgress) {
-                       if (pLed->CurrLedState == LED_BLINK_SCAN)
-                               return;
-                       pLed->bLedBlinkInProgress = true;
-                       pLed->CurrLedState = LED_BLINK_TXRX;
-                       pLed->BlinkTimes = 2;
-                       if (pLed->bLedOn)
-                               pLed->BlinkingLedState = RTW_LED_OFF;
-                       else
-                               pLed->BlinkingLedState = RTW_LED_ON;
-                       _set_timer(&pLed->BlinkTimer, LED_BLINK_FASTER_INTERVAL_ALPHA);
-               }
-               break;
-       case LED_CTL_POWER_OFF:
-               pLed->CurrLedState = RTW_LED_OFF;
-               pLed->BlinkingLedState = RTW_LED_OFF;
-
-               if (pLed->bLedBlinkInProgress) {
-                       _cancel_timer_ex(&pLed->BlinkTimer);
-                       pLed->bLedBlinkInProgress = false;
-               }
                SwLedOff(padapter, pLed);
                break;
        default:
@@ -1493,71 +388,14 @@ SwLedControlMode5(
        }
 }
 
- /* WNC-Corega, added by chiyoko, 20090902 */
-static void
-SwLedControlMode6(
-       struct adapter *padapter,
-       enum LED_CTL_MODE LedAction
-)
-{
-       struct led_priv *ledpriv = &padapter->ledpriv;
-       struct LED_871x *pLed0 = &ledpriv->SwLed0;
-
-       switch (LedAction) {
-       case LED_CTL_POWER_ON:
-       case LED_CTL_LINK:
-       case LED_CTL_NO_LINK:
-               _cancel_timer_ex(&pLed0->BlinkTimer);
-               pLed0->CurrLedState = RTW_LED_ON;
-               pLed0->BlinkingLedState = RTW_LED_ON;
-               _set_timer(&pLed0->BlinkTimer, 0);
-               break;
-       case LED_CTL_POWER_OFF:
-               SwLedOff(padapter, pLed0);
-               break;
-       default:
-               break;
-       }
-}
-
-/*  */
-/*     Description: */
-/*             Handler function of LED Blinking. */
-/*             We dispatch acture LED blink action according to LedStrategy. */
-/*  */
 void BlinkHandler(struct LED_871x *pLed)
 {
        struct adapter *padapter = pLed->padapter;
-       struct led_priv *ledpriv = &padapter->ledpriv;
 
        if ((padapter->bSurpriseRemoved) || (padapter->bDriverStopped))
                return;
 
-       switch (ledpriv->LedStrategy) {
-       case SW_LED_MODE0:
-               SwLedBlink(pLed);
-               break;
-       case SW_LED_MODE1:
-               SwLedBlink1(pLed);
-               break;
-       case SW_LED_MODE2:
-               SwLedBlink2(pLed);
-               break;
-       case SW_LED_MODE3:
-               SwLedBlink3(pLed);
-               break;
-       case SW_LED_MODE4:
-               SwLedBlink4(pLed);
-               break;
-       case SW_LED_MODE5:
-               SwLedBlink5(pLed);
-               break;
-       case SW_LED_MODE6:
-               SwLedBlink6(pLed);
-               break;
-       default:
-               break;
-       }
+       SwLedBlink1(pLed);
 }
 
 void LedControl8188eu(struct adapter *padapter, enum LED_CTL_MODE LedAction)
@@ -1585,28 +423,5 @@ void LedControl8188eu(struct adapter *padapter, enum LED_CTL_MODE LedAction)
             LedAction == LED_CTL_POWER_ON))
                return;
 
-       switch (ledpriv->LedStrategy) {
-       case SW_LED_MODE0:
-               break;
-       case SW_LED_MODE1:
-               SwLedControlMode1(padapter, LedAction);
-               break;
-       case SW_LED_MODE2:
-               SwLedControlMode2(padapter, LedAction);
-               break;
-       case SW_LED_MODE3:
-               SwLedControlMode3(padapter, LedAction);
-               break;
-       case SW_LED_MODE4:
-               SwLedControlMode4(padapter, LedAction);
-               break;
-       case SW_LED_MODE5:
-               SwLedControlMode5(padapter, LedAction);
-               break;
-       case SW_LED_MODE6:
-               SwLedControlMode6(padapter, LedAction);
-               break;
-       default:
-               break;
-       }
+       SwLedControlMode1(padapter, LedAction);
 }
index 1115ff5..8d14aff 100644 (file)
@@ -14,6 +14,7 @@
 #include "../include/wlan_bssdef.h"
 #include "../include/rtw_ioctl_set.h"
 #include "../include/usb_osintf.h"
+#include "../include/rtl8188e_dm.h"
 
 extern unsigned char   MCS_rate_2R[16];
 extern unsigned char   MCS_rate_1R[16];
@@ -48,8 +49,8 @@ int _rtw_init_mlme_priv(struct adapter *padapter)
        pmlmepriv->scan_mode = SCAN_ACTIVE;/*  1: active, 0: pasive. Maybe someday we should rename this varable to "active_mode" (Jeff) */
 
        spin_lock_init(&pmlmepriv->lock);
-       _rtw_init_queue(&pmlmepriv->free_bss_pool);
-       _rtw_init_queue(&pmlmepriv->scanned_queue);
+       rtw_init_queue(&pmlmepriv->free_bss_pool);
+       rtw_init_queue(&pmlmepriv->scanned_queue);
 
        set_scanned_network_val(pmlmepriv, 0);
 
@@ -88,7 +89,6 @@ static void rtw_mfree_mlme_priv_lock(struct mlme_priv *pmlmepriv)
 {
 }
 
-#if defined(CONFIG_88EU_AP_MODE)
 static void rtw_free_mlme_ie_data(u8 **ppie, u32 *plen)
 {
        kfree(*ppie);
@@ -111,11 +111,6 @@ void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv)
        rtw_free_mlme_ie_data(&pmlmepriv->p2p_go_probe_resp_ie, &pmlmepriv->p2p_go_probe_resp_ie_len);
        rtw_free_mlme_ie_data(&pmlmepriv->p2p_assoc_req_ie, &pmlmepriv->p2p_assoc_req_ie_len);
 }
-#else
-void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv)
-{
-}
-#endif
 
 void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
 {
@@ -130,42 +125,6 @@ void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv)
 
 }
 
-int    _rtw_enqueue_network(struct __queue *queue, struct wlan_network *pnetwork)
-{
-
-       if (!pnetwork)
-               goto exit;
-
-       spin_lock_bh(&queue->lock);
-
-       list_add_tail(&pnetwork->list, &queue->queue);
-
-       spin_unlock_bh(&queue->lock);
-
-exit:
-
-       return _SUCCESS;
-}
-
-struct wlan_network *_rtw_dequeue_network(struct __queue *queue)
-{
-       struct wlan_network *pnetwork;
-
-       spin_lock_bh(&queue->lock);
-
-       if (list_empty(&queue->queue)) {
-               pnetwork = NULL;
-       } else {
-               pnetwork = container_of((&queue->queue)->next, struct wlan_network, list);
-
-               list_del_init(&pnetwork->list);
-       }
-
-       spin_unlock_bh(&queue->lock);
-
-       return pnetwork;
-}
-
 struct wlan_network *_rtw_alloc_network(struct mlme_priv *pmlmepriv)/* _queue *free_queue) */
 {
        struct  wlan_network    *pnetwork;
@@ -331,11 +290,6 @@ u16 rtw_get_capability(struct wlan_bssid_ex *bss)
        return le16_to_cpu(val);
 }
 
-u8 *rtw_get_timestampe_from_ie(u8 *ie)
-{
-       return ie + 0;
-}
-
 u8 *rtw_get_beacon_interval_from_ie(u8 *ie)
 {
        return ie + 8;
@@ -469,7 +423,7 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
        u8 sq_final;
        long rssi_final;
 
-       rtw_hal_antdiv_rssi_compared(padapter, dst, src); /* this will update src.Rssi, need consider again */
+       AntDivCompare8188E(padapter, dst, src); /* this will update src.Rssi, need consider again */
 
        /* The rule below is 1/5 for sample value, 4/5 for history value */
        if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) && is_same_network(&padapter->mlmepriv.cur_network.network, src)) {
@@ -550,7 +504,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
                        /* If there are no more slots, expire the oldest */
                        pnetwork = oldest;
 
-                       rtw_hal_get_def_var(adapter, HAL_DEF_CURRENT_ANTENNA, &target->PhyInfo.Optimum_antenna);
+                       GetHalDefVar8188EUsb(adapter, HAL_DEF_CURRENT_ANTENNA, &target->PhyInfo.Optimum_antenna);
                        memcpy(&pnetwork->network, target,  get_wlan_bssid_ex_sz(target));
                        /*  variable initialize */
                        pnetwork->fixed = false;
@@ -573,7 +527,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
 
                        bssid_ex_sz = get_wlan_bssid_ex_sz(target);
                        target->Length = bssid_ex_sz;
-                       rtw_hal_get_def_var(adapter, HAL_DEF_CURRENT_ANTENNA, &target->PhyInfo.Optimum_antenna);
+                       GetHalDefVar8188EUsb(adapter, HAL_DEF_CURRENT_ANTENNA, &target->PhyInfo.Optimum_antenna);
                        memcpy(&pnetwork->network, target, bssid_ex_sz);
 
                        pnetwork->last_scanned = jiffies;
@@ -611,9 +565,7 @@ static void rtw_add_network(struct adapter *adapter,
                            struct wlan_bssid_ex *pnetwork)
 {
 
-#if defined(CONFIG_88EU_P2P)
        rtw_wlan_bssid_ex_remove_p2p_attr(pnetwork, P2P_ATTR_GROUP_INFO);
-#endif
        update_current_network(adapter, pnetwork);
        rtw_update_scanned_network(adapter, pnetwork);
 
@@ -945,29 +897,6 @@ inline void rtw_indicate_scan_done(struct adapter *padapter, bool aborted)
        rtw_os_indicate_scan_done(padapter, aborted);
 }
 
-void rtw_scan_abort(struct adapter *adapter)
-{
-       u32 start;
-       struct mlme_priv        *pmlmepriv = &adapter->mlmepriv;
-       struct mlme_ext_priv    *pmlmeext = &adapter->mlmeextpriv;
-
-       start = jiffies;
-       pmlmeext->scan_abort = true;
-       while (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) &&
-              rtw_get_passing_time_ms(start) <= 200) {
-               if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
-                       break;
-               DBG_88E(FUNC_NDEV_FMT"fw_state=_FW_UNDER_SURVEY!\n", FUNC_NDEV_ARG(adapter->pnetdev));
-               msleep(20);
-       }
-       if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) {
-               if (!adapter->bDriverStopped && !adapter->bSurpriseRemoved)
-                       DBG_88E(FUNC_NDEV_FMT"waiting for scan_abort time out!\n", FUNC_NDEV_ARG(adapter->pnetdev));
-               rtw_indicate_scan_done(adapter, true);
-       }
-       pmlmeext->scan_abort = false;
-}
-
 static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, struct wlan_network *pnetwork)
 {
        int i;
@@ -984,7 +913,7 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str
                psta->aid  = pnetwork->join_res;
                psta->mac_id = 0;
                /* sta mode */
-               rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, true);
+               rtl8188e_SetHalODMVar(padapter, HAL_ODM_STA_INFO, psta, true);
                /* security related */
                if (padapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X) {
                        padapter->securitypriv.binstallGrpkey = false;
@@ -1200,24 +1129,20 @@ void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf)
 static u8 search_max_mac_id(struct adapter *padapter)
 {
        u8 mac_id;
-#if defined(CONFIG_88EU_AP_MODE)
        u8 aid;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct sta_priv *pstapriv = &padapter->stapriv;
-#endif
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
 
-#if defined(CONFIG_88EU_AP_MODE)
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
                for (aid = (pstapriv->max_num_sta); aid > 0; aid--) {
                        if (pstapriv->sta_aid[aid - 1])
                                break;
                }
                mac_id = aid + 1;
-       } else
-#endif
-       {/* adhoc  id =  31~2 */
+       } else {
+               /* adhoc  id =  31~2 */
                for (mac_id = (NUM_STA - 1); mac_id >= IBSS_START_MAC_ID; mac_id--) {
                        if (pmlmeinfo->FW_sta_info[mac_id].status == 1)
                                break;
@@ -1237,11 +1162,10 @@ void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta,
                return;
 
        macid = search_max_mac_id(adapter);
-       rtw_hal_set_hwreg(adapter, HW_VAR_TX_RPT_MAX_MACID, (u8 *)&macid);
+       SetHwReg8188EU(adapter, HW_VAR_TX_RPT_MAX_MACID, (u8 *)&macid);
        /* MACID|OPMODE:1 connect */
        media_status_rpt = (u16)((psta->mac_id << 8) | mstatus);
-       rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT,
-                         (u8 *)&media_status_rpt);
+       SetHwReg8188EU(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status_rpt);
 }
 
 void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
@@ -1255,14 +1179,12 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
        if (!rtw_access_ctrl(adapter, pstassoc->macaddr))
                return;
 
-#if defined(CONFIG_88EU_AP_MODE)
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
                psta = rtw_get_stainfo(&adapter->stapriv, pstassoc->macaddr);
                if (psta)
                        rtw_indicate_sta_assoc_event(adapter, psta);
                return;
        }
-#endif
        /* for AD-HOC mode */
        psta = rtw_get_stainfo(&adapter->stapriv, pstassoc->macaddr);
        if (psta)
@@ -1276,7 +1198,7 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf)
        psta->mac_id = (uint)pstassoc->cam_id;
        DBG_88E("%s\n", __func__);
        /* for ad-hoc mode */
-       rtw_hal_set_odm_var(adapter, HAL_ODM_STA_INFO, psta, true);
+       rtl8188e_SetHalODMVar(adapter, HAL_ODM_STA_INFO, psta, true);
        rtw_sta_media_status_rpt(adapter, psta, 1);
        if (adapter->securitypriv.dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
                psta->dot118021XPrivacy = adapter->securitypriv.dot11PrivacyAlgrthm;
@@ -1323,7 +1245,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf)
                u16 media_status;
                media_status = (mac_id << 8) | 0; /*   MACID|OPMODE:0 means disconnect */
                /* for STA, AP, ADHOC mode, report disconnect stauts to FW */
-               rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status);
+               SetHwReg8188EU(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status);
        }
 
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE))
@@ -1486,10 +1408,8 @@ void rtw_dynamic_check_timer_handlder(struct adapter *adapter)
        rtw_dynamic_chk_wk_cmd(adapter);
 
        if (pregistrypriv->wifi_spec == 1) {
-#ifdef CONFIG_88EU_P2P
                struct wifidirect_info *pwdinfo = &adapter->wdinfo;
                if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
-#endif
                {
                        /* auto site survey */
                        rtw_auto_scan_handler(adapter);
@@ -1618,10 +1538,10 @@ int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv)
                rtw_free_assoc_resources(adapter, 0);
        }
 
-       rtw_hal_get_def_var(adapter, HAL_DEF_IS_SUPPORT_ANT_DIV, &(supp_ant_div));
+       GetHalDefVar8188EUsb(adapter, HAL_DEF_IS_SUPPORT_ANT_DIV, &supp_ant_div);
        if (supp_ant_div) {
                u8 cur_ant;
-               rtw_hal_get_def_var(adapter, HAL_DEF_CURRENT_ANTENNA, &(cur_ant));
+               GetHalDefVar8188EUsb(adapter, HAL_DEF_CURRENT_ANTENNA, &cur_ant);
                DBG_88E("#### Opt_Ant_(%s), cur_Ant(%s)\n",
                        (2 == candidate->network.PhyInfo.Optimum_antenna) ? "A" : "B",
                        (2 == cur_ant) ? "A" : "B"
@@ -1690,8 +1610,6 @@ int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, in
                goto exit;
        }
 
-       memset(psetkeyparm, 0, sizeof(struct setkey_parm));
-
        if (psecuritypriv->dot11AuthAlgrthm == dot11AuthAlgrthm_8021X)
                psetkeyparm->algorithm = (unsigned char)psecuritypriv->dot118021XGrpPrivacy;
        else
@@ -1722,6 +1640,8 @@ int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, in
                psetkeyparm->grpkey = 1;
                break;
        default:
+               kfree(psetkeyparm);
+               kfree(pcmd);
                res = _FAIL;
                goto exit;
        }
@@ -1959,10 +1879,10 @@ void rtw_joinbss_reset(struct adapter *padapter)
                        threshold = 1;
                else
                        threshold = 0;
-               rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
+               SetHwReg8188EU(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
        } else {
                threshold = 1;
-               rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
+               SetHwReg8188EU(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold));
        }
 }
 
@@ -2002,15 +1922,15 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_
                                                IEEE80211_HT_CAP_TX_STBC |
                                                IEEE80211_HT_CAP_DSSSCCK40);
 
-               rtw_hal_get_def_var(padapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset);
-               rtw_hal_get_def_var(padapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz);
+               GetHalDefVar8188EUsb(padapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset);
+               GetHalDefVar8188EUsb(padapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz);
 
                /*
                AMPDU_para [1:0]:Max AMPDU Len => 0:8k , 1:16k, 2:32k, 3:64k
                AMPDU_para [4:2]:Min MPDU Start Spacing
                */
 
-               rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor);
+               GetHalDefVar8188EUsb(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor);
                ht_capie.ampdu_params_info = (max_rx_ampdu_factor & 0x03);
 
                if (padapter->securitypriv.dot11PrivacyAlgrthm == _AES_)
@@ -2081,7 +2001,7 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len)
                int i;
                u8      rf_type;
 
-               padapter->HalFunc.GetHwRegHandler(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
+               GetHwReg8188EU(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
 
                /* update the MCS rates */
                for (i = 0; i < 16; i++) {
index 5a472a4..55c3d4a 100644 (file)
@@ -10,6 +10,9 @@
 #include "../include/wlan_bssdef.h"
 #include "../include/mlme_osdep.h"
 #include "../include/recv_osdep.h"
+#include "../include/rtl8188e_sreset.h"
+#include "../include/rtl8188e_xmit.h"
+#include "../include/rtl8188e_dm.h"
 
 static struct mlme_handler mlme_sta_tbl[] = {
        {WIFI_ASSOCREQ,         "OnAssocReq",   &OnAssocReq},
@@ -362,9 +365,7 @@ int init_mlme_ext_priv(struct adapter *padapter)
 
        init_mlme_ext_timer(padapter);
 
-#ifdef CONFIG_88EU_AP_MODE
        init_mlme_ap_info(padapter);
-#endif
 
        pmlmeext->max_chan_nums = init_channel_set(padapter, pmlmepriv->ChannelPlan, pmlmeext->channel_set);
        init_channel_list(padapter, pmlmeext->channel_set, pmlmeext->max_chan_nums, &pmlmeext->channel_list);
@@ -393,13 +394,12 @@ void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext)
 
 static void _mgt_dispatcher(struct adapter *padapter, struct mlme_handler *ptable, struct recv_frame *precv_frame)
 {
-       u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
        u8 *pframe = precv_frame->rx_data;
 
        if (ptable->func) {
        /* receive the frames that ra(a1) is my address or ra(a1) is bc address. */
                if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) &&
-                   memcmp(GetAddr1Ptr(pframe), bc_addr, ETH_ALEN))
+                   !is_broadcast_ether_addr(GetAddr1Ptr(pframe)))
                        return;
                ptable->func(padapter, precv_frame);
        }
@@ -409,10 +409,7 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
 {
        int index;
        struct mlme_handler *ptable;
-#ifdef CONFIG_88EU_AP_MODE
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-#endif /* CONFIG_88EU_AP_MODE */
-       u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
        u8 *pframe = precv_frame->rx_data;
        struct sta_info *psta = rtw_get_stainfo(&padapter->stapriv, GetAddr2Ptr(pframe));
 
@@ -421,7 +418,7 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
 
        /* receive the frames that ra(a1) is my address or ra(a1) is bc address. */
        if (memcmp(GetAddr1Ptr(pframe), myid(&padapter->eeprompriv), ETH_ALEN) &&
-           memcmp(GetAddr1Ptr(pframe), bc_addr, ETH_ALEN))
+           !is_broadcast_ether_addr(GetAddr1Ptr(pframe)))
                return;
 
        ptable = mlme_sta_tbl;
@@ -443,7 +440,6 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
                psta->RxMgmtFrameSeqNum = precv_frame->attrib.seq_num;
        }
 
-#ifdef CONFIG_88EU_AP_MODE
        switch (GetFrameSubType(pframe)) {
        case WIFI_AUTH:
                if (check_fwstate(pmlmepriv, WIFI_AP_STATE))
@@ -453,17 +449,8 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
                fallthrough;
        case WIFI_ASSOCREQ:
        case WIFI_REASSOCREQ:
-               _mgt_dispatcher(padapter, ptable, precv_frame);
-               break;
        case WIFI_PROBEREQ:
-               if (check_fwstate(pmlmepriv, WIFI_AP_STATE))
-                       _mgt_dispatcher(padapter, ptable, precv_frame);
-               else
-                       _mgt_dispatcher(padapter, ptable, precv_frame);
-               break;
        case WIFI_BEACON:
-               _mgt_dispatcher(padapter, ptable, precv_frame);
-               break;
        case WIFI_ACTION:
                _mgt_dispatcher(padapter, ptable, precv_frame);
                break;
@@ -473,12 +460,8 @@ void mgt_dispatcher(struct adapter *padapter, struct recv_frame *precv_frame)
                        rtw_hostapd_mlme_rx(padapter, precv_frame);
                break;
        }
-#else
-       _mgt_dispatcher(padapter, ptable, precv_frame);
-#endif
 }
 
-#ifdef CONFIG_88EU_P2P
 static u32 p2p_listen_state_process(struct adapter *padapter, unsigned char *da)
 {
        bool response = true;
@@ -492,7 +475,6 @@ static u32 p2p_listen_state_process(struct adapter *padapter, unsigned char *da)
 
        return _SUCCESS;
 }
-#endif /* CONFIG_88EU_P2P */
 
 /****************************************************************************
 
@@ -512,7 +494,6 @@ unsigned int OnProbeReq(struct adapter *padapter, struct recv_frame *precv_frame
        uint len = precv_frame->len;
        u8 is_valid_p2p_probereq = false;
 
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
        u8 wifi_test_chk_rate = 1;
 
@@ -547,7 +528,6 @@ unsigned int OnProbeReq(struct adapter *padapter, struct recv_frame *precv_frame
        }
 
 _continue:
-#endif /* CONFIG_88EU_P2P */
 
        if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
                return _SUCCESS;
@@ -581,12 +561,9 @@ _issue_probersp:
 unsigned int OnProbeRsp(struct adapter *padapter, struct recv_frame *precv_frame)
 {
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
        u8 *pframe = precv_frame->rx_data;
-#endif
 
-#ifdef CONFIG_88EU_P2P
        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_TX_PROVISION_DIS_REQ)) {
                if (pwdinfo->tx_prov_disc_info.benable) {
                        if (!memcmp(pwdinfo->tx_prov_disc_info.peerIFAddr, GetAddr2Ptr(pframe), ETH_ALEN)) {
@@ -621,8 +598,6 @@ unsigned int OnProbeRsp(struct adapter *padapter, struct recv_frame *precv_frame
                        }
                }
        }
-#endif
-
        if (pmlmeext->sitesurvey_res.state == SCAN_PROCESS) {
                report_survey_event(padapter, precv_frame);
                return _SUCCESS;
@@ -723,7 +698,6 @@ _END_ONBEACON_:
 
 unsigned int OnAuth(struct adapter *padapter, struct recv_frame *precv_frame)
 {
-#ifdef CONFIG_88EU_AP_MODE
        unsigned int    auth_mode, ie_len;
        u16 seq;
        unsigned char   *sa, *p;
@@ -867,9 +841,7 @@ unsigned int OnAuth(struct adapter *padapter, struct recv_frame *precv_frame)
        /*  Now, we are going to issue_auth... */
        pstat->auth_seq = seq + 1;
 
-#ifdef CONFIG_88EU_AP_MODE
        issue_auth(padapter, pstat, (unsigned short)(_STATS_SUCCESSFUL_));
-#endif
 
        if (pstat->state & WIFI_FW_AUTH_SUCCESS)
                pstat->auth_seq = 0;
@@ -886,11 +858,7 @@ auth_fail:
        pstat->auth_seq = 2;
        memcpy(pstat->hwaddr, sa, 6);
 
-#ifdef CONFIG_88EU_AP_MODE
        issue_auth(padapter, pstat, (unsigned short)status);
-#endif
-
-#endif
        return _FAIL;
 }
 
@@ -971,7 +939,6 @@ authclnt_fail:
 
 unsigned int OnAssocReq(struct adapter *padapter, struct recv_frame *precv_frame)
 {
-#ifdef CONFIG_88EU_AP_MODE
        u16 capab_info;
        struct rtw_ieee802_11_elems elems;
        struct sta_info *pstat;
@@ -990,12 +957,10 @@ unsigned int OnAssocReq(struct adapter *padapter, struct recv_frame *precv_frame
        struct sta_priv *pstapriv = &padapter->stapriv;
        u8 *pframe = precv_frame->rx_data;
        uint pkt_len = precv_frame->len;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
        u8 p2p_status_code = P2P_STATUS_SUCCESS;
        u8 *p2pie;
        u32 p2pielen = 0;
-#endif /* CONFIG_88EU_P2P */
 
        if ((pmlmeinfo->state & 0x03) != WIFI_FW_AP_STATE)
                return _FAIL;
@@ -1319,7 +1284,6 @@ unsigned int OnAssocReq(struct adapter *padapter, struct recv_frame *precv_frame
        if (status != _STATS_SUCCESSFUL_)
                goto OnAssocReqFail;
 
-#ifdef CONFIG_88EU_P2P
        pstat->is_p2p_device = false;
        if (rtw_p2p_chk_role(pwdinfo, P2P_ROLE_GO)) {
                p2pie = rtw_get_p2p_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, pkt_len - WLAN_HDR_A3_LEN - ie_offset, NULL, &p2pielen);
@@ -1334,7 +1298,6 @@ unsigned int OnAssocReq(struct adapter *padapter, struct recv_frame *precv_frame
                }
        }
        pstat->p2p_status_code = p2p_status_code;
-#endif /* CONFIG_88EU_P2P */
 
        /* TODO: identify_proprietary_vendor_ie(); */
        /*  Realtek proprietary IE */
@@ -1385,7 +1348,6 @@ unsigned int OnAssocReq(struct adapter *padapter, struct recv_frame *precv_frame
 
        /*  now the station is qualified to join our BSS... */
        if (pstat && (pstat->state & WIFI_FW_ASSOC_SUCCESS) && (_STATS_SUCCESSFUL_ == status)) {
-#ifdef CONFIG_88EU_AP_MODE
                /* 1 bss_cap_update & sta_info_update */
                bss_cap_update_on_sta_join(padapter, pstat);
                sta_info_update(padapter, pstat);
@@ -1402,30 +1364,23 @@ unsigned int OnAssocReq(struct adapter *padapter, struct recv_frame *precv_frame
 
                /* 3-(1) report sta add event */
                report_add_sta_event(padapter, pstat->hwaddr, pstat->aid);
-#endif
        }
 
        return _SUCCESS;
 
 asoc_class2_error:
 
-#ifdef CONFIG_88EU_AP_MODE
        issue_deauth(padapter, (void *)GetAddr2Ptr(pframe), status);
-#endif
 
        return _FAIL;
 
 OnAssocReqFail:
 
-#ifdef CONFIG_88EU_AP_MODE
        pstat->aid = 0;
        if (frame_type == WIFI_ASSOCREQ)
                issue_asocrsp(padapter, status, pstat, WIFI_ASSOCRSP);
        else
                issue_asocrsp(padapter, status, pstat, WIFI_REASSOCRSP);
-#endif
-
-#endif /* CONFIG_88EU_AP_MODE */
 
        return _FAIL;
 }
@@ -1527,26 +1482,21 @@ unsigned int OnDeAuth(struct adapter *padapter, struct recv_frame *precv_frame)
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        u8 *pframe = precv_frame->rx_data;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        /* check A3 */
        if (!(!memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_ALEN)))
                return _SUCCESS;
 
-#ifdef CONFIG_88EU_P2P
        if (pwdinfo->rx_invitereq_info.scan_op_ch_only) {
                _cancel_timer_ex(&pwdinfo->reset_ch_sitesurvey);
                _set_timer(&pwdinfo->reset_ch_sitesurvey, 10);
        }
-#endif /* CONFIG_88EU_P2P */
 
        reason = le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
 
        DBG_88E("%s Reason code(%d)\n", __func__, reason);
 
-#ifdef CONFIG_88EU_AP_MODE
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
                struct sta_info *psta;
                struct sta_priv *pstapriv = &padapter->stapriv;
@@ -1570,9 +1520,7 @@ unsigned int OnDeAuth(struct adapter *padapter, struct recv_frame *precv_frame)
                }
 
                return _SUCCESS;
-       } else
-#endif
-       {
+       } else {
                int     ignore_received_deauth = 0;
 
                /* Before sending the auth frame to start the STA/GC mode connection with AP/GO,
@@ -1607,26 +1555,21 @@ unsigned int OnDisassoc(struct adapter *padapter, struct recv_frame *precv_frame
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        u8 *pframe = precv_frame->rx_data;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        /* check A3 */
        if (!(!memcmp(GetAddr3Ptr(pframe), get_my_bssid(&pmlmeinfo->network), ETH_ALEN)))
                return _SUCCESS;
 
-#ifdef CONFIG_88EU_P2P
        if (pwdinfo->rx_invitereq_info.scan_op_ch_only) {
                _cancel_timer_ex(&pwdinfo->reset_ch_sitesurvey);
                _set_timer(&pwdinfo->reset_ch_sitesurvey, 10);
        }
-#endif /* CONFIG_88EU_P2P */
 
        reason = le16_to_cpu(*(__le16 *)(pframe + WLAN_HDR_A3_LEN));
 
        DBG_88E("%s Reason code(%d)\n", __func__, reason);
 
-#ifdef CONFIG_88EU_AP_MODE
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
                struct sta_info *psta;
                struct sta_priv *pstapriv = &padapter->stapriv;
@@ -1650,9 +1593,7 @@ unsigned int OnDisassoc(struct adapter *padapter, struct recv_frame *precv_frame
                }
 
                return _SUCCESS;
-       } else
-#endif
-       {
+       } else {
                DBG_88E_LEVEL(_drv_always_, "ap recv disassoc reason code(%d) sta:%pM\n",
                              reason, GetAddr3Ptr(pframe));
 
@@ -1794,8 +1735,6 @@ unsigned int OnAction_back(struct adapter *padapter, struct recv_frame *precv_fr
        return _SUCCESS;
 }
 
-#ifdef CONFIG_88EU_P2P
-
 static int get_reg_classes_full_count(struct p2p_channels *channel_list)
 {
        int cnt = 0;
@@ -3472,7 +3411,6 @@ static int _issue_probereq_p2p(struct adapter *padapter, u8 *da, int wait_ack)
        unsigned char                   *mac;
        struct xmit_priv                *pxmitpriv = &padapter->xmitpriv;
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-       u8 bc_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
        u8 wpsie[255] = { 0x00 }, p2pie[255] = { 0x00 };
        u16 wpsielen = 0, p2pielen = 0;
@@ -3506,8 +3444,8 @@ static int _issue_probereq_p2p(struct adapter *padapter, u8 *da, int wait_ack)
                        memcpy(pwlanhdr->addr3, pwdinfo->p2p_peer_interface_addr, ETH_ALEN);
                } else {
                        /*      broadcast probe request frame */
-                       memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
-                       memcpy(pwlanhdr->addr3, bc_addr, ETH_ALEN);
+                       eth_broadcast_addr(pwlanhdr->addr1);
+                       eth_broadcast_addr(pwlanhdr->addr3);
                }
        }
        memcpy(pwlanhdr->addr2, mac, ETH_ALEN);
@@ -3751,45 +3689,6 @@ inline void issue_probereq_p2p(struct adapter *adapter, u8 *da)
        _issue_probereq_p2p(adapter, da, false);
 }
 
-int issue_probereq_p2p_ex(struct adapter *adapter, u8 *da, int try_cnt, int wait_ms)
-{
-       int ret;
-       int i = 0;
-       u32 start = jiffies;
-
-       do {
-               ret = _issue_probereq_p2p(adapter, da, wait_ms > 0);
-
-               i++;
-
-               if (adapter->bDriverStopped || adapter->bSurpriseRemoved)
-                       break;
-
-               if (i < try_cnt && wait_ms > 0 && ret == _FAIL)
-                       msleep(wait_ms);
-       } while ((i < try_cnt) && ((ret == _FAIL) || (wait_ms == 0)));
-
-       if (ret != _FAIL) {
-               ret = _SUCCESS;
-               goto exit;
-       }
-
-       if (try_cnt && wait_ms) {
-               if (da)
-                       DBG_88E(FUNC_ADPT_FMT" to %pM, ch:%u%s, %d/%d in %u ms\n",
-                               FUNC_ADPT_ARG(adapter), da, rtw_get_oper_ch(adapter),
-                               ret == _SUCCESS ? ", acked" : "", i, try_cnt, rtw_get_passing_time_ms(start));
-               else
-                       DBG_88E(FUNC_ADPT_FMT", ch:%u%s, %d/%d in %u ms\n",
-                               FUNC_ADPT_ARG(adapter), rtw_get_oper_ch(adapter),
-                               ret == _SUCCESS ? ", acked" : "", i, try_cnt, rtw_get_passing_time_ms(start));
-       }
-exit:
-       return ret;
-}
-
-#endif /* CONFIG_88EU_P2P */
-
 static s32 rtw_action_public_decache(struct recv_frame *recv_frame, s32 token)
 {
        struct adapter *adapter = recv_frame->adapter;
@@ -3827,7 +3726,6 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
        u8 *pframe = precv_frame->rx_data;
        u8 *frame_body;
        u8 dialogToken = 0;
-#ifdef CONFIG_88EU_P2P
        struct adapter *padapter = precv_frame->adapter;
        uint len = precv_frame->len;
        u8 *p2p_ie;
@@ -3835,7 +3733,6 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
        struct  wifidirect_info *pwdinfo = &padapter->wdinfo;
        u8      result = P2P_STATUS_SUCCESS;
        u8      empty_addr[ETH_ALEN] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-#endif /* CONFIG_88EU_P2P */
 
        frame_body = (unsigned char *)(pframe + sizeof(struct rtw_ieee80211_hdr_3addr));
 
@@ -3844,7 +3741,6 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
        if (rtw_action_public_decache(precv_frame, dialogToken) == _FAIL)
                return _FAIL;
 
-#ifdef CONFIG_88EU_P2P
        _cancel_timer_ex(&pwdinfo->reset_ch_sitesurvey);
        /*      Do nothing if the driver doesn't enable the P2P function. */
        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE) || rtw_p2p_chk_state(pwdinfo, P2P_STATE_IDLE))
@@ -4107,7 +4003,6 @@ static unsigned int on_action_public_p2p(struct recv_frame *precv_frame)
                _set_timer(&pwdinfo->restore_p2p_state_timer, P2P_PROVISION_TIMEOUT);
                break;
        }
-#endif /* CONFIG_88EU_P2P */
 
        return _SUCCESS;
 }
@@ -4184,7 +4079,6 @@ unsigned int OnAction_wmm(struct adapter *padapter, struct recv_frame *precv_fra
 
 unsigned int OnAction_p2p(struct adapter *padapter, struct recv_frame *precv_frame)
 {
-#ifdef CONFIG_88EU_P2P
        u8 *frame_body;
        u8 category, OUI_Subtype;
        u8 *pframe = precv_frame->rx_data;
@@ -4222,7 +4116,6 @@ unsigned int OnAction_p2p(struct adapter *padapter, struct recv_frame *precv_fra
        default:
                break;
        }
-#endif /* CONFIG_88EU_P2P */
        return _SUCCESS;
 }
 
@@ -4327,7 +4220,7 @@ void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe)
        if (padapter->bSurpriseRemoved || padapter->bDriverStopped)
                return;
 
-       rtw_hal_mgnt_xmit(padapter, pmgntframe);
+       rtl8188eu_mgnt_xmit(padapter, pmgntframe);
 }
 
 s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms)
@@ -4342,7 +4235,7 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr
        rtw_sctx_init(&sctx, timeout_ms);
        pxmitbuf->sctx = &sctx;
 
-       ret = rtw_hal_mgnt_xmit(padapter, pmgntframe);
+       ret = rtl8188eu_mgnt_xmit(padapter, pmgntframe);
 
        if (ret == _SUCCESS)
                ret = rtw_sctx_wait(&sctx);
@@ -4359,16 +4252,16 @@ s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmg
        if (padapter->bSurpriseRemoved || padapter->bDriverStopped)
                return -1;
 
-       _enter_critical_mutex(&pxmitpriv->ack_tx_mutex, NULL);
+       mutex_lock(&pxmitpriv->ack_tx_mutex);
        pxmitpriv->ack_tx = true;
 
        pmgntframe->ack_report = 1;
-       if (rtw_hal_mgnt_xmit(padapter, pmgntframe) == _SUCCESS) {
+       if (rtl8188eu_mgnt_xmit(padapter, pmgntframe) == _SUCCESS) {
                ret = rtw_ack_tx_wait(pxmitpriv, timeout_ms);
        }
 
        pxmitpriv->ack_tx = false;
-       _exit_critical_mutex(&pxmitpriv->ack_tx_mutex, NULL);
+       mutex_unlock(&pxmitpriv->ack_tx_mutex);
 
        return ret;
 }
@@ -4419,19 +4312,14 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        struct wlan_bssid_ex            *cur_network = &pmlmeinfo->network;
-       u8      bc_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
        if (!pmgntframe) {
                DBG_88E("%s, alloc mgnt frame fail\n", __func__);
                return;
        }
-#if defined(CONFIG_88EU_AP_MODE)
        spin_lock_bh(&pmlmepriv->bcn_update_lock);
-#endif /* if defined (CONFIG_88EU_AP_MODE) */
 
        /* update attribute */
        pattrib = &pmgntframe->attrib;
@@ -4446,7 +4334,7 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
        fctrl = &pwlanhdr->frame_ctl;
        *(fctrl) = 0;
 
-       memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
+       eth_broadcast_addr(pwlanhdr->addr1);
        memcpy(pwlanhdr->addr2, myid(&padapter->eeprompriv), ETH_ALEN);
        memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN);
 
@@ -4458,7 +4346,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
        pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr);
 
        if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) {
-#ifdef CONFIG_88EU_P2P
                /*  for P2P : Primary Device Type & Device Name */
                u32 wpsielen = 0, insert_len = 0;
                u8 *wpsie = NULL;
@@ -4523,9 +4410,7 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
                        memcpy(pframe, premainder_ie, remainder_ielen);
                        pframe += remainder_ielen;
                        pattrib->pktlen += remainder_ielen;
-               } else
-#endif /* CONFIG_88EU_P2P */
-               {
+               } else {
                        int len_diff;
                        memcpy(pframe, cur_network->IEs, cur_network->IELength);
                        len_diff = update_hidden_ssid(
@@ -4551,7 +4436,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
                                _clr_fwstate_(pmlmepriv, WIFI_UNDER_WPS);
                }
 
-#ifdef CONFIG_88EU_P2P
                if (rtw_p2p_chk_role(pwdinfo, P2P_ROLE_GO)) {
                        u32 len;
                        len = build_beacon_p2p_ie(pwdinfo, pframe);
@@ -4559,7 +4443,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
                        pframe += len;
                        pattrib->pktlen += len;
                }
-#endif /* CONFIG_88EU_P2P */
 
                goto _issue_bcn;
        }
@@ -4611,11 +4494,9 @@ void issue_beacon(struct adapter *padapter, int timeout_ms)
        /* todo:HT for adhoc */
 _issue_bcn:
 
-#if defined(CONFIG_88EU_AP_MODE)
        pmlmepriv->update_bcn = false;
 
        spin_unlock_bh(&pmlmepriv->bcn_update_lock);
-#endif /* if defined (CONFIG_88EU_AP_MODE) */
 
        if ((pattrib->pktlen + TXDESC_SIZE) > 512) {
                DBG_88E("beacon frame too large\n");
@@ -4640,18 +4521,14 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
        __le16 *fctrl;
        unsigned char                                   *mac, *bssid;
        struct xmit_priv        *pxmitpriv = &padapter->xmitpriv;
-#if defined(CONFIG_88EU_AP_MODE)
        u8 *pwps_ie;
        uint wps_ielen;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-#endif /* if defined (CONFIG_88EU_AP_MODE) */
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        struct wlan_bssid_ex            *cur_network = &pmlmeinfo->network;
        unsigned int    rate_len;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
        if (!pmgntframe) {
@@ -4688,7 +4565,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
        if (cur_network->IELength > MAX_IE_SZ)
                return;
 
-#if defined(CONFIG_88EU_AP_MODE)
        if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) {
                pwps_ie = rtw_get_wps_ie(cur_network->IEs + _FIXED_IE_LENGTH_, cur_network->IELength - _FIXED_IE_LENGTH_, NULL, &wps_ielen);
 
@@ -4724,9 +4600,7 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
                        pframe += cur_network->IELength;
                        pattrib->pktlen += cur_network->IELength;
                }
-       } else
-#endif
-       {
+       } else {
                /* timestamp will be inserted by hardware */
                pframe += 8;
                pattrib->pktlen += 8;
@@ -4775,7 +4649,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
                /* todo:HT for adhoc */
        }
 
-#ifdef CONFIG_88EU_P2P
        if (rtw_p2p_chk_role(pwdinfo, P2P_ROLE_GO) && is_valid_p2p_probereq) {
                u32 len;
                len = build_probe_resp_p2p_ie(pwdinfo, pframe);
@@ -4783,7 +4656,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
                pframe += len;
                pattrib->pktlen += len;
        }
-#endif /* CONFIG_88EU_P2P */
 
        pattrib->last_txcmdsz = pattrib->pktlen;
 
@@ -4804,7 +4676,6 @@ static int _issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *ps
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        int     bssrate_len = 0;
-       u8      bc_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
        if (!pmgntframe)
@@ -4830,8 +4701,8 @@ static int _issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *ps
                memcpy(pwlanhdr->addr3, da, ETH_ALEN);
        } else {
                /*      broadcast probe request frame */
-               memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
-               memcpy(pwlanhdr->addr3, bc_addr, ETH_ALEN);
+               eth_broadcast_addr(pwlanhdr->addr1);
+               eth_broadcast_addr(pwlanhdr->addr3);
        }
 
        memcpy(pwlanhdr->addr2, mac, ETH_ALEN);
@@ -4931,9 +4802,7 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
        __le16 *fctrl;
        unsigned int val32;
        u16 val16;
-#ifdef CONFIG_88EU_AP_MODE
        __le16 le_val16;
-#endif
        int use_shared_key = 0;
        struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
@@ -4963,8 +4832,6 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
        pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr);
 
        if (psta) {/*  for AP mode */
-#ifdef CONFIG_88EU_AP_MODE
-
                memcpy(pwlanhdr->addr1, psta->hwaddr, ETH_ALEN);
                memcpy(pwlanhdr->addr2, myid(&padapter->eeprompriv), ETH_ALEN);
                memcpy(pwlanhdr->addr3, myid(&padapter->eeprompriv), ETH_ALEN);
@@ -4997,7 +4864,6 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
                /*  added challenging text... */
                if ((psta->auth_seq == 2) && (psta->state & WIFI_FW_AUTH_STATE) && (use_shared_key == 1))
                        pframe = rtw_set_ie(pframe, _CHLGETXT_IE_, 128, psta->chg_txt, &pattrib->pktlen);
-#endif
        } else {
                __le32 le_tmp32;
                __le16 le_tmp16;
@@ -5049,14 +4915,13 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
 
        pattrib->last_txcmdsz = pattrib->pktlen;
 
-       rtw_wep_encrypt(padapter, (u8 *)pmgntframe);
+       rtw_wep_encrypt(padapter, pmgntframe);
        DBG_88E("%s\n", __func__);
        dump_mgntframe(padapter, pmgntframe);
 }
 
 void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type)
 {
-#ifdef CONFIG_88EU_AP_MODE
        struct xmit_frame       *pmgntframe;
        struct rtw_ieee80211_hdr        *pwlanhdr;
        struct pkt_attrib *pattrib;
@@ -5070,9 +4935,7 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
        struct wlan_bssid_ex *pnetwork = &pmlmeinfo->network;
        u8 *ie = pnetwork->IEs;
        __le16 lestatus, leval;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        DBG_88E("%s\n", __func__);
 
@@ -5175,7 +5038,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
                pattrib->pktlen += pmlmepriv->wps_assoc_resp_ie_len;
        }
 
-#ifdef CONFIG_88EU_P2P
        if (rtw_p2p_chk_role(pwdinfo, P2P_ROLE_GO) && (pstat->is_p2p_device)) {
                u32 len;
 
@@ -5184,10 +5046,8 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
                pframe += len;
                pattrib->pktlen += len;
        }
-#endif /* CONFIG_88EU_P2P */
        pattrib->last_txcmdsz = pattrib->pktlen;
        dump_mgntframe(padapter, pmgntframe);
-#endif
 }
 
 void issue_assocreq(struct adapter *padapter)
@@ -5208,11 +5068,9 @@ void issue_assocreq(struct adapter *padapter)
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        int     bssrate_len = 0, sta_bssrate_len = 0;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
        u8 p2pie[255] = { 0x00 };
        u16 p2pielen = 0;
-#endif /* CONFIG_88EU_P2P */
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
        if (!pmgntframe)
@@ -5327,7 +5185,7 @@ void issue_assocreq(struct adapter *padapter)
                        /* todo: disable SM power save mode */
                        pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info |= cpu_to_le16(0x000c);
 
-                       rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
+                       GetHwReg8188EU(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
                        switch (rf_type) {
                        case RF_1T1R:
                                if (pregpriv->rx_stbc)
@@ -5378,8 +5236,6 @@ void issue_assocreq(struct adapter *padapter)
        if (pmlmeinfo->assoc_AP_vendor == HT_IOT_PEER_REALTEK)
                pframe = rtw_set_ie(pframe, _VENDOR_SPECIFIC_IE_, 6, REALTEK_96B_IE, &pattrib->pktlen);
 
-#ifdef CONFIG_88EU_P2P
-
        if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE) && !rtw_p2p_chk_state(pwdinfo, P2P_STATE_IDLE)) {
                /*      Should add the P2P IE in the association request frame. */
                /*      P2P OUI */
@@ -5507,8 +5363,6 @@ void issue_assocreq(struct adapter *padapter)
                pframe = rtw_set_ie(pframe, _VENDOR_SPECIFIC_IE_, p2pielen, (unsigned char *)p2pie, &pattrib->pktlen);
        }
 
-#endif /* CONFIG_88EU_P2P */
-
        pattrib->last_txcmdsz = pattrib->pktlen;
        dump_mgntframe(padapter, pmgntframe);
 
@@ -5678,9 +5532,6 @@ static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16
        else if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE)
                SetToDs(fctrl);
 
-       if (pattrib->mdata)
-               SetMData(fctrl);
-
        qc = (unsigned short *)(pframe + pattrib->hdrlen - 2);
 
        SetPriority(qc, tid);
@@ -5770,16 +5621,12 @@ static int _issue_deauth(struct adapter *padapter, unsigned char *da, unsigned s
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        int ret = _FAIL;
        __le16 le_tmp;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
-#ifdef CONFIG_88EU_P2P
        if (!(rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE)) && (pwdinfo->rx_invitereq_info.scan_op_ch_only)) {
                _cancel_timer_ex(&pwdinfo->reset_ch_sitesurvey);
                _set_timer(&pwdinfo->reset_ch_sitesurvey, 10);
        }
-#endif /* CONFIG_88EU_P2P */
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
        if (!pmgntframe)
@@ -5869,65 +5716,6 @@ exit:
        return ret;
 }
 
-void issue_action_spct_ch_switch(struct adapter *padapter, u8 *ra, u8 new_ch, u8 ch_offset)
-{
-       struct xmit_frame                       *pmgntframe;
-       struct pkt_attrib                       *pattrib;
-       unsigned char                           *pframe;
-       struct rtw_ieee80211_hdr        *pwlanhdr;
-       __le16 *fctrl;
-       struct xmit_priv                        *pxmitpriv = &padapter->xmitpriv;
-       struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
-
-       DBG_88E(FUNC_NDEV_FMT" ra =%pM, ch:%u, offset:%u\n",
-               FUNC_NDEV_ARG(padapter->pnetdev), ra, new_ch, ch_offset);
-
-       pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (!pmgntframe)
-               return;
-
-       /* update attribute */
-       pattrib = &pmgntframe->attrib;
-       update_mgntframe_attrib(padapter, pattrib);
-
-       memset(pmgntframe->buf_addr, 0, WLANHDR_OFFSET + TXDESC_OFFSET);
-
-       pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET;
-       pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
-
-       fctrl = &pwlanhdr->frame_ctl;
-       *(fctrl) = 0;
-
-       memcpy(pwlanhdr->addr1, ra, ETH_ALEN); /* RA */
-       memcpy(pwlanhdr->addr2, myid(&padapter->eeprompriv), ETH_ALEN); /* TA */
-       memcpy(pwlanhdr->addr3, ra, ETH_ALEN); /* DA = RA */
-
-       SetSeqNum(pwlanhdr, pmlmeext->mgnt_seq);
-       pmlmeext->mgnt_seq++;
-       SetFrameSubType(pframe, WIFI_ACTION);
-
-       pframe += sizeof(struct rtw_ieee80211_hdr_3addr);
-       pattrib->pktlen = sizeof(struct rtw_ieee80211_hdr_3addr);
-
-       /* category, action */
-       {
-               u8 category, action;
-               category = RTW_WLAN_CATEGORY_SPECTRUM_MGMT;
-               action = RTW_WLAN_ACTION_SPCT_CHL_SWITCH;
-
-               pframe = rtw_set_fixed_ie(pframe, 1, &category, &pattrib->pktlen);
-               pframe = rtw_set_fixed_ie(pframe, 1, &action, &pattrib->pktlen);
-       }
-
-       pframe = rtw_set_ie_ch_switch(pframe, &pattrib->pktlen, 0, new_ch, 0);
-       pframe = rtw_set_ie_secondary_ch_offset(pframe, &pattrib->pktlen,
-               hal_ch_offset_to_secondary_ch_offset(ch_offset));
-
-       pattrib->last_txcmdsz = pattrib->pktlen;
-
-       dump_mgntframe(padapter, pmgntframe);
-}
-
 void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned char action, unsigned short status)
 {
        u8 category = RTW_WLAN_CATEGORY_BACK;
@@ -6016,7 +5804,7 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch
                        pframe = rtw_set_fixed_ie(pframe, 1, &pmlmeinfo->ADDBA_req.dialog_token, &pattrib->pktlen);
                        pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)&status, &pattrib->pktlen);
                        BA_para_set = le16_to_cpu(pmlmeinfo->ADDBA_req.BA_para_set) & 0x3f;
-                       rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor);
+                       GetHalDefVar8188EUsb(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor);
                        switch (max_rx_ampdu_factor) {
                        case MAX_AMPDU_FACTOR_64K:
                                BA_para_set |= 0x1000; /* 64 buffer size */
@@ -6240,13 +6028,13 @@ unsigned int send_beacon(struct adapter *padapter)
 
        u32 start = jiffies;
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_BCN_VALID, NULL);
+       SetHwReg8188EU(padapter, HW_VAR_BCN_VALID, NULL);
        do {
                issue_beacon(padapter, 100);
                issue++;
                do {
                        yield();
-                       rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, (u8 *)(&bxmitok));
+                       GetHwReg8188EU(padapter, HW_VAR_BCN_VALID, (u8 *)(&bxmitok));
                        poll++;
                } while ((poll % 10) != 0 && !bxmitok && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
        } while (!bxmitok && issue < 100 && !padapter->bSurpriseRemoved && !padapter->bDriverStopped);
@@ -6278,8 +6066,6 @@ void site_survey(struct adapter *padapter)
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        u32 initialgain = 0;
-
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
 
        if ((pwdinfo->rx_invitereq_info.scan_op_ch_only) || (pwdinfo->p2p_info.scan_op_ch_only)) {
@@ -6299,9 +6085,7 @@ void site_survey(struct adapter *padapter)
                        ScanType = pmlmeext->channel_set[ch_set_idx].ScanType;
                else
                        ScanType = SCAN_ACTIVE;
-       } else
-#endif /* CONFIG_88EU_P2P */
-       {
+       } else {
                struct rtw_ieee80211_channel *ch;
                if (pmlmeext->sitesurvey_res.channel_idx < pmlmeext->sitesurvey_res.ch_num) {
                        ch = &pmlmeext->sitesurvey_res.ch[pmlmeext->sitesurvey_res.channel_idx];
@@ -6311,25 +6095,18 @@ void site_survey(struct adapter *padapter)
        }
 
        if (survey_channel != 0) {
-               /* PAUSE 4-AC Queue when site_survey */
-               /* rtw_hal_get_hwreg(padapter, HW_VAR_TXPAUSE, (u8 *)(&val8)); */
-               /* val8 |= 0x0f; */
-               /* rtw_hal_set_hwreg(padapter, HW_VAR_TXPAUSE, (u8 *)(&val8)); */
                if (pmlmeext->sitesurvey_res.channel_idx == 0)
                        set_channel_bwmode(padapter, survey_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20);
                else
                        SelectChannel(padapter, survey_channel);
 
                if (ScanType == SCAN_ACTIVE) { /* obey the channel plan setting... */
-                       #ifdef CONFIG_88EU_P2P
                        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_SCAN) ||
                            rtw_p2p_chk_state(pwdinfo, P2P_STATE_FIND_PHASE_SEARCH)) {
                                issue_probereq_p2p(padapter, NULL);
                                issue_probereq_p2p(padapter, NULL);
                                issue_probereq_p2p(padapter, NULL);
-                       } else
-                       #endif /* CONFIG_88EU_P2P */
-                       {
+                       } else {
                                int i;
                                for (i = 0; i < RTW_SSID_SCAN_AMOUNT; i++) {
                                        if (pmlmeext->sitesurvey_res.ssid[i].SsidLength) {
@@ -6352,8 +6129,6 @@ void site_survey(struct adapter *padapter)
                set_survey_timer(pmlmeext, pmlmeext->chan_scan_time);
        } else {
                /*      channel number is 0 or this channel is not valid. */
-
-#ifdef CONFIG_88EU_P2P
                if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_SCAN) || rtw_p2p_chk_state(pwdinfo, P2P_STATE_FIND_PHASE_SEARCH)) {
                        if ((pwdinfo->rx_invitereq_info.scan_op_ch_only) || (pwdinfo->p2p_info.scan_op_ch_only)) {
                                /*      Set the find_phase_state_exchange_cnt to P2P_FINDPHASE_EX_CNT. */
@@ -6369,51 +6144,41 @@ void site_survey(struct adapter *padapter)
                        pmlmeext->sitesurvey_res.state = SCAN_DISABLE;
 
                        initialgain = 0xff; /* restore RX GAIN */
-                       rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
+                       SetHwReg8188EU(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
                        /* turn on dynamic functions */
                        Restore_DM_Func_Flag(padapter);
                        /* Switch_DM_Func(padapter, DYNAMIC_FUNC_DIG|DYNAMIC_FUNC_HP|DYNAMIC_FUNC_SS, true); */
 
                        _set_timer(&pwdinfo->find_phase_timer, (u32)((u32)(pwdinfo->listen_dwell) * 100));
-               } else
-#endif /* CONFIG_88EU_P2P */
-               {
+               } else {
                        /*  20100721:Interrupt scan operation here. */
                        /*  For SW antenna diversity before link, it needs to switch to another antenna and scan again. */
                        /*  It compares the scan result and select beter one to do connection. */
-                       if (rtw_hal_antdiv_before_linked(padapter)) {
+                       if (AntDivBeforeLink8188E(padapter)) {
                                pmlmeext->sitesurvey_res.bss_cnt = 0;
                                pmlmeext->sitesurvey_res.channel_idx = -1;
                                pmlmeext->chan_scan_time = SURVEY_TO / 2;
                                set_survey_timer(pmlmeext, pmlmeext->chan_scan_time);
                                return;
                        }
-#ifdef CONFIG_88EU_P2P
                        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_SCAN) || rtw_p2p_chk_state(pwdinfo, P2P_STATE_FIND_PHASE_SEARCH))
                                rtw_p2p_set_state(pwdinfo, rtw_p2p_pre_state(pwdinfo));
                        rtw_p2p_findphase_ex_set(pwdinfo, P2P_FINDPHASE_EX_NONE);
-#endif /* CONFIG_88EU_P2P */
 
                        pmlmeext->sitesurvey_res.state = SCAN_COMPLETE;
 
                        /* switch back to the original channel */
 
-#ifdef CONFIG_88EU_P2P
                        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_LISTEN))
                                set_channel_bwmode(padapter, pwdinfo->listen_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20);
                        else
                                set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
-#endif /* CONFIG_88EU_P2P */
-
-                       /* flush 4-AC Queue after site_survey */
-                       /* val8 = 0; */
-                       /* rtw_hal_set_hwreg(padapter, HW_VAR_TXPAUSE, (u8 *)(&val8)); */
 
                        /* config MSR */
                        Set_MSR(padapter, (pmlmeinfo->state & 0x3));
 
                        initialgain = 0xff; /* restore RX GAIN */
-                       rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
+                       SetHwReg8188EU(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
                        /* turn on dynamic functions */
                        Restore_DM_Func_Flag(padapter);
                        /* Switch_DM_Func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true); */
@@ -6422,7 +6187,7 @@ void site_survey(struct adapter *padapter)
                                issue_nulldata(padapter, NULL, 0, 3, 500);
 
                        val8 = 0; /* survey done */
-                       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+                       SetHwReg8188EU(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
 
                        report_surveydone_event(padapter);
 
@@ -6487,7 +6252,7 @@ u8 collect_bss_info(struct adapter *padapter, struct recv_frame *precv_frame, st
        bssid->Rssi = precv_frame->attrib.phy_info.recvpower; /*  in dBM.raw data */
        bssid->PhyInfo.SignalQuality = precv_frame->attrib.phy_info.SignalQuality;/* in percentage */
        bssid->PhyInfo.SignalStrength = precv_frame->attrib.phy_info.SignalStrength;/* in percentage */
-       rtw_hal_get_def_var(padapter, HAL_DEF_CURRENT_ANTENNA,  &bssid->PhyInfo.Optimum_antenna);
+       GetHalDefVar8188EUsb(padapter, HAL_DEF_CURRENT_ANTENNA,  &bssid->PhyInfo.Optimum_antenna);
 
        /*  checking SSID */
        p = rtw_get_ie(bssid->IEs + ie_offset, _SSID_IE_, &len, bssid->IELength - ie_offset);
@@ -6615,7 +6380,7 @@ void start_create_ibss(struct adapter *padapter)
        update_capinfo(padapter, caps);
        if (caps & cap_IBSS) {/* adhoc master */
                val8 = 0xcf;
-               rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
+               SetHwReg8188EU(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
 
                /* switch channel */
                /* SelectChannel(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE); */
@@ -6632,9 +6397,9 @@ void start_create_ibss(struct adapter *padapter)
                        report_join_res(padapter, -1);
                        pmlmeinfo->state = WIFI_FW_NULL_STATE;
                } else {
-                       rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, padapter->registrypriv.dev_network.MacAddress);
+                       SetHwReg8188EU(padapter, HW_VAR_BSSID, padapter->registrypriv.dev_network.MacAddress);
                        join_type = 0;
-                       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+                       SetHwReg8188EU(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
 
                        report_join_res(padapter, 1);
                        pmlmeinfo->state |= WIFI_FW_ASSOC_SUCCESS;
@@ -6671,7 +6436,7 @@ void start_clnt_join(struct adapter *padapter)
 
                val8 = (pmlmeinfo->auth_algo == dot11AuthAlgrthm_8021X) ? 0xcc : 0xcf;
 
-               rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
+               SetHwReg8188EU(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
 
                /* switch channel */
                set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
@@ -6688,7 +6453,7 @@ void start_clnt_join(struct adapter *padapter)
                Set_MSR(padapter, WIFI_FW_ADHOC_STATE);
 
                val8 = 0xcf;
-               rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
+               SetHwReg8188EU(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8));
 
                /* switch channel */
                set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode);
@@ -7225,8 +6990,8 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
 
        if (join_res < 0) {
                join_type = 1;
-               rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
-               rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, null_addr);
+               SetHwReg8188EU(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+               SetHwReg8188EU(padapter, HW_VAR_BSSID, null_addr);
 
                /* restore to initial setting. */
                update_tx_basic_rate(padapter, padapter->registrypriv.wireless_mode);
@@ -7250,10 +7015,10 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
        /*  update IOT-releated issue */
        update_IOT_info(padapter);
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, cur_network->SupportedRates);
+       SetHwReg8188EU(padapter, HW_VAR_BASIC_RATE, cur_network->SupportedRates);
 
        /* BCN interval */
-       rtw_hal_set_hwreg(padapter, HW_VAR_BEACON_INTERVAL, (u8 *)(&pmlmeinfo->bcn_interval));
+       SetHwReg8188EU(padapter, HW_VAR_BEACON_INTERVAL, (u8 *)(&pmlmeinfo->bcn_interval));
 
        /* udpate capability */
        update_capinfo(padapter, pmlmeinfo->capability);
@@ -7274,13 +7039,13 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res)
 
                /* set per sta rate after updating HT cap. */
                set_sta_rate(padapter, psta);
-               rtw_hal_set_hwreg(padapter, HW_VAR_TX_RPT_MAX_MACID, (u8 *)&psta->mac_id);
+               SetHwReg8188EU(padapter, HW_VAR_TX_RPT_MAX_MACID, (u8 *)&psta->mac_id);
                media_status = (psta->mac_id << 8) | 1; /*   MACID|OPMODE: 1 means connect */
-               rtw_hal_set_hwreg(padapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status);
+               SetHwReg8188EU(padapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status);
        }
 
        join_type = 2;
-       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+       SetHwReg8188EU(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
 
        if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE) {
                /*  correcting TSF */
@@ -7318,7 +7083,7 @@ void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *p
                }
 
                join_type = 2;
-               rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+               SetHwReg8188EU(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
        }
 
        pmlmeinfo->FW_sta_info[psta->mac_id].psta = psta;
@@ -7336,8 +7101,8 @@ void mlmeext_sta_del_event_callback(struct adapter *padapter)
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
 
        if (is_client_associated_to_ap(padapter) || is_IBSS_empty(padapter)) {
-               rtw_hal_set_hwreg(padapter, HW_VAR_MLME_DISCONNECT, NULL);
-               rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, null_addr);
+               SetHwReg8188EU(padapter, HW_VAR_MLME_DISCONNECT, NULL);
+               SetHwReg8188EU(padapter, HW_VAR_BSSID, null_addr);
 
                /* restore to initial setting. */
                update_tx_basic_rate(padapter, padapter->registrypriv.wireless_mode);
@@ -7378,9 +7143,9 @@ void _linked_rx_signal_strehgth_display(struct adapter *padapter)
        else if ((pmlmeinfo->state & 0x03) == _HW_STATE_AP_)
                mac_id = 2;
 
-       rtw_hal_get_def_var(padapter, HW_DEF_RA_INFO_DUMP, &mac_id);
+       GetHalDefVar8188EUsb(padapter, HW_DEF_RA_INFO_DUMP, &mac_id);
 
-       rtw_hal_get_def_var(padapter, HAL_DEF_UNDERCORATEDSMOOTHEDPWDB, &UndecoratedSmoothedPWDB);
+       GetHalDefVar8188EUsb(padapter, HAL_DEF_UNDERCORATEDSMOOTHEDPWDB, &UndecoratedSmoothedPWDB);
        DBG_88E("UndecoratedSmoothedPWDB:%d\n", UndecoratedSmoothedPWDB);
 }
 
@@ -7412,7 +7177,7 @@ void linked_status_chk(struct adapter *padapter)
        if (padapter->bRxRSSIDisplay)
                _linked_rx_signal_strehgth_display(padapter);
 
-       rtw_hal_sreset_linked_status_check(padapter);
+       rtl8188e_sreset_linked_status_check(padapter);
 
        if (is_client_associated_to_ap(padapter)) {
                /* linked infrastructure client mode */
@@ -7424,9 +7189,7 @@ void linked_status_chk(struct adapter *padapter)
                psta = rtw_get_stainfo(pstapriv, pmlmeinfo->network.MacAddress);
                if (psta) {
                        bool is_p2p_enable = false;
-                       #ifdef CONFIG_88EU_P2P
                        is_p2p_enable = !rtw_p2p_chk_state(&padapter->wdinfo, P2P_STATE_NONE);
-                       #endif
 
                        if (!chk_ap_is_alive(padapter, psta))
                                rx_chk = _FAIL;
@@ -7524,9 +7287,7 @@ void survey_timer_hdl(struct adapter *padapter)
        struct sitesurvey_parm  *psurveyPara;
        struct cmd_priv                                 *pcmdpriv = &padapter->cmdpriv;
        struct mlme_ext_priv            *pmlmeext = &padapter->mlmeextpriv;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif
 
        /* issue rtw_sitesurvey_cmd */
        if (pmlmeext->sitesurvey_res.state > SCAN_START) {
@@ -7534,7 +7295,6 @@ void survey_timer_hdl(struct adapter *padapter)
                        pmlmeext->sitesurvey_res.channel_idx++;
 
                if (pmlmeext->scan_abort) {
-                       #ifdef CONFIG_88EU_P2P
                        if (!rtw_p2p_chk_state(&padapter->wdinfo, P2P_STATE_NONE)) {
                                rtw_p2p_findphase_ex_set(pwdinfo, P2P_FINDPHASE_EX_MAX);
                                pmlmeext->sitesurvey_res.channel_idx = 3;
@@ -7542,9 +7302,7 @@ void survey_timer_hdl(struct adapter *padapter)
                                        , pmlmeext->sitesurvey_res.channel_idx
                                        , pwdinfo->find_phase_state_exchange_cnt
                        );
-                       } else
-                       #endif
-                       {
+                       } else {
                                pmlmeext->sitesurvey_res.channel_idx = pmlmeext->sitesurvey_res.ch_num;
                                DBG_88E("%s idx:%d\n", __func__
                                        , pmlmeext->sitesurvey_res.channel_idx
@@ -7647,8 +7405,7 @@ u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf)
                type = _HW_STATE_NOLINK_;
        }
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_SET_OPMODE, (u8 *)(&type));
-       /* Set_NETYPE0_MSR(padapter, type); */
+       SetHwReg8188EU(padapter, HW_VAR_SET_OPMODE, (u8 *)(&type));
 
        return H2C_SUCCESS;
 }
@@ -7662,13 +7419,10 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf)
        /* u32  initialgain; */
 
        if (pparm->network.InfrastructureMode == Ndis802_11APMode) {
-#ifdef CONFIG_88EU_AP_MODE
-
                if (pmlmeinfo->state == WIFI_FW_AP_STATE) {
                        /* todo: */
                        return H2C_SUCCESS;
                }
-#endif
        }
 
        /* below is for ad-hoc master */
@@ -7689,10 +7443,6 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf)
                Save_DM_Func_Flag(padapter);
                Switch_DM_Func(padapter, DYNAMIC_FUNC_DISABLE, false);
 
-               /* config the initial gain under linking, need to write the BB registers */
-               /* initialgain = 0x1E; */
-               /* rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); */
-
                /* cancel link timer */
                _cancel_timer_ex(&pmlmeext->link_timer);
 
@@ -7739,7 +7489,7 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
                /* set MSR to nolink -> infra. mode */
                Set_MSR(padapter, _HW_STATE_STATION_);
 
-               rtw_hal_set_hwreg(padapter, HW_VAR_MLME_DISCONNECT, NULL);
+               SetHwReg8188EU(padapter, HW_VAR_MLME_DISCONNECT, NULL);
        }
 
        rtw_antenna_select_cmd(padapter, pparm->network.PhyInfo.Optimum_antenna, false);
@@ -7814,9 +7564,9 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf)
 
        /* config the initial gain under linking, need to write the BB registers */
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pmlmeinfo->network.MacAddress);
+       SetHwReg8188EU(padapter, HW_VAR_BSSID, pmlmeinfo->network.MacAddress);
        join_type = 0;
-       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
+       SetHwReg8188EU(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type));
 
        /* cancel link timer */
        _cancel_timer_ex(&pmlmeext->link_timer);
@@ -7837,8 +7587,8 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
        if (is_client_associated_to_ap(padapter))
                issue_deauth_ex(padapter, pnetwork->MacAddress, WLAN_REASON_DEAUTH_LEAVING, param->deauth_timeout_ms / 100, 100);
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_DISCONNECT, NULL);
-       rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, null_addr);
+       SetHwReg8188EU(padapter, HW_VAR_MLME_DISCONNECT, NULL);
+       SetHwReg8188EU(padapter, HW_VAR_BSSID, null_addr);
 
        /* restore to initial setting. */
        update_tx_basic_rate(padapter, padapter->registrypriv.wireless_mode);
@@ -7846,7 +7596,7 @@ u8 disconnect_hdl(struct adapter *padapter, unsigned char *pbuf)
        if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) {
                /* Stop BCN */
                val8 = 0;
-               rtw_hal_set_hwreg(padapter, HW_VAR_BCN_FUNC, (u8 *)(&val8));
+               SetHwReg8188EU(padapter, HW_VAR_BCN_FUNC, (u8 *)(&val8));
        }
 
        /* set MSR to no link state -> infra. mode */
@@ -7919,14 +7669,10 @@ u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
        u8 val8;
        u32     initialgain;
        u32     i;
-
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif
 
        if (pmlmeext->sitesurvey_res.state == SCAN_DISABLE) {
                /* for first time sitesurvey_cmd */
-               rtw_hal_set_hwreg(padapter, HW_VAR_CHECK_TXBUF, NULL);
 
                pmlmeext->sitesurvey_res.state = SCAN_START;
                pmlmeext->sitesurvey_res.bss_cnt = 0;
@@ -7969,22 +7715,18 @@ u8 sitesurvey_cmd_hdl(struct adapter *padapter, u8 *pbuf)
                Switch_DM_Func(padapter, DYNAMIC_FUNC_DISABLE, false);
 
                /* config the initial gain under scanning, need to write the BB registers */
-#ifdef CONFIG_88EU_P2P
                if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
                        initialgain = 0x1E;
                else
                        initialgain = 0x28;
-#else  /*  CONFIG_88EU_P2P */
-               initialgain = 0x1E;
-#endif /*  CONFIG_88EU_P2P */
 
-               rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
+               SetHwReg8188EU(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain));
 
                /* set MSR to no link state */
                Set_MSR(padapter, _HW_STATE_NOLINK_);
 
                val8 = 1; /* under site survey */
-               rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+               SetHwReg8188EU(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
 
                pmlmeext->sitesurvey_res.state = SCAN_PROCESS;
        }
@@ -8208,9 +7950,8 @@ u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf)
        if (send_beacon(padapter) == _FAIL) {
                DBG_88E("issue_beacon, fail!\n");
                return H2C_PARAMETERS_ERROR;
-       }
-#ifdef CONFIG_88EU_AP_MODE
-       else { /* tx bc/mc frames after update TIM */
+       } else {
+               /* tx bc/mc frames after update TIM */
                struct sta_info *psta_bmc;
                struct list_head *xmitframe_plist, *xmitframe_phead;
                struct xmit_frame *pxmitframe = NULL;
@@ -8246,14 +7987,13 @@ u8 tx_beacon_hdl(struct adapter *padapter, unsigned char *pbuf)
                                pxmitframe->attrib.qsel = 0x11;/* HIQ */
 
                                spin_unlock_bh(&psta_bmc->sleep_q.lock);
-                               if (rtw_hal_xmit(padapter, pxmitframe))
+                               if (rtl8188eu_hal_xmit(padapter, pxmitframe))
                                        rtw_os_xmit_complete(padapter, pxmitframe);
                                spin_lock_bh(&psta_bmc->sleep_q.lock);
                        }
                        spin_unlock_bh(&psta_bmc->sleep_q.lock);
                }
        }
-#endif
        return H2C_SUCCESS;
 }
 
diff --git a/drivers/staging/r8188eu/core/rtw_mp.c b/drivers/staging/r8188eu/core/rtw_mp.c
deleted file mode 100644 (file)
index dabdd04..0000000
+++ /dev/null
@@ -1,935 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#define _RTW_MP_C_
-
-#include "../include/drv_types.h"
-#include "../include/odm_precomp.h"
-#include "../include/rtl8188e_hal.h"
-
-u32 read_bbreg(struct adapter *padapter, u32 addr, u32 bitmask)
-{
-       return rtw_hal_read_bbreg(padapter, addr, bitmask);
-}
-
-void write_bbreg(struct adapter *padapter, u32 addr, u32 bitmask, u32 val)
-{
-       rtw_hal_write_bbreg(padapter, addr, bitmask, val);
-}
-
-u32 _read_rfreg(struct adapter *padapter, u8 rfpath, u32 addr, u32 bitmask)
-{
-       return rtw_hal_read_rfreg(padapter, (enum rf_radio_path)rfpath, addr, bitmask);
-}
-
-void _write_rfreg(struct adapter *padapter, u8 rfpath, u32 addr, u32 bitmask, u32 val)
-{
-       rtw_hal_write_rfreg(padapter, (enum rf_radio_path)rfpath, addr, bitmask, val);
-}
-
-u32 read_rfreg(struct adapter *padapter, u8 rfpath, u32 addr)
-{
-       return _read_rfreg(padapter, (enum rf_radio_path)rfpath, addr, bRFRegOffsetMask);
-}
-
-void write_rfreg(struct adapter *padapter, u8 rfpath, u32 addr, u32 val)
-{
-       _write_rfreg(padapter, (enum rf_radio_path)rfpath, addr, bRFRegOffsetMask, val);
-}
-
-static void _init_mp_priv_(struct mp_priv *pmp_priv)
-{
-       struct wlan_bssid_ex *pnetwork;
-
-       memset(pmp_priv, 0, sizeof(struct mp_priv));
-
-       pmp_priv->mode = MP_OFF;
-
-       pmp_priv->channel = 1;
-       pmp_priv->bandwidth = HT_CHANNEL_WIDTH_20;
-       pmp_priv->prime_channel_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
-       pmp_priv->rateidx = MPT_RATE_1M;
-       pmp_priv->txpoweridx = 0x2A;
-
-       pmp_priv->antenna_tx = ANTENNA_A;
-       pmp_priv->antenna_rx = ANTENNA_AB;
-
-       pmp_priv->check_mp_pkt = 0;
-
-       pmp_priv->tx_pktcount = 0;
-
-       pmp_priv->rx_pktcount = 0;
-       pmp_priv->rx_crcerrpktcount = 0;
-
-       pmp_priv->network_macaddr[0] = 0x00;
-       pmp_priv->network_macaddr[1] = 0xE0;
-       pmp_priv->network_macaddr[2] = 0x4C;
-       pmp_priv->network_macaddr[3] = 0x87;
-       pmp_priv->network_macaddr[4] = 0x66;
-       pmp_priv->network_macaddr[5] = 0x55;
-
-       pnetwork = &pmp_priv->mp_network.network;
-       memcpy(pnetwork->MacAddress, pmp_priv->network_macaddr, ETH_ALEN);
-
-       pnetwork->Ssid.SsidLength = 8;
-       memcpy(pnetwork->Ssid.Ssid, "mp_871x", pnetwork->Ssid.SsidLength);
-}
-
-static void mp_init_xmit_attrib(struct mp_tx *pmptx, struct adapter *padapter)
-{
-       struct pkt_attrib *pattrib;
-       struct tx_desc *desc;
-
-       /*  init xmitframe attribute */
-       pattrib = &pmptx->attrib;
-       memset(pattrib, 0, sizeof(struct pkt_attrib));
-       desc = &pmptx->desc;
-       memset(desc, 0, TXDESC_SIZE);
-
-       pattrib->ether_type = 0x8712;
-       memset(pattrib->dst, 0xFF, ETH_ALEN);
-       pattrib->ack_policy = 0;
-       pattrib->hdrlen = WLAN_HDR_A3_LEN;
-       pattrib->subtype = WIFI_DATA;
-       pattrib->priority = 0;
-       pattrib->qsel = pattrib->priority;
-       pattrib->nr_frags = 1;
-       pattrib->encrypt = 0;
-       pattrib->bswenc = false;
-       pattrib->qos_en = false;
-}
-
-s32 init_mp_priv(struct adapter *padapter)
-{
-       struct mp_priv *pmppriv = &padapter->mppriv;
-
-       _init_mp_priv_(pmppriv);
-       pmppriv->papdater = padapter;
-
-       pmppriv->tx.stop = 1;
-       mp_init_xmit_attrib(&pmppriv->tx, padapter);
-
-       switch (padapter->registrypriv.rf_config) {
-       case RF_1T1R:
-               pmppriv->antenna_tx = ANTENNA_A;
-               pmppriv->antenna_rx = ANTENNA_A;
-               break;
-       case RF_1T2R:
-       default:
-               pmppriv->antenna_tx = ANTENNA_A;
-               pmppriv->antenna_rx = ANTENNA_AB;
-               break;
-       case RF_2T2R:
-       case RF_2T2R_GREEN:
-               pmppriv->antenna_tx = ANTENNA_AB;
-               pmppriv->antenna_rx = ANTENNA_AB;
-               break;
-       case RF_2T4R:
-               pmppriv->antenna_tx = ANTENNA_AB;
-               pmppriv->antenna_rx = ANTENNA_ABCD;
-               break;
-       }
-
-       return _SUCCESS;
-}
-
-void free_mp_priv(struct mp_priv *pmp_priv)
-{
-       kfree(pmp_priv->pallocated_mp_xmitframe_buf);
-       pmp_priv->pallocated_mp_xmitframe_buf = NULL;
-       pmp_priv->pmp_xmtframe_buf = NULL;
-}
-
-#define PHY_IQCalibrate(a, b)  PHY_IQCalibrate_8188E(a, b)
-#define PHY_LCCalibrate(a)     PHY_LCCalibrate_8188E(a)
-#define PHY_SetRFPathSwitch(a, b) PHY_SetRFPathSwitch_8188E(a, b)
-
-s32 MPT_InitializeAdapter(struct adapter *pAdapter, u8 Channel)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
-       s32             rtStatus = _SUCCESS;
-       struct mpt_context *pMptCtx = &pAdapter->mppriv.MptCtx;
-       struct mlme_priv *pmlmepriv = &pAdapter->mlmepriv;
-
-       /*  HW Initialization for 8190 MPT. */
-       /*  SW Initialization for 8190 MP. */
-       pMptCtx->bMptDrvUnload = false;
-       pMptCtx->bMassProdTest = false;
-       pMptCtx->bMptIndexEven = true;  /* default gain index is -6.0db */
-       pMptCtx->h2cReqNum = 0x0;
-       /* Init mpt event. */
-       /* init for BT MP */
-
-       pMptCtx->bMptWorkItemInProgress = false;
-       pMptCtx->CurrMptAct = NULL;
-       /*  */
-
-       /*  Don't accept any packets */
-       rtw_write32(pAdapter, REG_RCR, 0);
-
-       PHY_IQCalibrate(pAdapter, false);
-       dm_CheckTXPowerTracking(&pHalData->odmpriv);    /* trigger thermal meter */
-       PHY_LCCalibrate(pAdapter);
-
-       pMptCtx->backup0xc50 = (u8)PHY_QueryBBReg(pAdapter, rOFDM0_XAAGCCore1, bMaskByte0);
-       pMptCtx->backup0xc58 = (u8)PHY_QueryBBReg(pAdapter, rOFDM0_XBAGCCore1, bMaskByte0);
-       pMptCtx->backup0xc30 = (u8)PHY_QueryBBReg(pAdapter, rOFDM0_RxDetector1, bMaskByte0);
-       pMptCtx->backup0x52_RF_A = (u8)PHY_QueryRFReg(pAdapter, RF_PATH_A, RF_0x52, 0x000F0);
-       pMptCtx->backup0x52_RF_B = (u8)PHY_QueryRFReg(pAdapter, RF_PATH_A, RF_0x52, 0x000F0);
-
-       /* set ant to wifi side in mp mode */
-       rtw_write16(pAdapter, 0x870, 0x300);
-       rtw_write16(pAdapter, 0x860, 0x110);
-
-       if (pAdapter->registrypriv.mp_mode == 1)
-               pmlmepriv->fw_state = WIFI_MP_STATE;
-
-       return  rtStatus;
-}
-
-/*-----------------------------------------------------------------------------
- * Function:   MPT_DeInitAdapter()
- *
- * Overview:   Extra DeInitialization for Mass Production Test.
- *
- * Input:              struct adapter *        pAdapter
- *
- * Output:             NONE
- *
- * Return:             NONE
- *
- * Revised History:
- *     When            Who             Remark
- *     05/08/2007      MHC             Create Version 0.
- *     05/18/2007      MHC             Add normal driver MPHalt code.
- *
- *---------------------------------------------------------------------------*/
-void MPT_DeInitAdapter(struct adapter *pAdapter)
-{
-       struct mpt_context *pMptCtx = &pAdapter->mppriv.MptCtx;
-
-       pMptCtx->bMptDrvUnload = true;
-}
-
-static u8 mpt_ProStartTest(struct adapter *padapter)
-{
-       struct mpt_context *pMptCtx = &padapter->mppriv.MptCtx;
-
-       pMptCtx->bMassProdTest = true;
-       pMptCtx->bStartContTx = false;
-       pMptCtx->bCckContTx = false;
-       pMptCtx->bOfdmContTx = false;
-       pMptCtx->bSingleCarrier = false;
-       pMptCtx->bCarrierSuppression = false;
-       pMptCtx->bSingleTone = false;
-
-       return _SUCCESS;
-}
-
-/*
- * General use
- */
-s32 SetPowerTracking(struct adapter *padapter, u8 enable)
-{
-       Hal_SetPowerTracking(padapter, enable);
-       return 0;
-}
-
-void GetPowerTracking(struct adapter *padapter, u8 *enable)
-{
-       Hal_GetPowerTracking(padapter, enable);
-}
-
-static void disable_dm(struct adapter *padapter)
-{
-       u8 v8;
-
-       /* 3 1. disable firmware dynamic mechanism */
-       /*  disable Power Training, Rate Adaptive */
-       v8 = rtw_read8(padapter, REG_BCN_CTRL);
-       v8 &= ~EN_BCN_FUNCTION;
-       rtw_write8(padapter, REG_BCN_CTRL, v8);
-
-       /* 3 2. disable driver dynamic mechanism */
-       /*  disable Dynamic Initial Gain */
-       /*  disable High Power */
-       /*  disable Power Tracking */
-       Switch_DM_Func(padapter, DYNAMIC_FUNC_DISABLE, false);
-
-       /*  enable APK, LCK and IQK but disable power tracking */
-       Switch_DM_Func(padapter, DYNAMIC_RF_CALIBRATION, true);
-}
-
-/* This function initializes the DUT to the MP test mode */
-s32 mp_start_test(struct adapter *padapter)
-{
-       struct wlan_bssid_ex bssid;
-       struct sta_info *psta;
-       u32 length;
-       u8 val8;
-       s32 res = _SUCCESS;
-       struct mp_priv *pmppriv = &padapter->mppriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct wlan_network *tgt_network = &pmlmepriv->cur_network;
-
-       padapter->registrypriv.mp_mode = 1;
-       pmppriv->bSetTxPower = 0;               /* for  manually set tx power */
-
-       /* 3 disable dynamic mechanism */
-       disable_dm(padapter);
-
-       /* 3 0. update mp_priv */
-
-       if (padapter->registrypriv.rf_config == RF_819X_MAX_TYPE) {
-               switch (GET_RF_TYPE(padapter)) {
-               case RF_1T1R:
-                       pmppriv->antenna_tx = ANTENNA_A;
-                       pmppriv->antenna_rx = ANTENNA_A;
-                       break;
-               case RF_1T2R:
-               default:
-                       pmppriv->antenna_tx = ANTENNA_A;
-                       pmppriv->antenna_rx = ANTENNA_AB;
-                       break;
-               case RF_2T2R:
-               case RF_2T2R_GREEN:
-                       pmppriv->antenna_tx = ANTENNA_AB;
-                       pmppriv->antenna_rx = ANTENNA_AB;
-                       break;
-               case RF_2T4R:
-                       pmppriv->antenna_tx = ANTENNA_AB;
-                       pmppriv->antenna_rx = ANTENNA_ABCD;
-                       break;
-               }
-       }
-
-       mpt_ProStartTest(padapter);
-
-       /* 3 1. initialize a new struct wlan_bssid_ex */
-/*     memset(&bssid, 0, sizeof(struct wlan_bssid_ex)); */
-       memcpy(bssid.MacAddress, pmppriv->network_macaddr, ETH_ALEN);
-       bssid.Ssid.SsidLength = strlen("mp_pseudo_adhoc");
-       memcpy(bssid.Ssid.Ssid, (u8 *)"mp_pseudo_adhoc", bssid.Ssid.SsidLength);
-       bssid.InfrastructureMode = Ndis802_11IBSS;
-       bssid.NetworkTypeInUse = Ndis802_11DS;
-       bssid.IELength = 0;
-
-       length = get_wlan_bssid_ex_sz(&bssid);
-       if (length % 4)
-               bssid.Length = ((length >> 2) + 1) << 2; /* round up to multiple of 4 bytes. */
-       else
-               bssid.Length = length;
-
-       spin_lock_bh(&pmlmepriv->lock);
-
-       if (check_fwstate(pmlmepriv, WIFI_MP_STATE))
-               goto end_of_mp_start_test;
-
-       /* init mp_start_test status */
-       if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-               rtw_disassoc_cmd(padapter, 500, true);
-               rtw_indicate_disconnect(padapter);
-               rtw_free_assoc_resources(padapter, 1);
-       }
-       pmppriv->prev_fw_state = get_fwstate(pmlmepriv);
-       if (padapter->registrypriv.mp_mode == 1)
-               pmlmepriv->fw_state = WIFI_MP_STATE;
-       set_fwstate(pmlmepriv, _FW_UNDER_LINKING);
-
-       /* 3 2. create a new psta for mp driver */
-       /* clear psta in the cur_network, if any */
-       psta = rtw_get_stainfo(&padapter->stapriv, tgt_network->network.MacAddress);
-       if (psta)
-               rtw_free_stainfo(padapter, psta);
-
-       psta = rtw_alloc_stainfo(&padapter->stapriv, bssid.MacAddress);
-       if (!psta) {
-               pmlmepriv->fw_state = pmppriv->prev_fw_state;
-               res = _FAIL;
-               goto end_of_mp_start_test;
-       }
-
-       /* 3 3. join psudo AdHoc */
-       tgt_network->join_res = 1;
-       tgt_network->aid = 1;
-       psta->aid = 1;
-       memcpy(&tgt_network->network, &bssid, length);
-
-       rtw_indicate_connect(padapter);
-       _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
-
-end_of_mp_start_test:
-
-       spin_unlock_bh(&pmlmepriv->lock);
-
-       if (res == _SUCCESS) {
-               /*  set MSR to WIFI_FW_ADHOC_STATE */
-               val8 = rtw_read8(padapter, MSR) & 0xFC; /*  0x0102 */
-               val8 |= WIFI_FW_ADHOC_STATE;
-               rtw_write8(padapter, MSR, val8); /*  Link in ad hoc network */
-       }
-       return res;
-}
-/*  */
-/* This function change the DUT from the MP test mode into normal mode */
-void mp_stop_test(struct adapter *padapter)
-{
-       struct mp_priv *pmppriv = &padapter->mppriv;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       struct wlan_network *tgt_network = &pmlmepriv->cur_network;
-       struct sta_info *psta;
-
-       if (pmppriv->mode == MP_ON) {
-               pmppriv->bSetTxPower = 0;
-               spin_lock_bh(&pmlmepriv->lock);
-               if (!check_fwstate(pmlmepriv, WIFI_MP_STATE))
-                       goto end_of_mp_stop_test;
-
-               /* 3 1. disconnect psudo AdHoc */
-               rtw_indicate_disconnect(padapter);
-
-               /* 3 2. clear psta used in mp test mode. */
-               psta = rtw_get_stainfo(&padapter->stapriv, tgt_network->network.MacAddress);
-               if (psta)
-                       rtw_free_stainfo(padapter, psta);
-
-               /* 3 3. return to normal state (default:station mode) */
-               pmlmepriv->fw_state = pmppriv->prev_fw_state; /*  WIFI_STATION_STATE; */
-
-               /* flush the cur_network */
-               memset(tgt_network, 0, sizeof(struct wlan_network));
-
-               _clr_fwstate_(pmlmepriv, WIFI_MP_STATE);
-
-end_of_mp_stop_test:
-
-               spin_unlock_bh(&pmlmepriv->lock);
-       }
-}
-
-/*---------------------------hal\rtl8192c\MPT_HelperFunc.c---------------------------*/
-/*
- * SetChannel
- * Description
- *     Use H2C command to change channel,
- *     not only modify rf register, but also other setting need to be done.
- */
-void SetChannel(struct adapter *pAdapter)
-{
-       Hal_SetChannel(pAdapter);
-}
-
-/*
- * Notice
- *     Switch bandwitdth may change center frequency(channel)
- */
-void SetBandwidth(struct adapter *pAdapter)
-{
-       Hal_SetBandwidth(pAdapter);
-}
-
-void SetAntenna(struct adapter *pAdapter)
-{
-       Hal_SetAntenna(pAdapter);
-}
-
-void   SetAntennaPathPower(struct adapter *pAdapter)
-{
-       Hal_SetAntennaPathPower(pAdapter);
-}
-
-void SetTxPower(struct adapter *pAdapter)
-{
-       Hal_SetTxPower(pAdapter);
-       }
-
-void SetDataRate(struct adapter *pAdapter)
-{
-       Hal_SetDataRate(pAdapter);
-}
-
-void MP_PHY_SetRFPathSwitch(struct adapter *pAdapter, bool bMain)
-{
-       PHY_SetRFPathSwitch(pAdapter, bMain);
-}
-
-s32 SetThermalMeter(struct adapter *pAdapter, u8 target_ther)
-{
-       return Hal_SetThermalMeter(pAdapter, target_ther);
-}
-
-void GetThermalMeter(struct adapter *pAdapter, u8 *value)
-{
-       Hal_GetThermalMeter(pAdapter, value);
-}
-
-void SetSingleCarrierTx(struct adapter *pAdapter, u8 bStart)
-{
-       PhySetTxPowerLevel(pAdapter);
-       Hal_SetSingleCarrierTx(pAdapter, bStart);
-}
-
-void SetSingleToneTx(struct adapter *pAdapter, u8 bStart)
-{
-       PhySetTxPowerLevel(pAdapter);
-       Hal_SetSingleToneTx(pAdapter, bStart);
-}
-
-void SetCarrierSuppressionTx(struct adapter *pAdapter, u8 bStart)
-{
-       PhySetTxPowerLevel(pAdapter);
-       Hal_SetCarrierSuppressionTx(pAdapter, bStart);
-}
-
-void SetContinuousTx(struct adapter *pAdapter, u8 bStart)
-{
-       PhySetTxPowerLevel(pAdapter);
-       Hal_SetContinuousTx(pAdapter, bStart);
-}
-
-void PhySetTxPowerLevel(struct adapter *pAdapter)
-{
-       struct mp_priv *pmp_priv = &pAdapter->mppriv;
-
-       if (pmp_priv->bSetTxPower == 0) /*  for NO manually set power index */
-               PHY_SetTxPowerLevel8188E(pAdapter, pmp_priv->channel);
-}
-
-/*  */
-static void dump_mpframe(struct adapter *padapter, struct xmit_frame *pmpframe)
-{
-       rtw_hal_mgnt_xmit(padapter, pmpframe);
-}
-
-static struct xmit_frame *alloc_mp_xmitframe(struct xmit_priv *pxmitpriv)
-{
-       struct xmit_frame       *pmpframe;
-       struct xmit_buf *pxmitbuf;
-
-       pmpframe = rtw_alloc_xmitframe(pxmitpriv);
-       if (!pmpframe)
-               return NULL;
-
-       pxmitbuf = rtw_alloc_xmitbuf(pxmitpriv);
-       if (!pxmitbuf) {
-               rtw_free_xmitframe(pxmitpriv, pmpframe);
-               return NULL;
-       }
-
-       pmpframe->frame_tag = MP_FRAMETAG;
-
-       pmpframe->pxmitbuf = pxmitbuf;
-
-       pmpframe->buf_addr = pxmitbuf->pbuf;
-
-       pxmitbuf->priv_data = pmpframe;
-
-       return pmpframe;
-}
-
-static int mp_xmit_packet_thread(void *context)
-{
-       struct xmit_frame       *pxmitframe;
-       struct mp_tx            *pmptx;
-       struct mp_priv  *pmp_priv;
-       struct xmit_priv        *pxmitpriv;
-       struct adapter *padapter;
-
-       pmp_priv = (struct mp_priv *)context;
-       pmptx = &pmp_priv->tx;
-       padapter = pmp_priv->papdater;
-       pxmitpriv = &padapter->xmitpriv;
-
-       thread_enter("RTW_MP_THREAD");
-
-       /* DBG_88E("%s:pkTx Start\n", __func__); */
-       while (1) {
-               pxmitframe = alloc_mp_xmitframe(pxmitpriv);
-               if (!pxmitframe) {
-                       if (pmptx->stop ||
-                           padapter->bSurpriseRemoved ||
-                           padapter->bDriverStopped) {
-                               goto exit;
-                       } else {
-                               msleep(1);
-                               continue;
-                       }
-               }
-
-               memcpy((u8 *)(pxmitframe->buf_addr + TXDESC_OFFSET), pmptx->buf, pmptx->write_size);
-               memcpy(&pxmitframe->attrib, &pmptx->attrib, sizeof(struct pkt_attrib));
-
-               dump_mpframe(padapter, pxmitframe);
-
-               pmptx->sended++;
-               pmp_priv->tx_pktcount++;
-
-               if (pmptx->stop ||
-                   padapter->bSurpriseRemoved ||
-                   padapter->bDriverStopped)
-                       goto exit;
-               if ((pmptx->count != 0) &&
-                   (pmptx->count == pmptx->sended))
-                       goto exit;
-
-               flush_signals_thread();
-       }
-
-exit:
-       kfree(pmptx->pallocated_buf);
-       pmptx->pallocated_buf = NULL;
-       pmptx->stop = 1;
-
-       thread_exit();
-}
-
-void fill_txdesc_for_mp(struct adapter *padapter, struct tx_desc *ptxdesc)
-{
-       struct mp_priv *pmp_priv = &padapter->mppriv;
-       memcpy(ptxdesc, &pmp_priv->tx.desc, TXDESC_SIZE);
-}
-
-void SetPacketTx(struct adapter *padapter)
-{
-       u8 *ptr, *pkt_start, *pkt_end;
-       u32 pkt_size;
-       struct tx_desc *desc;
-       struct rtw_ieee80211_hdr *hdr;
-       u8 payload;
-       bool bmcast;
-       struct pkt_attrib *pattrib;
-       struct mp_priv *pmp_priv;
-
-       pmp_priv = &padapter->mppriv;
-       if (pmp_priv->tx.stop)
-               return;
-       pmp_priv->tx.sended = 0;
-       pmp_priv->tx.stop = 0;
-       pmp_priv->tx_pktcount = 0;
-
-       /* 3 1. update_attrib() */
-       pattrib = &pmp_priv->tx.attrib;
-       memcpy(pattrib->src, padapter->eeprompriv.mac_addr, ETH_ALEN);
-       memcpy(pattrib->ta, pattrib->src, ETH_ALEN);
-       memcpy(pattrib->ra, pattrib->dst, ETH_ALEN);
-       bmcast = is_multicast_ether_addr(pattrib->ra);
-       if (bmcast) {
-               pattrib->mac_id = 1;
-               pattrib->psta = rtw_get_bcmc_stainfo(padapter);
-       } else {
-               pattrib->mac_id = 0;
-               pattrib->psta = rtw_get_stainfo(&padapter->stapriv, get_bssid(&padapter->mlmepriv));
-       }
-
-       pattrib->last_txcmdsz = pattrib->hdrlen + pattrib->pktlen;
-
-       /* 3 2. allocate xmit buffer */
-       pkt_size = pattrib->last_txcmdsz;
-
-       kfree(pmp_priv->tx.pallocated_buf);
-       pmp_priv->tx.write_size = pkt_size;
-       pmp_priv->tx.buf_size = pkt_size + XMITBUF_ALIGN_SZ;
-       pmp_priv->tx.pallocated_buf = kzalloc(pmp_priv->tx.buf_size, GFP_KERNEL);
-       if (!pmp_priv->tx.pallocated_buf) {
-               DBG_88E("%s: malloc(%d) fail!!\n", __func__, pmp_priv->tx.buf_size);
-               return;
-       }
-       pmp_priv->tx.buf = (u8 *)N_BYTE_ALIGMENT((size_t)(pmp_priv->tx.pallocated_buf), XMITBUF_ALIGN_SZ);
-       ptr = pmp_priv->tx.buf;
-
-       desc = &pmp_priv->tx.desc;
-       memset(desc, 0, TXDESC_SIZE);
-       pkt_start = ptr;
-       pkt_end = pkt_start + pkt_size;
-
-       /* 3 3. init TX descriptor */
-       /*  offset 0 */
-       desc->txdw0 |= cpu_to_le32(OWN | FSG | LSG);
-       desc->txdw0 |= cpu_to_le32(pkt_size & 0x0000FFFF); /*  packet size */
-       desc->txdw0 |= cpu_to_le32(((TXDESC_SIZE + OFFSET_SZ) << OFFSET_SHT) & 0x00FF0000); /* 32 bytes for TX Desc */
-       if (bmcast)
-               desc->txdw0 |= cpu_to_le32(BMC); /*  broadcast packet */
-
-       desc->txdw1 |= cpu_to_le32((0x01 << 26) & 0xff000000);
-       /*  offset 4 */
-       desc->txdw1 |= cpu_to_le32((pattrib->mac_id) & 0x3F); /* CAM_ID(MAC_ID) */
-       desc->txdw1 |= cpu_to_le32((pattrib->qsel << QSEL_SHT) & 0x00001F00); /*  Queue Select, TID */
-
-       desc->txdw1 |= cpu_to_le32((pattrib->raid << RATE_ID_SHT) & 0x000F0000); /*  Rate Adaptive ID */
-       /*  offset 8 */
-       /*  offset 12 */
-
-       desc->txdw3 |= cpu_to_le32((pattrib->seqnum << 16) & 0x0fff0000);
-
-       /*  offset 16 */
-       desc->txdw4 |= cpu_to_le32(HW_SSN);
-       desc->txdw4 |= cpu_to_le32(USERATE);
-       desc->txdw4 |= cpu_to_le32(DISDATAFB);
-
-       if (pmp_priv->preamble) {
-               if (pmp_priv->rateidx <=  MPT_RATE_54M)
-                       desc->txdw4 |= cpu_to_le32(DATA_SHORT); /*  CCK Short Preamble */
-       }
-       if (pmp_priv->bandwidth == HT_CHANNEL_WIDTH_40)
-               desc->txdw4 |= cpu_to_le32(DATA_BW);
-
-       /*  offset 20 */
-       desc->txdw5 |= cpu_to_le32(pmp_priv->rateidx & 0x0000001F);
-
-       if (pmp_priv->preamble) {
-               if (pmp_priv->rateidx > MPT_RATE_54M)
-                       desc->txdw5 |= cpu_to_le32(SGI); /*  MCS Short Guard Interval */
-       }
-       desc->txdw5 |= cpu_to_le32(RTY_LMT_EN); /*  retry limit enable */
-       desc->txdw5 |= cpu_to_le32(0x00180000); /*  DATA/RTS Rate Fallback Limit */
-
-       /* 3 4. make wlan header, make_wlanhdr() */
-       hdr = (struct rtw_ieee80211_hdr *)pkt_start;
-       SetFrameSubType(&hdr->frame_ctl, pattrib->subtype);
-       memcpy(hdr->addr1, pattrib->dst, ETH_ALEN); /*  DA */
-       memcpy(hdr->addr2, pattrib->src, ETH_ALEN); /*  SA */
-       memcpy(hdr->addr3, get_bssid(&padapter->mlmepriv), ETH_ALEN); /*  RA, BSSID */
-
-       /* 3 5. make payload */
-       ptr = pkt_start + pattrib->hdrlen;
-
-       switch (pmp_priv->tx.payload) {
-       case 0:
-               payload = 0x00;
-               break;
-       case 1:
-               payload = 0x5a;
-               break;
-       case 2:
-               payload = 0xa5;
-               break;
-       case 3:
-               payload = 0xff;
-               break;
-       default:
-               payload = 0x00;
-               break;
-       }
-
-       memset(ptr, payload, pkt_end - ptr);
-
-       /* 3 6. start thread */
-       pmp_priv->tx.PktTxThread = kthread_run(mp_xmit_packet_thread, pmp_priv, "RTW_MP_THREAD");
-       if (IS_ERR(pmp_priv->tx.PktTxThread))
-               DBG_88E("Create PktTx Thread Fail !!!!!\n");
-}
-
-void SetPacketRx(struct adapter *pAdapter, u8 bStartRx)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
-
-       if (bStartRx) {
-               /*  Accept CRC error and destination address */
-               pHalData->ReceiveConfig = AAP | APM | AM | AB | APP_ICV |
-                                         AMF | ADF | APP_FCS | HTC_LOC_CTRL |
-                                         APP_MIC | APP_PHYSTS;
-
-               pHalData->ReceiveConfig |= (RCR_ACRC32 | RCR_AAP);
-
-               rtw_write32(pAdapter, REG_RCR, pHalData->ReceiveConfig);
-
-               /*  Accept all data frames */
-               rtw_write16(pAdapter, REG_RXFLTMAP2, 0xFFFF);
-       } else {
-               rtw_write32(pAdapter, REG_RCR, 0);
-       }
-}
-
-void ResetPhyRxPktCount(struct adapter *pAdapter)
-{
-       u32 i, phyrx_set = 0;
-
-       for (i = 0; i <= 0xF; i++) {
-               phyrx_set = 0;
-               phyrx_set |= _RXERR_RPT_SEL(i); /* select */
-               phyrx_set |= RXERR_RPT_RST;     /*  set counter to zero */
-               rtw_write32(pAdapter, REG_RXERR_RPT, phyrx_set);
-       }
-}
-
-static u32 GetPhyRxPktCounts(struct adapter *pAdapter, u32 selbit)
-{
-       /* selection */
-       u32 phyrx_set = 0, count = 0;
-
-       phyrx_set = _RXERR_RPT_SEL(selbit & 0xF);
-       rtw_write32(pAdapter, REG_RXERR_RPT, phyrx_set);
-
-       /* Read packet count */
-       count = rtw_read32(pAdapter, REG_RXERR_RPT) & RXERR_COUNTER_MASK;
-
-       return count;
-}
-
-u32 GetPhyRxPktReceived(struct adapter *pAdapter)
-{
-       u32 OFDM_cnt = 0, CCK_cnt = 0, HT_cnt = 0;
-
-       OFDM_cnt = GetPhyRxPktCounts(pAdapter, RXERR_TYPE_OFDM_MPDU_OK);
-       CCK_cnt = GetPhyRxPktCounts(pAdapter, RXERR_TYPE_CCK_MPDU_OK);
-       HT_cnt = GetPhyRxPktCounts(pAdapter, RXERR_TYPE_HT_MPDU_OK);
-
-       return OFDM_cnt + CCK_cnt + HT_cnt;
-}
-
-u32 GetPhyRxPktCRC32Error(struct adapter *pAdapter)
-{
-       u32 OFDM_cnt = 0, CCK_cnt = 0, HT_cnt = 0;
-
-       OFDM_cnt = GetPhyRxPktCounts(pAdapter, RXERR_TYPE_OFDM_MPDU_FAIL);
-       CCK_cnt = GetPhyRxPktCounts(pAdapter, RXERR_TYPE_CCK_MPDU_FAIL);
-       HT_cnt = GetPhyRxPktCounts(pAdapter, RXERR_TYPE_HT_MPDU_FAIL);
-
-       return OFDM_cnt + CCK_cnt + HT_cnt;
-}
-
-/* reg 0x808[9:0]: FFT data x */
-/* reg 0x808[22]:  0  -->  1  to get 1 FFT data y */
-/* reg 0x8B4[15:0]: FFT data y report */
-static u32 rtw_GetPSDData(struct adapter *pAdapter, u32 point)
-{
-       int psd_val;
-
-       psd_val = rtw_read32(pAdapter, 0x808);
-       psd_val &= 0xFFBFFC00;
-       psd_val |= point;
-
-       rtw_write32(pAdapter, 0x808, psd_val);
-       mdelay(1);
-       psd_val |= 0x00400000;
-
-       rtw_write32(pAdapter, 0x808, psd_val);
-       mdelay(1);
-       psd_val = rtw_read32(pAdapter, 0x8B4);
-
-       psd_val &= 0x0000FFFF;
-
-       return psd_val;
-}
-
-/*
- *pts  start_point_min         stop_point_max
- * 128 64                      64 + 128 = 192
- * 256 128                     128 + 256 = 384
- * 512 256                     256 + 512 = 768
- * 1024        512                     512 + 1024 = 1536
- */
-u32 mp_query_psd(struct adapter *pAdapter, u8 *data)
-{
-       u32 i, psd_pts = 0, psd_start = 0, psd_stop = 0;
-       u32 psd_data = 0;
-
-       if (!netif_running(pAdapter->pnetdev))
-               return 0;
-
-       if (!check_fwstate(&pAdapter->mlmepriv, WIFI_MP_STATE))
-               return 0;
-
-       if (strlen(data) == 0) { /* default value */
-               psd_pts = 128;
-               psd_start = 64;
-               psd_stop = 128;
-       } else {
-               sscanf(data, "pts =%d, start =%d, stop =%d", &psd_pts, &psd_start, &psd_stop);
-       }
-
-       memset(data, '\0', sizeof(*data));
-
-       i = psd_start;
-       while (i < psd_stop) {
-               if (i >= psd_pts) {
-                       psd_data = rtw_GetPSDData(pAdapter, i - psd_pts);
-               } else {
-                       psd_data = rtw_GetPSDData(pAdapter, i);
-               }
-               sprintf(data + strlen(data), "%x ", psd_data);
-               i++;
-       }
-
-       msleep(100);
-       return strlen(data) + 1;
-}
-
-void _rtw_mp_xmit_priv(struct xmit_priv *pxmitpriv)
-{
-       int i, res;
-       struct adapter *padapter = pxmitpriv->adapter;
-       struct xmit_buf *pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf;
-       u32 max_xmit_extbuf_size = MAX_XMIT_EXTBUF_SZ;
-       u32 num_xmit_extbuf = NR_XMIT_EXTBUFF;
-
-       if (padapter->registrypriv.mp_mode == 0) {
-               max_xmit_extbuf_size = MAX_XMIT_EXTBUF_SZ;
-               num_xmit_extbuf = NR_XMIT_EXTBUFF;
-       } else {
-               max_xmit_extbuf_size = 6000;
-               num_xmit_extbuf = 8;
-       }
-
-       pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf;
-       for (i = 0; i < num_xmit_extbuf; i++) {
-               rtw_os_xmit_resource_free(padapter, pxmitbuf, (max_xmit_extbuf_size + XMITBUF_ALIGN_SZ));
-
-               pxmitbuf++;
-       }
-
-       vfree(pxmitpriv->pallocated_xmit_extbuf);
-
-       if (padapter->registrypriv.mp_mode == 0) {
-               max_xmit_extbuf_size = 6000;
-               num_xmit_extbuf = 8;
-       } else {
-               max_xmit_extbuf_size = MAX_XMIT_EXTBUF_SZ;
-               num_xmit_extbuf = NR_XMIT_EXTBUFF;
-       }
-
-       /*  Init xmit extension buff */
-       _rtw_init_queue(&pxmitpriv->free_xmit_extbuf_queue);
-
-       pxmitpriv->pallocated_xmit_extbuf = vzalloc(num_xmit_extbuf * sizeof(struct xmit_buf) + 4);
-
-       if (!pxmitpriv->pallocated_xmit_extbuf) {
-               res = _FAIL;
-               goto exit;
-       }
-
-       pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT((size_t)(pxmitpriv->pallocated_xmit_extbuf), 4);
-
-       pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf;
-
-       for (i = 0; i < num_xmit_extbuf; i++) {
-               INIT_LIST_HEAD(&pxmitbuf->list);
-
-               pxmitbuf->priv_data = NULL;
-               pxmitbuf->padapter = padapter;
-               pxmitbuf->ext_tag = true;
-
-               res = rtw_os_xmit_resource_alloc(padapter, pxmitbuf, max_xmit_extbuf_size + XMITBUF_ALIGN_SZ);
-               if (res == _FAIL) {
-                       res = _FAIL;
-                       goto exit;
-               }
-
-               list_add_tail(&pxmitbuf->list, &pxmitpriv->free_xmit_extbuf_queue.queue);
-               pxmitbuf++;
-       }
-
-       pxmitpriv->free_xmit_extbuf_cnt = num_xmit_extbuf;
-
-exit:
-       ;
-}
-
-void Hal_ProSetCrystalCap(struct adapter *pAdapter, u32 CrystalCapVal)
-{
-       CrystalCapVal = CrystalCapVal & 0x3F;
-
-       // write 0x24[16:11] = 0x24[22:17] = CrystalCap
-       PHY_SetBBReg(pAdapter, REG_AFE_XTAL_CTRL, 0x7FF800,
-                    (CrystalCapVal | (CrystalCapVal << 6)));
-}
diff --git a/drivers/staging/r8188eu/core/rtw_mp_ioctl.c b/drivers/staging/r8188eu/core/rtw_mp_ioctl.c
deleted file mode 100644 (file)
index c85f8e4..0000000
+++ /dev/null
@@ -1,1170 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#define _RTW_MP_IOCTL_C_
-
-#include "../include/osdep_service.h"
-#include "../include/drv_types.h"
-#include "../include/mlme_osdep.h"
-#include "../include/rtw_mp_ioctl.h"
-
-/*   rtl8188eu_oid_rtl_seg_81_85   section start **************** */
-int rtl8188eu_oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->information_buf_len < sizeof(u8))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       if (poid_par_priv->type_of_oid == SET_OID) {
-               Adapter->registrypriv.wireless_mode = *(u8 *)poid_par_priv->information_buf;
-       } else if (poid_par_priv->type_of_oid == QUERY_OID) {
-               *(u8 *)poid_par_priv->information_buf = Adapter->registrypriv.wireless_mode;
-               *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-       } else {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-       }
-
-       return status;
-}
-/*   rtl8188eu_oid_rtl_seg_81_87_80   section start **************** */
-int rtl8188eu_oid_rt_pro_write_bb_reg_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct bb_reg_param *pbbreg;
-       u16 offset;
-       u32 value;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(struct bb_reg_param))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       pbbreg = (struct bb_reg_param *)(poid_par_priv->information_buf);
-
-       offset = (u16)(pbbreg->offset) & 0xFFF; /* 0ffset :0x800~0xfff */
-       if (offset < BB_REG_BASE_ADDR)
-               offset |= BB_REG_BASE_ADDR;
-
-       value = pbbreg->value;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       write_bbreg(Adapter, offset, 0xFFFFFFFF, value);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct bb_reg_param *pbbreg;
-       u16 offset;
-       u32 value;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(struct bb_reg_param))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       pbbreg = (struct bb_reg_param *)(poid_par_priv->information_buf);
-
-       offset = (u16)(pbbreg->offset) & 0xFFF; /* 0ffset :0x800~0xfff */
-       if (offset < BB_REG_BASE_ADDR)
-               offset |= BB_REG_BASE_ADDR;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       value = read_bbreg(Adapter, offset, 0xFFFFFFFF);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       pbbreg->value = value;
-       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_write_rf_reg_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct rf_reg_param *pbbreg;
-       u8 path;
-       u8 offset;
-       u32 value;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(struct rf_reg_param))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       pbbreg = (struct rf_reg_param *)(poid_par_priv->information_buf);
-
-       if (pbbreg->path >= RF_PATH_MAX)
-               return NDIS_STATUS_NOT_ACCEPTED;
-       if (pbbreg->offset > 0xFF)
-               return NDIS_STATUS_NOT_ACCEPTED;
-       if (pbbreg->value > 0xFFFFF)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       path = (u8)pbbreg->path;
-       offset = (u8)pbbreg->offset;
-       value = pbbreg->value;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       write_rfreg(Adapter, path, offset, value);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_read_rf_reg_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct rf_reg_param *pbbreg;
-       u8 path;
-       u8 offset;
-       u32 value;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-       int status = NDIS_STATUS_SUCCESS;
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(struct rf_reg_param))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       pbbreg = (struct rf_reg_param *)(poid_par_priv->information_buf);
-
-       if (pbbreg->path >= RF_PATH_MAX)
-               return NDIS_STATUS_NOT_ACCEPTED;
-       if (pbbreg->offset > 0xFF)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       path = (u8)pbbreg->path;
-       offset = (u8)pbbreg->offset;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       value = read_rfreg(Adapter, path, offset);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       pbbreg->value = value;
-
-       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-
-       return status;
-}
-/*   rtl8188eu_oid_rtl_seg_81_87_00   section end**************** */
-/*  */
-
-/*   rtl8188eu_oid_rtl_seg_81_80_00   section start **************** */
-/*  */
-int rtl8188eu_oid_rt_pro_set_data_rate_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             ratevalue;/* 4 */
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len != sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       ratevalue = *((u32 *)poid_par_priv->information_buf);/* 4 */
-       if (ratevalue >= MPT_RATE_LAST)
-               return NDIS_STATUS_INVALID_DATA;
-
-       Adapter->mppriv.rateidx = ratevalue;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetDataRate(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_start_test_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             mode;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (Adapter->registrypriv.mp_mode == 0)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       /* IQCalibrateBcut(Adapter); */
-
-       mode = *((u32 *)poid_par_priv->information_buf);
-       Adapter->mppriv.mode = mode;/*  1 for loopback */
-
-       if (mp_start_test(Adapter) == _FAIL) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               goto exit;
-       }
-
-exit:
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_stop_test_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       mp_stop_test(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_set_channel_direct_call_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             Channel;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->information_buf_len != sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       if (poid_par_priv->type_of_oid == QUERY_OID) {
-               *((u32 *)poid_par_priv->information_buf) = Adapter->mppriv.channel;
-               return NDIS_STATUS_SUCCESS;
-       }
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       Channel = *((u32 *)poid_par_priv->information_buf);
-       if (Channel > 14)
-               return NDIS_STATUS_NOT_ACCEPTED;
-       Adapter->mppriv.channel = Channel;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetChannel(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_set_bandwidth_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u16             bandwidth;
-       u16             channel_offset;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *padapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       bandwidth = *((u32 *)poid_par_priv->information_buf);/* 4 */
-       channel_offset = HAL_PRIME_CHNL_OFFSET_DONT_CARE;
-
-       if (bandwidth != HT_CHANNEL_WIDTH_40)
-               bandwidth = HT_CHANNEL_WIDTH_20;
-       padapter->mppriv.bandwidth = (u8)bandwidth;
-       padapter->mppriv.prime_channel_offset = (u8)channel_offset;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetBandwidth(padapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_set_antenna_bb_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             antenna;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->information_buf_len != sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       if (poid_par_priv->type_of_oid == SET_OID) {
-               antenna = *(u32 *)poid_par_priv->information_buf;
-
-               Adapter->mppriv.antenna_tx = (u16)((antenna & 0xFFFF0000) >> 16);
-               Adapter->mppriv.antenna_rx = (u16)(antenna & 0x0000FFFF);
-
-               _irqlevel_changed_(&oldirql, LOWER);
-               SetAntenna(Adapter);
-               _irqlevel_changed_(&oldirql, RAISE);
-       } else {
-               antenna = (Adapter->mppriv.antenna_tx << 16) | Adapter->mppriv.antenna_rx;
-               *(u32 *)poid_par_priv->information_buf = antenna;
-       }
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_pro_set_tx_power_control_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             tx_pwr_idx;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len != sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       tx_pwr_idx = *((u32 *)poid_par_priv->information_buf);
-       if (tx_pwr_idx > MAX_TX_PWR_INDEX_N_MODE)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       Adapter->mppriv.txpoweridx = (u8)tx_pwr_idx;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetTxPower(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-
-/*  */
-/*   rtl8188eu_oid_rtl_seg_81_80_20   section start **************** */
-/*  */
-int rtl8188eu_oid_rt_pro_query_tx_packet_sent_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-
-       if (poid_par_priv->information_buf_len == sizeof(u32)) {
-               *(u32 *)poid_par_priv->information_buf =  Adapter->mppriv.tx_pktcount;
-               *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-       } else {
-               status = NDIS_STATUS_INVALID_LENGTH;
-       }
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_query_rx_packet_received_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-       if (poid_par_priv->information_buf_len == sizeof(u32)) {
-               *(u32 *)poid_par_priv->information_buf =  Adapter->mppriv.rx_pktcount;
-               *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-       } else {
-               status = NDIS_STATUS_INVALID_LENGTH;
-       }
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_query_rx_packet_crc32_error_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-       if (poid_par_priv->information_buf_len == sizeof(u32)) {
-               *(u32 *)poid_par_priv->information_buf =  Adapter->mppriv.rx_crcerrpktcount;
-               *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-       } else {
-               status = NDIS_STATUS_INVALID_LENGTH;
-       }
-
-       return status;
-}
-/*  */
-
-int rtl8188eu_oid_rt_pro_reset_tx_packet_sent_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-
-       Adapter->mppriv.tx_pktcount = 0;
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_reset_rx_packet_received_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-
-       if (poid_par_priv->information_buf_len == sizeof(u32)) {
-               Adapter->mppriv.rx_pktcount = 0;
-               Adapter->mppriv.rx_crcerrpktcount = 0;
-       } else {
-               status = NDIS_STATUS_INVALID_LENGTH;
-       }
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_reset_phy_rx_packet_count_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       ResetPhyRxPktCount(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_get_phy_rx_packet_received_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len != sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       *(u32 *)poid_par_priv->information_buf = GetPhyRxPktReceived(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_get_phy_rx_packet_crc32_error_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len != sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       *(u32 *)poid_par_priv->information_buf = GetPhyRxPktCRC32Error(Adapter);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-
-       return status;
-}
-/*   rtl8188eu_oid_rtl_seg_81_80_20   section end **************** */
-int rtl8188eu_oid_rt_pro_set_continuous_tx_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             bStartTest;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       bStartTest = *((u32 *)poid_par_priv->information_buf);
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetContinuousTx(Adapter, (u8)bStartTest);
-       if (bStartTest) {
-               struct mp_priv *pmp_priv = &Adapter->mppriv;
-               if (pmp_priv->tx.stop == 0) {
-                       pmp_priv->tx.stop = 1;
-                       DBG_88E("%s: pkt tx is running...\n", __func__);
-                       msleep(5);
-               }
-               pmp_priv->tx.stop = 0;
-               pmp_priv->tx.count = 1;
-               SetPacketTx(Adapter);
-       }
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_pro_set_single_carrier_tx_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             bStartTest;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       bStartTest = *((u32 *)poid_par_priv->information_buf);
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetSingleCarrierTx(Adapter, (u8)bStartTest);
-       if (bStartTest) {
-               struct mp_priv *pmp_priv = &Adapter->mppriv;
-               if (pmp_priv->tx.stop == 0) {
-                       pmp_priv->tx.stop = 1;
-                       DBG_88E("%s: pkt tx is running...\n", __func__);
-                       msleep(5);
-               }
-               pmp_priv->tx.stop = 0;
-               pmp_priv->tx.count = 1;
-               SetPacketTx(Adapter);
-       }
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_pro_set_carrier_suppression_tx_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             bStartTest;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       bStartTest = *((u32 *)poid_par_priv->information_buf);
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetCarrierSuppressionTx(Adapter, (u8)bStartTest);
-       if (bStartTest) {
-               struct mp_priv *pmp_priv = &Adapter->mppriv;
-               if (pmp_priv->tx.stop == 0) {
-                       pmp_priv->tx.stop = 1;
-                       DBG_88E("%s: pkt tx is running...\n", __func__);
-                       msleep(5);
-               }
-               pmp_priv->tx.stop = 0;
-               pmp_priv->tx.count = 1;
-               SetPacketTx(Adapter);
-       }
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_pro_set_single_tone_tx_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u32             bStartTest;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       bStartTest = *((u32 *)poid_par_priv->information_buf);
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       SetSingleToneTx(Adapter, (u8)bStartTest);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_pro_set_modulation_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_oid_rt_pro_trigger_gpio_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-       int status = NDIS_STATUS_SUCCESS;
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       rtw_hal_set_hwreg(Adapter, HW_VAR_TRIGGER_GPIO_0, NULL);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*   rtl8188eu_oid_rtl_seg_81_80_00   section end **************** */
-/*  */
-int rtl8188eu_oid_rt_pro8711_join_bss_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_read_register_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct mp_rw_reg *RegRWStruct;
-       u32             offset, width;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       RegRWStruct = (struct mp_rw_reg *)poid_par_priv->information_buf;
-       offset = RegRWStruct->offset;
-       width = RegRWStruct->width;
-
-       if (offset > 0xFFF)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       switch (width) {
-       case 1:
-               RegRWStruct->value = rtw_read8(Adapter, offset);
-               break;
-       case 2:
-               RegRWStruct->value = rtw_read16(Adapter, offset);
-               break;
-       default:
-               width = 4;
-               RegRWStruct->value = rtw_read32(Adapter, offset);
-               break;
-       }
-
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       *poid_par_priv->bytes_rw = width;
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_write_register_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct mp_rw_reg *RegRWStruct;
-       u32 offset, value;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *padapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       RegRWStruct = (struct mp_rw_reg *)poid_par_priv->information_buf;
-       offset = RegRWStruct->offset;
-       value = RegRWStruct->value;
-
-       if (offset > 0xFFF)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       switch (RegRWStruct->width) {
-       case 1:
-               if (value > 0xFF) {
-                       status = NDIS_STATUS_NOT_ACCEPTED;
-                       break;
-               }
-               rtw_write8(padapter, offset, (u8)value);
-               break;
-       case 2:
-               if (value > 0xFFFF) {
-                       status = NDIS_STATUS_NOT_ACCEPTED;
-                       break;
-               }
-               rtw_write16(padapter, offset, (u16)value);
-               break;
-       case 4:
-               rtw_write32(padapter, offset, value);
-               break;
-       default:
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               break;
-       }
-
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_burst_read_register_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_burst_write_register_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_write_txcmd_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-/*  */
-int rtl8188eu_oid_rt_pro_read16_eeprom_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-/*  */
-int rtl8188eu_oid_rt_pro_write16_eeprom_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro8711_wi_poll_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro8711_pkt_loss_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_rd_attrib_mem_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_wr_attrib_mem_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int  rtl8188eu_oid_rt_pro_set_rf_intfs_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_poll_rx_status_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_cfg_debug_message_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_set_data_rate_ex_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       int status = NDIS_STATUS_SUCCESS;
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       if (rtw_setdatarate_cmd(Adapter, poid_par_priv->information_buf) != _SUCCESS)
-               status = NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_get_thermal_meter_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       u8 thermal = 0;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       GetThermalMeter(Adapter, &thermal);
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       *(u32 *)poid_par_priv->information_buf = (u32)thermal;
-       *poid_par_priv->bytes_rw = sizeof(u32);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_read_tssi_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_set_power_tracking_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->information_buf_len < sizeof(u8))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       if (poid_par_priv->type_of_oid == SET_OID) {
-               u8 enable;
-
-               enable = *(u8 *)poid_par_priv->information_buf;
-
-               SetPowerTracking(Adapter, enable);
-       } else {
-               GetPowerTracking(Adapter, (u8 *)poid_par_priv->information_buf);
-       }
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_set_basic_rate_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_qry_pwrstate_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_set_pwrstate_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_h2c_set_rate_table_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_h2c_get_rate_table_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-/*   rtl8188eu_oid_rtl_seg_87_12_00   section start **************** */
-int rtl8188eu_oid_rt_pro_encryption_ctrl_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_oid_rt_pro_add_sta_info_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_oid_rt_pro_dele_sta_info_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_oid_rt_pro_query_dr_variable_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_oid_rt_pro_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return NDIS_STATUS_SUCCESS;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct efuse_access_struct *pefuse;
-       u8 *data;
-       u16 addr = 0, cnts = 0, max_available_size = 0;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(struct efuse_access_struct))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       pefuse = (struct efuse_access_struct *)poid_par_priv->information_buf;
-       addr = pefuse->start_addr;
-       cnts = pefuse->cnts;
-       data = pefuse->data;
-
-       EFUSE_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-
-       if ((addr + cnts) > max_available_size)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       if (rtw_efuse_access(Adapter, false, addr, cnts, data) == _FAIL)
-               status = NDIS_STATUS_FAILURE;
-       else
-               *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_write_efuse_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct efuse_access_struct *pefuse;
-       u8 *data;
-       u16 addr = 0, cnts = 0, max_available_size = 0;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       pefuse = (struct efuse_access_struct *)poid_par_priv->information_buf;
-       addr = pefuse->start_addr;
-       cnts = pefuse->cnts;
-       data = pefuse->data;
-
-       EFUSE_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-
-       if ((addr + cnts) > max_available_size)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       if (rtw_efuse_access(Adapter, true, addr, cnts, data) == _FAIL)
-               status = NDIS_STATUS_FAILURE;
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_rw_efuse_pgpkt_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct pgpkt *ppgpkt;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       *poid_par_priv->bytes_rw = 0;
-
-       if (poid_par_priv->information_buf_len < sizeof(struct pgpkt *))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       ppgpkt = (struct pgpkt *)poid_par_priv->information_buf;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       if (poid_par_priv->type_of_oid == QUERY_OID) {
-               Efuse_PowerSwitch(Adapter, false, true);
-               if (Efuse_PgPacketRead(Adapter, ppgpkt->offset, ppgpkt->data, false))
-                       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-               else
-                       status = NDIS_STATUS_FAILURE;
-               Efuse_PowerSwitch(Adapter, false, false);
-       } else {
-               Efuse_PowerSwitch(Adapter, true, true);
-               if (Efuse_PgPacketWrite(Adapter, ppgpkt->offset, ppgpkt->word_en, ppgpkt->data, false))
-                       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-               else
-                       status = NDIS_STATUS_FAILURE;
-               Efuse_PowerSwitch(Adapter, true, false);
-       }
-
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_get_efuse_current_size_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u16 size;
-       u8 ret;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-       ret = efuse_GetCurrentSize(Adapter, &size);
-       _irqlevel_changed_(&oldirql, RAISE);
-       if (ret == _SUCCESS) {
-               *(u32 *)poid_par_priv->information_buf = size;
-               *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-       } else {
-               status = NDIS_STATUS_FAILURE;
-       }
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_get_efuse_max_size_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-
-       if (poid_par_priv->type_of_oid != QUERY_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(u32))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       *(u32 *)poid_par_priv->information_buf = efuse_GetMaxSize(Adapter);
-       *poid_par_priv->bytes_rw = poid_par_priv->information_buf_len;
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_efuse_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status;
-
-       if (poid_par_priv->type_of_oid == QUERY_OID)
-               status = rtl8188eu_oid_rt_pro_read_efuse_hdl(poid_par_priv);
-       else
-               status = rtl8188eu_oid_rt_pro_write_efuse_hdl(poid_par_priv);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_pro_efuse_map_hdl(struct oid_par_priv *poid_par_priv)
-{
-       u8              *data;
-       int status = NDIS_STATUS_SUCCESS;
-       struct adapter *Adapter = (struct adapter *)(poid_par_priv->adapter_context);
-       u16     maplen = 0;
-
-       EFUSE_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&maplen, false);
-
-       *poid_par_priv->bytes_rw = 0;
-
-       if (poid_par_priv->information_buf_len < maplen)
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       data = (u8 *)poid_par_priv->information_buf;
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       if (poid_par_priv->type_of_oid == QUERY_OID) {
-               if (rtw_efuse_map_read(Adapter, 0, maplen, data) == _SUCCESS)
-                       *poid_par_priv->bytes_rw = maplen;
-               else
-                       status = NDIS_STATUS_FAILURE;
-       } else {
-               /*  SET_OID */
-               if (rtw_efuse_map_write(Adapter, 0, maplen, data) == _SUCCESS)
-                       *poid_par_priv->bytes_rw = maplen;
-               else
-                       status = NDIS_STATUS_FAILURE;
-       }
-
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_set_crystal_cap_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-       return status;
-}
-
-int rtl8188eu_oid_rt_set_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-
-       if (poid_par_priv->type_of_oid != SET_OID)
-               return NDIS_STATUS_NOT_ACCEPTED;
-
-       if (poid_par_priv->information_buf_len < sizeof(u8))
-               return NDIS_STATUS_INVALID_LENGTH;
-
-       return status;
-}
-
-int rtl8188eu_oid_rt_pro_set_tx_agc_offset_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_oid_rt_pro_set_pkt_test_mode_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
-
-int rtl8188eu_mp_ioctl_xmit_packet_hdl(struct oid_par_priv *poid_par_priv)
-{
-       struct mp_xmit_parm *pparm;
-       struct adapter *padapter;
-       struct mp_priv *pmp_priv;
-       struct pkt_attrib *pattrib;
-
-       pparm = (struct mp_xmit_parm *)poid_par_priv->information_buf;
-       padapter = (struct adapter *)poid_par_priv->adapter_context;
-       pmp_priv = &padapter->mppriv;
-
-       if (poid_par_priv->type_of_oid == QUERY_OID) {
-               pparm->enable = !pmp_priv->tx.stop;
-               pparm->count = pmp_priv->tx.sended;
-       } else {
-               if (pparm->enable == 0) {
-                       pmp_priv->tx.stop = 1;
-               } else if (pmp_priv->tx.stop == 1) {
-                       pmp_priv->tx.stop = 0;
-                       pmp_priv->tx.count = pparm->count;
-                       pmp_priv->tx.payload = pparm->payload_type;
-                       pattrib = &pmp_priv->tx.attrib;
-                       pattrib->pktlen = pparm->length;
-                       memcpy(pattrib->dst, pparm->da, ETH_ALEN);
-                       SetPacketTx(padapter);
-               } else {
-                       return NDIS_STATUS_FAILURE;
-               }
-       }
-
-       return NDIS_STATUS_SUCCESS;
-}
-
-/*  */
-int rtl8188eu_oid_rt_set_power_down_hdl(struct oid_par_priv *poid_par_priv)
-{
-       int status = NDIS_STATUS_SUCCESS;
-
-       if (poid_par_priv->type_of_oid != SET_OID) {
-               status = NDIS_STATUS_NOT_ACCEPTED;
-               return status;
-       }
-
-       _irqlevel_changed_(&oldirql, LOWER);
-
-       /* CALL  the power_down function */
-       _irqlevel_changed_(&oldirql, RAISE);
-
-       return status;
-}
-/*  */
-int rtl8188eu_oid_rt_get_power_mode_hdl(struct oid_par_priv *poid_par_priv)
-{
-       return 0;
-}
index e2b6cf2..b265b5e 100644 (file)
@@ -7,8 +7,6 @@
 #include "../include/rtw_p2p.h"
 #include "../include/wifi.h"
 
-#ifdef CONFIG_88EU_P2P
-
 static int rtw_p2p_is_channel_list_ok(u8 desired_ch, u8 *ch_list, u8 ch_cnt)
 {
        int found = 0, i = 0;
@@ -735,13 +733,6 @@ u32 build_assoc_resp_p2p_ie(struct wifidirect_info *pwdinfo, u8 *pbuf, u8 status
        return len;
 }
 
-u32 build_deauth_p2p_ie(struct wifidirect_info *pwdinfo, u8 *pbuf)
-{
-       u32 len = 0;
-
-       return len;
-}
-
 u32 process_probe_req_p2p_ie(struct wifidirect_info *pwdinfo, u8 *pframe, uint len)
 {
        u8 *p;
@@ -1494,7 +1485,7 @@ static void pre_tx_invitereq_handler(struct adapter *padapter)
        u8      val8 = 1;
 
        set_channel_bwmode(padapter, pwdinfo->invitereq_info.peer_ch, HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20);
-       padapter->HalFunc.SetHwRegHandler(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+       SetHwReg8188EU(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
        issue_probereq_p2p(padapter, NULL);
        _set_timer(&pwdinfo->pre_tx_scan_timer, P2P_TX_PRESCAN_TIMEOUT);
 
@@ -1506,7 +1497,7 @@ static void pre_tx_provdisc_handler(struct adapter *padapter)
        u8      val8 = 1;
 
        set_channel_bwmode(padapter, pwdinfo->tx_prov_disc_info.peer_channel_num[0], HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20);
-       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+       SetHwReg8188EU(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
        issue_probereq_p2p(padapter, NULL);
        _set_timer(&pwdinfo->pre_tx_scan_timer, P2P_TX_PRESCAN_TIMEOUT);
 
@@ -1518,7 +1509,7 @@ static void pre_tx_negoreq_handler(struct adapter *padapter)
        u8      val8 = 1;
 
        set_channel_bwmode(padapter, pwdinfo->nego_req_info.peer_channel_num[0], HAL_PRIME_CHNL_OFFSET_DONT_CARE, HT_CHANNEL_WIDTH_20);
-       rtw_hal_set_hwreg(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
+       SetHwReg8188EU(padapter, HW_VAR_MLME_SITESURVEY, (u8 *)(&val8));
        issue_probereq_p2p(padapter, NULL);
        _set_timer(&pwdinfo->pre_tx_scan_timer, P2P_TX_PRESCAN_TIMEOUT);
 
@@ -1643,7 +1634,7 @@ void p2p_ps_wk_hdl(struct adapter *padapter, u8 p2p_ps_state)
        case P2P_PS_DISABLE:
                pwdinfo->p2p_ps_state = p2p_ps_state;
 
-               rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, (u8 *)(&p2p_ps_state));
+               SetHwReg8188EU(padapter, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, (u8 *)(&p2p_ps_state));
 
                pwdinfo->noa_index = 0;
                pwdinfo->ctwindow = 0;
@@ -1653,7 +1644,7 @@ void p2p_ps_wk_hdl(struct adapter *padapter, u8 p2p_ps_state)
                if (padapter->pwrctrlpriv.bFwCurrentInPSMode) {
                        if (pwrpriv->smart_ps == 0) {
                                pwrpriv->smart_ps = 2;
-                               rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&padapter->pwrctrlpriv.pwr_mode));
+                               SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&padapter->pwrctrlpriv.pwr_mode));
                        }
                }
                break;
@@ -1665,10 +1656,10 @@ void p2p_ps_wk_hdl(struct adapter *padapter, u8 p2p_ps_state)
                                if (pwrpriv->smart_ps != 0) {
                                        pwrpriv->smart_ps = 0;
                                        DBG_88E("%s(): Enter CTW, change SmartPS\n", __func__);
-                                       rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&padapter->pwrctrlpriv.pwr_mode));
+                                       SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&padapter->pwrctrlpriv.pwr_mode));
                                }
                        }
-                       rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, (u8 *)(&p2p_ps_state));
+                       SetHwReg8188EU(padapter, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, (u8 *)(&p2p_ps_state));
                }
                break;
        case P2P_PS_SCAN:
@@ -1676,7 +1667,7 @@ void p2p_ps_wk_hdl(struct adapter *padapter, u8 p2p_ps_state)
        case P2P_PS_ALLSTASLEEP:
                if (pwdinfo->p2p_ps_mode > P2P_PS_NONE) {
                        pwdinfo->p2p_ps_state = p2p_ps_state;
-                       rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, (u8 *)(&p2p_ps_state));
+                       SetHwReg8188EU(padapter, HW_VAR_H2C_FW_P2P_PS_OFFLOAD, (u8 *)(&p2p_ps_state));
                }
                break;
        default:
@@ -1832,7 +1823,6 @@ void rtw_init_wifidirect_timers(struct adapter *padapter)
 
 void rtw_init_wifidirect_addrs(struct adapter *padapter, u8 *dev_addr, u8 *iface_addr)
 {
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
 
        /*init device&interface address */
@@ -1840,7 +1830,6 @@ void rtw_init_wifidirect_addrs(struct adapter *padapter, u8 *dev_addr, u8 *iface
                memcpy(pwdinfo->device_addr, dev_addr, ETH_ALEN);
        if (iface_addr)
                memcpy(pwdinfo->interface_addr, iface_addr, ETH_ALEN);
-#endif
 }
 
 void init_wifidirect_info(struct adapter *padapter, enum P2P_ROLE role)
@@ -1955,7 +1944,7 @@ int rtw_p2p_enable(struct adapter *padapter, enum P2P_ROLE role)
                /* Enable P2P function */
                init_wifidirect_info(padapter, role);
 
-               rtw_hal_set_odm_var(padapter, HAL_ODM_P2P_STATE, NULL, true);
+               rtl8188e_SetHalODMVar(padapter, HAL_ODM_P2P_STATE, NULL, true);
        } else if (role == P2P_ROLE_DISABLE) {
                if (_FAIL == rtw_pwr_wakeup(padapter)) {
                        ret = _FAIL;
@@ -1974,7 +1963,7 @@ int rtw_p2p_enable(struct adapter *padapter, enum P2P_ROLE role)
                        memset(&pwdinfo->rx_prov_disc_info, 0x00, sizeof(struct rx_provdisc_req_info));
                }
 
-               rtw_hal_set_odm_var(padapter, HAL_ODM_P2P_STATE, NULL, false);
+               rtl8188e_SetHalODMVar(padapter, HAL_ODM_P2P_STATE, NULL, false);
 
                /* Restore to initial setting. */
                update_tx_basic_rate(padapter, padapter->registrypriv.wireless_mode);
@@ -1983,15 +1972,3 @@ int rtw_p2p_enable(struct adapter *padapter, enum P2P_ROLE role)
 exit:
        return ret;
 }
-
-#else
-u8 p2p_ps_wk_cmd(struct adapter *padapter, u8 p2p_ps_state, u8 enqueue)
-{
-       return _FAIL;
-}
-
-void process_p2p_ps_ie(struct adapter *padapter, u8 *IEs, u32 IELength)
-{
-}
-
-#endif /* CONFIG_88EU_P2P */
index c3897b2..5d595cf 100644 (file)
@@ -13,9 +13,6 @@ void ips_enter(struct adapter *padapter)
        struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
        struct xmit_priv *pxmit_priv = &padapter->xmitpriv;
 
-       if (padapter->registrypriv.mp_mode == 1)
-               return;
-
        if (pxmit_priv->free_xmitbuf_cnt != NR_XMITBUFF ||
            pxmit_priv->free_xmit_extbuf_cnt != NR_XMIT_EXTBUFF) {
                DBG_88E_LEVEL(_drv_info_, "There are some pkts to transmit\n");
@@ -24,7 +21,7 @@ void ips_enter(struct adapter *padapter)
                return;
        }
 
-       _enter_pwrlock(&pwrpriv->lock);
+       mutex_lock(&pwrpriv->lock);
 
        pwrpriv->bips_processing = true;
 
@@ -45,7 +42,7 @@ void ips_enter(struct adapter *padapter)
        }
        pwrpriv->bips_processing = false;
 
-       _exit_pwrlock(&pwrpriv->lock);
+       mutex_unlock(&pwrpriv->lock);
 }
 
 int ips_leave(struct adapter *padapter)
@@ -56,7 +53,7 @@ int ips_leave(struct adapter *padapter)
        int result = _SUCCESS;
        int keyid;
 
-       _enter_pwrlock(&pwrpriv->lock);
+       mutex_lock(&pwrpriv->lock);
 
        if ((pwrpriv->rf_pwrstate == rf_off) && (!pwrpriv->bips_processing)) {
                pwrpriv->bips_processing = true;
@@ -90,7 +87,7 @@ int ips_leave(struct adapter *padapter)
                pwrpriv->bpower_saving = false;
        }
 
-       _exit_pwrlock(&pwrpriv->lock);
+       mutex_unlock(&pwrpriv->lock);
 
        return result;
 }
@@ -99,10 +96,7 @@ static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
 {
        struct adapter *buddy = adapter->pbuddy_adapter;
        struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &adapter->wdinfo;
-#endif
-
        bool ret = false;
 
        if (adapter->pwrctrlpriv.ips_deny_time >= jiffies)
@@ -113,29 +107,19 @@ static bool rtw_pwr_unassociated_idle(struct adapter *adapter)
            check_fwstate(pmlmepriv, WIFI_UNDER_WPS) ||
            check_fwstate(pmlmepriv, WIFI_AP_STATE) ||
            check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE) ||
-#if defined(CONFIG_88EU_P2P)
            !rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
-#else
-           0)
-#endif
                goto exit;
 
        /* consider buddy, if exist */
        if (buddy) {
                struct mlme_priv *b_pmlmepriv = &buddy->mlmepriv;
-               #ifdef CONFIG_88EU_P2P
                struct wifidirect_info *b_pwdinfo = &buddy->wdinfo;
-               #endif
 
                if (check_fwstate(b_pmlmepriv, WIFI_ASOC_STATE | WIFI_SITE_MONITOR) ||
                    check_fwstate(b_pmlmepriv, WIFI_UNDER_LINKING | WIFI_UNDER_WPS) ||
                    check_fwstate(b_pmlmepriv, WIFI_AP_STATE) ||
                    check_fwstate(b_pmlmepriv, WIFI_ADHOC_MASTER_STATE | WIFI_ADHOC_STATE) ||
-#if defined(CONFIG_88EU_P2P)
                    !rtw_p2p_chk_state(b_pwdinfo, P2P_STATE_NONE))
-#else
-                   0)
-#endif
                        goto exit;
        }
        ret = true;
@@ -148,32 +132,12 @@ void rtw_ps_processor(struct adapter *padapter)
 {
        struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-       enum rt_rf_power_state rfpwrstate;
 
        pwrpriv->ps_processing = true;
 
        if (pwrpriv->bips_processing)
                goto exit;
 
-       if (padapter->pwrctrlpriv.bHWPwrPindetect) {
-               rfpwrstate = RfOnOffDetect(padapter);
-               DBG_88E("@@@@- #2  %s==> rfstate:%s\n", __func__, (rfpwrstate == rf_on) ? "rf_on" : "rf_off");
-
-               if (rfpwrstate != pwrpriv->rf_pwrstate) {
-                       if (rfpwrstate == rf_off) {
-                               pwrpriv->change_rfpwrstate = rf_off;
-                               pwrpriv->brfoffbyhw = true;
-                               padapter->bCardDisableWOHSM = true;
-                               rtw_hw_suspend(padapter);
-                       } else {
-                               pwrpriv->change_rfpwrstate = rf_on;
-                               rtw_hw_resume(padapter);
-                       }
-                       DBG_88E("current rf_pwrstate(%s)\n", (pwrpriv->rf_pwrstate == rf_off) ? "rf_off" : "rf_on");
-               }
-               pwrpriv->pwr_state_check_cnts++;
-       }
-
        if (pwrpriv->ips_mode_req == IPS_NONE)
                goto exit;
 
@@ -199,51 +163,6 @@ static void pwr_state_check_handler(struct timer_list *t)
        rtw_ps_cmd(padapter);
 }
 
-/*
- *
- * Parameters
- *     padapter
- *     pslv                    power state level, only could be PS_STATE_S0 ~ PS_STATE_S4
- *
- */
-void rtw_set_rpwm(struct adapter *padapter, u8 pslv)
-{
-       u8      rpwm;
-       struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
-
-       pslv = PS_STATE(pslv);
-
-       if (pwrpriv->btcoex_rfon) {
-               if (pslv < PS_STATE_S4)
-                       pslv = PS_STATE_S3;
-       }
-
-       if (pwrpriv->rpwm == pslv)
-               return;
-
-       if ((padapter->bSurpriseRemoved) ||
-           (!padapter->hw_init_completed)) {
-               pwrpriv->cpwm = PS_STATE_S4;
-
-               return;
-       }
-
-       if (padapter->bDriverStopped) {
-               if (pslv < PS_STATE_S2)
-                       return;
-       }
-
-       rpwm = pslv | pwrpriv->tog;
-
-       pwrpriv->rpwm = pslv;
-
-       rtw_hal_set_hwreg(padapter, HW_VAR_SET_RPWM, (u8 *)(&rpwm));
-
-       pwrpriv->tog += 0x80;
-       pwrpriv->cpwm = pslv;
-
-}
-
 static u8 PS_RDY_CHECK(struct adapter *padapter)
 {
        u32 curr_time, delta_time;
@@ -274,9 +193,7 @@ static u8 PS_RDY_CHECK(struct adapter *padapter)
 void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_ant_mode)
 {
        struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info  *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        if (ps_mode > PM_Card_Disable)
                return;
@@ -292,31 +209,24 @@ void rtw_set_ps_mode(struct adapter *padapter, u8 ps_mode, u8 smart_ps, u8 bcn_a
 
        /* if (pwrpriv->pwr_mode == PS_MODE_ACTIVE) */
        if (ps_mode == PS_MODE_ACTIVE) {
-#ifdef CONFIG_88EU_P2P
                if (pwdinfo->opp_ps == 0) {
                        DBG_88E("rtw_set_ps_mode: Leave 802.11 power save\n");
                        pwrpriv->pwr_mode = ps_mode;
-                       rtw_set_rpwm(padapter, PS_STATE_S4);
-                       rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
+                       SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
                        pwrpriv->bFwCurrentInPSMode = false;
                }
        } else {
-#endif /* CONFIG_88EU_P2P */
                if (PS_RDY_CHECK(padapter)) {
                        DBG_88E("%s: Enter 802.11 power save\n", __func__);
                        pwrpriv->bFwCurrentInPSMode = true;
                        pwrpriv->pwr_mode = ps_mode;
                        pwrpriv->smart_ps = smart_ps;
                        pwrpriv->bcn_ant_mode = bcn_ant_mode;
-                       rtw_hal_set_hwreg(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
+                       SetHwReg8188EU(padapter, HW_VAR_H2C_FW_PWRMODE, (u8 *)(&ps_mode));
 
-#ifdef CONFIG_88EU_P2P
                        /*  Set CTWindow after LPS */
                        if (pwdinfo->opp_ps == 1)
                                p2p_ps_wk_cmd(padapter, P2P_PS_ENABLE, 0);
-#endif /* CONFIG_88EU_P2P */
-
-                       rtw_set_rpwm(padapter, PS_STATE_S2);
                }
        }
 
@@ -336,7 +246,7 @@ s32 LPS_RF_ON_check(struct adapter *padapter, u32 delay_ms)
 
        start_time = jiffies;
        while (1) {
-               rtw_hal_get_hwreg(padapter, HW_VAR_FWLPS_RF_ON, &bAwake);
+               GetHwReg8188EU(padapter, HW_VAR_FWLPS_RF_ON, &bAwake);
                if (bAwake)
                        break;
 
@@ -427,7 +337,7 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
 {
        struct pwrctrl_priv *pwrctrlpriv = &padapter->pwrctrlpriv;
 
-       _init_pwrlock(&pwrctrlpriv->lock);
+       mutex_init(&pwrctrlpriv->lock);
        pwrctrlpriv->rf_pwrstate = rf_on;
        pwrctrlpriv->ips_enter_cnts = 0;
        pwrctrlpriv->ips_leave_cnts = 0;
@@ -443,50 +353,18 @@ void rtw_init_pwrctrl_priv(struct adapter *padapter)
        pwrctrlpriv->bkeepfwalive = false;
 
        pwrctrlpriv->LpsIdleCount = 0;
-       if (padapter->registrypriv.mp_mode == 1)
-               pwrctrlpriv->power_mgnt = PS_MODE_ACTIVE;
-       else
-               pwrctrlpriv->power_mgnt = padapter->registrypriv.power_mgnt;/*  PS_MODE_MIN; */
+       pwrctrlpriv->power_mgnt = padapter->registrypriv.power_mgnt;/*  PS_MODE_MIN; */
        pwrctrlpriv->bLeisurePs = (PS_MODE_ACTIVE != pwrctrlpriv->power_mgnt) ? true : false;
 
        pwrctrlpriv->bFwCurrentInPSMode = false;
 
-       pwrctrlpriv->rpwm = 0;
-       pwrctrlpriv->cpwm = PS_STATE_S4;
-
        pwrctrlpriv->pwr_mode = PS_MODE_ACTIVE;
        pwrctrlpriv->smart_ps = padapter->registrypriv.smart_ps;
        pwrctrlpriv->bcn_ant_mode = 0;
 
-       pwrctrlpriv->tog = 0x80;
-
-       pwrctrlpriv->btcoex_rfon = false;
-
        timer_setup(&pwrctrlpriv->pwr_state_check_timer, pwr_state_check_handler, 0);
 }
 
-void rtw_free_pwrctrl_priv(struct adapter *adapter)
-{
-       struct pwrctrl_priv *pwrctrlpriv = &adapter->pwrctrlpriv;
-
-       _free_pwrlock(&pwrctrlpriv->lock);
-
-}
-
-u8 rtw_interface_ps_func(struct adapter *padapter, enum hal_intf_ps_func efunc_id, u8 *val)
-{
-       u8 bResult = true;
-       rtw_hal_intf_ps_func(padapter, efunc_id, val);
-
-       return bResult;
-}
-
-inline void rtw_set_ips_deny(struct adapter *padapter, u32 ms)
-{
-       struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
-       pwrpriv->ips_deny_time = jiffies + rtw_ms_to_systime(ms);
-}
-
 /*
 * rtw_pwr_wakeup - Wake the NIC up from: 1)IPS. 2)USB autosuspend
 * @adapter: pointer to struct adapter structure
index e082edf..51a1326 100644 (file)
@@ -9,6 +9,7 @@
 #include "../include/mlme_osdep.h"
 #include "../include/usb_ops.h"
 #include "../include/wifi.h"
+#include "../include/rtl8188e_recv.h"
 
 static u8 SNAP_ETH_TYPE_IPX[2] = {0x81, 0x37};
 static u8 SNAP_ETH_TYPE_APPLETALK_AARP[2] = {0x80, 0xf3};
@@ -31,7 +32,7 @@ void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv)
 
        spin_lock_init(&psta_recvpriv->lock);
 
-       _rtw_init_queue(&psta_recvpriv->defrag_q);
+       rtw_init_queue(&psta_recvpriv->defrag_q);
 
 }
 
@@ -45,9 +46,9 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
 
        spin_lock_init(&precvpriv->lock);
 
-       _rtw_init_queue(&precvpriv->free_recv_queue);
-       _rtw_init_queue(&precvpriv->recv_pending_queue);
-       _rtw_init_queue(&precvpriv->uc_swdec_pending_queue);
+       rtw_init_queue(&precvpriv->free_recv_queue);
+       rtw_init_queue(&precvpriv->recv_pending_queue);
+       rtw_init_queue(&precvpriv->uc_swdec_pending_queue);
 
        precvpriv->adapter = padapter;
 
@@ -82,7 +83,7 @@ int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
 
        sema_init(&precvpriv->allrxreturnevt, 0);
 
-       res = rtw_hal_init_recv_priv(padapter);
+       res = rtl8188eu_init_recv_priv(padapter);
 
        timer_setup(&precvpriv->signal_stat_timer, rtw_signal_stat_timer_hdl, 0);
        precvpriv->signal_stat_sampling_interval = 1000; /* ms */
@@ -103,7 +104,7 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv)
 
        vfree(precvpriv->pallocated_frame_buf);
 
-       rtw_hal_free_recv_priv(padapter);
+       rtl8188eu_free_recv_priv(padapter);
 }
 
 struct recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
@@ -147,14 +148,6 @@ struct recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue)
        return precvframe;
 }
 
-void rtw_init_recvframe(struct recv_frame *precvframe, struct recv_priv *precvpriv)
-{
-       /* Perry: This can be removed */
-       INIT_LIST_HEAD(&precvframe->list);
-
-       precvframe->len = 0;
-}
-
 int rtw_free_recvframe(struct recv_frame *precvframe, struct __queue *pfree_recv_queue)
 {
        struct adapter *padapter;
@@ -257,56 +250,6 @@ u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter)
        return cnt;
 }
 
-int rtw_enqueue_recvbuf_to_head(struct recv_buf *precvbuf, struct __queue *queue)
-{
-       spin_lock_bh(&queue->lock);
-
-       list_del_init(&precvbuf->list);
-       list_add(&precvbuf->list, get_list_head(queue));
-
-       spin_unlock_bh(&queue->lock);
-
-       return _SUCCESS;
-}
-
-int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue)
-{
-       unsigned long flags;
-
-       spin_lock_irqsave(&queue->lock, flags);
-
-       list_del_init(&precvbuf->list);
-
-       list_add_tail(&precvbuf->list, get_list_head(queue));
-       spin_unlock_irqrestore(&queue->lock, flags);
-       return _SUCCESS;
-}
-
-struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue)
-{
-       struct recv_buf *precvbuf;
-       struct list_head *plist, *phead;
-       unsigned long flags;
-
-       spin_lock_irqsave(&queue->lock, flags);
-
-       if (list_empty(&queue->queue)) {
-               precvbuf = NULL;
-       } else {
-               phead = get_list_head(queue);
-
-               plist = phead->next;
-
-               precvbuf = container_of(plist, struct recv_buf, list);
-
-               list_del_init(&precvbuf->list);
-       }
-
-       spin_unlock_irqrestore(&queue->lock, flags);
-
-       return precvbuf;
-}
-
 static int recvframe_chkmic(struct adapter *adapter,  struct recv_frame *precvframe)
 {
        int     i, res = _SUCCESS;
@@ -418,13 +361,13 @@ static struct recv_frame *decryptor(struct adapter *padapter, struct recv_frame
                switch (prxattrib->encrypt) {
                case _WEP40_:
                case _WEP104_:
-                       rtw_wep_decrypt(padapter, (u8 *)precv_frame);
+                       rtw_wep_decrypt(padapter, precv_frame);
                        break;
                case _TKIP_:
-                       res = rtw_tkip_decrypt(padapter, (u8 *)precv_frame);
+                       res = rtw_tkip_decrypt(padapter, precv_frame);
                        break;
                case _AES_:
-                       res = rtw_aes_decrypt(padapter, (u8 *)precv_frame);
+                       res = rtw_aes_decrypt(padapter, precv_frame);
                        break;
                default:
                        break;
@@ -523,7 +466,6 @@ static int recv_decache(struct recv_frame *precv_frame, u8 bretry, struct stainf
 void process_pwrbit_data(struct adapter *padapter, struct recv_frame *precv_frame);
 void process_pwrbit_data(struct adapter *padapter, struct recv_frame *precv_frame)
 {
-#ifdef CONFIG_88EU_AP_MODE
        unsigned char pwrbit;
        u8 *ptr = precv_frame->rx_data;
        struct rx_pkt_attrib *pattrib = &precv_frame->attrib;
@@ -543,13 +485,10 @@ void process_pwrbit_data(struct adapter *padapter, struct recv_frame *precv_fram
                                wakeup_sta_to_xmit(padapter, psta);
                }
        }
-
-#endif
 }
 
 static void process_wmmps_data(struct adapter *padapter, struct recv_frame *precv_frame)
 {
-#ifdef CONFIG_88EU_AP_MODE
        struct rx_pkt_attrib *pattrib = &precv_frame->attrib;
        struct sta_priv *pstapriv = &padapter->stapriv;
        struct sta_info *psta = NULL;
@@ -598,8 +537,6 @@ static void process_wmmps_data(struct adapter *padapter, struct recv_frame *prec
                        }
                }
        }
-
-#endif
 }
 
 static void count_rx_stats(struct adapter *padapter, struct recv_frame *prframe, struct sta_info *sta)
@@ -710,14 +647,8 @@ int sta2sta_data_frame(struct adapter *adapter, struct recv_frame *precv_frame,
        else
                *psta = rtw_get_stainfo(pstapriv, sta_addr); /*  get ap_info */
 
-       if (!*psta) {
-               if (adapter->registrypriv.mp_mode == 1) {
-                       if (check_fwstate(pmlmepriv, WIFI_MP_STATE))
-                               adapter->mppriv.rx_pktloss++;
-               }
-               ret = _FAIL;
+       if (!*psta)
                goto exit;
-       }
 
 exit:
 
@@ -883,7 +814,6 @@ exit:
 static int validate_recv_ctrl_frame(struct adapter *padapter,
                                    struct recv_frame *precv_frame)
 {
-#ifdef CONFIG_88EU_AP_MODE
        struct rx_pkt_attrib *pattrib = &precv_frame->attrib;
        struct sta_priv *pstapriv = &padapter->stapriv;
        u8 *pframe = precv_frame->rx_data;
@@ -966,8 +896,6 @@ static int validate_recv_ctrl_frame(struct adapter *padapter,
 
                                pxmitframe->attrib.triggered = 1;
 
-                               rtw_hal_xmitframe_enqueue(padapter, pxmitframe);
-
                                if (psta->sleepq_len == 0) {
                                        pstapriv->tim_bitmap &= ~BIT(psta->aid);
 
@@ -998,8 +926,6 @@ static int validate_recv_ctrl_frame(struct adapter *padapter,
                }
        }
 
-#endif
-
        return _FAIL;
 }
 
@@ -1189,7 +1115,7 @@ static int validate_recv_frame(struct adapter *adapter, struct recv_frame *precv
        pattrib->order = GetOrder(ptr);
 
        /* Dump rx packets */
-       rtw_hal_get_def_var(adapter, HAL_DEF_DBG_DUMP_RXPKT, &(bDumpRxPkt));
+       GetHalDefVar8188EUsb(adapter, HAL_DEF_DBG_DUMP_RXPKT, &bDumpRxPkt);
        if (bDumpRxPkt == 1) {/* dump all rx packets */
                int i;
                DBG_88E("#############################\n");
@@ -1860,22 +1786,7 @@ static int process_recv_indicatepkts(struct adapter *padapter, struct recv_frame
 static int recv_func_prehandle(struct adapter *padapter, struct recv_frame *rframe)
 {
        int ret = _SUCCESS;
-       struct rx_pkt_attrib *pattrib = &rframe->attrib;
        struct __queue *pfree_recv_queue = &padapter->recvpriv.free_recv_queue;
-       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-       if (padapter->registrypriv.mp_mode == 1) {
-               if (pattrib->crc_err == 1)
-                       padapter->mppriv.rx_crcerrpktcount++;
-               else
-                       padapter->mppriv.rx_pktcount++;
-
-               if (!check_fwstate(pmlmepriv, WIFI_MP_LPBK_STATE)) {
-                       ret = _FAIL;
-                       rtw_free_recvframe(rframe, pfree_recv_queue);/* free this recv_frame */
-                       goto exit;
-               }
-       }
 
        /* check the frame crtl field and decache */
        ret = validate_recv_frame(padapter, rframe);
@@ -1998,9 +1909,6 @@ s32 rtw_recv_entry(struct recv_frame *precvframe)
 
 _recv_entry_drop:
 
-       if (padapter->registrypriv.mp_mode == 1)
-               padapter->mppriv.rx_pktloss = precvpriv->rx_drop;
-
        return ret;
 }
 
index 321546c..2ec5601 100644 (file)
@@ -53,20 +53,3 @@ u32 rtw_ch2freq(u32 channel)
 
        return freq;
 }
-
-u32 rtw_freq2ch(u32 freq)
-{
-       u8      i;
-       u32     ch = 0;
-
-       for (i = 0; i < ch_freq_map_num; i++) {
-               if (freq == ch_freq_map[i].frequency) {
-                       ch = ch_freq_map[i].channel;
-                               break;
-               }
-       }
-       if (i == ch_freq_map_num)
-               ch = 1;
-
-       return ch;
-}
index 5aa893a..db35f32 100644 (file)
 
 /* WEP related ===== */
 
-#define CRC32_POLY 0x04c11db7
-
-struct arc4context {
-       u32 x;
-       u32 y;
-       u8 state[256];
-};
-
-static void arcfour_init(struct arc4context *parc4ctx, u8 *key, u32    key_len)
-{
-       u32     t, u;
-       u32     keyindex;
-       u32     stateindex;
-       u8 *state;
-       u32     counter;
-
-       state = parc4ctx->state;
-       parc4ctx->x = 0;
-       parc4ctx->y = 0;
-       for (counter = 0; counter < 256; counter++)
-               state[counter] = (u8)counter;
-       keyindex = 0;
-       stateindex = 0;
-       for (counter = 0; counter < 256; counter++) {
-               t = state[counter];
-               stateindex = (stateindex + key[keyindex] + t) & 0xff;
-               u = state[stateindex];
-               state[stateindex] = (u8)t;
-               state[counter] = (u8)u;
-               if (++keyindex >= key_len)
-                       keyindex = 0;
-       }
-
-}
-
-static u32 arcfour_byte(struct arc4context *parc4ctx)
-{
-       u32 x;
-       u32 y;
-       u32 sx, sy;
-       u8 *state;
-
-       state = parc4ctx->state;
-       x = (parc4ctx->x + 1) & 0xff;
-       sx = state[x];
-       y = (sx + parc4ctx->y) & 0xff;
-       sy = state[y];
-       parc4ctx->x = x;
-       parc4ctx->y = y;
-       state[y] = (u8)sx;
-       state[x] = (u8)sy;
-
-       return state[(sx + sy) & 0xff];
-}
-
-static void arcfour_encrypt(struct arc4context *parc4ctx, u8 *dest, u8 *src, u32 len)
-{
-       u32     i;
-
-       for (i = 0; i < len; i++)
-               dest[i] = src[i] ^ (unsigned char)arcfour_byte(parc4ctx);
-
-}
-
 /*
        Need to consider the fragment  situation
 */
-void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
+void rtw_wep_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
 {      /*  exclude ICV */
        union {
                __le32 f0;
                u8 f1[4];
        } crc;
-       struct arc4context       mycontext;
 
        int     curfragnum, length;
        u32     keylength;
@@ -91,17 +26,16 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
        u8      *pframe, *payload, *iv;    /* wepkey */
        u8      wepkey[16];
        u8   hw_hdr_offset = 0;
-       struct  pkt_attrib       *pattrib = &((struct xmit_frame *)pxmitframe)->attrib;
+       struct  pkt_attrib       *pattrib = &pxmitframe->attrib;
        struct  security_priv   *psecuritypriv = &padapter->securitypriv;
        struct  xmit_priv               *pxmitpriv = &padapter->xmitpriv;
+       struct arc4_ctx *ctx = &psecuritypriv->xmit_arc4_ctx;
 
-       if (!((struct xmit_frame *)pxmitframe)->buf_addr)
+       if (!pxmitframe->buf_addr)
                return;
 
-       hw_hdr_offset = TXDESC_SIZE +
-                (((struct xmit_frame *)pxmitframe)->pkt_offset * PACKET_OFFSET_SZ);
-
-       pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset;
+       hw_hdr_offset = TXDESC_SIZE + pxmitframe->pkt_offset * PACKET_OFFSET_SZ;
+       pframe = pxmitframe->buf_addr + hw_hdr_offset;
 
        /* start to encrypt each fragment */
        if ((pattrib->encrypt == _WEP40_) || (pattrib->encrypt == _WEP104_)) {
@@ -118,15 +52,15 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
 
                                crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
 
-                               arcfour_init(&mycontext, wepkey, 3 + keylength);
-                               arcfour_encrypt(&mycontext, payload, payload, length);
-                               arcfour_encrypt(&mycontext, payload + length, crc.f1, 4);
+                               arc4_setkey(ctx, wepkey, 3 + keylength);
+                               arc4_crypt(ctx, payload, payload, length);
+                               arc4_crypt(ctx, payload + length, crc.f1, 4);
                        } else {
                                length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
                                crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
-                               arcfour_init(&mycontext, wepkey, 3 + keylength);
-                               arcfour_encrypt(&mycontext, payload, payload, length);
-                               arcfour_encrypt(&mycontext, payload + length, crc.f1, 4);
+                               arc4_setkey(ctx, wepkey, 3 + keylength);
+                               arc4_crypt(ctx, payload, payload, length);
+                               arc4_crypt(ctx, payload + length, crc.f1, 4);
 
                                pframe += pxmitpriv->frag_len;
                                pframe = (u8 *)RND4((size_t)(pframe));
@@ -136,18 +70,18 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
 
 }
 
-void rtw_wep_decrypt(struct adapter  *padapter, u8 *precvframe)
+void rtw_wep_decrypt(struct adapter *padapter, struct recv_frame *precvframe)
 {
        /*  exclude ICV */
-       struct arc4context       mycontext;
        int     length;
        u32     keylength;
        u8      *pframe, *payload, *iv, wepkey[16];
        u8       keyindex;
-       struct  rx_pkt_attrib    *prxattrib = &(((struct recv_frame *)precvframe)->attrib);
+       struct  rx_pkt_attrib    *prxattrib = &precvframe->attrib;
        struct  security_priv   *psecuritypriv = &padapter->securitypriv;
+       struct arc4_ctx *ctx = &psecuritypriv->recv_arc4_ctx;
 
-       pframe = (unsigned char *)((struct recv_frame *)precvframe)->rx_data;
+       pframe = precvframe->rx_data;
 
        /* start to decrypt recvframe */
        if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) {
@@ -156,13 +90,13 @@ void rtw_wep_decrypt(struct adapter  *padapter, u8 *precvframe)
                keylength = psecuritypriv->dot11DefKeylen[keyindex];
                memcpy(&wepkey[0], iv, 3);
                memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[keyindex].skey[0], keylength);
-               length = ((struct recv_frame *)precvframe)->len - prxattrib->hdrlen - prxattrib->iv_len;
+               length = precvframe->len - prxattrib->hdrlen - prxattrib->iv_len;
 
                payload = pframe + prxattrib->iv_len + prxattrib->hdrlen;
 
                /* decrypt payload include icv */
-               arcfour_init(&mycontext, wepkey, 3 + keylength);
-               arcfour_encrypt(&mycontext, payload, payload,  length);
+               arc4_setkey(ctx, wepkey, 3 + keylength);
+               arc4_crypt(ctx, payload, payload, length);
        }
 }
 
@@ -502,7 +436,7 @@ static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16)
 }
 
 /* The hlen isn't include the IV */
-u32    rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
+u32 rtw_tkip_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
 {                                                                                                                                      /*  exclude ICV */
        u16     pnl;
        u32     pnh;
@@ -513,23 +447,23 @@ u32       rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
                u8 f1[4];
        } crc;
        u8   hw_hdr_offset = 0;
-       struct arc4context mycontext;
        int                     curfragnum, length;
 
        u8      *pframe, *payload, *iv, *prwskey;
        union pn48 dot11txpn;
        struct  sta_info                *stainfo;
-       struct  pkt_attrib       *pattrib = &((struct xmit_frame *)pxmitframe)->attrib;
+       struct  pkt_attrib       *pattrib = &pxmitframe->attrib;
        struct  security_priv   *psecuritypriv = &padapter->securitypriv;
        struct  xmit_priv               *pxmitpriv = &padapter->xmitpriv;
+       struct arc4_ctx *ctx = &psecuritypriv->xmit_arc4_ctx;
        u32     res = _SUCCESS;
 
-       if (!((struct xmit_frame *)pxmitframe)->buf_addr)
+       if (!pxmitframe->buf_addr)
                return _FAIL;
 
-       hw_hdr_offset = TXDESC_SIZE +
-                (((struct xmit_frame *)pxmitframe)->pkt_offset * PACKET_OFFSET_SZ);
-       pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset;
+       hw_hdr_offset = TXDESC_SIZE + pxmitframe->pkt_offset * PACKET_OFFSET_SZ;
+       pframe = pxmitframe->buf_addr + hw_hdr_offset;
+
        /* 4 start to encrypt each fragment */
        if (pattrib->encrypt == _TKIP_) {
                if (pattrib->psta)
@@ -558,16 +492,16 @@ u32       rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
                                        length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
                                        crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
 
-                                       arcfour_init(&mycontext, rc4key, 16);
-                                       arcfour_encrypt(&mycontext, payload, payload, length);
-                                       arcfour_encrypt(&mycontext, payload + length, crc.f1, 4);
+                                       arc4_setkey(ctx, rc4key, 16);
+                                       arc4_crypt(ctx, payload, payload, length);
+                                       arc4_crypt(ctx, payload + length, crc.f1, 4);
                                } else {
                                        length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
                                        crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
 
-                                       arcfour_init(&mycontext, rc4key, 16);
-                                       arcfour_encrypt(&mycontext, payload, payload, length);
-                                       arcfour_encrypt(&mycontext, payload + length, crc.f1, 4);
+                                       arc4_setkey(ctx, rc4key, 16);
+                                       arc4_crypt(ctx, payload, payload, length);
+                                       arc4_crypt(ctx, payload + length, crc.f1, 4);
 
                                        pframe += pxmitpriv->frag_len;
                                        pframe = (u8 *)RND4((size_t)(pframe));
@@ -582,7 +516,7 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
 }
 
 /* The hlen isn't include the IV */
-u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
+u32 rtw_tkip_decrypt(struct adapter *padapter, struct recv_frame *precvframe)
 {                                                                                                                                      /*  exclude ICV */
        u16 pnl;
        u32 pnh;
@@ -592,17 +526,17 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
                __le32 f0;
                u8 f1[4];
        } crc;
-       struct arc4context mycontext;
        int                     length;
 
        u8      *pframe, *payload, *iv, *prwskey;
        union pn48 dot11txpn;
        struct  sta_info                *stainfo;
-       struct  rx_pkt_attrib    *prxattrib = &((struct recv_frame *)precvframe)->attrib;
+       struct  rx_pkt_attrib    *prxattrib = &precvframe->attrib;
        struct  security_priv   *psecuritypriv = &padapter->securitypriv;
+       struct arc4_ctx *ctx = &psecuritypriv->recv_arc4_ctx;
        u32             res = _SUCCESS;
 
-       pframe = (unsigned char *)((struct recv_frame *)precvframe)->rx_data;
+       pframe = precvframe->rx_data;
 
        /* 4 start to decrypt recvframe */
        if (prxattrib->encrypt == _TKIP_) {
@@ -621,7 +555,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
 
                        iv = pframe + prxattrib->hdrlen;
                        payload = pframe + prxattrib->iv_len + prxattrib->hdrlen;
-                       length = ((struct recv_frame *)precvframe)->len - prxattrib->hdrlen - prxattrib->iv_len;
+                       length = precvframe->len - prxattrib->hdrlen - prxattrib->iv_len;
 
                        GET_TKIP_PN(iv, dot11txpn);
 
@@ -633,8 +567,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
 
                        /* 4 decrypt payload include icv */
 
-                       arcfour_init(&mycontext, rc4key, 16);
-                       arcfour_encrypt(&mycontext, payload, payload, length);
+                       arc4_setkey(ctx, rc4key, 16);
+                       arc4_crypt(ctx, payload, payload, length);
 
                        crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length));
 
@@ -1154,7 +1088,7 @@ static int aes_cipher(u8 *key, uint hdrlen, u8 *pframe, uint plen)
        return _SUCCESS;
 }
 
-u32    rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
+u32 rtw_aes_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
 {      /*  exclude ICV */
 
        /*static*/
@@ -1165,20 +1099,18 @@ u32     rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
        u8      *pframe, *prwskey;      /*  *payload,*iv */
        u8   hw_hdr_offset = 0;
        struct  sta_info                *stainfo;
-       struct  pkt_attrib       *pattrib = &((struct xmit_frame *)pxmitframe)->attrib;
+       struct  pkt_attrib       *pattrib = &pxmitframe->attrib;
        struct  security_priv   *psecuritypriv = &padapter->securitypriv;
        struct  xmit_priv               *pxmitpriv = &padapter->xmitpriv;
 
 /*     uint    offset = 0; */
        u32 res = _SUCCESS;
 
-       if (!((struct xmit_frame *)pxmitframe)->buf_addr)
+       if (!pxmitframe->buf_addr)
                return _FAIL;
 
-       hw_hdr_offset = TXDESC_SIZE +
-                (((struct xmit_frame *)pxmitframe)->pkt_offset * PACKET_OFFSET_SZ);
-
-       pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset;
+       hw_hdr_offset = TXDESC_SIZE + pxmitframe->pkt_offset * PACKET_OFFSET_SZ;
+       pframe = pxmitframe->buf_addr + hw_hdr_offset;
 
        /* 4 start to encrypt each fragment */
        if (pattrib->encrypt == _AES_) {
@@ -1406,17 +1338,18 @@ static int aes_decipher(u8 *key, uint   hdrlen,
        return res;
 }
 
-u32    rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
+u32 rtw_aes_decrypt(struct adapter *padapter, struct recv_frame *precvframe)
 {      /*  exclude ICV */
        /* Intermediate Buffers */
        int             length;
        u8      *pframe, *prwskey;      /*  *payload,*iv */
        struct  sta_info                *stainfo;
-       struct  rx_pkt_attrib    *prxattrib = &((struct recv_frame *)precvframe)->attrib;
+       struct  rx_pkt_attrib    *prxattrib = &precvframe->attrib;
        struct  security_priv   *psecuritypriv = &padapter->securitypriv;
        u32     res = _SUCCESS;
 
-       pframe = (unsigned char *)((struct recv_frame *)precvframe)->rx_data;
+       pframe = precvframe->rx_data;
+
        /* 4 start to encrypt each fragment */
        if (prxattrib->encrypt == _AES_) {
                stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
@@ -1438,7 +1371,7 @@ u32       rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
                        } else {
                                prwskey = &stainfo->dot118021x_UncstKey.skey[0];
                        }
-                       length = ((struct recv_frame *)precvframe)->len - prxattrib->hdrlen - prxattrib->iv_len;
+                       length = precvframe->len - prxattrib->hdrlen - prxattrib->iv_len;
                        res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
                } else {
                        res = _FAIL;
@@ -1622,35 +1555,3 @@ const u8 rcons[] = {
        0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1B, 0x36
        /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */
 };
-
-/**
- * Expand the cipher key into the encryption key schedule.
- *
- * @return     the number of rounds for the given cipher key size.
- */
-#define ROUND(i, d, s) \
-do {                                                                   \
-       d##0 = TE0(s##0) ^ TE1(s##1) ^ TE2(s##2) ^ TE3(s##3) ^ rk[4 * i]; \
-       d##1 = TE0(s##1) ^ TE1(s##2) ^ TE2(s##3) ^ TE3(s##0) ^ rk[4 * i + 1]; \
-       d##2 = TE0(s##2) ^ TE1(s##3) ^ TE2(s##0) ^ TE3(s##1) ^ rk[4 * i + 2]; \
-       d##3 = TE0(s##3) ^ TE1(s##0) ^ TE2(s##1) ^ TE3(s##2) ^ rk[4 * i + 3]; \
-} while (0);
-
-/**
- * omac1_aes_128 - One-Key CBC MAC (OMAC1) hash with AES-128 (aka AES-CMAC)
- * @key: 128-bit key for the hash operation
- * @data: Data buffer for which a MAC is determined
- * @data_len: Length of data buffer in bytes
- * @mac: Buffer for MAC (128 bits, i.e., 16 bytes)
- * Returns: 0 on success, -1 on failure
- *
- * This is a mode for using block cipher (AES in this case) for authentication.
- * OMAC1 was standardized with the name CMAC by NIST in a Special Publication
- * (SP) 800-38B.
- */
-void rtw_use_tkipkey_handler(void *FunctionContext)
-{
-       struct adapter *padapter = (struct adapter *)FunctionContext;
-
-       padapter->securitypriv.busetkipkey = true;
-}
diff --git a/drivers/staging/r8188eu/core/rtw_sreset.c b/drivers/staging/r8188eu/core/rtw_sreset.c
deleted file mode 100644 (file)
index c831033..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 2007 - 2012 Realtek Corporation. */
-
-#include "../include/rtw_sreset.h"
-
-void sreset_init_value(struct adapter *padapter)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       struct sreset_priv *psrtpriv = &pHalData->srestpriv;
-
-       _rtw_mutex_init(&psrtpriv->silentreset_mutex);
-       psrtpriv->silent_reset_inprogress = false;
-       psrtpriv->wifi_error_status = WIFI_STATUS_SUCCESS;
-       psrtpriv->last_tx_time = 0;
-       psrtpriv->last_tx_complete_time = 0;
-}
-void sreset_reset_value(struct adapter *padapter)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       struct sreset_priv *psrtpriv = &pHalData->srestpriv;
-
-       psrtpriv->silent_reset_inprogress = false;
-       psrtpriv->wifi_error_status = WIFI_STATUS_SUCCESS;
-       psrtpriv->last_tx_time = 0;
-       psrtpriv->last_tx_complete_time = 0;
-}
-
-u8 sreset_get_wifi_status(struct adapter *padapter)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       struct sreset_priv *psrtpriv = &pHalData->srestpriv;
-
-       u8 status = WIFI_STATUS_SUCCESS;
-       u32 val32 = 0;
-
-       if (psrtpriv->silent_reset_inprogress)
-               return status;
-       val32 = rtw_read32(padapter, REG_TXDMA_STATUS);
-       if (val32 == 0xeaeaeaea) {
-               psrtpriv->wifi_error_status = WIFI_IF_NOT_EXIST;
-       } else if (val32 != 0) {
-               DBG_88E("txdmastatu(%x)\n", val32);
-               psrtpriv->wifi_error_status = WIFI_MAC_TXDMA_ERROR;
-       }
-
-       if (WIFI_STATUS_SUCCESS != psrtpriv->wifi_error_status) {
-               DBG_88E("==>%s error_status(0x%x)\n", __func__, psrtpriv->wifi_error_status);
-               status = (psrtpriv->wifi_error_status & (~(USB_READ_PORT_FAIL | USB_WRITE_PORT_FAIL)));
-       }
-       DBG_88E("==> %s wifi_status(0x%x)\n", __func__, status);
-
-       /* status restore */
-       psrtpriv->wifi_error_status = WIFI_STATUS_SUCCESS;
-
-       return status;
-}
-
-void sreset_set_wifi_error_status(struct adapter *padapter, u32 status)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       pHalData->srestpriv.wifi_error_status = status;
-}
index f6dffed..a3d4d5d 100644 (file)
@@ -18,14 +18,12 @@ static void _rtw_init_stainfo(struct sta_info *psta)
        spin_lock_init(&psta->lock);
        INIT_LIST_HEAD(&psta->list);
        INIT_LIST_HEAD(&psta->hash_list);
-       _rtw_init_queue(&psta->sleep_q);
+       rtw_init_queue(&psta->sleep_q);
        psta->sleepq_len = 0;
 
        _rtw_init_sta_xmit_priv(&psta->sta_xmitpriv);
        _rtw_init_sta_recv_priv(&psta->sta_recvpriv);
 
-#ifdef CONFIG_88EU_AP_MODE
-
        INIT_LIST_HEAD(&psta->asoc_list);
 
        INIT_LIST_HEAD(&psta->auth_list);
@@ -38,21 +36,16 @@ static void _rtw_init_stainfo(struct sta_info *psta)
 
        psta->bpairwise_key_installed = false;
 
-#ifdef CONFIG_88EU_AP_MODE
        psta->nonerp_set = 0;
        psta->no_short_slot_time_set = 0;
        psta->no_short_preamble_set = 0;
        psta->no_ht_gf_set = 0;
        psta->no_ht_set = 0;
        psta->ht_20mhz_set = 0;
-#endif
 
        psta->under_exist_checking = 0;
 
        psta->keep_alive_trycnt = 0;
-
-#endif /*  CONFIG_88EU_AP_MODE */
-
 }
 
 u32    _rtw_init_sta_priv(struct       sta_priv *pstapriv)
@@ -68,13 +61,13 @@ u32 _rtw_init_sta_priv(struct       sta_priv *pstapriv)
        pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
                ((size_t)(pstapriv->pallocated_stainfo_buf) & 3);
 
-       _rtw_init_queue(&pstapriv->free_sta_queue);
+       rtw_init_queue(&pstapriv->free_sta_queue);
 
        spin_lock_init(&pstapriv->sta_hash_lock);
 
        pstapriv->asoc_sta_count = 0;
-       _rtw_init_queue(&pstapriv->sleep_q);
-       _rtw_init_queue(&pstapriv->wakeup_q);
+       rtw_init_queue(&pstapriv->sleep_q);
+       rtw_init_queue(&pstapriv->wakeup_q);
 
        psta = (struct sta_info *)(pstapriv->pstainfo_buf);
 
@@ -88,8 +81,6 @@ u32   _rtw_init_sta_priv(struct       sta_priv *pstapriv)
                psta++;
        }
 
-#ifdef CONFIG_88EU_AP_MODE
-
        pstapriv->sta_dz_bitmap = 0;
        pstapriv->tim_bitmap = 0;
 
@@ -104,7 +95,6 @@ u32  _rtw_init_sta_priv(struct       sta_priv *pstapriv)
        pstapriv->assoc_to = 3;
        pstapriv->expire_to = 3; /*  3*2 = 6 sec */
        pstapriv->max_num_sta = NUM_STA;
-#endif
 
        return _SUCCESS;
 }
@@ -155,9 +145,8 @@ u32 _rtw_free_sta_priv(struct       sta_priv *pstapriv)
                spin_unlock_bh(&pstapriv->sta_hash_lock);
                /*===============================*/
 
-               if (pstapriv->pallocated_stainfo_buf)
-                       vfree(pstapriv->pallocated_stainfo_buf);
-               }
+               vfree(pstapriv->pallocated_stainfo_buf);
+       }
 
        return _SUCCESS;
 }
@@ -222,7 +211,7 @@ struct      sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr)
                        preorder_ctrl->wend_b = 0xffff;
                        preorder_ctrl->wsize_b = 64;/* 64; */
 
-                       _rtw_init_queue(&preorder_ctrl->pending_recvframe_queue);
+                       rtw_init_queue(&preorder_ctrl->pending_recvframe_queue);
 
                        rtw_init_recv_timer(preorder_ctrl);
                }
@@ -321,9 +310,7 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
        }
 
        if (!(psta->state & WIFI_AP_STATE))
-               rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, false);
-
-#ifdef CONFIG_88EU_AP_MODE
+               rtl8188e_SetHalODMVar(padapter, HAL_ODM_STA_INFO, psta, false);
 
        spin_lock_bh(&pstapriv->auth_list_lock);
        if (!list_empty(&psta->auth_list)) {
@@ -354,8 +341,6 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
 
        psta->under_exist_checking = 0;
 
-#endif /*  CONFIG_88EU_AP_MODE */
-
        spin_lock_bh(&pfree_sta_queue->lock);
        list_add_tail(&psta->list, get_list_head(pfree_sta_queue));
        spin_unlock_bh(&pfree_sta_queue->lock);
@@ -471,7 +456,6 @@ struct sta_info *rtw_get_bcmc_stainfo(struct adapter *padapter)
 u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr)
 {
        u8 res = true;
-#ifdef CONFIG_88EU_AP_MODE
        struct list_head *plist, *phead;
        struct rtw_wlan_acl_node *paclnode;
        u8 match = false;
@@ -502,7 +486,5 @@ u8 rtw_access_ctrl(struct adapter *padapter, u8 *mac_addr)
        else
                res = true;
 
-#endif
-
        return res;
 }
index a3a5e1c..6d4e21a 100644 (file)
@@ -266,27 +266,27 @@ void Save_DM_Func_Flag(struct adapter *padapter)
 {
        u8      saveflag = true;
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_DM_FUNC_OP, (u8 *)(&saveflag));
+       SetHwReg8188EU(padapter, HW_VAR_DM_FUNC_OP, (u8 *)(&saveflag));
 }
 
 void Restore_DM_Func_Flag(struct adapter *padapter)
 {
        u8      saveflag = false;
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_DM_FUNC_OP, (u8 *)(&saveflag));
+       SetHwReg8188EU(padapter, HW_VAR_DM_FUNC_OP, (u8 *)(&saveflag));
 }
 
 void Switch_DM_Func(struct adapter *padapter, u32 mode, u8 enable)
 {
        if (enable)
-               rtw_hal_set_hwreg(padapter, HW_VAR_DM_FUNC_SET, (u8 *)(&mode));
+               SetHwReg8188EU(padapter, HW_VAR_DM_FUNC_SET, (u8 *)(&mode));
        else
-               rtw_hal_set_hwreg(padapter, HW_VAR_DM_FUNC_CLR, (u8 *)(&mode));
+               SetHwReg8188EU(padapter, HW_VAR_DM_FUNC_CLR, (u8 *)(&mode));
 }
 
 static void Set_NETYPE0_MSR(struct adapter *padapter, u8 type)
 {
-       rtw_hal_set_hwreg(padapter, HW_VAR_MEDIA_STATUS, (u8 *)(&type));
+       SetHwReg8188EU(padapter, HW_VAR_MEDIA_STATUS, (u8 *)(&type));
 }
 
 void Set_MSR(struct adapter *padapter, u8 type)
@@ -304,21 +304,11 @@ inline void rtw_set_oper_ch(struct adapter *adapter, u8 ch)
        adapter->mlmeextpriv.oper_channel = ch;
 }
 
-inline u8 rtw_get_oper_bw(struct adapter *adapter)
-{
-       return adapter->mlmeextpriv.oper_bwmode;
-}
-
 inline void rtw_set_oper_bw(struct adapter *adapter, u8 bw)
 {
        adapter->mlmeextpriv.oper_bwmode = bw;
 }
 
-inline u8 rtw_get_oper_choffset(struct adapter *adapter)
-{
-       return adapter->mlmeextpriv.oper_ch_offset;
-}
-
 inline void rtw_set_oper_choffset(struct adapter *adapter, u8 offset)
 {
        adapter->mlmeextpriv.oper_ch_offset = offset;
@@ -328,7 +318,7 @@ void SelectChannel(struct adapter *padapter, unsigned char channel)
 {
        /* saved channel info */
        rtw_set_oper_ch(padapter, channel);
-       rtw_hal_set_chan(padapter, channel);
+       PHY_SwChnl8188E(padapter, channel);
 }
 
 void SetBWMode(struct adapter *padapter, unsigned short bwmode,
@@ -338,7 +328,7 @@ void SetBWMode(struct adapter *padapter, unsigned short bwmode,
        rtw_set_oper_bw(padapter, bwmode);
        rtw_set_oper_choffset(padapter, channel_offset);
 
-       rtw_hal_set_bwmode(padapter, (enum ht_channel_width)bwmode, channel_offset);
+       PHY_SetBWMode8188E(padapter, (enum ht_channel_width)bwmode, channel_offset);
 }
 
 void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigned char channel_offset, unsigned short bwmode)
@@ -369,20 +359,10 @@ void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigne
        rtw_set_oper_bw(padapter, bwmode);
        rtw_set_oper_choffset(padapter, channel_offset);
 
-       rtw_hal_set_chan(padapter, center_ch); /*  set center channel */
+       PHY_SwChnl8188E(padapter, center_ch); /*  set center channel */
        SetBWMode(padapter, bwmode, channel_offset);
 }
 
-int get_bsstype(unsigned short capability)
-{
-       if (capability & BIT(0))
-               return WIFI_FW_AP_STATE;
-       else if (capability & BIT(1))
-               return WIFI_FW_ADHOC_STATE;
-       else
-               return 0;
-}
-
 __inline u8 *get_my_bssid(struct wlan_bssid_ex *pnetwork)
 {
        return pnetwork->MacAddress;
@@ -447,14 +427,9 @@ unsigned int decide_wait_for_beacon_timeout(unsigned int bcn_interval)
                return bcn_interval << 2;
 }
 
-void CAM_empty_entry(struct adapter *Adapter, u8 ucIndex)
-{
-       rtw_hal_set_hwreg(Adapter, HW_VAR_CAM_EMPTY_ENTRY, (u8 *)(&ucIndex));
-}
-
 void invalidate_cam_all(struct adapter *padapter)
 {
-       rtw_hal_set_hwreg(padapter, HW_VAR_CAM_INVALID_ALL, NULL);
+       SetHwReg8188EU(padapter, HW_VAR_CAM_INVALID_ALL, NULL);
 }
 
 void write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key)
@@ -482,7 +457,7 @@ void write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key)
                cam_val[0] = val;
                cam_val[1] = addr + (unsigned int)j;
 
-               rtw_hal_set_hwreg(padapter, HW_VAR_CAM_WRITE, (u8 *)cam_val);
+               SetHwReg8188EU(padapter, HW_VAR_CAM_WRITE, (u8 *)cam_val);
        }
 }
 
@@ -517,7 +492,7 @@ void flush_all_cam_entry(struct adapter *padapter)
        struct mlme_ext_priv    *pmlmeext = &padapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_CAM_INVALID_ALL, NULL);
+       SetHwReg8188EU(padapter, HW_VAR_CAM_INVALID_ALL, NULL);
 
        memset((u8 *)(pmlmeinfo->FW_sta_info), 0, sizeof(pmlmeinfo->FW_sta_info));
 }
@@ -578,21 +553,21 @@ void WMMOnAssocRsp(struct adapter *padapter)
 
                switch (ACI) {
                case 0x0:
-                       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BE, (u8 *)(&acParm));
+                       SetHwReg8188EU(padapter, HW_VAR_AC_PARAM_BE, (u8 *)(&acParm));
                        acm_mask |= (ACM ? BIT(1) : 0);
                        edca[XMIT_BE_QUEUE] = acParm;
                        break;
                case 0x1:
-                       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acParm));
+                       SetHwReg8188EU(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acParm));
                        edca[XMIT_BK_QUEUE] = acParm;
                        break;
                case 0x2:
-                       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VI, (u8 *)(&acParm));
+                       SetHwReg8188EU(padapter, HW_VAR_AC_PARAM_VI, (u8 *)(&acParm));
                        acm_mask |= (ACM ? BIT(2) : 0);
                        edca[XMIT_VI_QUEUE] = acParm;
                        break;
                case 0x3:
-                       rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_VO, (u8 *)(&acParm));
+                       SetHwReg8188EU(padapter, HW_VAR_AC_PARAM_VO, (u8 *)(&acParm));
                        acm_mask |= (ACM ? BIT(3) : 0);
                        edca[XMIT_VO_QUEUE] = acParm;
                        break;
@@ -602,14 +577,14 @@ void WMMOnAssocRsp(struct adapter *padapter)
        }
 
        if (padapter->registrypriv.acm_method == 1)
-               rtw_hal_set_hwreg(padapter, HW_VAR_ACM_CTRL, (u8 *)(&acm_mask));
+               SetHwReg8188EU(padapter, HW_VAR_ACM_CTRL, (u8 *)(&acm_mask));
        else
                padapter->mlmepriv.acm_mask = acm_mask;
 
        inx[0] = 0; inx[1] = 1; inx[2] = 2; inx[3] = 3;
 
        if (pregpriv->wifi_spec == 1) {
-               u32     j, tmp, change_inx = false;
+               u32 j, change_inx = false;
 
                /* entry indx: 0->vo, 1->vi, 2->be, 3->bk. */
                for (i = 0; i < 4; i++) {
@@ -624,13 +599,8 @@ void WMMOnAssocRsp(struct adapter *padapter)
                                }
 
                                if (change_inx) {
-                                       tmp = edca[i];
-                                       edca[i] = edca[j];
-                                       edca[j] = tmp;
-
-                                       tmp = inx[i];
-                                       inx[i] = inx[j];
-                                       inx[j] = tmp;
+                                       swap(edca[i], edca[j]);
+                                       swap(inx[i], inx[j]);
 
                                        change_inx = false;
                                }
@@ -760,7 +730,7 @@ void HT_caps_handler(struct adapter *padapter, struct ndis_802_11_var_ie *pIE)
                }
        }
 
-       rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
+       GetHwReg8188EU(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
 
        /* update the MCS rates */
        for (i = 0; i < 16; i++) {
@@ -817,9 +787,9 @@ void HTOnAssocRsp(struct adapter *padapter)
 
        min_MPDU_spacing = (pmlmeinfo->HT_caps.u.HT_cap_element.AMPDU_para & 0x1c) >> 2;
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_MIN_SPACE, (u8 *)(&min_MPDU_spacing));
+       SetHwReg8188EU(padapter, HW_VAR_AMPDU_MIN_SPACE, (u8 *)(&min_MPDU_spacing));
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len));
+       SetHwReg8188EU(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len));
 }
 
 void ERP_IE_handler(struct adapter *padapter, struct ndis_802_11_var_ie *pIE)
@@ -1123,72 +1093,6 @@ unsigned int is_ap_in_tkip(struct adapter *padapter)
        }
 }
 
-unsigned int should_forbid_n_rate(struct adapter *padapter)
-{
-       u32 i;
-       struct ndis_802_11_var_ie *pIE;
-       struct mlme_priv        *pmlmepriv = &padapter->mlmepriv;
-       struct wlan_bssid_ex  *cur_network = &pmlmepriv->cur_network.network;
-
-       if (rtw_get_capability((struct wlan_bssid_ex *)cur_network) & WLAN_CAPABILITY_PRIVACY) {
-               for (i = sizeof(struct ndis_802_11_fixed_ie); i < cur_network->IELength;) {
-                       pIE = (struct ndis_802_11_var_ie *)(cur_network->IEs + i);
-
-                       switch (pIE->ElementID) {
-                       case _VENDOR_SPECIFIC_IE_:
-                               if (!memcmp(pIE->data, RTW_WPA_OUI, 4) &&
-                                   ((!memcmp((pIE->data + 12), WPA_CIPHER_SUITE_CCMP, 4)) ||
-                                   (!memcmp((pIE->data + 16), WPA_CIPHER_SUITE_CCMP, 4))))
-                                       return false;
-                               break;
-                       case _RSN_IE_2_:
-                               if  ((!memcmp((pIE->data + 8), RSN_CIPHER_SUITE_CCMP, 4))  ||
-                                    (!memcmp((pIE->data + 12), RSN_CIPHER_SUITE_CCMP, 4)))
-                                       return false;
-                               break;
-                       default:
-                               break;
-                       }
-
-                       i += (pIE->Length + 2);
-               }
-
-               return true;
-       } else {
-               return false;
-       }
-}
-
-unsigned int is_ap_in_wep(struct adapter *padapter)
-{
-       u32 i;
-       struct ndis_802_11_var_ie *pIE;
-       struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
-       struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
-       struct wlan_bssid_ex            *cur_network = &pmlmeinfo->network;
-
-       if (rtw_get_capability((struct wlan_bssid_ex *)cur_network) & WLAN_CAPABILITY_PRIVACY) {
-               for (i = sizeof(struct ndis_802_11_fixed_ie); i < pmlmeinfo->network.IELength;) {
-                       pIE = (struct ndis_802_11_var_ie *)(pmlmeinfo->network.IEs + i);
-
-                       switch (pIE->ElementID) {
-                       case _VENDOR_SPECIFIC_IE_:
-                               if (!memcmp(pIE->data, RTW_WPA_OUI, 4))
-                                       return false;
-                               break;
-                       case _RSN_IE_2_:
-                               return false;
-                       default:
-                               break;
-                       }
-                       i += (pIE->Length + 2);
-               }
-               return true;
-       } else {
-               return false;
-       }
-}
-
 int wifirate2_ratetbl_inx(unsigned char rate)
 {
        int     inx = 0;
@@ -1324,7 +1228,6 @@ void set_sta_rate(struct adapter *padapter, struct sta_info *psta)
 void update_tx_basic_rate(struct adapter *padapter, u8 wirelessmode)
 {
        unsigned char supported_rates[NDIS_802_11_LENGTH_RATES_EX];
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
 
        /*      Added by Albert 2011/03/22 */
@@ -1332,7 +1235,6 @@ void update_tx_basic_rate(struct adapter *padapter, u8 wirelessmode)
        /*      So, the Tx packet shouldn't use the CCK rate */
        if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE))
                return;
-#endif /* CONFIG_88EU_P2P */
        memset(supported_rates, 0, NDIS_802_11_LENGTH_RATES_EX);
 
        if ((wirelessmode & WIRELESS_11B) && (wirelessmode == WIRELESS_11B))
@@ -1347,7 +1249,7 @@ void update_tx_basic_rate(struct adapter *padapter, u8 wirelessmode)
        else
                update_mgnt_tx_rate(padapter, IEEE80211_OFDM_RATE_6MB);
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_BASIC_RATE, supported_rates);
+       SetHwReg8188EU(padapter, HW_VAR_BASIC_RATE, supported_rates);
 }
 
 unsigned char check_assoc_AP(u8 *pframe, uint len)
@@ -1369,7 +1271,6 @@ unsigned char check_assoc_AP(u8 *pframe, uint len)
                                DBG_88E("link to Artheros AP\n");
                                return HT_IOT_PEER_ATHEROS;
                        } else if ((!memcmp(pIE->data, BROADCOM_OUI1, 3)) ||
-                                  (!memcmp(pIE->data, BROADCOM_OUI2, 3)) ||
                                   (!memcmp(pIE->data, BROADCOM_OUI2, 3))) {
                                DBG_88E("link to Broadcom AP\n");
                                return HT_IOT_PEER_BROADCOM;
@@ -1465,13 +1366,13 @@ void update_capinfo(struct adapter *Adapter, u16 updateCap)
                if (pmlmeinfo->preamble_mode != PREAMBLE_SHORT) { /*  PREAMBLE_LONG or PREAMBLE_AUTO */
                        ShortPreamble = true;
                        pmlmeinfo->preamble_mode = PREAMBLE_SHORT;
-                       rtw_hal_set_hwreg(Adapter, HW_VAR_ACK_PREAMBLE, (u8 *)&ShortPreamble);
+                       SetHwReg8188EU(Adapter, HW_VAR_ACK_PREAMBLE, (u8 *)&ShortPreamble);
                }
        } else { /*  Long Preamble */
                if (pmlmeinfo->preamble_mode != PREAMBLE_LONG) {  /*  PREAMBLE_SHORT or PREAMBLE_AUTO */
                        ShortPreamble = false;
                        pmlmeinfo->preamble_mode = PREAMBLE_LONG;
-                       rtw_hal_set_hwreg(Adapter, HW_VAR_ACK_PREAMBLE, (u8 *)&ShortPreamble);
+                       SetHwReg8188EU(Adapter, HW_VAR_ACK_PREAMBLE, (u8 *)&ShortPreamble);
                }
        }
 
@@ -1493,7 +1394,7 @@ void update_capinfo(struct adapter *Adapter, u16 updateCap)
                }
        }
 
-       rtw_hal_set_hwreg(Adapter, HW_VAR_SLOT_TIME, &pmlmeinfo->slotTime);
+       SetHwReg8188EU(Adapter, HW_VAR_SLOT_TIME, &pmlmeinfo->slotTime);
 }
 
 void update_wireless_mode(struct adapter *padapter)
@@ -1529,7 +1430,7 @@ void update_wireless_mode(struct adapter *padapter)
        SIFS_Timer = 0x0a0a0808;/* 0x0808 -> for CCK, 0x0a0a -> for OFDM */
                                /* change this value if having IOT issues. */
 
-       padapter->HalFunc.SetHwRegHandler(padapter, HW_VAR_RESP_SIFS,  (u8 *)&SIFS_Timer);
+       SetHwReg8188EU(padapter, HW_VAR_RESP_SIFS, (u8 *)&SIFS_Timer);
 
        if (pmlmeext->cur_wireless_mode & WIRELESS_11B)
                update_mgnt_tx_rate(padapter, IEEE80211_CCK_RATE_1MB);
@@ -1611,12 +1512,12 @@ void update_TSF(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len)
 
 void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext)
 {
-       rtw_hal_set_hwreg(padapter, HW_VAR_CORRECT_TSF, NULL);
+       SetHwReg8188EU(padapter, HW_VAR_CORRECT_TSF, NULL);
 }
 
 void beacon_timing_control(struct adapter *padapter)
 {
-       rtw_hal_bcn_related_reg_setting(padapter);
+       SetBeaconRelatedRegisters8188EUsb(padapter);
 }
 
 static struct adapter *pbuddy_padapter;
index 46fe62c..0c033a0 100644 (file)
@@ -9,6 +9,7 @@
 #include "../include/osdep_intf.h"
 #include "../include/usb_ops.h"
 #include "../include/usb_osintf.h"
+#include "../include/rtl8188e_xmit.h"
 
 static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 };
 static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 };
@@ -17,7 +18,7 @@ static void _init_txservq(struct tx_servq *ptxservq)
 {
 
        INIT_LIST_HEAD(&ptxservq->tx_pending);
-       _rtw_init_queue(&ptxservq->sta_pending);
+       rtw_init_queue(&ptxservq->sta_pending);
        ptxservq->qcnt = 0;
 
 }
@@ -48,22 +49,21 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        /*  We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */
 
        spin_lock_init(&pxmitpriv->lock);
-       sema_init(&pxmitpriv->xmit_sema, 0);
        sema_init(&pxmitpriv->terminate_xmitthread_sema, 0);
 
        /*
-       Please insert all the queue initializaiton using _rtw_init_queue below
+       Please insert all the queue initializaiton using rtw_init_queue below
        */
 
        pxmitpriv->adapter = padapter;
 
-       _rtw_init_queue(&pxmitpriv->be_pending);
-       _rtw_init_queue(&pxmitpriv->bk_pending);
-       _rtw_init_queue(&pxmitpriv->vi_pending);
-       _rtw_init_queue(&pxmitpriv->vo_pending);
-       _rtw_init_queue(&pxmitpriv->bm_pending);
+       rtw_init_queue(&pxmitpriv->be_pending);
+       rtw_init_queue(&pxmitpriv->bk_pending);
+       rtw_init_queue(&pxmitpriv->vi_pending);
+       rtw_init_queue(&pxmitpriv->vo_pending);
+       rtw_init_queue(&pxmitpriv->bm_pending);
 
-       _rtw_init_queue(&pxmitpriv->free_xmit_queue);
+       rtw_init_queue(&pxmitpriv->free_xmit_queue);
 
        /*
        Please allocate memory with the sz = (struct xmit_frame) * NR_XMITFRAME,
@@ -105,8 +105,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        pxmitpriv->frag_len = MAX_FRAG_THRESHOLD;
 
        /* init xmit_buf */
-       _rtw_init_queue(&pxmitpriv->free_xmitbuf_queue);
-       _rtw_init_queue(&pxmitpriv->pending_xmitbuf_queue);
+       rtw_init_queue(&pxmitpriv->free_xmitbuf_queue);
+       rtw_init_queue(&pxmitpriv->pending_xmitbuf_queue);
 
        pxmitpriv->pallocated_xmitbuf = vzalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
 
@@ -147,7 +147,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        pxmitpriv->free_xmitbuf_cnt = NR_XMITBUFF;
 
        /*  Init xmit extension buff */
-       _rtw_init_queue(&pxmitpriv->free_xmit_extbuf_queue);
+       rtw_init_queue(&pxmitpriv->free_xmit_extbuf_queue);
 
        pxmitpriv->pallocated_xmit_extbuf = vzalloc(num_xmit_extbuf * sizeof(struct xmit_buf) + 4);
 
@@ -196,10 +196,10 @@ s32       _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        pxmitpriv->voq_cnt = 0;
 
        pxmitpriv->ack_tx = false;
-       _rtw_mutex_init(&pxmitpriv->ack_tx_mutex);
+       mutex_init(&pxmitpriv->ack_tx_mutex);
        rtw_sctx_init(&pxmitpriv->ack_tx_ops, 0);
 
-       rtw_hal_init_xmit_priv(padapter);
+       rtl8188eu_init_xmit_priv(padapter);
 
 exit:
 
@@ -243,7 +243,7 @@ void _rtw_free_xmit_priv(struct xmit_priv *pxmitpriv)
 
        rtw_free_hwxmits(padapter);
 
-       _rtw_mutex_free(&pxmitpriv->ack_tx_mutex);
+       mutex_destroy(&pxmitpriv->ack_tx_mutex);
 }
 
 static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame *pxmitframe)
@@ -576,8 +576,6 @@ static s32 update_attrib(struct adapter *padapter, struct sk_buff *pkt, struct p
        else
                pattrib->bswenc = false;
 
-       rtw_set_tx_chksum_offload(pkt, pattrib);
-
        update_attrib_phy_info(pattrib, psta);
 
 exit:
@@ -683,13 +681,13 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi
                switch (pattrib->encrypt) {
                case _WEP40_:
                case _WEP104_:
-                       rtw_wep_encrypt(padapter, (u8 *)pxmitframe);
+                       rtw_wep_encrypt(padapter, pxmitframe);
                        break;
                case _TKIP_:
-                       rtw_tkip_encrypt(padapter, (u8 *)pxmitframe);
+                       rtw_tkip_encrypt(padapter, pxmitframe);
                        break;
                case _AES_:
-                       rtw_aes_encrypt(padapter, (u8 *)pxmitframe);
+                       rtw_aes_encrypt(padapter, pxmitframe);
                        break;
                default:
                        break;
@@ -863,24 +861,6 @@ s32 rtw_txframes_sta_ac_pending(struct adapter *padapter, struct pkt_attrib *pat
 }
 
 /*
- * Calculate wlan 802.11 packet MAX size from pkt_attrib
- * This function doesn't consider fragment case
- */
-u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib)
-{
-       u32     len = 0;
-
-       len = pattrib->hdrlen + pattrib->iv_len; /*  WLAN Header and IV */
-       len += SNAP_SIZE + sizeof(u16); /*  LLC */
-       len += pattrib->pktlen;
-       if (pattrib->encrypt == _TKIP_)
-               len += 8; /*  MIC */
-       len += ((pattrib->bswenc) ? pattrib->icv_len : 0); /*  ICV */
-
-       return len;
-}
-
-/*
 
 This sub-routine will perform all the following:
 
@@ -1572,31 +1552,31 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb)
        rcu_read_unlock();
        spin_lock_bh(&padapter->br_ext_lock);
        if (!(skb->data[0] & 1) && br_port &&
-           memcmp(skb->data + MACADDRLEN, padapter->br_mac, MACADDRLEN) &&
-           *((__be16 *)(skb->data + MACADDRLEN * 2)) != __constant_htons(ETH_P_8021Q) &&
-           *((__be16 *)(skb->data + MACADDRLEN * 2)) == __constant_htons(ETH_P_IP) &&
-           !memcmp(padapter->scdb_mac, skb->data + MACADDRLEN, MACADDRLEN) && padapter->scdb_entry) {
-               memcpy(skb->data + MACADDRLEN, GET_MY_HWADDR(padapter), MACADDRLEN);
+           memcmp(skb->data + ETH_ALEN, padapter->br_mac, ETH_ALEN) &&
+           *((__be16 *)(skb->data + ETH_ALEN * 2)) != __constant_htons(ETH_P_8021Q) &&
+           *((__be16 *)(skb->data + ETH_ALEN * 2)) == __constant_htons(ETH_P_IP) &&
+           !memcmp(padapter->scdb_mac, skb->data + ETH_ALEN, ETH_ALEN) && padapter->scdb_entry) {
+               memcpy(skb->data + ETH_ALEN, GET_MY_HWADDR(padapter), ETH_ALEN);
                padapter->scdb_entry->ageing_timer = jiffies;
                spin_unlock_bh(&padapter->br_ext_lock);
        } else {
-               if (*((__be16 *)(skb->data + MACADDRLEN * 2)) == __constant_htons(ETH_P_8021Q)) {
+               if (*((__be16 *)(skb->data + ETH_ALEN * 2)) == __constant_htons(ETH_P_8021Q)) {
                        is_vlan_tag = 1;
-                       vlan_hdr = *((unsigned short *)(skb->data + MACADDRLEN * 2 + 2));
+                       vlan_hdr = *((unsigned short *)(skb->data + ETH_ALEN * 2 + 2));
                        for (i = 0; i < 6; i++)
-                               *((unsigned short *)(skb->data + MACADDRLEN * 2 + 2 - i * 2)) = *((unsigned short *)(skb->data + MACADDRLEN * 2 - 2 - i * 2));
+                               *((unsigned short *)(skb->data + ETH_ALEN * 2 + 2 - i * 2)) = *((unsigned short *)(skb->data + ETH_ALEN * 2 - 2 - i * 2));
                        skb_pull(skb, 4);
                }
-               if (!memcmp(skb->data + MACADDRLEN, padapter->br_mac, MACADDRLEN) &&
-                   (*((__be16 *)(skb->data + MACADDRLEN * 2)) == __constant_htons(ETH_P_IP)))
+               if (!memcmp(skb->data + ETH_ALEN, padapter->br_mac, ETH_ALEN) &&
+                   (*((__be16 *)(skb->data + ETH_ALEN * 2)) == __constant_htons(ETH_P_IP)))
                        memcpy(padapter->br_ip, skb->data + WLAN_ETHHDR_LEN + 12, 4);
 
-               if (*((__be16 *)(skb->data + MACADDRLEN * 2)) == __constant_htons(ETH_P_IP)) {
-                       if (memcmp(padapter->scdb_mac, skb->data + MACADDRLEN, MACADDRLEN)) {
+               if (*((__be16 *)(skb->data + ETH_ALEN * 2)) == __constant_htons(ETH_P_IP)) {
+                       if (memcmp(padapter->scdb_mac, skb->data + ETH_ALEN, ETH_ALEN)) {
                                padapter->scdb_entry = (struct nat25_network_db_entry *)scdb_findEntry(padapter,
-                                                       skb->data + MACADDRLEN, skb->data + WLAN_ETHHDR_LEN + 12);
+                                                       skb->data + WLAN_ETHHDR_LEN + 12);
                                if (padapter->scdb_entry) {
-                                       memcpy(padapter->scdb_mac, skb->data + MACADDRLEN, MACADDRLEN);
+                                       memcpy(padapter->scdb_mac, skb->data + ETH_ALEN, ETH_ALEN);
                                        memcpy(padapter->scdb_ip, skb->data + WLAN_ETHHDR_LEN + 12, 4);
                                        padapter->scdb_entry->ageing_timer = jiffies;
                                        do_nat25 = 0;
@@ -1606,7 +1586,7 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb)
                                        padapter->scdb_entry->ageing_timer = jiffies;
                                        do_nat25 = 0;
                                } else {
-                                       memset(padapter->scdb_mac, 0, MACADDRLEN);
+                                       memset(padapter->scdb_mac, 0, ETH_ALEN);
                                        memset(padapter->scdb_ip, 0, 4);
                                }
                        }
@@ -1620,8 +1600,8 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb)
                                        skb_push(skb, 4);
                                        for (i = 0; i < 6; i++)
                                                *((unsigned short *)(skb->data + i * 2)) = *((unsigned short *)(skb->data + 4 + i * 2));
-                                       *((__be16 *)(skb->data + MACADDRLEN * 2)) = __constant_htons(ETH_P_8021Q);
-                                       *((unsigned short *)(skb->data + MACADDRLEN * 2 + 2)) = vlan_hdr;
+                                       *((__be16 *)(skb->data + ETH_ALEN * 2)) = __constant_htons(ETH_P_8021Q);
+                                       *((unsigned short *)(skb->data + ETH_ALEN * 2 + 2)) = vlan_hdr;
                                }
 
                                newskb = skb_copy(skb, GFP_ATOMIC);
@@ -1633,9 +1613,9 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb)
 
                                *pskb = skb = newskb;
                                if (is_vlan_tag) {
-                                       vlan_hdr = *((unsigned short *)(skb->data + MACADDRLEN * 2 + 2));
+                                       vlan_hdr = *((unsigned short *)(skb->data + ETH_ALEN * 2 + 2));
                                        for (i = 0; i < 6; i++)
-                                               *((unsigned short *)(skb->data + MACADDRLEN * 2 + 2 - i * 2)) = *((unsigned short *)(skb->data + MACADDRLEN * 2 - 2 - i * 2));
+                                               *((unsigned short *)(skb->data + ETH_ALEN * 2 + 2 - i * 2)) = *((unsigned short *)(skb->data + ETH_ALEN * 2 - 2 - i * 2));
                                        skb_pull(skb, 4);
                                }
                        }
@@ -1659,7 +1639,7 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb)
                        }
                }
 
-               memcpy(skb->data + MACADDRLEN, GET_MY_HWADDR(padapter), MACADDRLEN);
+               memcpy(skb->data + ETH_ALEN, GET_MY_HWADDR(padapter), ETH_ALEN);
 
                dhcp_flag_bcast(padapter, skb);
 
@@ -1667,13 +1647,13 @@ static int rtw_br_client_tx(struct adapter *padapter, struct sk_buff **pskb)
                        skb_push(skb, 4);
                        for (i = 0; i < 6; i++)
                                *((unsigned short *)(skb->data + i * 2)) = *((unsigned short *)(skb->data + 4 + i * 2));
-                       *((__be16 *)(skb->data + MACADDRLEN * 2)) = __constant_htons(ETH_P_8021Q);
-                       *((unsigned short *)(skb->data + MACADDRLEN * 2 + 2)) = vlan_hdr;
+                       *((__be16 *)(skb->data + ETH_ALEN * 2)) = __constant_htons(ETH_P_8021Q);
+                       *((unsigned short *)(skb->data + ETH_ALEN * 2 + 2)) = vlan_hdr;
                }
        }
 
        /*  check if SA is equal to our MAC */
-       if (memcmp(skb->data + MACADDRLEN, GET_MY_HWADDR(padapter), MACADDRLEN)) {
+       if (memcmp(skb->data + ETH_ALEN, GET_MY_HWADDR(padapter), ETH_ALEN)) {
                DEBUG_ERR("TX DROP: untransformed frame SA:%02X%02X%02X%02X%02X%02X!\n",
                          skb->data[6], skb->data[7], skb->data[8], skb->data[9], skb->data[10], skb->data[11]);
                return -1;
@@ -1773,23 +1753,19 @@ s32 rtw_xmit(struct adapter *padapter, struct sk_buff **ppkt)
 
        do_queue_select(padapter, &pxmitframe->attrib);
 
-#ifdef CONFIG_88EU_AP_MODE
        spin_lock_bh(&pxmitpriv->lock);
        if (xmitframe_enqueue_for_sleeping_sta(padapter, pxmitframe)) {
                spin_unlock_bh(&pxmitpriv->lock);
                return 1;
        }
        spin_unlock_bh(&pxmitpriv->lock);
-#endif
 
-       if (!rtw_hal_xmit(padapter, pxmitframe))
+       if (!rtl8188eu_hal_xmit(padapter, pxmitframe))
                return 1;
 
        return 0;
 }
 
-#if defined(CONFIG_88EU_AP_MODE)
-
 int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe)
 {
        int ret = false;
@@ -2018,7 +1994,7 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
                pxmitframe->attrib.triggered = 1;
 
                spin_unlock_bh(&psta->sleep_q.lock);
-               if (rtw_hal_xmit(padapter, pxmitframe))
+               if (rtl8188eu_hal_xmit(padapter, pxmitframe))
                        rtw_os_xmit_complete(padapter, pxmitframe);
                spin_lock_bh(&psta->sleep_q.lock);
        }
@@ -2068,7 +2044,7 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
                        pxmitframe->attrib.triggered = 1;
 
                        spin_unlock_bh(&psta_bmc->sleep_q.lock);
-                       if (rtw_hal_xmit(padapter, pxmitframe))
+                       if (rtl8188eu_hal_xmit(padapter, pxmitframe))
                                rtw_os_xmit_complete(padapter, pxmitframe);
                        spin_lock_bh(&psta_bmc->sleep_q.lock);
                }
@@ -2142,7 +2118,7 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
 
                pxmitframe->attrib.triggered = 1;
 
-               if (rtw_hal_xmit(padapter, pxmitframe))
+               if (rtl8188eu_hal_xmit(padapter, pxmitframe))
                        rtw_os_xmit_complete(padapter, pxmitframe);
 
                if ((psta->sleepq_ac_len == 0) && (!psta->has_legacy_ac) && (wmmps_ac)) {
@@ -2156,8 +2132,6 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
        spin_unlock_bh(&psta->sleep_q.lock);
 }
 
-#endif
-
 void rtw_sctx_init(struct submit_ctx *sctx, int timeout_ms)
 {
        sctx->timeout_ms = timeout_ms;
@@ -2213,11 +2187,6 @@ void rtw_sctx_done_err(struct submit_ctx **sctx, int status)
        }
 }
 
-void rtw_sctx_done(struct submit_ctx **sctx)
-{
-       rtw_sctx_done_err(sctx, RTW_SCTX_DONE_SUCCESS);
-}
-
 int rtw_ack_tx_wait(struct xmit_priv *pxmitpriv, u32 timeout_ms)
 {
        struct submit_ctx *pack_tx_ops = &pxmitpriv->ack_tx_ops;
index d873672..2d351f8 100644 (file)
@@ -471,16 +471,6 @@ odm_RATxRPTTimerSetting(
        }
 }
 
-void
-ODM_RASupport_Init(
-               struct odm_dm_struct *dm_odm
-       )
-{
-       /*  2012/02/14 MH Be noticed, the init must be after IC type is recognized!!!!! */
-       if (dm_odm->SupportICType == ODM_RTL8188E)
-               dm_odm->RaSupport88E = true;
-}
-
 int ODM_RAInfo_Init(struct odm_dm_struct *dm_odm, u8 macid)
 {
        struct odm_ra_info *pRaInfo = &dm_odm->RAInfo[macid];
@@ -548,7 +538,7 @@ int ODM_RAInfo_Init_all(struct odm_dm_struct *dm_odm)
 
 u8 ODM_RA_GetShortGI_8188E(struct odm_dm_struct *dm_odm, u8 macid)
 {
-       if ((NULL == dm_odm) || (macid >= ASSOCIATE_ENTRY_NUM))
+       if ((NULL == dm_odm) || (macid >= ODM_ASSOCIATE_ENTRY_NUM))
                return 0;
        return dm_odm->RAInfo[macid].RateSGI;
 }
@@ -557,7 +547,7 @@ u8 ODM_RA_GetDecisionRate_8188E(struct odm_dm_struct *dm_odm, u8 macid)
 {
        u8 DecisionRate = 0;
 
-       if ((NULL == dm_odm) || (macid >= ASSOCIATE_ENTRY_NUM))
+       if ((NULL == dm_odm) || (macid >= ODM_ASSOCIATE_ENTRY_NUM))
                return 0;
        DecisionRate = (dm_odm->RAInfo[macid].DecisionRate);
        return DecisionRate;
@@ -567,7 +557,7 @@ u8 ODM_RA_GetHwPwrStatus_8188E(struct odm_dm_struct *dm_odm, u8 macid)
 {
        u8 PTStage = 5;
 
-       if ((NULL == dm_odm) || (macid >= ASSOCIATE_ENTRY_NUM))
+       if ((NULL == dm_odm) || (macid >= ODM_ASSOCIATE_ENTRY_NUM))
                return 0;
        PTStage = (dm_odm->RAInfo[macid].PTStage);
        return PTStage;
@@ -577,7 +567,7 @@ void ODM_RA_UpdateRateInfo_8188E(struct odm_dm_struct *dm_odm, u8 macid, u8 Rate
 {
        struct odm_ra_info *pRaInfo = NULL;
 
-       if ((NULL == dm_odm) || (macid >= ASSOCIATE_ENTRY_NUM))
+       if ((NULL == dm_odm) || (macid >= ODM_ASSOCIATE_ENTRY_NUM))
                return;
 
        pRaInfo = &dm_odm->RAInfo[macid];
@@ -591,7 +581,7 @@ void ODM_RA_SetRSSI_8188E(struct odm_dm_struct *dm_odm, u8 macid, u8 Rssi)
 {
        struct odm_ra_info *pRaInfo = NULL;
 
-       if ((NULL == dm_odm) || (macid >= ASSOCIATE_ENTRY_NUM))
+       if ((NULL == dm_odm) || (macid >= ODM_ASSOCIATE_ENTRY_NUM))
                return;
 
        pRaInfo = &dm_odm->RAInfo[macid];
@@ -615,7 +605,7 @@ void ODM_RA_TxRPT2Handle_8188E(struct odm_dm_struct *dm_odm, u8 *TxRPT_Buf, u16
        pBuffer = TxRPT_Buf;
 
        do {
-               if (MacId >= ASSOCIATE_ENTRY_NUM)
+               if (MacId >= ODM_ASSOCIATE_ENTRY_NUM)
                        valid = 0;
                else if (MacId >= 32)
                        valid = (1 << (MacId - 32)) & macid_entry1;
index 55aa20a..f6e4243 100644 (file)
@@ -13,7 +13,6 @@
 
 static bool CheckCondition(const u32  condition, const u32  hex)
 {
-       u32 _board     = (hex & 0x000000FF);
        u32 _interface = (hex & 0x0000FF00) >> 8;
        u32 _platform  = (hex & 0x00FF0000) >> 16;
        u32 cond = condition;
@@ -21,10 +20,6 @@ static bool CheckCondition(const u32  condition, const u32  hex)
        if (condition == 0xCDCDCDCD)
                return true;
 
-       cond = condition & 0x000000FF;
-       if ((_board == cond) && cond != 0x00)
-               return false;
-
        cond = condition & 0x0000FF00;
        cond = cond >> 8;
        if ((_interface & cond) == 0 && cond != 0x07)
@@ -176,9 +171,6 @@ enum HAL_STATUS ODM_ReadAndConfig_AGC_TAB_1T_8188E(struct odm_dm_struct *dm_odm)
 {
        u32     hex         = 0;
        u32     i           = 0;
-       u8     platform    = dm_odm->SupportPlatform;
-       u8     interfaceValue   = dm_odm->SupportInterface;
-       u8     board       = dm_odm->BoardType;
        u32     arraylen    = sizeof(array_agc_tab_1t_8188e) / sizeof(u32);
        u32    *array       = array_agc_tab_1t_8188e;
        bool            biol = false;
@@ -187,9 +179,8 @@ enum HAL_STATUS ODM_ReadAndConfig_AGC_TAB_1T_8188E(struct odm_dm_struct *dm_odm)
        u8 bndy_cnt = 1;
        enum HAL_STATUS rst = HAL_STATUS_SUCCESS;
 
-       hex += board;
-       hex += interfaceValue << 8;
-       hex += platform << 16;
+       hex += ODM_ITRF_USB << 8;
+       hex += ODM_CE << 16;
        hex += 0xFF000000;
        biol = rtw_IOL_applied(adapter);
 
@@ -246,7 +237,7 @@ enum HAL_STATUS ODM_ReadAndConfig_AGC_TAB_1T_8188E(struct odm_dm_struct *dm_odm)
                }
        }
        if (biol) {
-               if (!rtw_IOL_exec_cmds_sync(dm_odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
+               if (!rtl8188e_IOL_exec_cmds_sync(dm_odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
                        printk("~~~ %s IOL_exec_cmds Failed !!!\n", __func__);
                        rst = HAL_STATUS_FAILURE;
                }
@@ -456,9 +447,6 @@ enum HAL_STATUS ODM_ReadAndConfig_PHY_REG_1T_8188E(struct odm_dm_struct *dm_odm)
 {
        u32     hex         = 0;
        u32     i           = 0;
-       u8     platform    = dm_odm->SupportPlatform;
-       u8     interfaceValue   = dm_odm->SupportInterface;
-       u8     board       = dm_odm->BoardType;
        u32     arraylen    = sizeof(array_phy_reg_1t_8188e) / sizeof(u32);
        u32    *array       = array_phy_reg_1t_8188e;
        bool    biol = false;
@@ -466,9 +454,8 @@ enum HAL_STATUS ODM_ReadAndConfig_PHY_REG_1T_8188E(struct odm_dm_struct *dm_odm)
        struct xmit_frame *pxmit_frame = NULL;
        u8 bndy_cnt = 1;
        enum HAL_STATUS rst = HAL_STATUS_SUCCESS;
-       hex += board;
-       hex += interfaceValue << 8;
-       hex += platform << 16;
+       hex += ODM_ITRF_USB << 8;
+       hex += ODM_CE << 16;
        hex += 0xFF000000;
        biol = rtw_IOL_applied(adapter);
 
@@ -557,7 +544,7 @@ enum HAL_STATUS ODM_ReadAndConfig_PHY_REG_1T_8188E(struct odm_dm_struct *dm_odm)
                }
        }
        if (biol) {
-               if (!rtw_IOL_exec_cmds_sync(dm_odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
+               if (!rtl8188e_IOL_exec_cmds_sync(dm_odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
                        rst = HAL_STATUS_FAILURE;
                        pr_info("~~~ IOL Config %s Failed !!!\n", __func__);
                }
@@ -665,14 +652,11 @@ void ODM_ReadAndConfig_PHY_REG_PG_8188E(struct odm_dm_struct *dm_odm)
 {
        u32  hex;
        u32  i           = 0;
-       u8  platform    = dm_odm->SupportPlatform;
-       u8  interfaceValue   = dm_odm->SupportInterface;
-       u8  board       = dm_odm->BoardType;
        u32  arraylen    = sizeof(array_phy_reg_pg_8188e) / sizeof(u32);
        u32 *array       = array_phy_reg_pg_8188e;
 
-       hex = board + (interfaceValue << 8);
-       hex += (platform << 16) + 0xFF000000;
+       hex = ODM_ITRF_USB << 8;
+       hex += (ODM_CE << 16) + 0xFF000000;
 
        for (i = 0; i < arraylen; i += 3) {
                u32 v1 = array[i];
index 0ff2609..b4c5586 100644 (file)
@@ -133,9 +133,6 @@ enum HAL_STATUS ODM_ReadAndConfig_MAC_REG_8188E(struct odm_dm_struct *dm_odm)
 
        u32     hex         = 0;
        u32     i;
-       u8     platform    = dm_odm->SupportPlatform;
-       u8     interface_val   = dm_odm->SupportInterface;
-       u8     board       = dm_odm->BoardType;
        u32     array_len    = sizeof(array_MAC_REG_8188E) / sizeof(u32);
        u32    *array       = array_MAC_REG_8188E;
        bool    biol = false;
@@ -144,9 +141,8 @@ enum HAL_STATUS ODM_ReadAndConfig_MAC_REG_8188E(struct odm_dm_struct *dm_odm)
        struct xmit_frame       *pxmit_frame = NULL;
        u8 bndy_cnt = 1;
        enum HAL_STATUS rst = HAL_STATUS_SUCCESS;
-       hex += board;
-       hex += interface_val << 8;
-       hex += platform << 16;
+       hex += ODM_ITRF_USB << 8;
+       hex += ODM_CE << 16;
        hex += 0xFF000000;
 
        biol = rtw_IOL_applied(adapt);
@@ -204,7 +200,7 @@ enum HAL_STATUS ODM_ReadAndConfig_MAC_REG_8188E(struct odm_dm_struct *dm_odm)
                }
        }
        if (biol) {
-               if (!rtw_IOL_exec_cmds_sync(dm_odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
+               if (!rtl8188e_IOL_exec_cmds_sync(dm_odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
                        pr_info("~~~ MAC IOL_exec_cmds Failed !!!\n");
                        rst = HAL_STATUS_FAILURE;
                }
index 55e4b4a..5e0a962 100644 (file)
@@ -6,7 +6,6 @@
 
 static bool CheckCondition(const u32  Condition, const u32  Hex)
 {
-       u32 _board     = (Hex & 0x000000FF);
        u32 _interface = (Hex & 0x0000FF00) >> 8;
        u32 _platform  = (Hex & 0x00FF0000) >> 16;
        u32 cond = Condition;
@@ -14,10 +13,6 @@ static bool CheckCondition(const u32  Condition, const u32  Hex)
        if (Condition == 0xCDCDCDCD)
                return true;
 
-       cond = Condition & 0x000000FF;
-       if ((_board == cond) && cond != 0x00)
-               return false;
-
        cond = Condition & 0x0000FF00;
        cond = cond >> 8;
        if ((_interface & cond) == 0 && cond != 0x07)
@@ -144,9 +139,6 @@ enum HAL_STATUS ODM_ReadAndConfig_RadioA_1T_8188E(struct odm_dm_struct *pDM_Odm)
 
        u32     hex         = 0;
        u32     i           = 0;
-       u8     platform    = pDM_Odm->SupportPlatform;
-       u8     interfaceValue   = pDM_Odm->SupportInterface;
-       u8     board       = pDM_Odm->BoardType;
        u32     ArrayLen    = sizeof(Array_RadioA_1T_8188E) / sizeof(u32);
        u32    *Array       = Array_RadioA_1T_8188E;
        bool            biol = false;
@@ -155,9 +147,8 @@ enum HAL_STATUS ODM_ReadAndConfig_RadioA_1T_8188E(struct odm_dm_struct *pDM_Odm)
        u8 bndy_cnt = 1;
        enum HAL_STATUS rst = HAL_STATUS_SUCCESS;
 
-       hex += board;
-       hex += interfaceValue << 8;
-       hex += platform << 16;
+       hex += ODM_ITRF_USB << 8;
+       hex += ODM_CE << 16;
        hex += 0xFF000000;
        biol = rtw_IOL_applied(Adapter);
 
@@ -241,7 +232,7 @@ enum HAL_STATUS ODM_ReadAndConfig_RadioA_1T_8188E(struct odm_dm_struct *pDM_Odm)
                }
        }
        if (biol) {
-               if (!rtw_IOL_exec_cmds_sync(pDM_Odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
+               if (!rtl8188e_IOL_exec_cmds_sync(pDM_Odm->Adapter, pxmit_frame, 1000, bndy_cnt)) {
                        rst = HAL_STATUS_FAILURE;
                        pr_info("~~~ IOL Config %s Failed !!!\n", __func__);
                }
index 356885e..60d4ba2 100644 (file)
@@ -110,7 +110,6 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
        bool is2t = false;
 
        u8 OFDM_min_index = 6, rf; /* OFDM BB Swing should be less than +3.0dB, which is required by Arthur */
-       u8 Indexforchannel = 0/*GetRightChnlPlaceforIQK(pHalData->CurrentChannel)*/;
        s8 OFDM_index_mapping[2][index_mapping_NUM_88E] = {
                {0, 0, 2, 3, 4, 4,              /* 2.4G, decrease power */
                5, 6, 7, 7, 8, 9,
@@ -280,8 +279,8 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
 
                                /* Adujst OFDM Ant_A according to IQK result */
                                ele_D = (OFDMSwingTable[(u8)OFDM_index[0]] & 0xFFC00000) >> 22;
-                               X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][0];
-                               Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][1];
+                               X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][0];
+                               Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][1];
 
                                /*  Revse TX power table. */
                                dm_odm->BbSwingIdxOfdm          = (u8)OFDM_index[0];
@@ -315,10 +314,10 @@ odm_TXPowerTrackingCallback_ThermalMeter_8188E(
                                        ele_D = (OFDMSwingTable[(u8)OFDM_index[1]] & 0xFFC00000) >> 22;
 
                                        /* new element A = element D x X */
-                                       X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][4];
-                                       Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[Indexforchannel].Value[0][5];
+                                       X = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][4];
+                                       Y = dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][5];
 
-                                       if ((X != 0) && (*dm_odm->pBandType == ODM_BAND_2_4G)) {
+                                       if (X != 0) {
                                                if ((X & 0x00000200) != 0)      /* consider minus */
                                                        X = X | 0xFFFFFC00;
                                                ele_A = ((X * ele_D) >> 8) & 0x000003FF;
@@ -584,68 +583,12 @@ static void patha_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], u
        }
 }
 
-static void pathb_fill_iqk(struct adapter *adapt, bool iqkok, s32 result[][8], u8 final_candidate, bool txonly)
-{
-       u32 Oldval_1, X, TX1_A, reg;
-       s32 Y, TX1_C;
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(adapt);
-       struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
-
-       if (final_candidate == 0xFF) {
-               return;
-       } else if (iqkok) {
-               Oldval_1 = (ODM_GetBBReg(dm_odm, rOFDM0_XBTxIQImbalance, bMaskDWord) >> 22) & 0x3FF;
-
-               X = result[final_candidate][4];
-               if ((X & 0x00000200) != 0)
-                       X = X | 0xFFFFFC00;
-               TX1_A = (X * Oldval_1) >> 8;
-               ODM_SetBBReg(dm_odm, rOFDM0_XBTxIQImbalance, 0x3FF, TX1_A);
-
-               ODM_SetBBReg(dm_odm, rOFDM0_ECCAThreshold, BIT(27), ((X * Oldval_1 >> 7) & 0x1));
-
-               Y = result[final_candidate][5];
-               if ((Y & 0x00000200) != 0)
-                       Y = Y | 0xFFFFFC00;
-
-               TX1_C = (Y * Oldval_1) >> 8;
-               ODM_SetBBReg(dm_odm, rOFDM0_XDTxAFE, 0xF0000000, ((TX1_C & 0x3C0) >> 6));
-               ODM_SetBBReg(dm_odm, rOFDM0_XBTxIQImbalance, 0x003F0000, (TX1_C & 0x3F));
-
-               ODM_SetBBReg(dm_odm, rOFDM0_ECCAThreshold, BIT(25), ((Y * Oldval_1 >> 7) & 0x1));
-
-               if (txonly)
-                       return;
-
-               reg = result[final_candidate][6];
-               ODM_SetBBReg(dm_odm, rOFDM0_XBRxIQImbalance, 0x3FF, reg);
-
-               reg = result[final_candidate][7] & 0x3F;
-               ODM_SetBBReg(dm_odm, rOFDM0_XBRxIQImbalance, 0xFC00, reg);
-
-               reg = (result[final_candidate][7] >> 6) & 0xF;
-               ODM_SetBBReg(dm_odm, rOFDM0_AGCRSSITable, 0x0000F000, reg);
-       }
-}
-
-/*  */
-/*  2011/07/26 MH Add an API for testing IQK fail case. */
-/*  */
-/*  MP Already declare in odm.c */
-static bool ODM_CheckPowerStatus(struct adapter *Adapter)
-{
-       return  true;
-}
-
 void _PHY_SaveADDARegisters(struct adapter *adapt, u32 *ADDAReg, u32 *ADDABackup, u32 RegisterNum)
 {
        u32 i;
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(adapt);
        struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
 
-       if (!ODM_CheckPowerStatus(adapt))
-               return;
-
        for (i = 0; i < RegisterNum; i++) {
                ADDABackup[i] = ODM_GetBBReg(dm_odm, ADDAReg[i], bMaskDWord);
        }
@@ -772,23 +715,11 @@ static bool phy_SimularityCompare_8188E(
        )
 {
        u32 i, j, diff, sim_bitmap, bound = 0;
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(adapt);
-       struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
        u8 final_candidate[2] = {0xFF, 0xFF};   /* for path A and path B */
        bool result = true;
-       bool is2t;
        s32 tmp1 = 0, tmp2 = 0;
 
-       if ((dm_odm->RFType == ODM_2T2R) || (dm_odm->RFType == ODM_2T3R) || (dm_odm->RFType == ODM_2T4R))
-               is2t = true;
-       else
-               is2t = false;
-
-       if (is2t)
-               bound = 8;
-       else
-               bound = 4;
-
+       bound = 4;
        sim_bitmap = 0;
 
        for (i = 0; i < bound; i++) {
@@ -881,12 +812,7 @@ static void phy_IQCalibrate_8188E(struct adapter *adapt, s32 result[][8], u8 t,
                                                        rFPGA0_XAB_RFInterfaceSW, rFPGA0_XA_RFInterfaceOE,
                                                        rFPGA0_XB_RFInterfaceOE, rFPGA0_RFMOD
                                                        };
-
-       u32 retryCount = 9;
-       if (*dm_odm->mp_mode == 1)
-               retryCount = 9;
-       else
-               retryCount = 2;
+       u32 retryCount = 2;
        /*  Note: IQ calibration must be performed after loading */
        /*              PHY_REG.txt , and radio_a, radio_b.txt */
 
@@ -1065,11 +991,10 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
 {
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(adapt);
        struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
-       struct mpt_context *pMptCtx = &adapt->mppriv.MptCtx;
        s32 result[4][8];       /* last is final result */
        u8 i, final_candidate;
-       bool pathaok, pathbok;
-       s32 RegE94, RegE9C, RegEA4, RegEB4, RegEBC, RegEC4;
+       bool pathaok;
+       s32 RegE94, RegE9C, RegEA4, RegEB4, RegEBC;
        bool is12simular, is13simular, is23simular;
        bool singletone = false, carrier_sup = false;
        u32 IQK_BB_REG_92C[IQK_BB_REG_NUM] = {
@@ -1078,20 +1003,10 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
                rOFDM0_XATxIQImbalance, rOFDM0_XBTxIQImbalance,
                rOFDM0_XCTxAFE, rOFDM0_XDTxAFE,
                rOFDM0_RxIQExtAnta};
-       bool is2t;
-
-       is2t = (dm_odm->RFType == ODM_2T2R) ? true : false;
-       if (!ODM_CheckPowerStatus(adapt))
-               return;
 
        if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
                return;
 
-       if (*dm_odm->mp_mode == 1) {
-               singletone = pMptCtx->bSingleTone;
-               carrier_sup = pMptCtx->bCarrierSuppression;
-       }
-
        /*  20120213<Kordan> Turn on when continuous Tx to pass lab testing. (required by Edlu) */
        if (singletone || carrier_sup)
                return;
@@ -1112,13 +1027,12 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
        }
        final_candidate = 0xff;
        pathaok = false;
-       pathbok = false;
        is12simular = false;
        is23simular = false;
        is13simular = false;
 
        for (i = 0; i < 3; i++) {
-               phy_IQCalibrate_8188E(adapt, result, i, is2t);
+               phy_IQCalibrate_8188E(adapt, result, i, false);
 
                if (i == 1) {
                        is12simular = phy_SimularityCompare_8188E(adapt, result, 0, 1);
@@ -1150,7 +1064,6 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
                RegEA4 = result[i][2];
                RegEB4 = result[i][4];
                RegEBC = result[i][5];
-               RegEC4 = result[i][6];
        }
 
        if (final_candidate != 0xff) {
@@ -1163,9 +1076,7 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
                dm_odm->RFCalibrateInfo.RegE9C = RegE9C;
                dm_odm->RFCalibrateInfo.RegEB4 = RegEB4;
                dm_odm->RFCalibrateInfo.RegEBC = RegEBC;
-               RegEC4 = result[final_candidate][6];
                pathaok = true;
-               pathbok = true;
        } else {
                dm_odm->RFCalibrateInfo.RegE94 = 0x100;
                dm_odm->RFCalibrateInfo.RegEB4 = 0x100; /* X default value */
@@ -1174,17 +1085,13 @@ void PHY_IQCalibrate_8188E(struct adapter *adapt, bool recovery)
        }
        if (RegE94 != 0)
                patha_fill_iqk(adapt, pathaok, result, final_candidate, (RegEA4 == 0));
-       if (is2t) {
-               if (RegEB4 != 0)
-                       pathb_fill_iqk(adapt, pathbok, result, final_candidate, (RegEC4 == 0));
-       }
 
 /* To Fix BSOD when final_candidate is 0xff */
 /* by sherry 20120321 */
        if (final_candidate < 4) {
                for (i = 0; i < IQK_Matrix_REG_NUM; i++)
-                       dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].Value[0][i] = result[final_candidate][i];
-               dm_odm->RFCalibrateInfo.IQKMatrixRegSetting[0].bIQKDone = true;
+                       dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.Value[0][i] = result[final_candidate][i];
+               dm_odm->RFCalibrateInfo.IQKMatrixRegSetting.bIQKDone = true;
        }
 
        _PHY_SaveADDARegisters(adapt, IQK_BB_REG_92C, dm_odm->RFCalibrateInfo.IQK_BB_backup_recover, 9);
@@ -1196,12 +1103,7 @@ void PHY_LCCalibrate_8188E(struct adapter *adapt)
        u32 timeout = 2000, timecount = 0;
        struct hal_data_8188e *pHalData = GET_HAL_DATA(adapt);
        struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
-       struct mpt_context *pMptCtx = &adapt->mppriv.MptCtx;
 
-       if (*dm_odm->mp_mode == 1) {
-               singletone = pMptCtx->bSingleTone;
-               carrier_sup = pMptCtx->bCarrierSuppression;
-       }
        if (!(dm_odm->SupportAbility & ODM_RF_CALIBRATION))
                return;
        /*  20120213<Kordan> Turn on when continuous Tx to pass lab testing. (required by Edlu) */
@@ -1213,52 +1115,5 @@ void PHY_LCCalibrate_8188E(struct adapter *adapt)
                timecount += 50;
        }
 
-       dm_odm->RFCalibrateInfo.bLCKInProgress = true;
-
-       if (dm_odm->RFType == ODM_2T2R) {
-               phy_LCCalibrate_8188E(adapt, true);
-       } else {
-               /*  For 88C 1T1R */
-               phy_LCCalibrate_8188E(adapt, false);
-       }
-
-       dm_odm->RFCalibrateInfo.bLCKInProgress = false;
-}
-
-static void phy_setrfpathswitch_8188e(struct adapter *adapt, bool main, bool is2t)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(adapt);
-       struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
-
-       if (!adapt->hw_init_completed) {
-               u8 u1btmp;
-               u1btmp = ODM_Read1Byte(dm_odm, REG_LEDCFG2) | BIT(7);
-               ODM_Write1Byte(dm_odm, REG_LEDCFG2, u1btmp);
-               ODM_SetBBReg(dm_odm, rFPGA0_XAB_RFParameter, BIT(13), 0x01);
-       }
-
-       if (is2t) {     /* 92C */
-               if (main)
-                       ODM_SetBBReg(dm_odm, rFPGA0_XB_RFInterfaceOE, BIT(5) | BIT(6), 0x1);    /* 92C_Path_A */
-               else
-                       ODM_SetBBReg(dm_odm, rFPGA0_XB_RFInterfaceOE, BIT(5) | BIT(6), 0x2);    /* BT */
-       } else {                        /* 88C */
-               if (main)
-                       ODM_SetBBReg(dm_odm, rFPGA0_XA_RFInterfaceOE, BIT(8) | BIT(9), 0x2);    /* Main */
-               else
-                       ODM_SetBBReg(dm_odm, rFPGA0_XA_RFInterfaceOE, BIT(8) | BIT(9), 0x1);    /* Aux */
-       }
-}
-
-void PHY_SetRFPathSwitch_8188E(struct adapter *adapt, bool main)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(adapt);
-       struct odm_dm_struct *dm_odm = &pHalData->odmpriv;
-
-       if (dm_odm->RFType == ODM_2T2R) {
-               phy_setrfpathswitch_8188e(adapt, main, true);
-       } else {
-               /*  For 88C 1T1R */
-               phy_setrfpathswitch_8188e(adapt, main, false);
-       }
+       phy_LCCalibrate_8188E(adapt, false);
 }
index f09d4d4..ba5d027 100644 (file)
@@ -15,18 +15,7 @@ void dump_chip_info(struct HAL_VERSION       chip_vers)
        uint cnt = 0;
        char buf[128];
 
-       if (IS_81XXC(chip_vers)) {
-               cnt += sprintf((buf + cnt), "Chip Version Info: %s_",
-                              IS_92C_SERIAL(chip_vers) ?
-                              "CHIP_8192C" : "CHIP_8188C");
-       } else if (IS_92D(chip_vers)) {
-               cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8192D_");
-       } else if (IS_8723_SERIES(chip_vers)) {
-               cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8723A_");
-       } else if (IS_8188E(chip_vers)) {
-               cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
-       }
-
+       cnt += sprintf((buf + cnt), "Chip Version Info: CHIP_8188E_");
        cnt += sprintf((buf + cnt), "%s_", IS_NORMAL_CHIP(chip_vers) ?
                       "Normal_Chip" : "Test_Chip");
        cnt += sprintf((buf + cnt), "%s_", IS_CHIP_VENDOR_TSMC(chip_vers) ?
@@ -45,15 +34,7 @@ void dump_chip_info(struct HAL_VERSION       chip_vers)
                cnt += sprintf((buf + cnt), "UNKNOWN_CUT(%d)_",
                               chip_vers.CUTVersion);
 
-       if (IS_1T1R(chip_vers))
-               cnt += sprintf((buf + cnt), "1T1R_");
-       else if (IS_1T2R(chip_vers))
-               cnt += sprintf((buf + cnt), "1T2R_");
-       else if (IS_2T2R(chip_vers))
-               cnt += sprintf((buf + cnt), "2T2R_");
-       else
-               cnt += sprintf((buf + cnt), "UNKNOWN_RFTYPE(%d)_",
-                              chip_vers.RFType);
+       cnt += sprintf((buf + cnt), "1T1R_");
 
        cnt += sprintf((buf + cnt), "RomVer(%d)\n", chip_vers.ROMVer);
 
@@ -300,8 +281,7 @@ bool Hal_MappingOutPipe(struct adapter *adapter, u8 numoutpipe)
 
 void hal_init_macaddr(struct adapter *adapter)
 {
-       rtw_hal_set_hwreg(adapter, HW_VAR_MAC_ADDR,
-                         adapter->eeprompriv.mac_addr);
+       SetHwReg8188EU(adapter, HW_VAR_MAC_ADDR, adapter->eeprompriv.mac_addr);
 }
 
 /*
index f27eba7..fee3a59 100644 (file)
@@ -6,83 +6,19 @@
 #include "../include/drv_types.h"
 #include "../include/hal_intf.h"
 
-void rtw_hal_chip_configure(struct adapter *adapt)
-{
-       if (adapt->HalFunc.intf_chip_configure)
-               adapt->HalFunc.intf_chip_configure(adapt);
-}
-
-void rtw_hal_read_chip_info(struct adapter *adapt)
-{
-       if (adapt->HalFunc.read_adapter_info)
-               adapt->HalFunc.read_adapter_info(adapt);
-}
-
-void rtw_hal_read_chip_version(struct adapter *adapt)
-{
-       if (adapt->HalFunc.read_chip_version)
-               adapt->HalFunc.read_chip_version(adapt);
-}
-
-void rtw_hal_def_value_init(struct adapter *adapt)
-{
-       if (adapt->HalFunc.init_default_value)
-               adapt->HalFunc.init_default_value(adapt);
-}
-
-void rtw_hal_free_data(struct adapter *adapt)
-{
-       if (adapt->HalFunc.free_hal_data)
-               adapt->HalFunc.free_hal_data(adapt);
-}
-
-void rtw_hal_dm_init(struct adapter *adapt)
-{
-       if (adapt->HalFunc.dm_init)
-               adapt->HalFunc.dm_init(adapt);
-}
-
-void rtw_hal_dm_deinit(struct adapter *adapt)
-{
-       /*  cancel dm  timer */
-       if (adapt->HalFunc.dm_deinit)
-               adapt->HalFunc.dm_deinit(adapt);
-}
-
-void rtw_hal_sw_led_init(struct adapter *adapt)
-{
-       if (adapt->HalFunc.InitSwLeds)
-               adapt->HalFunc.InitSwLeds(adapt);
-}
-
-void rtw_hal_sw_led_deinit(struct adapter *adapt)
-{
-       if (adapt->HalFunc.DeInitSwLeds)
-               adapt->HalFunc.DeInitSwLeds(adapt);
-}
-
-u32 rtw_hal_power_on(struct adapter *adapt)
-{
-       if (adapt->HalFunc.hal_power_on)
-               return adapt->HalFunc.hal_power_on(adapt);
-       return _FAIL;
-}
-
 uint    rtw_hal_init(struct adapter *adapt)
 {
        uint    status = _SUCCESS;
 
        adapt->hw_init_completed = false;
 
-       status = adapt->HalFunc.hal_init(adapt);
+       status = rtl8188eu_hal_init(adapt);
 
        if (status == _SUCCESS) {
                adapt->hw_init_completed = true;
 
                if (adapt->registrypriv.notch_filter == 1)
-                       rtw_hal_notch_filter(adapt, 1);
-
-               rtw_hal_reset_security_engine(adapt);
+                       hal_notch_filter_8188e(adapt, 1);
        } else {
                adapt->hw_init_completed = false;
                DBG_88E("rtw_hal_init: hal__init fail\n");
@@ -95,7 +31,7 @@ uint rtw_hal_deinit(struct adapter *adapt)
 {
        uint    status = _SUCCESS;
 
-       status = adapt->HalFunc.hal_deinit(adapt);
+       status = rtl8188eu_hal_deinit(adapt);
 
        if (status == _SUCCESS)
                adapt->hw_init_completed = false;
@@ -105,337 +41,18 @@ uint rtw_hal_deinit(struct adapter *adapt)
        return status;
 }
 
-void rtw_hal_set_hwreg(struct adapter *adapt, u8 variable, u8 *val)
-{
-       if (adapt->HalFunc.SetHwRegHandler)
-               adapt->HalFunc.SetHwRegHandler(adapt, variable, val);
-}
-
-void rtw_hal_get_hwreg(struct adapter *adapt, u8 variable, u8 *val)
-{
-       if (adapt->HalFunc.GetHwRegHandler)
-               adapt->HalFunc.GetHwRegHandler(adapt, variable, val);
-}
-
-u8 rtw_hal_set_def_var(struct adapter *adapt, enum hal_def_variable var,
-                     void *val)
-{
-       if (adapt->HalFunc.SetHalDefVarHandler)
-               return adapt->HalFunc.SetHalDefVarHandler(adapt, var, val);
-       return _FAIL;
-}
-
-u8 rtw_hal_get_def_var(struct adapter *adapt,
-                      enum hal_def_variable var, void *val)
-{
-       if (adapt->HalFunc.GetHalDefVarHandler)
-               return adapt->HalFunc.GetHalDefVarHandler(adapt, var, val);
-       return _FAIL;
-}
-
-void rtw_hal_set_odm_var(struct adapter *adapt,
-                        enum hal_odm_variable var, void *val1,
-                        bool set)
-{
-       if (adapt->HalFunc.SetHalODMVarHandler)
-               adapt->HalFunc.SetHalODMVarHandler(adapt, var,
-                                                     val1, set);
-}
-
-void rtw_hal_get_odm_var(struct adapter *adapt,
-                        enum hal_odm_variable var, void *val1,
-                        bool set)
-{
-       if (adapt->HalFunc.GetHalODMVarHandler)
-               adapt->HalFunc.GetHalODMVarHandler(adapt, var,
-                                                     val1, set);
-}
-
-void rtw_hal_enable_interrupt(struct adapter *adapt)
-{
-       if (adapt->HalFunc.enable_interrupt)
-               adapt->HalFunc.enable_interrupt(adapt);
-       else
-               DBG_88E("%s: HalFunc.enable_interrupt is NULL!\n", __func__);
-}
-
-void rtw_hal_disable_interrupt(struct adapter *adapt)
-{
-       if (adapt->HalFunc.disable_interrupt)
-               adapt->HalFunc.disable_interrupt(adapt);
-       else
-               DBG_88E("%s: HalFunc.disable_interrupt is NULL!\n", __func__);
-}
-
-u32 rtw_hal_inirp_init(struct adapter *adapt)
-{
-       u32 rst = _FAIL;
-
-       if (adapt->HalFunc.inirp_init)
-               rst = adapt->HalFunc.inirp_init(adapt);
-       else
-               DBG_88E(" %s HalFunc.inirp_init is NULL!!!\n", __func__);
-       return rst;
-}
-
-u32 rtw_hal_inirp_deinit(struct adapter *adapt)
-{
-       if (adapt->HalFunc.inirp_deinit)
-               return adapt->HalFunc.inirp_deinit(adapt);
-
-       return _FAIL;
-}
-
-u8 rtw_hal_intf_ps_func(struct adapter *adapt,
-                       enum hal_intf_ps_func efunc_id, u8 *val)
-{
-       if (adapt->HalFunc.interface_ps_func)
-               return adapt->HalFunc.interface_ps_func(adapt, efunc_id,
-                                                          val);
-       return _FAIL;
-}
-
-s32 rtw_hal_xmitframe_enqueue(struct adapter *padapter,
-                             struct xmit_frame *pxmitframe)
-{
-       if (padapter->HalFunc.hal_xmitframe_enqueue)
-               return padapter->HalFunc.hal_xmitframe_enqueue(padapter, pxmitframe);
-       return false;
-}
-
-s32 rtw_hal_xmit(struct adapter *adapt, struct xmit_frame *pxmitframe)
-{
-       if (adapt->HalFunc.hal_xmit)
-               return adapt->HalFunc.hal_xmit(adapt, pxmitframe);
-
-       return false;
-}
-
-s32 rtw_hal_mgnt_xmit(struct adapter *adapt, struct xmit_frame *pmgntframe)
-{
-       s32 ret = _FAIL;
-       if (adapt->HalFunc.mgnt_xmit)
-               ret = adapt->HalFunc.mgnt_xmit(adapt, pmgntframe);
-       return ret;
-}
-
-s32 rtw_hal_init_xmit_priv(struct adapter *adapt)
-{
-       if (adapt->HalFunc.init_xmit_priv)
-               return adapt->HalFunc.init_xmit_priv(adapt);
-       return _FAIL;
-}
-
-s32 rtw_hal_init_recv_priv(struct adapter *adapt)
-{
-       if (adapt->HalFunc.init_recv_priv)
-               return adapt->HalFunc.init_recv_priv(adapt);
-
-       return _FAIL;
-}
-
-void rtw_hal_free_recv_priv(struct adapter *adapt)
-{
-       if (adapt->HalFunc.free_recv_priv)
-               adapt->HalFunc.free_recv_priv(adapt);
-}
-
 void rtw_hal_update_ra_mask(struct adapter *adapt, u32 mac_id, u8 rssi_level)
 {
        struct mlme_priv *pmlmepriv = &adapt->mlmepriv;
 
        if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) {
-#ifdef CONFIG_88EU_AP_MODE
                struct sta_info *psta = NULL;
                struct sta_priv *pstapriv = &adapt->stapriv;
                if (mac_id >= 2)
                        psta = pstapriv->sta_aid[(mac_id - 1) - 1];
                if (psta)
                        add_RATid(adapt, psta, 0);/* todo: based on rssi_level*/
-#endif
        } else {
-               if (adapt->HalFunc.UpdateRAMaskHandler)
-                       adapt->HalFunc.UpdateRAMaskHandler(adapt, mac_id,
-                                                             rssi_level);
+               UpdateHalRAMask8188EUsb(adapt, mac_id, rssi_level);
        }
 }
-
-void rtw_hal_add_ra_tid(struct adapter *adapt, u32 bitmap, u8 arg,
-                       u8 rssi_level)
-{
-       if (adapt->HalFunc.Add_RateATid)
-               adapt->HalFunc.Add_RateATid(adapt, bitmap, arg,
-                                              rssi_level);
-}
-
-/*     Start specifical interface thread               */
-void rtw_hal_start_thread(struct adapter *adapt)
-{
-       if (adapt->HalFunc.run_thread)
-               adapt->HalFunc.run_thread(adapt);
-}
-
-/*     Start specifical interface thread               */
-void rtw_hal_stop_thread(struct adapter *adapt)
-{
-       if (adapt->HalFunc.cancel_thread)
-               adapt->HalFunc.cancel_thread(adapt);
-}
-
-u32 rtw_hal_read_bbreg(struct adapter *adapt, u32 regaddr, u32 bitmask)
-{
-       u32 data = 0;
-
-       if (adapt->HalFunc.read_bbreg)
-               data = adapt->HalFunc.read_bbreg(adapt, regaddr, bitmask);
-       return data;
-}
-
-void rtw_hal_write_bbreg(struct adapter *adapt, u32 regaddr, u32 bitmask,
-                        u32 data)
-{
-       if (adapt->HalFunc.write_bbreg)
-               adapt->HalFunc.write_bbreg(adapt, regaddr, bitmask, data);
-}
-
-u32 rtw_hal_read_rfreg(struct adapter *adapt, enum rf_radio_path rfpath,
-                      u32 regaddr, u32 bitmask)
-{
-       u32 data = 0;
-
-       if (adapt->HalFunc.read_rfreg)
-               data = adapt->HalFunc.read_rfreg(adapt, rfpath, regaddr,
-                                                   bitmask);
-       return data;
-}
-
-void rtw_hal_write_rfreg(struct adapter *adapt, enum rf_radio_path rfpath,
-                        u32 regaddr, u32 bitmask, u32 data)
-{
-       if (adapt->HalFunc.write_rfreg)
-               adapt->HalFunc.write_rfreg(adapt, rfpath, regaddr,
-                                             bitmask, data);
-}
-
-s32 rtw_hal_interrupt_handler(struct adapter *adapt)
-{
-       if (adapt->HalFunc.interrupt_handler)
-               return adapt->HalFunc.interrupt_handler(adapt);
-       return _FAIL;
-}
-
-void rtw_hal_set_bwmode(struct adapter *adapt,
-                       enum ht_channel_width bandwidth, u8 offset)
-{
-       if (adapt->HalFunc.set_bwmode_handler)
-               adapt->HalFunc.set_bwmode_handler(adapt, bandwidth,
-                                                    offset);
-}
-
-void rtw_hal_set_chan(struct adapter *adapt, u8 channel)
-{
-       if (adapt->HalFunc.set_channel_handler)
-               adapt->HalFunc.set_channel_handler(adapt, channel);
-}
-
-void rtw_hal_dm_watchdog(struct adapter *adapt)
-{
-       if (adapt->HalFunc.hal_dm_watchdog)
-               adapt->HalFunc.hal_dm_watchdog(adapt);
-}
-
-void rtw_hal_bcn_related_reg_setting(struct adapter *adapt)
-{
-       if (adapt->HalFunc.SetBeaconRelatedRegistersHandler)
-               adapt->HalFunc.SetBeaconRelatedRegistersHandler(adapt);
-}
-
-u8 rtw_hal_antdiv_before_linked(struct adapter *adapt)
-{
-       if (adapt->HalFunc.AntDivBeforeLinkHandler)
-               return adapt->HalFunc.AntDivBeforeLinkHandler(adapt);
-       return false;
-}
-
-void rtw_hal_antdiv_rssi_compared(struct adapter *adapt,
-                                 struct wlan_bssid_ex *dst,
-                                 struct wlan_bssid_ex *src)
-{
-       if (adapt->HalFunc.AntDivCompareHandler)
-               adapt->HalFunc.AntDivCompareHandler(adapt, dst, src);
-}
-
-void rtw_hal_sreset_init(struct adapter *adapt)
-{
-       if (adapt->HalFunc.sreset_init_value)
-               adapt->HalFunc.sreset_init_value(adapt);
-}
-
-void rtw_hal_sreset_reset(struct adapter *adapt)
-{
-       if (adapt->HalFunc.silentreset)
-               adapt->HalFunc.silentreset(adapt);
-}
-
-void rtw_hal_sreset_reset_value(struct adapter *adapt)
-{
-       if (adapt->HalFunc.sreset_reset_value)
-               adapt->HalFunc.sreset_reset_value(adapt);
-}
-
-void rtw_hal_sreset_xmit_status_check(struct adapter *adapt)
-{
-       if (adapt->HalFunc.sreset_xmit_status_check)
-               adapt->HalFunc.sreset_xmit_status_check(adapt);
-}
-
-void rtw_hal_sreset_linked_status_check(struct adapter *adapt)
-{
-       if (adapt->HalFunc.sreset_linked_status_check)
-               adapt->HalFunc.sreset_linked_status_check(adapt);
-}
-
-u8   rtw_hal_sreset_get_wifi_status(struct adapter *adapt)
-{
-       u8 status = 0;
-
-       if (adapt->HalFunc.sreset_get_wifi_status)
-               status = adapt->HalFunc.sreset_get_wifi_status(adapt);
-       return status;
-}
-
-int rtw_hal_iol_cmd(struct adapter  *adapter, struct xmit_frame *xmit_frame,
-                   u32 max_wating_ms, u32 bndy_cnt)
-{
-       if (adapter->HalFunc.IOL_exec_cmds_sync)
-               return adapter->HalFunc.IOL_exec_cmds_sync(adapter, xmit_frame,
-                                                          max_wating_ms,
-                                                          bndy_cnt);
-       return _FAIL;
-}
-
-void rtw_hal_notch_filter(struct adapter *adapter, bool enable)
-{
-       if (adapter->HalFunc.hal_notch_filter)
-               adapter->HalFunc.hal_notch_filter(adapter, enable);
-}
-
-void rtw_hal_reset_security_engine(struct adapter *adapter)
-{
-       if (adapter->HalFunc.hal_reset_security_engine)
-               adapter->HalFunc.hal_reset_security_engine(adapter);
-}
-
-s32 rtw_hal_c2h_handler(struct adapter *adapter, struct c2h_evt_hdr *c2h_evt)
-{
-       s32 ret = _FAIL;
-
-       if (adapter->HalFunc.c2h_handler)
-               ret = adapter->HalFunc.c2h_handler(adapter, c2h_evt);
-       return ret;
-}
-
-c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter)
-{
-       return adapter->HalFunc.c2h_id_filter_ccx;
-}
index ed94f64..21f1151 100644 (file)
@@ -5,17 +5,6 @@
 
 #include "../include/odm_precomp.h"
 
-static const u16 dB_Invert_Table[8][12] = {
-       {1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4},
-       {4, 5, 6, 6, 7, 8, 9, 10, 11, 13, 14, 16},
-       {18, 20, 22, 25, 28, 32, 35, 40, 45, 50, 56, 63},
-       {71, 79, 89, 100, 112, 126, 141, 158, 178, 200, 224, 251},
-       {282, 316, 355, 398, 447, 501, 562, 631, 708, 794, 891, 1000},
-       {1122, 1259, 1413, 1585, 1778, 1995, 2239, 2512, 2818, 3162, 3548, 3981},
-       {4467, 5012, 5623, 6310, 7079, 7943, 8913, 10000, 11220, 12589, 14125, 15849},
-       {17783, 19953, 22387, 25119, 28184, 31623, 35481, 39811, 44668, 50119, 56234, 65535}
-};
-
 /* avoid to warn in FreeBSD ==> To DO modify */
 static u32 EDCAParam[HT_IOT_PEER_MAX][3] = {
        /*  UL                  DL */
@@ -163,22 +152,15 @@ void ODM_DMInit(struct odm_dm_struct *pDM_Odm)
        odm_DIGInit(pDM_Odm);
        odm_RateAdaptiveMaskInit(pDM_Odm);
 
-       if (pDM_Odm->SupportICType & ODM_IC_11AC_SERIES) {
-               ;
-       } else if (pDM_Odm->SupportICType & ODM_IC_11N_SERIES) {
-               odm_PrimaryCCA_Init(pDM_Odm);    /*  Gary */
-               odm_DynamicBBPowerSavingInit(pDM_Odm);
-               odm_DynamicTxPowerInit(pDM_Odm);
-               odm_TXPowerTrackingInit(pDM_Odm);
-               ODM_EdcaTurboInit(pDM_Odm);
-               ODM_RAInfo_Init_all(pDM_Odm);
-               if ((pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV)   ||
-                   (pDM_Odm->AntDivType == CGCS_RX_HW_ANTDIV) ||
-                   (pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV))
-                       odm_InitHybridAntDiv(pDM_Odm);
-               else if (pDM_Odm->AntDivType == CGCS_RX_SW_ANTDIV)
-                       odm_SwAntDivInit(pDM_Odm);
-       }
+       odm_PrimaryCCA_Init(pDM_Odm);    /*  Gary */
+       odm_DynamicBBPowerSavingInit(pDM_Odm);
+       odm_TXPowerTrackingInit(pDM_Odm);
+       ODM_EdcaTurboInit(pDM_Odm);
+       ODM_RAInfo_Init_all(pDM_Odm);
+       if ((pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV)   ||
+           (pDM_Odm->AntDivType == CGCS_RX_HW_ANTDIV) ||
+           (pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV))
+               odm_InitHybridAntDiv(pDM_Odm);
 }
 
 /*  2011/09/20 MH This is the entry pointer for all team to execute HW out source DM. */
@@ -187,22 +169,11 @@ void ODM_DMInit(struct odm_dm_struct *pDM_Odm)
 void ODM_DMWatchdog(struct odm_dm_struct *pDM_Odm)
 {
        /* 2012.05.03 Luke: For all IC series */
-       odm_GlobalAdapterCheck();
        odm_CommonInfoSelfUpdate(pDM_Odm);
        odm_FalseAlarmCounterStatistics(pDM_Odm);
        odm_RSSIMonitorCheck(pDM_Odm);
 
-       /* For CE Platform(SPRD or Tablet) */
-       /* 8723A or 8189ES platform */
-       /* NeilChen--2012--08--24-- */
-       /* Fix Leave LPS issue */
-       if ((pDM_Odm->Adapter->pwrctrlpriv.pwr_mode != PS_MODE_ACTIVE) &&/*  in LPS mode */
-           ((pDM_Odm->SupportICType & (ODM_RTL8723A)) ||
-           (pDM_Odm->SupportICType & (ODM_RTL8188E) &&
-           ((pDM_Odm->SupportInterface  == ODM_ITRF_SDIO)))))
-               odm_DIGbyRSSI_LPS(pDM_Odm);
-       else
-               odm_DIG(pDM_Odm);
+       odm_DIG(pDM_Odm);
        odm_CCKPacketDetectionThresh(pDM_Odm);
 
        if (*pDM_Odm->pbPowerSaving)
@@ -210,22 +181,13 @@ void ODM_DMWatchdog(struct odm_dm_struct *pDM_Odm)
 
        odm_RefreshRateAdaptiveMask(pDM_Odm);
 
-       odm_DynamicBBPowerSaving(pDM_Odm);
        if ((pDM_Odm->AntDivType ==  CG_TRX_HW_ANTDIV)  ||
            (pDM_Odm->AntDivType == CGCS_RX_HW_ANTDIV)  ||
            (pDM_Odm->AntDivType == CG_TRX_SMART_ANTDIV))
                odm_HwAntDiv(pDM_Odm);
-       else if (pDM_Odm->AntDivType == CGCS_RX_SW_ANTDIV)
-               odm_SwAntDivChkAntSwitch(pDM_Odm, SWAW_STEP_PEAK);
-
-       if (pDM_Odm->SupportICType & ODM_IC_11AC_SERIES) {
-               ;
-       } else if (pDM_Odm->SupportICType & ODM_IC_11N_SERIES) {
-               ODM_TXPowerTrackingCheck(pDM_Odm);
-               odm_EdcaTurboCheck(pDM_Odm);
-               odm_DynamicTxPower(pDM_Odm);
-       }
-       odm_dtc(pDM_Odm);
+
+       ODM_TXPowerTrackingCheck(pDM_Odm);
+       odm_EdcaTurboCheck(pDM_Odm);
 }
 
 /*  Init /.. Fixed HW value. Only init time. */
@@ -237,54 +199,12 @@ void ODM_CmnInfoInit(struct odm_dm_struct *pDM_Odm, enum odm_common_info_def Cmn
        case    ODM_CMNINFO_ABILITY:
                pDM_Odm->SupportAbility = (u32)Value;
                break;
-       case    ODM_CMNINFO_PLATFORM:
-               pDM_Odm->SupportPlatform = (u8)Value;
-               break;
-       case    ODM_CMNINFO_INTERFACE:
-               pDM_Odm->SupportInterface = (u8)Value;
-               break;
        case    ODM_CMNINFO_MP_TEST_CHIP:
                pDM_Odm->bIsMPChip = (u8)Value;
                break;
-       case    ODM_CMNINFO_IC_TYPE:
-               pDM_Odm->SupportICType = Value;
-               break;
-       case    ODM_CMNINFO_CUT_VER:
-               pDM_Odm->CutVersion = (u8)Value;
-               break;
-       case    ODM_CMNINFO_FAB_VER:
-               pDM_Odm->FabVersion = (u8)Value;
-               break;
-       case    ODM_CMNINFO_RF_TYPE:
-               pDM_Odm->RFType = (u8)Value;
-               break;
        case    ODM_CMNINFO_RF_ANTENNA_TYPE:
                pDM_Odm->AntDivType = (u8)Value;
                break;
-       case    ODM_CMNINFO_BOARD_TYPE:
-               pDM_Odm->BoardType = (u8)Value;
-               break;
-       case    ODM_CMNINFO_EXT_LNA:
-               pDM_Odm->ExtLNA = (u8)Value;
-               break;
-       case    ODM_CMNINFO_EXT_PA:
-               pDM_Odm->ExtPA = (u8)Value;
-               break;
-       case    ODM_CMNINFO_EXT_TRSW:
-               pDM_Odm->ExtTRSW = (u8)Value;
-               break;
-       case    ODM_CMNINFO_PATCH_ID:
-               pDM_Odm->PatchID = (u8)Value;
-               break;
-       case    ODM_CMNINFO_BINHCT_TEST:
-               pDM_Odm->bInHctTest = (bool)Value;
-               break;
-       case    ODM_CMNINFO_BWIFI_TEST:
-               pDM_Odm->bWIFITest = (bool)Value;
-               break;
-       case    ODM_CMNINFO_SMART_CONCURRENT:
-               pDM_Odm->bDualMacSmartConcurrent = (bool)Value;
-               break;
        /* To remove the compiler warning, must add an empty default statement to handle the other values. */
        default:
                /* do nothing */
@@ -305,9 +225,6 @@ void ODM_CmnInfoHook(struct odm_dm_struct *pDM_Odm, enum odm_common_info_def Cmn
        /*  */
        switch  (CmnInfo) {
        /*  Dynamic call by reference pointer. */
-       case    ODM_CMNINFO_MAC_PHY_MODE:
-               pDM_Odm->pMacPhyMode = (u8 *)pValue;
-               break;
        case    ODM_CMNINFO_TX_UNI:
                pDM_Odm->pNumTxBytesUnicast = (u64 *)pValue;
                break;
@@ -317,9 +234,6 @@ void ODM_CmnInfoHook(struct odm_dm_struct *pDM_Odm, enum odm_common_info_def Cmn
        case    ODM_CMNINFO_WM_MODE:
                pDM_Odm->pWirelessMode = (u8 *)pValue;
                break;
-       case    ODM_CMNINFO_BAND:
-               pDM_Odm->pBandType = (u8 *)pValue;
-               break;
        case    ODM_CMNINFO_SEC_CHNL_OFFSET:
                pDM_Odm->pSecChOffset = (u8 *)pValue;
                break;
@@ -332,57 +246,15 @@ void ODM_CmnInfoHook(struct odm_dm_struct *pDM_Odm, enum odm_common_info_def Cmn
        case    ODM_CMNINFO_CHNL:
                pDM_Odm->pChannel = (u8 *)pValue;
                break;
-       case    ODM_CMNINFO_DMSP_GET_VALUE:
-               pDM_Odm->pbGetValueFromOtherMac = (bool *)pValue;
-               break;
-       case    ODM_CMNINFO_BUDDY_ADAPTOR:
-               pDM_Odm->pBuddyAdapter = (struct adapter **)pValue;
-               break;
-       case    ODM_CMNINFO_DMSP_IS_MASTER:
-               pDM_Odm->pbMasterOfDMSP = (bool *)pValue;
-               break;
        case    ODM_CMNINFO_SCAN:
                pDM_Odm->pbScanInProcess = (bool *)pValue;
                break;
        case    ODM_CMNINFO_POWER_SAVING:
                pDM_Odm->pbPowerSaving = (bool *)pValue;
                break;
-       case    ODM_CMNINFO_ONE_PATH_CCA:
-               pDM_Odm->pOnePathCCA = (u8 *)pValue;
-               break;
-       case    ODM_CMNINFO_DRV_STOP:
-               pDM_Odm->pbDriverStopped =  (bool *)pValue;
-               break;
-       case    ODM_CMNINFO_PNP_IN:
-               pDM_Odm->pbDriverIsGoingToPnpSetPowerSleep =  (bool *)pValue;
-               break;
-       case    ODM_CMNINFO_INIT_ON:
-               pDM_Odm->pinit_adpt_in_progress =  (bool *)pValue;
-               break;
-       case    ODM_CMNINFO_ANT_TEST:
-               pDM_Odm->pAntennaTest =  (u8 *)pValue;
-               break;
        case    ODM_CMNINFO_NET_CLOSED:
                pDM_Odm->pbNet_closed = (bool *)pValue;
                break;
-       case    ODM_CMNINFO_MP_MODE:
-               pDM_Odm->mp_mode = (u8 *)pValue;
-               break;
-       /* To remove the compiler warning, must add an empty default statement to handle the other values. */
-       default:
-               /* do nothing */
-               break;
-       }
-}
-
-void ODM_CmnInfoPtrArrayHook(struct odm_dm_struct *pDM_Odm, enum odm_common_info_def CmnInfo, u16 Index, void *pValue)
-{
-       /*  Hook call by reference pointer. */
-       switch  (CmnInfo) {
-       /*  Dynamic call by reference pointer. */
-       case    ODM_CMNINFO_STA_STATUS:
-               pDM_Odm->pODM_StaInfo[Index] = (struct sta_info *)pValue;
-               break;
        /* To remove the compiler warning, must add an empty default statement to handle the other values. */
        default:
                /* do nothing */
@@ -400,9 +272,6 @@ void ODM_CmnInfoUpdate(struct odm_dm_struct *pDM_Odm, u32 CmnInfo, u64 Value)
        case    ODM_CMNINFO_ABILITY:
                pDM_Odm->SupportAbility = (u32)Value;
                break;
-       case    ODM_CMNINFO_RF_TYPE:
-               pDM_Odm->RFType = (u8)Value;
-               break;
        case    ODM_CMNINFO_WIFI_DIRECT:
                pDM_Odm->bWIFI_Direct = (bool)Value;
                break;
@@ -415,12 +284,6 @@ void ODM_CmnInfoUpdate(struct odm_dm_struct *pDM_Odm, u32 CmnInfo, u64 Value)
        case    ODM_CMNINFO_RSSI_MIN:
                pDM_Odm->RSSI_Min = (u8)Value;
                break;
-       case    ODM_CMNINFO_RA_THRESHOLD_HIGH:
-               pDM_Odm->RateAdaptive.HighRSSIThresh = (u8)Value;
-               break;
-       case    ODM_CMNINFO_RA_THRESHOLD_LOW:
-               pDM_Odm->RateAdaptive.LowRSSIThresh = (u8)Value;
-               break;
        }
 }
 
@@ -428,10 +291,6 @@ void odm_CommonInfoSelfInit(struct odm_dm_struct *pDM_Odm)
 {
        pDM_Odm->bCckHighPower = (bool)ODM_GetBBReg(pDM_Odm, 0x824, BIT(9));
        pDM_Odm->RFPathRxEnable = (u8)ODM_GetBBReg(pDM_Odm, 0xc04, 0x0F);
-       if (pDM_Odm->SupportICType & (ODM_RTL8192C | ODM_RTL8192D))
-               pDM_Odm->AntDivType = CG_TRX_HW_ANTDIV;
-       if (pDM_Odm->SupportICType & (ODM_RTL8723A))
-               pDM_Odm->AntDivType = CGCS_RX_SW_ANTDIV;
 }
 
 void odm_CommonInfoSelfUpdate(struct odm_dm_struct *pDM_Odm)
@@ -460,118 +319,27 @@ void odm_CommonInfoSelfUpdate(struct odm_dm_struct *pDM_Odm)
                pDM_Odm->bOneEntryOnly = false;
 }
 
-static int getIGIForDiff(int value_IGI)
-{
-       #define ONERCCA_LOW_TH          0x30
-       #define ONERCCA_LOW_DIFF        8
-
-       if (value_IGI < ONERCCA_LOW_TH) {
-               if ((ONERCCA_LOW_TH - value_IGI) < ONERCCA_LOW_DIFF)
-                       return ONERCCA_LOW_TH;
-               else
-                       return value_IGI + ONERCCA_LOW_DIFF;
-       } else {
-               return value_IGI;
-       }
-}
-
 void ODM_Write_DIG(struct odm_dm_struct *pDM_Odm, u8 CurrentIGI)
 {
        struct rtw_dig *pDM_DigTable = &pDM_Odm->DM_DigTable;
 
        if (pDM_DigTable->CurIGValue != CurrentIGI) {
-               if (pDM_Odm->SupportPlatform & (ODM_CE | ODM_MP)) {
-                       ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI);
-                       if (pDM_Odm->SupportICType != ODM_RTL8188E)
-                               ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_B, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI);
-               } else if (pDM_Odm->SupportPlatform & (ODM_AP | ODM_ADSL)) {
-                       switch (*pDM_Odm->pOnePathCCA) {
-                       case ODM_CCA_2R:
-                               ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI);
-                               if (pDM_Odm->SupportICType != ODM_RTL8188E)
-                                       ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_B, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI);
-                               break;
-                       case ODM_CCA_1R_A:
-                               ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI);
-                               if (pDM_Odm->SupportICType != ODM_RTL8188E)
-                                       ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_B, pDM_Odm), ODM_BIT(IGI, pDM_Odm), getIGIForDiff(CurrentIGI));
-                               break;
-                       case ODM_CCA_1R_B:
-                               ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm), getIGIForDiff(CurrentIGI));
-                               if (pDM_Odm->SupportICType != ODM_RTL8188E)
-                                       ODM_SetBBReg(pDM_Odm, ODM_REG(IGI_B, pDM_Odm), ODM_BIT(IGI, pDM_Odm), CurrentIGI);
-                               break;
-                       }
-               }
-               /* pDM_DigTable->PreIGValue = pDM_DigTable->CurIGValue; */
+               ODM_SetBBReg(pDM_Odm, ODM_REG_IGI_A_11N, ODM_BIT_IGI_11N, CurrentIGI);
                pDM_DigTable->CurIGValue = CurrentIGI;
        }
-/*  Add by Neil Chen to enable edcca to MP Platform */
-}
-
-/* Need LPS mode for CE platform --2012--08--24--- */
-/* 8723AS/8189ES */
-void odm_DIGbyRSSI_LPS(struct odm_dm_struct *pDM_Odm)
-{
-       struct adapter *pAdapter = pDM_Odm->Adapter;
-       struct false_alarm_stats *pFalseAlmCnt = &pDM_Odm->FalseAlmCnt;
-
-       u8 RSSI_Lower = DM_DIG_MIN_NIC;   /* 0x1E or 0x1C */
-       u8 bFwCurrentInPSMode = false;
-       u8 CurrentIGI = pDM_Odm->RSSI_Min;
-
-       if (!(pDM_Odm->SupportICType & (ODM_RTL8723A | ODM_RTL8188E)))
-               return;
-
-       CurrentIGI = CurrentIGI + RSSI_OFFSET_DIG;
-       bFwCurrentInPSMode = pAdapter->pwrctrlpriv.bFwCurrentInPSMode;
-
-       /*  Using FW PS mode to make IGI */
-       if (bFwCurrentInPSMode) {
-               /* Adjust by  FA in LPS MODE */
-               if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2_LPS)
-                       CurrentIGI = CurrentIGI + 2;
-               else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1_LPS)
-                       CurrentIGI = CurrentIGI + 1;
-               else if (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0_LPS)
-                       CurrentIGI = CurrentIGI - 1;
-       } else {
-               CurrentIGI = RSSI_Lower;
-       }
-
-       /* Lower bound checking */
-
-       /* RSSI Lower bound check */
-       if ((pDM_Odm->RSSI_Min - 10) > DM_DIG_MIN_NIC)
-               RSSI_Lower = (pDM_Odm->RSSI_Min - 10);
-       else
-               RSSI_Lower = DM_DIG_MIN_NIC;
-
-       /* Upper and Lower Bound checking */
-       if (CurrentIGI > DM_DIG_MAX_NIC)
-               CurrentIGI = DM_DIG_MAX_NIC;
-       else if (CurrentIGI < RSSI_Lower)
-               CurrentIGI = RSSI_Lower;
-
-       ODM_Write_DIG(pDM_Odm, CurrentIGI);/* ODM_Write_DIG(pDM_Odm, pDM_DigTable->CurIGValue); */
 }
 
 void odm_DIGInit(struct odm_dm_struct *pDM_Odm)
 {
        struct rtw_dig *pDM_DigTable = &pDM_Odm->DM_DigTable;
 
-       pDM_DigTable->CurIGValue = (u8)ODM_GetBBReg(pDM_Odm, ODM_REG(IGI_A, pDM_Odm), ODM_BIT(IGI, pDM_Odm));
+       pDM_DigTable->CurIGValue = (u8)ODM_GetBBReg(pDM_Odm, ODM_REG_IGI_A_11N, ODM_BIT_IGI_11N);
        pDM_DigTable->RssiLowThresh     = DM_DIG_THRESH_LOW;
        pDM_DigTable->RssiHighThresh    = DM_DIG_THRESH_HIGH;
        pDM_DigTable->FALowThresh       = DM_false_ALARM_THRESH_LOW;
        pDM_DigTable->FAHighThresh      = DM_false_ALARM_THRESH_HIGH;
-       if (pDM_Odm->BoardType == ODM_BOARD_HIGHPWR) {
-               pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC;
-               pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC;
-       } else {
-               pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC;
-               pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC;
-       }
+       pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC;
+       pDM_DigTable->rx_gain_range_min = DM_DIG_MIN_NIC;
        pDM_DigTable->BackoffVal = DM_DIG_BACKOFF_DEFAULT;
        pDM_DigTable->BackoffVal_range_max = DM_DIG_BACKOFF_MAX;
        pDM_DigTable->BackoffVal_range_min = DM_DIG_BACKOFF_MIN;
@@ -609,86 +377,38 @@ void odm_DIG(struct odm_dm_struct *pDM_Odm)
        if (!pDM_Odm->bDMInitialGainEnable)
                return;
 
-       if (pDM_Odm->SupportICType == ODM_RTL8192D) {
-               if (*pDM_Odm->pMacPhyMode == ODM_DMSP) {
-                       if (*pDM_Odm->pbMasterOfDMSP) {
-                               DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0;
-                               FirstConnect = (pDM_Odm->bLinked) && (!pDM_DigTable->bMediaConnect_0);
-                               FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0);
-                       } else {
-                               DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_1;
-                               FirstConnect = (pDM_Odm->bLinked) && (!pDM_DigTable->bMediaConnect_1);
-                               FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_1);
-                       }
-               } else {
-                       DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_1;
-                       FirstConnect = (pDM_Odm->bLinked) && (!pDM_DigTable->bMediaConnect_1);
-                       FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_1);
-               }
-       } else {
-               DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0;
-               FirstConnect = (pDM_Odm->bLinked) && (!pDM_DigTable->bMediaConnect_0);
-               FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0);
-       }
+       DIG_Dynamic_MIN = pDM_DigTable->DIG_Dynamic_MIN_0;
+       FirstConnect = (pDM_Odm->bLinked) && (!pDM_DigTable->bMediaConnect_0);
+       FirstDisConnect = (!pDM_Odm->bLinked) && (pDM_DigTable->bMediaConnect_0);
 
        /* 1 Boundary Decision */
-       if ((pDM_Odm->SupportICType & (ODM_RTL8192C | ODM_RTL8723A)) &&
-           ((pDM_Odm->BoardType == ODM_BOARD_HIGHPWR) || pDM_Odm->ExtLNA)) {
-               if (pDM_Odm->SupportPlatform & (ODM_AP | ODM_ADSL)) {
-                       dm_dig_max = DM_DIG_MAX_AP_HP;
-                       dm_dig_min = DM_DIG_MIN_AP_HP;
-               } else {
-                       dm_dig_max = DM_DIG_MAX_NIC_HP;
-                       dm_dig_min = DM_DIG_MIN_NIC_HP;
-               }
-               DIG_MaxOfMin = DM_DIG_MAX_AP_HP;
-       } else {
-               if (pDM_Odm->SupportPlatform & (ODM_AP | ODM_ADSL)) {
-                       dm_dig_max = DM_DIG_MAX_AP;
-                       dm_dig_min = DM_DIG_MIN_AP;
-                       DIG_MaxOfMin = dm_dig_max;
-               } else {
-                       dm_dig_max = DM_DIG_MAX_NIC;
-                       dm_dig_min = DM_DIG_MIN_NIC;
-                       DIG_MaxOfMin = DM_DIG_MAX_AP;
-               }
-       }
+       dm_dig_max = DM_DIG_MAX_NIC;
+       dm_dig_min = DM_DIG_MIN_NIC;
+       DIG_MaxOfMin = DM_DIG_MAX_AP;
+
        if (pDM_Odm->bLinked) {
-             /* 2 8723A Series, offset need to be 10 */
-               if (pDM_Odm->SupportICType == (ODM_RTL8723A)) {
-                       /* 2 Upper Bound */
-                       if ((pDM_Odm->RSSI_Min + 10) > DM_DIG_MAX_NIC)
-                               pDM_DigTable->rx_gain_range_max = DM_DIG_MAX_NIC;
-                       else if ((pDM_Odm->RSSI_Min + 10) < DM_DIG_MIN_NIC)
-                               pDM_DigTable->rx_gain_range_max = DM_DIG_MIN_NIC;
+               /* 2 8723A Series, offset need to be 10 */
+               /* 2 Modify DIG upper bound */
+               if ((pDM_Odm->RSSI_Min + 20) > dm_dig_max)
+                       pDM_DigTable->rx_gain_range_max = dm_dig_max;
+               else if ((pDM_Odm->RSSI_Min + 20) < dm_dig_min)
+                       pDM_DigTable->rx_gain_range_max = dm_dig_min;
+               else
+                       pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + 20;
+               /* 2 Modify DIG lower bound */
+               if (pDM_Odm->bOneEntryOnly) {
+                       if (pDM_Odm->RSSI_Min < dm_dig_min)
+                               DIG_Dynamic_MIN = dm_dig_min;
+                       else if (pDM_Odm->RSSI_Min > DIG_MaxOfMin)
+                               DIG_Dynamic_MIN = DIG_MaxOfMin;
                        else
-                               pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + 10;
-                       /* 2 If BT is Concurrent, need to set Lower Bound */
-                       DIG_Dynamic_MIN = DM_DIG_MIN_NIC;
+                               DIG_Dynamic_MIN = pDM_Odm->RSSI_Min;
+               } else if (pDM_Odm->SupportAbility & ODM_BB_ANT_DIV) {
+                       /* 1 Lower Bound for 88E AntDiv */
+                       if (pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV)
+                               DIG_Dynamic_MIN = (u8)pDM_DigTable->AntDiv_RSSI_max;
                } else {
-                       /* 2 Modify DIG upper bound */
-                       if ((pDM_Odm->RSSI_Min + 20) > dm_dig_max)
-                               pDM_DigTable->rx_gain_range_max = dm_dig_max;
-                       else if ((pDM_Odm->RSSI_Min + 20) < dm_dig_min)
-                               pDM_DigTable->rx_gain_range_max = dm_dig_min;
-                       else
-                               pDM_DigTable->rx_gain_range_max = pDM_Odm->RSSI_Min + 20;
-                       /* 2 Modify DIG lower bound */
-                       if (pDM_Odm->bOneEntryOnly) {
-                               if (pDM_Odm->RSSI_Min < dm_dig_min)
-                                       DIG_Dynamic_MIN = dm_dig_min;
-                               else if (pDM_Odm->RSSI_Min > DIG_MaxOfMin)
-                                       DIG_Dynamic_MIN = DIG_MaxOfMin;
-                               else
-                                       DIG_Dynamic_MIN = pDM_Odm->RSSI_Min;
-                       } else if ((pDM_Odm->SupportICType == ODM_RTL8188E) &&
-                                  (pDM_Odm->SupportAbility & ODM_BB_ANT_DIV)) {
-                               /* 1 Lower Bound for 88E AntDiv */
-                               if (pDM_Odm->AntDivType == CG_TRX_HW_ANTDIV)
-                                       DIG_Dynamic_MIN = (u8)pDM_DigTable->AntDiv_RSSI_max;
-                       } else {
-                               DIG_Dynamic_MIN = dm_dig_min;
-                       }
+                       DIG_Dynamic_MIN = dm_dig_min;
                }
        } else {
                pDM_DigTable->rx_gain_range_max = dm_dig_max;
@@ -736,21 +456,12 @@ void odm_DIG(struct odm_dm_struct *pDM_Odm)
                if (FirstConnect) {
                        CurrentIGI = pDM_Odm->RSSI_Min;
                } else {
-                       if (pDM_Odm->SupportICType == ODM_RTL8192D) {
-                               if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2_92D)
-                                       CurrentIGI = CurrentIGI + 2;/* pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+2; */
-                               else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1_92D)
-                                       CurrentIGI = CurrentIGI + 1; /* pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+1; */
-                               else if (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0_92D)
-                                       CurrentIGI = CurrentIGI - 1;/* pDM_DigTable->CurIGValue =pDM_DigTable->PreIGValue-1; */
-                       } else {
-                               if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2)
-                                               CurrentIGI = CurrentIGI + 4;/* pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+2; */
-                               else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1)
-                                               CurrentIGI = CurrentIGI + 2;/* pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+1; */
-                               else if (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0)
-                                               CurrentIGI = CurrentIGI - 2;/* pDM_DigTable->CurIGValue =pDM_DigTable->PreIGValue-1; */
-                       }
+                       if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH2)
+                                       CurrentIGI = CurrentIGI + 4;/* pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+2; */
+                       else if (pFalseAlmCnt->Cnt_all > DM_DIG_FA_TH1)
+                                       CurrentIGI = CurrentIGI + 2;/* pDM_DigTable->CurIGValue = pDM_DigTable->PreIGValue+1; */
+                       else if (pFalseAlmCnt->Cnt_all < DM_DIG_FA_TH0)
+                                       CurrentIGI = CurrentIGI - 2;/* pDM_DigTable->CurIGValue =pDM_DigTable->PreIGValue-1; */
                }
        } else {
                if (FirstDisConnect) {
@@ -790,85 +501,51 @@ void odm_FalseAlarmCounterStatistics(struct odm_dm_struct *pDM_Odm)
        if (!(pDM_Odm->SupportAbility & ODM_BB_FA_CNT))
                return;
 
-       if (pDM_Odm->SupportICType & ODM_IC_11N_SERIES) {
-               /* hold ofdm counter */
-               ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_HOLDC_11N, BIT(31), 1); /* hold page C counter */
-               ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTD_11N, BIT(31), 1); /* hold page D counter */
-
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE1_11N, bMaskDWord);
-               FalseAlmCnt->Cnt_Fast_Fsync = (ret_value & 0xffff);
-               FalseAlmCnt->Cnt_SB_Search_fail = ((ret_value & 0xffff0000) >> 16);
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE2_11N, bMaskDWord);
-               FalseAlmCnt->Cnt_OFDM_CCA = (ret_value & 0xffff);
-               FalseAlmCnt->Cnt_Parity_Fail = ((ret_value & 0xffff0000) >> 16);
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE3_11N, bMaskDWord);
-               FalseAlmCnt->Cnt_Rate_Illegal = (ret_value & 0xffff);
-               FalseAlmCnt->Cnt_Crc8_fail = ((ret_value & 0xffff0000) >> 16);
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE4_11N, bMaskDWord);
-               FalseAlmCnt->Cnt_Mcs_fail = (ret_value & 0xffff);
-
-               FalseAlmCnt->Cnt_Ofdm_fail = FalseAlmCnt->Cnt_Parity_Fail + FalseAlmCnt->Cnt_Rate_Illegal +
-                                            FalseAlmCnt->Cnt_Crc8_fail + FalseAlmCnt->Cnt_Mcs_fail +
-                                            FalseAlmCnt->Cnt_Fast_Fsync + FalseAlmCnt->Cnt_SB_Search_fail;
-
-               if (pDM_Odm->SupportICType == ODM_RTL8188E) {
-                       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_SC_CNT_11N, bMaskDWord);
-                       FalseAlmCnt->Cnt_BW_LSC = (ret_value & 0xffff);
-                       FalseAlmCnt->Cnt_BW_USC = ((ret_value & 0xffff0000) >> 16);
-               }
-
-               /* hold cck counter */
-               ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(12), 1);
-               ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(14), 1);
-
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_FA_LSB_11N, bMaskByte0);
-               FalseAlmCnt->Cnt_Cck_fail = ret_value;
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_FA_MSB_11N, bMaskByte3);
-               FalseAlmCnt->Cnt_Cck_fail +=  (ret_value & 0xff) << 8;
-
-               ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_CCA_CNT_11N, bMaskDWord);
-               FalseAlmCnt->Cnt_CCK_CCA = ((ret_value & 0xFF) << 8) | ((ret_value & 0xFF00) >> 8);
-
-               FalseAlmCnt->Cnt_all = (FalseAlmCnt->Cnt_Fast_Fsync +
-                                       FalseAlmCnt->Cnt_SB_Search_fail +
-                                       FalseAlmCnt->Cnt_Parity_Fail +
-                                       FalseAlmCnt->Cnt_Rate_Illegal +
-                                       FalseAlmCnt->Cnt_Crc8_fail +
-                                       FalseAlmCnt->Cnt_Mcs_fail +
-                                       FalseAlmCnt->Cnt_Cck_fail);
-
-               FalseAlmCnt->Cnt_CCA_all = FalseAlmCnt->Cnt_OFDM_CCA + FalseAlmCnt->Cnt_CCK_CCA;
-
-               if (pDM_Odm->SupportICType >= ODM_RTL8723A) {
-                       /* reset false alarm counter registers */
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTC_11N, BIT(31), 1);
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTC_11N, BIT(31), 0);
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTD_11N, BIT(27), 1);
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTD_11N, BIT(27), 0);
-                       /* update ofdm counter */
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_HOLDC_11N, BIT(31), 0); /* update page C counter */
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTD_11N, BIT(31), 0); /* update page D counter */
-
-                       /* reset CCK CCA counter */
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(13) | BIT(12), 0);
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(13) | BIT(12), 2);
-                       /* reset CCK FA counter */
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(15) | BIT(14), 0);
-                       ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(15) | BIT(14), 2);
-               }
-       } else { /* FOR ODM_IC_11AC_SERIES */
-               /* read OFDM FA counter */
-               FalseAlmCnt->Cnt_Ofdm_fail = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_11AC, bMaskLWord);
-               FalseAlmCnt->Cnt_Cck_fail = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_FA_11AC, bMaskLWord);
-               FalseAlmCnt->Cnt_all = FalseAlmCnt->Cnt_Ofdm_fail + FalseAlmCnt->Cnt_Cck_fail;
-
-               /*  reset OFDM FA coutner */
-               ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RST_11AC, BIT(17), 1);
-               ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RST_11AC, BIT(17), 0);
-               /*  reset CCK FA counter */
-               ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11AC, BIT(15), 0);
-               ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11AC, BIT(15), 1);
-       }
+       /* hold ofdm counter */
+       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_HOLDC_11N, BIT(31), 1); /* hold page C counter */
+       ODM_SetBBReg(pDM_Odm, ODM_REG_OFDM_FA_RSTD_11N, BIT(31), 1); /* hold page D counter */
+
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE1_11N, bMaskDWord);
+       FalseAlmCnt->Cnt_Fast_Fsync = (ret_value & 0xffff);
+       FalseAlmCnt->Cnt_SB_Search_fail = ((ret_value & 0xffff0000) >> 16);
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE2_11N, bMaskDWord);
+       FalseAlmCnt->Cnt_OFDM_CCA = (ret_value & 0xffff);
+       FalseAlmCnt->Cnt_Parity_Fail = ((ret_value & 0xffff0000) >> 16);
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE3_11N, bMaskDWord);
+       FalseAlmCnt->Cnt_Rate_Illegal = (ret_value & 0xffff);
+       FalseAlmCnt->Cnt_Crc8_fail = ((ret_value & 0xffff0000) >> 16);
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_OFDM_FA_TYPE4_11N, bMaskDWord);
+       FalseAlmCnt->Cnt_Mcs_fail = (ret_value & 0xffff);
+
+       FalseAlmCnt->Cnt_Ofdm_fail = FalseAlmCnt->Cnt_Parity_Fail + FalseAlmCnt->Cnt_Rate_Illegal +
+                                    FalseAlmCnt->Cnt_Crc8_fail + FalseAlmCnt->Cnt_Mcs_fail +
+                                    FalseAlmCnt->Cnt_Fast_Fsync + FalseAlmCnt->Cnt_SB_Search_fail;
+
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_SC_CNT_11N, bMaskDWord);
+       FalseAlmCnt->Cnt_BW_LSC = (ret_value & 0xffff);
+       FalseAlmCnt->Cnt_BW_USC = ((ret_value & 0xffff0000) >> 16);
+
+       /* hold cck counter */
+       ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(12), 1);
+       ODM_SetBBReg(pDM_Odm, ODM_REG_CCK_FA_RST_11N, BIT(14), 1);
+
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_FA_LSB_11N, bMaskByte0);
+       FalseAlmCnt->Cnt_Cck_fail = ret_value;
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_FA_MSB_11N, bMaskByte3);
+       FalseAlmCnt->Cnt_Cck_fail +=  (ret_value & 0xff) << 8;
+
+       ret_value = ODM_GetBBReg(pDM_Odm, ODM_REG_CCK_CCA_CNT_11N, bMaskDWord);
+       FalseAlmCnt->Cnt_CCK_CCA = ((ret_value & 0xFF) << 8) | ((ret_value & 0xFF00) >> 8);
+
+       FalseAlmCnt->Cnt_all = (FalseAlmCnt->Cnt_Fast_Fsync +
+                               FalseAlmCnt->Cnt_SB_Search_fail +
+                               FalseAlmCnt->Cnt_Parity_Fail +
+                               FalseAlmCnt->Cnt_Rate_Illegal +
+                               FalseAlmCnt->Cnt_Crc8_fail +
+                               FalseAlmCnt->Cnt_Mcs_fail +
+                               FalseAlmCnt->Cnt_Cck_fail);
+
+       FalseAlmCnt->Cnt_CCA_all = FalseAlmCnt->Cnt_OFDM_CCA + FalseAlmCnt->Cnt_CCK_CCA;
 }
 
 /* 3============================================================ */
@@ -882,8 +559,6 @@ void odm_CCKPacketDetectionThresh(struct odm_dm_struct *pDM_Odm)
 
        if (!(pDM_Odm->SupportAbility & (ODM_BB_CCK_PD | ODM_BB_FA_CNT)))
                return;
-       if (pDM_Odm->ExtLNA)
-               return;
        if (pDM_Odm->bLinked) {
                if (pDM_Odm->RSSI_Min > 25) {
                        CurCCK_CCAThres = 0xcd;
@@ -909,7 +584,7 @@ void ODM_Write_CCK_CCA_Thres(struct odm_dm_struct *pDM_Odm, u8 CurCCK_CCAThres)
        struct rtw_dig *pDM_DigTable = &pDM_Odm->DM_DigTable;
 
        if (pDM_DigTable->CurCCK_CCAThres != CurCCK_CCAThres)           /* modify by Guo.Mingzhi 2012-01-03 */
-               ODM_Write1Byte(pDM_Odm, ODM_REG(CCK_CCA, pDM_Odm), CurCCK_CCAThres);
+               ODM_Write1Byte(pDM_Odm, ODM_REG_CCK_CCA_11N, CurCCK_CCAThres);
        pDM_DigTable->PreCCK_CCAThres = pDM_DigTable->CurCCK_CCAThres;
        pDM_DigTable->CurCCK_CCAThres = CurCCK_CCAThres;
 }
@@ -929,69 +604,12 @@ void odm_DynamicBBPowerSavingInit(struct odm_dm_struct *pDM_Odm)
        pDM_PSTable->initialize = 0;
 }
 
-void odm_DynamicBBPowerSaving(struct odm_dm_struct *pDM_Odm)
-{
-       if ((pDM_Odm->SupportICType != ODM_RTL8192C) && (pDM_Odm->SupportICType != ODM_RTL8723A))
-               return;
-       if (!(pDM_Odm->SupportAbility & ODM_BB_PWR_SAVE))
-               return;
-       if (!(pDM_Odm->SupportPlatform & (ODM_MP | ODM_CE)))
-               return;
-
-       /* 1 2.Power Saving for 92C */
-       if ((pDM_Odm->SupportICType == ODM_RTL8192C) && (pDM_Odm->RFType == ODM_2T2R)) {
-               odm_1R_CCA(pDM_Odm);
-       } else {
-       /*  20100628 Joseph: Turn off BB power save for 88CE because it makesthroughput unstable. */
-       /*  20100831 Joseph: Turn ON BB power save again after modifying AGC delay from 900ns ot 600ns. */
-       /* 1 3.Power Saving for 88C */
-               ODM_RF_Saving(pDM_Odm, false);
-       }
-}
-
-void odm_1R_CCA(struct odm_dm_struct *pDM_Odm)
-{
-       struct rtl_ps *pDM_PSTable = &pDM_Odm->DM_PSTable;
-
-       if (pDM_Odm->RSSI_Min != 0xFF) {
-               if (pDM_PSTable->pre_cca_state == CCA_2R) {
-                       if (pDM_Odm->RSSI_Min >= 35)
-                               pDM_PSTable->cur_cca_state = CCA_1R;
-                       else
-                               pDM_PSTable->cur_cca_state = CCA_2R;
-               } else {
-                       if (pDM_Odm->RSSI_Min <= 30)
-                               pDM_PSTable->cur_cca_state = CCA_2R;
-                       else
-                               pDM_PSTable->cur_cca_state = CCA_1R;
-               }
-       } else {
-               pDM_PSTable->cur_cca_state = CCA_MAX;
-       }
-
-       if (pDM_PSTable->pre_cca_state != pDM_PSTable->cur_cca_state) {
-               if (pDM_PSTable->cur_cca_state == CCA_1R) {
-                       if (pDM_Odm->RFType == ODM_2T2R)
-                               ODM_SetBBReg(pDM_Odm, 0xc04, bMaskByte0, 0x13);
-                       else
-                               ODM_SetBBReg(pDM_Odm, 0xc04, bMaskByte0, 0x23);
-               } else {
-                       ODM_SetBBReg(pDM_Odm, 0xc04, bMaskByte0, 0x33);
-               }
-               pDM_PSTable->pre_cca_state = pDM_PSTable->cur_cca_state;
-       }
-}
-
 void ODM_RF_Saving(struct odm_dm_struct *pDM_Odm, u8 bForceInNormal)
 {
        struct rtl_ps *pDM_PSTable = &pDM_Odm->DM_PSTable;
        u8 Rssi_Up_bound = 30;
        u8 Rssi_Low_bound = 25;
 
-       if (pDM_Odm->PatchID == 40) { /* RT_CID_819x_FUNAI_TV */
-               Rssi_Up_bound = 50;
-               Rssi_Low_bound = 45;
-       }
        if (pDM_PSTable->initialize == 0) {
                pDM_PSTable->reg_874 = (ODM_GetBBReg(pDM_Odm, 0x874, bMaskDWord) & 0x1CC000) >> 14;
                pDM_PSTable->reg_c70 = (ODM_GetBBReg(pDM_Odm, 0xc70, bMaskDWord) & BIT(3)) >> 3;
@@ -1022,10 +640,6 @@ void ODM_RF_Saving(struct odm_dm_struct *pDM_Odm, u8 bForceInNormal)
 
        if (pDM_PSTable->pre_rf_state != pDM_PSTable->cur_rf_state) {
                if (pDM_PSTable->cur_rf_state == RF_Save) {
-                       /*  <tynli_note> 8723 RSSI report will be wrong. Set 0x874[5]=1 when enter BB power saving mode. */
-                       /*  Suggested by SD3 Yu-Nan. 2011.01.20. */
-                       if (pDM_Odm->SupportICType == ODM_RTL8723A)
-                               ODM_SetBBReg(pDM_Odm, 0x874, BIT(5), 0x1); /* Reg874[5]=1b'1 */
                        ODM_SetBBReg(pDM_Odm, 0x874, 0x1C0000, 0x2); /* Reg874[20:18]=3'b010 */
                        ODM_SetBBReg(pDM_Odm, 0xc70, BIT(3), 0); /* RegC70[3]=1'b0 */
                        ODM_SetBBReg(pDM_Odm, 0x85c, 0xFF000000, 0x63); /* Reg85C[31:24]=0x63 */
@@ -1039,9 +653,6 @@ void ODM_RF_Saving(struct odm_dm_struct *pDM_Odm, u8 bForceInNormal)
                        ODM_SetBBReg(pDM_Odm, 0x85c, 0xFF000000, pDM_PSTable->reg_85c);
                        ODM_SetBBReg(pDM_Odm, 0xa74, 0xF000, pDM_PSTable->reg_a74);
                        ODM_SetBBReg(pDM_Odm, 0x818, BIT(28), 0x0);
-
-                       if (pDM_Odm->SupportICType == ODM_RTL8723A)
-                               ODM_SetBBReg(pDM_Odm, 0x874, BIT(5), 0x0); /* Reg874[5]=1b'0 */
                }
                pDM_PSTable->pre_rf_state = pDM_PSTable->cur_rf_state;
        }
@@ -1058,12 +669,6 @@ void odm_RateAdaptiveMaskInit(struct odm_dm_struct *pDM_Odm)
 {
        struct odm_rate_adapt *pOdmRA = &pDM_Odm->RateAdaptive;
 
-       pOdmRA->Type = DM_Type_ByDriver;
-       if (pOdmRA->Type == DM_Type_ByDriver)
-               pDM_Odm->bUseRAMask = true;
-       else
-               pDM_Odm->bUseRAMask = false;
-
        pOdmRA->RATRState = DM_RATR_STA_INIT;
        pOdmRA->HighRSSIThresh = 50;
        pOdmRA->LowRSSIThresh = 20;
@@ -1097,36 +702,20 @@ u32 ODM_Get_Rate_Bitmap(struct odm_dm_struct *pDM_Odm, u32 macid, u32 ra_mask, u
                        rate_bitmap = 0x00000ff5;
                break;
        case (ODM_WM_B | ODM_WM_G | ODM_WM_N24G):
-               if (pDM_Odm->RFType == ODM_1T2R || pDM_Odm->RFType == ODM_1T1R) {
-                       if (rssi_level == DM_RATR_STA_HIGH) {
-                               rate_bitmap = 0x000f0000;
-                       } else if (rssi_level == DM_RATR_STA_MIDDLE) {
-                               rate_bitmap = 0x000ff000;
-                       } else {
-                               if (*pDM_Odm->pBandWidth == ODM_BW40M)
-                                       rate_bitmap = 0x000ff015;
-                               else
-                                       rate_bitmap = 0x000ff005;
-                       }
+               if (rssi_level == DM_RATR_STA_HIGH) {
+                       rate_bitmap = 0x000f0000;
+               } else if (rssi_level == DM_RATR_STA_MIDDLE) {
+                       rate_bitmap = 0x000ff000;
                } else {
-                       if (rssi_level == DM_RATR_STA_HIGH) {
-                               rate_bitmap = 0x0f8f0000;
-                       } else if (rssi_level == DM_RATR_STA_MIDDLE) {
-                               rate_bitmap = 0x0f8ff000;
-                       } else {
-                               if (*pDM_Odm->pBandWidth == ODM_BW40M)
-                                       rate_bitmap = 0x0f8ff015;
-                               else
-                                       rate_bitmap = 0x0f8ff005;
-                       }
+                       if (*pDM_Odm->pBandWidth == ODM_BW40M)
+                               rate_bitmap = 0x000ff015;
+                       else
+                               rate_bitmap = 0x000ff005;
                }
                break;
        default:
                /* case WIRELESS_11_24N: */
-               if (pDM_Odm->RFType == RF_1T2R)
-                       rate_bitmap = 0x000fffff;
-               else
-                       rate_bitmap = 0x0fffffff;
+               rate_bitmap = 0x0fffffff;
                break;
        }
 
@@ -1151,40 +740,13 @@ u32 ODM_Get_Rate_Bitmap(struct odm_dm_struct *pDM_Odm, u32 macid, u32 ra_mask, u
  *---------------------------------------------------------------------------*/
 void odm_RefreshRateAdaptiveMask(struct odm_dm_struct *pDM_Odm)
 {
-       if (!(pDM_Odm->SupportAbility & ODM_BB_RA_MASK))
-               return;
-       /*  */
-       /*  2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
-       /*  at the same time. In the stage2/3, we need to prive universal interface and merge all */
-       /*  HW dynamic mechanism. */
-       /*  */
-       switch  (pDM_Odm->SupportPlatform) {
-       case    ODM_MP:
-               odm_RefreshRateAdaptiveMaskMP(pDM_Odm);
-               break;
-       case    ODM_CE:
-               odm_RefreshRateAdaptiveMaskCE(pDM_Odm);
-               break;
-       case    ODM_AP:
-       case    ODM_ADSL:
-               odm_RefreshRateAdaptiveMaskAPADSL(pDM_Odm);
-               break;
-       }
-}
-
-void odm_RefreshRateAdaptiveMaskMP(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-void odm_RefreshRateAdaptiveMaskCE(struct odm_dm_struct *pDM_Odm)
-{
        u8 i;
        struct adapter *pAdapter = pDM_Odm->Adapter;
 
-       if (pAdapter->bDriverStopped)
+       if (!(pDM_Odm->SupportAbility & ODM_BB_RA_MASK))
                return;
 
-       if (!pDM_Odm->bUseRAMask)
+       if (pAdapter->bDriverStopped)
                return;
 
        for (i = 0; i < ODM_ASSOCIATE_ENTRY_NUM; i++) {
@@ -1196,10 +758,6 @@ void odm_RefreshRateAdaptiveMaskCE(struct odm_dm_struct *pDM_Odm)
        }
 }
 
-void odm_RefreshRateAdaptiveMaskAPADSL(struct odm_dm_struct *pDM_Odm)
-{
-}
-
 /*  Return Value: bool */
 /*  - true: RATRState is changed. */
 bool ODM_RAStateCheck(struct odm_dm_struct *pDM_Odm, s32 RSSI, bool bForceUpdate, u8 *pRATRState)
@@ -1244,97 +802,9 @@ bool ODM_RAStateCheck(struct odm_dm_struct *pDM_Odm, s32 RSSI, bool bForceUpdate
 }
 
 /* 3============================================================ */
-/* 3 Dynamic Tx Power */
-/* 3============================================================ */
-
-void odm_DynamicTxPowerInit(struct odm_dm_struct *pDM_Odm)
-{
-       struct adapter *Adapter = pDM_Odm->Adapter;
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;
-       pdmpriv->bDynamicTxPowerEnable = false;
-       pdmpriv->LastDTPLvl = TxHighPwrLevel_Normal;
-       pdmpriv->DynamicTxHighPowerLvl = TxHighPwrLevel_Normal;
-}
-
-void odm_DynamicTxPower(struct odm_dm_struct *pDM_Odm)
-{
-       /*  For AP/ADSL use struct rtl8192cd_priv * */
-       /*  For CE/NIC use struct adapter * */
-
-       if (!(pDM_Odm->SupportAbility & ODM_BB_DYNAMIC_TXPWR))
-               return;
-
-       /*  2012/01/12 MH According to Luke's suggestion, only high power will support the feature. */
-       if (!pDM_Odm->ExtPA)
-               return;
-
-       /*  2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
-       /*  at the same time. In the stage2/3, we need to prive universal interface and merge all */
-       /*  HW dynamic mechanism. */
-       switch  (pDM_Odm->SupportPlatform) {
-       case    ODM_MP:
-       case    ODM_CE:
-               odm_DynamicTxPowerNIC(pDM_Odm);
-               break;
-       case    ODM_AP:
-               odm_DynamicTxPowerAP(pDM_Odm);
-               break;
-       case    ODM_ADSL:
-               break;
-       }
-}
-
-void odm_DynamicTxPowerNIC(struct odm_dm_struct *pDM_Odm)
-{
-       if (!(pDM_Odm->SupportAbility & ODM_BB_DYNAMIC_TXPWR))
-               return;
-
-       if (pDM_Odm->SupportICType == ODM_RTL8188E) {
-               /*  ??? */
-               /*  This part need to be redefined. */
-       }
-}
-
-void odm_DynamicTxPowerAP(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-/* 3============================================================ */
 /* 3 RSSI Monitor */
 /* 3============================================================ */
 
-void odm_RSSIMonitorCheck(struct odm_dm_struct *pDM_Odm)
-{
-       if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR))
-               return;
-
-       /*  */
-       /*  2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
-       /*  at the same time. In the stage2/3, we need to prive universal interface and merge all */
-       /*  HW dynamic mechanism. */
-       /*  */
-       switch  (pDM_Odm->SupportPlatform) {
-       case    ODM_MP:
-               odm_RSSIMonitorCheckMP(pDM_Odm);
-               break;
-       case    ODM_CE:
-               odm_RSSIMonitorCheckCE(pDM_Odm);
-               break;
-       case    ODM_AP:
-               odm_RSSIMonitorCheckAP(pDM_Odm);
-               break;
-       case    ODM_ADSL:
-               /* odm_DIGAP(pDM_Odm); */
-               break;
-       }
-
-}      /*  odm_RSSIMonitorCheck */
-
-void odm_RSSIMonitorCheckMP(struct odm_dm_struct *pDM_Odm)
-{
-}
-
 static void FindMinimumRSSI(struct adapter *pAdapter)
 {
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
@@ -1345,13 +815,11 @@ static void FindMinimumRSSI(struct adapter *pAdapter)
        if (!check_fwstate(pmlmepriv, _FW_LINKED) &&
            pdmpriv->EntryMinUndecoratedSmoothedPWDB == 0)
                pdmpriv->MinUndecoratedPWDBForDM = 0;
-       if (check_fwstate(pmlmepriv, _FW_LINKED)) /*  Default port */
-               pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;
-       else /*  associated entry pwdb */
-               pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;
+
+       pdmpriv->MinUndecoratedPWDBForDM = pdmpriv->EntryMinUndecoratedSmoothedPWDB;
 }
 
-void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
+void odm_RSSIMonitorCheck(struct odm_dm_struct *pDM_Odm)
 {
        struct adapter *Adapter = pDM_Odm->Adapter;
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
@@ -1361,7 +829,9 @@ void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
        u8      sta_cnt = 0;
        u32 PWDB_rssi[NUM_STA] = {0};/* 0~15]:MACID, [16~31]:PWDB_rssi */
        struct sta_info *psta;
-       u8 bcast_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+
+       if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR))
+               return;
 
        if (!check_fwstate(&Adapter->mlmepriv, _FW_LINKED))
                return;
@@ -1370,7 +840,7 @@ void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
                psta = pDM_Odm->pODM_StaInfo[i];
                if (IS_STA_VALID(psta) &&
                    (psta->state & WIFI_ASOC_STATE) &&
-                   memcmp(psta->hwaddr, bcast_addr, ETH_ALEN) &&
+                   !is_broadcast_ether_addr(psta->hwaddr) &&
                    memcmp(psta->hwaddr, myid(&Adapter->eeprompriv), ETH_ALEN)) {
                        if (psta->rssi_stat.UndecoratedSmoothedPWDB < tmpEntryMinPWDB)
                                tmpEntryMinPWDB = psta->rssi_stat.UndecoratedSmoothedPWDB;
@@ -1407,27 +877,6 @@ void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm)
        ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM);
 }
 
-void odm_RSSIMonitorCheckAP(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-void ODM_InitAllTimers(struct odm_dm_struct *pDM_Odm)
-{
-       timer_setup(&pDM_Odm->DM_SWAT_Table.SwAntennaSwitchTimer, odm_SwAntDivChkAntSwitchCallback, 0);
-}
-
-void ODM_CancelAllTimers(struct odm_dm_struct *pDM_Odm)
-{
-       ODM_CancelTimer(pDM_Odm, &pDM_Odm->DM_SWAT_Table.SwAntennaSwitchTimer);
-}
-
-void ODM_ReleaseAllTimers(struct odm_dm_struct *pDM_Odm)
-{
-       ODM_ReleaseTimer(pDM_Odm, &pDM_Odm->DM_SWAT_Table.SwAntennaSwitchTimer);
-
-       ODM_ReleaseTimer(pDM_Odm, &pDM_Odm->FastAntTrainingTimer);
-}
-
 /* 3============================================================ */
 /* 3 Tx Power Tracking */
 /* 3============================================================ */
@@ -1442,8 +891,6 @@ void odm_TXPowerTrackingThermalMeterInit(struct odm_dm_struct *pDM_Odm)
        pDM_Odm->RFCalibrateInfo.bTXPowerTracking = true;
        pDM_Odm->RFCalibrateInfo.TXPowercount = 0;
        pDM_Odm->RFCalibrateInfo.bTXPowerTrackingInit = false;
-       if (*pDM_Odm->mp_mode != 1)
-               pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true;
        MSG_88E("pDM_Odm TxPowerTrackControl = %d\n", pDM_Odm->RFCalibrateInfo.TxPowerTrackControl);
 
        pDM_Odm->RFCalibrateInfo.TxPowerTrackControl = true;
@@ -1451,26 +898,6 @@ void odm_TXPowerTrackingThermalMeterInit(struct odm_dm_struct *pDM_Odm)
 
 void ODM_TXPowerTrackingCheck(struct odm_dm_struct *pDM_Odm)
 {
-       /*  2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
-       /*  at the same time. In the stage2/3, we need to prive universal interface and merge all */
-       /*  HW dynamic mechanism. */
-       switch  (pDM_Odm->SupportPlatform) {
-       case    ODM_MP:
-               odm_TXPowerTrackingCheckMP(pDM_Odm);
-               break;
-       case    ODM_CE:
-               odm_TXPowerTrackingCheckCE(pDM_Odm);
-               break;
-       case    ODM_AP:
-               odm_TXPowerTrackingCheckAP(pDM_Odm);
-               break;
-       case    ODM_ADSL:
-               break;
-       }
-}
-
-void odm_TXPowerTrackingCheckCE(struct odm_dm_struct *pDM_Odm)
-{
        struct adapter *Adapter = pDM_Odm->Adapter;
 
        if (!(pDM_Odm->SupportAbility & ODM_RF_TX_PWR_TRACK))
@@ -1487,79 +914,12 @@ void odm_TXPowerTrackingCheckCE(struct odm_dm_struct *pDM_Odm)
        }
 }
 
-void odm_TXPowerTrackingCheckMP(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-void odm_TXPowerTrackingCheckAP(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-/* antenna mapping info */
-/*  1: right-side antenna */
-/*  2/0: left-side antenna */
-/* PDM_SWAT_Table->CCK_Ant1_Cnt /OFDM_Ant1_Cnt:  for right-side antenna:   Ant:1    RxDefaultAnt1 */
-/* PDM_SWAT_Table->CCK_Ant2_Cnt /OFDM_Ant2_Cnt:  for left-side antenna:     Ant:0    RxDefaultAnt2 */
-/*  We select left antenna as default antenna in initial process, modify it as needed */
-/*  */
-
-/* 3============================================================ */
-/* 3 SW Antenna Diversity */
-/* 3============================================================ */
-void odm_SwAntDivInit(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-void ODM_SwAntDivChkPerPktRssi(struct odm_dm_struct *pDM_Odm, u8 StationID, struct odm_phy_status_info *pPhyInfo)
-{
-}
-
-void odm_SwAntDivChkAntSwitch(struct odm_dm_struct *pDM_Odm, u8 Step)
-{
-}
-
-void ODM_SwAntDivRestAfterLink(struct odm_dm_struct *pDM_Odm)
-{
-}
-
-void odm_SwAntDivChkAntSwitchCallback(struct timer_list *t)
-{
-}
-
-/* 3============================================================ */
-/* 3 SW Antenna Diversity */
-/* 3============================================================ */
-
 void odm_InitHybridAntDiv(struct odm_dm_struct *pDM_Odm)
 {
        if (!(pDM_Odm->SupportAbility & ODM_BB_ANT_DIV))
                return;
 
-       if (pDM_Odm->SupportICType & (ODM_RTL8192C | ODM_RTL8192D))
-               ;
-       else if (pDM_Odm->SupportICType == ODM_RTL8188E)
-               ODM_AntennaDiversityInit_88E(pDM_Odm);
-}
-
-void ODM_AntselStatistics_88C(struct odm_dm_struct *pDM_Odm, u8 MacId, u32 PWDBAll, bool isCCKrate)
-{
-       struct sw_ant_switch *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
-
-       if (pDM_SWAT_Table->antsel == 1) {
-               if (isCCKrate) {
-                       pDM_SWAT_Table->CCK_Ant1_Cnt[MacId]++;
-               } else {
-                       pDM_SWAT_Table->OFDM_Ant1_Cnt[MacId]++;
-                       pDM_SWAT_Table->RSSI_Ant1_Sum[MacId] += PWDBAll;
-               }
-       } else {
-               if (isCCKrate) {
-                       pDM_SWAT_Table->CCK_Ant2_Cnt[MacId]++;
-               } else {
-                       pDM_SWAT_Table->OFDM_Ant2_Cnt[MacId]++;
-                       pDM_SWAT_Table->RSSI_Ant2_Sum[MacId] += PWDBAll;
-               }
-       }
+       ODM_AntennaDiversityInit_88E(pDM_Odm);
 }
 
 void odm_HwAntDiv(struct odm_dm_struct *pDM_Odm)
@@ -1567,8 +927,7 @@ void odm_HwAntDiv(struct odm_dm_struct *pDM_Odm)
        if (!(pDM_Odm->SupportAbility & ODM_BB_ANT_DIV))
                return;
 
-       if (pDM_Odm->SupportICType == ODM_RTL8188E)
-               ODM_AntennaDiversity_88E(pDM_Odm);
+       ODM_AntennaDiversity_88E(pDM_Odm);
 }
 
 /* EDCA Turbo */
@@ -1583,26 +942,6 @@ void ODM_EdcaTurboInit(struct odm_dm_struct *pDM_Odm)
 
 void odm_EdcaTurboCheck(struct odm_dm_struct *pDM_Odm)
 {
-       /*  2011/09/29 MH In HW integration first stage, we provide 4 different handle to operate */
-       /*  at the same time. In the stage2/3, we need to prive universal interface and merge all */
-       /*  HW dynamic mechanism. */
-       if (!(pDM_Odm->SupportAbility & ODM_MAC_EDCA_TURBO))
-               return;
-
-       switch  (pDM_Odm->SupportPlatform) {
-       case    ODM_MP:
-               break;
-       case    ODM_CE:
-               odm_EdcaTurboCheckCE(pDM_Odm);
-               break;
-       case    ODM_AP:
-       case    ODM_ADSL:
-               break;
-       }
-}      /*  odm_CheckEdcaTurbo */
-
-void odm_EdcaTurboCheckCE(struct odm_dm_struct *pDM_Odm)
-{
        struct adapter *Adapter = pDM_Odm->Adapter;
        u32     trafficIndex;
        u32     edca_param;
@@ -1616,6 +955,9 @@ void odm_EdcaTurboCheckCE(struct odm_dm_struct *pDM_Odm)
        struct mlme_ext_priv    *pmlmeext = &Adapter->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
 
+       if (!(pDM_Odm->SupportAbility & ODM_MAC_EDCA_TURBO))
+               return;
+
        if (pregpriv->wifi_spec == 1)
                goto dm_CheckEdcaTurbo_EXIT;
 
@@ -1674,295 +1016,3 @@ dm_CheckEdcaTurbo_EXIT:
        pxmitpriv->last_tx_bytes = pxmitpriv->tx_bytes;
        precvpriv->last_rx_bytes = precvpriv->rx_bytes;
 }
-
-/*  need to ODM CE Platform */
-/* move to here for ANT detection mechanism using */
-
-u32 GetPSDData(struct odm_dm_struct *pDM_Odm, unsigned int point, u8 initial_gain_psd)
-{
-       u32 psd_report;
-
-       /* Set DCO frequency index, offset=(40MHz/SamplePts)*point */
-       ODM_SetBBReg(pDM_Odm, 0x808, 0x3FF, point);
-
-       /* Start PSD calculation, Reg808[22]=0->1 */
-       ODM_SetBBReg(pDM_Odm, 0x808, BIT(22), 1);
-       /* Need to wait for HW PSD report */
-       ODM_StallExecution(30);
-       ODM_SetBBReg(pDM_Odm, 0x808, BIT(22), 0);
-       /* Read PSD report, Reg8B4[15:0] */
-       psd_report = ODM_GetBBReg(pDM_Odm, 0x8B4, bMaskDWord) & 0x0000FFFF;
-
-       psd_report = (u32)(ConvertTo_dB(psd_report)) + (u32)(initial_gain_psd - 0x1c);
-
-       return psd_report;
-}
-
-u32 ConvertTo_dB(u32 Value)
-{
-       u8 i;
-       u8 j;
-       u32 dB;
-
-       Value = Value & 0xFFFF;
-       for (i = 0; i < 8; i++) {
-               if (Value <= dB_Invert_Table[i][11])
-                       break;
-       }
-
-       if (i >= 8)
-               return 96;      /*  maximum 96 dB */
-
-       for (j = 0; j < 12; j++) {
-               if (Value <= dB_Invert_Table[i][j])
-                       break;
-       }
-
-       dB = i * 12 + j + 1;
-
-       return dB;
-}
-
-/*  2011/09/22 MH Add for 92D global spin lock utilization. */
-void odm_GlobalAdapterCheck(void)
-{
-}      /*  odm_GlobalAdapterCheck */
-
-/*  Description: */
-/*     Set Single/Dual Antenna default setting for products that do not do detection in advance. */
-/*  Added by Joseph, 2012.03.22 */
-void ODM_SingleDualAntennaDefaultSetting(struct odm_dm_struct *pDM_Odm)
-{
-       struct sw_ant_switch *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
-
-       pDM_SWAT_Table->ANTA_ON = true;
-       pDM_SWAT_Table->ANTB_ON = true;
-}
-
-/* 2 8723A ANT DETECT */
-
-static void odm_PHY_SaveAFERegisters(struct odm_dm_struct *pDM_Odm, u32 *AFEReg, u32 *AFEBackup, u32 RegisterNum)
-{
-       u32 i;
-
-       /* RTPRINT(FINIT, INIT_IQK, ("Save ADDA parameters.\n")); */
-       for (i = 0; i < RegisterNum; i++)
-               AFEBackup[i] = ODM_GetBBReg(pDM_Odm, AFEReg[i], bMaskDWord);
-}
-
-static void odm_PHY_ReloadAFERegisters(struct odm_dm_struct *pDM_Odm, u32 *AFEReg, u32 *AFEBackup, u32 RegiesterNum)
-{
-       u32 i;
-
-       for (i = 0; i < RegiesterNum; i++)
-               ODM_SetBBReg(pDM_Odm, AFEReg[i], bMaskDWord, AFEBackup[i]);
-}
-
-/* 2 8723A ANT DETECT */
-/*  Description: */
-/*     Implement IQK single tone for RF DPK loopback and BB PSD scanning. */
-/*     This function is cooperated with BB team Neil. */
-bool ODM_SingleDualAntennaDetection(struct odm_dm_struct *pDM_Odm, u8 mode)
-{
-       struct sw_ant_switch *pDM_SWAT_Table = &pDM_Odm->DM_SWAT_Table;
-       u32 CurrentChannel, RfLoopReg;
-       u8 n;
-       u32 Reg88c, Regc08, Reg874, Regc50;
-       u8 initial_gain = 0x5a;
-       u32 PSD_report_tmp;
-       u32 AntA_report = 0x0, AntB_report = 0x0, AntO_report = 0x0;
-       bool bResult = true;
-       u32 AFE_Backup[16];
-       u32 AFE_REG_8723A[16] = {
-               rRx_Wait_CCA, rTx_CCK_RFON,
-               rTx_CCK_BBON, rTx_OFDM_RFON,
-               rTx_OFDM_BBON, rTx_To_Rx,
-               rTx_To_Tx, rRx_CCK,
-               rRx_OFDM, rRx_Wait_RIFS,
-               rRx_TO_Rx, rStandby,
-               rSleep, rPMPD_ANAEN,
-               rFPGA0_XCD_SwitchControl, rBlue_Tooth};
-
-       if (!(pDM_Odm->SupportICType & (ODM_RTL8723A | ODM_RTL8192C)))
-               return bResult;
-
-       if (!(pDM_Odm->SupportAbility & ODM_BB_ANT_DIV))
-               return bResult;
-
-       if (pDM_Odm->SupportICType == ODM_RTL8192C) {
-               /* Which path in ADC/DAC is turnned on for PSD: both I/Q */
-               ODM_SetBBReg(pDM_Odm, 0x808, BIT(10) | BIT(11), 0x3);
-               /* Ageraged number: 8 */
-               ODM_SetBBReg(pDM_Odm, 0x808, BIT(12) | BIT(13), 0x1);
-               /* pts = 128; */
-               ODM_SetBBReg(pDM_Odm, 0x808, BIT(14) | BIT(15), 0x0);
-       }
-
-       /* 1 Backup Current RF/BB Settings */
-
-       CurrentChannel = ODM_GetRFReg(pDM_Odm, RF_PATH_A, ODM_CHANNEL, bRFRegOffsetMask);
-       RfLoopReg = ODM_GetRFReg(pDM_Odm, RF_PATH_A, 0x00, bRFRegOffsetMask);
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XA_RFInterfaceOE, ODM_DPDT, Antenna_A);  /*  change to Antenna A */
-       /*  Step 1: USE IQK to transmitter single tone */
-
-       ODM_StallExecution(10);
-
-       /* Store A Path Register 88c, c08, 874, c50 */
-       Reg88c = ODM_GetBBReg(pDM_Odm, rFPGA0_AnalogParameter4, bMaskDWord);
-       Regc08 = ODM_GetBBReg(pDM_Odm, rOFDM0_TRMuxPar, bMaskDWord);
-       Reg874 = ODM_GetBBReg(pDM_Odm, rFPGA0_XCD_RFInterfaceSW, bMaskDWord);
-       Regc50 = ODM_GetBBReg(pDM_Odm, rOFDM0_XAAGCCore1, bMaskDWord);
-
-       /*  Store AFE Registers */
-       odm_PHY_SaveAFERegisters(pDM_Odm, AFE_REG_8723A, AFE_Backup, 16);
-
-       /* Set PSD 128 pts */
-       ODM_SetBBReg(pDM_Odm, rFPGA0_PSDFunction, BIT(14) | BIT(15), 0x0);  /* 128 pts */
-
-       /*  To SET CH1 to do */
-       ODM_SetRFReg(pDM_Odm, RF_PATH_A, ODM_CHANNEL, bRFRegOffsetMask, 0x01);     /* Channel 1 */
-
-       /*  AFE all on step */
-       ODM_SetBBReg(pDM_Odm, rRx_Wait_CCA, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rTx_CCK_RFON, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rTx_CCK_BBON, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rTx_OFDM_RFON, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rTx_OFDM_BBON, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rTx_To_Rx, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rTx_To_Tx, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rRx_CCK, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rRx_OFDM, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rRx_Wait_RIFS, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rRx_TO_Rx, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rStandby, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rSleep, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rPMPD_ANAEN, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XCD_SwitchControl, bMaskDWord, 0x6FDB25A4);
-       ODM_SetBBReg(pDM_Odm, rBlue_Tooth, bMaskDWord, 0x6FDB25A4);
-
-       /*  3 wire Disable */
-       ODM_SetBBReg(pDM_Odm, rFPGA0_AnalogParameter4, bMaskDWord, 0xCCF000C0);
-
-       /* BB IQK Setting */
-       ODM_SetBBReg(pDM_Odm, rOFDM0_TRMuxPar, bMaskDWord, 0x000800E4);
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XCD_RFInterfaceSW, bMaskDWord, 0x22208000);
-
-       /* IQK setting tone@ 4.34Mhz */
-       ODM_SetBBReg(pDM_Odm, rTx_IQK_Tone_A, bMaskDWord, 0x10008C1C);
-       ODM_SetBBReg(pDM_Odm, rTx_IQK, bMaskDWord, 0x01007c00);
-
-       /* Page B init */
-       ODM_SetBBReg(pDM_Odm, rConfig_AntA, bMaskDWord, 0x00080000);
-       ODM_SetBBReg(pDM_Odm, rConfig_AntA, bMaskDWord, 0x0f600000);
-       ODM_SetBBReg(pDM_Odm, rRx_IQK, bMaskDWord, 0x01004800);
-       ODM_SetBBReg(pDM_Odm, rRx_IQK_Tone_A, bMaskDWord, 0x10008c1f);
-       ODM_SetBBReg(pDM_Odm, rTx_IQK_PI_A, bMaskDWord, 0x82150008);
-       ODM_SetBBReg(pDM_Odm, rRx_IQK_PI_A, bMaskDWord, 0x28150008);
-       ODM_SetBBReg(pDM_Odm, rIQK_AGC_Rsp, bMaskDWord, 0x001028d0);
-
-       /* RF loop Setting */
-       ODM_SetRFReg(pDM_Odm, RF_PATH_A, 0x0, 0xFFFFF, 0x50008);
-
-       /* IQK Single tone start */
-       ODM_SetBBReg(pDM_Odm, rFPGA0_IQK, bMaskDWord, 0x80800000);
-       ODM_SetBBReg(pDM_Odm, rIQK_AGC_Pts, bMaskDWord, 0xf8000000);
-       ODM_StallExecution(1000);
-       PSD_report_tmp = 0x0;
-
-       for (n = 0; n < 2; n++) {
-               PSD_report_tmp =  GetPSDData(pDM_Odm, 14, initial_gain);
-               if (PSD_report_tmp > AntA_report)
-                       AntA_report = PSD_report_tmp;
-       }
-
-       PSD_report_tmp = 0x0;
-
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XA_RFInterfaceOE, 0x300, Antenna_B);  /*  change to Antenna B */
-       ODM_StallExecution(10);
-
-       for (n = 0; n < 2; n++) {
-               PSD_report_tmp =  GetPSDData(pDM_Odm, 14, initial_gain);
-               if (PSD_report_tmp > AntB_report)
-                       AntB_report = PSD_report_tmp;
-       }
-
-       /*  change to open case */
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XA_RFInterfaceOE, 0x300, 0);  /*  change to Ant A and B all open case */
-       ODM_StallExecution(10);
-
-       for (n = 0; n < 2; n++) {
-               PSD_report_tmp =  GetPSDData(pDM_Odm, 14, initial_gain);
-               if (PSD_report_tmp > AntO_report)
-                       AntO_report = PSD_report_tmp;
-       }
-
-       /* Close IQK Single Tone function */
-       ODM_SetBBReg(pDM_Odm, rFPGA0_IQK, bMaskDWord, 0x00000000);
-       PSD_report_tmp = 0x0;
-
-       /* 1 Return to antanna A */
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XA_RFInterfaceOE, 0x300, Antenna_A);
-       ODM_SetBBReg(pDM_Odm, rFPGA0_AnalogParameter4, bMaskDWord, Reg88c);
-       ODM_SetBBReg(pDM_Odm, rOFDM0_TRMuxPar, bMaskDWord, Regc08);
-       ODM_SetBBReg(pDM_Odm, rFPGA0_XCD_RFInterfaceSW, bMaskDWord, Reg874);
-       ODM_SetBBReg(pDM_Odm, rOFDM0_XAAGCCore1, 0x7F, 0x40);
-       ODM_SetBBReg(pDM_Odm, rOFDM0_XAAGCCore1, bMaskDWord, Regc50);
-       ODM_SetRFReg(pDM_Odm, RF_PATH_A, RF_CHNLBW, bRFRegOffsetMask, CurrentChannel);
-       ODM_SetRFReg(pDM_Odm, RF_PATH_A, 0x00, bRFRegOffsetMask, RfLoopReg);
-
-       /* Reload AFE Registers */
-       odm_PHY_ReloadAFERegisters(pDM_Odm, AFE_REG_8723A, AFE_Backup, 16);
-
-       if (pDM_Odm->SupportICType == ODM_RTL8723A) {
-       /* 2 Test Ant B based on Ant A is ON */
-               if (mode == ANTTESTB) {
-                       if (AntA_report >= 100) {
-                               if (AntB_report > (AntA_report + 1))
-                                       pDM_SWAT_Table->ANTB_ON = false;
-                               else
-                                       pDM_SWAT_Table->ANTB_ON = true;
-                       } else {
-                               pDM_SWAT_Table->ANTB_ON = false; /*  Set Antenna B off as default */
-                               bResult = false;
-                       }
-               } else if (mode == ANTTESTALL) {
-                       /* 2 Test Ant A and B based on DPDT Open */
-                       if ((AntO_report >= 100) & (AntO_report < 118)) {
-                               if (AntA_report > (AntO_report + 1))
-                                       pDM_SWAT_Table->ANTA_ON = false;
-                               else
-                                       pDM_SWAT_Table->ANTA_ON = true;
-
-                               if (AntB_report > (AntO_report + 2))
-                                       pDM_SWAT_Table->ANTB_ON = false;
-                               else
-                                       pDM_SWAT_Table->ANTB_ON = true;
-                       }
-               }
-       } else if (pDM_Odm->SupportICType == ODM_RTL8192C) {
-               if (AntA_report >= 100) {
-                       if (AntB_report > (AntA_report + 2)) {
-                               pDM_SWAT_Table->ANTA_ON = false;
-                               pDM_SWAT_Table->ANTB_ON = true;
-                               ODM_SetBBReg(pDM_Odm,  rFPGA0_XA_RFInterfaceOE, 0x300, Antenna_B);
-                       } else if (AntA_report > (AntB_report + 2)) {
-                               pDM_SWAT_Table->ANTA_ON = true;
-                               pDM_SWAT_Table->ANTB_ON = false;
-                               ODM_SetBBReg(pDM_Odm,  rFPGA0_XA_RFInterfaceOE, 0x300, Antenna_A);
-                       } else {
-                               pDM_SWAT_Table->ANTA_ON = true;
-                               pDM_SWAT_Table->ANTB_ON = true;
-                       }
-               } else {
-                       pDM_SWAT_Table->ANTA_ON = true; /*  Set Antenna A on as default */
-                       pDM_SWAT_Table->ANTB_ON = false; /*  Set Antenna B off as default */
-                       bResult = false;
-               }
-       }
-       return bResult;
-}
-
-/* Justin: According to the current RRSI to adjust Response Frame TX power, 2012/11/05 */
-void odm_dtc(struct odm_dm_struct *pDM_Odm)
-{
-}
index ada22a5..3125886 100644 (file)
@@ -6,7 +6,6 @@
 #define READ_AND_CONFIG     READ_AND_CONFIG_MP
 
 #define READ_AND_CONFIG_MP(ic, txt) (ODM_ReadAndConfig##txt##ic(dm_odm))
-#define READ_AND_CONFIG_TC(ic, txt) (ODM_ReadAndConfig_TC##txt##ic(dm_odm))
 
 static u8 odm_QueryRxPwrPercentage(s8 AntPower)
 {
@@ -18,63 +17,28 @@ static u8 odm_QueryRxPwrPercentage(s8 AntPower)
                return 100 + AntPower;
 }
 
-/*  2012/01/12 MH MOve some signal strength smooth method to MP HAL layer. */
-/*  IF other SW team do not support the feature, remove this section.?? */
-static s32 odm_sig_patch_lenove(struct odm_dm_struct *dm_odm, s32 CurrSig)
-{
-       return 0;
-}
-
-static s32 odm_sig_patch_netcore(struct odm_dm_struct *dm_odm, s32 CurrSig)
-{
-       return 0;
-}
-
-static s32 odm_SignalScaleMapping_92CSeries(struct odm_dm_struct *dm_odm, s32 CurrSig)
+static s32 odm_SignalScaleMapping(struct odm_dm_struct *dm_odm, s32 CurrSig)
 {
        s32 RetSig = 0;
 
-       if ((dm_odm->SupportInterface  == ODM_ITRF_USB) ||
-           (dm_odm->SupportInterface  == ODM_ITRF_SDIO)) {
-               if (CurrSig >= 51 && CurrSig <= 100)
-                       RetSig = 100;
-               else if (CurrSig >= 41 && CurrSig <= 50)
-                       RetSig = 80 + ((CurrSig - 40) * 2);
-               else if (CurrSig >= 31 && CurrSig <= 40)
-                       RetSig = 66 + (CurrSig - 30);
-               else if (CurrSig >= 21 && CurrSig <= 30)
-                       RetSig = 54 + (CurrSig - 20);
-               else if (CurrSig >= 10 && CurrSig <= 20)
-                       RetSig = 42 + (((CurrSig - 10) * 2) / 3);
-               else if (CurrSig >= 5 && CurrSig <= 9)
-                       RetSig = 22 + (((CurrSig - 5) * 3) / 2);
-               else if (CurrSig >= 1 && CurrSig <= 4)
-                       RetSig = 6 + (((CurrSig - 1) * 3) / 2);
-               else
-                       RetSig = CurrSig;
-       }
-       return RetSig;
-}
-
-static s32 odm_SignalScaleMapping(struct odm_dm_struct *dm_odm, s32 CurrSig)
-{
-       if ((dm_odm->SupportPlatform == ODM_MP) &&
-           (dm_odm->SupportInterface != ODM_ITRF_PCIE) && /* USB & SDIO */
-           (dm_odm->PatchID == 10))
-               return odm_sig_patch_netcore(dm_odm, CurrSig);
-       else if ((dm_odm->SupportPlatform == ODM_MP) &&
-                (dm_odm->SupportInterface == ODM_ITRF_PCIE) &&
-                (dm_odm->PatchID == 19))
-               return odm_sig_patch_lenove(dm_odm, CurrSig);
+       if (CurrSig >= 51 && CurrSig <= 100)
+               RetSig = 100;
+       else if (CurrSig >= 41 && CurrSig <= 50)
+               RetSig = 80 + ((CurrSig - 40) * 2);
+       else if (CurrSig >= 31 && CurrSig <= 40)
+               RetSig = 66 + (CurrSig - 30);
+       else if (CurrSig >= 21 && CurrSig <= 30)
+               RetSig = 54 + (CurrSig - 20);
+       else if (CurrSig >= 10 && CurrSig <= 20)
+               RetSig = 42 + (((CurrSig - 10) * 2) / 3);
+       else if (CurrSig >= 5 && CurrSig <= 9)
+               RetSig = 22 + (((CurrSig - 5) * 3) / 2);
+       else if (CurrSig >= 1 && CurrSig <= 4)
+               RetSig = 6 + (((CurrSig - 1) * 3) / 2);
        else
-               return odm_SignalScaleMapping_92CSeries(dm_odm, CurrSig);
-}
+               RetSig = CurrSig;
 
-/* pMgntInfo->CustomerID == RT_CID_819x_Lenovo */
-static u8 odm_SQ_process_patch_RT_CID_819x_Lenovo(struct odm_dm_struct *dm_odm,
-       u8 isCCKrate, u8 PWDB_ALL, u8 path, u8 RSSI)
-{
-       return 0;
+       return RetSig;
 }
 
 static u8 odm_evm_db_to_percentage(s8 value)
@@ -89,15 +53,14 @@ static u8 odm_evm_db_to_percentage(s8 value)
 }
 
 static void odm_RxPhyStatus92CSeries_Parsing(struct odm_dm_struct *dm_odm,
-                       struct odm_phy_status_info *pPhyInfo,
+                       struct phy_info *pPhyInfo,
                        u8 *pPhyStatus,
                        struct odm_per_pkt_info *pPktinfo,
                        struct adapter *adapt)
 {
-       struct sw_ant_switch *pDM_SWAT_Table = &dm_odm->DM_SWAT_Table;
        u8 i, Max_spatial_stream;
        s8 rx_pwr[4], rx_pwr_all = 0;
-       u8 EVM, PWDB_ALL = 0, PWDB_ALL_BT;
+       u8 EVM, PWDB_ALL = 0;
        u8 RSSI, total_rssi = 0;
        u8 isCCKrate = 0;
        u8 rf_rx_num = 0;
@@ -112,7 +75,6 @@ static void odm_RxPhyStatus92CSeries_Parsing(struct odm_dm_struct *dm_odm,
        pPhyInfo->RxMIMOSignalQuality[RF_PATH_B] = -1;
 
        if (isCCKrate) {
-               u8 report;
                u8 cck_agc_rpt;
 
                dm_odm->PhyDbgInfo.NumQryPhyStatusCCK++;
@@ -126,125 +88,60 @@ static void odm_RxPhyStatus92CSeries_Parsing(struct odm_dm_struct *dm_odm,
                /* 2011.11.28 LukeLee: 88E use different LNA & VGA gain table */
                /* The RSSI formula should be modified according to the gain table */
                /* In 88E, cck_highpwr is always set to 1 */
-               if (dm_odm->SupportICType & (ODM_RTL8188E | ODM_RTL8812)) {
-                       LNA_idx = ((cck_agc_rpt & 0xE0) >> 5);
-                       VGA_idx = (cck_agc_rpt & 0x1F);
-                       switch (LNA_idx) {
-                       case 7:
-                               if (VGA_idx <= 27)
-                                       rx_pwr_all = -100 + 2 * (27 - VGA_idx); /* VGA_idx = 27~2 */
-                               else
-                                       rx_pwr_all = -100;
-                               break;
-                       case 6:
-                               rx_pwr_all = -48 + 2 * (2 - VGA_idx); /* VGA_idx = 2~0 */
-                               break;
-                       case 5:
-                               rx_pwr_all = -42 + 2 * (7 - VGA_idx); /* VGA_idx = 7~5 */
-                               break;
-                       case 4:
-                               rx_pwr_all = -36 + 2 * (7 - VGA_idx); /* VGA_idx = 7~4 */
-                               break;
-                       case 3:
-                               rx_pwr_all = -24 + 2 * (7 - VGA_idx); /* VGA_idx = 7~0 */
-                               break;
-                       case 2:
-                               if (cck_highpwr)
-                                       rx_pwr_all = -12 + 2 * (5 - VGA_idx); /* VGA_idx = 5~0 */
-                               else
-                                       rx_pwr_all = -6 + 2 * (5 - VGA_idx);
-                               break;
-                       case 1:
-                                       rx_pwr_all = 8 - 2 * VGA_idx;
-                               break;
-                       case 0:
-                                       rx_pwr_all = 14 - 2 * VGA_idx;
-                               break;
-                       default:
-                               break;
-                       }
-                       rx_pwr_all += 6;
-                       PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
-                       if (!cck_highpwr) {
-                               if (PWDB_ALL >= 80)
-                                       PWDB_ALL = ((PWDB_ALL - 80) << 1) + ((PWDB_ALL - 80) >> 1) + 80;
-                               else if ((PWDB_ALL <= 78) && (PWDB_ALL >= 20))
-                                       PWDB_ALL += 3;
-                               if (PWDB_ALL > 100)
-                                       PWDB_ALL = 100;
-                       }
-               } else {
-                       if (!cck_highpwr) {
-                               report = (cck_agc_rpt & 0xc0) >> 6;
-                               switch (report) {
-                               /*  03312009 modified by cosa */
-                               /*  Modify the RF RNA gain value to -40, -20, -2, 14 by Jenyu's suggestion */
-                               /*  Note: different RF with the different RNA gain. */
-                               case 0x3:
-                                       rx_pwr_all = -46 - (cck_agc_rpt & 0x3e);
-                                       break;
-                               case 0x2:
-                                       rx_pwr_all = -26 - (cck_agc_rpt & 0x3e);
-                                       break;
-                               case 0x1:
-                                       rx_pwr_all = -12 - (cck_agc_rpt & 0x3e);
-                                       break;
-                               case 0x0:
-                                       rx_pwr_all = 16 - (cck_agc_rpt & 0x3e);
-                                       break;
-                               }
-                       } else {
-                               report = (cck_agc_rpt & 0x60) >> 5;
-                               switch (report) {
-                               case 0x3:
-                                       rx_pwr_all = -46 - ((cck_agc_rpt & 0x1f) << 1);
-                                       break;
-                               case 0x2:
-                                       rx_pwr_all = -26 - ((cck_agc_rpt & 0x1f) << 1);
-                                       break;
-                               case 0x1:
-                                       rx_pwr_all = -12 - ((cck_agc_rpt & 0x1f) << 1);
-                                       break;
-                               case 0x0:
-                                       rx_pwr_all = 16 - ((cck_agc_rpt & 0x1f) << 1);
-                                       break;
-                               }
-                       }
-
-                       PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
-
-                       /* Modification for ext-LNA board */
-                       if (dm_odm->BoardType == ODM_BOARD_HIGHPWR) {
-                               if ((cck_agc_rpt >> 7) == 0) {
-                                       PWDB_ALL = (PWDB_ALL > 94) ? 100 : (PWDB_ALL + 6);
-                               } else {
-                                       if (PWDB_ALL > 38)
-                                               PWDB_ALL -= 16;
-                                       else
-                                               PWDB_ALL = (PWDB_ALL <= 16) ? (PWDB_ALL >> 2) : (PWDB_ALL - 12);
-                               }
-
-                               /* CCK modification */
-                               if (PWDB_ALL > 25 && PWDB_ALL <= 60)
-                                       PWDB_ALL += 6;
-                       } else {/* Modification for int-LNA board */
-                               if (PWDB_ALL > 99)
-                                       PWDB_ALL -= 8;
-                               else if (PWDB_ALL > 50 && PWDB_ALL <= 68)
-                                       PWDB_ALL += 4;
-                       }
+               LNA_idx = ((cck_agc_rpt & 0xE0) >> 5);
+               VGA_idx = (cck_agc_rpt & 0x1F);
+               switch (LNA_idx) {
+               case 7:
+                       if (VGA_idx <= 27)
+                               rx_pwr_all = -100 + 2 * (27 - VGA_idx); /* VGA_idx = 27~2 */
+                       else
+                               rx_pwr_all = -100;
+                       break;
+               case 6:
+                       rx_pwr_all = -48 + 2 * (2 - VGA_idx); /* VGA_idx = 2~0 */
+                       break;
+               case 5:
+                       rx_pwr_all = -42 + 2 * (7 - VGA_idx); /* VGA_idx = 7~5 */
+                       break;
+               case 4:
+                       rx_pwr_all = -36 + 2 * (7 - VGA_idx); /* VGA_idx = 7~4 */
+                       break;
+               case 3:
+                       rx_pwr_all = -24 + 2 * (7 - VGA_idx); /* VGA_idx = 7~0 */
+                       break;
+               case 2:
+                       if (cck_highpwr)
+                               rx_pwr_all = -12 + 2 * (5 - VGA_idx); /* VGA_idx = 5~0 */
+                       else
+                               rx_pwr_all = -6 + 2 * (5 - VGA_idx);
+                       break;
+               case 1:
+                               rx_pwr_all = 8 - 2 * VGA_idx;
+                       break;
+               case 0:
+                               rx_pwr_all = 14 - 2 * VGA_idx;
+                       break;
+               default:
+                       break;
+               }
+               rx_pwr_all += 6;
+               PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
+               if (!cck_highpwr) {
+                       if (PWDB_ALL >= 80)
+                               PWDB_ALL = ((PWDB_ALL - 80) << 1) + ((PWDB_ALL - 80) >> 1) + 80;
+                       else if ((PWDB_ALL <= 78) && (PWDB_ALL >= 20))
+                               PWDB_ALL += 3;
+                       if (PWDB_ALL > 100)
+                               PWDB_ALL = 100;
                }
 
                pPhyInfo->RxPWDBAll = PWDB_ALL;
-               pPhyInfo->BTRxRSSIPercentage = PWDB_ALL;
-               pPhyInfo->RecvSignalPower = rx_pwr_all;
+               pPhyInfo->recvpower = rx_pwr_all;
                /*  (3) Get Signal Quality (EVM) */
                if (pPktinfo->bPacketMatchBSSID) {
                        u8 SQ, SQ_rpt;
 
-                       if ((dm_odm->SupportPlatform == ODM_MP) && (dm_odm->PatchID == 19)) {
-                               SQ = odm_SQ_process_patch_RT_CID_819x_Lenovo(dm_odm, isCCKrate, PWDB_ALL, 0, 0);
-                       } else if (pPhyInfo->RxPWDBAll > 40 && !dm_odm->bInHctTest) {
+                       if (pPhyInfo->RxPWDBAll > 40) {
                                SQ = 100;
                        } else {
                                SQ_rpt = pPhyStaRpt->cck_sig_qual_ofdm_pwdb_all;
@@ -280,62 +177,37 @@ static void odm_RxPhyStatus92CSeries_Parsing(struct odm_dm_struct *dm_odm,
                        RSSI = odm_QueryRxPwrPercentage(rx_pwr[i]);
                        total_rssi += RSSI;
 
-                       /* Modification for ext-LNA board */
-                       if (dm_odm->BoardType == ODM_BOARD_HIGHPWR) {
-                               if ((pPhyStaRpt->path_agc[i].trsw) == 1)
-                                       RSSI = (RSSI > 94) ? 100 : (RSSI + 6);
-                               else
-                                       RSSI = (RSSI <= 16) ? (RSSI >> 3) : (RSSI - 16);
-
-                               if ((RSSI <= 34) && (RSSI >= 4))
-                                       RSSI -= 4;
-                       }
-
                        pPhyInfo->RxMIMOSignalStrength[i] = (u8)RSSI;
 
                        /* Get Rx snr value in DB */
                        pPhyInfo->RxSNR[i] = (s32)(pPhyStaRpt->path_rxsnr[i] / 2);
                        dm_odm->PhyDbgInfo.RxSNRdB[i] = (s32)(pPhyStaRpt->path_rxsnr[i] / 2);
-
-                       /* Record Signal Strength for next packet */
-                       if (pPktinfo->bPacketMatchBSSID) {
-                               if ((dm_odm->SupportPlatform == ODM_MP) && (dm_odm->PatchID == 19)) {
-                                       if (i == RF_PATH_A)
-                                               pPhyInfo->SignalQuality = odm_SQ_process_patch_RT_CID_819x_Lenovo(dm_odm, isCCKrate, PWDB_ALL, i, RSSI);
-                               }
-                       }
                }
                /*  (2)PWDB, Average PWDB cacluated by hardware (for rate adaptive) */
                rx_pwr_all = (((pPhyStaRpt->cck_sig_qual_ofdm_pwdb_all) >> 1) & 0x7f) - 110;
 
                PWDB_ALL = odm_QueryRxPwrPercentage(rx_pwr_all);
-               PWDB_ALL_BT = PWDB_ALL;
 
                pPhyInfo->RxPWDBAll = PWDB_ALL;
-               pPhyInfo->BTRxRSSIPercentage = PWDB_ALL_BT;
                pPhyInfo->RxPower = rx_pwr_all;
-               pPhyInfo->RecvSignalPower = rx_pwr_all;
+               pPhyInfo->recvpower = rx_pwr_all;
 
-               if ((dm_odm->SupportPlatform == ODM_MP) && (dm_odm->PatchID == 19)) {
-                       /* do nothing */
-               } else {
-                       /*  (3)EVM of HT rate */
-                       if (pPktinfo->Rate >= DESC92C_RATEMCS8 && pPktinfo->Rate <= DESC92C_RATEMCS15)
-                               Max_spatial_stream = 2; /* both spatial stream make sense */
-                       else
-                               Max_spatial_stream = 1; /* only spatial stream 1 makes sense */
-
-                       for (i = 0; i < Max_spatial_stream; i++) {
-                               /*  Do not use shift operation like "rx_evmX >>= 1" because the compilor of free build environment */
-                               /*  fill most significant bit to "zero" when doing shifting operation which may change a negative */
-                               /*  value to positive one, then the dbm value (which is supposed to be negative)  is not correct anymore. */
-                               EVM = odm_evm_db_to_percentage((pPhyStaRpt->stream_rxevm[i]));  /* dbm */
-
-                               if (pPktinfo->bPacketMatchBSSID) {
-                                       if (i == RF_PATH_A) /*  Fill value in RFD, Get the first spatial stream only */
-                                               pPhyInfo->SignalQuality = (u8)(EVM & 0xff);
-                                       pPhyInfo->RxMIMOSignalQuality[i] = (u8)(EVM & 0xff);
-                               }
+               /*  (3)EVM of HT rate */
+               if (pPktinfo->Rate >= DESC92C_RATEMCS8 && pPktinfo->Rate <= DESC92C_RATEMCS15)
+                       Max_spatial_stream = 2; /* both spatial stream make sense */
+               else
+                       Max_spatial_stream = 1; /* only spatial stream 1 makes sense */
+
+               for (i = 0; i < Max_spatial_stream; i++) {
+                       /*  Do not use shift operation like "rx_evmX >>= 1" because the compilor of free build environment */
+                       /*  fill most significant bit to "zero" when doing shifting operation which may change a negative */
+                       /*  value to positive one, then the dbm value (which is supposed to be negative)  is not correct anymore. */
+                       EVM = odm_evm_db_to_percentage((pPhyStaRpt->stream_rxevm[i]));  /* dbm */
+
+                       if (pPktinfo->bPacketMatchBSSID) {
+                               if (i == RF_PATH_A) /*  Fill value in RFD, Get the first spatial stream only */
+                                       pPhyInfo->SignalQuality = (u8)(EVM & 0xff);
+                               pPhyInfo->RxMIMOSignalQuality[i] = (u8)(EVM & 0xff);
                        }
                }
        }
@@ -348,20 +220,14 @@ static void odm_RxPhyStatus92CSeries_Parsing(struct odm_dm_struct *dm_odm,
                        pPhyInfo->SignalStrength = (u8)(odm_SignalScaleMapping(dm_odm, total_rssi /= rf_rx_num));
        }
 
-       /* For 92C/92D HW (Hybrid) Antenna Diversity */
-       pDM_SWAT_Table->antsel = pPhyStaRpt->ant_sel;
        /* For 88E HW Antenna Diversity */
        dm_odm->DM_FatTable.antsel_rx_keep_0 = pPhyStaRpt->ant_sel;
        dm_odm->DM_FatTable.antsel_rx_keep_1 = pPhyStaRpt->ant_sel_b;
        dm_odm->DM_FatTable.antsel_rx_keep_2 = pPhyStaRpt->antsel_rx_keep_2;
 }
 
-void odm_Init_RSSIForDM(struct odm_dm_struct *dm_odm)
-{
-}
-
 static void odm_Process_RSSIForDM(struct odm_dm_struct *dm_odm,
-                                 struct odm_phy_status_info *pPhyInfo,
+                                 struct phy_info *pPhyInfo,
                                  struct odm_per_pkt_info *pPktinfo)
 {
        s32 UndecoratedSmoothedPWDB, UndecoratedSmoothedCCK;
@@ -371,6 +237,8 @@ static void odm_Process_RSSIForDM(struct odm_dm_struct *dm_odm,
        u32 OFDM_pkt = 0;
        u32 Weighting = 0;
        struct sta_info *pEntry;
+       u8 antsel_tr_mux;
+       struct fast_ant_train *pDM_FatTable = &dm_odm->DM_FatTable;
 
        if (pPktinfo->StationID == 0xFF)
                return;
@@ -383,28 +251,24 @@ static void odm_Process_RSSIForDM(struct odm_dm_struct *dm_odm,
        isCCKrate = ((pPktinfo->Rate >= DESC92C_RATE1M) && (pPktinfo->Rate <= DESC92C_RATE11M)) ? true : false;
 
        /* Smart Antenna Debug Message------------------  */
-       if (dm_odm->SupportICType == ODM_RTL8188E) {
-               u8 antsel_tr_mux;
-               struct fast_ant_train *pDM_FatTable = &dm_odm->DM_FatTable;
-
-               if (dm_odm->AntDivType == CG_TRX_SMART_ANTDIV) {
-                       if (pDM_FatTable->FAT_State == FAT_TRAINING_STATE) {
-                               if (pPktinfo->bPacketToSelf) {
-                                       antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2 << 2) |
-                                                       (pDM_FatTable->antsel_rx_keep_1 << 1) |
-                                                       pDM_FatTable->antsel_rx_keep_0;
-                                       pDM_FatTable->antSumRSSI[antsel_tr_mux] += pPhyInfo->RxPWDBAll;
-                                       pDM_FatTable->antRSSIcnt[antsel_tr_mux]++;
-                               }
-                       }
-               } else if ((dm_odm->AntDivType == CG_TRX_HW_ANTDIV) || (dm_odm->AntDivType == CGCS_RX_HW_ANTDIV)) {
-                       if (pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon) {
+       if (dm_odm->AntDivType == CG_TRX_SMART_ANTDIV) {
+               if (pDM_FatTable->FAT_State == FAT_TRAINING_STATE) {
+                       if (pPktinfo->bPacketToSelf) {
                                antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2 << 2) |
-                                               (pDM_FatTable->antsel_rx_keep_1 << 1) | pDM_FatTable->antsel_rx_keep_0;
-                               ODM_AntselStatistics_88E(dm_odm, antsel_tr_mux, pPktinfo->StationID, pPhyInfo->RxPWDBAll);
+                                               (pDM_FatTable->antsel_rx_keep_1 << 1) |
+                                               pDM_FatTable->antsel_rx_keep_0;
+                               pDM_FatTable->antSumRSSI[antsel_tr_mux] += pPhyInfo->RxPWDBAll;
+                               pDM_FatTable->antRSSIcnt[antsel_tr_mux]++;
                        }
                }
+       } else if ((dm_odm->AntDivType == CG_TRX_HW_ANTDIV) || (dm_odm->AntDivType == CGCS_RX_HW_ANTDIV)) {
+               if (pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon) {
+                       antsel_tr_mux = (pDM_FatTable->antsel_rx_keep_2 << 2) |
+                                       (pDM_FatTable->antsel_rx_keep_1 << 1) | pDM_FatTable->antsel_rx_keep_0;
+                       ODM_AntselStatistics_88E(dm_odm, antsel_tr_mux, pPktinfo->StationID, pPhyInfo->RxPWDBAll);
+               }
        }
+
        /* Smart Antenna Debug Message------------------ */
 
        UndecoratedSmoothedCCK =  pEntry->rssi_stat.UndecoratedSmoothedCCK;
@@ -498,47 +362,24 @@ static void odm_Process_RSSIForDM(struct odm_dm_struct *dm_odm,
 }
 
 /*  Endianness before calling this API */
-static void ODM_PhyStatusQuery_92CSeries(struct odm_dm_struct *dm_odm,
-                                        struct odm_phy_status_info *pPhyInfo,
-                                        u8 *pPhyStatus,
-                                        struct odm_per_pkt_info *pPktinfo,
-                                        struct adapter *adapt)
+void ODM_PhyStatusQuery(struct odm_dm_struct *dm_odm,
+                       struct phy_info *pPhyInfo,
+                       u8 *pPhyStatus,
+                       struct odm_per_pkt_info *pPktinfo,
+                       struct adapter *adapt)
 {
        odm_RxPhyStatus92CSeries_Parsing(dm_odm, pPhyInfo, pPhyStatus,
                                         pPktinfo, adapt);
-       if (dm_odm->RSSI_test) {
-               /*  Select the packets to do RSSI checking for antenna switching. */
-               if (pPktinfo->bPacketToSelf || pPktinfo->bPacketBeacon)
-                               ODM_SwAntDivChkPerPktRssi(dm_odm, pPktinfo->StationID, pPhyInfo);
-       } else {
+       if (!dm_odm->RSSI_test)
                odm_Process_RSSIForDM(dm_odm, pPhyInfo, pPktinfo);
-       }
-}
-
-void ODM_PhyStatusQuery(struct odm_dm_struct *dm_odm,
-                       struct odm_phy_status_info *pPhyInfo,
-                       u8 *pPhyStatus, struct odm_per_pkt_info *pPktinfo,
-                       struct adapter *adapt)
-{
-       ODM_PhyStatusQuery_92CSeries(dm_odm, pPhyInfo, pPhyStatus, pPktinfo, adapt);
-}
-
-/*  For future use. */
-void ODM_MacStatusQuery(struct odm_dm_struct *dm_odm, u8 *mac_stat,
-                       u8 macid, bool pkt_match_bssid,
-                       bool pkttoself, bool pkt_beacon)
-{
-       /*  2011/10/19 Driver team will handle in the future. */
 }
 
 enum HAL_STATUS ODM_ConfigRFWithHeaderFile(struct odm_dm_struct *dm_odm,
                                           enum rf_radio_path content,
                                           enum rf_radio_path rfpath)
 {
-       if (dm_odm->SupportICType == ODM_RTL8188E) {
-               if (rfpath == RF_PATH_A)
-                       READ_AND_CONFIG(8188E, _RadioA_1T_);
-       }
+       if (rfpath == RF_PATH_A)
+               READ_AND_CONFIG(8188E, _RadioA_1T_);
 
        return HAL_STATUS_SUCCESS;
 }
@@ -546,22 +387,20 @@ enum HAL_STATUS ODM_ConfigRFWithHeaderFile(struct odm_dm_struct *dm_odm,
 enum HAL_STATUS ODM_ConfigBBWithHeaderFile(struct odm_dm_struct *dm_odm,
                                           enum odm_bb_config_type config_tp)
 {
-       if (dm_odm->SupportICType == ODM_RTL8188E) {
-               if (config_tp == CONFIG_BB_PHY_REG) {
-                       READ_AND_CONFIG(8188E, _PHY_REG_1T_);
-               } else if (config_tp == CONFIG_BB_AGC_TAB) {
-                       READ_AND_CONFIG(8188E, _AGC_TAB_1T_);
-               } else if (config_tp == CONFIG_BB_PHY_REG_PG) {
-                       READ_AND_CONFIG(8188E, _PHY_REG_PG_);
-               }
+       if (config_tp == CONFIG_BB_PHY_REG) {
+               READ_AND_CONFIG(8188E, _PHY_REG_1T_);
+       } else if (config_tp == CONFIG_BB_AGC_TAB) {
+               READ_AND_CONFIG(8188E, _AGC_TAB_1T_);
+       } else if (config_tp == CONFIG_BB_PHY_REG_PG) {
+               READ_AND_CONFIG(8188E, _PHY_REG_PG_);
        }
+
        return HAL_STATUS_SUCCESS;
 }
 
 enum HAL_STATUS ODM_ConfigMACWithHeaderFile(struct odm_dm_struct *dm_odm)
 {
        u8 result = HAL_STATUS_SUCCESS;
-       if (dm_odm->SupportICType == ODM_RTL8188E)
-               result = READ_AND_CONFIG(8188E, _MAC_REG_);
+       result = READ_AND_CONFIG(8188E, _MAC_REG_);
        return result;
 }
index c64a291..e7a765f 100644 (file)
@@ -3,26 +3,10 @@
 
 #include "../include/odm_precomp.h"
 
-void ODM_DIG_LowerBound_88E(struct odm_dm_struct *dm_odm)
-{
-       struct rtw_dig *pDM_DigTable = &dm_odm->DM_DigTable;
-
-       if (dm_odm->AntDivType == CG_TRX_HW_ANTDIV)
-               pDM_DigTable->rx_gain_range_min = (u8)pDM_DigTable->AntDiv_RSSI_max;
-       /* If only one Entry connected */
-}
-
 static void odm_RX_HWAntDivInit(struct odm_dm_struct *dm_odm)
 {
        u32     value32;
 
-       if (*dm_odm->mp_mode == 1) {
-               dm_odm->AntDivType = CGCS_RX_SW_ANTDIV;
-               ODM_SetBBReg(dm_odm, ODM_REG_IGI_A_11N, BIT(7), 0); /*  disable HW AntDiv */
-               ODM_SetBBReg(dm_odm, ODM_REG_LNA_SWITCH_11N, BIT(31), 1);  /*  1:CG, 0:CS */
-               return;
-       }
-
        /* MAC Setting */
        value32 = ODM_GetMACReg(dm_odm, ODM_REG_ANTSEL_PIN_11N, bMaskDWord);
        ODM_SetMACReg(dm_odm, ODM_REG_ANTSEL_PIN_11N, bMaskDWord, value32 | (BIT(23) | BIT(25))); /* Reg4C[25]=1, Reg4C[23]=1 for pin output */
@@ -44,13 +28,6 @@ static void odm_TRX_HWAntDivInit(struct odm_dm_struct *dm_odm)
 {
        u32     value32;
 
-       if (*dm_odm->mp_mode == 1) {
-               dm_odm->AntDivType = CGCS_RX_SW_ANTDIV;
-               ODM_SetBBReg(dm_odm, ODM_REG_IGI_A_11N, BIT(7), 0); /*  disable HW AntDiv */
-               ODM_SetBBReg(dm_odm, ODM_REG_RX_ANT_CTRL_11N, BIT(5) | BIT(4) | BIT(3), 0); /* Default RX   (0/1) */
-               return;
-       }
-
        /* MAC Setting */
        value32 = ODM_GetMACReg(dm_odm, ODM_REG_ANTSEL_PIN_11N, bMaskDWord);
        ODM_SetMACReg(dm_odm, ODM_REG_ANTSEL_PIN_11N, bMaskDWord, value32 | (BIT(23) | BIT(25))); /* Reg4C[25]=1, Reg4C[23]=1 for pin output */
@@ -83,9 +60,6 @@ static void odm_FastAntTrainingInit(struct odm_dm_struct *dm_odm)
        struct fast_ant_train *dm_fat_tbl = &dm_odm->DM_FatTable;
        u32     AntCombination = 2;
 
-       if (*dm_odm->mp_mode == 1)
-               return;
-
        for (i = 0; i < 6; i++) {
                dm_fat_tbl->Bssid[i] = 0;
                dm_fat_tbl->antSumRSSI[i] = 0;
@@ -155,9 +129,6 @@ static void odm_FastAntTrainingInit(struct odm_dm_struct *dm_odm)
 
 void ODM_AntennaDiversityInit_88E(struct odm_dm_struct *dm_odm)
 {
-       if (dm_odm->SupportICType != ODM_RTL8188E)
-               return;
-
        if (dm_odm->AntDivType == CGCS_RX_HW_ANTDIV)
                odm_RX_HWAntDivInit(dm_odm);
        else if (dm_odm->AntDivType == CG_TRX_HW_ANTDIV)
@@ -296,7 +267,7 @@ static void odm_HWAntDiv(struct odm_dm_struct *dm_odm)
 void ODM_AntennaDiversity_88E(struct odm_dm_struct *dm_odm)
 {
        struct fast_ant_train *dm_fat_tbl = &dm_odm->DM_FatTable;
-       if ((dm_odm->SupportICType != ODM_RTL8188E) || (!(dm_odm->SupportAbility & ODM_BB_ANT_DIV)))
+       if (!(dm_odm->SupportAbility & ODM_BB_ANT_DIV))
                return;
        if (!dm_odm->bLinked) {
                if (dm_fat_tbl->bBecomeLinked) {
index 1bc3b49..5f6f0ae 100644 (file)
@@ -34,14 +34,6 @@ void odm_ConfigRF_RadioA_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u32 Data
        odm_ConfigRFReg_8188E(pDM_Odm, Addr, Data, RF_PATH_A, Addr | maskforPhySet);
 }
 
-void odm_ConfigRF_RadioB_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u32 Data)
-{
-       u32  content = 0x1001; /*  RF_Content: radiob_txt */
-       u32 maskforPhySet = (u32)(content & 0xE000);
-
-       odm_ConfigRFReg_8188E(pDM_Odm, Addr, Data, RF_PATH_B, Addr | maskforPhySet);
-}
-
 void odm_ConfigMAC_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u8 Data)
 {
        ODM_Write1Byte(pDM_Odm, Addr, Data);
index 5a01495..7ddba39 100644 (file)
@@ -10,12 +10,6 @@ u8 ODM_Read1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr)
        return rtw_read8(Adapter, RegAddr);
 }
 
-u16 ODM_Read2Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr)
-{
-       struct adapter *Adapter = pDM_Odm->Adapter;
-       return rtw_read16(Adapter, RegAddr);
-}
-
 u32 ODM_Read4Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr)
 {
        struct adapter *Adapter = pDM_Odm->Adapter;
@@ -77,64 +71,12 @@ u32 ODM_GetRFReg(struct odm_dm_struct *pDM_Odm, enum rf_radio_path  eRFPath, u32
 }
 
 /*  ODM Memory relative API. */
-void ODM_AllocateMemory(struct odm_dm_struct *pDM_Odm, void **pPtr, u32 length)
-{
-       *pPtr = vzalloc(length);
-}
-
-/*  length could be ignored, used to detect memory leakage. */
-void ODM_FreeMemory(struct odm_dm_struct *pDM_Odm, void *pPtr, u32 length)
-{
-       vfree(pPtr);
-}
-
 s32 ODM_CompareMemory(struct odm_dm_struct *pDM_Odm, void *pBuf1, void *pBuf2, u32 length)
 {
        return !memcmp(pBuf1, pBuf2, length);
 }
 
-/*  ODM MISC relative API. */
-void ODM_AcquireSpinLock(struct odm_dm_struct *pDM_Odm, enum RT_SPINLOCK_TYPE type)
-{
-}
-
-void ODM_ReleaseSpinLock(struct odm_dm_struct *pDM_Odm, enum RT_SPINLOCK_TYPE type)
-{
-}
-
-/*  Work item relative API. FOr MP driver only~! */
-void ODM_InitializeWorkItem(struct odm_dm_struct *pDM_Odm, void *pRtWorkItem,
-                           RT_WORKITEM_CALL_BACK RtWorkItemCallback,
-                           void *pContext, const char *szID)
-{
-}
-
-void ODM_StartWorkItem(void *pRtWorkItem)
-{
-}
-
-void ODM_StopWorkItem(void *pRtWorkItem)
-{
-}
-
-void ODM_FreeWorkItem(void *pRtWorkItem)
-{
-}
-
-void ODM_ScheduleWorkItem(void *pRtWorkItem)
-{
-}
-
-void ODM_IsWorkItemScheduled(void *pRtWorkItem)
-{
-}
-
 /*  ODM Timer relative API. */
-void ODM_StallExecution(u32 usDelay)
-{
-       udelay(usDelay);
-}
-
 void ODM_delay_ms(u32 ms)
 {
        mdelay(ms);
@@ -149,30 +91,3 @@ void ODM_sleep_ms(u32 ms)
 {
        msleep(ms);
 }
-
-void ODM_sleep_us(u32 us)
-{
-       rtw_usleep_os(us);
-}
-
-void ODM_SetTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer, u32 msDelay)
-{
-       _set_timer(pTimer, msDelay); /* ms */
-}
-
-void ODM_CancelTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer)
-{
-       _cancel_timer_ex(pTimer);
-}
-
-void ODM_ReleaseTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer)
-{
-}
-
-/*  ODM FW relative API. */
-u32 ODM_FillH2CCmd(u8 *pH2CBuffer, u32 H2CBufferLen, u32 CmdNum,
-                     u32 *pElementID, u32 *pCmdLen,
-                     u8 **pCmbBuffer, u8 *CmdStartSeq)
-{
-       return  true;
-}
index 7d50d64..e44bcde 100644 (file)
@@ -53,19 +53,14 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *p
        u8 cmd_idx, ext_cmd_len;
        u32 h2c_cmd = 0;
        u32 h2c_cmd_ex = 0;
-       s32 ret = _FAIL;
 
        if (!adapt->bFWReady) {
                DBG_88E("FillH2CCmd_88E(): return H2C cmd because fw is not ready\n");
-               return ret;
+               return _FAIL;
        }
 
-       if (!pCmdBuffer)
-               goto exit;
-       if (CmdLen > RTL88E_MAX_CMD_LEN)
-               goto exit;
-       if (adapt->bSurpriseRemoved)
-               goto exit;
+       if (!pCmdBuffer || CmdLen > RTL88E_MAX_CMD_LEN || adapt->bSurpriseRemoved)
+               return _FAIL;
 
        /* pay attention to if  race condition happened in  H2C cmd setting. */
        do {
@@ -73,7 +68,7 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *p
 
                if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) {
                        DBG_88E(" fw read cmd failed...\n");
-                       goto exit;
+                       return _FAIL;
                }
 
                *(u8 *)(&h2c_cmd) = ElementID;
@@ -102,26 +97,7 @@ static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *p
 
        } while ((!bcmd_down) && (retry_cnts--));
 
-       ret = _SUCCESS;
-
-exit:
-
-       return ret;
-}
-
-u8 rtl8188e_set_rssi_cmd(struct adapter *adapt, u8 *param)
-{
-       u8 res = _SUCCESS;
-       struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
-
-       if (haldata->fw_ractrl) {
-               ;
-       } else {
-               DBG_88E("==>%s fw dont support RA\n", __func__);
-               res = _FAIL;
-       }
-
-       return res;
+       return _SUCCESS;
 }
 
 u8 rtl8188e_set_raid_cmd(struct adapter *adapt, u32 mask)
@@ -241,14 +217,13 @@ static void ConstructBeacon(struct adapter *adapt, u8 *pframe, u32 *pLength)
        struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
        struct wlan_bssid_ex            *cur_network = &pmlmeinfo->network;
-       u8 bc_addr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
        pwlanhdr = (struct rtw_ieee80211_hdr *)pframe;
 
        fctrl = &pwlanhdr->frame_ctl;
        *(fctrl) = 0;
 
-       memcpy(pwlanhdr->addr1, bc_addr, ETH_ALEN);
+       eth_broadcast_addr(pwlanhdr->addr1);
        memcpy(pwlanhdr->addr2, myid(&adapt->eeprompriv), ETH_ALEN);
        memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN);
 
@@ -561,7 +536,7 @@ static void SetFwRsvdPagePkt(struct adapter *adapt, bool bDLFinished)
        pattrib->pktlen = pattrib->last_txcmdsz;
        memcpy(pmgntframe->buf_addr, ReservedPagePacket, TotalPacketLen);
 
-       rtw_hal_mgnt_xmit(adapt, pmgntframe);
+       rtl8188eu_mgnt_xmit(adapt, pmgntframe);
 
        DBG_88E("%s: Set RSVD page location to Fw\n", __func__);
        FillH2CCmd_88E(adapt, H2C_COM_RSVD_PAGE, sizeof(RsvdPageLoc), (u8 *)&RsvdPageLoc);
@@ -608,7 +583,7 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
                haldata->RegFwHwTxQCtrl &= (~BIT(6));
 
                /*  Clear beacon valid check bit. */
-               rtw_hal_set_hwreg(adapt, HW_VAR_BCN_VALID, NULL);
+               SetHwReg8188EU(adapt, HW_VAR_BCN_VALID, NULL);
                DLBcnCount = 0;
                poll = 0;
                do {
@@ -619,7 +594,7 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
                                yield();
                                /* mdelay(10); */
                                /*  check rsvd page download OK. */
-                               rtw_hal_get_hwreg(adapt, HW_VAR_BCN_VALID, (u8 *)(&bcn_valid));
+                               GetHwReg8188EU(adapt, HW_VAR_BCN_VALID, (u8 *)(&bcn_valid));
                                poll++;
                        } while (!bcn_valid && (poll % 10) != 0 && !adapt->bSurpriseRemoved && !adapt->bDriverStopped);
                } while (!bcn_valid && DLBcnCount <= 100 && !adapt->bSurpriseRemoved && !adapt->bDriverStopped);
@@ -653,7 +628,7 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
 
                /*  Update RSVD page location H2C to Fw. */
                if (bcn_valid) {
-                       rtw_hal_set_hwreg(adapt, HW_VAR_BCN_VALID, NULL);
+                       SetHwReg8188EU(adapt, HW_VAR_BCN_VALID, NULL);
                        DBG_88E("Set RSVD page location to Fw.\n");
                }
 
@@ -667,7 +642,6 @@ void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *adapt, u8 mstatus)
 
 void rtl8188e_set_p2p_ps_offload_cmd(struct adapter *adapt, u8 p2p_ps_state)
 {
-#ifdef CONFIG_88EU_P2P
        struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
        struct wifidirect_info  *pwdinfo = &adapt->wdinfo;
        struct P2P_PS_Offload_t *p2p_ps_offload = &haldata->p2p_ps_offload;
@@ -732,6 +706,4 @@ void rtl8188e_set_p2p_ps_offload_cmd(struct adapter *adapt, u8 p2p_ps_state)
        }
 
        FillH2CCmd_88E(adapt, H2C_PS_P2P_OFFLOAD, 1, (u8 *)p2p_ps_offload);
-#endif
-
 }
index 7855230..5d76f6e 100644 (file)
@@ -8,10 +8,6 @@
 #include "../include/drv_types.h"
 #include "../include/rtl8188e_hal.h"
 
-static void dm_CheckStatistics(struct adapter *Adapter)
-{
-}
-
 /*  Initialize GPIO setting registers */
 static void dm_InitGPIOSetting(struct adapter *Adapter)
 {
@@ -31,40 +27,14 @@ static void Init_ODM_ComInfo_88E(struct adapter *Adapter)
        struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter);
        struct dm_priv  *pdmpriv = &hal_data->dmpriv;
        struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
-       u8 cut_ver, fab_ver;
 
        /*  Init Value */
        memset(dm_odm, 0, sizeof(*dm_odm));
 
        dm_odm->Adapter = Adapter;
 
-       ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_PLATFORM, ODM_CE);
-
-       if (Adapter->interface_type == RTW_GSPI)
-               ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_INTERFACE, ODM_ITRF_SDIO);
-       else
-               ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_INTERFACE, Adapter->interface_type);/* RTL871X_HCI_TYPE */
-
-       ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_IC_TYPE, ODM_RTL8188E);
-
-       fab_ver = ODM_TSMC;
-       cut_ver = ODM_CUT_A;
-
-       ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_FAB_VER, fab_ver);
-       ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_CUT_VER, cut_ver);
-
        ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_MP_TEST_CHIP, IS_NORMAL_CHIP(hal_data->VersionID));
 
-       ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_PATCH_ID, hal_data->CustomerID);
-       ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_BWIFI_TEST, Adapter->registrypriv.wifi_spec);
-
-       if (hal_data->rf_type == RF_1T1R)
-               ODM_CmnInfoUpdate(dm_odm, ODM_CMNINFO_RF_TYPE, ODM_1T1R);
-       else if (hal_data->rf_type == RF_2T2R)
-               ODM_CmnInfoUpdate(dm_odm, ODM_CMNINFO_RF_TYPE, ODM_2T2R);
-       else if (hal_data->rf_type == RF_1T2R)
-               ODM_CmnInfoUpdate(dm_odm, ODM_CMNINFO_RF_TYPE, ODM_1T2R);
-
        ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_RF_ANTENNA_TYPE, hal_data->TRxAntDivType);
 
        pdmpriv->InitODMFlag =  ODM_RF_CALIBRATION |
@@ -96,11 +66,6 @@ static void Update_ODM_ComInfo_88E(struct adapter *Adapter)
        if (hal_data->AntDivCfg)
                pdmpriv->InitODMFlag |= ODM_BB_ANT_DIV;
 
-       if (Adapter->registrypriv.mp_mode == 1) {
-               pdmpriv->InitODMFlag =  ODM_RF_CALIBRATION |
-                                       ODM_RF_TX_PWR_TRACK;
-       }
-
        ODM_CmnInfoUpdate(dm_odm, ODM_CMNINFO_ABILITY, pdmpriv->InitODMFlag);
 
        ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_TX_UNI, &Adapter->xmitpriv.tx_bytes);
@@ -111,24 +76,20 @@ static void Update_ODM_ComInfo_88E(struct adapter *Adapter)
        ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_BW, &hal_data->CurrentChannelBW);
        ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_CHNL, &hal_data->CurrentChannel);
        ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_NET_CLOSED, &Adapter->net_closed);
-       ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_MP_MODE, &Adapter->registrypriv.mp_mode);
        ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_SCAN, &pmlmepriv->bScanInProcess);
        ODM_CmnInfoHook(dm_odm, ODM_CMNINFO_POWER_SAVING, &pwrctrlpriv->bpower_saving);
        ODM_CmnInfoInit(dm_odm, ODM_CMNINFO_RF_ANTENNA_TYPE, hal_data->TRxAntDivType);
 
        for (i = 0; i < NUM_STA; i++)
-               ODM_CmnInfoPtrArrayHook(dm_odm, ODM_CMNINFO_STA_STATUS, i, NULL);
+               dm_odm->pODM_StaInfo[i] = NULL;
 }
 
 void rtl8188e_InitHalDm(struct adapter *Adapter)
 {
        struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter);
-       struct dm_priv  *pdmpriv = &hal_data->dmpriv;
        struct odm_dm_struct *dm_odm = &hal_data->odmpriv;
 
        dm_InitGPIOSetting(Adapter);
-       pdmpriv->DM_Type = DM_Type_ByDriver;
-       pdmpriv->DMFlag = DYNAMIC_FUNC_DISABLE;
        Update_ODM_ComInfo_88E(Adapter);
        ODM_DMInit(dm_odm);
        Adapter->fix_rate = 0xFF;
@@ -136,49 +97,25 @@ void rtl8188e_InitHalDm(struct adapter *Adapter)
 
 void rtl8188e_HalDmWatchDog(struct adapter *Adapter)
 {
-       bool fw_cur_in_ps = false;
-       bool fw_ps_awake = true;
-       u8 hw_init_completed = false;
+       u8 hw_init_completed = Adapter->hw_init_completed;
        struct hal_data_8188e *hal_data = GET_HAL_DATA(Adapter);
-
-
-       hw_init_completed = Adapter->hw_init_completed;
+       struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
+       u8 bLinked = false;
 
        if (!hw_init_completed)
                return;
 
-       fw_cur_in_ps = Adapter->pwrctrlpriv.bFwCurrentInPSMode;
-       rtw_hal_get_hwreg(Adapter, HW_VAR_FWLPS_RF_ON, (u8 *)(&fw_ps_awake));
-
-       /*  Fw is under p2p powersaving mode, driver should stop dynamic mechanism. */
-       /*  modifed by thomas. 2011.06.11. */
-       if (Adapter->wdinfo.p2p_ps_mode)
-               fw_ps_awake = false;
-
-       if (hw_init_completed && ((!fw_cur_in_ps) && fw_ps_awake)) {
-               /*  Calculate Tx/Rx statistics. */
-               dm_CheckStatistics(Adapter);
-
-
+       if ((check_fwstate(pmlmepriv, WIFI_AP_STATE)) ||
+           (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE))) {
+               if (Adapter->stapriv.asoc_sta_count > 2)
+                       bLinked = true;
+       } else {/* Station mode */
+               if (check_fwstate(pmlmepriv, _FW_LINKED))
+                       bLinked = true;
        }
 
-       /* ODM */
-       if (hw_init_completed) {
-               struct mlme_priv *pmlmepriv = &Adapter->mlmepriv;
-               u8 bLinked = false;
-
-               if ((check_fwstate(pmlmepriv, WIFI_AP_STATE)) ||
-                   (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE))) {
-                       if (Adapter->stapriv.asoc_sta_count > 2)
-                               bLinked = true;
-               } else {/* Station mode */
-                       if (check_fwstate(pmlmepriv, _FW_LINKED))
-                               bLinked = true;
-               }
-
-               ODM_CmnInfoUpdate(&hal_data->odmpriv, ODM_CMNINFO_LINK, bLinked);
-               ODM_DMWatchdog(&hal_data->odmpriv);
-       }
+       ODM_CmnInfoUpdate(&hal_data->odmpriv, ODM_CMNINFO_LINK, bLinked);
+       ODM_DMWatchdog(&hal_data->odmpriv);
 }
 
 void rtl8188e_init_dm_priv(struct adapter *Adapter)
@@ -190,10 +127,6 @@ void rtl8188e_init_dm_priv(struct adapter *Adapter)
        Init_ODM_ComInfo_88E(Adapter);
 }
 
-void rtl8188e_deinit_dm_priv(struct adapter *Adapter)
-{
-}
-
 /*  Add new function to reset the state of antenna diversity before link. */
 /*  Compare RSSI for deciding antenna */
 void AntDivCompare8188E(struct adapter *Adapter, struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src)
index 1475836..8c00f2d 100644 (file)
@@ -306,7 +306,7 @@ static s32 iol_ioconfig(struct adapter *padapter, u8 iocfg_bndy)
        return rst;
 }
 
-static int rtl8188e_IOL_exec_cmds_sync(struct adapter *adapter, struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt)
+int rtl8188e_IOL_exec_cmds_sync(struct adapter *adapter, struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt)
 {
        struct pkt_attrib *pattrib = &xmit_frame->attrib;
        u8 i;
@@ -336,38 +336,6 @@ exit:
        return ret;
 }
 
-void rtw_IOL_cmd_tx_pkt_buf_dump(struct adapter *Adapter, int data_len)
-{
-       u32 fifo_data, reg_140;
-       u32 addr, rstatus, loop = 0;
-       u16 data_cnts = (data_len / 8) + 1;
-       u8 *pbuf = vzalloc(data_len + 10);
-       DBG_88E("###### %s ######\n", __func__);
-
-       rtw_write8(Adapter, REG_PKT_BUFF_ACCESS_CTRL, TXPKT_BUF_SELECT);
-       if (pbuf) {
-               for (addr = 0; addr < data_cnts; addr++) {
-                       rtw_write32(Adapter, 0x140, addr);
-                       rtw_usleep_os(2);
-                       loop = 0;
-                       do {
-                               rstatus = (reg_140 = rtw_read32(Adapter, REG_PKTBUF_DBG_CTRL) & BIT(24));
-                               if (rstatus) {
-                                       fifo_data = rtw_read32(Adapter, REG_PKTBUF_DBG_DATA_L);
-                                       memcpy(pbuf + (addr * 8), &fifo_data, 4);
-
-                                       fifo_data = rtw_read32(Adapter, REG_PKTBUF_DBG_DATA_H);
-                                       memcpy(pbuf + (addr * 8 + 4), &fifo_data, 4);
-                               }
-                               rtw_usleep_os(2);
-                       } while (!rstatus && (loop++ < 10));
-               }
-               rtw_IOL_cmd_buf_dump(Adapter, data_len, pbuf);
-               vfree(pbuf);
-       }
-       DBG_88E("###### %s ######\n", __func__);
-}
-
 static void _FWDownloadEnable(struct adapter *padapter, bool enable)
 {
        u8 tmp;
@@ -669,12 +637,10 @@ void rtl8188e_InitializeFirmwareVars(struct adapter *padapter)
        pHalData->LastHMEBoxNum = 0;
 }
 
-static void rtl8188e_free_hal_data(struct adapter *padapter)
+void rtl8188e_free_hal_data(struct adapter *padapter)
 {
-
        kfree(padapter->HalData);
        padapter->HalData = NULL;
-
 }
 
 /*  */
@@ -707,11 +673,7 @@ hal_EfusePgPacketWriteData(
                struct pgpkt *pTargetPkt,
                bool bPseudoTest);
 
-static void
-hal_EfusePowerSwitch_RTL8188E(
-               struct adapter *pAdapter,
-               u8 bWrite,
-               u8 PwrState)
+void rtl8188e_EfusePowerSwitch(struct adapter *pAdapter, u8 bWrite, u8 PwrState)
 {
        u8 tempval;
        u16     tmpV16;
@@ -757,15 +719,6 @@ hal_EfusePowerSwitch_RTL8188E(
        }
 }
 
-static void
-rtl8188e_EfusePowerSwitch(
-               struct adapter *pAdapter,
-               u8 bWrite,
-               u8 PwrState)
-{
-       hal_EfusePowerSwitch_RTL8188E(pAdapter, bWrite, PwrState);
-}
-
 static void Hal_EfuseReadEFuse88E(struct adapter *Adapter,
        u16                     _offset,
        u16                     _size_byte,
@@ -892,7 +845,7 @@ static void Hal_EfuseReadEFuse88E(struct adapter *Adapter,
                pbuf[i] = efuseTbl[_offset + i];
 
        /*  5. Calculate Efuse utilization. */
-       rtw_hal_set_hwreg(Adapter, HW_VAR_EFUSE_BYTES, (u8 *)&eFuse_Addr);
+       SetHwReg8188EU(Adapter, HW_VAR_EFUSE_BYTES, (u8 *)&eFuse_Addr);
 
 exit:
        kfree(efuseTbl);
@@ -904,7 +857,7 @@ static void ReadEFuseByIC(struct adapter *Adapter, u8 efuseType, u16 _offset, u1
        if (!bPseudoTest) {
                int ret = _FAIL;
                if (rtw_IOL_applied(Adapter)) {
-                       rtw_hal_power_on(Adapter);
+                       rtl8188eu_InitPowerOn(Adapter);
 
                        iol_mode_enable(Adapter, 1);
                        ret = iol_read_efuse(Adapter, 0, _offset, _size_byte, pbuf);
@@ -925,9 +878,9 @@ static void ReadEFuse_Pseudo(struct adapter *Adapter, u8 efuseType, u16 _offset,
        Hal_EfuseReadEFuse88E(Adapter, _offset, _size_byte, pbuf, bPseudoTest);
 }
 
-static void rtl8188e_ReadEFuse(struct adapter *Adapter, u8 efuseType,
-                              u16 _offset, u16 _size_byte, u8 *pbuf,
-                              bool bPseudoTest)
+void rtl8188e_ReadEFuse(struct adapter *Adapter, u8 efuseType,
+                       u16 _offset, u16 _size_byte, u8 *pbuf,
+                       bool bPseudoTest)
 {
        if (bPseudoTest)
                ReadEFuse_Pseudo(Adapter, efuseType, _offset, _size_byte, pbuf, bPseudoTest);
@@ -1060,7 +1013,7 @@ static void Hal_EFUSEGetEfuseDefinition_Pseudo88E(struct adapter *pAdapter, u8 e
        }
 }
 
-static void rtl8188e_EFUSE_GetEfuseDefinition(struct adapter *pAdapter, u8 efuseType, u8 type, void *pOut, bool bPseudoTest)
+void rtl8188e_EFUSE_GetEfuseDefinition(struct adapter *pAdapter, u8 efuseType, u8 type, void *pOut, bool bPseudoTest)
 {
        if (bPseudoTest)
                Hal_EFUSEGetEfuseDefinition_Pseudo88E(pAdapter, efuseType, type, pOut);
@@ -1143,31 +1096,28 @@ static u16 hal_EfuseGetCurrentSize_8188e(struct adapter *pAdapter, bool bPseudoT
 {
        int     bContinual = true;
        u16     efuse_addr = 0;
-       u8 hoffset = 0, hworden = 0;
+       u8 hworden = 0;
        u8 efuse_data, word_cnts = 0;
 
        if (bPseudoTest)
                efuse_addr = (u16)(fakeEfuseUsedBytes);
        else
-               rtw_hal_get_hwreg(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&efuse_addr);
+               GetHwReg8188EU(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&efuse_addr);
 
        while (bContinual &&
               efuse_OneByteRead(pAdapter, efuse_addr, &efuse_data, bPseudoTest) &&
               AVAILABLE_EFUSE_ADDR(efuse_addr)) {
                if (efuse_data != 0xFF) {
                        if ((efuse_data & 0x1F) == 0x0F) {              /* extended header */
-                               hoffset = efuse_data;
                                efuse_addr++;
                                efuse_OneByteRead(pAdapter, efuse_addr, &efuse_data, bPseudoTest);
                                if ((efuse_data & 0x0F) == 0x0F) {
                                        efuse_addr++;
                                        continue;
                                } else {
-                                       hoffset = ((hoffset & 0xE0) >> 5) | ((efuse_data & 0xF0) >> 1);
                                        hworden = efuse_data & 0x0F;
                                }
                        } else {
-                               hoffset = (efuse_data >> 4) & 0x0F;
                                hworden =  efuse_data & 0x0F;
                        }
                        word_cnts = Efuse_CalculateWordCnts(hworden);
@@ -1181,7 +1131,7 @@ static u16 hal_EfuseGetCurrentSize_8188e(struct adapter *pAdapter, bool bPseudoT
        if (bPseudoTest)
                fakeEfuseUsedBytes = efuse_addr;
        else
-               rtw_hal_set_hwreg(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&efuse_addr);
+               SetHwReg8188EU(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&efuse_addr);
 
        return efuse_addr;
 }
@@ -1194,7 +1144,7 @@ static u16 Hal_EfuseGetCurrentSize_Pseudo(struct adapter *pAdapter, bool bPseudo
        return ret;
 }
 
-static u16 rtl8188e_EfuseGetCurrentSize(struct adapter *pAdapter, u8 efuseType, bool bPseudoTest)
+u16 rtl8188e_EfuseGetCurrentSize(struct adapter *pAdapter, u8 efuseType, bool bPseudoTest)
 {
        u16     ret = 0;
 
@@ -1218,7 +1168,7 @@ static int hal_EfusePgPacketRead_8188e(struct adapter *pAdapter, u8 offset, u8 *
        u8 max_section = 0;
        u8 tmp_header = 0;
 
-       EFUSE_GetEfuseDefinition(pAdapter, EFUSE_WIFI, TYPE_EFUSE_MAX_SECTION, (void *)&max_section, bPseudoTest);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, EFUSE_WIFI, TYPE_EFUSE_MAX_SECTION, (void *)&max_section, bPseudoTest);
 
        if (!data)
                return false;
@@ -1307,7 +1257,7 @@ static int Hal_EfusePgPacketRead_Pseudo(struct adapter *pAdapter, u8 offset, u8
        return ret;
 }
 
-static int rtl8188e_Efuse_PgPacketRead(struct adapter *pAdapter, u8 offset, u8 *data, bool bPseudoTest)
+int rtl8188e_Efuse_PgPacketRead(struct adapter *pAdapter, u8 offset, u8 *data, bool bPseudoTest)
 {
        int     ret;
 
@@ -1326,17 +1276,17 @@ static bool hal_EfuseFixHeaderProcess(struct adapter *pAdapter, u8 efuseType, st
 
        memset((void *)originaldata, 0xff, 8);
 
-       if (Efuse_PgPacketRead(pAdapter, pFixPkt->offset, originaldata, bPseudoTest)) {
+       if (rtl8188e_Efuse_PgPacketRead(pAdapter, pFixPkt->offset, originaldata, bPseudoTest)) {
                /* check if data exist */
-               badworden = Efuse_WordEnableDataWrite(pAdapter, efuse_addr + 1, pFixPkt->word_en, originaldata, bPseudoTest);
+               badworden = rtl8188e_Efuse_WordEnableDataWrite(pAdapter, efuse_addr + 1, pFixPkt->word_en, originaldata, bPseudoTest);
 
                if (badworden != 0xf) { /*  write fail */
-                       PgWriteSuccess = Efuse_PgPacketWrite(pAdapter, pFixPkt->offset, badworden, originaldata, bPseudoTest);
+                       PgWriteSuccess = rtl8188e_Efuse_PgPacketWrite(pAdapter, pFixPkt->offset, badworden, originaldata, bPseudoTest);
 
                        if (!PgWriteSuccess)
                                return false;
                        else
-                               efuse_addr = Efuse_GetCurrentSize(pAdapter, efuseType, bPseudoTest);
+                               efuse_addr = rtl8188e_EfuseGetCurrentSize(pAdapter, efuseType, bPseudoTest);
                } else {
                        efuse_addr = efuse_addr + (pFixPkt->word_cnts * 2) + 1;
                }
@@ -1354,7 +1304,7 @@ static bool hal_EfusePgPacketWrite2ByteHeader(struct adapter *pAdapter, u8 efuse
        u8 pg_header = 0, tmp_header = 0, pg_header_temp = 0;
        u8 repeatcnt = 0;
 
-       EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_AVAILABLE_EFUSE_BYTES_BANK, (void *)&efuse_max_available_len, bPseudoTest);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_AVAILABLE_EFUSE_BYTES_BANK, (void *)&efuse_max_available_len, bPseudoTest);
 
        while (efuse_addr < efuse_max_available_len) {
                pg_header = ((pTargetPkt->offset & 0x07) << 5) | 0x0F;
@@ -1451,17 +1401,16 @@ static bool hal_EfusePgPacketWrite1ByteHeader(struct adapter *pAdapter, u8 efuse
 static bool hal_EfusePgPacketWriteData(struct adapter *pAdapter, u8 efuseType, u16 *pAddr, struct pgpkt *pTargetPkt, bool bPseudoTest)
 {
        u16     efuse_addr = *pAddr;
-       u8 badworden = 0;
+       u8 badworden;
        u32     PgWriteSuccess = 0;
 
-       badworden = 0x0f;
-       badworden = Efuse_WordEnableDataWrite(pAdapter, efuse_addr + 1, pTargetPkt->word_en, pTargetPkt->data, bPseudoTest);
+       badworden = rtl8188e_Efuse_WordEnableDataWrite(pAdapter, efuse_addr + 1, pTargetPkt->word_en, pTargetPkt->data, bPseudoTest);
        if (badworden == 0x0F) {
                /*  write ok */
                return true;
        } else {
                /* reorganize other pg packet */
-               PgWriteSuccess = Efuse_PgPacketWrite(pAdapter, pTargetPkt->offset, badworden, pTargetPkt->data, bPseudoTest);
+               PgWriteSuccess = rtl8188e_Efuse_PgPacketWrite(pAdapter, pTargetPkt->offset, badworden, pTargetPkt->data, bPseudoTest);
                if (!PgWriteSuccess)
                        return false;
                else
@@ -1534,14 +1483,14 @@ static bool hal_EfusePartialWriteCheck(struct adapter *pAdapter, u8 efuseType, u
        u16     startAddr = 0, efuse_max_available_len = 0, efuse_max = 0;
        struct pgpkt curPkt;
 
-       EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_AVAILABLE_EFUSE_BYTES_BANK, (void *)&efuse_max_available_len, bPseudoTest);
-       EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_EFUSE_REAL_CONTENT_LEN, (void *)&efuse_max, bPseudoTest);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_AVAILABLE_EFUSE_BYTES_BANK, (void *)&efuse_max_available_len, bPseudoTest);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, efuseType, TYPE_EFUSE_REAL_CONTENT_LEN, (void *)&efuse_max, bPseudoTest);
 
        if (efuseType == EFUSE_WIFI) {
                if (bPseudoTest) {
                        startAddr = (u16)(fakeEfuseUsedBytes % EFUSE_REAL_CONTENT_LEN);
                } else {
-                       rtw_hal_get_hwreg(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&startAddr);
+                       GetHwReg8188EU(pAdapter, HW_VAR_EFUSE_BYTES, (u8 *)&startAddr);
                        startAddr %= EFUSE_REAL_CONTENT_LEN;
                }
        } else {
@@ -1582,12 +1531,12 @@ static bool hal_EfusePartialWriteCheck(struct adapter *pAdapter, u8 efuseType, u
                            (!hal_EfuseCheckIfDatafollowed(pAdapter, curPkt.word_cnts, startAddr + 1, bPseudoTest)) &&
                            wordEnMatched(pTargetPkt, &curPkt, &matched_wden)) {
                                /*  Here to write partial data */
-                               badworden = Efuse_WordEnableDataWrite(pAdapter, startAddr + 1, matched_wden, pTargetPkt->data, bPseudoTest);
+                               badworden = rtl8188e_Efuse_WordEnableDataWrite(pAdapter, startAddr + 1, matched_wden, pTargetPkt->data, bPseudoTest);
                                if (badworden != 0x0F) {
                                        u32     PgWriteSuccess = 0;
                                        /*  if write fail on some words, write these bad words again */
 
-                                       PgWriteSuccess = Efuse_PgPacketWrite(pAdapter, pTargetPkt->offset, badworden, pTargetPkt->data, bPseudoTest);
+                                       PgWriteSuccess = rtl8188e_Efuse_PgPacketWrite(pAdapter, pTargetPkt->offset, badworden, pTargetPkt->data, bPseudoTest);
 
                                        if (!PgWriteSuccess) {
                                                bRet = false;   /*  write fail, return */
@@ -1623,9 +1572,9 @@ hal_EfusePgCheckAvailableAddr(
        u16     efuse_max_available_len = 0;
 
        /* Change to check TYPE_EFUSE_MAP_LEN , because 8188E raw 256, logic map over 256. */
-       EFUSE_GetEfuseDefinition(pAdapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&efuse_max_available_len, false);
+       rtl8188e_EFUSE_GetEfuseDefinition(pAdapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&efuse_max_available_len, false);
 
-       if (Efuse_GetCurrentSize(pAdapter, efuseType, bPseudoTest) >= efuse_max_available_len)
+       if (rtl8188e_EfuseGetCurrentSize(pAdapter, efuseType, bPseudoTest) >= efuse_max_available_len)
                return false;
        return true;
 }
@@ -1678,7 +1627,7 @@ static int Hal_EfusePgPacketWrite(struct adapter *pAdapter, u8 offset, u8 word_e
        return ret;
 }
 
-static int rtl8188e_Efuse_PgPacketWrite(struct adapter *pAdapter, u8 offset, u8 word_en, u8 *data, bool bPseudoTest)
+int rtl8188e_Efuse_PgPacketWrite(struct adapter *pAdapter, u8 offset, u8 word_en, u8 *data, bool bPseudoTest)
 {
        int     ret;
 
@@ -1689,7 +1638,7 @@ static int rtl8188e_Efuse_PgPacketWrite(struct adapter *pAdapter, u8 offset, u8
        return ret;
 }
 
-static struct HAL_VERSION ReadChipVersion8188E(struct adapter *padapter)
+void rtl8188e_read_chip_version(struct adapter *padapter)
 {
        u32                             value32;
        struct HAL_VERSION              ChipVersion;
@@ -1698,49 +1647,23 @@ static struct HAL_VERSION ReadChipVersion8188E(struct adapter *padapter)
        pHalData = GET_HAL_DATA(padapter);
 
        value32 = rtw_read32(padapter, REG_SYS_CFG);
-       ChipVersion.ICType = CHIP_8188E;
        ChipVersion.ChipType = ((value32 & RTL_ID) ? TEST_CHIP : NORMAL_CHIP);
 
        ChipVersion.RFType = RF_TYPE_1T1R;
        ChipVersion.VendorType = ((value32 & VENDOR_ID) ? CHIP_VENDOR_UMC : CHIP_VENDOR_TSMC);
        ChipVersion.CUTVersion = (value32 & CHIP_VER_RTL_MASK) >> CHIP_VER_RTL_SHIFT; /*  IC version (CUT) */
-
-       /*  For regulator mode. by tynli. 2011.01.14 */
-       pHalData->RegulatorMode = ((value32 & TRP_BT_EN) ? RT_LDO_REGULATOR : RT_SWITCHING_REGULATOR);
-
        ChipVersion.ROMVer = 0; /*  ROM code version. */
-       pHalData->MultiFunc = RT_MULTI_FUNC_NONE;
 
        dump_chip_info(ChipVersion);
 
        pHalData->VersionID = ChipVersion;
 
-       if (IS_1T2R(ChipVersion)) {
-               pHalData->rf_type = RF_1T2R;
-               pHalData->NumTotalRFPath = 2;
-       } else if (IS_2T2R(ChipVersion)) {
-               pHalData->rf_type = RF_2T2R;
-               pHalData->NumTotalRFPath = 2;
-       } else {
-               pHalData->rf_type = RF_1T1R;
-               pHalData->NumTotalRFPath = 1;
-       }
+       pHalData->rf_type = RF_1T1R;
 
        MSG_88E("RF_Type is %x!!\n", pHalData->rf_type);
-
-       return ChipVersion;
 }
 
-static void rtl8188e_read_chip_version(struct adapter *padapter)
-{
-       ReadChipVersion8188E(padapter);
-}
-
-static void rtl8188e_GetHalODMVar(struct adapter *Adapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet)
-{
-}
-
-static void rtl8188e_SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet)
+void rtl8188e_SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable eVariable, void *pValue1, bool bSet)
 {
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
        struct odm_dm_struct *podmpriv = &pHalData->odmpriv;
@@ -1748,13 +1671,14 @@ static void rtl8188e_SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable
        case HAL_ODM_STA_INFO:
                {
                        struct sta_info *psta = (struct sta_info *)pValue1;
+
                        if (bSet) {
                                DBG_88E("### Set STA_(%d) info\n", psta->mac_id);
-                               ODM_CmnInfoPtrArrayHook(podmpriv, ODM_CMNINFO_STA_STATUS, psta->mac_id, psta);
+                               podmpriv->pODM_StaInfo[psta->mac_id] = psta;
                                ODM_RAInfo_Init(podmpriv, psta->mac_id);
                        } else {
                                DBG_88E("### Clean STA_(%d) info\n", psta->mac_id);
-                               ODM_CmnInfoPtrArrayHook(podmpriv, ODM_CMNINFO_STA_STATUS, psta->mac_id, NULL);
+                               podmpriv->pODM_StaInfo[psta->mac_id] = NULL;
                       }
                }
                break;
@@ -1769,20 +1693,7 @@ static void rtl8188e_SetHalODMVar(struct adapter *Adapter, enum hal_odm_variable
        }
 }
 
-void rtl8188e_clone_haldata(struct adapter *dst_adapter, struct adapter *src_adapter)
-{
-       memcpy(dst_adapter->HalData, src_adapter->HalData, dst_adapter->hal_data_sz);
-}
-
-void rtl8188e_start_thread(struct adapter *padapter)
-{
-}
-
-void rtl8188e_stop_thread(struct adapter *padapter)
-{
-}
-
-static void hal_notch_filter_8188e(struct adapter *adapter, bool enable)
+void hal_notch_filter_8188e(struct adapter *adapter, bool enable)
 {
        if (enable) {
                DBG_88E("Enable notch filter\n");
@@ -1792,54 +1703,6 @@ static void hal_notch_filter_8188e(struct adapter *adapter, bool enable)
                rtw_write8(adapter, rOFDM0_RxDSP + 1, rtw_read8(adapter, rOFDM0_RxDSP + 1) & ~BIT(1));
        }
 }
-void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc)
-{
-       pHalFunc->free_hal_data = &rtl8188e_free_hal_data;
-
-       pHalFunc->dm_init = &rtl8188e_init_dm_priv;
-       pHalFunc->dm_deinit = &rtl8188e_deinit_dm_priv;
-
-       pHalFunc->read_chip_version = &rtl8188e_read_chip_version;
-
-       pHalFunc->set_bwmode_handler = &PHY_SetBWMode8188E;
-       pHalFunc->set_channel_handler = &PHY_SwChnl8188E;
-
-       pHalFunc->hal_dm_watchdog = &rtl8188e_HalDmWatchDog;
-
-       pHalFunc->Add_RateATid = &rtl8188e_Add_RateATid;
-       pHalFunc->run_thread = &rtl8188e_start_thread;
-       pHalFunc->cancel_thread = &rtl8188e_stop_thread;
-
-       pHalFunc->AntDivBeforeLinkHandler = &AntDivBeforeLink8188E;
-       pHalFunc->AntDivCompareHandler = &AntDivCompare8188E;
-       pHalFunc->read_bbreg = &rtl8188e_PHY_QueryBBReg;
-       pHalFunc->write_bbreg = &rtl8188e_PHY_SetBBReg;
-       pHalFunc->read_rfreg = &rtl8188e_PHY_QueryRFReg;
-       pHalFunc->write_rfreg = &rtl8188e_PHY_SetRFReg;
-
-       /*  Efuse related function */
-       pHalFunc->EfusePowerSwitch = &rtl8188e_EfusePowerSwitch;
-       pHalFunc->ReadEFuse = &rtl8188e_ReadEFuse;
-       pHalFunc->EFUSEGetEfuseDefinition = &rtl8188e_EFUSE_GetEfuseDefinition;
-       pHalFunc->EfuseGetCurrentSize = &rtl8188e_EfuseGetCurrentSize;
-       pHalFunc->Efuse_PgPacketRead = &rtl8188e_Efuse_PgPacketRead;
-       pHalFunc->Efuse_PgPacketWrite = &rtl8188e_Efuse_PgPacketWrite;
-       pHalFunc->Efuse_WordEnableDataWrite = &rtl8188e_Efuse_WordEnableDataWrite;
-
-       pHalFunc->sreset_init_value = &sreset_init_value;
-       pHalFunc->sreset_reset_value = &sreset_reset_value;
-       pHalFunc->silentreset = &rtl8188e_silentreset_for_specific_platform;
-       pHalFunc->sreset_xmit_status_check = &rtl8188e_sreset_xmit_status_check;
-       pHalFunc->sreset_linked_status_check  = &rtl8188e_sreset_linked_status_check;
-       pHalFunc->sreset_get_wifi_status  = &sreset_get_wifi_status;
-
-       pHalFunc->GetHalODMVarHandler = &rtl8188e_GetHalODMVar;
-       pHalFunc->SetHalODMVarHandler = &rtl8188e_SetHalODMVar;
-
-       pHalFunc->IOL_exec_cmds_sync = &rtl8188e_IOL_exec_cmds_sync;
-
-       pHalFunc->hal_notch_filter = &hal_notch_filter_8188e;
-}
 
 u8 GetEEPROMSize8188E(struct adapter *padapter)
 {
@@ -1926,7 +1789,7 @@ s32 InitLLTTable(struct adapter *padapter, u8 txpktbuf_bndy)
 void
 Hal_InitPGData88E(struct adapter *padapter)
 {
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
+       struct eeprom_priv *pEEPROM = &padapter->eeprompriv;
 
        if (!pEEPROM->bautoload_fail_flag) { /*  autoload OK. */
                if (!is_boot_from_eeprom(padapter)) {
@@ -1946,7 +1809,7 @@ Hal_EfuseParseIDCode88E(
                u8 *hwinfo
        )
 {
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
+       struct eeprom_priv *pEEPROM = &padapter->eeprompriv;
        u16                     EEPROMId;
 
        /*  Check 0x8129 again for making sure autoload status!! */
@@ -2093,8 +1956,8 @@ void Hal_ReadPowerSavingMode88E(struct adapter *padapter, u8 *hwinfo, bool AutoL
                /*  if hw supported, 8051 (SIE) will generate WeakUP signal(D+/D- toggle) when autoresume */
                padapter->pwrctrlpriv.bSupportRemoteWakeup = (hwinfo[EEPROM_USB_OPTIONAL_FUNCTION0] & BIT(1)) ? true : false;
 
-               DBG_88E("%s...bHWPwrPindetect(%x)-bHWPowerdown(%x) , bSupportRemoteWakeup(%x)\n", __func__,
-               padapter->pwrctrlpriv.bHWPwrPindetect, padapter->pwrctrlpriv.bHWPowerdown, padapter->pwrctrlpriv.bSupportRemoteWakeup);
+               DBG_88E("%s...bHWPowerdown(%x) , bSupportRemoteWakeup(%x)\n", __func__,
+                       padapter->pwrctrlpriv.bHWPowerdown, padapter->pwrctrlpriv.bSupportRemoteWakeup);
 
                DBG_88E("### PS params =>  power_mgnt(%x), usbss_enable(%x) ###\n", padapter->registrypriv.power_mgnt, padapter->registrypriv.usbss_enable);
        }
@@ -2104,7 +1967,8 @@ void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *PROMContent, bool Auto
 {
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
        struct txpowerinfo24g pwrInfo24G;
-       u8 rfPath, ch, group;
+       u8 rfPath = 0;
+       u8 ch, group;
        u8 TxCount;
 
        Hal_ReadPowerValueFromPROM_8188E(&pwrInfo24G, PROMContent, AutoLoadFail);
@@ -2112,31 +1976,29 @@ void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *PROMContent, bool Auto
        if (!AutoLoadFail)
                pHalData->bTXPowerDataReadFromEEPORM = true;
 
-       for (rfPath = 0; rfPath < pHalData->NumTotalRFPath; rfPath++) {
-               for (ch = 0; ch < CHANNEL_MAX_NUMBER; ch++) {
-                       hal_get_chnl_group_88e(ch, &group);
+       for (ch = 0; ch < CHANNEL_MAX_NUMBER; ch++) {
+               hal_get_chnl_group_88e(ch, &group);
 
-                       pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][group];
-                       if (ch == 14)
-                               pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][4];
-                       else
-                               pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
+               pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][group];
+               if (ch == 14)
+                       pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][4];
+               else
+                       pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
 
-                       DBG_88E("======= Path %d, Channel %d =======\n", rfPath, ch);
-                       DBG_88E("Index24G_CCK_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_CCK_Base[rfPath][ch]);
-                       DBG_88E("Index24G_BW40_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_BW40_Base[rfPath][ch]);
-               }
-               for (TxCount = 0; TxCount < MAX_TX_COUNT; TxCount++) {
-                       pHalData->CCK_24G_Diff[rfPath][TxCount] = pwrInfo24G.CCK_Diff[rfPath][TxCount];
-                       pHalData->OFDM_24G_Diff[rfPath][TxCount] = pwrInfo24G.OFDM_Diff[rfPath][TxCount];
-                       pHalData->BW20_24G_Diff[rfPath][TxCount] = pwrInfo24G.BW20_Diff[rfPath][TxCount];
-                       pHalData->BW40_24G_Diff[rfPath][TxCount] = pwrInfo24G.BW40_Diff[rfPath][TxCount];
-                       DBG_88E("======= TxCount %d =======\n", TxCount);
-                       DBG_88E("CCK_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->CCK_24G_Diff[rfPath][TxCount]);
-                       DBG_88E("OFDM_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->OFDM_24G_Diff[rfPath][TxCount]);
-                       DBG_88E("BW20_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->BW20_24G_Diff[rfPath][TxCount]);
-                       DBG_88E("BW40_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->BW40_24G_Diff[rfPath][TxCount]);
-               }
+               DBG_88E("======= Path %d, Channel %d =======\n", rfPath, ch);
+               DBG_88E("Index24G_CCK_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_CCK_Base[rfPath][ch]);
+               DBG_88E("Index24G_BW40_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_BW40_Base[rfPath][ch]);
+       }
+       for (TxCount = 0; TxCount < MAX_TX_COUNT; TxCount++) {
+               pHalData->CCK_24G_Diff[rfPath][TxCount] = pwrInfo24G.CCK_Diff[rfPath][TxCount];
+               pHalData->OFDM_24G_Diff[rfPath][TxCount] = pwrInfo24G.OFDM_Diff[rfPath][TxCount];
+               pHalData->BW20_24G_Diff[rfPath][TxCount] = pwrInfo24G.BW20_Diff[rfPath][TxCount];
+               pHalData->BW40_24G_Diff[rfPath][TxCount] = pwrInfo24G.BW40_Diff[rfPath][TxCount];
+               DBG_88E("======= TxCount %d =======\n", TxCount);
+               DBG_88E("CCK_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->CCK_24G_Diff[rfPath][TxCount]);
+               DBG_88E("OFDM_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->OFDM_24G_Diff[rfPath][TxCount]);
+               DBG_88E("BW20_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->BW20_24G_Diff[rfPath][TxCount]);
+               DBG_88E("BW40_24G_Diff[%d][%d] = %d\n", rfPath, TxCount, pHalData->BW40_24G_Diff[rfPath][TxCount]);
        }
 
        /*  2010/10/19 MH Add Regulator recognize for CU. */
@@ -2240,7 +2102,6 @@ void Hal_ReadAntennaDiversity88E(struct adapter *pAdapter, u8 *PROMContent, bool
                        pHalData->AntDivCfg = 1; /*  0xC1[3] is ignored. */
        } else {
                pHalData->AntDivCfg = 0;
-               pHalData->TRxAntDivType = pHalData->TRxAntDivType; /*  The value in the driver setting of device manager. */
        }
        DBG_88E("EEPROM : AntDivCfg = %x, TRxAntDivType = %x\n", pHalData->AntDivCfg, pHalData->TRxAntDivType);
 }
@@ -2261,44 +2122,3 @@ void Hal_ReadThermalMeter_88E(struct adapter *Adapter, u8 *PROMContent, bool Aut
        }
        DBG_88E("ThermalMeter = 0x%x\n", pHalData->EEPROMThermalMeter);
 }
-
-void Hal_InitChannelPlan(struct adapter *padapter)
-{
-}
-
-bool HalDetectPwrDownMode88E(struct adapter *Adapter)
-{
-       u8 tmpvalue = 0;
-       struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
-       struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv;
-
-       EFUSE_ShadowRead(Adapter, 1, EEPROM_RF_FEATURE_OPTION_88E, (u32 *)&tmpvalue);
-
-       /*  2010/08/25 MH INF priority > PDN Efuse value. */
-       if (tmpvalue & BIT(4) && pwrctrlpriv->reg_pdnmode)
-               pHalData->pwrdown = true;
-       else
-               pHalData->pwrdown = false;
-
-       DBG_88E("HalDetectPwrDownMode(): PDN =%d\n", pHalData->pwrdown);
-
-       return pHalData->pwrdown;
-}      /*  HalDetectPwrDownMode */
-
-/*  This function is used only for 92C to set REG_BCN_CTRL(0x550) register. */
-/*  We just reserve the value of the register in variable pHalData->RegBcnCtrlVal and then operate */
-/*  the value of the register via atomic operation. */
-/*  This prevents from race condition when setting this register. */
-/*  The value of pHalData->RegBcnCtrlVal is initialized in HwConfigureRTL8192CE() function. */
-
-void SetBcnCtrlReg(struct adapter *padapter, u8 SetBits, u8 ClearBits)
-{
-       struct hal_data_8188e *pHalData;
-
-       pHalData = GET_HAL_DATA(padapter);
-
-       pHalData->RegBcnCtrlVal |= SetBits;
-       pHalData->RegBcnCtrlVal &= ~ClearBits;
-
-       rtw_write8(padapter, REG_BCN_CTRL, (u8)pHalData->RegBcnCtrlVal);
-}
diff --git a/drivers/staging/r8188eu/hal/rtl8188e_mp.c b/drivers/staging/r8188eu/hal/rtl8188e_mp.c
deleted file mode 100644 (file)
index fc13db7..0000000
+++ /dev/null
@@ -1,798 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#define _RTL8188E_MP_C_
-
-#include "../include/drv_types.h"
-#include "../include/rtw_mp.h"
-#include "../include/rtl8188e_hal.h"
-#include "../include/rtl8188e_dm.h"
-
-s32 Hal_SetPowerTracking(struct adapter *padapter, u8 enable)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       struct odm_dm_struct *pDM_Odm = &pHalData->odmpriv;
-
-       if (!netif_running(padapter->pnetdev))
-               return _FAIL;
-
-       if (!check_fwstate(&padapter->mlmepriv, WIFI_MP_STATE))
-               return _FAIL;
-
-       if (enable)
-               pDM_Odm->RFCalibrateInfo.bTXPowerTracking = true;
-       else
-               pDM_Odm->RFCalibrateInfo.bTXPowerTrackingInit = false;
-
-       return _SUCCESS;
-}
-
-void Hal_GetPowerTracking(struct adapter *padapter, u8 *enable)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       struct odm_dm_struct *pDM_Odm = &pHalData->odmpriv;
-
-       *enable = pDM_Odm->RFCalibrateInfo.TxPowerTrackControl;
-}
-
-/*-----------------------------------------------------------------------------
- * Function:   mpt_SwitchRfSetting
- *
- * Overview:   Change RF Setting when we siwthc channel/rate/BW for MP.
- *
- * Input:      struct adapter *                                pAdapter
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 01/08/2009  MHC             Suggestion from SD3 Willis for 92S series.
- * 01/09/2009  MHC             Add CCK modification for 40MHZ. Suggestion from SD3.
- *
- *---------------------------------------------------------------------------*/
-void Hal_mpt_SwitchRfSetting(struct adapter *pAdapter)
-{
-       struct mp_priv  *pmp = &pAdapter->mppriv;
-
-       /*  <20120525, Kordan> Dynamic mechanism for APK, asked by Dennis. */
-       pmp->MptCtx.backup0x52_RF_A = (u8)PHY_QueryRFReg(pAdapter, RF_PATH_A, RF_0x52, 0x000F0);
-       pmp->MptCtx.backup0x52_RF_B = (u8)PHY_QueryRFReg(pAdapter, RF_PATH_B, RF_0x52, 0x000F0);
-       PHY_SetRFReg(pAdapter, RF_PATH_A, RF_0x52, 0x000F0, 0xD);
-       PHY_SetRFReg(pAdapter, RF_PATH_B, RF_0x52, 0x000F0, 0xD);
-}
-/*---------------------------hal\rtl8192c\MPT_Phy.c---------------------------*/
-
-/*---------------------------hal\rtl8192c\MPT_HelperFunc.c---------------------------*/
-void Hal_MPT_CCKTxPowerAdjust(struct adapter *Adapter, bool bInCH14)
-{
-       u32             TempVal = 0, TempVal2 = 0, TempVal3 = 0;
-       u32             CurrCCKSwingVal = 0, CCKSwingIndex = 12;
-       u8              i;
-
-       /*  get current cck swing value and check 0xa22 & 0xa23 later to match the table. */
-       CurrCCKSwingVal = read_bbreg(Adapter, rCCK0_TxFilter1, bMaskHWord);
-
-       if (!bInCH14) {
-               /*  Readback the current bb cck swing value and compare with the table to */
-               /*  get the current swing index */
-               for (i = 0; i < CCK_TABLE_SIZE; i++) {
-                       if (((CurrCCKSwingVal & 0xff) == (u32)CCKSwingTable_Ch1_Ch13[i][0]) &&
-                           (((CurrCCKSwingVal & 0xff00) >> 8) == (u32)CCKSwingTable_Ch1_Ch13[i][1])) {
-                               CCKSwingIndex = i;
-                               break;
-                       }
-               }
-
-               /* Write 0xa22 0xa23 */
-               TempVal = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][0] +
-                               (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][1] << 8);
-
-               /* Write 0xa24 ~ 0xa27 */
-               TempVal2 = 0;
-               TempVal2 = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][2] +
-                               (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][3] << 8) +
-                               (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][4] << 16) +
-                               (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][5] << 24);
-
-               /* Write 0xa28  0xa29 */
-               TempVal3 = 0;
-               TempVal3 = CCKSwingTable_Ch1_Ch13[CCKSwingIndex][6] +
-                               (CCKSwingTable_Ch1_Ch13[CCKSwingIndex][7] << 8);
-       } else {
-               for (i = 0; i < CCK_TABLE_SIZE; i++) {
-                       if (((CurrCCKSwingVal & 0xff) == (u32)CCKSwingTable_Ch14[i][0]) &&
-                           (((CurrCCKSwingVal & 0xff00) >> 8) == (u32)CCKSwingTable_Ch14[i][1])) {
-                               CCKSwingIndex = i;
-                               break;
-                       }
-               }
-
-               /* Write 0xa22 0xa23 */
-               TempVal = CCKSwingTable_Ch14[CCKSwingIndex][0] +
-                               (CCKSwingTable_Ch14[CCKSwingIndex][1] << 8);
-
-               /* Write 0xa24 ~ 0xa27 */
-               TempVal2 = 0;
-               TempVal2 = CCKSwingTable_Ch14[CCKSwingIndex][2] +
-                               (CCKSwingTable_Ch14[CCKSwingIndex][3] << 8) +
-                               (CCKSwingTable_Ch14[CCKSwingIndex][4] << 16) +
-                               (CCKSwingTable_Ch14[CCKSwingIndex][5] << 24);
-
-               /* Write 0xa28  0xa29 */
-               TempVal3 = 0;
-               TempVal3 = CCKSwingTable_Ch14[CCKSwingIndex][6] +
-                               (CCKSwingTable_Ch14[CCKSwingIndex][7] << 8);
-       }
-
-       write_bbreg(Adapter, rCCK0_TxFilter1, bMaskHWord, TempVal);
-       write_bbreg(Adapter, rCCK0_TxFilter2, bMaskDWord, TempVal2);
-       write_bbreg(Adapter, rCCK0_DebugPort, bMaskLWord, TempVal3);
-}
-
-void Hal_MPT_CCKTxPowerAdjustbyIndex(struct adapter *pAdapter, bool beven)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
-       struct mpt_context *pMptCtx = &pAdapter->mppriv.MptCtx;
-       struct odm_dm_struct *pDM_Odm = &pHalData->odmpriv;
-       s32             TempCCk;
-       u8              CCK_index, CCK_index_old = 0;
-       u8              Action = 0;     /* 0: no action, 1: even->odd, 2:odd->even */
-       s32             i = 0;
-
-       if (!IS_92C_SERIAL(pHalData->VersionID))
-               return;
-       if (beven && !pMptCtx->bMptIndexEven) {
-               /* odd->even */
-               Action = 2;
-               pMptCtx->bMptIndexEven = true;
-       } else if (!beven && pMptCtx->bMptIndexEven) {
-               /* even->odd */
-               Action = 1;
-               pMptCtx->bMptIndexEven = false;
-       }
-
-       if (Action != 0) {
-               /* Query CCK default setting From 0xa24 */
-               TempCCk = read_bbreg(pAdapter, rCCK0_TxFilter2, bMaskDWord) & bMaskCCK;
-               for (i = 0; i < CCK_TABLE_SIZE; i++) {
-                       if (pDM_Odm->RFCalibrateInfo.bCCKinCH14) {
-                               if (!memcmp((void *)&TempCCk, (void *)&CCKSwingTable_Ch14[i][2], 4)) {
-                                       CCK_index_old = (u8)i;
-                                       break;
-                               }
-                       } else {
-                               if (!memcmp((void *)&TempCCk, (void *)&CCKSwingTable_Ch1_Ch13[i][2], 4)) {
-                                       CCK_index_old = (u8)i;
-                                       break;
-                               }
-                       }
-               }
-
-               if (Action == 1)
-                       CCK_index = CCK_index_old - 1;
-               else
-                       CCK_index = CCK_index_old + 1;
-
-               /* Adjust CCK according to gain index */
-               if (!pDM_Odm->RFCalibrateInfo.bCCKinCH14) {
-                       rtw_write8(pAdapter, 0xa22, CCKSwingTable_Ch1_Ch13[CCK_index][0]);
-                       rtw_write8(pAdapter, 0xa23, CCKSwingTable_Ch1_Ch13[CCK_index][1]);
-                       rtw_write8(pAdapter, 0xa24, CCKSwingTable_Ch1_Ch13[CCK_index][2]);
-                       rtw_write8(pAdapter, 0xa25, CCKSwingTable_Ch1_Ch13[CCK_index][3]);
-                       rtw_write8(pAdapter, 0xa26, CCKSwingTable_Ch1_Ch13[CCK_index][4]);
-                       rtw_write8(pAdapter, 0xa27, CCKSwingTable_Ch1_Ch13[CCK_index][5]);
-                       rtw_write8(pAdapter, 0xa28, CCKSwingTable_Ch1_Ch13[CCK_index][6]);
-                       rtw_write8(pAdapter, 0xa29, CCKSwingTable_Ch1_Ch13[CCK_index][7]);
-               } else {
-                       rtw_write8(pAdapter, 0xa22, CCKSwingTable_Ch14[CCK_index][0]);
-                       rtw_write8(pAdapter, 0xa23, CCKSwingTable_Ch14[CCK_index][1]);
-                       rtw_write8(pAdapter, 0xa24, CCKSwingTable_Ch14[CCK_index][2]);
-                       rtw_write8(pAdapter, 0xa25, CCKSwingTable_Ch14[CCK_index][3]);
-                       rtw_write8(pAdapter, 0xa26, CCKSwingTable_Ch14[CCK_index][4]);
-                       rtw_write8(pAdapter, 0xa27, CCKSwingTable_Ch14[CCK_index][5]);
-                       rtw_write8(pAdapter, 0xa28, CCKSwingTable_Ch14[CCK_index][6]);
-                       rtw_write8(pAdapter, 0xa29, CCKSwingTable_Ch14[CCK_index][7]);
-               }
-       }
-}
-/*---------------------------hal\rtl8192c\MPT_HelperFunc.c---------------------------*/
-
-/*
- * SetChannel
- * Description
- *     Use H2C command to change channel,
- *     not only modify rf register, but also other setting need to be done.
- */
-void Hal_SetChannel(struct adapter *pAdapter)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
-       struct mp_priv  *pmp = &pAdapter->mppriv;
-       struct odm_dm_struct *pDM_Odm = &pHalData->odmpriv;
-       u8              eRFPath;
-       u8              channel = pmp->channel;
-
-       /*  set RF channel register */
-       for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++)
-               _write_rfreg(pAdapter, eRFPath, ODM_CHANNEL, 0x3FF, channel);
-       Hal_mpt_SwitchRfSetting(pAdapter);
-
-       SelectChannel(pAdapter, channel);
-
-       if (pHalData->CurrentChannel == 14 && !pDM_Odm->RFCalibrateInfo.bCCKinCH14) {
-               pDM_Odm->RFCalibrateInfo.bCCKinCH14 = true;
-               Hal_MPT_CCKTxPowerAdjust(pAdapter, pDM_Odm->RFCalibrateInfo.bCCKinCH14);
-       } else if (pHalData->CurrentChannel != 14 && pDM_Odm->RFCalibrateInfo.bCCKinCH14) {
-               pDM_Odm->RFCalibrateInfo.bCCKinCH14 = false;
-               Hal_MPT_CCKTxPowerAdjust(pAdapter, pDM_Odm->RFCalibrateInfo.bCCKinCH14);
-       }
-}
-
-/*
- * Notice
- *     Switch bandwitdth may change center frequency(channel)
- */
-void Hal_SetBandwidth(struct adapter *pAdapter)
-{
-       struct mp_priv *pmp = &pAdapter->mppriv;
-
-       SetBWMode(pAdapter, pmp->bandwidth, pmp->prime_channel_offset);
-       Hal_mpt_SwitchRfSetting(pAdapter);
-}
-
-void Hal_SetCCKTxPower(struct adapter *pAdapter, u8 *TxPower)
-{
-       u32 tmpval = 0;
-
-       /*  rf-A cck tx power */
-       write_bbreg(pAdapter, rTxAGC_A_CCK1_Mcs32, bMaskByte1, TxPower[RF_PATH_A]);
-       tmpval = (TxPower[RF_PATH_A] << 16) | (TxPower[RF_PATH_A] << 8) | TxPower[RF_PATH_A];
-       write_bbreg(pAdapter, rTxAGC_B_CCK11_A_CCK2_11, 0xffffff00, tmpval);
-
-       /*  rf-B cck tx power */
-       write_bbreg(pAdapter, rTxAGC_B_CCK11_A_CCK2_11, bMaskByte0, TxPower[RF_PATH_B]);
-       tmpval = (TxPower[RF_PATH_B] << 16) | (TxPower[RF_PATH_B] << 8) | TxPower[RF_PATH_B];
-       write_bbreg(pAdapter, rTxAGC_B_CCK1_55_Mcs32, 0xffffff00, tmpval);
-}
-
-void Hal_SetOFDMTxPower(struct adapter *pAdapter, u8 *TxPower)
-{
-       u32 TxAGC = 0;
-       u8 tmpval = 0;
-
-       /*  HT Tx-rf(A) */
-       tmpval = TxPower[RF_PATH_A];
-       TxAGC = (tmpval << 24) | (tmpval << 16) | (tmpval << 8) | tmpval;
-
-       write_bbreg(pAdapter, rTxAGC_A_Rate18_06, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_A_Rate54_24, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_A_Mcs03_Mcs00, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_A_Mcs07_Mcs04, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_A_Mcs11_Mcs08, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_A_Mcs15_Mcs12, bMaskDWord, TxAGC);
-
-       /*  HT Tx-rf(B) */
-       tmpval = TxPower[RF_PATH_B];
-       TxAGC = (tmpval << 24) | (tmpval << 16) | (tmpval << 8) | tmpval;
-
-       write_bbreg(pAdapter, rTxAGC_B_Rate18_06, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_B_Rate54_24, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_B_Mcs03_Mcs00, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_B_Mcs07_Mcs04, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_B_Mcs11_Mcs08, bMaskDWord, TxAGC);
-       write_bbreg(pAdapter, rTxAGC_B_Mcs15_Mcs12, bMaskDWord, TxAGC);
-}
-
-void Hal_SetAntennaPathPower(struct adapter *pAdapter)
-{
-       struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter);
-       u8 TxPowerLevel[RF_PATH_MAX];
-       u8 rfPath;
-
-       TxPowerLevel[RF_PATH_A] = pAdapter->mppriv.txpoweridx;
-       TxPowerLevel[RF_PATH_B] = pAdapter->mppriv.txpoweridx_b;
-
-       switch (pAdapter->mppriv.antenna_tx) {
-       case ANTENNA_A:
-       default:
-               rfPath = RF_PATH_A;
-               break;
-       case ANTENNA_B:
-               rfPath = RF_PATH_B;
-               break;
-       case ANTENNA_C:
-               rfPath = RF_PATH_C;
-               break;
-       }
-
-       switch (pHalData->rf_chip) {
-       case RF_8225:
-       case RF_8256:
-       case RF_6052:
-               Hal_SetCCKTxPower(pAdapter, TxPowerLevel);
-               if (pAdapter->mppriv.rateidx < MPT_RATE_6M)     /*  CCK rate */
-                       Hal_MPT_CCKTxPowerAdjustbyIndex(pAdapter, TxPowerLevel[rfPath] % 2 == 0);
-               Hal_SetOFDMTxPower(pAdapter, TxPowerLevel);
-               break;
-       default:
-               break;
-       }
-}
-
-void Hal_SetTxPower(struct adapter *pAdapter)
-{
-       struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter);
-       u8 TxPower = pAdapter->mppriv.txpoweridx;
-       u8 TxPowerLevel[RF_PATH_MAX];
-       u8 rf, rfPath;
-
-       for (rf = 0; rf < RF_PATH_MAX; rf++)
-               TxPowerLevel[rf] = TxPower;
-
-       switch (pAdapter->mppriv.antenna_tx) {
-       case ANTENNA_A:
-       default:
-               rfPath = RF_PATH_A;
-               break;
-       case ANTENNA_B:
-               rfPath = RF_PATH_B;
-               break;
-       case ANTENNA_C:
-               rfPath = RF_PATH_C;
-               break;
-       }
-
-       switch (pHalData->rf_chip) {
-       /*  2008/09/12 MH Test only !! We enable the TX power tracking for MP!!!!! */
-       /*  We should call normal driver API later!! */
-       case RF_8225:
-       case RF_8256:
-       case RF_6052:
-               Hal_SetCCKTxPower(pAdapter, TxPowerLevel);
-               if (pAdapter->mppriv.rateidx < MPT_RATE_6M)     /*  CCK rate */
-                       Hal_MPT_CCKTxPowerAdjustbyIndex(pAdapter, TxPowerLevel[rfPath] % 2 == 0);
-               Hal_SetOFDMTxPower(pAdapter, TxPowerLevel);
-               break;
-       default:
-               break;
-       }
-}
-
-void Hal_SetDataRate(struct adapter *pAdapter)
-{
-       Hal_mpt_SwitchRfSetting(pAdapter);
-}
-
-void Hal_SetAntenna(struct adapter *pAdapter)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
-
-       struct ant_sel_ofdm *p_ofdm_tx; /* OFDM Tx register */
-       struct ant_sel_cck *p_cck_txrx;
-       u8      r_rx_antenna_ofdm = 0, r_ant_select_cck_val = 0;
-       u8      chgTx = 0, chgRx = 0;
-       u32     r_ant_select_ofdm_val = 0, r_ofdm_tx_en_val = 0;
-
-       p_ofdm_tx = (struct ant_sel_ofdm *)&r_ant_select_ofdm_val;
-       p_cck_txrx = (struct ant_sel_cck *)&r_ant_select_cck_val;
-
-       p_ofdm_tx->r_ant_ht1    = 0x1;
-       p_ofdm_tx->r_ant_ht2    = 0x2;  /*  Second TX RF path is A */
-       p_ofdm_tx->r_ant_non_ht = 0x3;  /*  0x1+0x2=0x3 */
-
-       switch (pAdapter->mppriv.antenna_tx) {
-       case ANTENNA_A:
-               p_ofdm_tx->r_tx_antenna         = 0x1;
-               r_ofdm_tx_en_val                = 0x1;
-               p_ofdm_tx->r_ant_l              = 0x1;
-               p_ofdm_tx->r_ant_ht_s1          = 0x1;
-               p_ofdm_tx->r_ant_non_ht_s1      = 0x1;
-               p_cck_txrx->r_ccktx_enable      = 0x8;
-               chgTx = 1;
-
-               /*  From SD3 Willis suggestion !!! Set RF A=TX and B as standby */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 2);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 1);
-               r_ofdm_tx_en_val                = 0x3;
-
-               /*  Power save */
-
-               /*  We need to close RFB by SW control */
-               if (pHalData->rf_type == RF_2T2R) {
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT(10), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT(26), 1);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XB_RFInterfaceOE, BIT(10), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT(1), 1);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT(17), 0);
-               }
-               break;
-       case ANTENNA_B:
-               p_ofdm_tx->r_tx_antenna         = 0x2;
-               r_ofdm_tx_en_val                = 0x2;
-               p_ofdm_tx->r_ant_l              = 0x2;
-               p_ofdm_tx->r_ant_ht_s1          = 0x2;
-               p_ofdm_tx->r_ant_non_ht_s1      = 0x2;
-               p_cck_txrx->r_ccktx_enable      = 0x4;
-               chgTx = 1;
-               /*  From SD3 Willis suggestion !!! Set RF A as standby */
-               PHY_SetBBReg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 1);
-               PHY_SetBBReg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 2);
-
-               /*  Power save */
-               /* cosa r_ant_select_ofdm_val = 0x22222222; */
-
-               /*  2008/10/31 MH From SD3 Willi's suggestion. We must read RF 1T table. */
-               /*  2009/01/08 MH From Sd3 Willis. We need to close RFA by SW control */
-               if (pHalData->rf_type == RF_2T2R || pHalData->rf_type == RF_1T2R) {
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT(10), 1);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XA_RFInterfaceOE, BIT(10), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT(26), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT(1), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT(17), 1);
-               }
-               break;
-       case ANTENNA_AB:        /*  For 8192S */
-               p_ofdm_tx->r_tx_antenna         = 0x3;
-               r_ofdm_tx_en_val                = 0x3;
-               p_ofdm_tx->r_ant_l              = 0x3;
-               p_ofdm_tx->r_ant_ht_s1          = 0x3;
-               p_ofdm_tx->r_ant_non_ht_s1      = 0x3;
-               p_cck_txrx->r_ccktx_enable      = 0xC;
-               chgTx = 1;
-
-               /*  From SD3 Willis suggestion !!! Set RF B as standby */
-               PHY_SetBBReg(pAdapter, rFPGA0_XA_HSSIParameter2, 0xe, 2);
-               PHY_SetBBReg(pAdapter, rFPGA0_XB_HSSIParameter2, 0xe, 2);
-
-               /*  Disable Power save */
-               /* cosa r_ant_select_ofdm_val = 0x3321333; */
-               /*  2009/01/08 MH From Sd3 Willis. We need to enable RFA/B by SW control */
-               if (pHalData->rf_type == RF_2T2R) {
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT(10), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFInterfaceSW, BIT(26), 0);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT(1), 1);
-                       PHY_SetBBReg(pAdapter, rFPGA0_XAB_RFParameter, BIT(17), 1);
-               }
-               break;
-       default:
-               break;
-       }
-
-       /*  r_rx_antenna_ofdm, bit0=A, bit1=B, bit2=C, bit3=D */
-       /*  r_cckrx_enable : CCK default, 0=A, 1=B, 2=C, 3=D */
-       /*  r_cckrx_enable_2 : CCK option, 0=A, 1=B, 2=C, 3=D */
-       switch (pAdapter->mppriv.antenna_rx) {
-       case ANTENNA_A:
-               r_rx_antenna_ofdm               = 0x1;  /*  A */
-               p_cck_txrx->r_cckrx_enable      = 0x0;  /*  default: A */
-               p_cck_txrx->r_cckrx_enable_2    = 0x0;  /*  option: A */
-               chgRx = 1;
-               break;
-       case ANTENNA_B:
-               r_rx_antenna_ofdm               = 0x2;  /*  B */
-               p_cck_txrx->r_cckrx_enable      = 0x1;  /*  default: B */
-               p_cck_txrx->r_cckrx_enable_2    = 0x1;  /*  option: B */
-               chgRx = 1;
-               break;
-       case ANTENNA_AB:
-               r_rx_antenna_ofdm               = 0x3;  /*  AB */
-               p_cck_txrx->r_cckrx_enable      = 0x0;  /*  default:A */
-               p_cck_txrx->r_cckrx_enable_2    = 0x1;  /*  option:B */
-               chgRx = 1;
-               break;
-       default:
-               break;
-       }
-
-       if (chgTx && chgRx) {
-               switch (pHalData->rf_chip) {
-               case RF_8225:
-               case RF_8256:
-               case RF_6052:
-                       /* r_ant_sel_cck_val = r_ant_select_cck_val; */
-                       PHY_SetBBReg(pAdapter, rFPGA1_TxInfo, 0x7fffffff, r_ant_select_ofdm_val);       /* OFDM Tx */
-                       PHY_SetBBReg(pAdapter, rFPGA0_TxInfo, 0x0000000f, r_ofdm_tx_en_val);            /* OFDM Tx */
-                       PHY_SetBBReg(pAdapter, rOFDM0_TRxPathEnable, 0x0000000f, r_rx_antenna_ofdm);    /* OFDM Rx */
-                       PHY_SetBBReg(pAdapter, rOFDM1_TRxPathEnable, 0x0000000f, r_rx_antenna_ofdm);    /* OFDM Rx */
-                       PHY_SetBBReg(pAdapter, rCCK0_AFESetting, bMaskByte3, r_ant_select_cck_val);     /* CCK TxRx */
-
-                       break;
-               default:
-                       break;
-               }
-       }
-}
-
-s32 Hal_SetThermalMeter(struct adapter *pAdapter, u8 target_ther)
-{
-       struct hal_data_8188e *pHalData = GET_HAL_DATA(pAdapter);
-
-       if (!netif_running(pAdapter->pnetdev))
-               return _FAIL;
-
-       if (!check_fwstate(&pAdapter->mlmepriv, WIFI_MP_STATE))
-               return _FAIL;
-
-       target_ther &= 0xff;
-       if (target_ther < 0x07)
-               target_ther = 0x07;
-       else if (target_ther > 0x1d)
-               target_ther = 0x1d;
-
-       pHalData->EEPROMThermalMeter = target_ther;
-
-       return _SUCCESS;
-}
-
-void Hal_TriggerRFThermalMeter(struct adapter *pAdapter)
-{
-       _write_rfreg(pAdapter, RF_PATH_A, RF_T_METER_88E, BIT(17) | BIT(16), 0x03);
-}
-
-u8 Hal_ReadRFThermalMeter(struct adapter *pAdapter)
-{
-       u32 ThermalValue = 0;
-
-       ThermalValue = _read_rfreg(pAdapter, RF_PATH_A, RF_T_METER_88E, 0xfc00);
-       return (u8)ThermalValue;
-}
-
-void Hal_GetThermalMeter(struct adapter *pAdapter, u8 *value)
-{
-       Hal_TriggerRFThermalMeter(pAdapter);
-       msleep(1000);
-       *value = Hal_ReadRFThermalMeter(pAdapter);
-}
-
-void Hal_SetSingleCarrierTx(struct adapter *pAdapter, u8 bStart)
-{
-       pAdapter->mppriv.MptCtx.bSingleCarrier = bStart;
-       if (bStart) {
-               /*  Start Single Carrier. */
-               /*  1. if OFDM block on? */
-               if (!read_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn))
-                       write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, bEnable);/* set OFDM block on */
-
-               /*  2. set CCK test mode off, set to CCK normal mode */
-               write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, bDisable);
-               /*  3. turn on scramble setting */
-               write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable);
-               /*  4. Turn On Single Carrier Tx and turn off the other test modes. */
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bEnable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
-               /* for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
-       } else {
-               /*  Stop Single Carrier. */
-               /*  Turn off all test modes. */
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
-               msleep(10);
-
-               /* BB Reset */
-               write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
-               write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
-
-               /* Stop for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
-       }
-}
-
-void Hal_SetSingleToneTx(struct adapter *pAdapter, u8 bStart)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(pAdapter);
-       bool            is92C = IS_92C_SERIAL(pHalData->VersionID);
-
-       u8 rfPath;
-       u32              reg58 = 0x0;
-       switch (pAdapter->mppriv.antenna_tx) {
-       case ANTENNA_A:
-       default:
-               rfPath = RF_PATH_A;
-               break;
-       case ANTENNA_B:
-               rfPath = RF_PATH_B;
-               break;
-       case ANTENNA_C:
-               rfPath = RF_PATH_C;
-               break;
-       }
-
-       pAdapter->mppriv.MptCtx.bSingleTone = bStart;
-       if (bStart) {
-               /*  Start Single Tone. */
-               /*  <20120326, Kordan> To amplify the power of tone for Xtal calibration. (asked by Edlu) */
-               if (IS_HARDWARE_TYPE_8188E(pAdapter)) {
-                       reg58 = PHY_QueryRFReg(pAdapter, RF_PATH_A, LNA_Low_Gain_3, bRFRegOffsetMask);
-                       reg58 &= 0xFFFFFFF0;
-                       reg58 += 2;
-                       PHY_SetRFReg(pAdapter, RF_PATH_A, LNA_Low_Gain_3, bRFRegOffsetMask, reg58);
-               }
-               PHY_SetBBReg(pAdapter, rFPGA0_RFMOD, bCCKEn, 0x0);
-               PHY_SetBBReg(pAdapter, rFPGA0_RFMOD, bOFDMEn, 0x0);
-
-               if (is92C) {
-                       _write_rfreg(pAdapter, RF_PATH_A, 0x21, BIT(19), 0x01);
-                       rtw_usleep_os(100);
-                       if (rfPath == RF_PATH_A)
-                               write_rfreg(pAdapter, RF_PATH_B, 0x00, 0x10000); /*  PAD all on. */
-                       else if (rfPath == RF_PATH_B)
-                               write_rfreg(pAdapter, RF_PATH_A, 0x00, 0x10000); /*  PAD all on. */
-                       write_rfreg(pAdapter, rfPath, 0x00, 0x2001f); /*  PAD all on. */
-                       rtw_usleep_os(100);
-               } else {
-                       write_rfreg(pAdapter, rfPath, 0x21, 0xd4000);
-                       rtw_usleep_os(100);
-                       write_rfreg(pAdapter, rfPath, 0x00, 0x2001f); /*  PAD all on. */
-                       rtw_usleep_os(100);
-               }
-
-               /* for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
-
-       } else {
-               /*  Stop Single Tone. */
-               /*  <20120326, Kordan> To amplify the power of tone for Xtal calibration. (asked by Edlu) */
-               /*  <20120326, Kordan> Only in single tone mode. (asked by Edlu) */
-               if (IS_HARDWARE_TYPE_8188E(pAdapter)) {
-                       reg58 = PHY_QueryRFReg(pAdapter, RF_PATH_A, LNA_Low_Gain_3, bRFRegOffsetMask);
-                       reg58 &= 0xFFFFFFF0;
-                       PHY_SetRFReg(pAdapter, RF_PATH_A, LNA_Low_Gain_3, bRFRegOffsetMask, reg58);
-               }
-               write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, 0x1);
-               write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, 0x1);
-               if (is92C) {
-                       _write_rfreg(pAdapter, RF_PATH_A, 0x21, BIT(19), 0x00);
-                       rtw_usleep_os(100);
-                       write_rfreg(pAdapter, RF_PATH_A, 0x00, 0x32d75); /*  PAD all on. */
-                       write_rfreg(pAdapter, RF_PATH_B, 0x00, 0x32d75); /*  PAD all on. */
-                       rtw_usleep_os(100);
-               } else {
-                       write_rfreg(pAdapter, rfPath, 0x21, 0x54000);
-                       rtw_usleep_os(100);
-                       write_rfreg(pAdapter, rfPath, 0x00, 0x30000); /*  PAD all on. */
-                       rtw_usleep_os(100);
-               }
-
-               /* Stop for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
-       }
-}
-
-void Hal_SetCarrierSuppressionTx(struct adapter *pAdapter, u8 bStart)
-{
-       pAdapter->mppriv.MptCtx.bCarrierSuppression = bStart;
-       if (bStart) {
-               /*  Start Carrier Suppression. */
-               if (pAdapter->mppriv.rateidx <= MPT_RATE_11M) {
-                       /*  1. if CCK block on? */
-                       if (!read_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn))
-                               write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, bEnable);/* set CCK block on */
-
-                       /* Turn Off All Test Mode */
-                       write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
-                       write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
-                       write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
-
-                       write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x2);    /* transmit mode */
-                       write_bbreg(pAdapter, rCCK0_System, bCCKScramble, 0x0);  /* turn off scramble setting */
-
-                       /* Set CCK Tx Test Rate */
-                       write_bbreg(pAdapter, rCCK0_System, bCCKTxRate, 0x0);    /* Set FTxRate to 1Mbps */
-               }
-
-               /* for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
-       } else {
-               /*  Stop Carrier Suppression. */
-               if (pAdapter->mppriv.rateidx <= MPT_RATE_11M) {
-                       write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x0);    /* normal mode */
-                       write_bbreg(pAdapter, rCCK0_System, bCCKScramble, 0x1);  /* turn on scramble setting */
-
-                       /* BB Reset */
-                       write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
-                       write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
-               }
-
-               /* Stop for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
-       }
-}
-
-void Hal_SetCCKContinuousTx(struct adapter *pAdapter, u8 bStart)
-{
-       u32 cckrate;
-
-       if (bStart) {
-               /*  1. if CCK block on? */
-               if (!read_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn))
-                       write_bbreg(pAdapter, rFPGA0_RFMOD, bCCKEn, bEnable);/* set CCK block on */
-
-               /* Turn Off All Test Mode */
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
-               /* Set CCK Tx Test Rate */
-               cckrate  = pAdapter->mppriv.rateidx;
-               write_bbreg(pAdapter, rCCK0_System, bCCKTxRate, cckrate);
-               write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x2);   /* transmit mode */
-               write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable);     /* turn on scramble setting */
-
-               /* for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
-       } else {
-               write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, 0x0);   /* normal mode */
-               write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable);     /* turn on scramble setting */
-
-               /* BB Reset */
-               write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
-               write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
-
-               /* Stop for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
-       }
-
-       pAdapter->mppriv.MptCtx.bCckContTx = bStart;
-       pAdapter->mppriv.MptCtx.bOfdmContTx = false;
-} /* mpt_StartCckContTx */
-
-void Hal_SetOFDMContinuousTx(struct adapter *pAdapter, u8 bStart)
-{
-       if (bStart) {
-               /*  1. if OFDM block on? */
-               if (!read_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn))
-                       write_bbreg(pAdapter, rFPGA0_RFMOD, bOFDMEn, bEnable);/* set OFDM block on */
-
-               /*  2. set CCK test mode off, set to CCK normal mode */
-               write_bbreg(pAdapter, rCCK0_System, bCCKBBMode, bDisable);
-
-               /*  3. turn on scramble setting */
-               write_bbreg(pAdapter, rCCK0_System, bCCKScramble, bEnable);
-               /*  4. Turn On Continue Tx and turn off the other test modes. */
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bEnable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
-
-               /* for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000500);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000500);
-
-       } else {
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMContinueTx, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleCarrier, bDisable);
-               write_bbreg(pAdapter, rOFDM1_LSTF, bOFDMSingleTone, bDisable);
-               /* Delay 10 ms */
-               msleep(10);
-               /* BB Reset */
-               write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x0);
-               write_bbreg(pAdapter, rPMAC_Reset, bBBResetB, 0x1);
-
-               /* Stop for dynamic set Power index. */
-               write_bbreg(pAdapter, rFPGA0_XA_HSSIParameter1, bMaskDWord, 0x01000100);
-               write_bbreg(pAdapter, rFPGA0_XB_HSSIParameter1, bMaskDWord, 0x01000100);
-       }
-
-       pAdapter->mppriv.MptCtx.bCckContTx = false;
-       pAdapter->mppriv.MptCtx.bOfdmContTx = bStart;
-} /* mpt_StartOfdmContTx */
-
-void Hal_SetContinuousTx(struct adapter *pAdapter, u8 bStart)
-{
-       pAdapter->mppriv.MptCtx.bStartContTx = bStart;
-       if (pAdapter->mppriv.rateidx <= MPT_RATE_11M)
-               Hal_SetCCKContinuousTx(pAdapter, bStart);
-       else if ((pAdapter->mppriv.rateidx >= MPT_RATE_6M) &&
-                (pAdapter->mppriv.rateidx <= MPT_RATE_MCS15))
-               Hal_SetOFDMContinuousTx(pAdapter, bStart);
-}
index 30a9dca..bb0cda0 100644 (file)
@@ -532,7 +532,7 @@ void storePwrIndexDiffRateOffset(struct adapter *Adapter, u32 RegAddr, u32 BitMa
 
 static int phy_BB8188E_Config_ParaFile(struct adapter *Adapter)
 {
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(Adapter);
+       struct eeprom_priv *pEEPROM = &Adapter->eeprompriv;
        struct hal_data_8188e           *pHalData = GET_HAL_DATA(Adapter);
        int                     rtStatus = _SUCCESS;
 
@@ -609,166 +609,6 @@ int PHY_RFConfig8188E(struct adapter *Adapter)
        return rtStatus;
 }
 
-/*-----------------------------------------------------------------------------
- * Function:    PHY_ConfigRFWithParaFile()
- *
- * Overview:    This function read RF parameters from general file format, and do RF 3-wire
- *
- * Input:      struct adapter *Adapter
- *                     ps8                                     pFileName
- *                     enum rf_radio_path eRFPath
- *
- * Output:      NONE
- *
- * Return:      RT_STATUS_SUCCESS: configuration file exist
- *
- * Note:               Delay may be required for RF configuration
- *---------------------------------------------------------------------------*/
-int rtl8188e_PHY_ConfigRFWithParaFile(struct adapter *Adapter, u8 *pFileName, enum rf_radio_path eRFPath)
-{
-       return _SUCCESS;
-}
-
-void
-rtl8192c_PHY_GetHWRegOriginalValue(
-               struct adapter *Adapter
-       )
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
-
-       /*  read rx initial gain */
-       pHalData->DefaultInitialGain[0] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XAAGCCore1, bMaskByte0);
-       pHalData->DefaultInitialGain[1] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XBAGCCore1, bMaskByte0);
-       pHalData->DefaultInitialGain[2] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XCAGCCore1, bMaskByte0);
-       pHalData->DefaultInitialGain[3] = (u8)PHY_QueryBBReg(Adapter, rOFDM0_XDAGCCore1, bMaskByte0);
-
-       /*  read framesync */
-       pHalData->framesync = (u8)PHY_QueryBBReg(Adapter, rOFDM0_RxDetector3, bMaskByte0);
-       pHalData->framesyncC34 = PHY_QueryBBReg(Adapter, rOFDM0_RxDetector2, bMaskDWord);
-}
-
-/*  */
-/*     Description: */
-/*             Map dBm into Tx power index according to */
-/*             current HW model, for example, RF and PA, and */
-/*             current wireless mode. */
-/*     By Bruce, 2008-01-29. */
-/*  */
-static u8 phy_DbmToTxPwrIdx(struct adapter *Adapter, enum wireless_mode WirelessMode, int PowerInDbm)
-{
-       u8 TxPwrIdx = 0;
-       int                             Offset = 0;
-
-       /*  */
-       /*  Tested by MP, we found that CCK Index 0 equals to 8dbm, OFDM legacy equals to */
-       /*  3dbm, and OFDM HT equals to 0dbm respectively. */
-       /*  Note: */
-       /*      The mapping may be different by different NICs. Do not use this formula for what needs accurate result. */
-       /*  By Bruce, 2008-01-29. */
-       /*  */
-       switch (WirelessMode) {
-       case WIRELESS_MODE_B:
-               Offset = -7;
-               break;
-
-       case WIRELESS_MODE_G:
-       case WIRELESS_MODE_N_24G:
-       default:
-               Offset = -8;
-               break;
-       }
-
-       if ((PowerInDbm - Offset) > 0)
-               TxPwrIdx = (u8)((PowerInDbm - Offset) * 2);
-       else
-               TxPwrIdx = 0;
-
-       /*  Tx Power Index is too large. */
-       if (TxPwrIdx > MAX_TXPWR_IDX_NMODE_92S)
-               TxPwrIdx = MAX_TXPWR_IDX_NMODE_92S;
-
-       return TxPwrIdx;
-}
-
-/*  */
-/*     Description: */
-/*             Map Tx power index into dBm according to */
-/*             current HW model, for example, RF and PA, and */
-/*             current wireless mode. */
-/*     By Bruce, 2008-01-29. */
-/*  */
-static int phy_TxPwrIdxToDbm(struct adapter *Adapter, enum wireless_mode WirelessMode, u8 TxPwrIdx)
-{
-       int                             Offset = 0;
-       int                             PwrOutDbm = 0;
-
-       /*  */
-       /*  Tested by MP, we found that CCK Index 0 equals to -7dbm, OFDM legacy equals to -8dbm. */
-       /*  Note: */
-       /*      The mapping may be different by different NICs. Do not use this formula for what needs accurate result. */
-       /*  By Bruce, 2008-01-29. */
-       /*  */
-       switch (WirelessMode) {
-       case WIRELESS_MODE_B:
-               Offset = -7;
-               break;
-       case WIRELESS_MODE_G:
-       case WIRELESS_MODE_N_24G:
-       default:
-               Offset = -8;
-               break;
-       }
-
-       PwrOutDbm = TxPwrIdx / 2 + Offset; /*  Discard the decimal part. */
-
-       return PwrOutDbm;
-}
-
-/*-----------------------------------------------------------------------------
- * Function:    GetTxPowerLevel8190()
- *
- * Overview:    This function is export to "common" moudule
- *
- * Input:       struct adapter *Adapter
- *                     psByte                  Power Level
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- *---------------------------------------------------------------------------*/
-void PHY_GetTxPowerLevel8188E(struct adapter *Adapter, u32 *powerlevel)
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
-       u8 TxPwrLevel = 0;
-       int                     TxPwrDbm;
-
-       /*  */
-       /*  Because the Tx power indexes are different, we report the maximum of them to */
-       /*  meet the CCX TPC request. By Bruce, 2008-01-31. */
-       /*  */
-
-       /*  CCK */
-       TxPwrLevel = pHalData->CurrentCckTxPwrIdx;
-       TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_B, TxPwrLevel);
-
-       /*  Legacy OFDM */
-       TxPwrLevel = pHalData->CurrentOfdm24GTxPwrIdx + pHalData->LegacyHTTxPowerDiff;
-
-       /*  Compare with Legacy OFDM Tx power. */
-       if (phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_G, TxPwrLevel) > TxPwrDbm)
-               TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_G, TxPwrLevel);
-
-       /*  HT OFDM */
-       TxPwrLevel = pHalData->CurrentOfdm24GTxPwrIdx;
-
-       /*  Compare with HT OFDM Tx power. */
-       if (phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_N_24G, TxPwrLevel) > TxPwrDbm)
-               TxPwrDbm = phy_TxPwrIdxToDbm(Adapter, WIRELESS_MODE_N_24G, TxPwrLevel);
-
-       *powerlevel = TxPwrDbm;
-}
-
 static void getTxPowerIndex88E(struct adapter *Adapter, u8 channel, u8 *cckPowerLevel,
                               u8 *ofdmPowerLevel, u8 *BW20PowerLevel,
                               u8 *BW40PowerLevel)
@@ -892,51 +732,6 @@ PHY_SetTxPowerLevel8188E(
        rtl8188e_PHY_RF6052SetOFDMTxPower(Adapter, &ofdmPowerLevel[0], &BW20PowerLevel[0], &BW40PowerLevel[0], channel);
 }
 
-/*  */
-/*     Description: */
-/*             Update transmit power level of all channel supported. */
-/*  */
-/*     TODO: */
-/*             A mode. */
-/*     By Bruce, 2008-02-04. */
-/*  */
-bool
-PHY_UpdateTxPowerDbm8188E(
-               struct adapter *Adapter,
-               int             powerInDbm
-       )
-{
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
-       u8 idx;
-       u8 rf_path;
-
-       /*  TODO: A mode Tx power. */
-       u8 CckTxPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_B, powerInDbm);
-       u8 OfdmTxPwrIdx = phy_DbmToTxPwrIdx(Adapter, WIRELESS_MODE_N_24G, powerInDbm);
-
-       if (OfdmTxPwrIdx - pHalData->LegacyHTTxPowerDiff > 0)
-               OfdmTxPwrIdx -= pHalData->LegacyHTTxPowerDiff;
-       else
-               OfdmTxPwrIdx = 0;
-
-       for (idx = 0; idx < 14; idx++) {
-               for (rf_path = 0; rf_path < 2; rf_path++) {
-                       pHalData->TxPwrLevelCck[rf_path][idx] = CckTxPwrIdx;
-                       pHalData->TxPwrLevelHT40_1S[rf_path][idx] =
-                       pHalData->TxPwrLevelHT40_2S[rf_path][idx] = OfdmTxPwrIdx;
-               }
-       }
-       return true;
-}
-
-void
-PHY_ScanOperationBackup8188E(
-               struct adapter *Adapter,
-               u8 Operation
-       )
-{
-}
-
 /*-----------------------------------------------------------------------------
  * Function:    PHY_SetBWModeCallback8192C()
  *
@@ -1068,7 +863,7 @@ void PHY_SetBWMode8188E(struct adapter *Adapter, enum ht_channel_width Bandwidth
 
 static void _PHY_SwChnl8192C(struct adapter *Adapter, u8 channel)
 {
-       u8 eRFPath;
+       u8 eRFPath = 0;
        u32 param1, param2;
        struct hal_data_8188e   *pHalData = GET_HAL_DATA(Adapter);
 
@@ -1081,10 +876,8 @@ static void _PHY_SwChnl8192C(struct adapter *Adapter, u8 channel)
        /* s2. RF dependent command - CmdID_RF_WriteReg, param1=RF_CHNLBW, param2=channel */
        param1 = RF_CHNLBW;
        param2 = channel;
-       for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++) {
-               pHalData->RfRegChnlVal[eRFPath] = ((pHalData->RfRegChnlVal[eRFPath] & 0xfffffc00) | param2);
-               PHY_SetRFReg(Adapter, (enum rf_radio_path)eRFPath, param1, bRFRegOffsetMask, pHalData->RfRegChnlVal[eRFPath]);
-       }
+       pHalData->RfRegChnlVal[eRFPath] = ((pHalData->RfRegChnlVal[eRFPath] & 0xfffffc00) | param2);
+       PHY_SetRFReg(Adapter, (enum rf_radio_path)eRFPath, param1, bRFRegOffsetMask, pHalData->RfRegChnlVal[eRFPath]);
 }
 
 void PHY_SwChnl8188E(struct adapter *Adapter, u8 channel)
index ad07822..946a1b9 100644 (file)
 #include "../include/drv_types.h"
 #include "../include/rtl8188e_hal.h"
 
-/*---------------------------Define Local Constant---------------------------*/
-/*  Define local structure for debug!!!!! */
-struct rf_shadow {
-       /*  Shadow register value */
-       u32 Value;
-       /*  Compare or not flag */
-       u8 Compare;
-       /*  Record If it had ever modified unpredicted */
-       u8 ErrorOrNot;
-       /*  Recorver Flag */
-       u8 Recorver;
-       /*  */
-       u8 Driver_Write;
-};
-
-/*---------------------------Define Local Constant---------------------------*/
-
-/*------------------------Define global variable-----------------------------*/
-
-/*------------------------Define local variable------------------------------*/
-
-/*-----------------------------------------------------------------------------
- * Function:   RF_ChangeTxPath
- *
- * Overview:   For RL6052, we must change some RF settign for 1T or 2T.
- *
- * Input:              u16 DataRate            0x80-8f, 0x90-9f
- *
- * Output:      NONE
- *
- * Return:      NONE
- *
- * Revised History:
- * When                        Who             Remark
- * 09/25/2008  MHC             Create Version 0.
- *                                             Firmwaer support the utility later.
- *
- *---------------------------------------------------------------------------*/
-void rtl8188e_RF_ChangeTxPath(struct adapter *Adapter, u16 DataRate)
-{
-/*  We do not support gain table change inACUT now !!!! Delete later !!! */
-}      /* RF_ChangeTxPath */
-
 /*-----------------------------------------------------------------------------
  * Function:    PHY_RF6052SetBandwidth()
  *
@@ -128,7 +85,6 @@ rtl8188e_PHY_RF6052SetCckTxPower(
                u8 *pPowerlevel)
 {
        struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
-       struct dm_priv *pdmpriv = &pHalData->dmpriv;
        struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv;
        u32 TxAGC[2] = {0, 0}, tmpval = 0, pwrtrac_value;
        bool TurboScanOff = false;
@@ -155,34 +111,19 @@ rtl8188e_PHY_RF6052SetCckTxPower(
                        }
                }
        } else {
-               /* Driver dynamic Tx power shall not affect Tx power.
-                * It shall be determined by power training mechanism.
-i               *  Currently, we cannot fully disable driver dynamic
-                * tx power mechanism because it is referenced by BT
-                * coexist mechanism.
-                * In the future, two mechanism shall be separated from
-                * each other and maintained independently. */
-               if (pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level1) {
-                       TxAGC[RF_PATH_A] = 0x10101010;
-                       TxAGC[RF_PATH_B] = 0x10101010;
-               } else if (pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level2) {
-                       TxAGC[RF_PATH_A] = 0x00000000;
-                       TxAGC[RF_PATH_B] = 0x00000000;
-               } else {
-                       for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
-                               TxAGC[idx1] =
-                                       pPowerlevel[idx1] | (pPowerlevel[idx1] << 8) |
-                                       (pPowerlevel[idx1] << 16) | (pPowerlevel[idx1] << 24);
-                       }
-                       if (pHalData->EEPROMRegulatory == 0) {
-                               tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][6]) +
-                                               (pHalData->MCSTxPowerLevelOriginalOffset[0][7] << 8);
-                               TxAGC[RF_PATH_A] += tmpval;
-
-                               tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][14]) +
-                                               (pHalData->MCSTxPowerLevelOriginalOffset[0][15] << 24);
-                               TxAGC[RF_PATH_B] += tmpval;
-                       }
+               for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
+                       TxAGC[idx1] =
+                               pPowerlevel[idx1] | (pPowerlevel[idx1] << 8) |
+                               (pPowerlevel[idx1] << 16) | (pPowerlevel[idx1] << 24);
+               }
+               if (pHalData->EEPROMRegulatory == 0) {
+                       tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][6]) +
+                                       (pHalData->MCSTxPowerLevelOriginalOffset[0][7] << 8);
+                       TxAGC[RF_PATH_A] += tmpval;
+
+                       tmpval = (pHalData->MCSTxPowerLevelOriginalOffset[0][14]) +
+                                       (pHalData->MCSTxPowerLevelOriginalOffset[0][15] << 24);
+                       TxAGC[RF_PATH_B] += tmpval;
                }
        }
        for (idx1 = RF_PATH_A; idx1 <= RF_PATH_B; idx1++) {
@@ -227,7 +168,7 @@ static void getpowerbase88e(struct adapter *Adapter, u8 *pPowerLevelOFDM,
 {
        struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
        u32 powerBase0, powerBase1;
-       u8 i, powerlevel[2];
+       u8 i;
 
        for (i = 0; i < 2; i++) {
                powerBase0 = pPowerLevelOFDM[i];
@@ -235,23 +176,21 @@ static void getpowerbase88e(struct adapter *Adapter, u8 *pPowerLevelOFDM,
                powerBase0 = (powerBase0 << 24) | (powerBase0 << 16) | (powerBase0 << 8) | powerBase0;
                *(OfdmBase + i) = powerBase0;
        }
-       for (i = 0; i < pHalData->NumTotalRFPath; i++) {
-               /* Check HT20 to HT40 diff */
-               if (pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20)
-                       powerlevel[i] = pPowerLevelBW20[i];
-               else
-                       powerlevel[i] = pPowerLevelBW40[i];
-               powerBase1 = powerlevel[i];
-               powerBase1 = (powerBase1 << 24) | (powerBase1 << 16) | (powerBase1 << 8) | powerBase1;
-               *(MCSBase + i) = powerBase1;
-       }
+
+       /* Check HT20 to HT40 diff */
+       if (pHalData->CurrentChannelBW == HT_CHANNEL_WIDTH_20)
+               powerBase1 = pPowerLevelBW20[0];
+       else
+               powerBase1 = pPowerLevelBW40[0];
+       powerBase1 = (powerBase1 << 24) | (powerBase1 << 16) | (powerBase1 << 8) | powerBase1;
+       *MCSBase = powerBase1;
 }
+
 static void get_rx_power_val_by_reg(struct adapter *Adapter, u8 Channel,
                                    u8 index, u32 *powerBase0, u32 *powerBase1,
                                    u32 *pOutWriteVal)
 {
        struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
-       struct dm_priv  *pdmpriv = &pHalData->dmpriv;
        u8      i, chnlGroup = 0, pwr_diff_limit[4], customer_pwr_limit;
        s8      pwr_diff = 0;
        u32     writeVal, customer_limit, rf;
@@ -327,19 +266,7 @@ static void get_rx_power_val_by_reg(struct adapter *Adapter, u8 Channel,
                                        ((index < 2) ? powerBase0[rf] : powerBase1[rf]);
                        break;
                }
-/*  20100427 Joseph: Driver dynamic Tx power shall not affect Tx power. It shall be determined by power training mechanism. */
-/*  Currently, we cannot fully disable driver dynamic tx power mechanism because it is referenced by BT coexist mechanism. */
-/*  In the future, two mechanism shall be separated from each other and maintained independently. Thanks for Lanhsin's reminder. */
-               /* 92d do not need this */
-               if (pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level1)
-                       writeVal = 0x14141414;
-               else if (pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_Level2)
-                       writeVal = 0x00000000;
-
-               /*  20100628 Joseph: High power mode for BT-Coexist mechanism. */
-               /*  This mechanism is only applied when Driver-Highpower-Mechanism is OFF. */
-               if (pdmpriv->DynamicTxHighPowerLvl == TxHighPwrLevel_BT1)
-                       writeVal = writeVal - 0x06060606;
+
                *(pOutWriteVal + rf) = writeVal;
        }
 }
@@ -458,70 +385,41 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter)
        struct bb_reg_def *pPhyReg;
        struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
        u32 u4RegValue = 0;
-       u8 eRFPath;
+       u8 eRFPath = 0;
        int rtStatus = _SUCCESS;
 
-       /* 3----------------------------------------------------------------- */
-       /* 3 <2> Initialize RF */
-       /* 3----------------------------------------------------------------- */
-       for (eRFPath = 0; eRFPath < pHalData->NumTotalRFPath; eRFPath++) {
-               pPhyReg = &pHalData->PHYRegDef[eRFPath];
-
-               /*----Store original RFENV control type----*/
-               switch (eRFPath) {
-               case RF_PATH_A:
-               case RF_PATH_C:
-                       u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV);
-                       break;
-               case RF_PATH_B:
-               case RF_PATH_D:
-                       u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV << 16);
-                       break;
-               }
-               /*----Set RF_ENV enable----*/
-               PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV << 16, 0x1);
-               udelay(1);/* PlatformStallExecution(1); */
-
-               /*----Set RF_ENV output high----*/
-               PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1);
-               udelay(1);/* PlatformStallExecution(1); */
-
-               /* Set bit number of Address and Data for RF register */
-               PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0);  /*  Set 1 to 4 bits for 8255 */
-               udelay(1);/* PlatformStallExecution(1); */
-
-               PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0);     /*  Set 0 to 12  bits for 8255 */
-               udelay(1);/* PlatformStallExecution(1); */
-
-               /*----Initialize RF fom connfiguration file----*/
-               switch (eRFPath) {
-               case RF_PATH_A:
-                       if (HAL_STATUS_FAILURE == ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, (enum rf_radio_path)eRFPath, (enum rf_radio_path)eRFPath))
-                               rtStatus = _FAIL;
-                       break;
-               case RF_PATH_B:
-               if (HAL_STATUS_FAILURE == ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, (enum rf_radio_path)eRFPath, (enum rf_radio_path)eRFPath))
-                               rtStatus = _FAIL;
-                       break;
-               case RF_PATH_C:
-                       break;
-               case RF_PATH_D:
-                       break;
-               }
-               /*----Restore RFENV control type----*/;
-               switch (eRFPath) {
-               case RF_PATH_A:
-               case RF_PATH_C:
-                       PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV, u4RegValue);
-                       break;
-               case RF_PATH_B:
-               case RF_PATH_D:
-                       PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV << 16, u4RegValue);
-                       break;
-               }
-               if (rtStatus != _SUCCESS)
-                       goto phy_RF6052_Config_ParaFile_Fail;
-       }
+       /* Initialize RF */
+
+       pPhyReg = &pHalData->PHYRegDef[eRFPath];
+
+       /*----Store original RFENV control type----*/
+       u4RegValue = PHY_QueryBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV);
+
+       /*----Set RF_ENV enable----*/
+       PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV << 16, 0x1);
+       udelay(1);/* PlatformStallExecution(1); */
+
+       /*----Set RF_ENV output high----*/
+       PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1);
+       udelay(1);/* PlatformStallExecution(1); */
+
+       /* Set bit number of Address and Data for RF register */
+       PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0);  /*  Set 1 to 4 bits for 8255 */
+       udelay(1);/* PlatformStallExecution(1); */
+
+       PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0);     /*  Set 0 to 12  bits for 8255 */
+       udelay(1);/* PlatformStallExecution(1); */
+
+       /*----Initialize RF fom connfiguration file----*/
+       if (HAL_STATUS_FAILURE == ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, (enum rf_radio_path)eRFPath, (enum rf_radio_path)eRFPath))
+               rtStatus = _FAIL;
+
+       /*----Restore RFENV control type----*/;
+       PHY_SetBBReg(Adapter, pPhyReg->rfintfs, bRFSI_RFENV, u4RegValue);
+
+       if (rtStatus != _SUCCESS)
+               goto phy_RF6052_Config_ParaFile_Fail;
+
        return rtStatus;
 
 phy_RF6052_Config_ParaFile_Fail:
@@ -530,19 +428,9 @@ phy_RF6052_Config_ParaFile_Fail:
 
 int PHY_RF6052_Config8188E(struct adapter *Adapter)
 {
-       struct hal_data_8188e *pHalData = GET_HAL_DATA(Adapter);
        int rtStatus = _SUCCESS;
 
        /*  */
-       /*  Initialize general global value */
-       /*  */
-       /*  TODO: Extend RF_PATH_C and RF_PATH_D in the future */
-       if (pHalData->rf_type == RF_1T1R)
-               pHalData->NumTotalRFPath = 1;
-       else
-               pHalData->NumTotalRFPath = 2;
-
-       /*  */
        /*  Config BB and RF */
        /*  */
        rtStatus = phy_RF6052_Config_ParaFile(Adapter);
index 2442867..053d954 100644 (file)
@@ -127,7 +127,7 @@ void update_recvframe_phyinfo_88e(struct recv_frame *precvframe, struct phy_stat
        struct adapter *padapter = precvframe->adapter;
        struct rx_pkt_attrib *pattrib = &precvframe->attrib;
        struct hal_data_8188e *pHalData = GET_HAL_DATA(padapter);
-       struct odm_phy_status_info *pPHYInfo  = (struct odm_phy_status_info *)(&pattrib->phy_info);
+       struct phy_info *pPHYInfo  = &pattrib->phy_info;
        u8 *wlanhdr;
        struct odm_per_pkt_info pkt_info;
        u8 *sa = NULL;
index 16fa249..7b3ac6e 100644 (file)
@@ -6,43 +6,16 @@
 #include "../include/rtl8188e_sreset.h"
 #include "../include/rtl8188e_hal.h"
 
-void rtl8188e_silentreset_for_specific_platform(struct adapter *padapter)
-{
-}
-
 void rtl8188e_sreset_xmit_status_check(struct adapter *padapter)
 {
-       struct hal_data_8188e   *pHalData = GET_HAL_DATA(padapter);
-       struct sreset_priv *psrtpriv = &pHalData->srestpriv;
-
-       unsigned long current_time;
-       struct xmit_priv        *pxmitpriv = &padapter->xmitpriv;
-       unsigned int diff_time;
        u32 txdma_status;
 
        txdma_status = rtw_read32(padapter, REG_TXDMA_STATUS);
        if (txdma_status != 0x00) {
                DBG_88E("%s REG_TXDMA_STATUS:0x%08x\n", __func__, txdma_status);
                rtw_write32(padapter, REG_TXDMA_STATUS, txdma_status);
-               rtl8188e_silentreset_for_specific_platform(padapter);
        }
        /* total xmit irp = 4 */
-       current_time = jiffies;
-       if (0 == pxmitpriv->free_xmitbuf_cnt) {
-               diff_time = jiffies_to_msecs(current_time - psrtpriv->last_tx_time);
-
-               if (diff_time > 2000) {
-                       if (psrtpriv->last_tx_complete_time == 0) {
-                               psrtpriv->last_tx_complete_time = current_time;
-                       } else {
-                               diff_time = jiffies_to_msecs(current_time - psrtpriv->last_tx_complete_time);
-                               if (diff_time > 4000) {
-                                       DBG_88E("%s tx hang\n", __func__);
-                                       rtl8188e_silentreset_for_specific_platform(padapter);
-                               }
-                       }
-               }
-       }
 }
 
 void rtl8188e_sreset_linked_status_check(struct adapter *padapter)
index 2da7bde..8031ac9 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "../include/rtl8188e_hal.h"
 
-void rtl8188eu_init_recvbuf(struct adapter *padapter, struct recv_buf *precvbuf)
+void rtl8188eu_init_recvbuf(struct recv_buf *precvbuf)
 {
        precvbuf->transfer_len = 0;
 
@@ -39,7 +39,7 @@ int   rtl8188eu_init_recv_priv(struct adapter *padapter)
                     (unsigned long)padapter);
 
        /* init recv_buf */
-       _rtw_init_queue(&precvpriv->free_recv_buf_queue);
+       rtw_init_queue(&precvpriv->free_recv_buf_queue);
 
        precvpriv->pallocated_recv_buf = kzalloc(NR_RECVBUFF * sizeof(struct recv_buf) + 4,
                                                 GFP_KERNEL);
index 17be67a..b7feb4d 100644 (file)
@@ -19,15 +19,6 @@ s32  rtl8188eu_init_xmit_priv(struct adapter *adapt)
        return _SUCCESS;
 }
 
-static u8 urb_zero_packet_chk(struct adapter *adapt, int sz)
-{
-       u8 set_tx_desc_offset;
-       struct hal_data_8188e   *haldata = GET_HAL_DATA(adapt);
-       set_tx_desc_offset = (((sz + TXDESC_SIZE) %  haldata->UsbBulkOutSize) == 0) ? 1 : 0;
-
-       return set_tx_desc_offset;
-}
-
 static void rtl8188eu_cal_txdesc_chksum(struct tx_desc *ptxdesc)
 {
        u16     *usptr = (u16 *)ptxdesc;
@@ -168,13 +159,6 @@ static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bag
        struct mlme_ext_priv    *pmlmeext = &adapt->mlmeextpriv;
        struct mlme_ext_info    *pmlmeinfo = &pmlmeext->mlmext_info;
 
-       if (adapt->registrypriv.mp_mode == 0) {
-               if ((!bagg_pkt) && (urb_zero_packet_chk(adapt, sz) == 0)) {
-                       ptxdesc = (struct tx_desc *)(pmem + PACKET_OFFSET_SZ);
-                       pull = 1;
-               }
-       }
-
        memset(ptxdesc, 0, sizeof(struct tx_desc));
 
        /* 4 offset 0 */
@@ -188,13 +172,6 @@ static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bag
        if (is_multicast_ether_addr(pattrib->ra))
                ptxdesc->txdw0 |= cpu_to_le32(BMC);
 
-       if (adapt->registrypriv.mp_mode == 0) {
-               if (!bagg_pkt) {
-                       if ((pull) && (pxmitframe->pkt_offset > 0))
-                               pxmitframe->pkt_offset = pxmitframe->pkt_offset - 1;
-               }
-       }
-
        /*  pkt_offset, unit:8 bytes padding */
        if (pxmitframe->pkt_offset > 0)
                ptxdesc->txdw1 |= cpu_to_le32((pxmitframe->pkt_offset << 26) & 0x7c000000);
@@ -289,9 +266,6 @@ static s32 update_txdesc(struct xmit_frame *pxmitframe, u8 *pmem, s32 sz, u8 bag
                ptxdesc->txdw5 |= cpu_to_le32(MRateToHwRate(pmlmeext->tx_rate));
        } else if ((pxmitframe->frame_tag & 0x0f) == TXAGG_FRAMETAG) {
                DBG_88E("pxmitframe->frame_tag == TXAGG_FRAMETAG\n");
-       } else if (((pxmitframe->frame_tag & 0x0f) == MP_FRAMETAG) &&
-                  (adapt->registrypriv.mp_mode == 1)) {
-               fill_txdesc_for_mp(adapt, ptxdesc);
        } else {
                DBG_88E("pxmitframe->frame_tag = %d\n", pxmitframe->frame_tag);
 
@@ -437,30 +411,26 @@ s32 rtl8188eu_xmitframe_complete(struct adapter *adapt, struct xmit_priv *pxmitp
        }
 
        /* 3 1. pick up first frame */
-       do {
-               rtw_free_xmitframe(pxmitpriv, pxmitframe);
-
-               pxmitframe = rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
-               if (!pxmitframe) {
-                       /*  no more xmit frame, release xmit buffer */
-                       rtw_free_xmitbuf(pxmitpriv, pxmitbuf);
-                       return false;
-               }
+       rtw_free_xmitframe(pxmitpriv, pxmitframe);
 
-               pxmitframe->pxmitbuf = pxmitbuf;
-               pxmitframe->buf_addr = pxmitbuf->pbuf;
-               pxmitbuf->priv_data = pxmitframe;
+       pxmitframe = rtw_dequeue_xframe(pxmitpriv, pxmitpriv->hwxmits, pxmitpriv->hwxmit_entry);
+       if (!pxmitframe) {
+               /*  no more xmit frame, release xmit buffer */
+               rtw_free_xmitbuf(pxmitpriv, pxmitbuf);
+               return false;
+       }
 
-               pxmitframe->agg_num = 1; /*  alloc xmitframe should assign to 1. */
-               pxmitframe->pkt_offset = 1; /*  first frame of aggregation, reserve offset */
+       pxmitframe->pxmitbuf = pxmitbuf;
+       pxmitframe->buf_addr = pxmitbuf->pbuf;
+       pxmitbuf->priv_data = pxmitframe;
 
-               rtw_xmitframe_coalesce(adapt, pxmitframe->pkt, pxmitframe);
+       pxmitframe->agg_num = 1; /*  alloc xmitframe should assign to 1. */
+       pxmitframe->pkt_offset = 1; /*  first frame of aggregation, reserve offset */
 
-               /*  always return ndis_packet after rtw_xmitframe_coalesce */
-               rtw_os_xmit_complete(adapt, pxmitframe);
+       rtw_xmitframe_coalesce(adapt, pxmitframe->pkt, pxmitframe);
 
-               break;
-       } while (1);
+       /*  always return ndis_packet after rtw_xmitframe_coalesce */
+       rtw_os_xmit_complete(adapt, pxmitframe);
 
        /* 3 2. aggregate same priority and same DA(AP or STA) frames */
        pfirstframe = pxmitframe;
index 5cdabf4..ef1ae95 100644 (file)
@@ -60,7 +60,7 @@ static bool HalUsbSetQueuePipeMapping8188EUsb(struct adapter *adapt, u8 NumInPip
        return result;
 }
 
-static void rtl8188eu_interface_configure(struct adapter *adapt)
+void rtl8188eu_interface_configure(struct adapter *adapt)
 {
        struct hal_data_8188e   *haldata        = GET_HAL_DATA(adapt);
        struct dvobj_priv       *pdvobjpriv = adapter_to_dvobj(adapt);
@@ -85,7 +85,7 @@ static void rtl8188eu_interface_configure(struct adapter *adapt)
                                pdvobjpriv->RtNumInPipes, pdvobjpriv->RtNumOutPipes);
 }
 
-static u32 rtl8188eu_InitPowerOn(struct adapter *adapt)
+u32 rtl8188eu_InitPowerOn(struct adapter *adapt)
 {
        u16 value16;
        /*  HW Power on sequence */
@@ -119,18 +119,15 @@ static void _InitInterrupt(struct adapter *Adapter)
 {
        u32 imr, imr_ex;
        u8  usb_opt;
-       struct hal_data_8188e   *haldata = GET_HAL_DATA(Adapter);
 
        /* HISR write one to clear */
        rtw_write32(Adapter, REG_HISR_88E, 0xFFFFFFFF);
        /*  HIMR - */
        imr = IMR_PSTIMEOUT_88E | IMR_TBDER_88E | IMR_CPWM_88E | IMR_CPWM2_88E;
        rtw_write32(Adapter, REG_HIMR_88E, imr);
-       haldata->IntrMask[0] = imr;
 
        imr_ex = IMR_TXERR_88E | IMR_RXERR_88E | IMR_TXFOVW_88E | IMR_RXFOVW_88E;
        rtw_write32(Adapter, REG_HIMRE_88E, imr_ex);
-       haldata->IntrMask[1] = imr_ex;
 
        /*  REG_USB_SPECIAL_OPTION - BIT(4) */
        /*  0; Use interrupt endpoint to upload interrupt pkt */
@@ -403,22 +400,6 @@ static void _InitEDCA(struct adapter *Adapter)
        rtw_write32(Adapter, REG_EDCA_VO_PARAM, 0x002FA226);
 }
 
-static void _InitBeaconMaxError(struct adapter *Adapter, bool          InfraMode)
-{
-}
-
-static void _InitHWLed(struct adapter *Adapter)
-{
-       struct led_priv *pledpriv = &Adapter->ledpriv;
-
-       if (pledpriv->LedStrategy != HW_LED)
-               return;
-
-/*  HW led control */
-/*  to do .... */
-/* must consider cases of antenna diversity/ commbo card/solo card/mini card */
-}
-
 static void _InitRDGSetting(struct adapter *Adapter)
 {
        rtw_write8(Adapter, REG_RD_CTRL, 0xFF);
@@ -426,12 +407,6 @@ static void _InitRDGSetting(struct adapter *Adapter)
        rtw_write8(Adapter, REG_RD_RESP_PKT_TH, 0x05);
 }
 
-static void _InitRxSetting(struct adapter *Adapter)
-{
-       rtw_write32(Adapter, REG_MACID, 0x87654321);
-       rtw_write32(Adapter, 0x0700, 0x87654321);
-}
-
 static void _InitRetryFunction(struct adapter *Adapter)
 {
        u8 value8;
@@ -546,26 +521,6 @@ usb_AggSettingRxUpdate(
                /*  TODO: */
                break;
        }
-
-       switch (PBP_128) {
-       case PBP_128:
-               haldata->HwRxPageSize = 128;
-               break;
-       case PBP_64:
-               haldata->HwRxPageSize = 64;
-               break;
-       case PBP_256:
-               haldata->HwRxPageSize = 256;
-               break;
-       case PBP_512:
-               haldata->HwRxPageSize = 512;
-               break;
-       case PBP_1024:
-               haldata->HwRxPageSize = 1024;
-               break;
-       default:
-               break;
-       }
 }      /*  usb_AggSettingRxUpdate */
 
 static void InitUsbAggregationSetting(struct adapter *Adapter)
@@ -601,8 +556,6 @@ static void _InitBeaconParameters(struct adapter *Adapter)
        /*  beacause test chip does not contension before sending beacon. by tynli. 2009.11.03 */
        rtw_write16(Adapter, REG_BCNTCFG, 0x660F);
 
-       haldata->RegBcnCtrlVal = rtw_read8(Adapter, REG_BCN_CTRL);
-       haldata->RegTxPause = rtw_read8(Adapter, REG_TXPAUSE);
        haldata->RegFwHwTxQCtrl = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL + 2);
        haldata->RegReg542 = rtw_read8(Adapter, REG_TBTT_PROHIBIT + 2);
        haldata->RegCR_1 = rtw_read8(Adapter, REG_CR + 1);
@@ -646,40 +599,7 @@ static void _InitAntenna_Selection(struct adapter *Adapter)
        DBG_88E("%s,Cur_ant:(%x)%s\n", __func__, haldata->CurAntenna, (haldata->CurAntenna == Antenna_A) ? "Antenna_A" : "Antenna_B");
 }
 
-/*-----------------------------------------------------------------------------
- * Function:   HwSuspendModeEnable92Cu()
- *
- * Overview:   HW suspend mode switch.
- *
- * Input:              NONE
- *
- * Output:     NONE
- *
- * Return:     NONE
- *
- * Revised History:
- *     When            Who             Remark
- *     08/23/2010      MHC             HW suspend mode switch test..
- *---------------------------------------------------------------------------*/
-enum rt_rf_power_state RfOnOffDetect(struct adapter *adapt)
-{
-       u8 val8;
-       enum rt_rf_power_state rfpowerstate = rf_off;
-
-       if (adapt->pwrctrlpriv.bHWPowerdown) {
-               val8 = rtw_read8(adapt, REG_HSISR);
-               DBG_88E("pwrdown, 0x5c(BIT(7))=%02x\n", val8);
-               rfpowerstate = (val8 & BIT(7)) ? rf_off : rf_on;
-       } else { /*  rf on/off */
-               rtw_write8(adapt, REG_MAC_PINMUX_CFG, rtw_read8(adapt, REG_MAC_PINMUX_CFG) & ~(BIT(3)));
-               val8 = rtw_read8(adapt, REG_GPIO_IO_SEL);
-               DBG_88E("GPIO_IN=%02x\n", val8);
-               rfpowerstate = (val8 & BIT(3)) ? rf_on : rf_off;
-       }
-       return rfpowerstate;
-}      /*  HalDetectPwrDownMode */
-
-static u32 rtl8188eu_hal_init(struct adapter *Adapter)
+u32 rtl8188eu_hal_init(struct adapter *Adapter)
 {
        u8 value8 = 0;
        u16  value16;
@@ -742,22 +662,16 @@ static u32 rtl8188eu_hal_init(struct adapter *Adapter)
        _InitTxBufferBoundary(Adapter, 0);
 
        HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_DOWNLOAD_FW);
-       if (Adapter->registrypriv.mp_mode == 1) {
-               _InitRxSetting(Adapter);
+       status = rtl8188e_FirmwareDownload(Adapter);
+
+       if (status != _SUCCESS) {
+               DBG_88E("%s: Download Firmware failed!!\n", __func__);
                Adapter->bFWReady = false;
                haldata->fw_ractrl = false;
+               return status;
        } else {
-               status = rtl8188e_FirmwareDownload(Adapter);
-
-               if (status != _SUCCESS) {
-                       DBG_88E("%s: Download Firmware failed!!\n", __func__);
-                       Adapter->bFWReady = false;
-                       haldata->fw_ractrl = false;
-                       return status;
-               } else {
-                       Adapter->bFWReady = true;
-                       haldata->fw_ractrl = false;
-               }
+               Adapter->bFWReady = true;
+               haldata->fw_ractrl = false;
        }
        rtl8188e_InitializeFirmwareVars(Adapter);
 
@@ -819,7 +733,6 @@ static u32 rtl8188eu_hal_init(struct adapter *Adapter)
        InitUsbAggregationSetting(Adapter);
        _InitOperationMode(Adapter);/* todo */
        _InitBeaconParameters(Adapter);
-       _InitBeaconMaxError(Adapter, true);
 
        /*  */
        /*  Init CR MACTXEN, MACRXEN after setting RxFF boundary REG_TRXFF_BNDY to patch */
@@ -847,8 +760,6 @@ static u32 rtl8188eu_hal_init(struct adapter *Adapter)
        rtw_write16(Adapter, REG_PKT_VO_VI_LIFE_TIME, 0x0400);  /*  unit: 256us. 256ms */
        rtw_write16(Adapter, REG_PKT_BE_BK_LIFE_TIME, 0x0400);  /*  unit: 256us. 256ms */
 
-       _InitHWLed(Adapter);
-
        /* Keep RfRegChnlVal for later use. */
        haldata->RfRegChnlVal[0] = PHY_QueryRFReg(Adapter, (enum rf_radio_path)0, RF_CHNLBW, bRFRegOffsetMask);
        haldata->RfRegChnlVal[1] = PHY_QueryRFReg(Adapter, (enum rf_radio_path)1, RF_CHNLBW, bRFRegOffsetMask);
@@ -887,48 +798,43 @@ static u32 rtl8188eu_hal_init(struct adapter *Adapter)
        HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_INIT_HAL_DM);
        rtl8188e_InitHalDm(Adapter);
 
-       if (Adapter->registrypriv.mp_mode == 1) {
-               Adapter->mppriv.channel = haldata->CurrentChannel;
-               MPT_InitializeAdapter(Adapter, Adapter->mppriv.channel);
-       } else {
-               /*  2010/08/11 MH Merge from 8192SE for Minicard init. We need to confirm current radio status */
-               /*  and then decide to enable RF or not.!!!??? For Selective suspend mode. We may not */
-               /*  call initstruct adapter. May cause some problem?? */
-               /*  Fix the bug that Hw/Sw radio off before S3/S4, the RF off action will not be executed */
-               /*  in MgntActSet_RF_State() after wake up, because the value of haldata->eRFPowerState */
-               /*  is the same as eRfOff, we should change it to eRfOn after we config RF parameters. */
-               /*  Added by tynli. 2010.03.30. */
-               pwrctrlpriv->rf_pwrstate = rf_on;
-
-               /*  enable Tx report. */
-               rtw_write8(Adapter,  REG_FWHW_TXQ_CTRL + 1, 0x0F);
-
-               /*  Suggested by SD1 pisa. Added by tynli. 2011.10.21. */
-               rtw_write8(Adapter, REG_EARLY_MODE_CONTROL + 3, 0x01);/* Pretx_en, for WEP/TKIP SEC */
-
-               /* tynli_test_tx_report. */
-               rtw_write16(Adapter, REG_TX_RPT_TIME, 0x3DF0);
-
-               /* enable tx DMA to drop the redundate data of packet */
-               rtw_write16(Adapter, REG_TXDMA_OFFSET_CHK, (rtw_read16(Adapter, REG_TXDMA_OFFSET_CHK) | DROP_DATA_EN));
-
-               HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_IQK);
-               /*  2010/08/26 MH Merge from 8192CE. */
-               if (pwrctrlpriv->rf_pwrstate == rf_on) {
-                       if (haldata->odmpriv.RFCalibrateInfo.bIQKInitialized) {
-                               PHY_IQCalibrate_8188E(Adapter, true);
-                       } else {
-                               PHY_IQCalibrate_8188E(Adapter, false);
-                               haldata->odmpriv.RFCalibrateInfo.bIQKInitialized = true;
-                       }
+       /*  2010/08/11 MH Merge from 8192SE for Minicard init. We need to confirm current radio status */
+       /*  and then decide to enable RF or not.!!!??? For Selective suspend mode. We may not */
+       /*  call initstruct adapter. May cause some problem?? */
+       /*  Fix the bug that Hw/Sw radio off before S3/S4, the RF off action will not be executed */
+       /*  in MgntActSet_RF_State() after wake up, because the value of haldata->eRFPowerState */
+       /*  is the same as eRfOff, we should change it to eRfOn after we config RF parameters. */
+       /*  Added by tynli. 2010.03.30. */
+       pwrctrlpriv->rf_pwrstate = rf_on;
+
+       /*  enable Tx report. */
+       rtw_write8(Adapter,  REG_FWHW_TXQ_CTRL + 1, 0x0F);
 
-                       HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_PW_TRACK);
+       /*  Suggested by SD1 pisa. Added by tynli. 2011.10.21. */
+       rtw_write8(Adapter, REG_EARLY_MODE_CONTROL + 3, 0x01);/* Pretx_en, for WEP/TKIP SEC */
 
-                       ODM_TXPowerTrackingCheck(&haldata->odmpriv);
+       /* tynli_test_tx_report. */
+       rtw_write16(Adapter, REG_TX_RPT_TIME, 0x3DF0);
 
-                       HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_LCK);
-                       PHY_LCCalibrate_8188E(Adapter);
+       /* enable tx DMA to drop the redundate data of packet */
+       rtw_write16(Adapter, REG_TXDMA_OFFSET_CHK, (rtw_read16(Adapter, REG_TXDMA_OFFSET_CHK) | DROP_DATA_EN));
+
+       HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_IQK);
+       /*  2010/08/26 MH Merge from 8192CE. */
+       if (pwrctrlpriv->rf_pwrstate == rf_on) {
+               if (haldata->odmpriv.RFCalibrateInfo.bIQKInitialized) {
+                       PHY_IQCalibrate_8188E(Adapter, true);
+               } else {
+                       PHY_IQCalibrate_8188E(Adapter, false);
+                       haldata->odmpriv.RFCalibrateInfo.bIQKInitialized = true;
                }
+
+               HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_PW_TRACK);
+
+               ODM_TXPowerTrackingCheck(&haldata->odmpriv);
+
+               HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_LCK);
+               PHY_LCCalibrate_8188E(Adapter);
        }
 
 /* HAL_INIT_PROFILE_TAG(HAL_INIT_STAGES_INIT_PABIAS); */
@@ -1013,17 +919,8 @@ static void CardDisableRTL8188EU(struct adapter *Adapter)
        haldata->bMacPwrCtrlOn = false;
        Adapter->bFWReady = false;
 }
-static void rtl8192cu_hw_power_down(struct adapter *adapt)
-{
-       /*  2010/-8/09 MH For power down module, we need to enable register block contrl reg at 0x1c. */
-       /*  Then enable power down control bit of register 0x04 BIT(4) and BIT(15) as 1. */
 
-       /*  Enable register area 0x0-0xc. */
-       rtw_write8(adapt, REG_RSV_CTRL, 0x0);
-       rtw_write16(adapt, REG_APS_FSMCO, 0x8812);
-}
-
-static u32 rtl8188eu_hal_deinit(struct adapter *Adapter)
+u32 rtl8188eu_hal_deinit(struct adapter *Adapter)
 {
 
        DBG_88E("==> %s\n", __func__);
@@ -1034,29 +931,20 @@ static u32 rtl8188eu_hal_deinit(struct adapter *Adapter)
        DBG_88E("bkeepfwalive(%x)\n", Adapter->pwrctrlpriv.bkeepfwalive);
        if (Adapter->pwrctrlpriv.bkeepfwalive) {
                _ps_close_RF(Adapter);
-               if ((Adapter->pwrctrlpriv.bHWPwrPindetect) && (Adapter->pwrctrlpriv.bHWPowerdown))
-                       rtl8192cu_hw_power_down(Adapter);
        } else {
                if (Adapter->hw_init_completed) {
                        CardDisableRTL8188EU(Adapter);
-
-                       if ((Adapter->pwrctrlpriv.bHWPwrPindetect) && (Adapter->pwrctrlpriv.bHWPowerdown))
-                               rtl8192cu_hw_power_down(Adapter);
                }
        }
        return _SUCCESS;
  }
 
-static unsigned int rtl8188eu_inirp_init(struct adapter *Adapter)
+unsigned int rtl8188eu_inirp_init(struct adapter *Adapter)
 {
        u8 i;
        struct recv_buf *precvbuf;
        uint    status;
-       struct intf_hdl *pintfhdl = &Adapter->iopriv.intf;
        struct recv_priv *precvpriv = &Adapter->recvpriv;
-       u32 (*_read_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *pmem);
-
-       _read_port = pintfhdl->io_ops._read_port;
 
        status = _SUCCESS;
 
@@ -1065,7 +953,7 @@ static unsigned int rtl8188eu_inirp_init(struct adapter *Adapter)
        /* issue Rx irp to receive data */
        precvbuf = (struct recv_buf *)precvpriv->precv_buf;
        for (i = 0; i < NR_RECVBUFF; i++) {
-               if (!_read_port(pintfhdl, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf)) {
+               if (!rtw_read_port(Adapter, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf)) {
                        status = _FAIL;
                        goto exit;
                }
@@ -1078,13 +966,6 @@ exit:
        return status;
 }
 
-static unsigned int rtl8188eu_inirp_deinit(struct adapter *Adapter)
-{
-       rtw_read_port_cancel(Adapter);
-
-       return _SUCCESS;
-}
-
 /*  */
 /*  */
 /*     EEPROM/EFUSE Content Parsing */
@@ -1096,7 +977,6 @@ static void _ReadLEDSetting(struct adapter *Adapter, u8 *PROMContent, bool Autol
        struct hal_data_8188e   *haldata = GET_HAL_DATA(Adapter);
 
        pledpriv->bRegUseLed = true;
-       pledpriv->LedStrategy = SW_LED_MODE1;
        haldata->bLedOpenDrain = true;/*  Support Open-drain arrangement for controlling the LED. */
 }
 
@@ -1129,7 +1009,7 @@ static void Hal_EfuseParseMACAddr_8188EU(struct adapter *adapt, u8 *hwinfo, bool
 {
        u16 i;
        u8 sMacAddr[6] = {0x00, 0xE0, 0x4C, 0x81, 0x88, 0x02};
-       struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(adapt);
+       struct eeprom_priv *eeprom = &adapt->eeprompriv;
 
        if (AutoLoadFail) {
                for (i = 0; i < 6; i++)
@@ -1140,16 +1020,12 @@ static void Hal_EfuseParseMACAddr_8188EU(struct adapter *adapt, u8 *hwinfo, bool
        }
 }
 
-static void Hal_CustomizeByCustomerID_8188EU(struct adapter *adapt)
-{
-}
-
 static void
 readAdapterInfo_8188EU(
                struct adapter *adapt
        )
 {
-       struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(adapt);
+       struct eeprom_priv *eeprom = &adapt->eeprompriv;
 
        /* parse the eeprom/efuse content */
        Hal_EfuseParseIDCode88E(adapt, eeprom->efuse_eeprom_data);
@@ -1166,12 +1042,6 @@ readAdapterInfo_8188EU(
        Hal_EfuseParseBoardType88E(adapt, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
        Hal_ReadThermalMeter_88E(adapt, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
 
-       /*  */
-       /*  The following part initialize some vars by PG info. */
-       /*  */
-       Hal_InitChannelPlan(adapt);
-       Hal_CustomizeByCustomerID_8188EU(adapt);
-
        _ReadLEDSetting(adapt, eeprom->efuse_eeprom_data, eeprom->bautoload_fail_flag);
 }
 
@@ -1179,7 +1049,7 @@ static void _ReadPROMContent(
        struct adapter *Adapter
        )
 {
-       struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(Adapter);
+       struct eeprom_priv *eeprom = &Adapter->eeprompriv;
        u8 eeValue;
 
        /* check system boot selection */
@@ -1203,19 +1073,13 @@ static void _ReadRFType(struct adapter *Adapter)
 
 static int _ReadAdapterInfo8188EU(struct adapter *Adapter)
 {
-       u32 start = jiffies;
-
-       MSG_88E("====> %s\n", __func__);
-
        _ReadRFType(Adapter);/* rf_chip -> _InitRFType() */
        _ReadPROMContent(Adapter);
 
-       MSG_88E("<==== %s in %d ms\n", __func__, rtw_get_passing_time_ms(start));
-
        return _SUCCESS;
 }
 
-static void ReadAdapterInfo8188EU(struct adapter *Adapter)
+void ReadAdapterInfo8188EU(struct adapter *Adapter)
 {
        /*  Read EEPROM size before call any EEPROM function */
        Adapter->EepromAddressSize = GetEEPROMSize8188E(Adapter);
@@ -1223,11 +1087,6 @@ static void ReadAdapterInfo8188EU(struct adapter *Adapter)
        _ReadAdapterInfo8188EU(Adapter);
 }
 
-#define GPIO_DEBUG_PORT_NUM 0
-static void rtl8192cu_trigger_gpio_0(struct adapter *adapt)
-{
-}
-
 static void ResumeTxBeacon(struct adapter *adapt)
 {
        struct hal_data_8188e *haldata = GET_HAL_DATA(adapt);
@@ -1349,7 +1208,7 @@ static void hw_var_set_bcn_func(struct adapter *Adapter, u8 variable, u8 *val)
                rtw_write8(Adapter, bcn_ctrl_reg, rtw_read8(Adapter, bcn_ctrl_reg) & (~(EN_BCN_FUNCTION | EN_TXBCN_RPT)));
 }
 
-static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
+void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 {
        struct hal_data_8188e   *haldata = GET_HAL_DATA(Adapter);
        struct dm_priv  *pdmpriv = &haldata->dmpriv;
@@ -1532,7 +1391,7 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
                                }
 
                                if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
-                                       RetryLimit = (haldata->CustomerID == RT_CID_CCX) ? 7 : 48;
+                                       RetryLimit = 48;
                                else /*  Ad-hoc Mode */
                                        RetryLimit = 0x7;
                        } else if (type == 1) {
@@ -1610,7 +1469,6 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
                break;
        case HW_VAR_DM_FUNC_SET:
                if (*((u32 *)val) == DYNAMIC_ALL_FUNC_ENABLE) {
-                       pdmpriv->DMFlag = pdmpriv->InitDMFlag;
                        podmpriv->SupportAbility =      pdmpriv->InitODMFlag;
                } else {
                        podmpriv->SupportAbility |= *((u32 *)val);
@@ -1757,15 +1615,13 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
                        rtw_write8(Adapter, REG_RXDMA_AGG_PG_TH, threshold);
                }
                break;
-       case HW_VAR_SET_RPWM:
-               break;
        case HW_VAR_H2C_FW_PWRMODE:
                {
                        u8 psmode = (*(u8 *)val);
 
                        /*  Forece leave RF low power mode for 1T1R to prevent conficting setting in Fw power */
                        /*  saving sequence. 2010.06.07. Added by tynli. Suggested by SD3 yschang. */
-                       if ((psmode != PS_MODE_ACTIVE) && (!IS_92C_SERIAL(haldata->VersionID)))
+                       if (psmode != PS_MODE_ACTIVE)
                                ODM_RF_Saving(podmpriv, true);
                        rtl8188e_set_FwPwrMode_cmd(Adapter, psmode);
                }
@@ -1776,14 +1632,12 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
                        rtl8188e_set_FwJoinBssReport_cmd(Adapter, mstatus);
                }
                break;
-#ifdef CONFIG_88EU_P2P
        case HW_VAR_H2C_FW_P2P_PS_OFFLOAD:
                {
                        u8 p2p_ps_state = (*(u8 *)val);
                        rtl8188e_set_p2p_ps_offload_cmd(Adapter, p2p_ps_state);
                }
                break;
-#endif
        case HW_VAR_INITIAL_GAIN:
                {
                        struct rtw_dig *pDigTable = &podmpriv->DM_DigTable;
@@ -1797,9 +1651,6 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
                        }
                }
                break;
-       case HW_VAR_TRIGGER_GPIO_0:
-               rtl8192cu_trigger_gpio_0(Adapter);
-               break;
        case HW_VAR_RPT_TIMER_SETTING:
                {
                        u16 min_rpt_time = (*(u16 *)val);
@@ -1850,8 +1701,6 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
                        }
                }
                break;
-       case HW_VAR_CHECK_TXBUF:
-               break;
        case HW_VAR_APFM_ON_MAC:
                haldata->bMacPwrCtrlOn = *val;
                DBG_88E("%s: bMacPwrCtrlOn=%d\n", __func__, haldata->bMacPwrCtrlOn);
@@ -1876,7 +1725,7 @@ static void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 
 }
 
-static void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
+void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 {
        struct hal_data_8188e   *haldata = GET_HAL_DATA(Adapter);
        struct odm_dm_struct *podmpriv = &haldata->odmpriv;
@@ -1934,16 +1783,8 @@ static void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val)
 
 }
 
-/*  */
-/*     Description: */
-/*             Query setting of specified variable. */
-/*  */
-static u8
-GetHalDefVar8188EUsb(
-               struct adapter *Adapter,
-               enum hal_def_variable eVariable,
-               void *pValue
-       )
+/* Query setting of specified variable. */
+u8 GetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue)
 {
        struct hal_data_8188e   *haldata = GET_HAL_DATA(Adapter);
        u8 bResult = _SUCCESS;
@@ -2027,11 +1868,8 @@ GetHalDefVar8188EUsb(
        return bResult;
 }
 
-/*  */
-/*     Description: */
-/*             Change default setting of specified variable. */
-/*  */
-static u8 SetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue)
+/* Change default setting of specified variable. */
+u8 SetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue)
 {
        struct hal_data_8188e   *haldata = GET_HAL_DATA(Adapter);
        u8 bResult = _SUCCESS;
@@ -2079,7 +1917,7 @@ static u8 SetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eV
        return bResult;
 }
 
-static void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level)
+void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level)
 {
        u8 init_rate = 0;
        u8 networkType, raid;
@@ -2162,7 +2000,7 @@ static void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_l
        psta->init_rate = init_rate;
 }
 
-static void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt)
+void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt)
 {
        u32 value32;
        struct mlme_ext_priv    *pmlmeext = &adapt->mlmeextpriv;
@@ -2196,7 +2034,7 @@ static void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt)
        rtw_write8(adapt, bcn_ctrl_reg, rtw_read8(adapt, bcn_ctrl_reg) | BIT(1));
 }
 
-static void rtl8188eu_init_default_value(struct adapter *adapt)
+void rtl8188eu_init_default_value(struct adapter *adapt)
 {
        struct hal_data_8188e *haldata;
        struct pwrctrl_priv *pwrctrlpriv;
@@ -2220,52 +2058,10 @@ static void rtl8188eu_init_default_value(struct adapter *adapt)
                haldata->odmpriv.RFCalibrateInfo.ThermalValue_HP[i] = 0;
 }
 
-static u8 rtl8188eu_ps_func(struct adapter *Adapter, enum hal_intf_ps_func efunc_id, u8 *val)
-{
-       u8 bResult = true;
-       return bResult;
-}
-
-void rtl8188eu_set_hal_ops(struct adapter *adapt)
+void rtl8188eu_alloc_haldata(struct adapter *adapt)
 {
-       struct hal_ops  *halfunc = &adapt->HalFunc;
-
        adapt->HalData = kzalloc(sizeof(struct hal_data_8188e), GFP_KERNEL);
        if (!adapt->HalData)
                DBG_88E("cant not alloc memory for HAL DATA\n");
        adapt->hal_data_sz = sizeof(struct hal_data_8188e);
-
-       halfunc->hal_power_on = rtl8188eu_InitPowerOn;
-       halfunc->hal_init = &rtl8188eu_hal_init;
-       halfunc->hal_deinit = &rtl8188eu_hal_deinit;
-
-       halfunc->inirp_init = &rtl8188eu_inirp_init;
-       halfunc->inirp_deinit = &rtl8188eu_inirp_deinit;
-
-       halfunc->init_xmit_priv = &rtl8188eu_init_xmit_priv;
-
-       halfunc->init_recv_priv = &rtl8188eu_init_recv_priv;
-       halfunc->free_recv_priv = &rtl8188eu_free_recv_priv;
-       halfunc->InitSwLeds = &rtl8188eu_InitSwLeds;
-       halfunc->DeInitSwLeds = &rtl8188eu_DeInitSwLeds;
-
-       halfunc->init_default_value = &rtl8188eu_init_default_value;
-       halfunc->intf_chip_configure = &rtl8188eu_interface_configure;
-       halfunc->read_adapter_info = &ReadAdapterInfo8188EU;
-
-       halfunc->SetHwRegHandler = &SetHwReg8188EU;
-       halfunc->GetHwRegHandler = &GetHwReg8188EU;
-       halfunc->GetHalDefVarHandler = &GetHalDefVar8188EUsb;
-       halfunc->SetHalDefVarHandler = &SetHalDefVar8188EUsb;
-
-       halfunc->UpdateRAMaskHandler = &UpdateHalRAMask8188EUsb;
-       halfunc->SetBeaconRelatedRegistersHandler = &SetBeaconRelatedRegisters8188EUsb;
-
-       halfunc->hal_xmit = &rtl8188eu_hal_xmit;
-       halfunc->mgnt_xmit = &rtl8188eu_mgnt_xmit;
-
-       halfunc->interface_ps_func = &rtl8188eu_ps_func;
-
-       rtl8188e_set_hal_ops(halfunc);
-
 }
index 0cf6903..e4a9350 100644 (file)
 #include "../include/recv_osdep.h"
 #include "../include/rtl8188e_hal.h"
 
-static int usbctrl_vendorreq(struct intf_hdl *pintfhdl, u16 value, void *pdata, u16 len, u8 requesttype)
+static int usb_read(struct intf_hdl *intf, u16 value, void *data, u8 size)
 {
-       struct adapter  *adapt = pintfhdl->padapter;
-       struct dvobj_priv  *dvobjpriv = adapter_to_dvobj(adapt);
+       struct adapter *adapt = intf->padapter;
+       struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt);
        struct usb_device *udev = dvobjpriv->pusbdev;
-       unsigned int pipe;
-       int status = 0;
-       u8 *pIo_buf;
-       int vendorreq_times = 0;
-
-       if ((adapt->bSurpriseRemoved) || (adapt->pwrctrlpriv.pnp_bstop_trx)) {
-               status = -EPERM;
-               goto exit;
+       int status;
+       u8 io_buf[4];
+
+       if (adapt->bSurpriseRemoved || adapt->pwrctrlpriv.pnp_bstop_trx)
+               return -EPERM;
+
+       status = usb_control_msg_recv(udev, 0, REALTEK_USB_VENQT_CMD_REQ,
+                                     REALTEK_USB_VENQT_READ, value,
+                                     REALTEK_USB_VENQT_CMD_IDX, io_buf,
+                                     size, RTW_USB_CONTROL_MSG_TIMEOUT,
+                                     GFP_KERNEL);
+
+       if (status == -ESHUTDOWN ||
+           status == -ENODEV ||
+           status == -ENOENT) {
+               /*
+                * device or controller has been disabled due to
+                * some problem that could not be worked around,
+                * device or bus doesn’t exist, endpoint does not
+                * exist or is not enabled.
+                */
+               adapt->bSurpriseRemoved = true;
+               return status;
        }
 
-       if (len > MAX_VENDOR_REQ_CMD_SIZE) {
-               DBG_88E("[%s] Buffer len error ,vendor request failed\n", __func__);
-               status = -EINVAL;
-               goto exit;
+       if (status < 0) {
+               if (rtw_inc_and_chk_continual_urb_error(dvobjpriv))
+                       adapt->bSurpriseRemoved = true;
+
+               return status;
        }
 
-       _enter_critical_mutex(&dvobjpriv->usb_vendor_req_mutex, NULL);
+       rtw_reset_continual_urb_error(dvobjpriv);
+       memcpy(data, io_buf, size);
 
-       /*  Acquire IO memory for vendorreq */
-       pIo_buf = dvobjpriv->usb_vendor_req_buf;
+       return status;
+}
 
-       if (!pIo_buf) {
-               DBG_88E("[%s] pIo_buf == NULL\n", __func__);
-               status = -ENOMEM;
-               goto release_mutex;
+static int usb_write(struct intf_hdl *intf, u16 value, void *data, u8 size)
+{
+       struct adapter *adapt = intf->padapter;
+       struct dvobj_priv *dvobjpriv = adapter_to_dvobj(adapt);
+       struct usb_device *udev = dvobjpriv->pusbdev;
+       int status;
+       u8 io_buf[VENDOR_CMD_MAX_DATA_LEN];
+
+       if (adapt->bSurpriseRemoved || adapt->pwrctrlpriv.pnp_bstop_trx)
+               return -EPERM;
+
+       memcpy(io_buf, data, size);
+       status = usb_control_msg_send(udev, 0, REALTEK_USB_VENQT_CMD_REQ,
+                                     REALTEK_USB_VENQT_WRITE, value,
+                                     REALTEK_USB_VENQT_CMD_IDX, io_buf,
+                                     size, RTW_USB_CONTROL_MSG_TIMEOUT,
+                                     GFP_KERNEL);
+
+       if (status == -ESHUTDOWN ||
+           status == -ENODEV ||
+           status == -ENOENT) {
+               /*
+                * device or controller has been disabled due to
+                * some problem that could not be worked around,
+                * device or bus doesn’t exist, endpoint does not
+                * exist or is not enabled.
+                */
+               adapt->bSurpriseRemoved = true;
+               return status;
        }
 
-       if (requesttype == REALTEK_USB_VENQT_READ)
-               pipe = usb_rcvctrlpipe(udev, 0);/* read_in */
-       else
-               pipe = usb_sndctrlpipe(udev, 0);/* write_out */
-
-       while (++vendorreq_times <= MAX_USBCTRL_VENDORREQ_TIMES) {
-               if (requesttype == REALTEK_USB_VENQT_READ)
-                       memset(pIo_buf, 0, len);
-               else
-                       memcpy(pIo_buf, pdata, len);
-
-               status = usb_control_msg(udev, pipe, REALTEK_USB_VENQT_CMD_REQ,
-                                        requesttype, value, REALTEK_USB_VENQT_CMD_IDX,
-                                        pIo_buf, len, RTW_USB_CONTROL_MSG_TIMEOUT);
-
-               if (status == len) {   /*  Success this control transfer. */
-                       rtw_reset_continual_urb_error(dvobjpriv);
-                       if (requesttype == REALTEK_USB_VENQT_READ)
-                               memcpy(pdata, pIo_buf,  len);
-               } else { /*  error cases */
-                       DBG_88E("reg 0x%x, usb %s %u fail, status:%d value=0x%x, vendorreq_times:%d\n",
-                               value, (requesttype == REALTEK_USB_VENQT_READ) ? "read" : "write",
-                               len, status, *(u32 *)pdata, vendorreq_times);
-
-                       if (status < 0) {
-                               if (status == (-ESHUTDOWN) || status == -ENODEV) {
-                                       adapt->bSurpriseRemoved = true;
-                               } else {
-                                       struct hal_data_8188e   *haldata = GET_HAL_DATA(adapt);
-                                       haldata->srestpriv.wifi_error_status = USB_VEN_REQ_CMD_FAIL;
-                               }
-                       } else { /*  status != len && status >= 0 */
-                               if (status > 0) {
-                                       if (requesttype == REALTEK_USB_VENQT_READ) {
-                                               /*  For Control read transfer, we have to copy the read data from pIo_buf to pdata. */
-                                               memcpy(pdata, pIo_buf,  len);
-                                       }
-                               }
-                       }
+       if (status < 0) {
+               if (rtw_inc_and_chk_continual_urb_error(dvobjpriv))
+                       adapt->bSurpriseRemoved = true;
 
-                       if (rtw_inc_and_chk_continual_urb_error(dvobjpriv)) {
-                               adapt->bSurpriseRemoved = true;
-                               break;
-                       }
+               return status;
+       }
 
-               }
+       rtw_reset_continual_urb_error(dvobjpriv);
 
-               /*  firmware download is checksumed, don't retry */
-               if ((value >= FW_8188E_START_ADDRESS && value <= FW_8188E_END_ADDRESS) || status == len)
-                       break;
-       }
-release_mutex:
-       _exit_critical_mutex(&dvobjpriv->usb_vendor_req_mutex, NULL);
-exit:
        return status;
 }
 
-static u8 usb_read8(struct intf_hdl *pintfhdl, u32 addr)
+u8 rtw_read8(struct adapter *adapter, u32 addr)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
        u8 data;
 
-       usbctrl_vendorreq(pintfhdl, wvalue, &data, 1, REALTEK_USB_VENQT_READ);
+       usb_read(intf, value, &data, 1);
 
        return data;
 }
 
-static u16 usb_read16(struct intf_hdl *pintfhdl, u32 addr)
+u16 rtw_read16(struct adapter *adapter, u32 addr)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
-       __le32 data;
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
+       __le16 data;
 
-       usbctrl_vendorreq(pintfhdl, wvalue, &data, 2, REALTEK_USB_VENQT_READ);
+       usb_read(intf, value, &data, 2);
 
-       return (u16)(le32_to_cpu(data) & 0xffff);
+       return le16_to_cpu(data);
 }
 
-static u32 usb_read32(struct intf_hdl *pintfhdl, u32 addr)
+u32 rtw_read32(struct adapter *adapter, u32 addr)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
        __le32 data;
 
-       usbctrl_vendorreq(pintfhdl, wvalue, &data, 4, REALTEK_USB_VENQT_READ);
+       usb_read(intf, value, &data, 4);
 
        return le32_to_cpu(data);
 }
 
-static int usb_write8(struct intf_hdl *pintfhdl, u32 addr, u8 val)
+int rtw_write8(struct adapter *adapter, u32 addr, u8 val)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
+       int ret;
 
-       return usbctrl_vendorreq(pintfhdl, wvalue, &val, 1, REALTEK_USB_VENQT_WRITE);
+       ret = usb_write(intf, value, &val, 1);
+
+       return RTW_STATUS_CODE(ret);
 }
 
-static int usb_write16(struct intf_hdl *pintfhdl, u32 addr, u16 val)
+int rtw_write16(struct adapter *adapter, u32 addr, u16 val)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
-       __le32 data = cpu_to_le32(val & 0x0000ffff);
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
+       __le16 data = cpu_to_le16(val);
+       int ret;
+
+       ret = usb_write(intf, value, &data, 2);
 
-       return usbctrl_vendorreq(pintfhdl, wvalue, &data, 2, REALTEK_USB_VENQT_WRITE);
+       return RTW_STATUS_CODE(ret);
 }
 
-static int usb_write32(struct intf_hdl *pintfhdl, u32 addr, u32 val)
+int rtw_write32(struct adapter *adapter, u32 addr, u32 val)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
        __le32 data = cpu_to_le32(val);
+       int ret;
 
-       return usbctrl_vendorreq(pintfhdl, wvalue, &data, 4, REALTEK_USB_VENQT_WRITE);
+       ret = usb_write(intf, value, &data, 4);
+
+       return RTW_STATUS_CODE(ret);
 }
 
-static int usb_writeN(struct intf_hdl *pintfhdl, u32 addr, u32 length, u8 *pdata)
+int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *data)
 {
-       u16 wvalue = (u16)(addr & 0x0000ffff);
-       u8 buf[VENDOR_CMD_MAX_DATA_LEN] = {0};
+       struct io_priv *io_priv = &adapter->iopriv;
+       struct intf_hdl *intf = &io_priv->intf;
+       u16 value = addr & 0xffff;
+       int ret;
 
        if (length > VENDOR_CMD_MAX_DATA_LEN)
-               return -EINVAL;
+               return _FAIL;
 
-       memcpy(buf, pdata, length);
+       ret = usb_write(intf, value, data, length);
 
-       return usbctrl_vendorreq(pintfhdl, wvalue, buf, (length & 0xffff), REALTEK_USB_VENQT_WRITE);
+       return RTW_STATUS_CODE(ret);
 }
 
 static void interrupt_handler_8188eu(struct adapter *adapt, u16 pkt_len, u8 *pbuf)
@@ -415,10 +435,6 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs)
                        break;
                case -EPROTO:
                case -EOVERFLOW:
-                       {
-                               struct hal_data_8188e   *haldata = GET_HAL_DATA(adapt);
-                               haldata->srestpriv.wifi_error_status = USB_READ_PORT_FAIL;
-                       }
                        precvbuf->reuse = true;
                        rtw_read_port(adapt, precvpriv->ff_hwaddr, 0, (unsigned char *)precvbuf);
                        break;
@@ -431,11 +447,10 @@ static void usb_read_port_complete(struct urb *purb, struct pt_regs *regs)
        }
 }
 
-static u32 usb_read_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem)
+u32 rtw_read_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *rmem)
 {
        struct urb *purb = NULL;
        struct recv_buf *precvbuf = (struct recv_buf *)rmem;
-       struct adapter          *adapter = pintfhdl->padapter;
        struct dvobj_priv       *pdvobj = adapter_to_dvobj(adapter);
        struct recv_priv        *precvpriv = &adapter->recvpriv;
        struct usb_device       *pusbd = pdvobj->pusbdev;
@@ -458,7 +473,7 @@ static u32 usb_read_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem)
                        precvbuf->reuse = true;
        }
 
-       rtl8188eu_init_recvbuf(adapter, precvbuf);
+       rtl8188eu_init_recvbuf(precvbuf);
 
        /* re-assign for linux based on skb */
        if (!precvbuf->reuse || !precvbuf->pskb) {
@@ -533,30 +548,3 @@ void rtl8188eu_xmit_tasklet(unsigned long priv)
                        break;
        }
 }
-
-void rtl8188eu_set_intf_ops(struct _io_ops     *pops)
-{
-
-       memset((u8 *)pops, 0, sizeof(struct _io_ops));
-       pops->_read8 = &usb_read8;
-       pops->_read16 = &usb_read16;
-       pops->_read32 = &usb_read32;
-       pops->_read_mem = &usb_read_mem;
-       pops->_read_port = &usb_read_port;
-       pops->_write8 = &usb_write8;
-       pops->_write16 = &usb_write16;
-       pops->_write32 = &usb_write32;
-       pops->_writeN = &usb_writeN;
-       pops->_write_mem = &usb_write_mem;
-       pops->_write_port = &usb_write_port;
-       pops->_read_port_cancel = &usb_read_port_cancel;
-       pops->_write_port_cancel = &usb_write_port_cancel;
-
-}
-
-void rtl8188eu_set_hw_type(struct adapter *adapt)
-{
-       adapt->chip_type = RTL8188E;
-       adapt->HardwareType = HARDWARE_TYPE_RTL8188EU;
-       DBG_88E("CHIP TYPE: RTL8188E\n");
-}
index 4370ec2..6f901ce 100644 (file)
 /*--------------------------Define Parameters-------------------------------*/
 
 /*------------------------------Define structure----------------------------*/
-enum sw_chnl_cmd_id {
-       CmdID_End,
-       CmdID_SetTxPowerLevel,
-       CmdID_BBRegWrite10,
-       CmdID_WritePortUlong,
-       CmdID_WritePortUshort,
-       CmdID_WritePortUchar,
-       CmdID_RF_WriteReg,
-};
-
-/* 1. Switch channel related */
-struct sw_chnl_cmd {
-       enum sw_chnl_cmd_id CmdID;
-       u32 Para1;
-       u32 Para2;
-       u32 msDelay;
-};
 
 enum hw90_block {
        HW90_BLOCK_MAC = 0,
@@ -65,24 +48,6 @@ enum rf_radio_path {
                                                 * total three groups */
 #define CHANNEL_GROUP_MAX_88E          6
 
-enum wireless_mode {
-       WIRELESS_MODE_UNKNOWN = 0x00,
-       WIRELESS_MODE_B                 = BIT(0),
-       WIRELESS_MODE_G                 = BIT(1),
-       WIRELESS_MODE_AUTO              = BIT(5),
-       WIRELESS_MODE_N_24G             = BIT(3),
-};
-
-enum phy_rate_tx_offset_area {
-       RA_OFFSET_LEGACY_OFDM1,
-       RA_OFFSET_LEGACY_OFDM2,
-       RA_OFFSET_HT_OFDM1,
-       RA_OFFSET_HT_OFDM2,
-       RA_OFFSET_HT_OFDM3,
-       RA_OFFSET_HT_OFDM4,
-       RA_OFFSET_HT_CCK,
-};
-
 /* BB/RF related */
 enum RF_TYPE_8190P {
        RF_TYPE_MIN,            /*  0 */
@@ -141,24 +106,6 @@ struct bb_reg_def {
                                 * Path A and B */
 };
 
-struct ant_sel_ofdm {
-       u32 r_tx_antenna:4;
-       u32 r_ant_l:4;
-       u32 r_ant_non_ht:4;
-       u32 r_ant_ht1:4;
-       u32 r_ant_ht2:4;
-       u32 r_ant_ht_s1:4;
-       u32 r_ant_non_ht_s1:4;
-       u32 OFDM_TXSC:2;
-       u32 reserved:2;
-};
-
-struct ant_sel_cck {
-       u8 r_cckrx_enable_2:2;
-       u8 r_cckrx_enable:2;
-       u8 r_ccktx_enable:4;
-};
-
 /*------------------------------Define structure----------------------------*/
 
 /*------------------------Export global variable----------------------------*/
@@ -185,21 +132,8 @@ int PHY_MACConfig8188E(struct adapter *adapter);
 int PHY_BBConfig8188E(struct adapter *adapter);
 int PHY_RFConfig8188E(struct adapter *adapter);
 
-/* RF config */
-int rtl8188e_PHY_ConfigRFWithParaFile(struct adapter *adapter, u8 *filename,
-                                     enum rf_radio_path rfpath);
-int rtl8188e_PHY_ConfigRFWithHeaderFile(struct adapter *adapter,
-                                       enum rf_radio_path rfpath);
-
-/* Read initi reg value for tx power setting. */
-void rtl8192c_PHY_GetHWRegOriginalValue(struct adapter *adapter);
-
 /*  BB TX Power R/W */
-void PHY_GetTxPowerLevel8188E(struct adapter *adapter, u32 *powerlevel);
 void PHY_SetTxPowerLevel8188E(struct adapter *adapter, u8 channel);
-bool PHY_UpdateTxPowerDbm8188E(struct adapter *adapter, int power);
-
-void PHY_ScanOperationBackup8188E(struct adapter *Adapter, u8 Operation);
 
 /*  Switch bandwidth for 8192S */
 void PHY_SetBWMode8188E(struct adapter *adapter,
@@ -207,17 +141,6 @@ void PHY_SetBWMode8188E(struct adapter *adapter,
 
 /*  channel switch related funciton */
 void PHY_SwChnl8188E(struct adapter *adapter, u8 channel);
-/*  Call after initialization */
-void ChkFwCmdIoDone(struct adapter *adapter);
-
-/*  BB/MAC/RF other monitor API */
-void PHY_SetRFPathSwitch_8188E(struct adapter *adapter,        bool main);
-
-void PHY_SwitchEphyParameter(struct adapter *adapter);
-
-void PHY_EnableHostClkReq(struct adapter *adapter);
-
-bool SetAntennaConfig92C(struct adapter *adapter, u8 defaultant);
 
 void storePwrIndexDiffRateOffset(struct adapter *adapter, u32 regaddr,
                                 u32 mask, u32 data);
@@ -232,18 +155,4 @@ void storePwrIndexDiffRateOffset(struct adapter *adapter, u32 regaddr,
 #define PHY_SetRFReg(adapt, rfpath, regaddr, bitmask, data)    \
        rtl8188e_PHY_SetRFReg((adapt), (rfpath), (regaddr), (bitmask), (data))
 
-#define PHY_SetMacReg  PHY_SetBBReg
-
-#define        SIC_HW_SUPPORT                  0
-
-#define        SIC_MAX_POLL_CNT                5
-
-#define        SIC_CMD_READY                   0
-#define        SIC_CMD_WRITE                   1
-#define        SIC_CMD_READ                    2
-
-#define        SIC_CMD_REG                     0x1EB           /*  1byte */
-#define        SIC_ADDR_REG                    0x1E8           /*  1b9~1ba, 2 bytes */
-#define        SIC_DATA_REG                    0x1EC           /*  1bc~1bf */
-
 #endif /*  __INC_HAL8192CPHYCFG_H */
index d5ced50..20d73ca 100644 (file)
@@ -37,8 +37,6 @@
        LE_BITS_TO_1BYTE(__paddr + 6, 0, 8)
 /*  End rate adaptive define */
 
-void ODM_RASupport_Init(struct odm_dm_struct *dm_odm);
-
 int ODM_RAInfo_Init_all(struct odm_dm_struct *dm_odm);
 
 int ODM_RAInfo_Init(struct odm_dm_struct *dm_odm, u8 MacID);
diff --git a/drivers/staging/r8188eu/include/HalHWImg8188E_FW.h b/drivers/staging/r8188eu/include/HalHWImg8188E_FW.h
deleted file mode 100644 (file)
index 5ddcd28..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#ifndef __INC_FW_8188E_HW_IMG_H
-#define __INC_FW_8188E_HW_IMG_H
-
-/******************************************************************************
-*                           FW_AP.TXT
-******************************************************************************/
-/******************************************************************************
-*                           FW_WoWLAN.TXT
-******************************************************************************/
-#define ArrayLength_8188E_FW_WoWLAN 15764
-extern const u8 Array_8188E_FW_WoWLAN[ArrayLength_8188E_FW_WoWLAN];
-
-#endif
index a0f5bf5..796a44a 100644 (file)
@@ -3,20 +3,6 @@
 #ifndef __HAL_VERSION_DEF_H__
 #define __HAL_VERSION_DEF_H__
 
-enum HAL_IC_TYPE {
-       CHIP_8192S      =       0,
-       CHIP_8188C      =       1,
-       CHIP_8192C      =       2,
-       CHIP_8192D      =       3,
-       CHIP_8723A      =       4,
-       CHIP_8188E      =       5,
-       CHIP_8881A      =       6,
-       CHIP_8812A      =       7,
-       CHIP_8821A      =       8,
-       CHIP_8723B      =       9,
-       CHIP_8192E      =       10,
-};
-
 enum HAL_CHIP_TYPE {
        TEST_CHIP       =       0,
        NORMAL_CHIP     =       1,
@@ -50,7 +36,6 @@ enum HAL_RF_TYPE {
 };
 
 struct HAL_VERSION {
-       enum HAL_IC_TYPE        ICType;
        enum HAL_CHIP_TYPE      ChipType;
        enum HAL_CUT_VERSION    CUTVersion;
        enum HAL_VENDOR         VendorType;
@@ -59,9 +44,7 @@ struct HAL_VERSION {
 };
 
 /*  Get element */
-#define GET_CVID_IC_TYPE(version)      (((version).ICType))
 #define GET_CVID_CHIP_TYPE(version)    (((version).ChipType))
-#define GET_CVID_RF_TYPE(version)      (((version).RFType))
 #define GET_CVID_MANUFACTUER(version)  (((version).VendorType))
 #define GET_CVID_CUT_VERSION(version)  (((version).CUTVersion))
 #define GET_CVID_ROM_VERSION(version)  (((version).ROMVer) & ROM_VERSION_MASK)
@@ -69,17 +52,6 @@ struct HAL_VERSION {
 /* Common Macro. -- */
 /* HAL_VERSION VersionID */
 
-/*  HAL_IC_TYPE_E */
-#define IS_81XXC(version)                              \
-       (((GET_CVID_IC_TYPE(version) == CHIP_8192C) ||  \
-        (GET_CVID_IC_TYPE(version) == CHIP_8188C)) ? true : false)
-#define IS_8723_SERIES(version)                                \
-       ((GET_CVID_IC_TYPE(version) == CHIP_8723A) ? true : false)
-#define IS_92D(version)                                        \
-       ((GET_CVID_IC_TYPE(version) == CHIP_8192D) ? true : false)
-#define IS_8188E(version)                              \
-       ((GET_CVID_IC_TYPE(version) == CHIP_8188E) ? true : false)
-
 /* HAL_CHIP_TYPE_E */
 #define IS_TEST_CHIP(version)                          \
        ((GET_CVID_CHIP_TYPE(version) == TEST_CHIP) ? true : false)
@@ -104,46 +76,4 @@ struct HAL_VERSION {
 #define IS_CHIP_VENDOR_UMC(version)                    \
        ((GET_CVID_MANUFACTUER(version) == CHIP_VENDOR_UMC) ? true : false)
 
-/* HAL_RF_TYPE_E */
-#define IS_1T1R(version)                               \
-       ((GET_CVID_RF_TYPE(version) == RF_TYPE_1T1R) ? true : false)
-#define IS_1T2R(version)                               \
-       ((GET_CVID_RF_TYPE(version) == RF_TYPE_1T2R) ? true : false)
-#define IS_2T2R(version)                               \
-       ((GET_CVID_RF_TYPE(version) == RF_TYPE_2T2R) ? true : false)
-
-/* Chip version Macro. -- */
-#define IS_81XXC_TEST_CHIP(version)                    \
-       ((IS_81XXC(version) && (!IS_NORMAL_CHIP(version))) ? true : false)
-
-#define IS_92C_SERIAL(version)                         \
-       ((IS_81XXC(version) && IS_2T2R(version)) ? true : false)
-#define IS_81xxC_VENDOR_UMC_A_CUT(version)             \
-       (IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ?     \
-       (IS_A_CUT(version) ? true : false) : false) : false)
-#define IS_81xxC_VENDOR_UMC_B_CUT(version)             \
-       (IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ?     \
-       (IS_B_CUT(version) ? true : false) : false) : false)
-#define IS_81xxC_VENDOR_UMC_C_CUT(version)             \
-       (IS_81XXC(version) ? (IS_CHIP_VENDOR_UMC(version) ? \
-        (IS_C_CUT(version) ? true : false) : false) : false)
-
-#define IS_NORMAL_CHIP92D(version)                     \
-       ((IS_92D(version)) ?                            \
-       ((GET_CVID_CHIP_TYPE(version) == NORMAL_CHIP) ? true : false) : false)
-
-#define IS_92D_SINGLEPHY(version)                      \
-       ((IS_92D(version)) ? (IS_2T2R(version) ? true : false) : false)
-#define IS_92D_C_CUT(version)                          \
-       ((IS_92D(version)) ? (IS_C_CUT(version) ? true : false) : false)
-#define IS_92D_D_CUT(version)                          \
-       ((IS_92D(version)) ? (IS_D_CUT(version) ? true : false) : false)
-#define IS_92D_E_CUT(version)                          \
-       ((IS_92D(version)) ? (IS_E_CUT(version) ? true : false) : false)
-
-#define IS_8723A_A_CUT(version)                                \
-       ((IS_8723_SERIES(version)) ? (IS_A_CUT(version) ? true : false) : false)
-#define IS_8723A_B_CUT(version)                                \
-       ((IS_8723_SERIES(version)) ? (IS_B_CUT(version) ? true : false) : false)
-
 #endif
index 04f4224..3e49283 100644 (file)
@@ -11,8 +11,6 @@
 #define __DRV_TYPES_H__
 
 #define DRV_NAME "r8188eu"
-#define CONFIG_88EU_AP_MODE 1
-#define CONFIG_88EU_P2P 1
 
 #include "osdep_service.h"
 #include "wlan_bssdef.h"
 #include "rtw_mlme_ext.h"
 #include "rtw_p2p.h"
 #include "rtw_ap.h"
-#include "rtw_mp.h"
 #include "rtw_br_ext.h"
 
 #define DRIVERVERSION  "v4.1.4_6773.20130222"
 
-#define SPEC_DEV_ID_NONE               BIT(0)
-#define SPEC_DEV_ID_DISABLE_HT         BIT(1)
-#define SPEC_DEV_ID_ENABLE_PS          BIT(2)
-#define SPEC_DEV_ID_RF_CONFIG_1T1R     BIT(3)
-#define SPEC_DEV_ID_RF_CONFIG_2T2R     BIT(4)
-#define SPEC_DEV_ID_ASSIGN_IFNAME      BIT(5)
-
-struct specific_device_id {
-       u32             flags;
-       u16             idVendor;
-       u16             idProduct;
-};
-
 struct registry_priv {
        u8      chip_version;
        u8      rfintfs;
@@ -78,7 +62,6 @@ struct registry_priv {
        u8      short_retry_lmt;
        u16     busy_thresh;
        u8      ack_policy;
-       u8      mp_mode;
        u8      software_encrypt;
        u8      software_decrypt;
        u8      acm_method;
@@ -172,9 +155,6 @@ struct dvobj_priv {
        struct semaphore usb_suspend_sema;
        struct mutex  usb_vendor_req_mutex;
 
-       u8 *usb_alloc_vendor_req_buf;
-       u8 *usb_vendor_req_buf;
-
        struct usb_interface *pusbintf;
        struct usb_device *pusbdev;
 
@@ -212,9 +192,6 @@ struct adapter {
                             * replace module. */
        int     pid[3];/* process id from UI, 0:wps, 1:hostapd, 2:dhcpcd */
        int     bDongle;/* build-in module or external dongle */
-       u16     chip_type;
-       u16     HardwareType;
-       u16     interface_type;/* USB,SDIO,SPI,PCI */
 
        struct dvobj_priv *dvobj;
        struct  mlme_priv mlmepriv;
@@ -230,17 +207,11 @@ struct adapter {
        struct  pwrctrl_priv    pwrctrlpriv;
        struct  eeprom_priv eeprompriv;
        struct  led_priv        ledpriv;
-       struct  mp_priv mppriv;
-
-#ifdef CONFIG_88EU_AP_MODE
        struct  hostapd_priv    *phostapdpriv;
-#endif
-
        struct wifidirect_info  wdinfo;
 
        void *HalData;
        u32 hal_data_sz;
-       struct hal_ops  HalFunc;
 
        s32     bDriverStopped;
        s32     bSurpriseRemoved;
@@ -286,11 +257,9 @@ struct adapter {
        /* The driver will show up the desired channel number
         * when this flag is 1. */
        u8 bNotifyChannelChange;
-#ifdef CONFIG_88EU_P2P
        /* The driver will show the current P2P status when the
         * upper application reads it. */
        u8 bShowGetP2PState;
-#endif
        struct adapter *pbuddy_adapter;
 
        struct mutex *hw_init_mutex;
@@ -298,11 +267,11 @@ struct adapter {
        spinlock_t br_ext_lock;
        struct nat25_network_db_entry   *nethash[NAT25_HASH_SIZE];
        int                             pppoe_connection_in_progress;
-       unsigned char                   pppoe_addr[MACADDRLEN];
-       unsigned char                   scdb_mac[MACADDRLEN];
+       unsigned char                   pppoe_addr[ETH_ALEN];
+       unsigned char                   scdb_mac[ETH_ALEN];
        unsigned char                   scdb_ip[4];
        struct nat25_network_db_entry   *scdb_entry;
-       unsigned char                   br_mac[MACADDRLEN];
+       unsigned char                   br_mac[ETH_ALEN];
        unsigned char                   br_ip[4];
        struct br_ext_info              ethBrExtInfo;
 
index fa25254..d777ad9 100644 (file)
@@ -8,23 +8,6 @@
 #include "drv_types.h"
 #include "Hal8188EPhyCfg.h"
 
-enum RTL871X_HCI_TYPE {
-       RTW_PCIE        = BIT(0),
-       RTW_USB         = BIT(1),
-       RTW_SDIO        = BIT(2),
-       RTW_GSPI        = BIT(3),
-};
-
-enum _CHIP_TYPE {
-       NULL_CHIP_TYPE,
-       RTL8712_8188S_8191S_8192S,
-       RTL8188C_8192C,
-       RTL8192D,
-       RTL8723A,
-       RTL8188E,
-       MAX_CHIP_TYPE
-};
-
 enum hw_variables {
        HW_VAR_MEDIA_STATUS,
        HW_VAR_MEDIA_STATUS1,
@@ -63,7 +46,6 @@ enum hw_variables {
        HW_VAR_AMPDU_MIN_SPACE,
        HW_VAR_AMPDU_FACTOR,
        HW_VAR_RXDMA_AGG_PG_TH,
-       HW_VAR_SET_RPWM,
        HW_VAR_H2C_FW_PWRMODE,
        HW_VAR_H2C_FW_JOINBSSRPT,
        HW_VAR_FWLPS_RF_ON,
@@ -73,7 +55,6 @@ enum hw_variables {
        HW_VAR_TDLS_RS_RCR,
        HW_VAR_TDLS_DONE_CH_SEN,
        HW_VAR_INITIAL_GAIN,
-       HW_VAR_TRIGGER_GPIO_0,
        HW_VAR_BT_SET_COEXIST,
        HW_VAR_BT_ISSUE_DELBA,
        HW_VAR_CURRENT_ANTENNA,
@@ -85,7 +66,6 @@ enum hw_variables {
        HW_VAR_EFUSE_BT_USAGE,
        HW_VAR_EFUSE_BT_BYTES,
        HW_VAR_FIFO_CLEARN_UP,
-       HW_VAR_CHECK_TXBUF,
        HW_VAR_APFM_ON_MAC, /* Auto FSM to Turn On, include clock, isolation,
                             * power control for MAC only */
        /*  The valid upper nav range for the HW updating, if the true value is
@@ -121,290 +101,62 @@ enum hal_odm_variable {
        HAL_ODM_WIFI_DISPLAY_STATE,
 };
 
-enum hal_intf_ps_func {
-       HAL_USB_SELECT_SUSPEND,
-       HAL_MAX_ID,
-};
-
 typedef s32 (*c2h_id_filter)(u8 id);
 
-struct hal_ops {
-       u32     (*hal_power_on)(struct adapter *padapter);
-       u32     (*hal_init)(struct adapter *padapter);
-       u32     (*hal_deinit)(struct adapter *padapter);
-
-       void    (*free_hal_data)(struct adapter *padapter);
-
-       u32     (*inirp_init)(struct adapter *padapter);
-       u32     (*inirp_deinit)(struct adapter *padapter);
-
-       s32     (*init_xmit_priv)(struct adapter *padapter);
-
-       s32     (*init_recv_priv)(struct adapter *padapter);
-       void    (*free_recv_priv)(struct adapter *padapter);
-
-       void    (*InitSwLeds)(struct adapter *padapter);
-       void    (*DeInitSwLeds)(struct adapter *padapter);
-
-       void    (*dm_init)(struct adapter *padapter);
-       void    (*dm_deinit)(struct adapter *padapter);
-       void    (*read_chip_version)(struct adapter *padapter);
-
-       void    (*init_default_value)(struct adapter *padapter);
-
-       void    (*intf_chip_configure)(struct adapter *padapter);
-
-       void    (*read_adapter_info)(struct adapter *padapter);
-
-       void    (*enable_interrupt)(struct adapter *padapter);
-       void    (*disable_interrupt)(struct adapter *padapter);
-       s32     (*interrupt_handler)(struct adapter *padapter);
-
-       void    (*set_bwmode_handler)(struct adapter *padapter,
-                                     enum ht_channel_width Bandwidth,
-                                     u8 Offset);
-       void    (*set_channel_handler)(struct adapter *padapter, u8 channel);
-
-       void    (*hal_dm_watchdog)(struct adapter *padapter);
-
-       void    (*SetHwRegHandler)(struct adapter *padapter, u8 variable,
-                                  u8 *val);
-       void    (*GetHwRegHandler)(struct adapter *padapter, u8 variable,
-                                  u8 *val);
-
-       u8      (*GetHalDefVarHandler)(struct adapter *padapter,
-                                      enum hal_def_variable eVariable,
-                                      void *pValue);
-       u8      (*SetHalDefVarHandler)(struct adapter *padapter,
-                                      enum hal_def_variable eVariable,
-                                      void *pValue);
-
-       void    (*GetHalODMVarHandler)(struct adapter *padapter,
-                                      enum hal_odm_variable eVariable,
-                                      void *pValue1, bool bSet);
-       void    (*SetHalODMVarHandler)(struct adapter *padapter,
-                                      enum hal_odm_variable eVariable,
-                                      void *pValue1, bool bSet);
-
-       void    (*UpdateRAMaskHandler)(struct adapter *padapter,
-                                      u32 mac_id, u8 rssi_level);
-       void    (*SetBeaconRelatedRegistersHandler)(struct adapter *padapter);
-
-       void    (*Add_RateATid)(struct adapter *adapter, u32 bitmap, u8 arg,
-                               u8 rssi_level);
-       void    (*run_thread)(struct adapter *adapter);
-       void    (*cancel_thread)(struct adapter *adapter);
-
-       u8      (*AntDivBeforeLinkHandler)(struct adapter *adapter);
-       void    (*AntDivCompareHandler)(struct adapter *adapter,
-                                       struct wlan_bssid_ex *dst,
-                                       struct wlan_bssid_ex *src);
-       u8      (*interface_ps_func)(struct adapter *padapter,
-                                    enum hal_intf_ps_func efunc_id, u8 *val);
-
-       s32     (*hal_xmit)(struct adapter *padapter,
-                           struct xmit_frame *pxmitframe);
-       s32 (*mgnt_xmit)(struct adapter *padapter,
-                        struct xmit_frame *pmgntframe);
-       s32 (*hal_xmitframe_enqueue)(struct adapter *padapter,
-                                    struct xmit_frame *pxmitframe);
-
-       u32     (*read_bbreg)(struct adapter *padapter, u32 RegAddr,
-                             u32 BitMask);
-       void    (*write_bbreg)(struct adapter *padapter, u32 RegAddr,
-                              u32 BitMask, u32 Data);
-       u32     (*read_rfreg)(struct adapter *padapter,
-                             enum rf_radio_path eRFPath, u32 RegAddr,
-                             u32 BitMask);
-       void    (*write_rfreg)(struct adapter *padapter,
-                              enum rf_radio_path eRFPath, u32 RegAddr,
-                              u32 BitMask, u32 Data);
-
-       void (*EfusePowerSwitch)(struct adapter *padapter, u8 bWrite,
-                                u8 PwrState);
-       void (*ReadEFuse)(struct adapter *padapter, u8 efuseType, u16 _offset,
-                         u16 _size_byte, u8 *pbuf, bool bPseudoTest);
-       void (*EFUSEGetEfuseDefinition)(struct adapter *padapter, u8 efuseType,
-                                       u8 type, void *pOut, bool bPseudoTest);
-       u16     (*EfuseGetCurrentSize)(struct adapter *padapter, u8 efuseType,
-                                      bool bPseudoTest);
-       int     (*Efuse_PgPacketRead)(struct adapter *adapter, u8 offset,
-                                     u8 *data, bool bPseudoTest);
-       int     (*Efuse_PgPacketWrite)(struct adapter *padapter, u8 offset,
-                                      u8 word_en, u8 *data, bool bPseudoTest);
-       u8      (*Efuse_WordEnableDataWrite)(struct adapter *padapter,
-                                            u16 efuse_addr, u8 word_en,
-                                            u8 *data, bool bPseudoTest);
-       bool    (*Efuse_PgPacketWrite_BT)(struct adapter *padapter, u8 offset,
-                                         u8 word_en, u8 *data, bool test);
-
-       void (*sreset_init_value)(struct adapter *padapter);
-       void (*sreset_reset_value)(struct adapter *padapter);
-       void (*silentreset)(struct adapter *padapter);
-       void (*sreset_xmit_status_check)(struct adapter *padapter);
-       void (*sreset_linked_status_check) (struct adapter *padapter);
-       u8 (*sreset_get_wifi_status)(struct adapter *padapter);
-
-       int (*IOL_exec_cmds_sync)(struct adapter *padapter,
-                                 struct xmit_frame *frame, u32 max_wait,
-                                 u32 bndy_cnt);
-
-       void (*hal_notch_filter)(struct adapter *adapter, bool enable);
-       void (*hal_reset_security_engine)(struct adapter *adapter);
-       s32 (*c2h_handler)(struct adapter *padapter,
-                          struct c2h_evt_hdr *c2h_evt);
-       c2h_id_filter c2h_id_filter_ccx;
-};
-
-enum rt_eeprom_type {
-       EEPROM_93C46,
-       EEPROM_93C56,
-       EEPROM_BOOT_EFUSE,
-};
-
 #define RF_CHANGE_BY_INIT      0
 #define RF_CHANGE_BY_IPS       BIT(28)
 #define RF_CHANGE_BY_PS                BIT(29)
 #define RF_CHANGE_BY_HW                BIT(30)
 #define RF_CHANGE_BY_SW                BIT(31)
 
-enum hardware_type {
-       HARDWARE_TYPE_RTL8180,
-       HARDWARE_TYPE_RTL8185,
-       HARDWARE_TYPE_RTL8187,
-       HARDWARE_TYPE_RTL8188,
-       HARDWARE_TYPE_RTL8190P,
-       HARDWARE_TYPE_RTL8192E,
-       HARDWARE_TYPE_RTL819xU,
-       HARDWARE_TYPE_RTL8192SE,
-       HARDWARE_TYPE_RTL8192SU,
-       HARDWARE_TYPE_RTL8192CE,
-       HARDWARE_TYPE_RTL8192CU,
-       HARDWARE_TYPE_RTL8192DE,
-       HARDWARE_TYPE_RTL8192DU,
-       HARDWARE_TYPE_RTL8723AE,
-       HARDWARE_TYPE_RTL8723AU,
-       HARDWARE_TYPE_RTL8723AS,
-       HARDWARE_TYPE_RTL8188EE,
-       HARDWARE_TYPE_RTL8188EU,
-       HARDWARE_TYPE_RTL8188ES,
-       HARDWARE_TYPE_MAX,
-};
-
-/*  RTL8188E Series */
-#define IS_HARDWARE_TYPE_8188EE(_Adapter)                      \
-(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8188EE)
-#define IS_HARDWARE_TYPE_8188EU(_Adapter)                      \
-(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8188EU)
-#define IS_HARDWARE_TYPE_8188ES(_Adapter)                      \
-(((struct adapter *)_Adapter)->HardwareType == HARDWARE_TYPE_RTL8188ES)
-#define        IS_HARDWARE_TYPE_8188E(_Adapter)        \
-(IS_HARDWARE_TYPE_8188EE(_Adapter) || IS_HARDWARE_TYPE_8188EU(_Adapter) || \
- IS_HARDWARE_TYPE_8188ES(_Adapter))
-
-#define GET_EEPROM_EFUSE_PRIV(adapter) (&adapter->eeprompriv)
-
 #define is_boot_from_eeprom(adapter) (adapter->eeprompriv.EepromOrEfuse)
 
-void rtl8188eu_set_hal_ops(struct adapter *padapter);
-void rtw_hal_def_value_init(struct adapter *padapter);
-
-void   rtw_hal_free_data(struct adapter *padapter);
+void rtl8188eu_alloc_haldata(struct adapter *adapt);
 
-void rtw_hal_dm_init(struct adapter *padapter);
-void rtw_hal_dm_deinit(struct adapter *padapter);
-void rtw_hal_sw_led_init(struct adapter *padapter);
-void rtw_hal_sw_led_deinit(struct adapter *padapter);
+void rtl8188eu_interface_configure(struct adapter *adapt);
+void ReadAdapterInfo8188EU(struct adapter *Adapter);
+void rtl8188eu_init_default_value(struct adapter *adapt);
+void rtl8188e_SetHalODMVar(struct adapter *Adapter,
+                          enum hal_odm_variable eVariable, void *pValue1, bool bSet);
+u32 rtl8188eu_InitPowerOn(struct adapter *adapt);
+void rtl8188e_free_hal_data(struct adapter *padapter);
+void rtl8188e_EfusePowerSwitch(struct adapter *pAdapter, u8 bWrite, u8 PwrState);
+void rtl8188e_ReadEFuse(struct adapter *Adapter, u8 efuseType,
+                       u16 _offset, u16 _size_byte, u8 *pbuf,
+                       bool bPseudoTest);
+void rtl8188e_EFUSE_GetEfuseDefinition(struct adapter *pAdapter, u8 efuseType,
+                                      u8 type, void *pOut, bool bPseudoTest);
+u16 rtl8188e_EfuseGetCurrentSize(struct adapter *pAdapter, u8 efuseType, bool bPseudoTest);
+int rtl8188e_Efuse_PgPacketRead(struct adapter *pAdapter, u8 offset, u8 *data, bool bPseudoTest);
+int rtl8188e_Efuse_PgPacketWrite(struct adapter *pAdapter, u8 offset, u8 word_en, u8 *data, bool bPseudoTest);
 
-u32 rtw_hal_power_on(struct adapter *padapter);
-uint rtw_hal_init(struct adapter *padapter);
-uint rtw_hal_deinit(struct adapter *padapter);
-void rtw_hal_stop(struct adapter *padapter);
-void rtw_hal_set_hwreg(struct adapter *padapter, u8 variable, u8 *val);
-void rtw_hal_get_hwreg(struct adapter *padapter, u8 variable, u8 *val);
+void hal_notch_filter_8188e(struct adapter *adapter, bool enable);
 
-void rtw_hal_chip_configure(struct adapter *padapter);
-void rtw_hal_read_chip_info(struct adapter *padapter);
-void rtw_hal_read_chip_version(struct adapter *padapter);
+void SetBeaconRelatedRegisters8188EUsb(struct adapter *adapt);
+void UpdateHalRAMask8188EUsb(struct adapter *adapt, u32 mac_id, u8 rssi_level);
 
-u8 rtw_hal_set_def_var(struct adapter *padapter,
-                      enum hal_def_variable eVariable, void *pValue);
-u8 rtw_hal_get_def_var(struct adapter *padapter,
-                      enum hal_def_variable eVariable, void *pValue);
+int rtl8188e_IOL_exec_cmds_sync(struct adapter *adapter,
+                               struct xmit_frame *xmit_frame, u32 max_wating_ms, u32 bndy_cnt);
 
-void rtw_hal_set_odm_var(struct adapter *padapter,
-                        enum hal_odm_variable eVariable, void *pValue1,
-                        bool bSet);
-void rtw_hal_get_odm_var(struct adapter *padapter,
-                        enum hal_odm_variable eVariable,
-                        void *pValue1, bool bSet);
+u8 SetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue);
+u8 GetHalDefVar8188EUsb(struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue);
 
-void rtw_hal_enable_interrupt(struct adapter *padapter);
-void rtw_hal_disable_interrupt(struct adapter *padapter);
+unsigned int rtl8188eu_inirp_init(struct adapter *Adapter);
 
-u32    rtw_hal_inirp_init(struct adapter *padapter);
-u32    rtw_hal_inirp_deinit(struct adapter *padapter);
+void SetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val);
+void GetHwReg8188EU(struct adapter *Adapter, u8 variable, u8 *val);
 
-u8     rtw_hal_intf_ps_func(struct adapter *padapter,
-                            enum hal_intf_ps_func efunc_id, u8 *val);
-s32 rtw_hal_xmitframe_enqueue(struct adapter *padapter,
-                             struct xmit_frame *pxmitframe);
-
-s32    rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe);
-s32    rtw_hal_mgnt_xmit(struct adapter *padapter,
-                         struct xmit_frame *pmgntframe);
-
-s32    rtw_hal_init_xmit_priv(struct adapter *padapter);
+uint rtw_hal_init(struct adapter *padapter);
+uint rtw_hal_deinit(struct adapter *padapter);
+void rtw_hal_stop(struct adapter *padapter);
 
-s32    rtw_hal_init_recv_priv(struct adapter *padapter);
-void   rtw_hal_free_recv_priv(struct adapter *padapter);
+u32 rtl8188eu_hal_init(struct adapter *Adapter);
+u32 rtl8188eu_hal_deinit(struct adapter *Adapter);
 
 void rtw_hal_update_ra_mask(struct adapter *padapter, u32 mac_id, u8 level);
-void   rtw_hal_add_ra_tid(struct adapter *adapt, u32 bitmap, u8 arg, u8 level);
 void   rtw_hal_clone_data(struct adapter *dst_adapt,
                           struct adapter *src_adapt);
-void   rtw_hal_start_thread(struct adapter *padapter);
-void   rtw_hal_stop_thread(struct adapter *padapter);
-
-void rtw_hal_bcn_related_reg_setting(struct adapter *padapter);
-
-u32    rtw_hal_read_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask);
-void   rtw_hal_write_bbreg(struct adapter *padapter, u32 RegAddr, u32 BitMask,
-                           u32 Data);
-u32    rtw_hal_read_rfreg(struct adapter *padapter, enum rf_radio_path eRFPath,
-                          u32 RegAddr, u32 BitMask);
-void   rtw_hal_write_rfreg(struct adapter *padapter,
-                           enum rf_radio_path eRFPath, u32 RegAddr,
-                           u32 BitMask, u32 Data);
-
-s32    rtw_hal_interrupt_handler(struct adapter *padapter);
-
-void   rtw_hal_set_bwmode(struct adapter *padapter,
-                          enum ht_channel_width Bandwidth, u8 Offset);
-void   rtw_hal_set_chan(struct adapter *padapter, u8 channel);
-void   rtw_hal_dm_watchdog(struct adapter *padapter);
-
-u8     rtw_hal_antdiv_before_linked(struct adapter *padapter);
-void   rtw_hal_antdiv_rssi_compared(struct adapter *padapter,
-                                    struct wlan_bssid_ex *dst,
-                                    struct wlan_bssid_ex *src);
-
-void rtw_hal_sreset_init(struct adapter *padapter);
-void rtw_hal_sreset_reset(struct adapter *padapter);
-void rtw_hal_sreset_reset_value(struct adapter *padapter);
-void rtw_hal_sreset_xmit_status_check(struct adapter *padapter);
-void rtw_hal_sreset_linked_status_check(struct adapter *padapter);
-u8   rtw_hal_sreset_get_wifi_status(struct adapter *padapter);
-
-int rtw_hal_iol_cmd(struct adapter  *adapter, struct xmit_frame *xmit_frame,
-                   u32 max_wating_ms, u32 bndy_cnt);
-
-void rtw_hal_notch_filter(struct adapter *adapter, bool enable);
-void rtw_hal_reset_security_engine(struct adapter *adapter);
 
-s32 rtw_hal_c2h_handler(struct adapter *adapter,
-                       struct c2h_evt_hdr *c2h_evt);
-c2h_id_filter rtw_hal_c2h_id_filter_ccx(struct adapter *adapter);
 void indicate_wx_scan_complete_event(struct adapter *padapter);
 u8 rtw_do_join(struct adapter *padapter);
 
index 9204dd4..6c8206b 100644 (file)
 #define ETH_TYPE_LEN           2
 #define PAYLOAD_TYPE_LEN       1
 
-#ifdef CONFIG_88EU_AP_MODE
-
 #define RTL_IOCTL_HOSTAPD (SIOCIWFIRSTPRIV + 28)
 
-/* RTL871X_IOCTL_HOSTAPD ioctl() cmd: */
-enum {
-       RTL871X_HOSTAPD_FLUSH = 1,
-       RTL871X_HOSTAPD_ADD_STA = 2,
-       RTL871X_HOSTAPD_REMOVE_STA = 3,
-       RTL871X_HOSTAPD_GET_INFO_STA = 4,
-       /* REMOVED: PRISM2_HOSTAPD_RESET_TXEXC_STA = 5, */
-       RTL871X_HOSTAPD_GET_WPAIE_STA = 5,
-       RTL871X_SET_ENCRYPTION = 6,
-       RTL871X_GET_ENCRYPTION = 7,
-       RTL871X_HOSTAPD_SET_FLAGS_STA = 8,
-       RTL871X_HOSTAPD_GET_RID = 9,
-       RTL871X_HOSTAPD_SET_RID = 10,
-       RTL871X_HOSTAPD_SET_ASSOC_AP_ADDR = 11,
-       RTL871X_HOSTAPD_SET_GENERIC_ELEMENT = 12,
-       RTL871X_HOSTAPD_MLME = 13,
-       RTL871X_HOSTAPD_SCAN_REQ = 14,
-       RTL871X_HOSTAPD_STA_CLEAR_STATS = 15,
-       RTL871X_HOSTAPD_SET_BEACON = 16,
-       RTL871X_HOSTAPD_SET_WPS_BEACON = 17,
-       RTL871X_HOSTAPD_SET_WPS_PROBE_RESP = 18,
-       RTL871X_HOSTAPD_SET_WPS_ASSOC_RESP = 19,
-       RTL871X_HOSTAPD_SET_HIDDEN_SSID = 20,
-       RTL871X_HOSTAPD_SET_MACADDR_ACL = 21,
-       RTL871X_HOSTAPD_ACL_ADD_STA = 22,
-       RTL871X_HOSTAPD_ACL_REMOVE_STA = 23,
-};
-
 /* STA flags */
 #define WLAN_STA_AUTH BIT(0)
 #define WLAN_STA_ASSOC BIT(1)
@@ -64,8 +34,6 @@ enum {
 #define WLAN_STA_MAYBE_WPS BIT(13)
 #define WLAN_STA_NONERP BIT(31)
 
-#endif
-
 #define IEEE_CMD_SET_WPA_PARAM                 1
 #define IEEE_CMD_SET_WPA_IE                            2
 #define IEEE_CMD_SET_ENCRYPTION                        3
@@ -200,7 +168,6 @@ struct ieee_param {
                        u16 key_len;
                        u8 key[];
                } crypt;
-#ifdef CONFIG_88EU_AP_MODE
                struct {
                        u16 aid;
                        u16 capability;
@@ -212,12 +179,9 @@ struct ieee_param {
                        u8      reserved[2];/* for set max_num_sta */
                        u8      buf[];
                } bcn_ie;
-#endif
-
        } u;
 };
 
-#ifdef CONFIG_88EU_AP_MODE
 struct ieee_param_ex {
        u32 cmd;
        u8 sta_addr[ETH_ALEN];
@@ -239,7 +203,6 @@ struct sta_data {
        u64     tx_bytes;
        u64     tx_drops;
 };
-#endif
 
 #define IEEE80211_DATA_LEN             2304
 /* Maximum size for the MA-UNITDATA primitive, 802.11 standard section
@@ -925,10 +888,6 @@ struct tx_pending {
 #define IEEE_G     (1<<2)
 #define IEEE_MODE_MASK    (IEEE_A|IEEE_B|IEEE_G)
 
-/* Baron move to ieee80211.c */
-int ieee80211_is_empty_essid(const char *essid, int essid_len);
-int ieee80211_get_hdrlen(u16 fc);
-
 /* Action category code */
 enum rtw_ieee80211_category {
        RTW_WLAN_CATEGORY_SPECTRUM_MGMT = 0,
@@ -1130,26 +1089,7 @@ enum parse_res rtw_ieee802_11_parse_elems(u8 *start, uint len,
 u8 *rtw_set_fixed_ie(unsigned char *pbuf, unsigned int len,
                     unsigned char *source, unsigned int *frlen);
 u8 *rtw_set_ie(u8 *pbuf, int index, uint len, u8 *source, uint *frlen);
-
-enum secondary_ch_offset {
-       SCN = 0, /* no secondary channel */
-       SCA = 1, /* secondary channel above */
-       SCB = 3,  /* secondary channel below */
-};
-u8 secondary_ch_offset_to_hal_ch_offset(u8 ch_offset);
-u8 hal_ch_offset_to_secondary_ch_offset(u8 ch_offset);
-u8 *rtw_set_ie_ch_switch(u8 *buf, u32 *buf_len, u8 ch_switch_mode,
-                        u8 new_ch, u8 ch_switch_cnt);
-u8 *rtw_set_ie_secondary_ch_offset(u8 *buf, u32 *buf_len,
-                                  u8 secondary_ch_offset);
-u8 *rtw_set_ie_mesh_ch_switch_parm(u8 *buf, u32 *buf_len, u8 ttl,
-                                  u8 flags, u16 reason, u16 precedence);
-
 u8 *rtw_get_ie(u8 *pbuf, int index, int *len, int limit);
-u8 *rtw_get_ie_ex(u8 *in_ie, uint in_len, u8 eid, u8 *oui,
-                 u8 oui_len, u8 *ie, uint *ielen);
-int rtw_ies_remove_ie(u8 *ies, uint *ies_len, uint offset,
-                     u8 eid, u8 *oui, u8 oui_len);
 
 void rtw_set_supported_rate(u8 *SupportedRates, uint mode);
 
@@ -1183,11 +1123,6 @@ u8 *rtw_get_wps_attr_content(u8 *wps_ie, uint wps_ielen, u16 target_attr_id,
        for (ie = (void *)buf; (((u8 *)ie) - ((u8 *)buf) + 1) < buf_len;        \
                ie = (void *)(((u8 *)ie) + *(((u8 *)ie)+1) + 2))
 
-void dump_ies(u8 *buf, u32 buf_len);
-void dump_wps_ie(u8 *ie, u32 ie_len);
-
-#ifdef CONFIG_88EU_P2P
-void dump_p2p_ie(u8 *ie, u32 ie_len);
 u8 *rtw_get_p2p_ie(u8 *in_ie, int in_len, u8 *p2p_ie, uint *p2p_ielen);
 u8 *rtw_get_p2p_attr(u8 *p2p_ie, uint p2p_ielen, u8 target_attr_id,
                     u8 *buf_attr, u32 *len_attr);
@@ -1197,8 +1132,6 @@ u32 rtw_set_p2p_attr_content(u8 *pbuf, u8 attr_id, u16 attr_len,
                             u8 *pdata_attr);
 void rtw_wlan_bssid_ex_remove_p2p_attr(struct wlan_bssid_ex *bss_ex,
                                       u8 attr_id);
-#endif
-
 uint   rtw_get_rateset_len(u8  *rateset);
 
 struct registry_priv;
@@ -1219,8 +1152,4 @@ void rtw_macaddr_cfg(u8 *mac_addr);
 u16 rtw_mcs_rate(u8 rf_type, u8 bw_40MHz, u8 short_GI_20, u8 short_GI_40,
                 unsigned char *MCS_rate);
 
-int rtw_action_frame_parse(const u8 *frame, u32 frame_len, u8 *category,
-                          u8 *action);
-const char *action_public_str(u8 action);
-
 #endif /* IEEE80211_H */
index e224810..738f645 100644 (file)
@@ -61,13 +61,11 @@ void rtw_cfg80211_indicate_disconnect(struct adapter *padapter);
 void rtw_cfg80211_indicate_scan_done(struct rtw_wdev_priv *pwdev_priv,
                                     bool aborted);
 
-#ifdef CONFIG_88EU_AP_MODE
 void rtw_cfg80211_indicate_sta_assoc(struct adapter *padapter,
                                     u8 *pmgmt_frame, uint frame_len);
 void rtw_cfg80211_indicate_sta_disassoc(struct adapter *padapter,
                                        unsigned char *da,
                                        unsigned short reason);
-#endif /* CONFIG_88EU_AP_MODE */
 
 void rtw_cfg80211_issue_p2p_provision_request(struct adapter *padapter,
                                              const u8 *buf, size_t len);
diff --git a/drivers/staging/r8188eu/include/mp_custom_oid.h b/drivers/staging/r8188eu/include/mp_custom_oid.h
deleted file mode 100644 (file)
index 7bcb857..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#ifndef        __CUSTOM_OID_H
-#define __CUSTOM_OID_H
-
-/*  by Owen */
-/*  0xFF818000 - 0xFF81802F            RTL8180 Mass Production Kit */
-/*  0xFF818500 - 0xFF81850F            RTL8185 Setup Utility */
-/*  0xFF818580 - 0xFF81858F            RTL8185 Phy Status Utility */
-
-/*  */
-
-/*  by Owen for Production Kit */
-/*  For Production Kit with Agilent Equipments */
-/*  in order to make our custom oids hopefully somewhat unique */
-/*  we will use 0xFF (indicating implementation specific OID) */
-/*     81(first byte of non zero Realtek unique identifier) */
-/*     80 (second byte of non zero Realtek unique identifier) */
-/*     XX (the custom OID number - providing 255 possible custom oids) */
-
-#define OID_RT_PRO_RESET_DUT                           0xFF818000
-#define OID_RT_PRO_SET_DATA_RATE                       0xFF818001
-#define OID_RT_PRO_START_TEST                          0xFF818002
-#define OID_RT_PRO_STOP_TEST                           0xFF818003
-#define OID_RT_PRO_SET_PREAMBLE                                0xFF818004
-#define OID_RT_PRO_SET_SCRAMBLER                       0xFF818005
-#define OID_RT_PRO_SET_FILTER_BB                       0xFF818006
-#define OID_RT_PRO_SET_MANUAL_DIVERSITY_BB             0xFF818007
-#define OID_RT_PRO_SET_CHANNEL_DIRECT_CALL             0xFF818008
-#define OID_RT_PRO_SET_SLEEP_MODE_DIRECT_CALL          0xFF818009
-#define OID_RT_PRO_SET_WAKE_MODE_DIRECT_CALL           0xFF81800A
-
-#define OID_RT_PRO_SET_TX_ANTENNA_BB                   0xFF81800D
-#define OID_RT_PRO_SET_ANTENNA_BB                      0xFF81800E
-#define OID_RT_PRO_SET_CR_SCRAMBLER                    0xFF81800F
-#define OID_RT_PRO_SET_CR_NEW_FILTER                   0xFF818010
-#define OID_RT_PRO_SET_TX_POWER_CONTROL                        0xFF818011
-#define OID_RT_PRO_SET_CR_TX_CONFIG                    0xFF818012
-#define OID_RT_PRO_GET_TX_POWER_CONTROL                        0xFF818013
-#define OID_RT_PRO_GET_CR_SIGNAL_QUALITY               0xFF818014
-#define OID_RT_PRO_SET_CR_SETPOINT                     0xFF818015
-#define OID_RT_PRO_SET_INTEGRATOR                      0xFF818016
-#define OID_RT_PRO_SET_SIGNAL_QUALITY                  0xFF818017
-#define OID_RT_PRO_GET_INTEGRATOR                      0xFF818018
-#define OID_RT_PRO_GET_SIGNAL_QUALITY                  0xFF818019
-#define OID_RT_PRO_QUERY_EEPROM_TYPE                   0xFF81801A
-#define OID_RT_PRO_WRITE_MAC_ADDRESS                   0xFF81801B
-#define OID_RT_PRO_READ_MAC_ADDRESS                    0xFF81801C
-#define OID_RT_PRO_WRITE_CIS_DATA                      0xFF81801D
-#define OID_RT_PRO_READ_CIS_DATA                       0xFF81801E
-#define OID_RT_PRO_WRITE_POWER_CONTROL                 0xFF81801F
-#define OID_RT_PRO_READ_POWER_CONTROL                  0xFF818020
-#define OID_RT_PRO_WRITE_EEPROM                                0xFF818021
-#define OID_RT_PRO_READ_EEPROM                         0xFF818022
-#define OID_RT_PRO_RESET_TX_PACKET_SENT                        0xFF818023
-#define OID_RT_PRO_QUERY_TX_PACKET_SENT                        0xFF818024
-#define OID_RT_PRO_RESET_RX_PACKET_RECEIVED            0xFF818025
-#define OID_RT_PRO_QUERY_RX_PACKET_RECEIVED            0xFF818026
-#define OID_RT_PRO_QUERY_RX_PACKET_CRC32_ERROR         0xFF818027
-#define OID_RT_PRO_QUERY_CURRENT_ADDRESS               0xFF818028
-#define OID_RT_PRO_QUERY_PERMANENT_ADDRESS             0xFF818029
-#define OID_RT_PRO_SET_PHILIPS_RF_PARAMETERS           0xFF81802A
-#define OID_RT_PRO_RECEIVE_PACKET                      0xFF81802C
-/*  added by Owen on 04/08/03 for Cameo's request */
-#define OID_RT_PRO_WRITE_EEPROM_BYTE                   0xFF81802D
-#define OID_RT_PRO_READ_EEPROM_BYTE                    0xFF81802E
-#define OID_RT_PRO_SET_MODULATION                      0xFF81802F
-/*  */
-
-/* Sean */
-#define OID_RT_DRIVER_OPTION                           0xFF818080
-#define OID_RT_RF_OFF                                  0xFF818081
-#define OID_RT_AUTH_STATUS                             0xFF818082
-
-/*  */
-#define OID_RT_PRO_SET_CONTINUOUS_TX                   0xFF81800B
-#define OID_RT_PRO_SET_SINGLE_CARRIER_TX               0xFF81800C
-#define OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX          0xFF81802B
-#define OID_RT_PRO_SET_SINGLE_TONE_TX                  0xFF818043
-/*  */
-
-/*  by Owen for RTL8185 Phy Status Report Utility */
-#define OID_RT_UTILITY_false_ALARM_COUNTERS            0xFF818580
-#define OID_RT_UTILITY_SELECT_DEBUG_MODE               0xFF818581
-#define OID_RT_UTILITY_SELECT_SUBCARRIER_NUMBER                0xFF818582
-#define OID_RT_UTILITY_GET_RSSI_STATUS                 0xFF818583
-#define OID_RT_UTILITY_GET_FRAME_DETECTION_STATUS      0xFF818584
-#define OID_RT_UTILITY_GET_AGC_AND_FREQUENCY_OFFSET_ESTIMATION_STATUS  \
-                                                       0xFF818585
-#define OID_RT_UTILITY_GET_CHANNEL_ESTIMATION_STATUS   0xFF818586
-/*  */
-
-/*  by Owen on 03/09/19-03/09/22 for RTL8185 */
-#define OID_RT_WIRELESS_MODE                           0xFF818500
-#define OID_RT_SUPPORTED_RATES                         0xFF818501
-#define OID_RT_DESIRED_RATES                           0xFF818502
-#define OID_RT_WIRELESS_MODE_STARTING_ADHOC            0xFF818503
-/*  */
-
-#define OID_RT_GET_CONNECT_STATE                       0xFF030001
-#define OID_RT_RESCAN                                  0xFF030002
-#define OID_RT_SET_KEY_LENGTH                          0xFF030003
-#define OID_RT_SET_DEFAULT_KEY_ID                      0xFF030004
-
-#define OID_RT_SET_CHANNEL                             0xFF010182
-#define OID_RT_SET_SNIFFER_MODE                                0xFF010183
-#define OID_RT_GET_SIGNAL_QUALITY                      0xFF010184
-#define OID_RT_GET_SMALL_PACKET_CRC                    0xFF010185
-#define OID_RT_GET_MIDDLE_PACKET_CRC                   0xFF010186
-#define OID_RT_GET_LARGE_PACKET_CRC                    0xFF010187
-#define OID_RT_GET_TX_RETRY                            0xFF010188
-#define OID_RT_GET_RX_RETRY                            0xFF010189
-#define OID_RT_PRO_SET_FW_DIG_STATE                    0xFF01018A/* S */
-#define OID_RT_PRO_SET_FW_RA_STATE                     0xFF01018B/* S */
-
-#define OID_RT_GET_RX_TOTAL_PACKET                     0xFF010190
-#define OID_RT_GET_TX_BEACON_OK                                0xFF010191
-#define OID_RT_GET_TX_BEACON_ERR                       0xFF010192
-#define OID_RT_GET_RX_ICV_ERR                          0xFF010193
-#define OID_RT_SET_ENCRYPTION_ALGORITHM                        0xFF010194
-#define OID_RT_SET_NO_AUTO_RESCAN                      0xFF010195
-#define OID_RT_GET_PREAMBLE_MODE                       0xFF010196
-#define OID_RT_GET_DRIVER_UP_DELTA_TIME                        0xFF010197
-#define OID_RT_GET_AP_IP                               0xFF010198
-#define OID_RT_GET_CHANNELPLAN                         0xFF010199
-#define OID_RT_SET_PREAMBLE_MODE                       0xFF01019A
-#define OID_RT_SET_BCN_INTVL                           0xFF01019B
-#define OID_RT_GET_RF_VENDER                           0xFF01019C
-#define OID_RT_DEDICATE_PROBE                          0xFF01019D
-#define OID_RT_PRO_RX_FILTER_PATTERN                   0xFF01019E
-
-#define OID_RT_GET_DCST_CURRENT_THRESHOLD              0xFF01019F
-
-#define OID_RT_GET_CCA_ERR                             0xFF0101A0
-#define OID_RT_GET_CCA_UPGRADE_THRESHOLD               0xFF0101A1
-#define OID_RT_GET_CCA_FALLBACK_THRESHOLD              0xFF0101A2
-
-#define OID_RT_GET_CCA_UPGRADE_EVALUATE_TIMES          0xFF0101A3
-#define OID_RT_GET_CCA_FALLBACK_EVALUATE_TIMES         0xFF0101A4
-
-/*  by Owen on 03/31/03 for Cameo's request */
-#define OID_RT_SET_RATE_ADAPTIVE                       0xFF0101A5
-/*  */
-#define OID_RT_GET_DCST_EVALUATE_PERIOD                        0xFF0101A5
-#define OID_RT_GET_DCST_TIME_UNIT_INDEX                        0xFF0101A6
-#define OID_RT_GET_TOTAL_TX_BYTES                      0xFF0101A7
-#define OID_RT_GET_TOTAL_RX_BYTES                      0xFF0101A8
-#define OID_RT_CURRENT_TX_POWER_LEVEL                  0xFF0101A9
-#define OID_RT_GET_ENC_KEY_MISMATCH_COUNT              0xFF0101AA
-#define OID_RT_GET_ENC_KEY_MATCH_COUNT                 0xFF0101AB
-#define OID_RT_GET_CHANNEL                             0xFF0101AC
-
-#define OID_RT_SET_CHANNELPLAN                         0xFF0101AD
-#define OID_RT_GET_HARDWARE_RADIO_OFF                  0xFF0101AE
-#define OID_RT_CHANNELPLAN_BY_COUNTRY                  0xFF0101AF
-#define OID_RT_SCAN_AVAILABLE_BSSID                    0xFF0101B0
-#define OID_RT_GET_HARDWARE_VERSION                    0xFF0101B1
-#define OID_RT_GET_IS_ROAMING                          0xFF0101B2
-#define OID_RT_GET_IS_PRIVACY                          0xFF0101B3
-#define OID_RT_GET_KEY_MISMATCH                                0xFF0101B4
-#define OID_RT_SET_RSSI_ROAM_TRAFFIC_TH                        0xFF0101B5
-#define OID_RT_SET_RSSI_ROAM_SIGNAL_TH                 0xFF0101B6
-#define OID_RT_RESET_LOG                               0xFF0101B7
-#define OID_RT_GET_LOG                                 0xFF0101B8
-#define OID_RT_SET_INDICATE_HIDDEN_AP                  0xFF0101B9
-#define OID_RT_GET_HEADER_FAIL                         0xFF0101BA
-#define OID_RT_SUPPORTED_WIRELESS_MODE                 0xFF0101BB
-#define OID_RT_GET_CHANNEL_LIST                                0xFF0101BC
-#define OID_RT_GET_SCAN_IN_PROGRESS                    0xFF0101BD
-#define OID_RT_GET_TX_INFO                             0xFF0101BE
-#define OID_RT_RF_READ_WRITE_OFFSET                    0xFF0101BF
-#define OID_RT_RF_READ_WRITE                           0xFF0101C0
-
-/*  For Netgear request. 2005.01.13, by rcnjko. */
-#define OID_RT_FORCED_DATA_RATE                                0xFF0101C1
-#define OID_RT_WIRELESS_MODE_FOR_SCAN_LIST             0xFF0101C2
-/*  For Netgear request. 2005.02.17, by rcnjko. */
-#define OID_RT_GET_BSS_WIRELESS_MODE                   0xFF0101C3
-/*  For AZ project. 2005.06.27, by rcnjko. */
-#define OID_RT_SCAN_WITH_MAGIC_PACKET                  0xFF0101C4
-
-/*  Vincent 8185MP */
-#define OID_RT_PRO_RX_FILTER                           0xFF0111C0
-
-#define OID_CE_USB_WRITE_REGISTRY                      0xFF0111C1
-#define OID_CE_USB_READ_REGISTRY                       0xFF0111C2
-
-#define OID_RT_PRO_SET_INITIAL_GA                      0xFF0111C3
-#define OID_RT_PRO_SET_BB_RF_STANDBY_MODE              0xFF0111C4
-#define OID_RT_PRO_SET_BB_RF_SHUTDOWN_MODE             0xFF0111C5
-#define OID_RT_PRO_SET_TX_CHARGE_PUMP                  0xFF0111C6
-#define OID_RT_PRO_SET_RX_CHARGE_PUMP                  0xFF0111C7
-#define OID_RT_PRO_RF_WRITE_REGISTRY                   0xFF0111C8
-#define OID_RT_PRO_RF_READ_REGISTRY                    0xFF0111C9
-#define OID_RT_PRO_QUERY_RF_TYPE                       0xFF0111CA
-
-/*  AP OID */
-#define OID_RT_AP_GET_ASSOCIATED_STATION_LIST          0xFF010300
-#define OID_RT_AP_GET_CURRENT_TIME_STAMP               0xFF010301
-#define OID_RT_AP_SWITCH_INTO_AP_MODE                  0xFF010302
-#define OID_RT_AP_SET_DTIM_PERIOD                      0xFF010303
-/*  Determine if driver supports AP mode. */
-#define OID_RT_AP_SUPPORTED                            0xFF010304
-/*  Set WPA-PSK passphrase into authenticator. */
-#define OID_RT_AP_SET_PASSPHRASE                       0xFF010305
-
-/*  8187MP. 2004.09.06, by rcnjko. */
-#define OID_RT_PRO8187_WI_POLL                         0xFF818780
-#define OID_RT_PRO_WRITE_BB_REG                                0xFF818781
-#define OID_RT_PRO_READ_BB_REG                         0xFF818782
-#define OID_RT_PRO_WRITE_RF_REG                                0xFF818783
-#define OID_RT_PRO_READ_RF_REG                         0xFF818784
-
-/*  Meeting House. added by Annie, 2005-07-20. */
-#define OID_RT_MH_VENDER_ID                            0xFFEDC100
-
-/* 8711 MP OID added 20051230. */
-#define OID_RT_PRO8711_JOIN_BSS                                0xFF871100/* S */
-
-#define OID_RT_PRO_READ_REGISTER                       0xFF871101 /* Q */
-#define OID_RT_PRO_WRITE_REGISTER                      0xFF871102 /* S */
-
-#define OID_RT_PRO_BURST_READ_REGISTER                 0xFF871103 /* Q */
-#define OID_RT_PRO_BURST_WRITE_REGISTER                        0xFF871104 /* S */
-
-#define OID_RT_PRO_WRITE_TXCMD                         0xFF871105 /* S */
-
-#define OID_RT_PRO_READ16_EEPROM                       0xFF871106 /* Q */
-#define OID_RT_PRO_WRITE16_EEPROM                      0xFF871107 /* S */
-
-#define OID_RT_PRO_H2C_SET_COMMAND                     0xFF871108 /* S */
-#define OID_RT_PRO_H2C_QUERY_RESULT                    0xFF871109 /* Q */
-
-#define OID_RT_PRO8711_WI_POLL                         0xFF87110A /* Q */
-#define OID_RT_PRO8711_PKT_LOSS                                0xFF87110B /* Q */
-#define OID_RT_RD_ATTRIB_MEM                           0xFF87110C/* Q */
-#define OID_RT_WR_ATTRIB_MEM                           0xFF87110D/* S */
-
-/* Method 2 for H2C/C2H */
-#define OID_RT_PRO_H2C_CMD_MODE                                0xFF871110 /* S */
-#define OID_RT_PRO_H2C_CMD_RSP_MODE                    0xFF871111 /* Q */
-#define OID_RT_PRO_H2C_CMD_EVENT_MODE                  0xFF871112 /* S */
-#define OID_RT_PRO_WAIT_C2H_EVENT                      0xFF871113 /* Q */
-#define OID_RT_PRO_RW_ACCESS_PROTOCOL_TEST             0xFF871114/* Q */
-
-#define OID_RT_PRO_SCSI_ACCESS_TEST                    0xFF871115 /* Q, S */
-
-#define OID_RT_PRO_SCSI_TCPIPOFFLOAD_OUT               0xFF871116 /* S */
-#define OID_RT_PRO_SCSI_TCPIPOFFLOAD_IN                        0xFF871117 /* Q,S */
-#define OID_RT_RRO_RX_PKT_VIA_IOCTRL                   0xFF871118 /* Q */
-#define OID_RT_RRO_RX_PKTARRAY_VIA_IOCTRL              0xFF871119 /* Q */
-
-#define OID_RT_RPO_SET_PWRMGT_TEST                     0xFF87111A /* S */
-#define OID_RT_PRO_QRY_PWRMGT_TEST                     0XFF87111B /* Q */
-#define OID_RT_RPO_ASYNC_RWIO_TEST                     0xFF87111C /* S */
-#define OID_RT_RPO_ASYNC_RWIO_POLL                     0xFF87111D /* Q */
-#define OID_RT_PRO_SET_RF_INTFS                                0xFF87111E /* S */
-#define OID_RT_POLL_RX_STATUS                          0xFF87111F /* Q */
-
-#define OID_RT_PRO_CFG_DEBUG_MESSAGE                   0xFF871120 /* Q,S */
-#define OID_RT_PRO_SET_DATA_RATE_EX                    0xFF871121/* S */
-#define OID_RT_PRO_SET_BASIC_RATE                      0xFF871122/* S */
-#define OID_RT_PRO_READ_TSSI                           0xFF871123/* S */
-#define OID_RT_PRO_SET_POWER_TRACKING                  0xFF871124/* S */
-
-#define OID_RT_PRO_QRY_PWRSTATE                                0xFF871150 /* Q */
-#define OID_RT_PRO_SET_PWRSTATE                                0xFF871151 /* S */
-
-/* Method 2 , using workitem */
-#define OID_RT_SET_READ_REG                            0xFF871181 /* S */
-#define OID_RT_SET_WRITE_REG                           0xFF871182 /* S */
-#define OID_RT_SET_BURST_READ_REG                      0xFF871183 /* S */
-#define OID_RT_SET_BURST_WRITE_REG                     0xFF871184 /* S */
-#define OID_RT_SET_WRITE_TXCMD                         0xFF871185 /* S */
-#define OID_RT_SET_READ16_EEPROM                       0xFF871186 /* S */
-#define OID_RT_SET_WRITE16_EEPROM                      0xFF871187 /* S */
-#define OID_RT_QRY_POLL_WKITEM                         0xFF871188 /* Q */
-
-/* For SDIO INTERFACE only */
-#define OID_RT_PRO_SYNCPAGERW_SRAM                     0xFF8711A0 /* Q, S */
-#define OID_RT_PRO_871X_DRV_EXT                                0xFF8711A1
-
-/* For USB INTERFACE only */
-#define OID_RT_PRO_USB_VENDOR_REQ                      0xFF8711B0 /* Q, S */
-#define OID_RT_PRO_SCSI_AUTO_TEST                      0xFF8711B1 /* S */
-#define OID_RT_PRO_USB_MAC_AC_FIFO_WRITE               0xFF8711B2 /* S */
-#define OID_RT_PRO_USB_MAC_RX_FIFO_READ                        0xFF8711B3 /* Q */
-#define OID_RT_PRO_USB_MAC_RX_FIFO_POLLING             0xFF8711B4 /* Q */
-
-#define OID_RT_PRO_H2C_SET_RATE_TABLE                  0xFF8711FB /* S */
-#define OID_RT_PRO_H2C_GET_RATE_TABLE                  0xFF8711FC /* S */
-#define OID_RT_PRO_H2C_C2H_LBK_TEST                    0xFF8711FE
-
-#define OID_RT_PRO_ENCRYPTION_CTRL                     0xFF871200 /* Q, S */
-#define OID_RT_PRO_ADD_STA_INFO                                0xFF871201 /* S */
-#define OID_RT_PRO_DELE_STA_INFO                       0xFF871202 /* S */
-#define OID_RT_PRO_QUERY_DR_VARIABLE                   0xFF871203 /* Q */
-
-#define OID_RT_PRO_RX_PACKET_TYPE                      0xFF871204 /* Q, S */
-
-#define OID_RT_PRO_READ_EFUSE                          0xFF871205 /* Q */
-#define OID_RT_PRO_WRITE_EFUSE                         0xFF871206 /* S */
-#define OID_RT_PRO_RW_EFUSE_PGPKT                      0xFF871207 /* Q, S */
-#define OID_RT_GET_EFUSE_CURRENT_SIZE                  0xFF871208 /* Q */
-
-#define OID_RT_SET_BANDWIDTH                           0xFF871209 /* S */
-#define OID_RT_SET_CRYSTAL_CAP                         0xFF87120A /* S */
-
-#define OID_RT_SET_RX_PACKET_TYPE                      0xFF87120B /* S */
-
-#define OID_RT_GET_EFUSE_MAX_SIZE                      0xFF87120C /* Q */
-
-#define OID_RT_PRO_SET_TX_AGC_OFFSET                   0xFF87120D /* S */
-
-#define OID_RT_PRO_SET_PKT_TEST_MODE                   0xFF87120E /* S */
-
-#define OID_RT_PRO_FOR_EVM_TEST_SETTING                        0xFF87120F /* S */
-
-#define OID_RT_PRO_GET_THERMAL_METER                   0xFF871210 /* Q */
-
-#define OID_RT_RESET_PHY_RX_PACKET_COUNT               0xFF871211 /* S */
-#define OID_RT_GET_PHY_RX_PACKET_RECEIVED              0xFF871212 /* Q */
-#define OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR           0xFF871213 /* Q */
-
-#define OID_RT_SET_POWER_DOWN                          0xFF871214 /* S */
-
-#define OID_RT_GET_POWER_MODE                          0xFF871215 /* Q */
-
-#define OID_RT_PRO_EFUSE                               0xFF871216 /* Q, S */
-#define OID_RT_PRO_EFUSE_MAP                           0xFF871217 /* Q, S */
-
-#endif /* ifndef       __CUSTOM_OID_H */
index d9041ee..f086552 100644 (file)
@@ -4,75 +4,6 @@
 #ifndef        __HALDMOUTSRC_H__
 #define __HALDMOUTSRC_H__
 
-/*  Definition */
-/*  Define all team support ability. */
-
-/*  Define for all teams. Please Define the constant in your precomp header. */
-
-/* define              DM_ODM_SUPPORT_AP                       0 */
-/* define              DM_ODM_SUPPORT_ADSL                     0 */
-/* define              DM_ODM_SUPPORT_CE                       0 */
-/* define              DM_ODM_SUPPORT_MP                       1 */
-
-/*  Define ODM SW team support flag. */
-
-/*  Antenna Switch Relative Definition. */
-
-/*  Add new function SwAntDivCheck8192C(). */
-/*  This is the main function of Antenna diversity function before link. */
-/*  Mainly, it just retains last scan result and scan again. */
-/*  After that, it compares the scan result to see which one gets better
- *  RSSI. It selects antenna with better receiving power and returns better
- *  scan result. */
-
-#define        TP_MODE                 0
-#define        RSSI_MODE               1
-#define        TRAFFIC_LOW             0
-#define        TRAFFIC_HIGH            1
-
-/* 3 Tx Power Tracking */
-/* 3============================================================ */
-#define                DPK_DELTA_MAPPING_NUM   13
-#define                index_mapping_HP_NUM    15
-
-/*  */
-/* 3 PSD Handler */
-/* 3============================================================ */
-
-#define        AFH_PSD         1       /* 0:normal PSD scan, 1: only do 20 pts PSD */
-#define        MODE_40M        0       /* 0:20M, 1:40M */
-#define        PSD_TH2         3
-#define        PSD_CHM         20   /*  Minimum channel number for BT AFH */
-#define        SIR_STEP_SIZE   3
-#define Smooth_Size_1  5
-#define        Smooth_TH_1     3
-#define Smooth_Size_2  10
-#define        Smooth_TH_2     4
-#define Smooth_Size_3  20
-#define        Smooth_TH_3     4
-#define Smooth_Step_Size 5
-#define        Adaptive_SIR    1
-#define        PSD_RESCAN      4
-#define        PSD_SCAN_INTERVAL       700 /* ms */
-
-/* 8723A High Power IGI Setting */
-#define DM_DIG_HIGH_PWR_IGI_LOWER_BOUND        0x22
-#define DM_DIG_Gmode_HIGH_PWR_IGI_LOWER_BOUND 0x28
-#define DM_DIG_HIGH_PWR_THRESHOLD      0x3a
-
-/*  LPS define */
-#define DM_DIG_FA_TH0_LPS              4 /*  4 in lps */
-#define DM_DIG_FA_TH1_LPS              15 /*  15 lps */
-#define DM_DIG_FA_TH2_LPS              30 /*  30 lps */
-#define RSSI_OFFSET_DIG                        0x05;
-
-/* ANT Test */
-#define ANTTESTALL             0x00    /* Ant A or B will be Testing */
-#define ANTTESTA               0x01    /* Ant A will be Testing */
-#define ANTTESTB               0x02    /* Ant B will be testing */
-
-/*  structure and define */
-
 /*  Add for AP/ADSLpseudo DM structuer requirement. */
 /*  We need to remove to other position??? */
 struct rtl8192cd_priv {
@@ -178,23 +109,7 @@ struct rx_hpc {
        struct timer_list PSDTimer;
 };
 
-#define ASSOCIATE_ENTRY_NUM    32 /*  Max size of AsocEntry[]. */
-#define        ODM_ASSOCIATE_ENTRY_NUM ASSOCIATE_ENTRY_NUM
-
-/*  This indicates two different steps. */
-/*  In SWAW_STEP_PEAK, driver needs to switch antenna and listen to
- *  the signal on the air. */
-/*  In SWAW_STEP_DETERMINE, driver just compares the signal captured in
- *  SWAW_STEP_PEAK with original RSSI to determine if it is necessary to
- *  switch antenna. */
-
-#define SWAW_STEP_PEAK         0
-#define SWAW_STEP_DETERMINE    1
-
-#define        TP_MODE                 0
-#define        RSSI_MODE               1
-#define        TRAFFIC_LOW             0
-#define        TRAFFIC_HIGH            1
+#define ODM_ASSOCIATE_ENTRY_NUM        32 /*  Max size of AsocEntry[]. */
 
 struct sw_ant_switch {
        u8      try_flag;
@@ -210,8 +125,6 @@ struct sw_ant_switch {
        /*  Before link Antenna Switch check */
        u8      SWAS_NoLink_State;
        u32     SWAS_NoLink_BK_Reg860;
-       bool    ANTA_ON;        /* To indicate Ant A is or not */
-       bool    ANTB_ON;        /* To indicate Ant B is on or not */
 
        s32     RSSI_sum_A;
        s32     RSSI_sum_B;
@@ -225,16 +138,8 @@ struct sw_ant_switch {
        u64     RXByteCnt_B;
        u8      TrafficLoad;
        struct timer_list SwAntennaSwitchTimer;
-       /* Hybrid Antenna Diversity */
-       u32     CCK_Ant1_Cnt[ASSOCIATE_ENTRY_NUM];
-       u32     CCK_Ant2_Cnt[ASSOCIATE_ENTRY_NUM];
-       u32     OFDM_Ant1_Cnt[ASSOCIATE_ENTRY_NUM];
-       u32     OFDM_Ant2_Cnt[ASSOCIATE_ENTRY_NUM];
-       u32     RSSI_Ant1_Sum[ASSOCIATE_ENTRY_NUM];
-       u32     RSSI_Ant2_Sum[ASSOCIATE_ENTRY_NUM];
-       u8      TxAnt[ASSOCIATE_ENTRY_NUM];
+       u8      TxAnt[ODM_ASSOCIATE_ENTRY_NUM];
        u8      TargetSTA;
-       u8      antsel;
        u8      RxIdleAnt;
 };
 
@@ -245,7 +150,6 @@ struct edca_turbo {
 };
 
 struct odm_rate_adapt {
-       u8      Type;           /*  DM_Type_ByFW/DM_Type_ByDriver */
        u8      HighRSSIThresh; /*  if RSSI > HighRSSIThresh    => RATRState is DM_RATR_STA_HIGH */
        u8      LowRSSIThresh;  /*  if RSSI <= LowRSSIThresh    => RATRState is DM_RATR_STA_LOW */
        u8      RATRState;      /*  Current RSSI level, DM_RATR_STA_HIGH/DM_RATR_STA_MIDDLE/DM_RATR_STA_LOW */
@@ -254,33 +158,11 @@ struct odm_rate_adapt {
 
 #define IQK_MAC_REG_NUM                4
 #define IQK_ADDA_REG_NUM       16
-#define IQK_BB_REG_NUM_MAX     10
 #define IQK_BB_REG_NUM         9
 #define HP_THERMAL_NUM         8
 
 #define AVG_THERMAL_NUM                8
 #define IQK_Matrix_REG_NUM     8
-#define IQK_Matrix_Settings_NUM        1+24+21
-
-#define        DM_Type_ByFWi           0
-#define        DM_Type_ByDriver        1
-
-/*  Declare for common info */
-
-struct odm_phy_status_info {
-       u8      RxPWDBAll;
-       u8      SignalQuality;   /*  in 0-100 index. */
-       u8      RxMIMOSignalQuality[MAX_PATH_NUM_92CS]; /* EVM */
-       u8      RxMIMOSignalStrength[MAX_PATH_NUM_92CS];/*  in 0~100 index */
-       s8      RxPower; /*  in dBm Translate from PWdB */
-       s8      RecvSignalPower;/*  Real power in dBm for this packet, no
-                                * beautification and aggregation. Keep this raw
-                                * info to be used for the other procedures. */
-       u8      BTRxRSSIPercentage;
-       u8      SignalStrength; /*  in 0-100 index. */
-       u8      RxPwr[MAX_PATH_NUM_92CS];/* per-path's pwdb */
-       u8      RxSNR[MAX_PATH_NUM_92CS];/* per-path's SNR */
-};
 
 struct odm_phy_dbg_info {
        /* ODM Write,debug info */
@@ -342,48 +224,23 @@ enum odm_common_info_def {
        /*  Fixed value: */
 
        /* HOOK BEFORE REG INIT----------- */
-       ODM_CMNINFO_PLATFORM = 0,
        ODM_CMNINFO_ABILITY,            /* ODM_ABILITY_E */
-       ODM_CMNINFO_INTERFACE,          /* ODM_INTERFACE_E */
        ODM_CMNINFO_MP_TEST_CHIP,
-       ODM_CMNINFO_IC_TYPE,            /* ODM_IC_TYPE_E */
-       ODM_CMNINFO_CUT_VER,            /* ODM_CUT_VERSION_E */
-       ODM_CMNINFO_FAB_VER,            /* ODM_FAB_E */
-       ODM_CMNINFO_RF_TYPE,            /* RF_PATH_E or ODM_RF_TYPE_E? */
-       ODM_CMNINFO_BOARD_TYPE,         /* ODM_BOARD_TYPE_E */
-       ODM_CMNINFO_EXT_LNA,            /* true */
-       ODM_CMNINFO_EXT_PA,
-       ODM_CMNINFO_EXT_TRSW,
-       ODM_CMNINFO_PATCH_ID,           /* CUSTOMER ID */
-       ODM_CMNINFO_BINHCT_TEST,
-       ODM_CMNINFO_BWIFI_TEST,
-       ODM_CMNINFO_SMART_CONCURRENT,
        /* HOOK BEFORE REG INIT-----------  */
 
        /*  Dynamic value: */
 /*  POINTER REFERENCE-----------  */
-       ODM_CMNINFO_MAC_PHY_MODE,       /*  ODM_MAC_PHY_MODE_E */
        ODM_CMNINFO_TX_UNI,
        ODM_CMNINFO_RX_UNI,
        ODM_CMNINFO_WM_MODE,            /*  ODM_WIRELESS_MODE_E */
-       ODM_CMNINFO_BAND,               /*  ODM_BAND_TYPE_E */
        ODM_CMNINFO_SEC_CHNL_OFFSET,    /*  ODM_SEC_CHNL_OFFSET_E */
        ODM_CMNINFO_SEC_MODE,           /*  ODM_SECURITY_E */
        ODM_CMNINFO_BW,                 /*  ODM_BW_E */
        ODM_CMNINFO_CHNL,
 
-       ODM_CMNINFO_DMSP_GET_VALUE,
-       ODM_CMNINFO_BUDDY_ADAPTOR,
-       ODM_CMNINFO_DMSP_IS_MASTER,
        ODM_CMNINFO_SCAN,
        ODM_CMNINFO_POWER_SAVING,
-       ODM_CMNINFO_ONE_PATH_CCA,       /*  ODM_CCA_PATH_E */
-       ODM_CMNINFO_DRV_STOP,
-       ODM_CMNINFO_PNP_IN,
-       ODM_CMNINFO_INIT_ON,
-       ODM_CMNINFO_ANT_TEST,
        ODM_CMNINFO_NET_CLOSED,
-       ODM_CMNINFO_MP_MODE,
 /*  POINTER REFERENCE----------- */
 
 /* CALL BY VALUE------------- */
@@ -391,21 +248,8 @@ enum odm_common_info_def {
        ODM_CMNINFO_WIFI_DISPLAY,
        ODM_CMNINFO_LINK,
        ODM_CMNINFO_RSSI_MIN,
-       ODM_CMNINFO_RA_THRESHOLD_HIGH,          /*  u8 */
-       ODM_CMNINFO_RA_THRESHOLD_LOW,           /*  u8 */
        ODM_CMNINFO_RF_ANTENNA_TYPE,            /*  u8 */
-       ODM_CMNINFO_BT_DISABLED,
-       ODM_CMNINFO_BT_OPERATION,
-       ODM_CMNINFO_BT_DIG,
-       ODM_CMNINFO_BT_BUSY,                    /* Check Bt is using or not */
-       ODM_CMNINFO_BT_DISABLE_EDCA,
 /* CALL BY VALUE-------------*/
-
-       /*  Dynamic ptr array hook itms. */
-       ODM_CMNINFO_STA_STATUS,
-       ODM_CMNINFO_PHY_STATUS,
-       ODM_CMNINFO_MAC_STATUS,
-       ODM_CMNINFO_MAX,
 };
 
 /*  2011/10/20 MH Define ODM support ability.  ODM_CMNINFO_ABILITY */
@@ -436,85 +280,7 @@ enum odm_ability_def {
        ODM_RF_CALIBRATION              = BIT(26),
 };
 
-/*     ODM_CMNINFO_INTERFACE */
-enum odm_interface_def {
-       ODM_ITRF_PCIE   =       0x1,
-       ODM_ITRF_USB    =       0x2,
-       ODM_ITRF_SDIO   =       0x4,
-       ODM_ITRF_ALL    =       0x7,
-};
-
-/*  ODM_CMNINFO_IC_TYPE */
-enum odm_ic_type {
-       ODM_RTL8192S    =       BIT(0),
-       ODM_RTL8192C    =       BIT(1),
-       ODM_RTL8192D    =       BIT(2),
-       ODM_RTL8723A    =       BIT(3),
-       ODM_RTL8188E    =       BIT(4),
-       ODM_RTL8812     =       BIT(5),
-       ODM_RTL8821     =       BIT(6),
-};
-
-#define ODM_IC_11N_SERIES                                              \
-       (ODM_RTL8192S | ODM_RTL8192C | ODM_RTL8192D |                   \
-        ODM_RTL8723A | ODM_RTL8188E)
-#define ODM_IC_11AC_SERIES             (ODM_RTL8812)
-
-/* ODM_CMNINFO_CUT_VER */
-enum odm_cut_version {
-       ODM_CUT_A       =       1,
-       ODM_CUT_B       =       2,
-       ODM_CUT_C       =       3,
-       ODM_CUT_D       =       4,
-       ODM_CUT_E       =       5,
-       ODM_CUT_F       =       6,
-       ODM_CUT_TEST    =       7,
-};
-
-/*  ODM_CMNINFO_FAB_VER */
-enum odm_fab_Version {
-       ODM_TSMC        =       0,
-       ODM_UMC         =       1,
-};
-
-/*  ODM_CMNINFO_RF_TYPE */
-/*  For example 1T2R (A+AB = BIT(0)|BIT(4)|BIT(5)) */
-enum odm_rf_path {
-       ODM_RF_TX_A     =       BIT(0),
-       ODM_RF_TX_B     =       BIT(1),
-       ODM_RF_TX_C     =       BIT(2),
-       ODM_RF_TX_D     =       BIT(3),
-       ODM_RF_RX_A     =       BIT(4),
-       ODM_RF_RX_B     =       BIT(5),
-       ODM_RF_RX_C     =       BIT(6),
-       ODM_RF_RX_D     =       BIT(7),
-};
-
-enum odm_rf_type {
-       ODM_1T1R        =       0,
-       ODM_1T2R        =       1,
-       ODM_2T2R        =       2,
-       ODM_2T3R        =       3,
-       ODM_2T4R        =       4,
-       ODM_3T3R        =       5,
-       ODM_3T4R        =       6,
-       ODM_4T4R        =       7,
-};
-
-/*  ODM Dynamic common info value definition */
-
-enum odm_mac_phy_mode {
-       ODM_SMSP        = 0,
-       ODM_DMSP        = 1,
-       ODM_DMDP        = 2,
-};
-
-enum odm_bt_coexist {
-       ODM_BT_BUSY             = 1,
-       ODM_BT_ON               = 2,
-       ODM_BT_OFF              = 3,
-       ODM_BT_NONE             = 4,
-};
+# define ODM_ITRF_USB 0x2
 
 /*  ODM_CMNINFO_OP_MODE */
 enum odm_operation_mode {
@@ -538,52 +304,12 @@ enum odm_wireless_mode {
        ODM_WM_AUTO     = BIT(5),
 };
 
-/*  ODM_CMNINFO_BAND */
-enum odm_band_type {
-       ODM_BAND_2_4G   = BIT(0),
-};
-
-/*  ODM_CMNINFO_SEC_CHNL_OFFSET */
-enum odm_sec_chnl_offset {
-       ODM_DONT_CARE   = 0,
-       ODM_BELOW       = 1,
-       ODM_ABOVE       = 2
-};
-
-/*  ODM_CMNINFO_SEC_MODE */
-enum odm_security {
-       ODM_SEC_OPEN            = 0,
-       ODM_SEC_WEP40           = 1,
-       ODM_SEC_TKIP            = 2,
-       ODM_SEC_RESERVE         = 3,
-       ODM_SEC_AESCCMP         = 4,
-       ODM_SEC_WEP104          = 5,
-       ODM_WEP_WPA_MIXED       = 6, /*  WEP + WPA */
-       ODM_SEC_SMS4            = 7,
-};
-
 /*  ODM_CMNINFO_BW */
 enum odm_bw {
        ODM_BW20M               = 0,
        ODM_BW40M               = 1,
 };
 
-/*  ODM_CMNINFO_BOARD_TYPE */
-enum odm_board_type {
-       ODM_BOARD_NORMAL        = 0,
-       ODM_BOARD_HIGHPWR       = 1,
-       ODM_BOARD_MINICARD      = 2,
-       ODM_BOARD_SLIM          = 3,
-       ODM_BOARD_COMBO         = 4,
-};
-
-/*  ODM_CMNINFO_ONE_PATH_CCA */
-enum odm_cca_path {
-       ODM_CCA_2R              = 0,
-       ODM_CCA_1R_A            = 1,
-       ODM_CCA_1R_B            = 2,
-};
-
 struct odm_ra_info {
        u8 RateID;
        u32 RateMask;
@@ -664,7 +390,7 @@ struct odm_rf_cal {
 
        u8      ThermalValue_HP[HP_THERMAL_NUM];
        u8      ThermalValue_HP_index;
-       struct ijk_matrix_regs_set IQKMatrixRegSetting[IQK_Matrix_Settings_NUM];
+       struct ijk_matrix_regs_set IQKMatrixRegSetting;
 
        u8      Delta_IQK;
        u8      Delta_LCK;
@@ -680,7 +406,6 @@ struct odm_rf_cal {
        u32     Reg864;
 
        bool    bIQKInitialized;
-       bool    bLCKInProgress;
        bool    bAntennaDetected;
        u32     ADDA_backup[IQK_ADDA_REG_NUM];
        u32     IQK_MAC_backup[IQK_MAC_REG_NUM];
@@ -730,7 +455,6 @@ enum ant_div_type {
        CGCS_RX_HW_ANTDIV               = 0x02,
        FIXED_HW_ANTDIV                 = 0x03,
        CG_TRX_SMART_ANTDIV             = 0x04,
-       CGCS_RX_SW_ANTDIV               = 0x05,
 };
 
 /* Copy from SD4 defined structure. We use to support PHY DM integration. */
@@ -752,34 +476,9 @@ struct odm_dm_struct {
 /* 1  COMMON INFORMATION */
        /*  Init Value */
 /* HOOK BEFORE REG INIT----------- */
-       /*  ODM Platform info AP/ADSL/CE/MP = 1/2/3/4 */
-       u8      SupportPlatform;
        /*  ODM Support Ability DIG/RATR/TX_PWR_TRACK/ ï¿½K�K = 1/2/3/�K */
        u32     SupportAbility;
-       /*  ODM PCIE/USB/SDIO/GSPI = 0/1/2/3 */
-       u8      SupportInterface;
-       /*  ODM composite or independent. Bit oriented/ 92C+92D+ .... or any
-        *  other type = 1/2/3/... */
-       u32     SupportICType;
-       /*  Cut Version TestChip/A-cut/B-cut... = 0/1/2/3/... */
-       u8      CutVersion;
-       /*  Fab Version TSMC/UMC = 0/1 */
-       u8      FabVersion;
-       /*  RF Type 4T4R/3T3R/2T2R/1T2R/1T1R/... */
-       u8      RFType;
-       /*  Board Type Normal/HighPower/MiniCard/SLIM/Combo/. = 0/1/2/3/4/. */
-       u8      BoardType;
-       /*  with external LNA  NO/Yes = 0/1 */
-       u8      ExtLNA;
-       /*  with external PA  NO/Yes = 0/1 */
-       u8      ExtPA;
-       /*  with external TRSW  NO/Yes = 0/1 */
-       u8      ExtTRSW;
-       u8      PatchID; /* Customer ID */
-       bool    bInHctTest;
-       bool    bWIFITest;
-
-       bool    bDualMacSmartConcurrent;
+
        u32     BK_SupportAbility;
        u8      AntDivType;
 /* HOOK BEFORE REG INIT----------- */
@@ -791,16 +490,12 @@ struct odm_dm_struct {
        bool    bool_temp;
        struct adapter *adapter_temp;
 
-       /*  MAC PHY Mode SMSP/DMSP/DMDP = 0/1/2 */
-       u8      *pMacPhyMode;
        /* TX Unicast byte count */
        u64     *pNumTxBytesUnicast;
        /* RX Unicast byte count */
        u64     *pNumRxBytesUnicast;
        /*  Wireless mode B/G/A/N = BIT(0)/BIT(1)/BIT(2)/BIT(3) */
        u8      *pWirelessMode; /* ODM_WIRELESS_MODE_E */
-       /*  Frequence band 2.4G/5G = 0/1 */
-       u8      *pBandType;
        /*  Secondary channel offset don't_care/below/above = 0/1/2 */
        u8      *pSecChOffset;
        /*  Security mode Open/WEP/AES/TKIP = 0/1/2/3 */
@@ -850,13 +545,6 @@ struct odm_dm_struct {
        struct odm_ra_info RAInfo[ODM_ASSOCIATE_ENTRY_NUM]; /* Use MacID as
                        * array index. STA MacID=0,
                        * VWiFi Client MacID={1, ODM_ASSOCIATE_ENTRY_NUM-1} */
-       /*  */
-       /*  2012/02/14 MH Add to share 88E ra with other SW team. */
-       /*  We need to colelct all support abilit to a proper area. */
-       /*  */
-       bool    RaSupport88E;
-
-       /*  Define ........... */
 
        /*  Latest packet phy info (ODM write) */
        struct odm_phy_dbg_info PhyDbgInfo;
@@ -895,9 +583,6 @@ struct odm_dm_struct {
        bool    bPSDinProcess;
        bool    bDMInitialGainEnable;
 
-       /* for rate adaptive, in fact,  88c/92c fw will handle this */
-       u8      bUseRAMask;
-
        struct odm_rate_adapt RateAdaptive;
 
        struct odm_rf_cal RFCalibrateInfo;
@@ -911,7 +596,6 @@ struct odm_dm_struct {
        u8      BbSwingIdxCckCurrent;
        u8      BbSwingIdxCckBase;
        bool    BbSwingFlagCck;
-       u8      *mp_mode;
        /*  ODM system resource. */
 
        /*  ODM relative time. */
@@ -921,13 +605,6 @@ struct odm_dm_struct {
        struct timer_list FastAntTrainingTimer;
 };             /*  DM_Dynamic_Mechanism_Structure */
 
-enum ODM_RF_CONTENT {
-       odm_radioa_txt = 0x1000,
-       odm_radiob_txt = 0x1001,
-       odm_radioc_txt = 0x1002,
-       odm_radiod_txt = 0x1003
-};
-
 enum odm_bb_config_type {
     CONFIG_BB_PHY_REG,
     CONFIG_BB_AGC_TAB,
@@ -935,38 +612,9 @@ enum odm_bb_config_type {
     CONFIG_BB_PHY_REG_PG,
 };
 
-/*  Status code */
-enum rt_status {
-       RT_STATUS_SUCCESS,
-       RT_STATUS_FAILURE,
-       RT_STATUS_PENDING,
-       RT_STATUS_RESOURCE,
-       RT_STATUS_INVALID_CONTEXT,
-       RT_STATUS_INVALID_PARAMETER,
-       RT_STATUS_NOT_SUPPORT,
-       RT_STATUS_OS_API_FAILED,
-};
-
-/* 3=========================================================== */
-/* 3 DIG */
-/* 3=========================================================== */
-
-enum dm_dig_op {
-       RT_TYPE_THRESH_HIGH     = 0,
-       RT_TYPE_THRESH_LOW      = 1,
-       RT_TYPE_BACKOFF         = 2,
-       RT_TYPE_RX_GAIN_MIN     = 3,
-       RT_TYPE_RX_GAIN_MAX     = 4,
-       RT_TYPE_ENABLE          = 5,
-       RT_TYPE_DISABLE         = 6,
-       DIG_OP_TYPE_MAX
-};
-
 #define                DM_DIG_THRESH_HIGH      40
 #define                DM_DIG_THRESH_LOW       35
 
-#define                DM_SCAN_RSSI_TH         0x14 /* scan return issue for LC */
-
 #define                DM_false_ALARM_THRESH_LOW       400
 #define                DM_false_ALARM_THRESH_HIGH      1000
 
@@ -974,65 +622,18 @@ enum dm_dig_op {
 #define                DM_DIG_MIN_NIC                  0x1e /* 0x22/0x1c */
 
 #define                DM_DIG_MAX_AP                   0x32
-#define                DM_DIG_MIN_AP                   0x20
-
-#define                DM_DIG_MAX_NIC_HP               0x46
-#define                DM_DIG_MIN_NIC_HP               0x2e
-
-#define                DM_DIG_MAX_AP_HP                0x42
-#define                DM_DIG_MIN_AP_HP                0x30
 
 /* vivi 92c&92d has different definition, 20110504 */
 /* this is for 92c */
 #define                DM_DIG_FA_TH0                   0x200/* 0x20 */
 #define                DM_DIG_FA_TH1                   0x300/* 0x100 */
 #define                DM_DIG_FA_TH2                   0x400/* 0x200 */
-/* this is for 92d */
-#define                DM_DIG_FA_TH0_92D               0x100
-#define                DM_DIG_FA_TH1_92D               0x400
-#define                DM_DIG_FA_TH2_92D               0x600
 
 #define                DM_DIG_BACKOFF_MAX              12
 #define                DM_DIG_BACKOFF_MIN              -4
 #define                DM_DIG_BACKOFF_DEFAULT          10
 
 /* 3=========================================================== */
-/* 3 AGC RX High Power Mode */
-/* 3=========================================================== */
-#define          LNA_Low_Gain_1                0x64
-#define          LNA_Low_Gain_2                0x5A
-#define          LNA_Low_Gain_3                0x58
-
-#define          FA_RXHP_TH1                   5000
-#define          FA_RXHP_TH2                   1500
-#define          FA_RXHP_TH3                   800
-#define          FA_RXHP_TH4                   600
-#define          FA_RXHP_TH5                   500
-
-/* 3=========================================================== */
-/* 3 EDCA */
-/* 3=========================================================== */
-
-/* 3=========================================================== */
-/* 3 Dynamic Tx Power */
-/* 3=========================================================== */
-/* Dynamic Tx Power Control Threshold */
-#define                TX_POWER_NEAR_FIELD_THRESH_LVL2 74
-#define                TX_POWER_NEAR_FIELD_THRESH_LVL1 67
-#define                TX_POWER_NEAR_FIELD_THRESH_AP           0x3F
-
-#define                TxHighPwrLevel_Normal           0
-#define                TxHighPwrLevel_Level1           1
-#define                TxHighPwrLevel_Level2           2
-#define                TxHighPwrLevel_BT1              3
-#define                TxHighPwrLevel_BT2              4
-#define                TxHighPwrLevel_15               5
-#define                TxHighPwrLevel_35               6
-#define                TxHighPwrLevel_50               7
-#define                TxHighPwrLevel_70               8
-#define                TxHighPwrLevel_100              9
-
-/* 3=========================================================== */
 /* 3 Rate Adaptive */
 /* 3=========================================================== */
 #define                DM_RATR_STA_INIT                0
@@ -1065,11 +666,7 @@ enum dm_swas {
        Antenna_MAX = 3,
 };
 
-/*  Maximal number of antenna detection mechanism needs to perform. */
-#define        MAX_ANTENNA_DETECTION_CNT       10
-
 /*  Extern Global Variables. */
-#define        OFDM_TABLE_SIZE_92C     37
 #define        OFDM_TABLE_SIZE_92D     43
 #define        CCK_TABLE_SIZE          33
 
@@ -1079,44 +676,19 @@ extern   u8 CCKSwingTable_Ch14 [CCK_TABLE_SIZE][8];
 
 /*  check Sta pointer valid or not */
 #define IS_STA_VALID(pSta)             (pSta)
-/*  20100514 Joseph: Add definition for antenna switching test after link. */
-/*  This indicates two different the steps. */
-/*  In SWAW_STEP_PEAK, driver needs to switch antenna and listen to the
- *  signal on the air. */
-/*  In SWAW_STEP_DETERMINE, driver just compares the signal captured in
- *  SWAW_STEP_PEAK */
-/*  with original RSSI to determine if it is necessary to switch antenna. */
-#define SWAW_STEP_PEAK         0
-#define SWAW_STEP_DETERMINE    1
 
 void ODM_Write_DIG(struct odm_dm_struct *pDM_Odm, u8 CurrentIGI);
 void ODM_Write_CCK_CCA_Thres(struct odm_dm_struct *pDM_Odm, u8 CurCCK_CCAThres);
 
 void ODM_SetAntenna(struct odm_dm_struct *pDM_Odm, u8 Antenna);
 
-#define dm_RF_Saving   ODM_RF_Saving
 void ODM_RF_Saving(struct odm_dm_struct *pDM_Odm, u8 bForceInNormal);
 
-#define SwAntDivRestAfterLink  ODM_SwAntDivRestAfterLink
-void ODM_SwAntDivRestAfterLink(struct odm_dm_struct *pDM_Odm);
-
-#define dm_CheckTXPowerTracking ODM_TXPowerTrackingCheck
 void ODM_TXPowerTrackingCheck(struct odm_dm_struct *pDM_Odm);
 
 bool ODM_RAStateCheck(struct odm_dm_struct *pDM_Odm, s32 RSSI,
                      bool bForceUpdate, u8 *pRATRState);
 
-#define dm_SWAW_RSSI_Check     ODM_SwAntDivChkPerPktRssi
-void ODM_SwAntDivChkPerPktRssi(struct odm_dm_struct *pDM_Odm, u8 StationID,
-                              struct odm_phy_status_info *pPhyInfo);
-
-u32 ConvertTo_dB(u32 Value);
-
-u32 GetPSDData(struct odm_dm_struct *pDM_Odm, unsigned int point,
-              u8 initial_gain_psd);
-
-void odm_DIGbyRSSI_LPS(struct odm_dm_struct *pDM_Odm);
-
 u32 ODM_Get_Rate_Bitmap(struct odm_dm_struct *pDM_Odm, u32 macid,
                        u32 ra_mask, u8 rssi_level);
 
@@ -1130,25 +702,6 @@ void ODM_CmnInfoInit(struct odm_dm_struct *pDM_Odm,
 void ODM_CmnInfoHook(struct odm_dm_struct *pDM_Odm,
                     enum odm_common_info_def CmnInfo, void *pValue);
 
-void ODM_CmnInfoPtrArrayHook(struct odm_dm_struct *pDM_Odm,
-                            enum odm_common_info_def CmnInfo,
-                            u16 Index, void *pValue);
-
 void ODM_CmnInfoUpdate(struct odm_dm_struct *pDM_Odm, u32 CmnInfo, u64 Value);
 
-void ODM_InitAllTimers(struct odm_dm_struct *pDM_Odm);
-
-void ODM_CancelAllTimers(struct odm_dm_struct *pDM_Odm);
-
-void ODM_ReleaseAllTimers(struct odm_dm_struct *pDM_Odm);
-
-void ODM_AntselStatistics_88C(struct odm_dm_struct *pDM_Odm, u8 MacId,
-                             u32 PWDBAll, bool isCCKrate);
-
-void ODM_SingleDualAntennaDefaultSetting(struct odm_dm_struct *pDM_Odm);
-
-bool ODM_SingleDualAntennaDetection(struct odm_dm_struct *pDM_Odm, u8 mode);
-
-void odm_dtc(struct odm_dm_struct *pDM_Odm);
-
 #endif
index 9b2ab3b..3ed265e 100644 (file)
@@ -89,21 +89,12 @@ struct phy_status_rpt {
 #endif
 };
 
-void odm_Init_RSSIForDM(struct odm_dm_struct *pDM_Odm);
-
 void ODM_PhyStatusQuery(struct odm_dm_struct *pDM_Odm,
-                       struct odm_phy_status_info *pPhyInfo,
+                       struct phy_info *pPhyInfo,
                        u8 *pPhyStatus,
                        struct odm_per_pkt_info *pPktinfo,
                        struct adapter *adapt);
 
-void ODM_MacStatusQuery(struct odm_dm_struct *pDM_Odm,
-                       u8 *pMacStatus,
-                       u8      MacID,
-                       bool    bPacketMatchBSSID,
-                       bool    bPacketToSelf,
-                       bool    bPacketBeacon);
-
 enum HAL_STATUS ODM_ConfigRFWithHeaderFile(struct odm_dm_struct *pDM_Odm,
                                           enum rf_radio_path Content,
                                           enum rf_radio_path eRFPath);
index 00d2678..96e50c9 100644 (file)
@@ -11,8 +11,6 @@
 #define        MAIN_ANT_CGCS_RX        0
 #define        AUX_ANT_CGCS_RX 1
 
-void ODM_DIG_LowerBound_88E(struct odm_dm_struct *pDM_Odm);
-
 void ODM_AntennaDiversityInit_88E(struct odm_dm_struct *pDM_Odm);
 
 void ODM_AntennaDiversity_88E(struct odm_dm_struct *pDM_Odm);
index 86b5b2d..634454b 100644 (file)
@@ -10,9 +10,6 @@ void odm_ConfigRFReg_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u32 Data,
 void odm_ConfigRF_RadioA_8188E(struct odm_dm_struct *pDM_Odm,
                               u32 Addr, u32 Data);
 
-void odm_ConfigRF_RadioB_8188E(struct odm_dm_struct *pDM_Odm,
-                              u32 Addr, u32 Data);
-
 void odm_ConfigMAC_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr, u8 Data);
 
 void odm_ConfigBB_AGC_8188E(struct odm_dm_struct *pDM_Odm, u32 Addr,
diff --git a/drivers/staging/r8188eu/include/odm_RegDefine11AC.h b/drivers/staging/r8188eu/include/odm_RegDefine11AC.h
deleted file mode 100644 (file)
index bba7511..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#ifndef        __ODM_REGDEFINE11AC_H__
-#define __ODM_REGDEFINE11AC_H__
-
-/* 2 RF REG LIST */
-
-/* 2 BB REG LIST */
-/* PAGE 8 */
-/* PAGE 9 */
-#define        ODM_REG_OFDM_FA_RST_11AC                0x9A4
-/* PAGE A */
-#define        ODM_REG_CCK_CCA_11AC                            0xA0A
-#define        ODM_REG_CCK_FA_RST_11AC                 0xA2C
-#define        ODM_REG_CCK_FA_11AC                             0xA5C
-/* PAGE C */
-#define        ODM_REG_IGI_A_11AC                              0xC50
-/* PAGE E */
-#define        ODM_REG_IGI_B_11AC                              0xE50
-/* PAGE F */
-#define        ODM_REG_OFDM_FA_11AC                    0xF48
-
-/* 2 MAC REG LIST */
-
-/* DIG Related */
-#define        ODM_BIT_IGI_11AC                                0xFFFFFFFF
-
-#endif
index 5d1d734..82a602b 100644 (file)
@@ -4,56 +4,20 @@
 #ifndef        __ODM_REGDEFINE11N_H__
 #define __ODM_REGDEFINE11N_H__
 
-/* 2 RF REG LIST */
-#define        ODM_REG_RF_MODE_11N                             0x00
-#define        ODM_REG_RF_0B_11N                               0x0B
-#define        ODM_REG_CHNBW_11N                               0x18
-#define        ODM_REG_T_METER_11N                             0x24
-#define        ODM_REG_RF_25_11N                               0x25
-#define        ODM_REG_RF_26_11N                               0x26
-#define        ODM_REG_RF_27_11N                               0x27
-#define        ODM_REG_RF_2B_11N                               0x2B
-#define        ODM_REG_RF_2C_11N                               0x2C
-#define        ODM_REG_RXRF_A3_11N                             0x3C
-#define        ODM_REG_T_METER_92D_11N                 0x42
-#define        ODM_REG_T_METER_88E_11N                 0x42
-
 /* 2 BB REG LIST */
 /* PAGE 8 */
-#define        ODM_REG_BB_CTRL_11N                             0x800
-#define        ODM_REG_RF_PIN_11N                              0x804
-#define        ODM_REG_PSD_CTRL_11N                            0x808
 #define        ODM_REG_TX_ANT_CTRL_11N                 0x80C
-#define        ODM_REG_BB_PWR_SAV5_11N                 0x818
-#define        ODM_REG_CCK_RPT_FORMAT_11N              0x824
 #define        ODM_REG_RX_DEFUALT_A_11N                0x858
-#define        ODM_REG_RX_DEFUALT_B_11N                0x85A
-#define        ODM_REG_BB_PWR_SAV3_11N                 0x85C
 #define        ODM_REG_ANTSEL_CTRL_11N                 0x860
 #define        ODM_REG_RX_ANT_CTRL_11N                 0x864
-#define        ODM_REG_PIN_CTRL_11N                            0x870
-#define        ODM_REG_BB_PWR_SAV1_11N                 0x874
-#define        ODM_REG_ANTSEL_PATH_11N                 0x878
-#define        ODM_REG_BB_3WIRE_11N                    0x88C
-#define        ODM_REG_SC_CNT_11N                              0x8C4
-#define        ODM_REG_PSD_DATA_11N                    0x8B4
+#define        ODM_REG_PIN_CTRL_11N                    0x870
+#define        ODM_REG_SC_CNT_11N                      0x8C4
 /* PAGE 9 */
 #define        ODM_REG_ANT_MAPPING1_11N                0x914
-#define        ODM_REG_ANT_MAPPING2_11N                0x918
 /* PAGE A */
-#define        ODM_REG_CCK_ANTDIV_PARA1_11N    0xA00
-#define        ODM_REG_CCK_CCA_11N                             0xA0A
-#define        ODM_REG_CCK_ANTDIV_PARA2_11N    0xA0C
-#define        ODM_REG_CCK_ANTDIV_PARA3_11N    0xA10
-#define        ODM_REG_CCK_ANTDIV_PARA4_11N    0xA14
-#define        ODM_REG_CCK_FILTER_PARA1_11N    0xA22
-#define        ODM_REG_CCK_FILTER_PARA2_11N    0xA23
-#define        ODM_REG_CCK_FILTER_PARA3_11N    0xA24
-#define        ODM_REG_CCK_FILTER_PARA4_11N    0xA25
-#define        ODM_REG_CCK_FILTER_PARA5_11N    0xA26
-#define        ODM_REG_CCK_FILTER_PARA6_11N    0xA27
-#define        ODM_REG_CCK_FILTER_PARA7_11N    0xA28
-#define        ODM_REG_CCK_FILTER_PARA8_11N    0xA29
+#define        ODM_REG_CCK_ANTDIV_PARA1_11N            0xA00
+#define        ODM_REG_CCK_CCA_11N                     0xA0A
+#define        ODM_REG_CCK_ANTDIV_PARA2_11N            0xA0C
 #define        ODM_REG_CCK_FA_RST_11N                  0xA2C
 #define        ODM_REG_CCK_FA_MSB_11N                  0xA58
 #define        ODM_REG_CCK_FA_LSB_11N                  0xA5C
 #define        ODM_REG_BB_PWR_SAV4_11N                 0xA74
 /* PAGE B */
 #define        ODM_REG_LNA_SWITCH_11N                  0xB2C
-#define        ODM_REG_PATH_SWITCH_11N                 0xB30
-#define        ODM_REG_RSSI_CTRL_11N                   0xB38
-#define        ODM_REG_CONFIG_ANTA_11N                 0xB68
-#define        ODM_REG_RSSI_BT_11N                             0xB9C
 /* PAGE C */
 #define        ODM_REG_OFDM_FA_HOLDC_11N               0xC00
-#define        ODM_REG_RX_PATH_11N                             0xC04
-#define        ODM_REG_TRMUX_11N                               0xC08
 #define        ODM_REG_OFDM_FA_RSTC_11N                0xC0C
-#define        ODM_REG_RXIQI_MATRIX_11N                0xC14
-#define        ODM_REG_TXIQK_MATRIX_LSB1_11N   0xC4C
-#define        ODM_REG_IGI_A_11N                               0xC50
-#define        ODM_REG_ANTDIV_PARA2_11N                0xC54
-#define        ODM_REG_IGI_B_11N                                       0xC58
-#define        ODM_REG_ANTDIV_PARA3_11N                0xC5C
-#define        ODM_REG_BB_PWR_SAV2_11N                 0xC70
-#define        ODM_REG_RX_OFF_11N                              0xC7C
-#define        ODM_REG_TXIQK_MATRIXA_11N               0xC80
-#define        ODM_REG_TXIQK_MATRIXB_11N               0xC88
-#define        ODM_REG_TXIQK_MATRIXA_LSB2_11N  0xC94
-#define        ODM_REG_TXIQK_MATRIXB_LSB2_11N  0xC9C
-#define        ODM_REG_RXIQK_MATRIX_LSB_11N    0xCA0
+#define        ODM_REG_IGI_A_11N                       0xC50
 #define        ODM_REG_ANTDIV_PARA1_11N                0xCA4
 #define        ODM_REG_OFDM_FA_TYPE1_11N               0xCF0
 /* PAGE D */
 #define        ODM_REG_OFDM_FA_TYPE2_11N               0xDA0
 #define        ODM_REG_OFDM_FA_TYPE3_11N               0xDA4
 #define        ODM_REG_OFDM_FA_TYPE4_11N               0xDA8
-/* PAGE E */
-#define        ODM_REG_TXAGC_A_6_18_11N                0xE00
-#define        ODM_REG_TXAGC_A_24_54_11N               0xE04
-#define        ODM_REG_TXAGC_A_1_MCS32_11N     0xE08
-#define        ODM_REG_TXAGC_A_MCS0_3_11N              0xE10
-#define        ODM_REG_TXAGC_A_MCS4_7_11N              0xE14
-#define        ODM_REG_TXAGC_A_MCS8_11_11N     0xE18
-#define        ODM_REG_TXAGC_A_MCS12_15_11N    0xE1C
-#define        ODM_REG_FPGA0_IQK_11N                   0xE28
-#define        ODM_REG_TXIQK_TONE_A_11N                0xE30
-#define        ODM_REG_RXIQK_TONE_A_11N                0xE34
-#define        ODM_REG_TXIQK_PI_A_11N                  0xE38
-#define        ODM_REG_RXIQK_PI_A_11N                  0xE3C
-#define        ODM_REG_TXIQK_11N                               0xE40
-#define        ODM_REG_RXIQK_11N                               0xE44
-#define        ODM_REG_IQK_AGC_PTS_11N                 0xE48
-#define        ODM_REG_IQK_AGC_RSP_11N                 0xE4C
-#define        ODM_REG_BLUETOOTH_11N                   0xE6C
-#define        ODM_REG_RX_WAIT_CCA_11N                 0xE70
-#define        ODM_REG_TX_CCK_RFON_11N                 0xE74
-#define        ODM_REG_TX_CCK_BBON_11N                 0xE78
-#define        ODM_REG_OFDM_RFON_11N                   0xE7C
-#define        ODM_REG_OFDM_BBON_11N                   0xE80
-#define                ODM_REG_TX2RX_11N                               0xE84
-#define        ODM_REG_TX2TX_11N                               0xE88
-#define        ODM_REG_RX_CCK_11N                              0xE8C
-#define        ODM_REG_RX_OFDM_11N                             0xED0
-#define        ODM_REG_RX_WAIT_RIFS_11N                0xED4
-#define        ODM_REG_RX2RX_11N                               0xED8
-#define        ODM_REG_STANDBY_11N                             0xEDC
-#define        ODM_REG_SLEEP_11N                               0xEE0
-#define        ODM_REG_PMPD_ANAEN_11N                  0xEEC
 
 /* 2 MAC REG LIST */
-#define        ODM_REG_BB_RST_11N                              0x02
 #define        ODM_REG_ANTSEL_PIN_11N                  0x4C
-#define        ODM_REG_EARLY_MODE_11N                  0x4D0
-#define        ODM_REG_RSSI_MONITOR_11N                0x4FE
-#define        ODM_REG_EDCA_VO_11N                             0x500
-#define        ODM_REG_EDCA_VI_11N                             0x504
-#define        ODM_REG_EDCA_BE_11N                             0x508
-#define        ODM_REG_EDCA_BK_11N                             0x50C
-#define        ODM_REG_TXPAUSE_11N                             0x522
-#define        ODM_REG_RESP_TX_11N                             0x6D8
-#define        ODM_REG_ANT_TRAIN_PARA1_11N     0x7b0
-#define        ODM_REG_ANT_TRAIN_PARA2_11N     0x7b4
+#define        ODM_REG_RESP_TX_11N                     0x6D8
 
 /* DIG Related */
-#define        ODM_BIT_IGI_11N                                 0x0000007F
+#define        ODM_BIT_IGI_11N                         0x0000007F
 
 #endif
index 6b58941..17a315d 100644 (file)
@@ -4,47 +4,6 @@
 #ifndef        __ODM_INTERFACE_H__
 #define __ODM_INTERFACE_H__
 
-/*  */
-/*  =========== Constant/Structure/Enum/... Define */
-/*  */
-
-/*  */
-/*  =========== Macro Define */
-/*  */
-
-#define _reg_all(_name)                        ODM_##_name
-#define _reg_ic(_name, _ic)            ODM_##_name##_ic
-#define _bit_all(_name)                        BIT_##_name
-#define _bit_ic(_name, _ic)            BIT_##_name##_ic
-
-/*  _cat: implemented by Token-Pasting Operator. */
-
-/*===================================
-
-#define ODM_REG_DIG_11N                0xC50
-#define ODM_REG_DIG_11AC       0xDDD
-
-ODM_REG(DIG,_pDM_Odm)
-=====================================*/
-
-#define _reg_11N(_name)                        ODM_REG_##_name##_11N
-#define _reg_11AC(_name)               ODM_REG_##_name##_11AC
-#define _bit_11N(_name)                        ODM_BIT_##_name##_11N
-#define _bit_11AC(_name)               ODM_BIT_##_name##_11AC
-
-#define _cat(_name, _ic_type, _func)                                   \
-       (                                                               \
-               ((_ic_type) & ODM_IC_11N_SERIES) ? _func##_11N(_name) : \
-               _func##_11AC(_name)                                     \
-       )
-
-/*  _name: name of register or bit. */
-/*  Example: "ODM_REG(R_A_AGC_CORE1, pDM_Odm)" */
-/*         gets "ODM_R_A_AGC_CORE1" or "ODM_R_A_AGC_CORE1_8192C",
- *        depends on SupportICType. */
-#define ODM_REG(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _reg)
-#define ODM_BIT(_name, _pDM_Odm) _cat(_name, _pDM_Odm->SupportICType, _bit)
-
 enum odm_h2c_cmd {
        ODM_H2C_RSSI_REPORT = 0,
        ODM_H2C_PSD_RESULT= 1,
@@ -62,8 +21,6 @@ typedef void (*RT_WORKITEM_CALL_BACK)(void *pContext);
 
 u8 ODM_Read1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr);
 
-u16 ODM_Read2Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr);
-
 u32 ODM_Read4Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr);
 
 void ODM_Write1Byte(struct odm_dm_struct *pDM_Odm, u32 RegAddr, u8 Data);
@@ -89,59 +46,14 @@ u32 ODM_GetRFReg(struct odm_dm_struct *pDM_Odm, enum rf_radio_path eRFPath,
                 u32 RegAddr, u32 BitMask);
 
 /*  Memory Relative Function. */
-void ODM_AllocateMemory(struct odm_dm_struct *pDM_Odm, void **pPtr, u32 length);
-void ODM_FreeMemory(struct odm_dm_struct *pDM_Odm, void *pPtr, u32 length);
-
 s32 ODM_CompareMemory(struct odm_dm_struct *pDM_Odm, void *pBuf1, void *pBuf2,
                      u32 length);
 
-/*  ODM MISC-spin lock relative API. */
-void ODM_AcquireSpinLock(struct odm_dm_struct *pDM_Odm,
-                        enum RT_SPINLOCK_TYPE type);
-
-void ODM_ReleaseSpinLock(struct odm_dm_struct *pDM_Odm,
-                        enum RT_SPINLOCK_TYPE type);
-
-/*  ODM MISC-workitem relative API. */
-void ODM_InitializeWorkItem(struct odm_dm_struct *pDM_Odm, void *pRtWorkItem,
-                           RT_WORKITEM_CALL_BACK RtWorkItemCallback,
-                           void *pContext, const char *szID);
-
-void ODM_StartWorkItem(void *pRtWorkItem);
-
-void ODM_StopWorkItem(void *pRtWorkItem);
-
-void ODM_FreeWorkItem(void *pRtWorkItem);
-
-void ODM_ScheduleWorkItem(void *pRtWorkItem);
-
-void ODM_IsWorkItemScheduled(void *pRtWorkItem);
-
 /*  ODM Timer relative API. */
-void ODM_StallExecution(u32 usDelay);
-
 void ODM_delay_ms(u32 ms);
 
 void ODM_delay_us(u32 us);
 
 void ODM_sleep_ms(u32 ms);
 
-void ODM_sleep_us(u32 us);
-
-void ODM_SetTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer,
-                 u32 msDelay);
-
-void ODM_InitializeTimer(struct odm_dm_struct *pDM_Odm,
-                        struct timer_list *pTimer, void *CallBackFunc,
-                        void *pContext, const char *szID);
-
-void ODM_CancelTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer);
-
-void ODM_ReleaseTimer(struct odm_dm_struct *pDM_Odm, struct timer_list *pTimer);
-
-/*  ODM FW relative API. */
-u32 ODM_FillH2CCmd(u8 *pH2CBuffer, u32 H2CBufferLen, u32 CmdNum,
-                  u32 *pElementID, u32 *pCmdLen, u8 **pCmbBuffer,
-                  u8 *CmdStartSeq);
-
 #endif /*  __ODM_INTERFACE_H__ */
index a1d6d67..22299f1 100644 (file)
@@ -18,7 +18,6 @@
 
 #include "odm.h"
 #include "odm_HWConfig.h"
-#include "odm_RegDefine11AC.h"
 #include "odm_RegDefine11N.h"
 
 #include "HalPhyRf_8188e.h"/* for IQK,LCK,Power-tracking */
@@ -26,7 +25,6 @@
 #include "rtl8188e_hal.h"
 
 #include "odm_interface.h"
-#include "odm_reg.h"
 
 #include "HalHWImg8188E_MAC.h"
 #include "HalHWImg8188E_RF.h"
 void odm_DIGInit(struct odm_dm_struct *pDM_Odm);
 void odm_RateAdaptiveMaskInit(struct odm_dm_struct *pDM_Odm);
 void odm_DynamicBBPowerSavingInit(struct odm_dm_struct *pDM_Odm);
-void odm_DynamicTxPowerInit(struct odm_dm_struct *pDM_Odm);
 void odm_TXPowerTrackingInit(struct odm_dm_struct *pDM_Odm);
 void ODM_EdcaTurboInit(struct odm_dm_struct *pDM_Odm);
 void odm_SwAntDivInit_NIC(struct odm_dm_struct *pDM_Odm);
-void odm_GlobalAdapterCheck(void);
 void odm_CommonInfoSelfUpdate(struct odm_dm_struct *pDM_Odm);
 void odm_FalseAlarmCounterStatistics(struct odm_dm_struct *pDM_Odm);
 void odm_DIG(struct odm_dm_struct *pDM_Odm);
 void odm_CCKPacketDetectionThresh(struct odm_dm_struct *pDM_Odm);
-void odm_RefreshRateAdaptiveMaskMP(struct odm_dm_struct *pDM_Odm);
-void odm_DynamicBBPowerSaving(struct odm_dm_struct *pDM_Odm);
-void odm_SwAntDivChkAntSwitch(struct odm_dm_struct *pDM_Odm, u8 Step);
 void odm_EdcaTurboCheck(struct odm_dm_struct *pDM_Odm);
-void odm_DynamicTxPower(struct odm_dm_struct *pDM_Odm);
 void odm_CommonInfoSelfInit(struct odm_dm_struct *pDM_Odm);
-void odm_SwAntDivInit(struct odm_dm_struct *pDM_Odm);
 void odm_RSSIMonitorCheck(struct odm_dm_struct *pDM_Odm);
 void odm_RefreshRateAdaptiveMask(struct odm_dm_struct *pDM_Odm);
-void odm_1R_CCA(struct odm_dm_struct *pDM_Odm);
-void odm_RefreshRateAdaptiveMaskCE(struct odm_dm_struct *pDM_Odm);
-void odm_RefreshRateAdaptiveMaskAPADSL(struct odm_dm_struct *pDM_Odm);
-void odm_DynamicTxPowerNIC(struct odm_dm_struct *pDM_Odm);
-void odm_DynamicTxPowerAP(struct odm_dm_struct *pDM_Odm);
-void odm_RSSIMonitorCheckMP(struct odm_dm_struct *pDM_Odm);
-void odm_RSSIMonitorCheckCE(struct odm_dm_struct *pDM_Odm);
-void odm_RSSIMonitorCheckAP(struct odm_dm_struct *pDM_Odm);
 void odm_TXPowerTrackingThermalMeterInit(struct odm_dm_struct *pDM_Odm);
-void odm_EdcaTurboCheckCE(struct odm_dm_struct *pDM_Odm);
-void odm_TXPowerTrackingCheckCE(struct odm_dm_struct *pDM_Odm);
-void odm_TXPowerTrackingCheckMP(struct odm_dm_struct *pDM_Odm);
-void odm_TXPowerTrackingCheckAP(struct odm_dm_struct *pDM_Odm);
-void odm_SwAntDivChkAntSwitchCallback(struct timer_list *t);
 void odm_InitHybridAntDiv(struct odm_dm_struct *pDM_Odm);
 void odm_HwAntDiv(struct odm_dm_struct *pDM_Odm);
 
diff --git a/drivers/staging/r8188eu/include/odm_reg.h b/drivers/staging/r8188eu/include/odm_reg.h
deleted file mode 100644 (file)
index 78d7e90..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. i*/
-
-#ifndef        __HAL_ODM_REG_H__
-#define __HAL_ODM_REG_H__
-
-/*  Register Definition */
-
-/* MAC REG */
-#define        ODM_BB_RESET                                    0x002
-#define        ODM_DUMMY                                               0x4fe
-#define        ODM_EDCA_VO_PARAM                       0x500
-#define        ODM_EDCA_VI_PARAM                       0x504
-#define        ODM_EDCA_BE_PARAM                       0x508
-#define        ODM_EDCA_BK_PARAM                       0x50C
-#define        ODM_TXPAUSE                                     0x522
-
-/* BB REG */
-#define        ODM_FPGA_PHY0_PAGE8                     0x800
-#define        ODM_PSD_SETTING                         0x808
-#define        ODM_AFE_SETTING                         0x818
-#define        ODM_TXAGC_B_6_18                                0x830
-#define        ODM_TXAGC_B_24_54                       0x834
-#define        ODM_TXAGC_B_MCS32_5                     0x838
-#define        ODM_TXAGC_B_MCS0_MCS3           0x83c
-#define        ODM_TXAGC_B_MCS4_MCS7           0x848
-#define        ODM_TXAGC_B_MCS8_MCS11          0x84c
-#define        ODM_ANALOG_REGISTER                     0x85c
-#define        ODM_RF_INTERFACE_OUTPUT         0x860
-#define        ODM_TXAGC_B_MCS12_MCS15 0x868
-#define        ODM_TXAGC_B_11_A_2_11           0x86c
-#define        ODM_AD_DA_LSB_MASK                      0x874
-#define        ODM_ENABLE_3_WIRE                       0x88c
-#define        ODM_PSD_REPORT                          0x8b4
-#define        ODM_R_ANT_SELECT                                0x90c
-#define        ODM_CCK_ANT_SELECT                      0xa07
-#define        ODM_CCK_PD_THRESH                       0xa0a
-#define        ODM_CCK_RF_REG1                         0xa11
-#define        ODM_CCK_MATCH_FILTER                    0xa20
-#define        ODM_CCK_RAKE_MAC                                0xa2e
-#define        ODM_CCK_CNT_RESET                       0xa2d
-#define        ODM_CCK_TX_DIVERSITY                    0xa2f
-#define        ODM_CCK_FA_CNT_MSB                      0xa5b
-#define        ODM_CCK_FA_CNT_LSB                      0xa5c
-#define        ODM_CCK_NEW_FUNCTION            0xa75
-#define        ODM_OFDM_PHY0_PAGE_C            0xc00
-#define        ODM_OFDM_RX_ANT                         0xc04
-#define        ODM_R_A_RXIQI                                   0xc14
-#define        ODM_R_A_AGC_CORE1                       0xc50
-#define        ODM_R_A_AGC_CORE2                       0xc54
-#define        ODM_R_B_AGC_CORE1                       0xc58
-#define        ODM_R_AGC_PAR                                   0xc70
-#define        ODM_R_HTSTF_AGC_PAR                     0xc7c
-#define        ODM_TX_PWR_TRAINING_A           0xc90
-#define        ODM_TX_PWR_TRAINING_B           0xc98
-#define        ODM_OFDM_FA_CNT1                                0xcf0
-#define        ODM_OFDM_PHY0_PAGE_D            0xd00
-#define        ODM_OFDM_FA_CNT2                                0xda0
-#define        ODM_OFDM_FA_CNT3                                0xda4
-#define        ODM_OFDM_FA_CNT4                                0xda8
-#define        ODM_TXAGC_A_6_18                                0xe00
-#define        ODM_TXAGC_A_24_54                       0xe04
-#define        ODM_TXAGC_A_1_MCS32                     0xe08
-#define        ODM_TXAGC_A_MCS0_MCS3           0xe10
-#define        ODM_TXAGC_A_MCS4_MCS7           0xe14
-#define        ODM_TXAGC_A_MCS8_MCS11          0xe18
-#define        ODM_TXAGC_A_MCS12_MCS15         0xe1c
-
-/* RF REG */
-#define        ODM_GAIN_SETTING                                0x00
-#define        ODM_CHANNEL                                     0x18
-
-/* Ant Detect Reg */
-#define        ODM_DPDT                                                0x300
-
-/* PSD Init */
-#define        ODM_PSDREG                                      0x808
-
-/* 92D Path Div */
-#define        PATHDIV_REG                                     0xB30
-#define        PATHDIV_TRI                                     0xBA0
-
-/*  */
-/*  Bitmap Definition */
-/*  */
-
-#define        BIT_FA_RESET                                    BIT(0)
-
-#endif
index 6f4a4bd..08ba7a4 100644 (file)
@@ -4,31 +4,13 @@
 #ifndef __ODM_TYPES_H__
 #define __ODM_TYPES_H__
 
-/*  */
-/*  Define Different SW team support */
-/*  */
-#define        ODM_AP                  0x01     /* BIT(0) */
-#define        ODM_ADSL                0x02    /* BIT(1) */
 #define        ODM_CE                  0x04    /* BIT(2) */
-#define        ODM_MP                  0x08    /* BIT(3) */
-
-#define                RT_PCI_INTERFACE                                1
-#define                RT_USB_INTERFACE                                2
-#define                RT_SDIO_INTERFACE                               3
 
 enum HAL_STATUS {
        HAL_STATUS_SUCCESS,
        HAL_STATUS_FAILURE,
 };
 
-enum RT_SPINLOCK_TYPE {
-       RT_TEMP = 1,
-};
-
-#include "basic_types.h"
-
-#define DEV_BUS_TYPE   RT_USB_INTERFACE
-
 #define SET_TX_DESC_ANTSEL_A_88E(__ptxdesc, __value)                   \
        le32p_replace_bits((__le32 *)(__ptxdesc + 8), __value, BIT(24))
 #define SET_TX_DESC_ANTSEL_B_88E(__ptxdesc, __value)                   \
@@ -36,10 +18,4 @@ enum RT_SPINLOCK_TYPE {
 #define SET_TX_DESC_ANTSEL_C_88E(__ptxdesc, __value)                   \
        le32p_replace_bits((__le32 *)(__ptxdesc + 28), __value, BIT(29))
 
-/* define useless flag to avoid compile warning */
-#define        USE_WORKITEM                    0
-#define                FOR_BRAZIL_PRETEST      0
-#define        BT_30_SUPPORT                   0
-#define   FPGA_TWO_MAC_VERIFICATION    0
-
 #endif /*  __ODM_TYPES_H__ */
index 3ea60fe..0d70092 100644 (file)
@@ -34,7 +34,6 @@ The protection mechanism is through the pending queue.
        struct urb *piorw_urb;
        u8 io_irp_cnt;
        u8 bio_irp_pending;
-       struct semaphore  io_retevt;
        struct timer_list io_timer;
        u8 bio_irp_timeout;
        u8 bio_timer_cancel;
@@ -51,14 +50,10 @@ void rtw_cancel_all_timer(struct adapter *padapter);
 int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
 struct net_device *rtw_init_netdev(struct adapter *padapter);
 u16 rtw_recv_select_queue(struct sk_buff *skb);
-void rtw_proc_init_one(struct net_device *dev);
-void rtw_proc_remove_one(struct net_device *dev);
 
 void rtw_ips_dev_unload(struct adapter *padapter);
 
 int rtw_ips_pwr_up(struct adapter *padapter);
 void rtw_ips_pwr_down(struct adapter *padapter);
-int rtw_hw_suspend(struct adapter *padapter);
-int rtw_hw_resume(struct adapter *padapter);
 
 #endif /* _OSDEP_INTF_H_ */
index 029aa4e..efab3a9 100644 (file)
@@ -56,19 +56,6 @@ static inline struct list_head *get_list_head(struct __queue *queue)
        return (&(queue->queue));
 }
 
-static inline int _enter_critical_mutex(struct mutex *pmutex, unsigned long *pirqL)
-{
-       int ret;
-
-       ret = mutex_lock_interruptible(pmutex);
-       return ret;
-}
-
-static inline void _exit_critical_mutex(struct mutex *pmutex, unsigned long *pirqL)
-{
-               mutex_unlock(pmutex);
-}
-
 static inline void rtw_list_delete(struct list_head *plist)
 {
        list_del_init(plist);
@@ -154,11 +141,11 @@ extern unsigned char RSN_TKIP_CIPHER[4];
 
 void *rtw_malloc2d(int h, int w, int size);
 
-u32  _rtw_down_sema(struct semaphore *sema);
-void _rtw_mutex_init(struct mutex *pmutex);
-void _rtw_mutex_free(struct mutex *pmutex);
-
-void _rtw_init_queue(struct __queue *pqueue);
+#define rtw_init_queue(q)                                      \
+       do {                                                    \
+               INIT_LIST_HEAD(&((q)->queue));                  \
+               spin_lock_init(&((q)->lock));                   \
+       } while (0)
 
 u32  rtw_systime_to_ms(u32 systime);
 u32  rtw_ms_to_systime(u32 ms);
@@ -166,32 +153,17 @@ s32  rtw_get_passing_time_ms(u32 start);
 
 void rtw_usleep_os(int us);
 
-u32  rtw_atoi(u8 *s);
-
 static inline unsigned char _cancel_timer_ex(struct timer_list *ptimer)
 {
        return del_timer_sync(ptimer);
 }
 
-static __inline void thread_enter(char *name)
-{
-#ifdef daemonize
-       daemonize("%s", name);
-#endif
-       allow_signal(SIGTERM);
-}
-
 static inline void flush_signals_thread(void)
 {
        if (signal_pending (current))
                flush_signals(current);
 }
 
-static inline int res_to_status(int res)
-{
-       return res;
-}
-
 #define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r))
 #define RND4(x)        (((x >> 2) + (((x & 3) == 0) ?  0: 1)) << 2)
 
@@ -302,12 +274,10 @@ struct rtw_cbuf {
        u32 write;
        u32 read;
        u32 size;
-       void *bufs[0];
+       void *bufs[];
 };
 
-bool rtw_cbuf_full(struct rtw_cbuf *cbuf);
 bool rtw_cbuf_empty(struct rtw_cbuf *cbuf);
-bool rtw_cbuf_push(struct rtw_cbuf *cbuf, void *buf);
 void *rtw_cbuf_pop(struct rtw_cbuf *cbuf);
 struct rtw_cbuf *rtw_cbuf_alloc(u32 size);
 int wifirate2_ratetbl_inx(unsigned char rate);
index 72ddf51..e874670 100644 (file)
@@ -27,8 +27,6 @@ void rtw_os_recv_resource_free(struct recv_priv *precvpriv);
 int rtw_os_recvbuf_resource_alloc(struct adapter *adapt, struct recv_buf *buf);
 int rtw_os_recvbuf_resource_free(struct adapter *adapt, struct recv_buf *buf);
 
-void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf);
-
 void rtw_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl);
 int _netdev_open(struct net_device *pnetdev);
 int netdev_open(struct net_device *pnetdev);
index 6fbf9a4..1e01c16 100644 (file)
@@ -27,15 +27,6 @@ enum RTL8188E_H2C_CMD_ID {
        /* Class DM */
        H2C_DM_MACID_CFG                = 0x40,
        H2C_DM_TXBF                     = 0x41,
-
-       /* Class BT */
-       H2C_BT_COEX_MASK                = 0x60,
-       H2C_BT_COEX_GPIO_MODE           = 0x61,
-       H2C_BT_DAC_SWING_VAL            = 0x62,
-       H2C_BT_PSD_RST                  = 0x63,
-
-       /* Class */
-        H2C_RESET_TSF                  = 0xc0,
 };
 
 struct cmd_msg_parm {
@@ -44,10 +35,6 @@ struct cmd_msg_parm {
        u8 buf[6];
 };
 
-enum {
-       PWRS
-};
-
 struct setpwrmode_parm {
        u8 Mode;/* 0:Active,1:LPS,2:WMMPS */
        u8 SmartPS_RLBM;/* LPS= 0:PS_Poll,1:PS_Poll,2:NullData,WMM= 0:PS_Poll,1:NullData */
@@ -91,14 +78,11 @@ struct P2P_PS_CTWPeriod_t {
 /*  host message to firmware cmd */
 void rtl8188e_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode);
 void rtl8188e_set_FwJoinBssReport_cmd(struct adapter *padapter, u8 mstatus);
-u8 rtl8188e_set_rssi_cmd(struct adapter *padapter, u8 *param);
 u8 rtl8188e_set_raid_cmd(struct adapter *padapter, u32 mask);
 void rtl8188e_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 arg,
                           u8 rssi_level);
 
-#ifdef CONFIG_88EU_P2P
 void rtl8188e_set_p2p_ps_offload_cmd(struct adapter *adapt, u8 p2p_ps_state);
-#endif /* CONFIG_88EU_P2P */
 
 void CheckFwRsvdPageContent(struct adapter *adapt);
 void rtl8188e_set_FwMediaStatus_cmd(struct adapter *adapt, __le16 mstatus_rpt);
index 3ead20b..208bea0 100644 (file)
@@ -15,28 +15,15 @@ enum{
 #define HP_THERMAL_NUM         8
 /*  duplicate code,will move to ODM ######### */
 struct dm_priv {
-       u8      DM_Type;
-       u8      DMFlag;
-       u8      InitDMFlag;
        u32     InitODMFlag;
 
        /*  Upper and Lower Signal threshold for Rate Adaptive*/
-       int     UndecoratedSmoothedPWDB;
-       int     UndecoratedSmoothedCCK;
        int     EntryMinUndecoratedSmoothedPWDB;
        int     EntryMaxUndecoratedSmoothedPWDB;
        int     MinUndecoratedPWDBForDM;
-       int     LastMinUndecoratedPWDBForDM;
-
-       /* for High Power */
-       u8 bDynamicTxPowerEnable;
-       u8 LastDTPLvl;
-       u8 DynamicTxHighPowerLvl;/* Tx Power Control for Near/Far Range */
-       u8      PowerIndex_backup[6];
 };
 
 void rtl8188e_init_dm_priv(struct adapter *adapt);
-void rtl8188e_deinit_dm_priv(struct adapter *adapt);
 void rtl8188e_InitHalDm(struct adapter *adapt);
 void rtl8188e_HalDmWatchDog(struct adapter *adapt);
 
index 3939bf0..d7db1df 100644 (file)
 
 #include "odm_precomp.h"
 
-/*  Fw Array */
-#define Rtl8188E_FwImageArray          Rtl8188EFwImgArray
-#define Rtl8188E_FWImgArrayLength      Rtl8188EFWImgArrayLength
-
-#define RTL8188E_FW_UMC_IMG                    "rtl8188E\\rtl8188efw.bin"
-#define RTL8188E_PHY_REG                       "rtl8188E\\PHY_REG_1T.txt"
-#define RTL8188E_PHY_RADIO_A                   "rtl8188E\\radio_a_1T.txt"
-#define RTL8188E_PHY_RADIO_B                   "rtl8188E\\radio_b_1T.txt"
-#define RTL8188E_AGC_TAB                       "rtl8188E\\AGC_TAB_1T.txt"
-#define RTL8188E_PHY_MACREG                    "rtl8188E\\MAC_REG.txt"
-#define RTL8188E_PHY_REG_PG                    "rtl8188E\\PHY_REG_PG.txt"
-#define RTL8188E_PHY_REG_MP                    "rtl8188E\\PHY_REG_MP.txt"
-
 /*             RTL8188E Power Configuration CMDs for USB/SDIO interfaces */
 #define Rtl8188E_NIC_PWR_ON_FLOW               rtl8188E_power_on_flow
-#define Rtl8188E_NIC_RF_OFF_FLOW               rtl8188E_radio_off_flow
 #define Rtl8188E_NIC_DISABLE_FLOW              rtl8188E_card_disable_flow
-#define Rtl8188E_NIC_ENABLE_FLOW               rtl8188E_card_enable_flow
-#define Rtl8188E_NIC_SUSPEND_FLOW              rtl8188E_suspend_flow
-#define Rtl8188E_NIC_RESUME_FLOW               rtl8188E_resume_flow
-#define Rtl8188E_NIC_PDN_FLOW                  rtl8188E_hwpdn_flow
 #define Rtl8188E_NIC_LPS_ENTER_FLOW            rtl8188E_enter_lps_flow
-#define Rtl8188E_NIC_LPS_LEAVE_FLOW            rtl8188E_leave_lps_flow
 
 #define DRVINFO_SZ     4 /*  unit is 8bytes */
 #define PageNum_128(_Len)      (u32)(((_Len)>>7) + ((_Len) & 0x7F ? 1 : 0))
@@ -49,7 +30,6 @@
 /*  download firmware related data structure */
 #define FW_8188E_SIZE                  0x4000 /* 16384,16k */
 #define FW_8188E_START_ADDRESS         0x1000
-#define FW_8188E_END_ADDRESS           0x1FFF /* 0x5FFF */
 
 #define MAX_PAGE_SIZE                  4096    /*  @ page : 4k bytes */
 
@@ -108,11 +88,6 @@ enum usb_rx_agg_mode {
       0x2400 /* 9k for 88E nornal chip , MaxRxBuff=10k-max(TxReportSize(64*8),
              * WOLPattern(16*24)) */
 
-#define MAX_TX_REPORT_BUFFER_SIZE              0x0400 /*  1k */
-
-/*  BK, BE, VI, VO, HCCA, MANAGEMENT, COMMAND, HIGH, BEACON. */
-#define MAX_TX_QUEUE                   9
-
 #define TX_SELE_HQ                     BIT(0)          /*  High Queue */
 #define TX_SELE_LQ                     BIT(1)          /*  Low Queue */
 #define TX_SELE_NQ                     BIT(2)          /*  Normal Queue */
@@ -134,11 +109,6 @@ enum usb_rx_agg_mode {
 #define WMM_NORMAL_TX_PAGE_BOUNDARY_88E                        \
        (WMM_NORMAL_TX_TOTAL_PAGE_NUMBER + 1) /* 0xA9 */
 
-/*     Chip specific */
-#define CHIP_BONDING_IDENTIFIER(_value)        (((_value)>>22)&0x3)
-#define CHIP_BONDING_92C_1T2R  0x1
-#define CHIP_BONDING_88C_USB_MCARD     0x2
-#define CHIP_BONDING_88C_USB_HP        0x1
 #include "HalVerDef.h"
 #include "hal_com.h"
 
@@ -168,29 +138,11 @@ struct txpowerinfo24g {
 };
 
 #define EFUSE_REAL_CONTENT_LEN         512
-#define EFUSE_MAX_SECTION              16
-#define EFUSE_IC_ID_OFFSET             506 /* For some inferior IC purpose*/
 #define AVAILABLE_EFUSE_ADDR(addr)     (addr < EFUSE_REAL_CONTENT_LEN)
-/*  To prevent out of boundary programming case, */
-/*  leave 1byte and program full section */
-/*  9bytes + 1byt + 5bytes and pre 1byte. */
-/*  For worst case: */
-/*  | 1byte|----8bytes----|1byte|--5bytes--| */
-/*  |         |            Reserved(14bytes)         | */
-
-/*  PG data exclude header, dummy 6 bytes frome CP test and reserved 1byte. */
-#define EFUSE_OOB_PROTECT_BYTES                        15
-
-#define                HWSET_MAX_SIZE_88E              512
 
 #define                EFUSE_REAL_CONTENT_LEN_88E      256
 #define                EFUSE_MAP_LEN_88E               512
-#define EFUSE_MAP_LEN                  EFUSE_MAP_LEN_88E
 #define                EFUSE_MAX_SECTION_88E           64
-#define                EFUSE_MAX_WORD_UNIT_88E         4
-#define                EFUSE_IC_ID_OFFSET_88E          506
-#define                AVAILABLE_EFUSE_ADDR_88E(addr)                  \
-       (addr < EFUSE_REAL_CONTENT_LEN_88E)
 /*  To prevent out of boundary programming case, leave 1byte and program
  *  full section */
 /*  9bytes + 1byt + 5bytes and pre 1byte. */
@@ -198,35 +150,11 @@ struct txpowerinfo24g {
 /*  | 2byte|----8bytes----|1byte|--7bytes--| 92D */
 /*  PG data exclude header, dummy 7 bytes frome CP test and reserved 1byte. */
 #define                EFUSE_OOB_PROTECT_BYTES_88E     18
-#define                EFUSE_PROTECT_BYTES_BANK_88E    16
-
-/*                     EFUSE for BT definition */
-#define EFUSE_BT_REAL_CONTENT_LEN      1536    /*  512*3 */
-#define EFUSE_BT_MAP_LEN               1024    /*  1k bytes */
-#define EFUSE_BT_MAX_SECTION           128     /*  1024/8 */
 
 #define EFUSE_PROTECT_BYTES_BANK       16
 
-/*  For RTL8723 WiFi/BT/GPS multi-function configuration. */
-enum rt_multi_func {
-       RT_MULTI_FUNC_NONE = 0x00,
-       RT_MULTI_FUNC_WIFI = 0x01,
-       RT_MULTI_FUNC_BT = 0x02,
-       RT_MULTI_FUNC_GPS = 0x04,
-};
-
-/*  For RTL8723 regulator mode. */
-enum rt_regulator_mode {
-       RT_SWITCHING_REGULATOR = 0,
-       RT_LDO_REGULATOR = 1,
-};
-
 struct hal_data_8188e {
        struct HAL_VERSION      VersionID;
-       enum rt_multi_func MultiFunc; /*  For multi-function consideration. */
-       enum rt_regulator_mode RegulatorMode; /*  switching regulator or LDO */
-       u16     CustomerID;
-
        u16     FirmwareVersion;
        u16     FirmwareVersionRev;
        u16     FirmwareSubVersion;
@@ -234,7 +162,6 @@ struct hal_data_8188e {
        u8      PGMaxGroup;
        /* current WIFI_PHY values */
        u32     ReceiveConfig;
-       enum wireless_mode CurrentWirelessMode;
        enum ht_channel_width CurrentChannelBW;
        u8      CurrentChannel;
        u8      nCur40MhzPrimeSC;/*  Control channel sub-carrier */
@@ -244,7 +171,6 @@ struct hal_data_8188e {
        /* rf_ctrl */
        u8      rf_chip;
        u8      rf_type;
-       u8      NumTotalRFPath;
 
        u8      BoardType;
 
@@ -305,7 +231,6 @@ struct hal_data_8188e {
        u8      CrystalCap;
        u32     AntennaTxPath;                  /*  Antenna path Tx */
        u32     AntennaRxPath;                  /*  Antenna path Rx */
-       u8      BluetoothCoexist;
        u8      ExternalPA;
 
        u8      bLedOpenDrain; /* Open-drain support for controlling the LED.*/
@@ -325,16 +250,12 @@ struct hal_data_8188e {
        u8      LastHMEBoxNum;
 
        u8      fw_ractrl;
-       u8      RegTxPause;
-       /*  Beacon function related global variable. */
-       u32     RegBcnCtrlVal;
        u8      RegFwHwTxQCtrl;
        u8      RegReg542;
        u8      RegCR_1;
 
        struct dm_priv  dmpriv;
        struct odm_dm_struct odmpriv;
-       struct sreset_priv srestpriv;
 
        u8      CurAntenna;
        u8      AntDivCfg;
@@ -364,9 +285,7 @@ struct hal_data_8188e {
 
        u16     EfuseUsedBytes;
 
-#ifdef CONFIG_88EU_P2P
        struct P2P_PS_Offload_t p2p_ps_offload;
-#endif
 
        /*  Auto FSM to Turn On, include clock, isolation, power control
         *  for MAC only */
@@ -376,11 +295,9 @@ struct hal_data_8188e {
 
        /*  Interrupt relatd register information. */
        u32     IntArray[3];/* HISR0,HISR1,HSISR */
-       u32     IntrMask[3];
        u8      C2hArray[16];
        u8      UsbTxAggMode;
        u8      UsbTxAggDescNum;
-       u16     HwRxPageSize;           /*  Hardware setting */
        u32     MaxUsbRxAggBlock;
 
        enum usb_rx_agg_mode UsbRxAggMode;
@@ -394,12 +311,6 @@ struct hal_data_8188e {
 
 #define GET_HAL_DATA(__pAdapter)                               \
        ((struct hal_data_8188e *)((__pAdapter)->HalData))
-#define GET_RF_TYPE(priv)              (GET_HAL_DATA(priv)->rf_type)
-
-#define INCLUDE_MULTI_FUNC_BT(_Adapter)                                \
-       (GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_BT)
-#define INCLUDE_MULTI_FUNC_GPS(_Adapter)                       \
-       (GET_HAL_DATA(_Adapter)->MultiFunc & RT_MULTI_FUNC_GPS)
 
 /*  rtl8188e_hal_init.c */
 s32 rtl8188e_FirmwareDownload(struct adapter *padapter);
@@ -432,19 +343,8 @@ void Hal_EfuseParseBoardType88E(struct adapter *pAdapter, u8 *hwinfo,
 void Hal_ReadPowerSavingMode88E(struct adapter *pAdapter, u8 *hwinfo,
                                bool AutoLoadFail);
 
-bool HalDetectPwrDownMode88E(struct adapter *Adapter);
-
-void Hal_InitChannelPlan(struct adapter *padapter);
-void rtl8188e_set_hal_ops(struct hal_ops *pHalFunc);
-
-/*  register */
-void SetBcnCtrlReg(struct adapter *padapter, u8 SetBits, u8 ClearBits);
-
-void rtl8188e_clone_haldata(struct adapter *dst, struct adapter *src);
-void rtl8188e_start_thread(struct adapter *padapter);
-void rtl8188e_stop_thread(struct adapter *padapter);
+void rtl8188e_read_chip_version(struct adapter *padapter);
 
-void rtw_IOL_cmd_tx_pkt_buf_dump(struct adapter  *Adapter, int len);
 s32 rtl8188e_iol_efuse_patch(struct adapter *padapter);
 void rtw_cancel_all_timer(struct adapter *padapter);
 void _ps_open_RF(struct adapter *adapt);
index b009541..02cdc97 100644 (file)
@@ -12,7 +12,5 @@
 /*  */
 void rtl8188eu_InitSwLeds(struct adapter *padapter);
 void rtl8188eu_DeInitSwLeds(struct adapter *padapter);
-void SwLedOn(struct adapter *padapter, struct LED_871x *pLed);
-void SwLedOff(struct adapter *padapter, struct LED_871x *pLed);
 
 #endif
index a91daf8..2ab395e 100644 (file)
@@ -40,7 +40,7 @@ enum rx_packet_type {
 };
 
 #define INTERRUPT_MSG_FORMAT_LEN 60
-void rtl8188eu_init_recvbuf(struct adapter *padapter, struct recv_buf *buf);
+void rtl8188eu_init_recvbuf(struct recv_buf *buf);
 s32 rtl8188eu_init_recv_priv(struct adapter *padapter);
 void rtl8188eu_free_recv_priv(struct adapter * padapter);
 void rtl8188eu_recv_hdl(struct adapter * padapter, struct recv_buf *precvbuf);
index da6b7f8..0455649 100644 (file)
@@ -9,7 +9,6 @@
 #define                RF6052_MAX_PATH                 2
 
 int    PHY_RF6052_Config8188E(struct adapter *Adapter);
-void rtl8188e_RF_ChangeTxPath(struct adapter *Adapter, u16 DataRate);
 void rtl8188e_PHY_RF6052SetBandwidth(struct adapter *Adapter,
                                     enum ht_channel_width Bandwidth);
 void   rtl8188e_PHY_RF6052SetCckTxPower(struct adapter *Adapter, u8 *level);
index 1c96f7b..01aeaa4 100644 (file)
@@ -893,11 +893,7 @@ Current IOREG MAP
 #define _PSRX(x)                       (x)
 #define _PSTX(x)                       ((x) << 4)
 
-#define PBP_64                         0x0
 #define PBP_128                                0x1
-#define PBP_256                                0x2
-#define PBP_512                                0x3
-#define PBP_1024                       0x4
 
 /* 2 TX/RXDMA */
 #define RXDMA_ARBBW_EN                 BIT(0)
index 880c579..bb8b004 100644 (file)
@@ -6,9 +6,7 @@
 
 #include "osdep_service.h"
 #include "drv_types.h"
-#include "rtw_sreset.h"
 
-void rtl8188e_silentreset_for_specific_platform(struct adapter *padapter);
 void rtl8188e_sreset_xmit_status_check(struct adapter *padapter);
 void rtl8188e_sreset_linked_status_check(struct adapter *padapter);
 
index 2eb5569..724229f 100644 (file)
@@ -7,8 +7,6 @@
 #include "osdep_service.h"
 #include "drv_types.h"
 
-#ifdef CONFIG_88EU_AP_MODE
-
 /* external function */
 void rtw_indicate_sta_assoc_event(struct adapter *padapter,
                                  struct sta_info *psta);
@@ -22,26 +20,17 @@ void add_RATid(struct adapter *padapter, struct sta_info *psta,
               u8 rssi_level);
 void expire_timeout_chk(struct adapter *padapter);
 void update_sta_info_apmode(struct adapter *padapter, struct sta_info *psta);
-int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len);
 void rtw_ap_restore_network(struct adapter *padapter);
-void rtw_set_macaddr_acl(struct adapter *padapter, int mode);
-int rtw_acl_add_sta(struct adapter *padapter, u8 *addr);
-int rtw_acl_remove_sta(struct adapter *padapter, u8 *addr);
 
-#ifdef CONFIG_88EU_AP_MODE
 void associated_clients_update(struct adapter *padapter, u8 updated);
 void bss_cap_update_on_sta_join(struct adapter *padapter, struct sta_info *psta);
 u8 bss_cap_update_on_sta_leave(struct adapter *padapter, struct sta_info *psta);
 void sta_info_update(struct adapter *padapter, struct sta_info *psta);
-void ap_sta_info_defer_update(struct adapter *padapter, struct sta_info *psta);
 u8 ap_free_sta(struct adapter *padapter, struct sta_info *psta,
               bool active, u16 reason);
 int rtw_sta_flush(struct adapter *padapter);
-int rtw_ap_inform_ch_switch(struct adapter *padapter, u8 new_ch, u8 ch_offset);
 void start_ap_mode(struct adapter *padapter);
 void stop_ap_mode(struct adapter *padapter);
-#endif
-#endif /* end of CONFIG_88EU_AP_MODE */
 void update_bmc_sta(struct adapter *padapter);
 
 #endif
index 69905d3..17a6154 100644 (file)
@@ -4,7 +4,6 @@
 #ifndef _RTW_BR_EXT_H_
 #define _RTW_BR_EXT_H_
 
-#define MACADDRLEN             6
 #define _DEBUG_ERR             DBG_88E
 #define _DEBUG_INFO            DBG_88E
 #define DEBUG_WARN             DBG_88E
@@ -40,7 +39,7 @@ struct br_ext_info {
        unsigned int    macclone_enable;
        unsigned int    dhcp_bcst_disable;
        int     addPPPoETag;            /* 1: Add PPPoE relay-SID, 0: disable */
-       unsigned char   nat25_dmzMac[MACADDRLEN];
+       unsigned char   nat25_dmzMac[ETH_ALEN];
        unsigned int    nat25sc_disable;
 };
 
index c14d905..47c3c80 100644 (file)
@@ -33,8 +33,9 @@ struct cmd_obj {
 };
 
 struct cmd_priv {
-       struct semaphore cmd_queue_sema;
-       struct semaphore terminate_cmdthread_sema;
+       struct completion enqueue_cmd;
+       struct completion start_cmd_thread;
+       struct completion stop_cmd_thread;
        struct __queue cmd_queue;
        u8      cmd_seq;
        u8      *cmd_buf;       /* shall be non-paged, and 4 bytes aligned */
@@ -89,11 +90,8 @@ void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv);
 
 u32 rtw_init_evt_priv(struct evt_priv *pevtpriv);
 void rtw_free_evt_priv(struct evt_priv *pevtpriv);
-void rtw_cmd_clr_isr(struct cmd_priv *pcmdpriv);
 void rtw_evt_notify_isr(struct evt_priv *pevtpriv);
-#ifdef CONFIG_88EU_P2P
 u8 p2p_protocol_wk_cmd(struct adapter *padapter, int intCmdType);
-#endif /* CONFIG_88EU_P2P */
 
 enum rtw_drvextra_cmd_id {
        NONE_WK_CID,
@@ -747,29 +745,17 @@ Result:
 #define H2C_CMD_OVERFLOW       0x06
 #define H2C_RESERVED           0x07
 
-u8 rtw_setassocsta_cmd(struct adapter  *padapter, u8 *mac_addr);
-u8 rtw_setstandby_cmd(struct adapter *padapter, uint action);
 u8 rtw_sitesurvey_cmd(struct adapter  *padapter, struct ndis_802_11_ssid *ssid,
                      int ssid_num, struct rtw_ieee80211_channel *ch,
                      int ch_num);
 u8 rtw_createbss_cmd(struct adapter  *padapter);
-u8 rtw_createbss_cmd_ex(struct adapter  *padapter, unsigned char *pbss,
-                              unsigned int sz);
-u8 rtw_setphy_cmd(struct adapter  *padapter, u8 modem, u8 ch);
 u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key);
 u8 rtw_clearstakey_cmd(struct adapter *padapter, u8 *psta, u8 entry, u8 enqueue);
 u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network* pnetwork);
 u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue);
 u8 rtw_setopmode_cmd(struct adapter  *padapter, enum ndis_802_11_network_infra networktype);
 u8 rtw_setdatarate_cmd(struct adapter  *padapter, u8 *rateset);
-u8 rtw_setbasicrate_cmd(struct adapter  *padapter, u8 *rateset);
-u8 rtw_setbbreg_cmd(struct adapter * padapter, u8 offset, u8 val);
-u8 rtw_setrfreg_cmd(struct adapter * padapter, u8 offset, u32 val);
-u8 rtw_getbbreg_cmd(struct adapter * padapter, u8 offset, u8 * pval);
-u8 rtw_getrfreg_cmd(struct adapter * padapter, u8 offset, u8 * pval);
 u8 rtw_setrfintfs_cmd(struct adapter  *padapter, u8 mode);
-u8 rtw_setrttbl_cmd(struct adapter  *padapter, struct setratable_parm *prate_table);
-u8 rtw_getrttbl_cmd(struct adapter  *padapter, struct getratable_rsp *pval);
 
 u8 rtw_gettssi_cmd(struct adapter  *padapter, u8 offset,u8 *pval);
 u8 rtw_setfwdig_cmd(struct adapter*padapter, u8 type);
@@ -785,15 +771,9 @@ u8 rtw_rpt_timer_cfg_cmd(struct adapter*padapter, u16 minRptTime);
  u8 rtw_antenna_select_cmd(struct adapter*padapter, u8 antenna,u8 enqueue);
 u8 rtw_ps_cmd(struct adapter*padapter);
 
-#ifdef CONFIG_88EU_AP_MODE
 u8 rtw_chk_hi_queue_cmd(struct adapter*padapter);
-#endif
 
-u8 rtw_set_ch_cmd(struct adapter*padapter, u8 ch, u8 bw, u8 ch_offset, u8 enqueue);
 u8 rtw_set_chplan_cmd(struct adapter*padapter, u8 chplan, u8 enqueue);
-u8 rtw_led_blink_cmd(struct adapter*padapter, struct LED_871x * pLed);
-u8 rtw_set_csa_cmd(struct adapter*padapter, u8 new_ch_no);
-u8 rtw_tdls_cmd(struct adapter *padapter, u8 *addr, u8 option);
 
 u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt);
 
@@ -804,7 +784,6 @@ void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
 void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd);
 void rtw_createbss_cmd_callback(struct adapter *adapt, struct cmd_obj *pcmd);
 void rtw_getbbrfreg_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cmd);
-void rtw_readtssi_cmdrsp_callback(struct adapter *adapt,  struct cmd_obj *cmd);
 
 void rtw_setstaKey_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cmd);
 void rtw_setassocsta_cmdrsp_callback(struct adapter *adapt, struct cmd_obj *cm);
index 3c3bf2a..0a77e3e 100644 (file)
@@ -72,160 +72,4 @@ extern u32 GlobalDebugLevel;
                        pr_info(DRIVER_PREFIX __VA_ARGS__);                     \
        } while (0)
 
-int proc_get_drv_version(char *page, char **start,
-                        off_t offset, int count,
-                        int *eof, void *data);
-
-int proc_get_write_reg(char *page, char **start,
-                      off_t offset, int count,
-                      int *eof, void *data);
-
-int proc_set_write_reg(struct file *file, const char __user *buffer,
-                      unsigned long count, void *data);
-int proc_get_read_reg(char *page, char **start,
-                     off_t offset, int count,
-                     int *eof, void *data);
-
-int proc_set_read_reg(struct file *file, const char __user *buffer,
-                     unsigned long count, void *data);
-
-int proc_get_fwstate(char *page, char **start,
-                    off_t offset, int count,
-                    int *eof, void *data);
-int proc_get_sec_info(char *page, char **start,
-                     off_t offset, int count,
-                     int *eof, void *data);
-int proc_get_mlmext_state(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_qos_option(char *page, char **start,
-                       off_t offset, int count,
-                       int *eof, void *data);
-int proc_get_ht_option(char *page, char **start,
-                      off_t offset, int count,
-                      int *eof, void *data);
-int proc_get_rf_info(char *page, char **start,
-                    off_t offset, int count,
-                    int *eof, void *data);
-int proc_get_ap_info(char *page, char **start,
-                    off_t offset, int count,
-                    int *eof, void *data);
-
-int proc_get_adapter_state(char *page, char **start,
-                          off_t offset, int count,
-                          int *eof, void *data);
-
-int proc_get_trx_info(char *page, char **start,
-                     off_t offset, int count,
-                     int *eof, void *data);
-
-int proc_get_mac_reg_dump1(char *page, char **start,
-                          off_t offset, int count,
-                          int *eof, void *data);
-
-int proc_get_mac_reg_dump2(char *page, char **start,
-                          off_t offset, int count,
-                          int *eof, void *data);
-
-int proc_get_mac_reg_dump3(char *page, char **start,
-                          off_t offset, int count,
-                          int *eof, void *data);
-
-int proc_get_bb_reg_dump1(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_bb_reg_dump2(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_bb_reg_dump3(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_rf_reg_dump1(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_rf_reg_dump2(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_rf_reg_dump3(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_rf_reg_dump4(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-#ifdef CONFIG_88EU_AP_MODE
-
-int proc_get_all_sta_info(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-#endif
-
-int proc_get_best_channel(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_get_rx_signal(char *page, char **start,
-                      off_t offset, int count,
-                      int *eof, void *data);
-
-int proc_set_rx_signal(struct file *file, const char __user *buffer,
-                      unsigned long count, void *data);
-
-int proc_get_ht_enable(char *page, char **start,
-                      off_t offset, int count,
-                      int *eof, void *data);
-
-int proc_set_ht_enable(struct file *file, const char __user *buffer,
-                      unsigned long count, void *data);
-
-int proc_get_cbw40_enable(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_set_cbw40_enable(struct file *file, const char __user *buffer,
-                         unsigned long count, void *data);
-
-int proc_get_ampdu_enable(char *page, char **start,
-                         off_t offset, int count,
-                         int *eof, void *data);
-
-int proc_set_ampdu_enable(struct file *file, const char __user *buffer,
-                         unsigned long count, void *data);
-
-int proc_get_rx_stbc(char *page, char **start,
-                    off_t offset, int count,
-                    int *eof, void *data);
-
-int proc_set_rx_stbc(struct file *file, const char __user *buffer,
-                    unsigned long count, void *data);
-
-int proc_get_two_path_rssi(char *page, char **start,
-                          off_t offset, int count,
-                          int *eof, void *data);
-
-int proc_get_rssi_disp(char *page, char **start,
-                      off_t offset, int count,
-                      int *eof, void *data);
-
-int proc_set_rssi_disp(struct file *file, const char __user *buffer,
-                      unsigned long count, void *data);
-
-#ifdef CONFIG_BT_COEXIST
-int proc_get_btcoex_dbg(char *page, char **start,
-                       off_t offset, int count,
-                       int *eof, void *data);
-
-int proc_set_btcoex_dbg(struct file *file, const char *buffer,
-                       signed long count, void *data);
-
-#endif /* CONFIG_BT_COEXIST */
-
 #endif /* __RTW_DEBUG_H__ */
index 9f8a9c0..e517239 100644 (file)
 #define        EEPROM_CID_CLEVO                0x13
 #define        EEPROM_CID_WHQL                 0xFE
 
-/*  Customer ID, note that: */
-/*  This variable is initiailzed through EEPROM or registry, */
-/*  however, its definition may be different with that in EEPROM for */
-/*  EEPROM size consideration. So, we have to perform proper translation
- *  between them. */
-/*  Besides, CustomerID of registry has precedence of that of EEPROM. */
-/*  defined below. 060703, by rcnjko. */
-enum RT_CUSTOMER_ID {
-       RT_CID_DEFAULT = 0,
-       RT_CID_8187_ALPHA0 = 1,
-       RT_CID_8187_SERCOMM_PS = 2,
-       RT_CID_8187_HW_LED = 3,
-       RT_CID_8187_NETGEAR = 4,
-       RT_CID_WHQL = 5,
-       RT_CID_819x_CAMEO  = 6,
-       RT_CID_819x_RUNTOP = 7,
-       RT_CID_819x_Senao = 8,
-       RT_CID_TOSHIBA = 9,     /*  Merge by Jacken, 2008/01/31. */
-       RT_CID_819x_Netcore = 10,
-       RT_CID_Nettronix = 11,
-       RT_CID_DLINK = 12,
-       RT_CID_PRONET = 13,
-       RT_CID_COREGA = 14,
-       RT_CID_CHINA_MOBILE = 15,
-       RT_CID_819x_ALPHA = 16,
-       RT_CID_819x_Sitecom = 17,
-       RT_CID_CCX = 18, /*  It's set under CCX logo test and isn't demanded
-                         * for CCX functions, but for test behavior like retry
-                         * limit and tx report. By Bruce, 2009-02-17. */
-       RT_CID_819x_Lenovo = 19,
-       RT_CID_819x_QMI = 20,
-       RT_CID_819x_Edimax_Belkin = 21,
-       RT_CID_819x_Sercomm_Belkin = 22,
-       RT_CID_819x_CAMEO1 = 23,
-       RT_CID_819x_MSI = 24,
-       RT_CID_819x_Acer = 25,
-       RT_CID_819x_AzWave_ASUS = 26,
-       RT_CID_819x_AzWave = 27, /*  For AzWave in PCIe,i
-                                 * The ID is AzWave use and not only Asus */
-       RT_CID_819x_HP = 28,
-       RT_CID_819x_WNC_COREGA = 29,
-       RT_CID_819x_Arcadyan_Belkin = 30,
-       RT_CID_819x_SAMSUNG = 31,
-       RT_CID_819x_CLEVO = 32,
-       RT_CID_819x_DELL = 33,
-       RT_CID_819x_PRONETS = 34,
-       RT_CID_819x_Edimax_ASUS = 35,
-       RT_CID_819x_CAMEO_NETGEAR = 36,
-       RT_CID_PLANEX = 37,
-       RT_CID_CC_C = 38,
-       RT_CID_819x_Xavi = 39,
-       RT_CID_819x_FUNAI_TV = 40,
-       RT_CID_819x_ALPHA_WD=41,
-};
-
 struct eeprom_priv {
        u8              bautoload_fail_flag;
        u8              bloadfile_fail_flag;
        u8              bloadmac_fail_flag;
-       u8              mac_addr[6];    /* PermanentAddress */
+       u8              mac_addr[ETH_ALEN] __aligned(2); /* PermanentAddress */
        u16             channel_plan;
        u8              EepromOrEfuse;
        u8              efuse_eeprom_data[HWSET_MAX_SIZE_512] __aligned(4);
index b3ff46d..2e19b7b 100644 (file)
@@ -101,34 +101,13 @@ extern u8 fakeBTEfuseInitMap[];
 extern u8 fakeBTEfuseModifiedMap[];
 /*------------------------Export global variable----------------------------*/
 
-u8 efuse_GetCurrentSize(struct adapter *adapter, u16 *size);
-u16 efuse_GetMaxSize(struct adapter *adapter);
-u8 rtw_efuse_access(struct adapter *adapter, u8 read, u16 start_addr,
-                   u16 cnts, u8 *data);
-u8 rtw_efuse_map_read(struct adapter *adapter, u16 addr, u16 cnts, u8 *data);
-u8 rtw_efuse_map_write(struct adapter *adapter, u16 addr, u16 cnts, u8 *data);
-u8 rtw_BT_efuse_map_read(struct adapter *adapter, u16 addr,
-                        u16 cnts, u8 *data);
-u8 rtw_BT_efuse_map_write(struct adapter *adapter, u16 addr,
-                         u16 cnts, u8 *data);
-u16 Efuse_GetCurrentSize(struct adapter *adapter, u8 efusetype, bool test);
 u8 Efuse_CalculateWordCnts(u8 word_en);
 void ReadEFuseByte(struct adapter *adapter, u16 _offset, u8 *pbuf, bool test);
-void EFUSE_GetEfuseDefinition(struct adapter *adapt, u8 type, u8 type1,
-                             void *out, bool bPseudoTest);
 u8 efuse_OneByteRead(struct adapter *adapter, u16 addr, u8 *data, bool test);
 u8 efuse_OneByteWrite(struct adapter *adapter, u16 addr, u8 data, bool test);
 
-void Efuse_PowerSwitch(struct adapter *adapt,u8 bWrite,u8  PwrState);
-int Efuse_PgPacketRead(struct adapter *adapt, u8 offset, u8 *data, bool test);
-int Efuse_PgPacketWrite(struct adapter *adapter, u8 offset, u8 word, u8 *data,
-                       bool test);
 void efuse_WordEnableDataRead(u8 word_en, u8 *sourdata, u8 *targetdata);
-u8 Efuse_WordEnableDataWrite(struct adapter *adapter, u16 efuse_addr,
-                            u8 word_en, u8 *data, bool test);
 
-u8 EFUSE_Read1Byte(struct adapter *adapter, u16 address);
 void EFUSE_ShadowMapUpdate(struct adapter *adapter, u8 efusetype, bool test);
-void EFUSE_ShadowRead(struct adapter *adapt, u8 type, u16 offset, u32 *val);
 
 #endif
index 4b41c7b..c6a0782 100644 (file)
@@ -84,30 +84,6 @@ struct intf_priv;
 struct intf_hdl;
 struct io_queue;
 
-struct _io_ops {
-       u8 (*_read8)(struct intf_hdl *pintfhdl, u32 addr);
-       u16 (*_read16)(struct intf_hdl *pintfhdl, u32 addr);
-       u32 (*_read32)(struct intf_hdl *pintfhdl, u32 addr);
-       int (*_write8)(struct intf_hdl *pintfhdl, u32 addr, u8 val);
-       int (*_write16)(struct intf_hdl *pintfhdl, u32 addr, u16 val);
-       int (*_write32)(struct intf_hdl *pintfhdl, u32 addr, u32 val);
-       int (*_writeN)(struct intf_hdl *pintfhdl, u32 addr, u32 length,
-                      u8 *pdata);
-       int (*_write8_async)(struct intf_hdl *pintfhdl, u32 addr, u8 val);
-       int (*_write16_async)(struct intf_hdl *pintfhdl, u32 addr, u16 val);
-       int (*_write32_async)(struct intf_hdl *pintfhdl, u32 addr, u32 val);
-       void (*_read_mem)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
-                         u8 *pmem);
-       void (*_write_mem)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
-                          u8 *pmem);
-       u32 (*_read_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
-                         u8 *pmem);
-       u32 (*_write_port)(struct intf_hdl *pintfhdl, u32 addr, u32 cnt,
-                          u8 *pmem);
-       void (*_read_port_cancel)(struct intf_hdl *pintfhdl);
-       void (*_write_port_cancel)(struct intf_hdl *pintfhdl);
-};
-
 struct io_req {
        struct list_head list;
        u32     addr;
@@ -125,7 +101,6 @@ struct io_req {
 struct intf_hdl {
        struct adapter *padapter;
        struct dvobj_priv *pintf_dev;
-       struct _io_ops  io_ops;
 };
 
 struct reg_protocol_rd {
@@ -245,58 +220,21 @@ void unregister_intf_hdl(struct intf_hdl *pintfhdl);
 void _rtw_attrib_read(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
 void _rtw_attrib_write(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
 
-u8 _rtw_read8(struct adapter *adapter, u32 addr);
-u16 _rtw_read16(struct adapter *adapter, u32 addr);
-u32 _rtw_read32(struct adapter *adapter, u32 addr);
+u8 rtw_read8(struct adapter *adapter, u32 addr);
+u16 rtw_read16(struct adapter *adapter, u32 addr);
+u32 rtw_read32(struct adapter *adapter, u32 addr);
 void _rtw_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
-void _rtw_read_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
-void _rtw_read_port_cancel(struct adapter *adapter);
+u32 rtw_read_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
+void rtw_read_port_cancel(struct adapter *adapter);
 
-int _rtw_write8(struct adapter *adapter, u32 addr, u8 val);
-int _rtw_write16(struct adapter *adapter, u32 addr, u16 val);
-int _rtw_write32(struct adapter *adapter, u32 addr, u32 val);
-int _rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *pdata);
-
-int _rtw_write8_async(struct adapter *adapter, u32 addr, u8 val);
-int _rtw_write16_async(struct adapter *adapter, u32 addr, u16 val);
-int _rtw_write32_async(struct adapter *adapter, u32 addr, u32 val);
+int rtw_write8(struct adapter *adapter, u32 addr, u8 val);
+int rtw_write16(struct adapter *adapter, u32 addr, u16 val);
+int rtw_write32(struct adapter *adapter, u32 addr, u32 val);
+int rtw_writeN(struct adapter *adapter, u32 addr, u32 length, u8 *pdata);
 
 void _rtw_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
-u32 _rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
-u32 _rtw_write_port_and_wait(struct adapter *adapter, u32 addr, u32 cnt,
-                            u8 *pmem, int timeout_ms);
-void _rtw_write_port_cancel(struct adapter *adapter);
-
-#define rtw_read8(adapter, addr) _rtw_read8((adapter), (addr))
-#define rtw_read16(adapter, addr) _rtw_read16((adapter), (addr))
-#define rtw_read32(adapter, addr) _rtw_read32((adapter), (addr))
-#define rtw_read_mem(adapter, addr, cnt, mem)                          \
-       _rtw_read_mem((adapter), (addr), (cnt), (mem))
-#define rtw_read_port(adapter, addr, cnt, mem)                         \
-       _rtw_read_port((adapter), (addr), (cnt), (mem))
-#define rtw_read_port_cancel(adapter) _rtw_read_port_cancel((adapter))
-
-#define  rtw_write8(adapter, addr, val)                                        \
-       _rtw_write8((adapter), (addr), (val))
-#define  rtw_write16(adapter, addr, val)                               \
-       _rtw_write16((adapter), (addr), (val))
-#define  rtw_write32(adapter, addr, val)                               \
-       _rtw_write32((adapter), (addr), (val))
-#define  rtw_writeN(adapter, addr, length, data)                       \
-       _rtw_writeN((adapter), (addr), (length), (data))
-#define rtw_write8_async(adapter, addr, val)                           \
-       _rtw_write8_async((adapter), (addr), (val))
-#define rtw_write16_async(adapter, addr, val)                          \
-       _rtw_write16_async((adapter), (addr), (val))
-#define rtw_write32_async(adapter, addr, val)                          \
-       _rtw_write32_async((adapter), (addr), (val))
-#define rtw_write_mem(adapter, addr, cnt, mem)                         \
-       _rtw_write_mem((adapter), (addr), (cnt), (mem))
-#define rtw_write_port(adapter, addr, cnt, mem)                                \
-       _rtw_write_port((adapter), (addr), (cnt), (mem))
-#define rtw_write_port_and_wait(adapter, addr, cnt, mem, timeout_ms)   \
-       _rtw_write_port_and_wait((adapter), (addr), (cnt), (mem), (timeout_ms))
-#define rtw_write_port_cancel(adapter) _rtw_write_port_cancel((adapter))
+u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
+void rtw_write_port_cancel(struct adapter *adapter);
 
 void rtw_write_scsi(struct adapter *adapter, u32 cnt, u8 *pmem);
 
@@ -340,9 +278,6 @@ void async_write32(struct adapter *adapter, u32 addr, u32 val,
 void async_write_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
 void async_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem);
 
-int rtw_init_io_priv(struct adapter *padapter,
-                    void (*set_intf_ops)(struct _io_ops *pops));
-
 uint alloc_io_queue(struct adapter *adapter);
 void free_io_queue(struct adapter *adapter);
 void async_bus_io(struct io_queue *pio_q);
diff --git a/drivers/staging/r8188eu/include/rtw_ioctl_rtl.h b/drivers/staging/r8188eu/include/rtw_ioctl_rtl.h
deleted file mode 100644 (file)
index 6d3d1ef..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#ifndef _RTW_IOCTL_RTL_H_
-#define _RTW_IOCTL_RTL_H_
-
-#include "osdep_service.h"
-#include "drv_types.h"
-
-/*  oid_rtl_seg_01_01 ************** */
-int oid_rt_get_signal_quality_hdl(struct oid_par_priv *poid_par_priv);/* 84 */
-int oid_rt_get_small_packet_crc_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_middle_packet_crc_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_large_packet_crc_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_tx_retry_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_rx_retry_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_rx_total_packet_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_tx_beacon_ok_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_tx_beacon_err_hdl(struct oid_par_priv *poid_par_priv);
-
-int oid_rt_pro_set_fw_dig_state_hdl(struct oid_par_priv *poid_par_priv);/* 8a */
-int oid_rt_pro_set_fw_ra_state_hdl(struct oid_par_priv *poid_par_priv);        /* 8b */
-
-int oid_rt_get_rx_icv_err_hdl(struct oid_par_priv *poid_par_priv);/* 93 */
-int oid_rt_set_encryption_algorithm_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_preamble_mode_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_ap_ip_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_channelplan_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_set_channelplan_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_set_preamble_mode_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_set_bcn_intvl_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_dedicate_probe_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_total_tx_bytes_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_total_rx_bytes_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_current_tx_power_level_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_enc_key_mismatch_count_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_enc_key_match_count_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_channel_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_hardware_radio_off_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_key_mismatch_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_supported_wireless_mode_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_channel_list_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_scan_in_progress_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_forced_data_rate_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_wireless_mode_for_scan_list_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_get_bss_wireless_mode_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_scan_with_magic_packet_hdl(struct oid_par_priv *poid_par_priv);
-
-/*   oid_rtl_seg_01_03 section start ************** */
-int oid_rt_ap_get_associated_station_list_hdl(struct oid_par_priv *priv);
-int oid_rt_ap_switch_into_ap_mode_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_ap_supported_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_ap_set_passphrase_hdl(struct oid_par_priv *poid_par_priv);
-
-/*  oid_rtl_seg_01_11 */
-int oid_rt_pro_rf_write_registry_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_pro_rf_read_registry_hdl(struct oid_par_priv *poid_par_priv);
-
-/*   oid_rtl_seg_03_00 section start ************** */
-int oid_rt_get_connect_state_hdl(struct oid_par_priv *poid_par_priv);
-int oid_rt_set_default_key_id_hdl(struct oid_par_priv *poid_par_priv);
-
-#endif
index 6216b8a..7365079 100644 (file)
@@ -8,7 +8,6 @@
 
 typedef u8 NDIS_802_11_PMKID_VALUE[16];
 
-u8 rtw_set_802_11_add_key(struct adapter *adapt, struct ndis_802_11_key *key);
 u8 rtw_set_802_11_authentication_mode(struct adapter *adapt,
                                      enum ndis_802_11_auth_mode authmode);
 u8 rtw_set_802_11_bssid(struct adapter*adapter, u8 *bssid);
@@ -19,15 +18,8 @@ u8 rtw_set_802_11_bssid_list_scan(struct adapter*adapter,
                                  int ssid_max_num);
 u8 rtw_set_802_11_infrastructure_mode(struct adapter *adapter,
                                      enum ndis_802_11_network_infra type);
-u8 rtw_set_802_11_remove_wep(struct adapter *adapter, u32 keyindex);
 u8 rtw_set_802_11_ssid(struct adapter *adapt, struct ndis_802_11_ssid *ssid);
-u8 rtw_set_802_11_remove_key(struct adapter *adapt,
-                            struct ndis_802_11_remove_key *key);
-u8 rtw_validate_ssid(struct ndis_802_11_ssid *ssid);
 u16 rtw_get_cur_max_rate(struct adapter *adapter);
-int rtw_set_scan_mode(struct adapter *adapter, enum rt_scan_type scan_mode);
-int rtw_set_channel_plan(struct adapter *adapter, u8 channel_plan);
-int rtw_set_country(struct adapter *adapter, const char *country_code);
 int rtw_change_ifname(struct adapter *padapter, const char *ifname);
 
 #endif
index 471f9ca..fb88ebc 100644 (file)
@@ -33,10 +33,6 @@ enum ioreg_cmd {
 struct xmit_frame *rtw_IOL_accquire_xmit_frame(struct adapter *adapter);
 int rtw_IOL_append_cmds(struct xmit_frame *xmit_frame, u8 *IOL_cmds,
                        u32 cmd_len);
-int rtw_IOL_append_LLT_cmd(struct xmit_frame *xmit_frame, u8 page_boundary);
-int rtw_IOL_exec_cmds_sync(struct adapter  *adapter,
-                          struct xmit_frame *xmit_frame, u32 max_wating_ms,
-                          u32 bndy_cnt);
 bool rtw_IOL_applied(struct adapter  *adapter);
 int rtw_IOL_append_DELAY_US_cmd(struct xmit_frame *xmit_frame, u16 us);
 int rtw_IOL_append_DELAY_MS_cmd(struct xmit_frame *xmit_frame, u16 ms);
@@ -63,6 +59,5 @@ int _rtw_IOL_append_WRF_cmd(struct xmit_frame *xmit_frame, u8 rf_path,
        _rtw_IOL_append_WRF_cmd((xmit_frame),(rf_path), (addr), (value), (mask))
 
 u8 rtw_IOL_cmd_boundary_handle(struct xmit_frame *pxmit_frame);
-void  rtw_IOL_cmd_buf_dump(struct adapter  *Adapter,int buf_len,u8 *pbuf);
 
 #endif /* __RTW_IOL_H_ */
index f0965aa..c035fe2 100644 (file)
@@ -107,8 +107,6 @@ struct LED_871x {
 
        struct timer_list BlinkTimer; /*  Timer object for led blinking. */
 
-       u8 bSWLedCtrl;
-
        /*  ALPHA, added by chiyoko, 20090106 */
        u8 bLedNoLinkBlinkInProgress;
        u8 bLedLinkBlinkInProgress;
@@ -127,30 +125,12 @@ struct LED_871x {
        (((struct LED_871x *)_LED_871x)->bLedWPSBlinkInProgress ||      \
        ((struct LED_871x *)_LED_871x)->bLedScanBlinkInProgress)
 
-/*  LED customization. */
-
-enum LED_STRATEGY_871x {
-       SW_LED_MODE0 = 0, /* SW control 1 LED via GPIO0. It is default option.*/
-       SW_LED_MODE1= 1, /*  2 LEDs, through LED0 and LED1. For ALPHA. */
-       SW_LED_MODE2 = 2, /*  SW control 1 LED via GPIO0, customized for AzWave
-                          * 8187 minicard. */
-       SW_LED_MODE3 = 3, /*  SW control 1 LED via GPIO0, customized for Sercomm
-                          * Printer Server case. */
-       SW_LED_MODE4 = 4, /* for Edimax / Belkin */
-       SW_LED_MODE5 = 5, /* for Sercomm / Belkin */
-       SW_LED_MODE6 = 6, /* for 88CU minicard, porting from ce SW_LED_MODE7 */
-       HW_LED = 50, /*  HW control 2 LEDs, LED0 and LED1 (there are 4
-                     * different control modes, see MAC.CONFIG1 for details.)*/
-       LED_ST_NONE = 99,
-};
-
 void LedControl8188eu(struct adapter *padapter, enum LED_CTL_MODE      LedAction);
 
 struct led_priv{
        /* add for led control */
        struct LED_871x                 SwLed0;
        struct LED_871x                 SwLed1;
-       enum LED_STRATEGY_871x  LedStrategy;
        u8      bRegUseLed;
        void (*LedControlHandler)(struct adapter *padapter,
                                  enum LED_CTL_MODE LedAction);
index bbb4147..e8d51f4 100644 (file)
@@ -379,7 +379,6 @@ struct mlme_priv {
        u8 *assoc_rsp;
        u32 assoc_rsp_len;
 
-#if defined (CONFIG_88EU_AP_MODE)
        /* Number of associated Non-ERP stations (i.e., stations using 802.11b
         * in 802.11g BSS) */
        int num_sta_non_erp;
@@ -428,18 +427,14 @@ struct mlme_priv {
        u32 p2p_assoc_req_ie_len;
        spinlock_t bcn_update_lock;
        u8              update_bcn;
-#endif /* if defined (CONFIG_88EU_AP_MODE) */
 };
 
-#ifdef CONFIG_88EU_AP_MODE
-
 struct hostapd_priv {
        struct adapter *padapter;
 };
 
 int hostapd_mode_init(struct adapter *padapter);
 void hostapd_mode_unload(struct adapter *padapter);
-#endif
 
 extern unsigned char WPA_TKIP_CIPHER[4];
 extern unsigned char RSN_TKIP_CIPHER[4];
@@ -562,7 +557,6 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue);
 void rtw_indicate_disconnect(struct adapter *adapter);
 void rtw_indicate_connect(struct adapter *adapter);
 void rtw_indicate_scan_done( struct adapter *padapter, bool aborted);
-void rtw_scan_abort(struct adapter *adapter);
 
 int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie,
                        uint in_len);
@@ -589,10 +583,6 @@ void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv);
 
 void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv);
 
-int _rtw_enqueue_network(struct __queue *queue, struct wlan_network *pnetwork);
-
-struct wlan_network *_rtw_dequeue_network(struct __queue *queue);
-
  struct wlan_network *_rtw_alloc_network(struct mlme_priv *pmlmepriv);
 
 void _rtw_free_network(struct mlme_priv *pmlmepriv,
@@ -607,7 +597,6 @@ void _rtw_free_network_queue(struct adapter *padapter, u8 isfreeall);
 int rtw_if_up(struct adapter *padapter);
 
 u8 *rtw_get_capability_from_ie(u8 *ie);
-u8 *rtw_get_timestampe_from_ie(u8 *ie);
 u8 *rtw_get_beacon_interval_from_ie(u8 *ie);
 
 void rtw_joinbss_reset(struct adapter *padapter);
index d2f4d3c..5b307ad 100644 (file)
@@ -416,9 +416,7 @@ struct mlme_ext_priv {
 
        u64 TSFValue;
 
-#ifdef CONFIG_88EU_AP_MODE
        unsigned char bstart_bss;
-#endif
        u8 update_channel_plan_by_ap_done;
        /* recv_decache check for Action_public frame */
        u8 action_public_dialog_token;
@@ -447,9 +445,7 @@ void Set_MSR(struct adapter *padapter, u8 type);
 
 u8 rtw_get_oper_ch(struct adapter *adapter);
 void rtw_set_oper_ch(struct adapter *adapter, u8 ch);
-u8 rtw_get_oper_bw(struct adapter *adapter);
 void rtw_set_oper_bw(struct adapter *adapter, u8 bw);
-u8 rtw_get_oper_choffset(struct adapter *adapter);
 void rtw_set_oper_choffset(struct adapter *adapter, u8 offset);
 
 void set_channel_bwmode(struct adapter *padapter, unsigned char channel,
@@ -464,7 +460,6 @@ void write_cam(struct adapter *padapter, u8 entry, u16 ctrl, u8 *mac, u8 *key);
 void clear_cam_entry(struct adapter *padapter, u8 entry);
 
 void invalidate_cam_all(struct adapter *padapter);
-void CAM_empty_entry(struct adapter * Adapter, u8 ucIndex);
 
 int allocate_fw_sta_entry(struct adapter *padapter);
 void flush_all_cam_entry(struct adapter *padapter);
@@ -475,7 +470,6 @@ u8 collect_bss_info(struct adapter *padapter, struct recv_frame *precv_frame,
 void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src,
                    struct adapter *adapter, bool update_ie);
 
-int get_bsstype(unsigned short capability);
 u8 *get_my_bssid(struct wlan_bssid_ex *pnetwork);
 u16 get_beacon_interval(struct wlan_bssid_ex *bss);
 
@@ -520,8 +514,6 @@ unsigned int receive_disconnect(struct adapter *padapter,
 unsigned char get_highest_rate_idx(u32 mask);
 int support_short_GI(struct adapter *padapter, struct HT_caps_element *caps);
 unsigned int is_ap_in_tkip(struct adapter *padapter);
-unsigned int is_ap_in_wep(struct adapter *padapter);
-unsigned int should_forbid_n_rate(struct adapter *padapter);
 
 void report_join_res(struct adapter *padapter, int res);
 void report_survey_event(struct adapter *padapter, struct recv_frame *precv_frame);
@@ -544,18 +536,14 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter,
 s32 dump_mgntframe_and_wait_ack(struct adapter *padapter,
                                struct xmit_frame *pmgntframe);
 
-#ifdef CONFIG_88EU_P2P
 void issue_probersp_p2p(struct adapter *padapter, unsigned char *da);
 void issue_p2p_provision_request(struct adapter *padapter, u8 *pssid,
                                 u8 ussidlen, u8 *pdev_raddr);
 void issue_p2p_GO_request(struct adapter *padapter, u8 *raddr);
 void issue_probereq_p2p(struct adapter *padapter, u8 *da);
-int issue_probereq_p2p_ex(struct adapter *adapter, u8 *da, int try_cnt,
-                         int wait_ms);
 void issue_p2p_invitation_response(struct adapter *padapter, u8 *raddr,
                                   u8 dialogToken, u8 success);
 void issue_p2p_invitation_request(struct adapter *padapter, u8* raddr);
-#endif /* CONFIG_88EU_P2P */
 void issue_beacon(struct adapter *padapter, int timeout_ms);
 void issue_probersp(struct adapter *padapter, unsigned char *da,
                    u8 is_valid_p2p_probereq);
@@ -576,8 +564,6 @@ int issue_deauth(struct adapter *padapter, unsigned char *da,
                 unsigned short reason);
 int issue_deauth_ex(struct adapter *padapter, u8 *da, unsigned short reason,
                    int try_cnt, int wait_ms);
-void issue_action_spct_ch_switch(struct adapter *padapter, u8 *ra, u8 new_ch,
-                                u8 ch_offset);
 void issue_action_BA(struct adapter *padapter, unsigned char *raddr,
                     unsigned char action, unsigned short status);
 unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr);
diff --git a/drivers/staging/r8188eu/include/rtw_mp.h b/drivers/staging/r8188eu/include/rtw_mp.h
deleted file mode 100644 (file)
index 3a259d9..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#ifndef _RTW_MP_H_
-#define _RTW_MP_H_
-
-/*     00 - Success */
-/*     11 - Error */
-#define STATUS_SUCCESS                         (0x00000000L)
-#define STATUS_PENDING                         (0x00000103L)
-
-#define STATUS_UNSUCCESSFUL                    (0xC0000001L)
-#define STATUS_INSUFFICIENT_RESOURCES          (0xC000009AL)
-#define STATUS_NOT_SUPPORTED                   (0xC00000BBL)
-
-#define NDIS_STATUS_SUCCESS                    ((int)STATUS_SUCCESS)
-#define NDIS_STATUS_PENDING                    ((int)STATUS_PENDING)
-#define NDIS_STATUS_NOT_RECOGNIZED             ((int)0x00010001L)
-#define NDIS_STATUS_NOT_COPIED                 ((int)0x00010002L)
-#define NDIS_STATUS_NOT_ACCEPTED               ((int)0x00010003L)
-#define NDIS_STATUS_CALL_ACTIVE                        ((int)0x00010007L)
-
-#define NDIS_STATUS_FAILURE                    ((int)STATUS_UNSUCCESSFUL)
-#define NDIS_STATUS_RESOURCES          ((int)STATUS_INSUFFICIENT_RESOURCES)
-#define NDIS_STATUS_CLOSING                    ((int)0xC0010002L)
-#define NDIS_STATUS_BAD_VERSION                        ((int)0xC0010004L)
-#define NDIS_STATUS_BAD_CHARACTERISTICS                ((int)0xC0010005L)
-#define NDIS_STATUS_ADAPTER_NOT_FOUND          ((int)0xC0010006L)
-#define NDIS_STATUS_OPEN_FAILED                        ((int)0xC0010007L)
-#define NDIS_STATUS_DEVICE_FAILED              ((int)0xC0010008L)
-#define NDIS_STATUS_MULTICAST_FULL             ((int)0xC0010009L)
-#define NDIS_STATUS_MULTICAST_EXISTS           ((int)0xC001000AL)
-#define NDIS_STATUS_MULTICAST_NOT_FOUND                ((int)0xC001000BL)
-#define NDIS_STATUS_REQUEST_ABORTED            ((int)0xC001000CL)
-#define NDIS_STATUS_RESET_IN_PROGRESS          ((int)0xC001000DL)
-#define NDIS_STATUS_CLOSING_INDICATING         ((int)0xC001000EL)
-#define NDIS_STATUS_NOT_SUPPORTED              ((int)STATUS_NOT_SUPPORTED)
-#define NDIS_STATUS_INVALID_PACKET             ((int)0xC001000FL)
-#define NDIS_STATUS_OPEN_LIST_FULL             ((int)0xC0010010L)
-#define NDIS_STATUS_ADAPTER_NOT_READY          ((int)0xC0010011L)
-#define NDIS_STATUS_ADAPTER_NOT_OPEN           ((int)0xC0010012L)
-#define NDIS_STATUS_NOT_INDICATING             ((int)0xC0010013L)
-#define NDIS_STATUS_INVALID_LENGTH             ((int)0xC0010014L)
-#define NDIS_STATUS_INVALID_DATA               ((int)0xC0010015L)
-#define NDIS_STATUS_BUFFER_TOO_SHORT           ((int)0xC0010016L)
-#define NDIS_STATUS_INVALID_OID                        ((int)0xC0010017L)
-#define NDIS_STATUS_ADAPTER_REMOVED            ((int)0xC0010018L)
-#define NDIS_STATUS_UNSUPPORTED_MEDIA          ((int)0xC0010019L)
-#define NDIS_STATUS_GROUP_ADDRESS_IN_USE       ((int)0xC001001AL)
-#define NDIS_STATUS_FILE_NOT_FOUND             ((int)0xC001001BL)
-#define NDIS_STATUS_ERROR_READING_FILE         ((int)0xC001001CL)
-#define NDIS_STATUS_ALREADY_MAPPED             ((int)0xC001001DL)
-#define NDIS_STATUS_RESOURCE_CONFLICT          ((int)0xC001001EL)
-#define NDIS_STATUS_NO_CABLE                   ((int)0xC001001FL)
-
-#define NDIS_STATUS_INVALID_SAP                        ((int)0xC0010020L)
-#define NDIS_STATUS_SAP_IN_USE                 ((int)0xC0010021L)
-#define NDIS_STATUS_INVALID_ADDRESS            ((int)0xC0010022L)
-#define NDIS_STATUS_VC_NOT_ACTIVATED           ((int)0xC0010023L)
-#define NDIS_STATUS_DEST_OUT_OF_ORDER          ((int)0xC0010024L)  /*cause 27*/
-#define NDIS_STATUS_VC_NOT_AVAILABLE           ((int)0xC0010025L)  /*cause 35,45 */
-#define NDIS_STATUS_CELLRATE_NOT_AVAILABLE     ((int)0xC0010026L)  /*cause 37*/
-#define NDIS_STATUS_INCOMPATABLE_QOS           ((int)0xC0010027L)  /*cause 49*/
-#define NDIS_STATUS_AAL_PARAMS_UNSUPPORTED     ((int)0xC0010028L)  /*cause 93*/
-#define NDIS_STATUS_NO_ROUTE_TO_DESTINATION    ((int)0xC0010029L)  /*cause 3 */
-
-enum antenna_path {
-       ANTENNA_NONE = 0x00,
-       ANTENNA_D,
-       ANTENNA_C,
-       ANTENNA_CD,
-       ANTENNA_B,
-       ANTENNA_BD,
-       ANTENNA_BC,
-       ANTENNA_BCD,
-       ANTENNA_A,
-       ANTENNA_AD,
-       ANTENNA_AC,
-       ANTENNA_ACD,
-       ANTENNA_AB,
-       ANTENNA_ABD,
-       ANTENNA_ABC,
-       ANTENNA_ABCD
-};
-
-#define MAX_MP_XMITBUF_SZ      2048
-#define NR_MP_XMITFRAME                8
-
-struct mp_xmit_frame {
-       struct list_head list;
-       struct pkt_attrib attrib;
-       struct sk_buff *pkt;
-       int frame_tag;
-       struct adapter *padapter;
-       struct urb *pxmit_urb[8];
-       /* insert urb, irp, and irpcnt info below... */
-       u8 *mem_addr;
-       u32 sz[8];
-       u8 bpending[8];
-       int ac_tag[8];
-       int last[8];
-       uint irpcnt;
-       uint fragcnt;
-       uint mem[(MAX_MP_XMITBUF_SZ >> 2)];
-};
-
-struct mp_wiparam {
-       u32 bcompleted;
-       u32 act_type;
-       u32 io_offset;
-       u32 io_value;
-};
-
-typedef void(*wi_act_func)(void *padapter);
-
-struct mp_tx {
-       u8 stop;
-       u32 count, sended;
-       u8 payload;
-       struct pkt_attrib attrib;
-       struct tx_desc desc;
-       u8 *pallocated_buf;
-       u8 *buf;
-       u32 buf_size, write_size;
-       void *PktTxThread;
-};
-
-#include "Hal8188EPhyCfg.h"
-
-#define MP_MAX_LINES           1000
-#define MP_MAX_LINES_BYTES     256
-
-typedef void (*MPT_WORK_ITEM_HANDLER)(void *Adapter);
-
-struct mpt_context {
-       /*  Indicate if we have started Mass Production Test. */
-       bool                    bMassProdTest;
-
-       /*  Indicate if the driver is unloading or unloaded. */
-       bool                    bMptDrvUnload;
-
-       struct semaphore MPh2c_Sema;
-       struct timer_list MPh2c_timeout_timer;
-/*  Event used to sync H2c for BT control */
-
-       bool            MptH2cRspEvent;
-       bool            MptBtC2hEvent;
-       bool            bMPh2c_timeout;
-
-       /* 8190 PCI does not support NDIS_WORK_ITEM. */
-       /*  Work Item for Mass Production Test. */
-       /*  Event used to sync the case unloading driver and MptWorkItem
-        *  is still in progress. */
-       /*  Indicate a MptWorkItem is scheduled and not yet finished. */
-       bool                    bMptWorkItemInProgress;
-       /*  An instance which implements function and context of MptWorkItem. */
-       MPT_WORK_ITEM_HANDLER   CurrMptAct;
-
-       /*  1=Start, 0=Stop from UI. */
-       u32     MptTestStart;
-       /*  _TEST_MODE, defined in MPT_Req2.h */
-       u32     MptTestItem;
-       /*  Variable needed in each implementation of CurrMptAct. */
-       u32     MptActType;     /*  Type of action performed in CurrMptAct. */
-       /*  The Offset of IO operation is depend of MptActType. */
-       u32     MptIoOffset;
-       /*  The Value of IO operation is depend of MptActType. */
-       u32     MptIoValue;
-       /*  The RfPath of IO operation is depend of MptActType. */
-       u32     MptRfPath;
-
-       enum wireless_mode MptWirelessModeToSw; /*  Wireless mode to switch. */
-       u8      MptChannelToSw;         /*  Channel to switch. */
-       u8      MptInitGainToSet;       /*  Initial gain to set. */
-       u32     MptBandWidth;           /*  bandwidth to switch. */
-       u32     MptRateIndex;           /*  rate index. */
-       /*  Register value kept for Single Carrier Tx test. */
-       u8      btMpCckTxPower;
-       /*  Register value kept for Single Carrier Tx test. */
-       u8      btMpOfdmTxPower;
-       /*  For MP Tx Power index */
-       u8      TxPwrLevel[2];  /*  rf-A, rf-B */
-
-       /*  Content of RCR Regsiter for Mass Production Test. */
-       u32     MptRCR;
-       /*  true if we only receive packets with specific pattern. */
-       bool    bMptFilterPattern;
-       /*  Rx OK count, statistics used in Mass Production Test. */
-       u32     MptRxOkCnt;
-       /*  Rx CRC32 error count, statistics used in Mass Production Test. */
-       u32     MptRxCrcErrCnt;
-
-       bool    bCckContTx;     /*  true if we are in CCK Continuous Tx test. */
-       bool    bOfdmContTx;    /*  true if we are in OFDM Continuous Tx test. */
-       bool    bStartContTx;   /*  true if we have start Continuous Tx test. */
-       /*  true if we are in Single Carrier Tx test. */
-       bool    bSingleCarrier;
-       /*  true if we are in Carrier Suppression Tx Test. */
-       bool    bCarrierSuppression;
-       /* true if we are in Single Tone Tx test. */
-       bool    bSingleTone;
-
-       /*  ACK counter asked by K.Y.. */
-       bool    bMptEnableAckCounter;
-       u32     MptAckCounter;
-
-       u8      APK_bound[2];   /* for APK      path A/path B */
-       bool    bMptIndexEven;
-
-       u8      backup0xc50;
-       u8      backup0xc58;
-       u8      backup0xc30;
-       u8      backup0x52_RF_A;
-       u8      backup0x52_RF_B;
-
-       u8      h2cReqNum;
-       u8      c2hBuf[20];
-
-       u8      btInBuf[100];
-       u32     mptOutLen;
-       u8      mptOutBuf[100];
-};
-
-enum {
-       WRITE_REG = 1,
-       READ_REG,
-       WRITE_RF,
-       READ_RF,
-       MP_START,
-       MP_STOP,
-       MP_RATE,
-       MP_CHANNEL,
-       MP_BANDWIDTH,
-       MP_TXPOWER,
-       MP_ANT_TX,
-       MP_ANT_RX,
-       MP_CTX,
-       MP_QUERY,
-       MP_ARX,
-       MP_PSD,
-       MP_PWRTRK,
-       MP_THER,
-       MP_IOCTL,
-       EFUSE_GET,
-       EFUSE_SET,
-       MP_RESET_STATS,
-       MP_DUMP,
-       MP_PHYPARA,
-       MP_SetRFPathSwh,
-       MP_QueryDrvStats,
-       MP_SetBT,
-       CTA_TEST,
-       MP_NULL,
-};
-
-struct mp_priv {
-       struct adapter *papdater;
-
-       /* Testing Flag */
-       /* 0 for normal type packet, 1 for loopback packet (16bytes TXCMD) */
-       u32 mode;
-
-       u32 prev_fw_state;
-
-       /* OID cmd handler */
-       struct mp_wiparam workparam;
-
-       /* Tx Section */
-       u8 TID;
-       u32 tx_pktcount;
-       struct mp_tx tx;
-
-       /* Rx Section */
-       u32 rx_pktcount;
-       u32 rx_crcerrpktcount;
-       u32 rx_pktloss;
-
-       struct recv_stat rxstat;
-
-       /* RF/BB relative */
-       u8 channel;
-       u8 bandwidth;
-       u8 prime_channel_offset;
-       u8 txpoweridx;
-       u8 txpoweridx_b;
-       u8 rateidx;
-       u32 preamble;
-       u32 CrystalCap;
-
-       u16 antenna_tx;
-       u16 antenna_rx;
-
-       u8 check_mp_pkt;
-
-       u8 bSetTxPower;
-
-       struct wlan_network mp_network;
-       unsigned char network_macaddr[ETH_ALEN];
-
-       u8 *pallocated_mp_xmitframe_buf;
-       u8 *pmp_xmtframe_buf;
-       struct __queue free_mp_xmitqueue;
-       u32 free_mp_xmitframe_cnt;
-
-       struct mpt_context MptCtx;
-};
-
-struct iocmd_struct {
-       u8      cmdclass;
-       u16     value;
-       u8      index;
-};
-
-struct rf_reg_param {
-       u32 path;
-       u32 offset;
-       u32 value;
-};
-
-struct bb_reg_param {
-       u32 offset;
-       u32 value;
-};
-/*  */
-
-#define LOWER  true
-#define RAISE  false
-
-/* Hardware Registers */
-#define BB_REG_BASE_ADDR               0x800
-
-/* MP variables */
-enum mp_mode_{
-       MP_OFF,
-       MP_ON,
-       MP_ERR,
-       MP_CONTINUOUS_TX,
-       MP_SINGLE_CARRIER_TX,
-       MP_CARRIER_SUPPRISSION_TX,
-       MP_SINGLE_TONE_TX,
-       MP_PACKET_TX,
-       MP_PACKET_RX
-};
-
-extern u8 mpdatarate[NumRates];
-
-/* MP set force data rate base on the definition. */
-enum mpt_rate_index {
-       /* CCK rate. */
-       MPT_RATE_1M,    /* 0 */
-       MPT_RATE_2M,
-       MPT_RATE_55M,
-       MPT_RATE_11M,   /* 3 */
-
-       /* OFDM rate. */
-       MPT_RATE_6M,    /* 4 */
-       MPT_RATE_9M,
-       MPT_RATE_12M,
-       MPT_RATE_18M,
-       MPT_RATE_24M,
-       MPT_RATE_36M,
-       MPT_RATE_48M,
-       MPT_RATE_54M,   /* 11 */
-
-       /* HT rate. */
-       MPT_RATE_MCS0,  /* 12 */
-       MPT_RATE_MCS1,
-       MPT_RATE_MCS2,
-       MPT_RATE_MCS3,
-       MPT_RATE_MCS4,
-       MPT_RATE_MCS5,
-       MPT_RATE_MCS6,
-       MPT_RATE_MCS7,  /* 19 */
-       MPT_RATE_MCS8,
-       MPT_RATE_MCS9,
-       MPT_RATE_MCS10,
-       MPT_RATE_MCS11,
-       MPT_RATE_MCS12,
-       MPT_RATE_MCS13,
-       MPT_RATE_MCS14,
-       MPT_RATE_MCS15, /* 27 */
-       MPT_RATE_LAST
-};
-
-#define MAX_TX_PWR_INDEX_N_MODE 64     /*  0x3F */
-
-enum power_mode {
-       POWER_LOW = 0,
-       POWER_NORMAL
-};
-
-#define RX_PKT_BROADCAST       1
-#define RX_PKT_DEST_ADDR       2
-#define RX_PKT_PHY_MATCH       3
-
-enum encry_ctrl_state {
-       HW_CONTROL,             /* hw encryption& decryption */
-       SW_CONTROL,             /* sw encryption& decryption */
-       HW_ENCRY_SW_DECRY,      /* hw encryption & sw decryption */
-       SW_ENCRY_HW_DECRY       /* sw encryption & hw decryption */
-};
-
-s32 init_mp_priv(struct adapter *padapter);
-void free_mp_priv(struct mp_priv *pmp_priv);
-s32 MPT_InitializeAdapter(struct adapter *padapter, u8 Channel);
-void MPT_DeInitAdapter(struct adapter *padapter);
-s32 mp_start_test(struct adapter *padapter);
-void mp_stop_test(struct adapter *padapter);
-
-u32 _read_rfreg(struct adapter *padapter, u8 rfpath, u32 addr, u32 bitmask);
-void _write_rfreg(struct adapter *padapter, u8 rfpath, u32 addr, u32 bitmask, u32 val);
-
-u32 read_bbreg(struct adapter *padapter, u32 addr, u32 bitmask);
-void write_bbreg(struct adapter *padapter, u32 addr, u32 bitmask, u32 val);
-u32 read_rfreg(struct adapter *padapter, u8 rfpath, u32 addr);
-void write_rfreg(struct adapter *padapter, u8 rfpath, u32 addr, u32 val);
-
-void   SetChannel(struct adapter *pAdapter);
-void   SetBandwidth(struct adapter *pAdapter);
-void   SetTxPower(struct adapter *pAdapter);
-void   SetAntennaPathPower(struct adapter *pAdapter);
-void   SetDataRate(struct adapter *pAdapter);
-
-void   SetAntenna(struct adapter *pAdapter);
-
-s32    SetThermalMeter(struct adapter *pAdapter, u8 target_ther);
-void   GetThermalMeter(struct adapter *pAdapter, u8 *value);
-
-void   SetContinuousTx(struct adapter *pAdapter, u8 bStart);
-void   SetSingleCarrierTx(struct adapter *pAdapter, u8 bStart);
-void   SetSingleToneTx(struct adapter *pAdapter, u8 bStart);
-void   SetCarrierSuppressionTx(struct adapter *pAdapter, u8 bStart);
-void PhySetTxPowerLevel(struct adapter *pAdapter);
-
-void   fill_txdesc_for_mp(struct adapter *padapter, struct tx_desc *ptxdesc);
-void   SetPacketTx(struct adapter *padapter);
-void   SetPacketRx(struct adapter *pAdapter, u8 bStartRx);
-
-void   ResetPhyRxPktCount(struct adapter *pAdapter);
-u32    GetPhyRxPktReceived(struct adapter *pAdapter);
-u32    GetPhyRxPktCRC32Error(struct adapter *pAdapter);
-
-s32    SetPowerTracking(struct adapter *padapter, u8 enable);
-void   GetPowerTracking(struct adapter *padapter, u8 *enable);
-u32    mp_query_psd(struct adapter *pAdapter, u8 *data);
-void Hal_SetAntenna(struct adapter *pAdapter);
-void Hal_SetBandwidth(struct adapter *pAdapter);
-void Hal_SetTxPower(struct adapter *pAdapter);
-void Hal_SetCarrierSuppressionTx(struct adapter *pAdapter, u8 bStart);
-void Hal_SetSingleToneTx(struct adapter *pAdapter, u8 bStart);
-void Hal_SetSingleCarrierTx (struct adapter *pAdapter, u8 bStart);
-void Hal_SetContinuousTx (struct adapter *pAdapter, u8 bStart);
-void Hal_SetBandwidth(struct adapter *pAdapter);
-void Hal_SetDataRate(struct adapter *pAdapter);
-void Hal_SetChannel(struct adapter *pAdapter);
-void Hal_SetAntennaPathPower(struct adapter *pAdapter);
-s32 Hal_SetThermalMeter(struct adapter *pAdapter, u8 target_ther);
-s32 Hal_SetPowerTracking(struct adapter *padapter, u8 enable);
-void Hal_GetPowerTracking(struct adapter *padapter, u8 * enable);
-void Hal_GetThermalMeter(struct adapter *pAdapter, u8 *value);
-void Hal_mpt_SwitchRfSetting(struct adapter *pAdapter);
-void Hal_MPT_CCKTxPowerAdjust(struct adapter * Adapter, bool bInCH14);
-void Hal_MPT_CCKTxPowerAdjustbyIndex(struct adapter *pAdapter, bool beven);
-void Hal_SetCCKTxPower(struct adapter *pAdapter, u8 * TxPower);
-void Hal_SetOFDMTxPower(struct adapter *pAdapter, u8 * TxPower);
-void Hal_TriggerRFThermalMeter(struct adapter *pAdapter);
-u8 Hal_ReadRFThermalMeter(struct adapter *pAdapter);
-void Hal_SetCCKContinuousTx(struct adapter *pAdapter, u8 bStart);
-void Hal_SetOFDMContinuousTx(struct adapter *pAdapter, u8 bStart);
-void Hal_ProSetCrystalCap (struct adapter *pAdapter , u32 CrystalCapVal);
-void _rtw_mp_xmit_priv(struct xmit_priv *pxmitpriv);
-void MP_PHY_SetRFPathSwitch(struct adapter *pAdapter ,bool bMain);
-
-#endif /* _RTW_MP_H_ */
diff --git a/drivers/staging/r8188eu/include/rtw_mp_ioctl.h b/drivers/staging/r8188eu/include/rtw_mp_ioctl.h
deleted file mode 100644 (file)
index cf99f39..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-#ifndef _RTW_MP_IOCTL_H_
-#define _RTW_MP_IOCTL_H_
-
-#include "drv_types.h"
-#include "mp_custom_oid.h"
-#include "rtw_ioctl.h"
-#include "rtw_ioctl_rtl.h"
-#include "rtw_efuse.h"
-#include "rtw_mp.h"
-
-struct cfg_dbg_msg_struct {
-       u32 DebugLevel;
-       u32 DebugComponent_H32;
-       u32 DebugComponent_L32;
-};
-
-struct mp_rw_reg {
-       u32 offset;
-       u32 width;
-       u32 value;
-};
-
-struct efuse_access_struct {
-       u16     start_addr;
-       u16     cnts;
-       u8      data[0];
-};
-
-struct burst_rw_reg {
-       u32 offset;
-       u32 len;
-       u8 Data[256];
-};
-
-struct usb_vendor_req {
-       u8      bRequest;
-       u16     wValue;
-       u16     wIndex;
-       u16     wLength;
-       u8      u8Dir;/* 0:OUT, 1:IN */
-       u8      u8InData;
-};
-
-struct dr_variable_struct {
-       u8 offset;
-       u32 variable;
-};
-
-#define _irqlevel_changed_(a, b)
-
-int rtl8188eu_oid_rt_pro_set_data_rate_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_start_test_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_stop_test_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_channel_direct_call_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_antenna_bb_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_tx_power_control_hdl(struct oid_par_priv *poid_par_priv);
-
-int rtl8188eu_oid_rt_pro_query_tx_packet_sent_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_query_rx_packet_received_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_query_rx_packet_crc32_error_hdl(struct oid_par_priv *par_priv);
-int rtl8188eu_oid_rt_pro_reset_tx_packet_sent_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_reset_rx_packet_received_hdl(struct oid_par_priv *par_priv);
-int rtl8188eu_oid_rt_pro_set_modulation_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_continuous_tx_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_single_carrier_tx_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_carrier_suppression_tx_hdl(struct oid_par_priv *par_priv);
-int rtl8188eu_oid_rt_pro_set_single_tone_tx_hdl(struct oid_par_priv *poid_par_priv);
-
-/* rtl8188eu_oid_rtl_seg_81_87 */
-int rtl8188eu_oid_rt_pro_write_bb_reg_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_read_bb_reg_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_write_rf_reg_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_read_rf_reg_hdl(struct oid_par_priv *poid_par_priv);
-
-int rtl8188eu_oid_rt_wireless_mode_hdl(struct oid_par_priv *poid_par_priv);
-
-/*  rtl8188eu_oid_rtl_seg_87_11_00 */
-int rtl8188eu_oid_rt_pro8711_join_bss_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_read_register_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_write_register_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_burst_read_register_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_burst_write_register_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_write_txcmd_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_read16_eeprom_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_write16_eeprom_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro8711_wi_poll_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro8711_pkt_loss_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_rd_attrib_mem_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_wr_attrib_mem_hdl (struct oid_par_priv *poid_par_priv);
-int  rtl8188eu_oid_rt_pro_set_rf_intfs_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_poll_rx_status_hdl(struct oid_par_priv *poid_par_priv);
-/*  rtl8188eu_oid_rtl_seg_87_11_20 */
-int rtl8188eu_oid_rt_pro_cfg_debug_message_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_data_rate_ex_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_basic_rate_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_read_tssi_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_power_tracking_hdl(struct oid_par_priv *poid_par_priv);
-/* rtl8188eu_oid_rtl_seg_87_11_50 */
-int rtl8188eu_oid_rt_pro_qry_pwrstate_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_pwrstate_hdl(struct oid_par_priv *poid_par_priv);
-/* rtl8188eu_oid_rtl_seg_87_11_F0 */
-int rtl8188eu_oid_rt_pro_h2c_set_rate_table_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_h2c_get_rate_table_hdl(struct oid_par_priv *poid_par_priv);
-
-/* rtl8188eu_oid_rtl_seg_87_12_00 */
-int rtl8188eu_oid_rt_pro_encryption_ctrl_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_add_sta_info_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_dele_sta_info_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_query_dr_variable_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_read_efuse_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_write_efuse_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_rw_efuse_pgpkt_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_get_efuse_current_size_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_efuse_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_efuse_map_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_set_bandwidth_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_set_crystal_cap_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_set_rx_packet_type_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_get_efuse_max_size_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_tx_agc_offset_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_set_pkt_test_mode_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_get_thermal_meter_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_reset_phy_rx_packet_count_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_get_phy_rx_packet_received_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_get_phy_rx_packet_crc32_error_hdl(struct oid_par_priv *par_priv);
-int rtl8188eu_oid_rt_set_power_down_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_get_power_mode_hdl(struct oid_par_priv *poid_par_priv);
-int rtl8188eu_oid_rt_pro_trigger_gpio_hdl(struct oid_par_priv *poid_par_priv);
-
-struct rwreg_param {
-       u32 offset;
-       u32 width;
-       u32 value;
-};
-
-struct bbreg_param {
-       u32 offset;
-       u32 phymask;
-       u32 value;
-};
-
-struct txpower_param {
-       u32 pwr_index;
-};
-
-struct datarate_param {
-       u32 rate_index;
-};
-
-struct rfintfs_parm {
-       u32 rfintfs;
-};
-
-struct mp_xmit_parm {
-       u8 enable;
-       u32 count;
-       u16 length;
-       u8 payload_type;
-       u8 da[ETH_ALEN];
-};
-
-struct mp_xmit_packet {
-       u32 len;
-       u32 mem[MAX_MP_XMITBUF_SZ >> 2];
-};
-
-struct psmode_param {
-       u32 ps_mode;
-       u32 smart_ps;
-};
-
-/* for OID_RT_PRO_READ16_EEPROM & OID_RT_PRO_WRITE16_EEPROM */
-struct eeprom_rw_param {
-       u32 offset;
-       u16 value;
-};
-
-struct mp_ioctl_handler {
-       u32 paramsize;
-       s32 (*handler)(struct oid_par_priv* poid_par_priv);
-       u32 oid;
-};
-
-struct mp_ioctl_param{
-       u32 subcode;
-       u32 len;
-       u8 data[0];
-};
-
-#define GEN_MP_IOCTL_SUBCODE(code) _MP_IOCTL_ ## code ## _CMD_
-
-enum RTL871X_MP_IOCTL_SUBCODE {
-       GEN_MP_IOCTL_SUBCODE(MP_START),                 /*0*/
-       GEN_MP_IOCTL_SUBCODE(MP_STOP),
-       GEN_MP_IOCTL_SUBCODE(READ_REG),
-       GEN_MP_IOCTL_SUBCODE(WRITE_REG),
-       GEN_MP_IOCTL_SUBCODE(READ_BB_REG),
-       GEN_MP_IOCTL_SUBCODE(WRITE_BB_REG),             /*5*/
-       GEN_MP_IOCTL_SUBCODE(READ_RF_REG),
-       GEN_MP_IOCTL_SUBCODE(WRITE_RF_REG),
-       GEN_MP_IOCTL_SUBCODE(SET_CHANNEL),
-       GEN_MP_IOCTL_SUBCODE(SET_TXPOWER),
-       GEN_MP_IOCTL_SUBCODE(SET_DATARATE),             /*10*/
-       GEN_MP_IOCTL_SUBCODE(SET_BANDWIDTH),
-       GEN_MP_IOCTL_SUBCODE(SET_ANTENNA),
-       GEN_MP_IOCTL_SUBCODE(CNTU_TX),
-       GEN_MP_IOCTL_SUBCODE(SC_TX),
-       GEN_MP_IOCTL_SUBCODE(CS_TX),                    /*15*/
-       GEN_MP_IOCTL_SUBCODE(ST_TX),
-       GEN_MP_IOCTL_SUBCODE(IOCTL_XMIT_PACKET),
-       GEN_MP_IOCTL_SUBCODE(SET_RX_PKT_TYPE),
-       GEN_MP_IOCTL_SUBCODE(RESET_PHY_RX_PKT_CNT),
-       GEN_MP_IOCTL_SUBCODE(GET_PHY_RX_PKT_RECV),      /*20*/
-       GEN_MP_IOCTL_SUBCODE(GET_PHY_RX_PKT_ERROR),
-       GEN_MP_IOCTL_SUBCODE(READ16_EEPROM),
-       GEN_MP_IOCTL_SUBCODE(WRITE16_EEPROM),
-       GEN_MP_IOCTL_SUBCODE(EFUSE),
-       GEN_MP_IOCTL_SUBCODE(EFUSE_MAP),                /*25*/
-       GEN_MP_IOCTL_SUBCODE(GET_EFUSE_MAX_SIZE),
-       GEN_MP_IOCTL_SUBCODE(GET_EFUSE_CURRENT_SIZE),
-       GEN_MP_IOCTL_SUBCODE(GET_THERMAL_METER),
-       GEN_MP_IOCTL_SUBCODE(SET_PTM),
-       GEN_MP_IOCTL_SUBCODE(SET_POWER_DOWN),           /*30*/
-       GEN_MP_IOCTL_SUBCODE(TRIGGER_GPIO),
-       GEN_MP_IOCTL_SUBCODE(SET_DM_BT),                /*35*/
-       GEN_MP_IOCTL_SUBCODE(DEL_BA),                   /*36*/
-       GEN_MP_IOCTL_SUBCODE(GET_WIFI_STATUS),  /*37*/
-       MAX_MP_IOCTL_SUBCODE,
-};
-
-s32 rtl8188eu_mp_ioctl_xmit_packet_hdl(struct oid_par_priv *poid_par_priv);
-
-#define GEN_HANDLER(sz, hdl, oid) {sz, hdl, oid},
-
-#define EXT_MP_IOCTL_HANDLER(sz, subcode, oid)                 \
-        {sz, rtl8188eu_mp_ioctl_##subcode##_hdl, oid},
-
-#endif
diff --git a/drivers/staging/r8188eu/include/rtw_mp_phy_regdef.h b/drivers/staging/r8188eu/include/rtw_mp_phy_regdef.h
deleted file mode 100644 (file)
index c2be770..0000000
+++ /dev/null
@@ -1,1063 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2011 Realtek Corporation. */
-
-/*****************************************************************************
- *
- * Module:     __RTW_MP_PHY_REGDEF_H_
- *
- *
- * Note:       1. Define PMAC/BB register map
- *                     2. Define RF register map
- *                     3. PMAC/BB register bit mask.
- *                     4. RF reg bit mask.
- *                     5. Other BB/RF relative definition.
- *
- *
- * Export:     Constants, macro, functions(API), global variables(None).
- *
- * Abbrev:
- *
- * History:
- *     Data                    Who             Remark
- *     08/07/2007      MHC             1. Porting from 9x series PHYCFG.h.
- *                                             2. Reorganize code architecture.
- *     09/25/2008      MH              1. Add RL6052 register definition
- *
- *****************************************************************************/
-#ifndef __RTW_MP_PHY_REGDEF_H_
-#define __RTW_MP_PHY_REGDEF_H_
-
-/*--------------------------Define Parameters-------------------------------*/
-
-/*  */
-/*     8192S Regsiter offset definition */
-/*  */
-
-/*  */
-/*  BB-PHY register PMAC 0x100 PHY 0x800 - 0xEFF */
-/*  1. PMAC duplicate register due to connection: RF_Mode, TRxRN, NumOf L-STF */
-/*  2. 0x800/0x900/0xA00/0xC00/0xD00/0xE00 */
-/*  3. RF register 0x00-2E */
-/*  4. Bit Mask for BB/RF register */
-/*  5. Other definition for BB/RF R/W */
-/*  */
-
-/*  */
-/*  1. PMAC duplicate register due to connection: RF_Mode, TRxRN, NumOf L-STF */
-/*  1. Page1(0x100) */
-/*  */
-#define        rPMAC_Reset             0x100
-#define        rPMAC_TxStart           0x104
-#define        rPMAC_TxLegacySIG       0x108
-#define        rPMAC_TxHTSIG1          0x10c
-#define        rPMAC_TxHTSIG2          0x110
-#define        rPMAC_PHYDebug          0x114
-#define        rPMAC_TxPacketNum       0x118
-#define        rPMAC_TxIdle            0x11c
-#define        rPMAC_TxMACHeader0      0x120
-#define        rPMAC_TxMACHeader1      0x124
-#define        rPMAC_TxMACHeader2      0x128
-#define        rPMAC_TxMACHeader3      0x12c
-#define        rPMAC_TxMACHeader4      0x130
-#define        rPMAC_TxMACHeader5      0x134
-#define        rPMAC_TxDataType        0x138
-#define        rPMAC_TxRandomSeed      0x13c
-#define        rPMAC_CCKPLCPPreamble   0x140
-#define        rPMAC_CCKPLCPHeader     0x144
-#define        rPMAC_CCKCRC16          0x148
-#define        rPMAC_OFDMRxCRC32OK     0x170
-#define        rPMAC_OFDMRxCRC32Er     0x174
-#define        rPMAC_OFDMRxParityEr    0x178
-#define        rPMAC_OFDMRxCRC8Er      0x17c
-#define        rPMAC_CCKCRxRC16Er      0x180
-#define        rPMAC_CCKCRxRC32Er      0x184
-#define        rPMAC_CCKCRxRC32OK      0x188
-#define        rPMAC_TxStatus          0x18c
-
-/*  */
-/*  2. Page2(0x200) */
-/*  */
-/*  The following two definition are only used for USB interface. */
-/* define      RF_BB_CMD_ADDR  0x02c0   RF/BB read/write command address. */
-/* define      RF_BB_CMD_DATA  0x02c4   RF/BB read/write command data. */
-
-/*  */
-/*  3. Page8(0x800) */
-/*  */
-#define        rFPGA0_RFMOD            0x800   /* RF mode & CCK TxSC RF BW Setting?? */
-
-#define        rFPGA0_TxInfo           0x804   /*  Status report?? */
-#define        rFPGA0_PSDFunction      0x808
-
-#define        rFPGA0_TxGainStage      0x80c   /*  Set TX PWR init gain? */
-
-#define        rFPGA0_RFTiming1        0x810   /*  Useless now */
-#define        rFPGA0_RFTiming2        0x814
-/* define rFPGA0_XC_RFTiming           0x818 */
-/* define rFPGA0_XD_RFTiming           0x81c */
-
-#define rFPGA0_XA_HSSIParameter1       0x820   /*  RF 3 wire register */
-#define rFPGA0_XA_HSSIParameter2       0x824
-#define rFPGA0_XB_HSSIParameter1       0x828
-#define rFPGA0_XB_HSSIParameter2       0x82c
-#define rFPGA0_XC_HSSIParameter1       0x830
-#define rFPGA0_XC_HSSIParameter2       0x834
-#define rFPGA0_XD_HSSIParameter1       0x838
-#define rFPGA0_XD_HSSIParameter2       0x83c
-#define        rFPGA0_XA_LSSIParameter         0x840
-#define        rFPGA0_XB_LSSIParameter         0x844
-#define        rFPGA0_XC_LSSIParameter         0x848
-#define        rFPGA0_XD_LSSIParameter         0x84c
-
-#define        rFPGA0_RFWakeUpParameter                0x850   /*  Useless now */
-#define        rFPGA0_RFSleepUpParameter               0x854
-
-#define        rFPGA0_XAB_SwitchControl                0x858   /*  RF Channel switch */
-#define        rFPGA0_XCD_SwitchControl                0x85c
-
-#define        rFPGA0_XA_RFInterfaceOE         0x860   /*  RF Channel switch */
-#define        rFPGA0_XB_RFInterfaceOE         0x864
-#define        rFPGA0_XC_RFInterfaceOE         0x868
-#define        rFPGA0_XD_RFInterfaceOE         0x86c
-
-#define        rFPGA0_XAB_RFInterfaceSW                0x870   /*  RF Interface Software Control */
-#define        rFPGA0_XCD_RFInterfaceSW                0x874
-
-#define        rFPGA0_XAB_RFParameter          0x878   /*  RF Parameter */
-#define        rFPGA0_XCD_RFParameter          0x87c
-
-#define        rFPGA0_AnalogParameter1         0x880   /*  Crystal cap setting RF-R/W protection for parameter4?? */
-#define        rFPGA0_AnalogParameter2         0x884
-#define        rFPGA0_AnalogParameter3         0x888   /*  Useless now */
-#define        rFPGA0_AnalogParameter4         0x88c
-
-#define        rFPGA0_XA_LSSIReadBack          0x8a0   /*  Tranceiver LSSI Readback */
-#define        rFPGA0_XB_LSSIReadBack          0x8a4
-#define        rFPGA0_XC_LSSIReadBack          0x8a8
-#define        rFPGA0_XD_LSSIReadBack          0x8ac
-
-#define        rFPGA0_PSDReport                                0x8b4   /*  Useless now */
-#define        rFPGA0_XAB_RFInterfaceRB                0x8e0   /*  Useless now RF Interface Readback Value */
-#define        rFPGA0_XCD_RFInterfaceRB                0x8e4   /*  Useless now */
-
-/*  */
-/*  4. Page9(0x900) */
-/*  */
-#define        rFPGA1_RFMOD                            0x900   /* RF mode & OFDM TxSC RF BW Setting?? */
-
-#define        rFPGA1_TxBlock                          0x904   /*  Useless now */
-#define        rFPGA1_DebugSelect                      0x908   /*  Useless now */
-#define        rFPGA1_TxInfo                           0x90c   /*  Useless now Status report?? */
-
-/*  */
-/*  5. PageA(0xA00) */
-/*  */
-/*  Set Control channel to upper or lower. These settings are required only for 40MHz */
-#define        rCCK0_System                            0xa00
-
-#define        rCCK0_AFESetting                        0xa04   /*  Disable init gain now Select RX path by RSSI */
-#define        rCCK0_CCA                                       0xa08   /*  Disable init gain now Init gain */
-
-#define        rCCK0_RxAGC1                    0xa0c   /* AGC default value, saturation level Antenna Diversity, RX AGC, LNA Threshold, RX LNA Threshold useless now. Not the same as 90 series */
-#define        rCCK0_RxAGC2                    0xa10   /* AGC & DAGC */
-
-#define        rCCK0_RxHP                      0xa14
-
-#define        rCCK0_DSPParameter1             0xa18   /* Timing recovery & Channel estimation threshold */
-#define        rCCK0_DSPParameter2             0xa1c   /* SQ threshold */
-
-#define        rCCK0_TxFilter1                 0xa20
-#define        rCCK0_TxFilter2                 0xa24
-#define        rCCK0_DebugPort                 0xa28   /* debug port and Tx filter3 */
-#define        rCCK0_FalseAlarmReport          0xa2c   /* 0xa2d        useless now 0xa30-a4f channel report */
-#define        rCCK0_TRSSIReport               0xa50
-#define        rCCK0_RxReport                  0xa54  /* 0xa57 */
-#define        rCCK0_FACounterLower            0xa5c  /* 0xa5b */
-#define        rCCK0_FACounterUpper            0xa58  /* 0xa5c */
-
-/*  */
-/*  6. PageC(0xC00) */
-/*  */
-#define        rOFDM0_LSTF                     0xc00
-
-#define        rOFDM0_TRxPathEnable            0xc04
-#define        rOFDM0_TRMuxPar                 0xc08
-#define        rOFDM0_TRSWIsolation            0xc0c
-
-#define        rOFDM0_XARxAFE                  0xc10  /* RxIQ DC offset, Rx digital filter, DC notch filter */
-#define        rOFDM0_XARxIQImbalance          0xc14  /* RxIQ imblance matrix */
-#define        rOFDM0_XBRxAFE                  0xc18
-#define        rOFDM0_XBRxIQImbalance          0xc1c
-#define        rOFDM0_XCRxAFE                  0xc20
-#define        rOFDM0_XCRxIQImbalance          0xc24
-#define        rOFDM0_XDRxAFE                  0xc28
-#define        rOFDM0_XDRxIQImbalance          0xc2c
-
-#define        rOFDM0_RxDetector1              0xc30  /* PD,BW & SBD   DM tune init gain */
-#define        rOFDM0_RxDetector2              0xc34  /* SBD & Fame Sync. */
-#define        rOFDM0_RxDetector3              0xc38  /* Frame Sync. */
-#define        rOFDM0_RxDetector4              0xc3c  /* PD, SBD, Frame Sync & Short-GI */
-
-#define        rOFDM0_RxDSP                    0xc40  /* Rx Sync Path */
-#define        rOFDM0_CFOandDAGC               0xc44  /* CFO & DAGC */
-#define        rOFDM0_CCADropThreshold         0xc48 /* CCA Drop threshold */
-#define        rOFDM0_ECCAThreshold            0xc4c /*  energy CCA */
-
-#define        rOFDM0_XAAGCCore1               0xc50   /*  DIG */
-#define        rOFDM0_XAAGCCore2               0xc54
-#define        rOFDM0_XBAGCCore1               0xc58
-#define        rOFDM0_XBAGCCore2               0xc5c
-#define        rOFDM0_XCAGCCore1               0xc60
-#define        rOFDM0_XCAGCCore2               0xc64
-#define        rOFDM0_XDAGCCore1               0xc68
-#define        rOFDM0_XDAGCCore2               0xc6c
-
-#define        rOFDM0_AGCParameter1            0xc70
-#define        rOFDM0_AGCParameter2            0xc74
-#define        rOFDM0_AGCRSSITable             0xc78
-#define        rOFDM0_HTSTFAGC                 0xc7c
-
-#define        rOFDM0_XATxIQImbalance          0xc80   /*  TX PWR TRACK and DIG */
-#define        rOFDM0_XATxAFE                  0xc84
-#define        rOFDM0_XBTxIQImbalance          0xc88
-#define        rOFDM0_XBTxAFE                  0xc8c
-#define        rOFDM0_XCTxIQImbalance          0xc90
-#define        rOFDM0_XCTxAFE                  0xc94
-#define        rOFDM0_XDTxIQImbalance          0xc98
-#define        rOFDM0_XDTxAFE                  0xc9c
-#define        rOFDM0_RxIQExtAnta              0xca0
-
-#define        rOFDM0_RxHPParameter            0xce0
-#define        rOFDM0_TxPseudoNoiseWgt         0xce4
-#define        rOFDM0_FrameSync                0xcf0
-#define        rOFDM0_DFSReport                0xcf4
-#define        rOFDM0_TxCoeff1                 0xca4
-#define        rOFDM0_TxCoeff2                 0xca8
-#define        rOFDM0_TxCoeff3                 0xcac
-#define        rOFDM0_TxCoeff4                 0xcb0
-#define        rOFDM0_TxCoeff5                 0xcb4
-#define        rOFDM0_TxCoeff6                 0xcb8
-
-/*  7. PageD(0xD00) */
-#define        rOFDM1_LSTF                     0xd00
-#define        rOFDM1_TRxPathEnable            0xd04
-
-#define        rOFDM1_CFO                      0xd08   /*  No setting now */
-#define        rOFDM1_CSI1                     0xd10
-#define        rOFDM1_SBD                      0xd14
-#define        rOFDM1_CSI2                     0xd18
-#define        rOFDM1_CFOTracking              0xd2c
-#define        rOFDM1_TRxMesaure1              0xd34
-#define        rOFDM1_IntfDet                  0xd3c
-#define        rOFDM1_PseudoNoiseStateAB       0xd50
-#define        rOFDM1_PseudoNoiseStateCD       0xd54
-#define        rOFDM1_RxPseudoNoiseWgt         0xd58
-
-#define        rOFDM_PHYCounter1               0xda0  /* cca, parity fail */
-#define        rOFDM_PHYCounter2               0xda4  /* rate illegal, crc8 fail */
-#define        rOFDM_PHYCounter3               0xda8  /* MCS not support */
-
-#define        rOFDM_ShortCFOAB                0xdac   /*  No setting now */
-#define        rOFDM_ShortCFOCD                0xdb0
-#define        rOFDM_LongCFOAB                 0xdb4
-#define        rOFDM_LongCFOCD                 0xdb8
-#define        rOFDM_TailCFOAB                 0xdbc
-#define        rOFDM_TailCFOCD                 0xdc0
-#define        rOFDM_PWMeasure1                0xdc4
-#define        rOFDM_PWMeasure2                0xdc8
-#define        rOFDM_BWReport                  0xdcc
-#define        rOFDM_AGCReport                 0xdd0
-#define        rOFDM_RxSNR                     0xdd4
-#define        rOFDM_RxEVMCSI                  0xdd8
-#define        rOFDM_SIGReport                 0xddc
-
-/*  */
-/*  8. PageE(0xE00) */
-/*  */
-#define        rTxAGC_Rate18_06                0xe00
-#define        rTxAGC_Rate54_24                0xe04
-#define        rTxAGC_CCK_Mcs32                0xe08
-#define        rTxAGC_Mcs03_Mcs00              0xe10
-#define        rTxAGC_Mcs07_Mcs04              0xe14
-#define        rTxAGC_Mcs11_Mcs08              0xe18
-#define        rTxAGC_Mcs15_Mcs12              0xe1c
-
-/*  Analog- control in RX_WAIT_CCA : REG: EE0 [Analog- Power & Control Register] */
-#define                rRx_Wait_CCCA           0xe70
-#define        rAnapar_Ctrl_BB                 0xee0
-
-/*  */
-/*  7. RF Register 0x00-0x2E (RF 8256) */
-/*     RF-0222D 0x00-3F */
-/*  */
-/* Zebra1 */
-#define RTL92SE_FPGA_VERIFY 0
-#define        rZebra1_HSSIEnable              0x0     /*  Useless now */
-#define        rZebra1_TRxEnable1              0x1
-#define        rZebra1_TRxEnable2              0x2
-#define        rZebra1_AGC                     0x4
-#define        rZebra1_ChargePump              0x5
-/* if (RTL92SE_FPGA_VERIFY == 1) */
-#define        rZebra1_Channel                 0x7     /*  RF channel switch */
-/* else */
-
-/* endif */
-#define        rZebra1_TxGain                  0x8     /*  Useless now */
-#define        rZebra1_TxLPF                   0x9
-#define        rZebra1_RxLPF                   0xb
-#define        rZebra1_RxHPFCorner             0xc
-
-/* Zebra4 */
-#define        rGlobalCtrl                     0       /*  Useless now */
-#define        rRTL8256_TxLPF                  19
-#define        rRTL8256_RxLPF                  11
-
-/* RTL8258 */
-#define        rRTL8258_TxLPF                  0x11    /*  Useless now */
-#define        rRTL8258_RxLPF                  0x13
-#define        rRTL8258_RSSILPF                0xa
-
-/*  */
-/*  RL6052 Register definition */
-#define        RF_AC                           0x00    /*  */
-
-#define        RF_IQADJ_G1                     0x01    /*  */
-#define        RF_IQADJ_G2                     0x02    /*  */
-#define        RF_POW_TRSW                     0x05    /*  */
-
-#define        RF_GAIN_RX                      0x06    /*  */
-#define        RF_GAIN_TX                      0x07    /*  */
-
-#define        RF_TXM_IDAC                     0x08    /*  */
-#define        RF_BS_IQGEN                     0x0F    /*  */
-
-#define        RF_MODE1                        0x10    /*  */
-#define        RF_MODE2                        0x11    /*  */
-
-#define        RF_RX_AGC_HP                    0x12    /*  */
-#define        RF_TX_AGC                       0x13    /*  */
-#define        RF_BIAS                         0x14    /*  */
-#define        RF_IPA                          0x15    /*  */
-#define        RF_TXBIAS                       0x16 /*  */
-#define        RF_POW_ABILITY                  0x17    /*  */
-#define        RF_MODE_AG                      0x18    /*  */
-#define        rRfChannel                      0x18    /*  RF channel and BW switch */
-#define        RF_CHNLBW                       0x18    /*  RF channel and BW switch */
-#define        RF_TOP                          0x19    /*  */
-
-#define        RF_RX_G1                        0x1A    /*  */
-#define        RF_RX_G2                        0x1B    /*  */
-
-#define        RF_RX_BB2                       0x1C    /*  */
-#define        RF_RX_BB1                       0x1D    /*  */
-
-#define        RF_RCK1                         0x1E    /*  */
-#define        RF_RCK2                         0x1F    /*  */
-
-#define        RF_TX_G1                        0x20    /*  */
-#define        RF_TX_G2                        0x21    /*  */
-#define        RF_TX_G3                        0x22    /*  */
-
-#define        RF_TX_BB1                       0x23    /*  */
-
-#define        RF_T_METER                      0x24    /*  */
-
-#define        RF_SYN_G1                       0x25    /*  RF TX Power control */
-#define        RF_SYN_G2                       0x26    /*  RF TX Power control */
-#define        RF_SYN_G3                       0x27    /*  RF TX Power control */
-#define        RF_SYN_G4                       0x28    /*  RF TX Power control */
-#define        RF_SYN_G5                       0x29    /*  RF TX Power control */
-#define        RF_SYN_G6                       0x2A    /*  RF TX Power control */
-#define        RF_SYN_G7                       0x2B    /*  RF TX Power control */
-#define        RF_SYN_G8                       0x2C    /*  RF TX Power control */
-
-#define        RF_RCK_OS                       0x30    /*  RF TX PA control */
-#define        RF_TXPA_G1                      0x31    /*  RF TX PA control */
-#define        RF_TXPA_G2                      0x32    /*  RF TX PA control */
-#define        RF_TXPA_G3                      0x33    /*  RF TX PA control */
-
-/*  */
-/* Bit Mask */
-/*  */
-/*  1. Page1(0x100) */
-#define        bBBResetB                       0x100   /*  Useless now? */
-#define        bGlobalResetB                   0x200
-#define        bOFDMTxStart                    0x4
-#define        bCCKTxStart                     0x8
-#define        bCRC32Debug                     0x100
-#define        bPMACLoopback                   0x10
-#define        bTxLSIG                         0xffffff
-#define        bOFDMTxRate                     0xf
-#define        bOFDMTxReserved                 0x10
-#define        bOFDMTxLength                   0x1ffe0
-#define        bOFDMTxParity                   0x20000
-#define        bTxHTSIG1                       0xffffff
-#define        bTxHTMCSRate                    0x7f
-#define        bTxHTBW                         0x80
-#define        bTxHTLength                     0xffff00
-#define        bTxHTSIG2                       0xffffff
-#define        bTxHTSmoothing                  0x1
-#define        bTxHTSounding                   0x2
-#define        bTxHTReserved                   0x4
-#define        bTxHTAggreation                 0x8
-#define        bTxHTSTBC                       0x30
-#define        bTxHTAdvanceCoding              0x40
-#define        bTxHTShortGI                    0x80
-#define        bTxHTNumberHT_LTF               0x300
-#define        bTxHTCRC8                       0x3fc00
-#define        bCounterReset                   0x10000
-#define        bNumOfOFDMTx                    0xffff
-#define        bNumOfCCKTx                     0xffff0000
-#define        bTxIdleInterval                 0xffff
-#define        bOFDMService                    0xffff0000
-#define        bTxMACHeader                    0xffffffff
-#define        bTxDataInit                     0xff
-#define        bTxHTMode                       0x100
-#define        bTxDataType                     0x30000
-#define        bTxRandomSeed                   0xffffffff
-#define        bCCKTxPreamble                  0x1
-#define        bCCKTxSFD                       0xffff0000
-#define        bCCKTxSIG                       0xff
-#define        bCCKTxService                   0xff00
-#define        bCCKLengthExt                   0x8000
-#define        bCCKTxLength                    0xffff0000
-#define        bCCKTxCRC16                     0xffff
-#define        bCCKTxStatus                    0x1
-#define        bOFDMTxStatus                   0x2
-
-#define                IS_BB_REG_OFFSET_92S(_Offset)           ((_Offset >= 0x800) && (_Offset <= 0xfff))
-
-/*  2. Page8(0x800) */
-#define        bRFMOD                          0x1     /*  Reg 0x800 rFPGA0_RFMOD */
-#define        bJapanMode                      0x2
-#define        bCCKTxSC                        0x30
-#define        bCCKEn                          0x1000000
-#define        bOFDMEn                         0x2000000
-
-#define        bOFDMRxADCPhase                 0x10000 /*  Useless now */
-#define        bOFDMTxDACPhase                 0x40000
-#define        bXATxAGC                        0x3f
-
-#define        bXBTxAGC                        0xf00   /*  Reg 80c rFPGA0_TxGainStage */
-#define        bXCTxAGC                        0xf000
-#define        bXDTxAGC                        0xf0000
-
-#define        bPAStart                        0xf0000000      /*  Useless now */
-#define        bTRStart                        0x00f00000
-#define        bRFStart                        0x0000f000
-#define        bBBStart                        0x000000f0
-#define        bBBCCKStart                     0x0000000f
-#define        bPAEnd                          0xf       /* Reg0x814 */
-#define        bTREnd                          0x0f000000
-#define        bRFEnd                          0x000f0000
-#define        bCCAMask                        0x000000f0   /* T2R */
-#define        bR2RCCAMask                     0x00000f00
-#define        bHSSI_R2TDelay                  0xf8000000
-#define        bHSSI_T2RDelay                  0xf80000
-#define        bContTxHSSI                     0x400     /* chane gain at continue Tx */
-#define        bIGFromCCK                      0x200
-#define        bAGCAddress                     0x3f
-#define        bRxHPTx                         0x7000
-#define        bRxHPT2R                        0x38000
-#define        bRxHPCCKIni                     0xc0000
-#define        bAGCTxCode                      0xc00000
-#define        bAGCRxCode                      0x300000
-
-#define        b3WireDataLength                0x800   /*  Reg 0x820~84f rFPGA0_XA_HSSIParameter1 */
-#define        b3WireAddressLength             0x400
-
-#define        b3WireRFPowerDown               0x1     /*  Useless now */
-/* define bHWSISelect                  0x8 */
-#define        b5GPAPEPolarity                 0x40000000
-#define        b2GPAPEPolarity                 0x80000000
-#define        bRFSW_TxDefaultAnt              0x3
-#define        bRFSW_TxOptionAnt               0x30
-#define        bRFSW_RxDefaultAnt              0x300
-#define        bRFSW_RxOptionAnt               0x3000
-#define        bRFSI_3WireData                 0x1
-#define        bRFSI_3WireClock                0x2
-#define        bRFSI_3WireLoad                 0x4
-#define        bRFSI_3WireRW                   0x8
-#define        bRFSI_3Wire                     0xf
-
-#define        bRFSI_RFENV                     0x10    /*  Reg 0x870 rFPGA0_XAB_RFInterfaceSW */
-
-#define        bRFSI_TRSW                      0x20    /*  Useless now */
-#define        bRFSI_TRSWB                     0x40
-#define        bRFSI_ANTSW                     0x100
-#define        bRFSI_ANTSWB                    0x200
-#define        bRFSI_PAPE                      0x400
-#define        bRFSI_PAPE5G                    0x800
-#define        bBandSelect                     0x1
-#define        bHTSIG2_GI                      0x80
-#define        bHTSIG2_Smoothing               0x01
-#define        bHTSIG2_Sounding                0x02
-#define        bHTSIG2_Aggreaton               0x08
-#define        bHTSIG2_STBC                    0x30
-#define        bHTSIG2_AdvCoding               0x40
-#define        bHTSIG2_NumOfHTLTF              0x300
-#define        bHTSIG2_CRC8                    0x3fc
-#define        bHTSIG1_MCS                     0x7f
-#define        bHTSIG1_BandWidth               0x80
-#define        bHTSIG1_HTLength                0xffff
-#define        bLSIG_Rate                      0xf
-#define        bLSIG_Reserved                  0x10
-#define        bLSIG_Length                    0x1fffe
-#define        bLSIG_Parity                    0x20
-#define        bCCKRxPhase                     0x4
-#if (RTL92SE_FPGA_VERIFY == 1)
-#define        bLSSIReadAddress                0x3f000000   /* LSSI "Read" Address
-                                       Reg 0x824 rFPGA0_XA_HSSIParameter2 */
-#else
-#define        bLSSIReadAddress                0x7f800000   /*  T65 RF */
-#endif
-#define        bLSSIReadEdge                   0x80000000   /* LSSI "Read" edge signal */
-#if (RTL92SE_FPGA_VERIFY == 1)
-#define        bLSSIReadBackData               0xfff   /*  Reg 0x8a0
-                                        rFPGA0_XA_LSSIReadBack */
-#else
-#define        bLSSIReadBackData               0xfffff /*  T65 RF */
-#endif
-#define        bLSSIReadOKFlag                 0x1000  /*  Useless now */
-#define        bCCKSampleRate                  0x8       /* 0: 44MHz, 1:88MHz */
-#define        bRegulator0Standby              0x1
-#define        bRegulatorPLLStandby            0x2
-#define        bRegulator1Standby              0x4
-#define        bPLLPowerUp                     0x8
-#define        bDPLLPowerUp                    0x10
-#define        bDA10PowerUp                    0x20
-#define        bAD7PowerUp                     0x200
-#define        bDA6PowerUp                     0x2000
-#define        bXtalPowerUp                    0x4000
-#define        b40MDClkPowerUP                 0x8000
-#define        bDA6DebugMode                   0x20000
-#define        bDA6Swing                       0x380000
-
-#define        bADClkPhase                     0x4000000       /*  Reg 0x880
-        rFPGA0_AnalogParameter1 20/40 CCK support switch 40/80 BB MHZ */
-
-#define        b80MClkDelay                    0x18000000      /*  Useless */
-#define        bAFEWatchDogEnable              0x20000000
-
-#define        bXtalCap01                      0xc0000000      /*  Reg 0x884
-        rFPGA0_AnalogParameter2 Crystal cap */
-#define        bXtalCap23                      0x3
-#define        bXtalCap92x                     0x0f000000
-#define                bXtalCap                0x0f000000
-
-#define        bIntDifClkEnable                0x400   /*  Useless */
-#define        bExtSigClkEnable                0x800
-#define        bBandgapMbiasPowerUp            0x10000
-#define        bAD11SHGain                     0xc0000
-#define        bAD11InputRange                 0x700000
-#define        bAD11OPCurrent                  0x3800000
-#define        bIPathLoopback                  0x4000000
-#define        bQPathLoopback                  0x8000000
-#define        bAFELoopback                    0x10000000
-#define        bDA10Swing                      0x7e0
-#define        bDA10Reverse                    0x800
-#define        bDAClkSource                    0x1000
-#define        bAD7InputRange                  0x6000
-#define        bAD7Gain                        0x38000
-#define        bAD7OutputCMMode                0x40000
-#define        bAD7InputCMMode                 0x380000
-#define        bAD7Current                     0xc00000
-#define        bRegulatorAdjust                0x7000000
-#define        bAD11PowerUpAtTx                0x1
-#define        bDA10PSAtTx                     0x10
-#define        bAD11PowerUpAtRx                0x100
-#define        bDA10PSAtRx                     0x1000
-#define        bCCKRxAGCFormat                 0x200
-#define        bPSDFFTSamplepPoint             0xc000
-#define        bPSDAverageNum                  0x3000
-#define        bIQPathControl                  0xc00
-#define        bPSDFreq                        0x3ff
-#define        bPSDAntennaPath                 0x30
-#define        bPSDIQSwitch                    0x40
-#define        bPSDRxTrigger                   0x400000
-#define        bPSDTxTrigger                   0x80000000
-#define        bPSDSineToneScale               0x7f000000
-#define        bPSDReport                      0xffff
-
-/*  3. Page9(0x900) */
-#define        bOFDMTxSC                       0x30000000      /*  Useless */
-#define        bCCKTxOn                        0x1
-#define        bOFDMTxOn                       0x2
-#define        bDebugPage                      0xfff  /* reset debug page and HWord,
-                                               * LWord */
-#define        bDebugItem                      0xff   /* reset debug page and LWord */
-#define        bAntL                           0x10
-#define        bAntNonHT                       0x100
-#define        bAntHT1                         0x1000
-#define        bAntHT2                         0x10000
-#define        bAntHT1S1                       0x100000
-#define        bAntNonHTS1                     0x1000000
-
-/*  4. PageA(0xA00) */
-#define        bCCKBBMode                      0x3     /*  Useless */
-#define        bCCKTxPowerSaving               0x80
-#define        bCCKRxPowerSaving               0x40
-
-#define        bCCKSideBand                    0x10    /* Reg 0xa00 rCCK0 20/40 sw */
-
-#define        bCCKScramble                    0x8     /*  Useless */
-#define        bCCKAntDiversity                0x8000
-#define        bCCKCarrierRecovery             0x4000
-#define        bCCKTxRate                      0x3000
-#define        bCCKDCCancel                    0x0800
-#define        bCCKISICancel                   0x0400
-#define        bCCKMatchFilter                 0x0200
-#define        bCCKEqualizer                   0x0100
-#define        bCCKPreambleDetect              0x800000
-#define        bCCKFastFalseCCA                0x400000
-#define        bCCKChEstStart                  0x300000
-#define        bCCKCCACount                    0x080000
-#define        bCCKcs_lim                      0x070000
-#define        bCCKBistMode                    0x80000000
-#define        bCCKCCAMask                     0x40000000
-#define        bCCKTxDACPhase                  0x4
-#define        bCCKRxADCPhase                  0x20000000   /* r_rx_clk */
-#define        bCCKr_cp_mode0                  0x0100
-#define        bCCKTxDCOffset                  0xf0
-#define        bCCKRxDCOffset                  0xf
-#define        bCCKCCAMode                     0xc000
-#define        bCCKFalseCS_lim                 0x3f00
-#define        bCCKCS_ratio                    0xc00000
-#define        bCCKCorgBit_sel                 0x300000
-#define        bCCKPD_lim                      0x0f0000
-#define        bCCKNewCCA                      0x80000000
-#define        bCCKRxHPofIG                    0x8000
-#define        bCCKRxIG                        0x7f00
-#define        bCCKLNAPolarity                 0x800000
-#define        bCCKRx1stGain                   0x7f0000
-#define        bCCKRFExtend                    0x20000000 /* CCK Rx init gain polar */
-#define        bCCKRxAGCSatLevel               0x1f000000
-#define        bCCKRxAGCSatCount               0xe0
-#define        bCCKRxRFSettle                  0x1f       /* AGCsamp_dly */
-#define        bCCKFixedRxAGC                  0x8000
-#define        bCCKAntennaPolarity             0x2000
-#define        bCCKTxFilterType                0x0c00
-#define        bCCKRxAGCReportType             0x0300
-#define        bCCKRxDAGCEn                    0x80000000
-#define        bCCKRxDAGCPeriod                0x20000000
-#define        bCCKRxDAGCSatLevel              0x1f000000
-#define        bCCKTimingRecovery              0x800000
-#define        bCCKTxC0                        0x3f0000
-#define        bCCKTxC1                        0x3f000000
-#define        bCCKTxC2                        0x3f
-#define        bCCKTxC3                        0x3f00
-#define        bCCKTxC4                        0x3f0000
-#define        bCCKTxC5                        0x3f000000
-#define        bCCKTxC6                        0x3f
-#define        bCCKTxC7                        0x3f00
-#define        bCCKDebugPort                   0xff0000
-#define        bCCKDACDebug                    0x0f000000
-#define        bCCKFalseAlarmEnable            0x8000
-#define        bCCKFalseAlarmRead              0x4000
-#define        bCCKTRSSI                       0x7f
-#define        bCCKRxAGCReport                 0xfe
-#define        bCCKRxReport_AntSel             0x80000000
-#define        bCCKRxReport_MFOff              0x40000000
-#define        bCCKRxRxReport_SQLoss           0x20000000
-#define        bCCKRxReport_Pktloss            0x10000000
-#define        bCCKRxReport_Lockedbit          0x08000000
-#define        bCCKRxReport_RateError          0x04000000
-#define        bCCKRxReport_RxRate             0x03000000
-#define        bCCKRxFACounterLower            0xff
-#define        bCCKRxFACounterUpper            0xff000000
-#define        bCCKRxHPAGCStart                0xe000
-#define        bCCKRxHPAGCFinal                0x1c00
-#define        bCCKRxFalseAlarmEnable          0x8000
-#define        bCCKFACounterFreeze             0x4000
-#define        bCCKTxPathSel                   0x10000000
-#define        bCCKDefaultRxPath               0xc000000
-#define        bCCKOptionRxPath                0x3000000
-
-/*  5. PageC(0xC00) */
-#define        bNumOfSTF                       0x3     /*  Useless */
-#define        bShift_L                        0xc0
-#define        bGI_TH                          0xc
-#define        bRxPathA                        0x1
-#define        bRxPathB                        0x2
-#define        bRxPathC                        0x4
-#define        bRxPathD                        0x8
-#define        bTxPathA                        0x1
-#define        bTxPathB                        0x2
-#define        bTxPathC                        0x4
-#define        bTxPathD                        0x8
-#define        bTRSSIFreq                      0x200
-#define        bADCBackoff                     0x3000
-#define        bDFIRBackoff                    0xc000
-#define        bTRSSILatchPhase                0x10000
-#define        bRxIDCOffset                    0xff
-#define        bRxQDCOffset                    0xff00
-#define        bRxDFIRMode                     0x1800000
-#define        bRxDCNFType                     0xe000000
-#define        bRXIQImb_A                      0x3ff
-#define        bRXIQImb_B                      0xfc00
-#define        bRXIQImb_C                      0x3f0000
-#define        bRXIQImb_D                      0xffc00000
-#define        bDC_dc_Notch                    0x60000
-#define        bRxNBINotch                     0x1f000000
-#define        bPD_TH                          0xf
-#define        bPD_TH_Opt2                     0xc000
-#define        bPWED_TH                        0x700
-#define        bIfMF_Win_L                     0x800
-#define        bPD_Option                      0x1000
-#define        bMF_Win_L                       0xe000
-#define        bBW_Search_L                    0x30000
-#define        bwin_enh_L                      0xc0000
-#define        bBW_TH                          0x700000
-#define        bED_TH2                         0x3800000
-#define        bBW_option                      0x4000000
-#define        bRatio_TH                       0x18000000
-#define        bWindow_L                       0xe0000000
-#define        bSBD_Option                     0x1
-#define        bFrame_TH                       0x1c
-#define        bFS_Option                      0x60
-#define        bDC_Slope_check                 0x80
-#define        bFGuard_Counter_DC_L            0xe00
-#define        bFrame_Weight_Short             0x7000
-#define        bSub_Tune                       0xe00000
-#define        bFrame_DC_Length                0xe000000
-#define        bSBD_start_offset               0x30000000
-#define        bFrame_TH_2                     0x7
-#define        bFrame_GI2_TH                   0x38
-#define        bGI2_Sync_en                    0x40
-#define        bSarch_Short_Early              0x300
-#define        bSarch_Short_Late               0xc00
-#define        bSarch_GI2_Late                 0x70000
-#define        bCFOAntSum                      0x1
-#define        bCFOAcc                         0x2
-#define        bCFOStartOffset                 0xc
-#define        bCFOLookBack                    0x70
-#define        bCFOSumWeight                   0x80
-#define        bDAGCEnable                     0x10000
-#define        bTXIQImb_A                      0x3ff
-#define        bTXIQImb_B                      0xfc00
-#define        bTXIQImb_C                      0x3f0000
-#define        bTXIQImb_D                      0xffc00000
-#define        bTxIDCOffset                    0xff
-#define        bTxQDCOffset                    0xff00
-#define        bTxDFIRMode                     0x10000
-#define        bTxPesudoNoiseOn                0x4000000
-#define        bTxPesudoNoise_A                0xff
-#define        bTxPesudoNoise_B                0xff00
-#define        bTxPesudoNoise_C                0xff0000
-#define        bTxPesudoNoise_D                0xff000000
-#define        bCCADropOption                  0x20000
-#define        bCCADropThres                   0xfff00000
-#define        bEDCCA_H                        0xf
-#define        bEDCCA_L                        0xf0
-#define        bLambda_ED                      0x300
-#define        bRxInitialGain                  0x7f
-#define        bRxAntDivEn                     0x80
-#define        bRxAGCAddressForLNA             0x7f00
-#define        bRxHighPowerFlow                0x8000
-#define        bRxAGCFreezeThres               0xc0000
-#define        bRxFreezeStep_AGC1              0x300000
-#define        bRxFreezeStep_AGC2              0xc00000
-#define        bRxFreezeStep_AGC3              0x3000000
-#define        bRxFreezeStep_AGC0              0xc000000
-#define        bRxRssi_Cmp_En                  0x10000000
-#define        bRxQuickAGCEn                   0x20000000
-#define        bRxAGCFreezeThresMode           0x40000000
-#define        bRxOverFlowCheckType            0x80000000
-#define        bRxAGCShift                     0x7f
-#define        bTRSW_Tri_Only                  0x80
-#define        bPowerThres                     0x300
-#define        bRxAGCEn                        0x1
-#define        bRxAGCTogetherEn                0x2
-#define        bRxAGCMin                       0x4
-#define        bRxHP_Ini                       0x7
-#define        bRxHP_TRLNA                     0x70
-#define        bRxHP_RSSI                      0x700
-#define        bRxHP_BBP1                      0x7000
-#define        bRxHP_BBP2                      0x70000
-#define        bRxHP_BBP3                      0x700000
-#define        bRSSI_H                         0x7f0000     /* thresh for hi power */
-#define        bRSSI_Gen                       0x7f000000   /* thresh for ant div */
-#define        bRxSettle_TRSW                  0x7
-#define        bRxSettle_LNA                   0x38
-#define        bRxSettle_RSSI                  0x1c0
-#define        bRxSettle_BBP                   0xe00
-#define        bRxSettle_RxHP                  0x7000
-#define        bRxSettle_AntSW_RSSI            0x38000
-#define        bRxSettle_AntSW                 0xc0000
-#define        bRxProcessTime_DAGC             0x300000
-#define        bRxSettle_HSSI                  0x400000
-#define        bRxProcessTime_BBPPW            0x800000
-#define        bRxAntennaPowerShift    0x3000000
-#define        bRSSITableSelect        0xc000000
-#define        bRxHP_Final          0x7000000
-#define        bRxHTSettle_BBP  0x7
-#define        bRxHTSettle_HSSI        0x8
-#define        bRxHTSettle_RxHP        0x70
-#define        bRxHTSettle_BBPPW       0x80
-#define        bRxHTSettle_Idle        0x300
-#define        bRxHTSettle_Reserved    0x1c00
-#define        bRxHTRxHPEn          0x8000
-#define        bRxHTAGCFreezeThres     0x30000
-#define        bRxHTAGCTogetherEn      0x40000
-#define        bRxHTAGCMin          0x80000
-#define        bRxHTAGCEn            0x100000
-#define        bRxHTDAGCEn          0x200000
-#define        bRxHTRxHP_BBP      0x1c00000
-#define        bRxHTRxHP_Final  0xe0000000
-#define        bRxPWRatioTH        0x3
-#define        bRxPWRatioEn        0x4
-#define        bRxMFHold              0x3800
-#define        bRxPD_Delay_TH1  0x38
-#define        bRxPD_Delay_TH2  0x1c0
-#define        bRxPD_DC_COUNT_MAX      0x600
-/* define bRxMF_Hold        0x3800 */
-#define        bRxPD_Delay_TH    0x8000
-#define        bRxProcess_Delay        0xf0000
-#define        bRxSearchrange_GI2_Early 0x700000
-#define        bRxFrame_Guard_Counter_L 0x3800000
-#define        bRxSGI_Guard_L    0xc000000
-#define        bRxSGI_Search_L  0x30000000
-#define        bRxSGI_TH              0xc0000000
-#define        bDFSCnt0                0xff
-#define        bDFSCnt1                0xff00
-#define        bDFSFlag                0xf0000
-#define        bMFWeightSum        0x300000
-#define        bMinIdxTH              0x7f000000
-#define        bDAFormat              0x40000
-#define        bTxChEmuEnable    0x01000000
-#define        bTRSWIsolation_A        0x7f
-#define        bTRSWIsolation_B        0x7f00
-#define        bTRSWIsolation_C        0x7f0000
-#define        bTRSWIsolation_D        0x7f000000
-#define        bExtLNAGain          0x7c00
-
-/*  6. PageE(0xE00) */
-#define        bSTBCEn                 0x4     /*  Useless */
-#define        bAntennaMapping   0x10
-#define        bNss                 0x20
-#define        bCFOAntSumD           0x200
-#define        bPHYCounterReset         0x8000000
-#define        bCFOReportGet       0x4000000
-#define        bOFDMContinueTx   0x10000000
-#define        bOFDMSingleCarrier       0x20000000
-#define        bOFDMSingleTone   0x40000000
-/* define bRxPath1              0x01 */
-/* define bRxPath2              0x02 */
-/* define bRxPath3              0x04 */
-/* define bRxPath4              0x08 */
-/* define bTxPath1              0x10 */
-/* define bTxPath2              0x20 */
-#define        bHTDetect               0x100
-#define        bCFOEn             0x10000
-#define        bCFOValue               0xfff00000
-#define        bSigTone_Re           0x3f
-#define        bSigTone_Im           0x7f00
-#define        bCounter_CCA         0xffff
-#define        bCounter_ParityFail      0xffff0000
-#define        bCounter_RateIllegal     0xffff
-#define        bCounter_CRC8Fail       0xffff0000
-#define        bCounter_MCSNoSupport    0xffff
-#define        bCounter_FastSync       0xffff
-#define        bShortCFO               0xfff
-#define        bShortCFOTLength         12   /* total */
-#define        bShortCFOFLength         11   /* fraction */
-#define        bLongCFO                 0x7ff
-#define        bLongCFOTLength   11
-#define        bLongCFOFLength   11
-#define        bTailCFO                 0x1fff
-#define        bTailCFOTLength   13
-#define        bTailCFOFLength   12
-#define        bmax_en_pwdB         0xffff
-#define        bCC_power_dB         0xffff0000
-#define        bnoise_pwdB           0xffff
-#define        bPowerMeasTLength       10
-#define        bPowerMeasFLength       3
-#define        bRx_HT_BW               0x1
-#define        bRxSC               0x6
-#define        bRx_HT             0x8
-#define        bNB_intf_det_on   0x1
-#define        bIntf_win_len_cfg       0x30
-#define        bNB_Intf_TH_cfg   0x1c0
-#define        bRFGain           0x3f
-#define        bTableSel               0x40
-#define        bTRSW               0x80
-#define        bRxSNR_A                 0xff
-#define        bRxSNR_B                 0xff00
-#define        bRxSNR_C                 0xff0000
-#define        bRxSNR_D                 0xff000000
-#define        bSNREVMTLength     8
-#define        bSNREVMFLength     1
-#define        bCSI1st           0xff
-#define        bCSI2nd           0xff00
-#define        bRxEVM1st               0xff0000
-#define        bRxEVM2nd               0xff000000
-#define        bSIGEVM           0xff
-#define        bPWDB               0xff00
-#define        bSGIEN             0x10000
-
-#define        bSFactorQAM1         0xf        /*  Useless */
-#define        bSFactorQAM2         0xf0
-#define        bSFactorQAM3         0xf00
-#define        bSFactorQAM4         0xf000
-#define        bSFactorQAM5         0xf0000
-#define        bSFactorQAM6         0xf0000
-#define        bSFactorQAM7         0xf00000
-#define        bSFactorQAM8         0xf000000
-#define        bSFactorQAM9         0xf0000000
-#define        bCSIScheme             0x100000
-
-#define        bNoiseLvlTopSet   0x3   /*  Useless */
-#define        bChSmooth               0x4
-#define        bChSmoothCfg1       0x38
-#define        bChSmoothCfg2       0x1c0
-#define        bChSmoothCfg3       0xe00
-#define        bChSmoothCfg4       0x7000
-#define        bMRCMode                 0x800000
-#define        bTHEVMCfg               0x7000000
-
-#define        bLoopFitType         0x1        /*  Useless */
-#define        bUpdCFO           0x40
-#define        bUpdCFOOffData     0x80
-#define        bAdvUpdCFO             0x100
-#define        bAdvTimeCtrl         0x800
-#define        bUpdClko                 0x1000
-#define        bFC                   0x6000
-#define        bTrackingMode       0x8000
-#define        bPhCmpEnable         0x10000
-#define        bUpdClkoLTF           0x20000
-#define        bComChCFO               0x40000
-#define        bCSIEstiMode         0x80000
-#define        bAdvUpdEqz             0x100000
-#define        bUChCfg           0x7000000
-#define        bUpdEqz           0x8000000
-
-#define        bTxAGCRate18_06                 0x7f7f7f7f      /*  Useless */
-#define        bTxAGCRate54_24                 0x7f7f7f7f
-#define        bTxAGCRateMCS32                 0x7f
-#define        bTxAGCRateCCK                   0x7f00
-#define        bTxAGCRateMCS3_MCS0             0x7f7f7f7f
-#define        bTxAGCRateMCS7_MCS4             0x7f7f7f7f
-#define        bTxAGCRateMCS11_MCS8    0x7f7f7f7f
-#define        bTxAGCRateMCS15_MCS12   0x7f7f7f7f
-
-/* Rx Pseduo noise */
-#define        bRxPesudoNoiseOn         0x20000000     /*  Useless */
-#define        bRxPesudoNoise_A         0xff
-#define        bRxPesudoNoise_B         0xff00
-#define        bRxPesudoNoise_C         0xff0000
-#define        bRxPesudoNoise_D         0xff000000
-#define        bPesudoNoiseState_A      0xffff
-#define        bPesudoNoiseState_B      0xffff0000
-#define        bPesudoNoiseState_C      0xffff
-#define        bPesudoNoiseState_D      0xffff0000
-
-/* 7. RF Register */
-/* Zebra1 */
-#define        bZebra1_HSSIEnable      0x8             /*  Useless */
-#define        bZebra1_TRxControl      0xc00
-#define        bZebra1_TRxGainSetting    0x07f
-#define        bZebra1_RxCorner          0xc00
-#define        bZebra1_TxChargePump      0x38
-#define        bZebra1_RxChargePump      0x7
-#define        bZebra1_ChannelNum      0xf80
-#define        bZebra1_TxLPFBW    0x400
-#define        bZebra1_RxLPFBW    0x600
-
-/* Zebra4 */
-#define        bRTL8256RegModeCtrl1      0x100 /*  Useless */
-#define        bRTL8256RegModeCtrl0      0x40
-#define        bRTL8256_TxLPFBW          0x18
-#define        bRTL8256_RxLPFBW          0x600
-
-/* RTL8258 */
-#define        bRTL8258_TxLPFBW          0xc   /*  Useless */
-#define        bRTL8258_RxLPFBW          0xc00
-#define        bRTL8258_RSSILPFBW      0xc0
-
-/*  */
-/*  Other Definition */
-/*  */
-
-/* byte endable for sb_write */
-#define        bByte0              0x1 /*  Useless */
-#define        bByte1              0x2
-#define        bByte2              0x4
-#define        bByte3              0x8
-#define        bWord0              0x3
-#define        bWord1              0xc
-#define        bDWord              0xf
-
-/* for PutRegsetting & GetRegSetting BitMask */
-#define        bMaskByte0              0xff    /*  Reg 0xc50 rOFDM0_XAAGCCore~0xC6f */
-#define        bMaskByte1              0xff00
-#define        bMaskByte2              0xff0000
-#define        bMaskByte3              0xff000000
-#define        bMaskHWord              0xffff0000
-#define        bMaskLWord              0x0000ffff
-#define        bMaskDWord              0xffffffff
-#define        bMaskH4Bits             0xf0000000
-#define        bMaskOFDM_D             0xffc00000
-#define        bMaskCCK                0x3f3f3f3f
-#define        bMask12Bits             0xfff
-
-/* for PutRFRegsetting & GetRFRegSetting BitMask */
-#if (RTL92SE_FPGA_VERIFY == 1)
-#define                bRFRegOffsetMask        0xfff
-#else
-#define                bRFRegOffsetMask        0xfffff
-#endif
-#define        bEnable         0x1     /*  Useless */
-#define        bDisabl         0x0
-
-#define        LeftAntenna     0x0     /*  Useless */
-#define        RightAntenna    0x1
-
-#define        tCheckTxStatus  500   /* 500ms Useless */
-#define        tUpdateRxCounter 100   /* 100ms */
-
-#define        rateCCK     0   /*  Useless */
-#define        rateOFDM    1
-#define        rateHT      2
-
-/* define Register-End */
-#define        bPMAC_End        0x1ff  /*  Useless */
-#define        bFPGAPHY0_End    0x8ff
-#define        bFPGAPHY1_End    0x9ff
-#define        bCCKPHY0_End     0xaff
-#define        bOFDMPHY0_End    0xcff
-#define        bOFDMPHY1_End    0xdff
-
-/* define max debug item in each debug page */
-/* define bMaxItem_FPGA_PHY0   0x9 */
-/* define bMaxItem_FPGA_PHY1   0x3 */
-/* define bMaxItem_PHY_11B       0x16 */
-/* define bMaxItem_OFDM_PHY0   0x29 */
-/* define bMaxItem_OFDM_PHY1   0x0 */
-
-#define        bPMACControl    0x0             /*  Useless */
-#define        bWMACControl    0x1
-#define        bWNICControl    0x2
-
-#define RCR_AAP                BIT(0)          /*  accept all physical address */
-#define RCR_APM                BIT(1)          /*  accept physical match */
-#define RCR_AM         BIT(2)          /*  accept multicast */
-#define RCR_AB         BIT(3)          /*  accept broadcast */
-#define RCR_ACRC32     BIT(5)          /*  accept error packet */
-#define RCR_9356SEL    BIT(6)
-#define RCR_AICV       BIT(12)         /*  Accept ICV error packet */
-#define RCR_RXFTH0     (BIT(13)|BIT(14)|BIT(15))       /*  Rx FIFO threshold */
-#define RCR_ADF                BIT(18)         /*  Accept Data(frame type) frame */
-#define RCR_ACF                BIT(19)         /*  Accept control frame */
-#define RCR_AMF                BIT(20)         /*  Accept management frame */
-#define RCR_ADD3       BIT(21)
-#define RCR_APWRMGT    BIT(22)         /*  Accept power management packet */
-#define RCR_CBSSID     BIT(23)         /*  Accept BSSID match packet */
-#define RCR_ENMARP     BIT(28)         /*  enable mac auto reset phy */
-#define RCR_EnCS1      BIT(29)         /*  enable carrier sense method 1 */
-#define RCR_EnCS2      BIT(30)         /*  enable carrier sense method 2 */
-#define RCR_OnlyErlPkt BIT(31)         /*  Rx Early mode is performed for
-                                        *  packet size greater than 1536 */
-
-/*--------------------------Define Parameters-------------------------------*/
-
-#endif /* __INC_HAL8192SPHYREG_H */
index 92b9bfe..b91322a 100644 (file)
@@ -13,7 +13,6 @@ u32 build_prov_disc_request_p2p_ie(struct wifidirect_info *pwdinfo,
                                   u8 *pdev_raddr);
 u32 build_assoc_resp_p2p_ie(struct wifidirect_info *pwdinfo,
                            u8 *pbuf, u8 status_code);
-u32 build_deauth_p2p_ie(struct wifidirect_info *pwdinfo, u8 *pbuf);
 u32 process_probe_req_p2p_ie(struct wifidirect_info *pwdinfo,
                             u8 *pframe, uint len);
 u32 process_assoc_req_p2p_ie(struct wifidirect_info *pwdinfo,
index 543f928..b19ef79 100644 (file)
@@ -7,18 +7,6 @@
 #include "osdep_service.h"
 #include "drv_types.h"
 
-#define FW_PWR0                0
-#define FW_PWR1                1
-#define FW_PWR2                2
-#define FW_PWR3                3
-#define HW_PWR0                7
-#define HW_PWR1                6
-#define HW_PWR2                2
-#define HW_PWR3                0
-#define HW_PWR4                8
-
-#define FW_PWRMSK      0x7
-
 #define XMIT_ALIVE     BIT(0)
 #define RECV_ALIVE     BIT(1)
 #define CMD_ALIVE      BIT(2)
@@ -39,73 +27,8 @@ enum power_mgnt {
        PS_MODE_NUM
 };
 
-/*
-       BIT[2:0] = HW state
-       BIT[3] = Protocol PS state,   0: register active state,
-                                     1: register sleep state
-       BIT[4] = sub-state
-*/
-
-#define PS_DPS                 BIT(0)
-#define PS_LCLK                        (PS_DPS)
-#define PS_RF_OFF              BIT(1)
-#define PS_ALL_ON              BIT(2)
-#define PS_ST_ACTIVE           BIT(3)
-
-#define PS_ISR_ENABLE          BIT(4)
-#define PS_IMR_ENABLE          BIT(5)
-#define PS_ACK                 BIT(6)
-#define PS_TOGGLE              BIT(7)
-
-#define PS_STATE_MASK          (0x0F)
-#define PS_STATE_HW_MASK       (0x07)
-#define PS_SEQ_MASK            (0xc0)
-
-#define PS_STATE(x)            (PS_STATE_MASK & (x))
-#define PS_STATE_HW(x)         (PS_STATE_HW_MASK & (x))
-#define PS_SEQ(x)              (PS_SEQ_MASK & (x))
-
-#define PS_STATE_S0            (PS_DPS)
-#define PS_STATE_S1            (PS_LCLK)
-#define PS_STATE_S2            (PS_RF_OFF)
-#define PS_STATE_S3            (PS_ALL_ON)
-#define PS_STATE_S4            ((PS_ST_ACTIVE) | (PS_ALL_ON))
-
-#define PS_IS_RF_ON(x) ((x) & (PS_ALL_ON))
-#define PS_IS_ACTIVE(x)        ((x) & (PS_ST_ACTIVE))
-#define CLR_PS_STATE(x)        ((x) = ((x) & (0xF0)))
-
-struct reportpwrstate_parm {
-       unsigned char mode;
-       unsigned char state; /* the CPWM value */
-       unsigned short rsvd;
-};
-
-static inline void _init_pwrlock(struct semaphore  *plock)
-{
-       sema_init(plock, 1);
-}
-
-static inline void _free_pwrlock(struct semaphore  *plock)
-{
-}
-
-static inline void _enter_pwrlock(struct semaphore  *plock)
-{
-       _rtw_down_sema(plock);
-}
-
-static inline void _exit_pwrlock(struct semaphore  *plock)
-{
-       up(plock);
-}
-
 #define LPS_DELAY_TIME 1*HZ /*  1 sec */
 
-#define EXE_PWR_NONE   0x01
-#define EXE_PWR_IPS            0x02
-#define EXE_PWR_LPS            0x04
-
 /*  RF state. */
 enum rt_rf_power_state {
        rf_on,          /*  RF is on after RFSleep or RFOff */
@@ -115,34 +38,6 @@ enum rt_rf_power_state {
        rf_max
 };
 
-/*  RF Off Level for IPS or HW/SW radio off */
-#define        RT_RF_OFF_LEVL_ASPM             BIT(0)  /* PCI ASPM */
-#define        RT_RF_OFF_LEVL_CLK_REQ          BIT(1)  /* PCI clock request */
-#define        RT_RF_OFF_LEVL_PCI_D3           BIT(2)  /* PCI D3 mode */
-#define        RT_RF_OFF_LEVL_HALT_NIC         BIT(3)  /* NIC halt, re-init hw param*/
-#define        RT_RF_OFF_LEVL_FREE_FW          BIT(4)  /* FW free, re-download the FW*/
-#define        RT_RF_OFF_LEVL_FW_32K           BIT(5)  /* FW in 32k */
-#define        RT_RF_PS_LEVEL_ALWAYS_ASPM      BIT(6)  /* Always enable ASPM and Clock
-                                                * Req in initialization. */
-#define        RT_RF_LPS_DISALBE_2R            BIT(30) /* When LPS is on, disable 2R
-                                                * if no packet is RX or TX. */
-#define        RT_RF_LPS_LEVEL_ASPM            BIT(31) /* LPS with ASPM */
-
-#define        RT_IN_PS_LEVEL(ppsc, _PS_FLAG)                          \
-       ((ppsc->cur_ps_level & _PS_FLAG) ? true : false)
-#define        RT_CLEAR_PS_LEVEL(ppsc, _PS_FLAG)                       \
-       (ppsc->cur_ps_level &= (~(_PS_FLAG)))
-#define        RT_SET_PS_LEVEL(ppsc, _PS_FLAG)                         \
-       (ppsc->cur_ps_level |= _PS_FLAG)
-
-enum _PS_BBRegBackup_ {
-       PSBBREG_RF0 = 0,
-       PSBBREG_RF1,
-       PSBBREG_RF2,
-       PSBBREG_AFE0,
-       PSBBREG_TOTALCNT
-};
-
 enum { /*  for ips_mode */
        IPS_NONE = 0,
        IPS_NORMAL,
@@ -150,12 +45,7 @@ enum { /*  for ips_mode */
 };
 
 struct pwrctrl_priv {
-       struct semaphore lock;
-       volatile u8 rpwm; /*  requested power state for fw */
-       volatile u8 cpwm; /*  fw current power state. updated when
-                          * 1. read from HCPWM 2. driver lowers power level */
-       volatile u8 tog; /*  toggling */
-       volatile u8 cpwm_tog; /*  toggling */
+       struct mutex lock; /* Mutex used to protect struct pwrctrl_priv */
 
        u8      pwr_mode;
        u8      smart_ps;
@@ -165,7 +55,6 @@ struct pwrctrl_priv {
        struct work_struct cpwm_event;
        u8      bpower_saving;
 
-       u8      b_hw_radio_off;
        u8      reg_rfoff;
        u8      reg_pdnmode; /* powerdown mode */
        u32     rfoff_reason;
@@ -188,16 +77,11 @@ struct pwrctrl_priv {
        u8      power_mgnt;
        u8      bFwCurrentInPSMode;
        u32     DelayLPSLastTimeStamp;
-       u8      btcoex_rfon;
        s32             pnp_current_pwr_state;
        u8              pnp_bstop_trx;
 
        u8              bInternalAutoSuspend;
        u8              bInSuspend;
-#ifdef CONFIG_BT_COEXIST
-       u8              bAutoResume;
-       u8              autopm_cnt;
-#endif
        u8              bSupportRemoteWakeup;
        struct timer_list pwr_state_check_timer;
        int             pwr_state_check_interval;
@@ -210,10 +94,7 @@ struct pwrctrl_priv {
 
        u8              wepkeymask;
        u8              bHWPowerdown;/* if support hw power down */
-       u8              bHWPwrPindetect;
        u8              bkeepfwalive;
-       u8              brfoffbyhw;
-       unsigned long PS_BBRegBackup[PSBBREG_TOTALCNT];
 };
 
 #define rtw_get_ips_mode_req(pwrctrlpriv) \
@@ -234,32 +115,23 @@ struct pwrctrl_priv {
                                       (pwrctrl)->pwr_state_check_interval)
 
 void rtw_init_pwrctrl_priv(struct adapter *adapter);
-void rtw_free_pwrctrl_priv(struct adapter *adapter);
 
 void rtw_set_ps_mode(struct adapter *adapter, u8 ps_mode, u8 smart_ps,
                     u8 bcn_ant_mode);
-void rtw_set_rpwm(struct adapter *adapter, u8 val8);
 void LeaveAllPowerSaveMode(struct adapter *adapter);
 void ips_enter(struct adapter *padapter);
 int ips_leave(struct adapter *padapter);
 
 void rtw_ps_processor(struct adapter *padapter);
 
-enum rt_rf_power_state RfOnOffDetect(struct adapter *iadapter);
-
 s32 LPS_RF_ON_check(struct adapter *adapter, u32 delay_ms);
 void LPS_Enter(struct adapter *adapter);
 void LPS_Leave(struct adapter *adapter);
 
-u8 rtw_interface_ps_func(struct adapter *adapter,
-                        enum hal_intf_ps_func efunc_id, u8 *val);
-void rtw_set_ips_deny(struct adapter *adapter, u32 ms);
 int _rtw_pwr_wakeup(struct adapter *adapter, u32 ips_defer_ms,
                    const char *caller);
 #define rtw_pwr_wakeup(adapter)                                                \
         _rtw_pwr_wakeup(adapter, RTW_PWR_STATE_CHK_INTERVAL, __func__)
-#define rtw_pwr_wakeup_ex(adapter, ips_deffer_ms)                      \
-        _rtw_pwr_wakeup(adapter, ips_deffer_ms, __func__)
 int rtw_pm_set_ips(struct adapter *adapter, u8 mode);
 int rtw_pm_set_lps(struct adapter *adapter, u8 mode);
 
index d1d1ca0..1e28ec7 100644 (file)
@@ -78,7 +78,6 @@ struct phy_info {
 /*  Real power in dBm for this packet, no beautification and aggregation.
  * Keep this raw info to be used for the other procedures. */
        s8      recvpower;
-       u8      BTRxRSSIPercentage;
        u8      SignalStrength; /*  in 0-100 index. */
        u8      RxPwr[MAX_PATH_NUM_92CS];/* per-path's pwdb */
        u8      RxSNR[MAX_PATH_NUM_92CS];/* per-path's SNR */
@@ -274,8 +273,6 @@ struct recv_frame {
 
 struct recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue);
 struct recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue);
-void rtw_init_recvframe(struct recv_frame *precvframe,
-                       struct recv_priv *precvpriv);
 int  rtw_free_recvframe(struct recv_frame *precvframe,
                        struct __queue *pfree_recv_queue);
 #define rtw_dequeue_recvframe(queue) rtw_alloc_recvframe(queue)
@@ -284,9 +281,6 @@ int rtw_enqueue_recvframe(struct recv_frame *precvframe, struct __queue *queue);
 void rtw_free_recvframe_queue(struct __queue *pframequeue,
                              struct __queue *pfree_recv_queue);
 u32 rtw_free_uc_swdec_pending_queue(struct adapter *adapter);
-int rtw_enqueue_recvbuf_to_head(struct recv_buf *buf, struct __queue *queue);
-int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue);
-struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue);
 
 void rtw_reordering_ctrl_timeout_handler(void *pcontext);
 
index 48129da..7ec252f 100644 (file)
@@ -69,17 +69,6 @@ enum _REG_PREAMBLE_MODE {
        PREAMBLE_SHORT  = 3,
 };
 
-enum _RTL8712_RF_MIMO_CONFIG_ {
-       RTL8712_RFCONFIG_1T = 0x10,
-       RTL8712_RFCONFIG_2T = 0x20,
-       RTL8712_RFCONFIG_1R = 0x01,
-       RTL8712_RFCONFIG_2R = 0x02,
-       RTL8712_RFCONFIG_1T1R = 0x11,
-       RTL8712_RFCONFIG_1T2R = 0x12,
-       RTL8712_RFCONFIG_TURBO = 0x92,
-       RTL8712_RFCONFIG_2T2R = 0x22
-};
-
 enum rf90_radio_path {
        RF90_PATH_A = 0,                /* Radio Path A */
        RF90_PATH_B = 1,                /* Radio Path B */
@@ -121,6 +110,5 @@ enum rt_rf_type_def {
 };
 
 u32 rtw_ch2freq(u32 ch);
-u32 rtw_freq2ch(u32 freq);
 
 #endif /* _RTL8711_RF_H_ */
index ec6ecdb..9231201 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "osdep_service.h"
 #include "drv_types.h"
+#include <crypto/arc4.h>
 
 #define _NO_PRIVACY_                   0x0
 #define _WEP40_                                0x1
@@ -106,7 +107,10 @@ struct security_priv {
        union Keytype   dot118021XGrprxmickey[4];
        union pn48      dot11Grptxpn;           /* PN48 used for Grp Key xmit.*/
        union pn48      dot11Grprxpn;           /* PN48 used for Grp Key recv.*/
-#ifdef CONFIG_88EU_AP_MODE
+
+       struct arc4_ctx xmit_arc4_ctx;
+       struct arc4_ctx recv_arc4_ctx;
+
        /* extend security capabilities for AP_MODE */
        unsigned int dot8021xalg;/* 0:disable, 1:psk, 2:802.1x */
        unsigned int wpa_psk;/* 0:disable, bit(0): WPA, bit(1):WPA2 */
@@ -114,7 +118,6 @@ struct security_priv {
        unsigned int wpa2_group_cipher;
        unsigned int wpa_pairwise_cipher;
        unsigned int wpa2_pairwise_cipher;
-#endif
        u8 wps_ie[MAX_WPS_IE_LEN];/* added in assoc req */
        int wps_ie_len;
        u8      binstallGrpkey;
@@ -330,12 +333,11 @@ void rtw_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes);
 void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst);
 void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len,
                        u8 *Miccode, u8   priority);
-u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe);
-u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe);
-void rtw_wep_encrypt(struct adapter *padapter, u8  *pxmitframe);
-u32 rtw_aes_decrypt(struct adapter *padapter, u8  *precvframe);
-u32 rtw_tkip_decrypt(struct adapter *padapter, u8  *precvframe);
-void rtw_wep_decrypt(struct adapter *padapter, u8  *precvframe);
-void rtw_use_tkipkey_handler(void *FunctionContext);
+u32 rtw_aes_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe);
+u32 rtw_tkip_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe);
+void rtw_wep_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe);
+u32 rtw_aes_decrypt(struct adapter *padapter, struct recv_frame *precvframe);
+u32 rtw_tkip_decrypt(struct adapter *padapter, struct recv_frame *precvframe);
+void rtw_wep_decrypt(struct adapter *padapter, struct recv_frame *precvframe);
 
 #endif /* __RTL871X_SECURITY_H_ */
diff --git a/drivers/staging/r8188eu/include/rtw_sreset.h b/drivers/staging/r8188eu/include/rtw_sreset.h
deleted file mode 100644 (file)
index 4e97997..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
-/* Copyright(c) 2007 - 2012 Realtek Corporation. */
-
-#ifndef _RTW_SRESET_C_
-#define _RTW_SRESET_C_
-
-#include "osdep_service.h"
-#include "drv_types.h"
-
-struct sreset_priv {
-       struct mutex    silentreset_mutex;
-       u8      silent_reset_inprogress;
-       u8      wifi_error_status;
-       unsigned long last_tx_time;
-       unsigned long last_tx_complete_time;
-};
-
-#include "rtl8188e_hal.h"
-
-#define        WIFI_STATUS_SUCCESS             0
-#define        USB_VEN_REQ_CMD_FAIL    BIT(0)
-#define        USB_READ_PORT_FAIL              BIT(1)
-#define        USB_WRITE_PORT_FAIL             BIT(2)
-#define        WIFI_MAC_TXDMA_ERROR    BIT(3)
-#define   WIFI_TX_HANG                         BIT(4)
-#define        WIFI_RX_HANG                            BIT(5)
-#define                WIFI_IF_NOT_EXIST                       BIT(6)
-
-void sreset_init_value(struct adapter *padapter);
-void sreset_reset_value(struct adapter *padapter);
-u8 sreset_get_wifi_status(struct adapter *padapter);
-void sreset_set_wifi_error_status(struct adapter *padapter, u32 status);
-
-#endif
index 5f6e240..b2df148 100644 (file)
@@ -185,7 +185,6 @@ enum {
 void rtw_sctx_init(struct submit_ctx *sctx, int timeout_ms);
 int rtw_sctx_wait(struct submit_ctx *sctx);
 void rtw_sctx_done_err(struct submit_ctx **sctx, int status);
-void rtw_sctx_done(struct submit_ctx **sctx);
 
 struct xmit_buf {
        struct list_head list;
@@ -257,7 +256,6 @@ struct agg_pkt_info {
 
 struct xmit_priv {
        spinlock_t lock;
-       struct semaphore xmit_sema;
        struct semaphore terminate_xmitthread_sema;
        struct __queue be_pending;
        struct __queue bk_pending;
@@ -333,8 +331,6 @@ struct xmit_frame *rtw_dequeue_xframe(struct xmit_priv *pxmitpriv,
 
 s32 rtw_xmit_classifier(struct adapter *padapter,
                        struct xmit_frame *pxmitframe);
-u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib);
-#define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib)
 s32 rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt,
                           struct xmit_frame *pxmitframe);
 s32 _rtw_init_hw_txqueue(struct hw_txqueue *phw_txqueue, u8 ac_tag);
@@ -349,12 +345,10 @@ void rtw_alloc_hwxmits(struct adapter *padapter);
 void rtw_free_hwxmits(struct adapter *padapter);
 s32 rtw_xmit(struct adapter *padapter, struct sk_buff **pkt);
 
-#if defined(CONFIG_88EU_AP_MODE)
 int xmitframe_enqueue_for_sleeping_sta(struct adapter *padapter, struct xmit_frame *pxmitframe);
 void stop_sta_xmit(struct adapter *padapter, struct sta_info *psta);
 void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta);
 void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *psta);
-#endif
 
 u8     qos_acm(u8 acm_mask, u8 priority);
 u32    rtw_get_ff_hwaddr(struct xmit_frame *pxmitframe);
index 8ff99fc..24b1254 100644 (file)
@@ -124,7 +124,6 @@ struct sta_info {
        /* sta_info: (AP & STA) CAP/INFO */
 
        struct list_head asoc_list;
-#ifdef CONFIG_88EU_AP_MODE
        struct list_head auth_list;
 
        unsigned int expire_to;
@@ -164,9 +163,7 @@ struct sta_info {
 
        u8 has_legacy_ac;
        unsigned int sleepq_ac_len;
-#endif /*  CONFIG_88EU_AP_MODE */
 
-#ifdef CONFIG_88EU_P2P
        /* p2p priv data */
        u8 is_p2p_device;
        u8 p2p_status_code;
@@ -180,7 +177,6 @@ struct sta_info {
        u8 secdev_types_list[32];/*  32/8 == 4; */
        u16 dev_name_len;
        u8 dev_name[32];
-#endif /* CONFIG_88EU_P2P */
        u8 under_exist_checking;
        u8 keep_alive_trycnt;
 
@@ -306,7 +302,6 @@ struct      sta_priv {
        spinlock_t asoc_list_lock;
        struct list_head asoc_list;
 
-#ifdef CONFIG_88EU_AP_MODE
        struct list_head auth_list;
        spinlock_t auth_list_lock;
        u8 asoc_list_cnt;
@@ -330,8 +325,6 @@ struct      sta_priv {
        u16 max_num_sta;
 
        struct wlan_acl_pool acl_list;
-#endif
-
 };
 
 static inline u32 wifi_mac_hash(u8 *mac)
index c53cc54..0a1155b 100644 (file)
 
 #include "usb_ops_linux.h"
 
-void rtl8188eu_set_hw_type(struct adapter *padapter);
-#define hal_set_hw_type rtl8188eu_set_hw_type
-void rtl8188eu_set_intf_ops(struct _io_ops *pops);
-#define usb_set_intf_ops rtl8188eu_set_intf_ops
-
 /*
  * Increase and check if the continual_urb_error of this @param dvobjprivei
  * is larger than MAX_CONTINUAL_URB_ERR
index c357a3b..641f059 100644 (file)
 
 unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr);
 
-void usb_read_mem(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem);
-void usb_write_mem(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem);
-
-void usb_read_port_cancel(struct intf_hdl *pintfhdl);
-
-u32 usb_write_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem);
-void usb_write_port_cancel(struct intf_hdl *pintfhdl);
-
 #endif
index d1a1f73..624298b 100644 (file)
@@ -19,11 +19,8 @@ u8 usbvendorrequest(struct dvobj_priv *pdvobjpriv, enum bt_usb_request brequest,
 int pm_netdev_open(struct net_device *pnetdev, u8 bnormal);
 void netdev_br_init(struct net_device *netdev);
 void dhcp_flag_bcast(struct adapter *priv, struct sk_buff *skb);
-void *scdb_findEntry(struct adapter *priv, unsigned char *macAddr,
-                    unsigned char *ipAddr);
+void *scdb_findEntry(struct adapter *priv, unsigned char *ipAddr);
 void nat25_db_expire(struct adapter *priv);
 int nat25_db_handle(struct adapter *priv, struct sk_buff *skb, int method);
 
-int rtw_resume_process(struct adapter *padapter);
-
 #endif
index 0b3fd94..193a557 100644 (file)
@@ -114,35 +114,6 @@ enum WIFI_REASON_CODE      {
        _RSON_TDLS_TEAR_UN_RSN_         = 26,
 };
 
-/* Reason codes (IEEE 802.11-2007, 7.3.1.7, Table 7-22)
-
-#define WLAN_REASON_UNSPECIFIED 1
-#define WLAN_REASON_PREV_AUTH_NOT_VALID 2
-#define WLAN_REASON_DEAUTH_LEAVING 3
-#define WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY 4
-#define WLAN_REASON_DISASSOC_AP_BUSY 5
-#define WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA 6
-#define WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA 7
-#define WLAN_REASON_DISASSOC_STA_HAS_LEFT 8
-#define WLAN_REASON_STA_REQ_ASSOC_WITHOUT_AUTH 9 */
-/* IEEE 802.11h */
-#define WLAN_REASON_PWR_CAPABILITY_NOT_VALID 10
-#define WLAN_REASON_SUPPORTED_CHANNEL_NOT_VALID 11
-
-/* IEEE 802.11i
-#define WLAN_REASON_INVALID_IE 13
-#define WLAN_REASON_MICHAEL_MIC_FAILURE 14
-#define WLAN_REASON_4WAY_HANDSHAKE_TIMEOUT 15
-#define WLAN_REASON_GROUP_KEY_UPDATE_TIMEOUT 16
-#define WLAN_REASON_IE_IN_4WAY_DIFFERS 17
-#define WLAN_REASON_GROUP_CIPHER_NOT_VALID 18
-#define WLAN_REASON_PAIRWISE_CIPHER_NOT_VALID 19
-#define WLAN_REASON_AKMP_NOT_VALID 20
-#define WLAN_REASON_UNSUPPORTED_RSN_IE_VERSION 21
-#define WLAN_REASON_INVALID_RSN_IE_CAPAB 22
-#define WLAN_REASON_IEEE_802_1X_AUTH_FAILED 23
-#define WLAN_REASON_CIPHER_SUITE_REJECTED 24 */
-
 enum WIFI_STATUS_CODE {
        _STATS_SUCCESSFUL_              = 0,
        _STATS_FAILURE_                 = 1,
@@ -157,19 +128,6 @@ enum WIFI_STATUS_CODE {
        _STATS_RATE_FAIL_               = 18,
 };
 
-/* Status codes (IEEE 802.11-2007, 7.3.1.9, Table 7-23)
-#define WLAN_STATUS_SUCCESS 0
-#define WLAN_STATUS_UNSPECIFIED_FAILURE 1
-#define WLAN_STATUS_CAPS_UNSUPPORTED 10
-#define WLAN_STATUS_REASSOC_NO_ASSOC 11
-#define WLAN_STATUS_ASSOC_DENIED_UNSPEC 12
-#define WLAN_STATUS_NOT_SUPPORTED_AUTH_ALG 13
-#define WLAN_STATUS_UNKNOWN_AUTH_TRANSACTION 14
-#define WLAN_STATUS_CHALLENGE_FAIL 15
-#define WLAN_STATUS_AUTH_TIMEOUT 16
-#define WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA 17
-#define WLAN_STATUS_ASSOC_DENIED_RATES 18 */
-
 /* entended */
 /* IEEE 802.11b */
 #define WLAN_STATUS_ASSOC_DENIED_NOSHORT 19
@@ -554,16 +512,6 @@ static inline int IsFrameTypeCtrl(unsigned char *pframe)
 #define _IEEE8021X_MGT_                        1       /*  WPA */
 #define _IEEE8021X_PSK_                        2       /*  WPA with pre-shared key */
 
-/*
-#define _NO_PRIVACY_                   0
-#define _WEP_40_PRIVACY_               1
-#define _TKIP_PRIVACY_                 2
-#define _WRAP_PRIVACY_                 3
-#define _CCMP_PRIVACY_                 4
-#define _WEP_104_PRIVACY_              5
-#define _WEP_WPA_MIXED_PRIVACY_ 6      WEP + WPA
-*/
-
 /*-----------------------------------------------------------------------------
                                Below is the definition for WMM
 ------------------------------------------------------------------------------*/
index 191c363..3e778df 100644 (file)
@@ -37,8 +37,6 @@ int rtw_os_xmit_resource_alloc(struct adapter *padapter,
 void rtw_os_xmit_resource_free(struct adapter *padapter,
                               struct xmit_buf *pxmitbuf, u32 free_sz);
 
-void rtw_set_tx_chksum_offload(struct sk_buff *pkt, struct pkt_attrib *pattrib);
-
 uint rtw_remainder_len(struct pkt_file *pfile);
 void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile);
 uint _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, uint rlen);
index 1fd3750..52d42e5 100644 (file)
 #include "../include/rtw_mlme_ext.h"
 #include "../include/rtw_ioctl.h"
 #include "../include/rtw_ioctl_set.h"
-#include "../include/rtw_mp_ioctl.h"
 #include "../include/usb_ops.h"
 #include "../include/rtl8188e_hal.h"
+#include "../include/rtl8188e_led.h"
 
-#include "../include/rtw_mp.h"
 #include "../include/rtw_iol.h"
 
 #define RTL_IOCTL_WPA_SUPPLICANT       (SIOCIWFIRSTPRIV + 30)
 #define WEXT_CSCAN_HOME_DWELL_SECTION  'H'
 #define WEXT_CSCAN_TYPE_SECTION                'T'
 
-static struct mp_ioctl_handler mp_ioctl_hdl[] = {
-/*0*/  GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_start_test_hdl, OID_RT_PRO_START_TEST)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_stop_test_hdl, OID_RT_PRO_STOP_TEST)
-
-       GEN_HANDLER(sizeof(struct rwreg_param), rtl8188eu_oid_rt_pro_read_register_hdl, OID_RT_PRO_READ_REGISTER)
-       GEN_HANDLER(sizeof(struct rwreg_param), rtl8188eu_oid_rt_pro_write_register_hdl, OID_RT_PRO_WRITE_REGISTER)
-       GEN_HANDLER(sizeof(struct bb_reg_param), rtl8188eu_oid_rt_pro_read_bb_reg_hdl, OID_RT_PRO_READ_BB_REG)
-/*5*/  GEN_HANDLER(sizeof(struct bb_reg_param), rtl8188eu_oid_rt_pro_write_bb_reg_hdl, OID_RT_PRO_WRITE_BB_REG)
-       GEN_HANDLER(sizeof(struct rf_reg_param), rtl8188eu_oid_rt_pro_read_rf_reg_hdl, OID_RT_PRO_RF_READ_REGISTRY)
-       GEN_HANDLER(sizeof(struct rf_reg_param), rtl8188eu_oid_rt_pro_write_rf_reg_hdl, OID_RT_PRO_RF_WRITE_REGISTRY)
-
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_channel_direct_call_hdl, OID_RT_PRO_SET_CHANNEL_DIRECT_CALL)
-       GEN_HANDLER(sizeof(struct txpower_param), rtl8188eu_oid_rt_pro_set_tx_power_control_hdl, OID_RT_PRO_SET_TX_POWER_CONTROL)
-/*10*/ GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_data_rate_hdl, OID_RT_PRO_SET_DATA_RATE)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_set_bandwidth_hdl, OID_RT_SET_BANDWIDTH)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_antenna_bb_hdl, OID_RT_PRO_SET_ANTENNA_BB)
-
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_continuous_tx_hdl, OID_RT_PRO_SET_CONTINUOUS_TX)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_single_carrier_tx_hdl, OID_RT_PRO_SET_SINGLE_CARRIER_TX)
-/*15*/ GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_carrier_suppression_tx_hdl, OID_RT_PRO_SET_CARRIER_SUPPRESSION_TX)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_pro_set_single_tone_tx_hdl, OID_RT_PRO_SET_SINGLE_TONE_TX)
-
-       EXT_MP_IOCTL_HANDLER(0, xmit_packet, 0)
-
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_set_rx_packet_type_hdl, OID_RT_SET_RX_PACKET_TYPE)
-       GEN_HANDLER(0, rtl8188eu_oid_rt_reset_phy_rx_packet_count_hdl, OID_RT_RESET_PHY_RX_PACKET_COUNT)
-/*20*/ GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_get_phy_rx_packet_received_hdl, OID_RT_GET_PHY_RX_PACKET_RECEIVED)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_get_phy_rx_packet_crc32_error_hdl, OID_RT_GET_PHY_RX_PACKET_CRC32_ERROR)
-
-       GEN_HANDLER(sizeof(struct eeprom_rw_param), NULL, 0)
-       GEN_HANDLER(sizeof(struct eeprom_rw_param), NULL, 0)
-       GEN_HANDLER(sizeof(struct efuse_access_struct), rtl8188eu_oid_rt_pro_efuse_hdl, OID_RT_PRO_EFUSE)
-/*25*/ GEN_HANDLER(0, rtl8188eu_oid_rt_pro_efuse_map_hdl, OID_RT_PRO_EFUSE_MAP)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_get_efuse_max_size_hdl, OID_RT_GET_EFUSE_MAX_SIZE)
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_get_efuse_current_size_hdl, OID_RT_GET_EFUSE_CURRENT_SIZE)
-
-       GEN_HANDLER(sizeof(u32), rtl8188eu_oid_rt_get_thermal_meter_hdl, OID_RT_PRO_GET_THERMAL_METER)
-       GEN_HANDLER(sizeof(u8), rtl8188eu_oid_rt_pro_set_power_tracking_hdl, OID_RT_PRO_SET_POWER_TRACKING)
-/*30*/ GEN_HANDLER(sizeof(u8), rtl8188eu_oid_rt_set_power_down_hdl, OID_RT_SET_POWER_DOWN)
-/*31*/ GEN_HANDLER(0, rtl8188eu_oid_rt_pro_trigger_gpio_hdl, 0)
-};
-
 static u32 rtw_rates[] = {1000000, 2000000, 5500000, 11000000,
        6000000, 9000000, 12000000, 18000000, 24000000, 36000000,
        48000000, 54000000};
@@ -137,7 +94,6 @@ static char *translate_scan(struct adapter *padapter,
        u8 bw_40MHz = 0, short_GI = 0;
        u16 mcs_rate = 0;
        u8 ss, sq;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
 
        if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE)) {
@@ -165,7 +121,6 @@ static char *translate_scan(struct adapter *padapter,
                if (!blnGotP2PIE)
                        return start;
        }
-#endif /* CONFIG_88EU_P2P */
 
        /*  AP MAC address  */
        iwe.cmd = SIOCGIWAP;
@@ -424,9 +379,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
        struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
        struct mlme_priv        *pmlmepriv = &padapter->mlmepriv;
        struct security_priv *psecuritypriv = &padapter->securitypriv;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        param->u.crypt.err = 0;
        param->u.crypt.alg[IEEE_CRYPT_ALG_NAME_LEN - 1] = '\0';
@@ -466,11 +419,10 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
                if (wep_key_len > 0) {
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
                        wep_total_len = wep_key_len + FIELD_OFFSET(struct ndis_802_11_wep, KeyMaterial);
-                       pwep = kmalloc(wep_total_len, GFP_KERNEL);
+                       pwep = kzalloc(wep_total_len, GFP_KERNEL);
                        if (!pwep)
                                goto exit;
 
-                       memset(pwep, 0, wep_total_len);
                        pwep->KeyLength = wep_key_len;
                        pwep->Length = wep_total_len;
                        if (wep_key_len == 13) {
@@ -539,10 +491,8 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
                                        padapter->securitypriv.dot118021XGrpKeyid = param->u.crypt.idx;
 
                                        rtw_set_key(padapter, &padapter->securitypriv, param->u.crypt.idx, 1);
-#ifdef CONFIG_88EU_P2P
                                        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_PROVISIONING_ING))
                                                rtw_p2p_set_state(pwdinfo, P2P_STATE_PROVISIONING_DONE);
-#endif /* CONFIG_88EU_P2P */
                                }
                        }
                        pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
@@ -572,9 +522,7 @@ static int rtw_set_wpa_ie(struct adapter *padapter, char *pie, unsigned short ie
        u8 *buf = NULL;
        int group_cipher = 0, pairwise_cipher = 0;
        int ret = 0;
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
        if (ielen > MAX_WPA_IE_LEN || !pie) {
                _clr_fwstate_(&padapter->mlmepriv, WIFI_UNDER_WPS);
@@ -585,14 +533,12 @@ static int rtw_set_wpa_ie(struct adapter *padapter, char *pie, unsigned short ie
        }
 
        if (ielen) {
-               buf = kzalloc(ielen, GFP_KERNEL);
+               buf = kmemdup(pie, ielen, GFP_KERNEL);
                if (!buf) {
                        ret =  -ENOMEM;
                        goto exit;
                }
 
-               memcpy(buf, pie, ielen);
-
                /* dump */
                {
                        int i;
@@ -679,10 +625,8 @@ static int rtw_set_wpa_ie(struct adapter *padapter, char *pie, unsigned short ie
                                        memcpy(padapter->securitypriv.wps_ie, &buf[cnt], padapter->securitypriv.wps_ie_len);
 
                                        set_fwstate(&padapter->mlmepriv, WIFI_UNDER_WPS);
-#ifdef CONFIG_88EU_P2P
                                        if (rtw_p2p_chk_state(pwdinfo, P2P_STATE_GONEGO_OK))
                                                rtw_p2p_set_state(pwdinfo, P2P_STATE_PROVISIONING_ING);
-#endif /* CONFIG_88EU_P2P */
                                        cnt += buf[cnt + 1] + 2;
                                        break;
                                } else {
@@ -1151,16 +1095,8 @@ static int rtw_wx_set_scan(struct net_device *dev, struct iw_request_info *a,
        struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT];
-#ifdef CONFIG_88EU_P2P
        struct wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
 
-       if (padapter->registrypriv.mp_mode == 1) {
-               if (check_fwstate(pmlmepriv, WIFI_MP_STATE)) {
-                       ret = -1;
-                       goto exit;
-               }
-       }
        if (_FAIL == rtw_pwr_wakeup(padapter)) {
                ret = -1;
                goto exit;
@@ -1199,14 +1135,12 @@ static int rtw_wx_set_scan(struct net_device *dev, struct iw_request_info *a,
 /*     the pmlmepriv->scan_interval is always equal to 3. */
 /*     So, the wpa_supplicant won't find out the WPS SoftAP. */
 
-#ifdef CONFIG_88EU_P2P
        if (pwdinfo->p2p_state != P2P_STATE_NONE) {
                rtw_p2p_set_pre_state(pwdinfo, rtw_p2p_state(pwdinfo));
                rtw_p2p_set_state(pwdinfo, P2P_STATE_FIND_PHASE_SEARCH);
                rtw_p2p_findphase_ex_set(pwdinfo, P2P_FINDPHASE_EX_FULL);
                rtw_free_network_queue(padapter, true);
        }
-#endif /* CONFIG_88EU_P2P */
 
        memset(ssid, 0, sizeof(struct ndis_802_11_ssid) * RTW_SSID_SCAN_AMOUNT);
 
@@ -1302,16 +1236,8 @@ static int rtw_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
        u32 cnt = 0;
        u32 wait_for_surveydone;
        int wait_status;
-#ifdef CONFIG_88EU_P2P
        struct  wifidirect_info *pwdinfo = &padapter->wdinfo;
-#endif /* CONFIG_88EU_P2P */
-
-       if (padapter->pwrctrlpriv.brfoffbyhw && padapter->bDriverStopped) {
-               ret = -EINVAL;
-               goto exit;
-       }
 
-#ifdef CONFIG_88EU_P2P
        if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE)) {
                /*      P2P is enabled */
                wait_for_surveydone = 200;
@@ -1319,11 +1245,6 @@ static int rtw_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
                /*      P2P is disabled */
                wait_for_surveydone = 100;
        }
-#else
-       {
-               wait_for_surveydone = 100;
-       }
-#endif /* CONFIG_88EU_P2P */
 
        wait_status = _FW_UNDER_SURVEY | _FW_UNDER_LINKING;
 
@@ -1359,8 +1280,6 @@ static int rtw_wx_get_scan(struct net_device *dev, struct iw_request_info *a,
        wrqu->data.length = ev - extra;
        wrqu->data.flags = 0;
 
-exit:
-
        return ret;
 }
 
@@ -1978,7 +1897,7 @@ static int rtw_wx_set_enc_ext(struct net_device *dev,
        struct ieee_param *param = NULL;
        struct iw_point *pencoding = &wrqu->encoding;
        struct iw_encode_ext *pext = (struct iw_encode_ext *)extra;
-       int ret = 0;
+       int ret = -1;
 
        param_len = sizeof(struct ieee_param) + pext->key_len;
        param = kzalloc(param_len, GFP_KERNEL);
@@ -2004,10 +1923,10 @@ static int rtw_wx_set_enc_ext(struct net_device *dev,
                alg_name = "CCMP";
                break;
        default:
-               return -1;
+               goto out;
        }
 
-       strncpy((char *)param->u.crypt.alg, alg_name, IEEE_CRYPT_ALG_NAME_LEN);
+       strlcpy((char *)param->u.crypt.alg, alg_name, IEEE_CRYPT_ALG_NAME_LEN);
 
        if (pext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY)
                param->u.crypt.set_tx = 1;
@@ -2031,6 +1950,7 @@ static int rtw_wx_set_enc_ext(struct net_device *dev,
 
        ret =  wpa_set_encryption(dev, param, param_len);
 
+out:
        kfree(param);
        return ret;
 }
@@ -2064,14 +1984,9 @@ static int rtw_wx_read32(struct net_device *dev,
        padapter = (struct adapter *)rtw_netdev_priv(dev);
        p = &wrqu->data;
        len = p->length;
-       ptmp = kmalloc(len, GFP_KERNEL);
-       if (!ptmp)
-               return -ENOMEM;
-
-       if (copy_from_user(ptmp, p->pointer, len)) {
-               kfree(ptmp);
-               return -EFAULT;
-       }
+       ptmp = memdup_user(p->pointer, len);
+       if (IS_ERR(ptmp))
+               return PTR_ERR(ptmp);
 
        bytes = 0;
        addr = 0;
@@ -2145,7 +2060,7 @@ static int rtw_wx_read_rf(struct net_device *dev,
 
        path = *(u32 *)extra;
        addr = *((u32 *)extra + 1);
-       data32 = rtw_hal_read_rfreg(padapter, path, addr, 0xFFFFF);
+       data32 = rtl8188e_PHY_QueryRFReg(padapter, path, addr, 0xFFFFF);
        /*
         * IMPORTANT!!
         * Only when wireless private ioctl is at odd order,
@@ -2166,7 +2081,7 @@ static int rtw_wx_write_rf(struct net_device *dev,
        path = *(u32 *)extra;
        addr = *((u32 *)extra + 1);
        data32 = *((u32 *)extra + 2);
-       rtw_hal_write_rfreg(padapter, path, addr, 0xFFFFF, data32);
+       rtl8188e_PHY_SetRFReg(padapter, path, addr, 0xFFFFF, data32);
 
        return 0;
 }
@@ -2230,183 +2145,6 @@ static  int rtw_drvext_hdl(struct net_device *dev, struct iw_request_info *info,
        return 0;
 }
 
-static void rtw_dbg_mode_hdl(struct adapter *padapter, u32 id, u8 *pdata, u32 len)
-{
-       struct mp_rw_reg *RegRWStruct;
-       struct rf_reg_param *prfreg;
-       u8 path;
-       u8 offset;
-       u32 value;
-
-       DBG_88E("%s\n", __func__);
-
-       switch (id) {
-       case GEN_MP_IOCTL_SUBCODE(MP_START):
-               DBG_88E("871x_driver is only for normal mode, can't enter mp mode\n");
-               break;
-       case GEN_MP_IOCTL_SUBCODE(READ_REG):
-               RegRWStruct = (struct mp_rw_reg *)pdata;
-               switch (RegRWStruct->width) {
-               case 1:
-                       RegRWStruct->value = rtw_read8(padapter, RegRWStruct->offset);
-                       break;
-               case 2:
-                       RegRWStruct->value = rtw_read16(padapter, RegRWStruct->offset);
-                       break;
-               case 4:
-                       RegRWStruct->value = rtw_read32(padapter, RegRWStruct->offset);
-                       break;
-               default:
-                       break;
-               }
-
-               break;
-       case GEN_MP_IOCTL_SUBCODE(WRITE_REG):
-               RegRWStruct = (struct mp_rw_reg *)pdata;
-               switch (RegRWStruct->width) {
-               case 1:
-                       rtw_write8(padapter, RegRWStruct->offset, (u8)RegRWStruct->value);
-                       break;
-               case 2:
-                       rtw_write16(padapter, RegRWStruct->offset, (u16)RegRWStruct->value);
-                       break;
-               case 4:
-                       rtw_write32(padapter, RegRWStruct->offset, (u32)RegRWStruct->value);
-                       break;
-               default:
-                       break;
-               }
-
-               break;
-       case GEN_MP_IOCTL_SUBCODE(READ_RF_REG):
-
-               prfreg = (struct rf_reg_param *)pdata;
-
-               path = (u8)prfreg->path;
-               offset = (u8)prfreg->offset;
-
-               value = rtw_hal_read_rfreg(padapter, path, offset, 0xffffffff);
-
-               prfreg->value = value;
-
-               break;
-       case GEN_MP_IOCTL_SUBCODE(WRITE_RF_REG):
-
-               prfreg = (struct rf_reg_param *)pdata;
-
-               path = (u8)prfreg->path;
-               offset = (u8)prfreg->offset;
-               value = prfreg->value;
-
-               rtw_hal_write_rfreg(padapter, path, offset, 0xffffffff, value);
-
-               break;
-       case GEN_MP_IOCTL_SUBCODE(TRIGGER_GPIO):
-               DBG_88E("==> trigger gpio 0\n");
-               rtw_hal_set_hwreg(padapter, HW_VAR_TRIGGER_GPIO_0, NULL);
-               break;
-       case GEN_MP_IOCTL_SUBCODE(GET_WIFI_STATUS):
-               *pdata = rtw_hal_sreset_get_wifi_status(padapter);
-               break;
-       default:
-               break;
-       }
-}
-
-static int rtw_mp_ioctl_hdl(struct net_device *dev, struct iw_request_info *info,
-                                               union iwreq_data *wrqu, char *extra)
-{
-       int ret = 0;
-       u32 BytesRead, BytesWritten, BytesNeeded;
-       struct oid_par_priv     oid_par;
-       struct mp_ioctl_handler *phandler;
-       struct mp_ioctl_param   *poidparam;
-       uint status = 0;
-       u16 len;
-       u8 *pparmbuf = NULL, bset;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       struct iw_point *p = &wrqu->data;
-
-       if ((!p->length) || (!p->pointer)) {
-               ret = -EINVAL;
-               goto _rtw_mp_ioctl_hdl_exit;
-       }
-       pparmbuf = NULL;
-       bset = (u8)(p->flags & 0xFFFF);
-       len = p->length;
-       pparmbuf = kmalloc(len, GFP_KERNEL);
-       if (!pparmbuf) {
-               ret = -ENOMEM;
-               goto _rtw_mp_ioctl_hdl_exit;
-       }
-
-       if (copy_from_user(pparmbuf, p->pointer, len)) {
-               ret = -EFAULT;
-               goto _rtw_mp_ioctl_hdl_exit;
-       }
-
-       poidparam = (struct mp_ioctl_param *)pparmbuf;
-
-       if (poidparam->subcode >= MAX_MP_IOCTL_SUBCODE) {
-               ret = -EINVAL;
-               goto _rtw_mp_ioctl_hdl_exit;
-       }
-
-       if (padapter->registrypriv.mp_mode == 1) {
-               phandler = mp_ioctl_hdl + poidparam->subcode;
-
-               if ((phandler->paramsize != 0) && (poidparam->len < phandler->paramsize)) {
-                       ret = -EINVAL;
-                       goto _rtw_mp_ioctl_hdl_exit;
-               }
-
-               if (phandler->handler) {
-                       oid_par.adapter_context = padapter;
-                       oid_par.oid = phandler->oid;
-                       oid_par.information_buf = poidparam->data;
-                       oid_par.information_buf_len = poidparam->len;
-                       oid_par.dbg = 0;
-
-                       BytesWritten = 0;
-                       BytesNeeded = 0;
-
-                       if (bset) {
-                               oid_par.bytes_rw = &BytesRead;
-                               oid_par.bytes_needed = &BytesNeeded;
-                               oid_par.type_of_oid = SET_OID;
-                       } else {
-                               oid_par.bytes_rw = &BytesWritten;
-                               oid_par.bytes_needed = &BytesNeeded;
-                               oid_par.type_of_oid = QUERY_OID;
-                       }
-
-                       status = phandler->handler(&oid_par);
-               } else {
-                       DBG_88E("rtw_mp_ioctl_hdl(): err!, subcode =%d, oid =%d, handler =%p\n",
-                               poidparam->subcode, phandler->oid, phandler->handler);
-                       ret = -EFAULT;
-                       goto _rtw_mp_ioctl_hdl_exit;
-               }
-       } else {
-               rtw_dbg_mode_hdl(padapter, poidparam->subcode, poidparam->data, poidparam->len);
-       }
-
-       if (bset == 0x00) {/* query info */
-               if (copy_to_user(p->pointer, pparmbuf, len))
-                       ret = -EFAULT;
-       }
-
-       if (status) {
-               ret = -EFAULT;
-               goto _rtw_mp_ioctl_hdl_exit;
-       }
-
-_rtw_mp_ioctl_hdl_exit:
-
-       kfree(pparmbuf);
-       return ret;
-}
-
 static int rtw_get_ap_info(struct net_device *dev,
                               struct iw_request_info *info,
                               union iwreq_data *wrqu, char *extra)
@@ -2559,7 +2297,6 @@ exit:
        return ret;
 }
 
-#ifdef CONFIG_88EU_P2P
 static int rtw_wext_p2p_enable(struct net_device *dev,
                               struct iw_request_info *info,
                               union iwreq_data *wrqu, char *extra)
@@ -3664,15 +3401,12 @@ static int rtw_p2p_got_wpsinfo(struct net_device *dev,
        return ret;
 }
 
-#endif /* CONFIG_88EU_P2P */
-
 static int rtw_p2p_set(struct net_device *dev,
                               struct iw_request_info *info,
                               union iwreq_data *wrqu, char *extra)
 {
        int ret = 0;
 
-#ifdef CONFIG_88EU_P2P
        DBG_88E("[%s] extra = %s\n", __func__, extra);
        if (!memcmp(extra, "enable =", 7)) {
                rtw_wext_p2p_enable(dev, info, wrqu, &extra[7]);
@@ -3719,7 +3453,6 @@ static int rtw_p2p_set(struct net_device *dev,
                wrqu->data.length -= 11;
                rtw_p2p_set_persistent(dev, info, wrqu, &extra[11]);
        }
-#endif /* CONFIG_88EU_P2P */
 
        return ret;
 }
@@ -3730,7 +3463,6 @@ static int rtw_p2p_get(struct net_device *dev,
 {
        int ret = 0;
 
-#ifdef CONFIG_88EU_P2P
        struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
 
        if (padapter->bShowGetP2PState)
@@ -3754,7 +3486,6 @@ static int rtw_p2p_get(struct net_device *dev,
        } else if (!memcmp(wrqu->data.pointer, "op_ch", 5)) {
                rtw_p2p_get_op_ch(dev, info, wrqu, extra);
        }
-#endif /* CONFIG_88EU_P2P */
        return ret;
 }
 
@@ -3764,7 +3495,6 @@ static int rtw_p2p_get2(struct net_device *dev,
 {
        int ret = 0;
 
-#ifdef CONFIG_88EU_P2P
        DBG_88E("[%s] extra = %s\n", __func__, (char *)wrqu->data.pointer);
        if (!memcmp(extra, "wpsCM =", 6)) {
                wrqu->data.length -= 6;
@@ -3783,34 +3513,6 @@ static int rtw_p2p_get2(struct net_device *dev,
                rtw_p2p_get_invitation_procedure(dev, info, wrqu, &extra[8]);
        }
 
-#endif /* CONFIG_88EU_P2P */
-
-       return ret;
-}
-
-static int rtw_cta_test_start(struct net_device *dev,
-                             struct iw_request_info *info,
-                             union iwreq_data *wrqu, char *extra)
-{
-       int ret = 0;
-       struct adapter *padapter = (struct adapter *)rtw_netdev_priv(dev);
-       DBG_88E("%s %s\n", __func__, extra);
-       if (!strcmp(extra, "1"))
-               padapter->in_cta_test = 1;
-       else
-               padapter->in_cta_test = 0;
-
-       if (padapter->in_cta_test) {
-               u32 v = rtw_read32(padapter, REG_RCR);
-               v &= ~(RCR_CBSSID_DATA | RCR_CBSSID_BCN);/*  RCR_ADF */
-               rtw_write32(padapter, REG_RCR, v);
-               DBG_88E("enable RCR_ADF\n");
-       } else {
-               u32 v = rtw_read32(padapter, REG_RCR);
-               v |= RCR_CBSSID_DATA | RCR_CBSSID_BCN;/*  RCR_ADF */
-               rtw_write32(padapter, REG_RCR, v);
-               DBG_88E("disable RCR_ADF\n");
-       }
        return ret;
 }
 
@@ -3847,7 +3549,7 @@ static int rtw_rereg_nd_name(struct net_device *dev,
 
        if (!memcmp(rereg_priv->old_ifname, "disable%d", 9)) {
                padapter->ledpriv.bRegUseLed = rereg_priv->old_bRegUseLed;
-               rtw_hal_sw_led_init(padapter);
+               rtl8188eu_InitSwLeds(padapter);
                rtw_ips_mode_req(&padapter->pwrctrlpriv, rereg_priv->old_ips_mode);
        }
 
@@ -3863,7 +3565,7 @@ static int rtw_rereg_nd_name(struct net_device *dev,
                rtw_led_control(padapter, LED_CTL_POWER_OFF);
                rereg_priv->old_bRegUseLed = padapter->ledpriv.bRegUseLed;
                padapter->ledpriv.bRegUseLed = false;
-               rtw_hal_sw_led_deinit(padapter);
+               rtl8188eu_DeInitSwLeds(padapter);
 
                /*  the interface is being "disabled", we can do deeper IPS */
                rereg_priv->old_ips_mode = rtw_get_ips_mode_req(&padapter->pwrctrlpriv);
@@ -3912,7 +3614,7 @@ static void rf_reg_dump(struct adapter *padapter)
        int i, j = 1, path;
        u32 value;
        u8 rf_type, path_nums = 0;
-       rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
+       GetHwReg8188EU(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
 
        pr_info("\n ======= RF REG =======\n");
        if ((RF_1T2R == rf_type) || (RF_1T1R == rf_type))
@@ -3923,7 +3625,7 @@ static void rf_reg_dump(struct adapter *padapter)
        for (path = 0; path < path_nums; path++) {
                pr_info("\nRF_Path(%x)\n", path);
                for (i = 0; i < 0x100; i++) {
-                       value = rtw_hal_read_rfreg(padapter, path, i, 0xffffffff);
+                       value = rtl8188e_PHY_QueryRFReg(padapter, path, i, 0xffffffff);
                        if (j % 4 == 1)
                                pr_info("0x%02x ", i);
                        pr_info(" 0x%08x ", value);
@@ -3991,18 +3693,18 @@ static int rtw_dbg_port(struct net_device *dev,
                }
                break;
        case 0x72:/* read_bb */
-               DBG_88E("read_bbreg(0x%x) = 0x%x\n", arg, rtw_hal_read_bbreg(padapter, arg, 0xffffffff));
+               DBG_88E("read_bbreg(0x%x) = 0x%x\n", arg, rtl8188e_PHY_QueryBBReg(padapter, arg, 0xffffffff));
                break;
        case 0x73:/* write_bb */
-               rtw_hal_write_bbreg(padapter, arg, 0xffffffff, extra_arg);
-               DBG_88E("write_bbreg(0x%x) = 0x%x\n", arg, rtw_hal_read_bbreg(padapter, arg, 0xffffffff));
+               rtl8188e_PHY_SetBBReg(padapter, arg, 0xffffffff, extra_arg);
+               DBG_88E("write_bbreg(0x%x) = 0x%x\n", arg, rtl8188e_PHY_QueryBBReg(padapter, arg, 0xffffffff));
                break;
        case 0x74:/* read_rf */
-               DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor_cmd, arg, rtw_hal_read_rfreg(padapter, minor_cmd, arg, 0xffffffff));
+               DBG_88E("read RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff));
                break;
        case 0x75:/* write_rf */
-               rtw_hal_write_rfreg(padapter, minor_cmd, arg, 0xffffffff, extra_arg);
-               DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor_cmd, arg, rtw_hal_read_rfreg(padapter, minor_cmd, arg, 0xffffffff));
+               rtl8188e_PHY_SetRFReg(padapter, minor_cmd, arg, 0xffffffff, extra_arg);
+               DBG_88E("write RF_reg path(0x%02x), offset(0x%x), value(0x%08x)\n", minor_cmd, arg, rtl8188e_PHY_QueryRFReg(padapter, minor_cmd, arg, 0xffffffff));
                break;
 
        case 0x76:
@@ -4022,7 +3724,6 @@ static int rtw_dbg_port(struct net_device *dev,
                switch (minor_cmd) {
                case 0x04: /* LLT table initialization test */
                {
-                       u8 page_boundary = 0xf9;
                        struct xmit_frame       *xmit_frame;
 
                        xmit_frame = rtw_IOL_accquire_xmit_frame(padapter);
@@ -4031,9 +3732,7 @@ static int rtw_dbg_port(struct net_device *dev,
                                break;
                        }
 
-                       rtw_IOL_append_LLT_cmd(xmit_frame, page_boundary);
-
-                       if (_SUCCESS != rtw_IOL_exec_cmds_sync(padapter, xmit_frame, 500, 0))
+                       if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 500, 0) != _SUCCESS)
                                ret = -EPERM;
                }
                        break;
@@ -4057,7 +3756,7 @@ static int rtw_dbg_port(struct net_device *dev,
                                rtw_IOL_append_WB_cmd(xmit_frame, reg, 0x08, 0xff);
                                rtw_IOL_append_DELAY_MS_cmd(xmit_frame, blink_delay_ms);
                        }
-                       if (_SUCCESS != rtw_IOL_exec_cmds_sync(padapter, xmit_frame, (blink_delay_ms * blink_num * 2) + 200, 0))
+                       if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, (blink_delay_ms * blink_num * 2) + 200, 0) != _SUCCESS)
                                ret = -EPERM;
                }
                        break;
@@ -4079,7 +3778,7 @@ static int rtw_dbg_port(struct net_device *dev,
 
                        for (i = 0; i < write_num; i++)
                                rtw_IOL_append_WB_cmd(xmit_frame, reg, i + start_value, 0xFF);
-                       if (_SUCCESS != rtw_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0))
+                       if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS)
                                ret = -EPERM;
 
                        final = rtw_read8(padapter, reg);
@@ -4108,7 +3807,7 @@ static int rtw_dbg_port(struct net_device *dev,
 
                        for (i = 0; i < write_num; i++)
                                rtw_IOL_append_WW_cmd(xmit_frame, reg, i + start_value, 0xFFFF);
-                       if (_SUCCESS != rtw_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0))
+                       if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS)
                                ret = -EPERM;
 
                        final = rtw_read16(padapter, reg);
@@ -4136,7 +3835,7 @@ static int rtw_dbg_port(struct net_device *dev,
 
                        for (i = 0; i < write_num; i++)
                                rtw_IOL_append_WD_cmd(xmit_frame, reg, i + start_value, 0xFFFFFFFF);
-                       if (_SUCCESS != rtw_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0))
+                       if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS)
                                ret = -EPERM;
 
                        final = rtw_read32(padapter, reg);
@@ -4222,11 +3921,11 @@ static int rtw_dbg_port(struct net_device *dev,
                case 0x06:
                        {
                                u32     ODMFlag;
-                               rtw_hal_get_hwreg(padapter, HW_VAR_DM_FLAG, (u8 *)(&ODMFlag));
+                               GetHwReg8188EU(padapter, HW_VAR_DM_FLAG, (u8 *)(&ODMFlag));
                                DBG_88E("(B)DMFlag = 0x%x, arg = 0x%x\n", ODMFlag, arg);
                                ODMFlag = (u32)(0x0f & arg);
                                DBG_88E("(A)DMFlag = 0x%x\n", ODMFlag);
-                               rtw_hal_set_hwreg(padapter, HW_VAR_DM_FLAG, (u8 *)(&ODMFlag));
+                               SetHwReg8188EU(padapter, HW_VAR_DM_FLAG, (u8 *)(&ODMFlag));
                        }
                        break;
                case 0x07:
@@ -4249,9 +3948,7 @@ static int rtw_dbg_port(struct net_device *dev,
                                struct list_head *plist, *phead;
                                struct recv_reorder_ctrl *preorder_ctrl;
 
-#ifdef CONFIG_88EU_AP_MODE
                                DBG_88E("sta_dz_bitmap = 0x%x, tim_bitmap = 0x%x\n", pstapriv->sta_dz_bitmap, pstapriv->tim_bitmap);
-#endif
                                spin_lock_bh(&pstapriv->sta_hash_lock);
 
                                for (i = 0; i < NUM_STA; i++) {
@@ -4272,14 +3969,12 @@ static int rtw_dbg_port(struct net_device *dev,
                                                        DBG_88E("ampdu_enable = %d\n", psta->htpriv.ampdu_enable);
                                                        DBG_88E("agg_enable_bitmap =%x, candidate_tid_bitmap =%x\n", psta->htpriv.agg_enable_bitmap, psta->htpriv.candidate_tid_bitmap);
 
-#ifdef CONFIG_88EU_AP_MODE
                                                        DBG_88E("capability = 0x%x\n", psta->capability);
                                                        DBG_88E("flags = 0x%x\n", psta->flags);
                                                        DBG_88E("wpa_psk = 0x%x\n", psta->wpa_psk);
                                                        DBG_88E("wpa2_group_cipher = 0x%x\n", psta->wpa2_group_cipher);
                                                        DBG_88E("wpa2_pairwise_cipher = 0x%x\n", psta->wpa2_pairwise_cipher);
                                                        DBG_88E("qos_info = 0x%x\n", psta->qos_info);
-#endif
                                                        DBG_88E("dot118021XPrivacy = 0x%x\n", psta->dot118021XPrivacy);
 
                                                        for (j = 0; j < 16; j++) {
@@ -4296,16 +3991,10 @@ static int rtw_dbg_port(struct net_device *dev,
                case 0x0c:/* dump rx/tx packet */
                        if (arg == 0) {
                                DBG_88E("dump rx packet (%d)\n", extra_arg);
-                               rtw_hal_set_def_var(padapter, HAL_DEF_DBG_DUMP_RXPKT, &(extra_arg));
+                               SetHalDefVar8188EUsb(padapter, HAL_DEF_DBG_DUMP_RXPKT, &extra_arg);
                        } else if (arg == 1) {
                                DBG_88E("dump tx packet (%d)\n", extra_arg);
-                               rtw_hal_set_def_var(padapter, HAL_DEF_DBG_DUMP_TXPKT, &(extra_arg));
-                       }
-                       break;
-               case 0x0f:
-                       if (extra_arg == 0) {
-                               DBG_88E("###### silent reset test.......#####\n");
-                               rtw_hal_sreset_reset(padapter);
+                               SetHalDefVar8188EUsb(padapter, HAL_DEF_DBG_DUMP_TXPKT, &extra_arg);
                        }
                        break;
                case 0x15:
@@ -4326,11 +4015,10 @@ static int rtw_dbg_port(struct net_device *dev,
                        struct registry_priv    *pregpriv = &padapter->registrypriv;
                        /*  0: disable, bit(0):enable 2.4g, bit(1):enable 5g, 0x3: enable both 2.4g and 5g */
                        /* default is set to enable 2.4GHZ for IOT issue with bufflao's AP at 5GHZ */
-                       if (pregpriv &&
-                           (extra_arg == 0 ||
-                            extra_arg == 1 ||
-                            extra_arg == 2 ||
-                            extra_arg == 3)) {
+                       if (extra_arg == 0 ||
+                           extra_arg == 1 ||
+                           extra_arg == 2 ||
+                           extra_arg == 3) {
                                pregpriv->rx_stbc = extra_arg;
                                DBG_88E("set rx_stbc =%d\n", pregpriv->rx_stbc);
                        } else {
@@ -4342,7 +4030,7 @@ static int rtw_dbg_port(struct net_device *dev,
                {
                        struct registry_priv    *pregpriv = &padapter->registrypriv;
                        /*  0: disable, 0x1:enable (but wifi_spec should be 0), 0x2: force enable (don't care wifi_spec) */
-                       if (pregpriv && extra_arg >= 0 && extra_arg < 3) {
+                       if (extra_arg >= 0 && extra_arg < 3) {
                                pregpriv->ampdu_enable = extra_arg;
                                DBG_88E("set ampdu_enable =%d\n", pregpriv->ampdu_enable);
                        } else {
@@ -4361,10 +4049,8 @@ static int rtw_dbg_port(struct net_device *dev,
                        padapter->bNotifyChannelChange = extra_arg;
                        break;
                case 0x24:
-#ifdef CONFIG_88EU_P2P
                        DBG_88E("turn %s the bShowGetP2PState Variable\n", (extra_arg == 1) ? "on" : "off");
                        padapter->bShowGetP2PState = extra_arg;
-#endif /*  CONFIG_88EU_P2P */
                        break;
                case 0xaa:
                        if (extra_arg > 0x13)
@@ -4385,7 +4071,7 @@ static int rtw_dbg_port(struct net_device *dev,
                                u32 odm_flag;
 
                                if (0xf == extra_arg) {
-                                       rtw_hal_get_def_var(padapter, HAL_DEF_DBG_DM_FUNC, &odm_flag);
+                                       GetHalDefVar8188EUsb(padapter, HAL_DEF_DBG_DM_FUNC, &odm_flag);
                                        DBG_88E(" === DMFlag(0x%08x) ===\n", odm_flag);
                                        DBG_88E("extra_arg = 0  - disable all dynamic func\n");
                                        DBG_88E("extra_arg = 1  - disable DIG- BIT(0)\n");
@@ -4400,8 +4086,8 @@ static int rtw_dbg_port(struct net_device *dev,
                                                extra_arg = 2  - disable tx power tracking
                                                extra_arg = 3  - turn on all dynamic func
                                        */
-                                       rtw_hal_set_def_var(padapter, HAL_DEF_DBG_DM_FUNC, &(extra_arg));
-                                       rtw_hal_get_def_var(padapter, HAL_DEF_DBG_DM_FUNC, &odm_flag);
+                                       SetHalDefVar8188EUsb(padapter, HAL_DEF_DBG_DM_FUNC, &extra_arg);
+                                       GetHalDefVar8188EUsb(padapter, HAL_DEF_DBG_DM_FUNC, &odm_flag);
                                        DBG_88E(" === DMFlag(0x%08x) ===\n", odm_flag);
                                }
                        }
@@ -4492,12 +4178,11 @@ static int rtw_wx_set_priv(struct net_device *dev,
                        kfree(pmlmepriv->wps_probe_req_ie);
                        pmlmepriv->wps_probe_req_ie = NULL;
 
-                       pmlmepriv->wps_probe_req_ie = kmalloc(cp_sz, GFP_KERNEL);
+                       pmlmepriv->wps_probe_req_ie = kmemdup(probereq_wpsie, cp_sz, GFP_KERNEL);
                        if (!pmlmepriv->wps_probe_req_ie) {
                                ret =  -EINVAL;
                                goto FREE_EXT;
                        }
-                       memcpy(pmlmepriv->wps_probe_req_ie, probereq_wpsie, cp_sz);
                        pmlmepriv->wps_probe_req_ie_len = cp_sz;
                }
                goto FREE_EXT;
@@ -4539,1866 +4224,57 @@ static int rtw_pm_set(struct net_device *dev,
        return ret;
 }
 
-static int rtw_mp_efuse_get(struct net_device *dev,
-                       struct iw_request_info *info,
-                       union iwreq_data *wdata, char *extra)
+extern int wifirate2_ratetbl_inx(unsigned char rate);
+
+static int rtw_tdls(struct net_device *dev,
+                   struct iw_request_info *info,
+                   union iwreq_data *wrqu, char *extra)
 {
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
-       struct hal_data_8188e *haldata = GET_HAL_DATA(padapter);
-       struct efuse_hal *pEfuseHal;
-       struct iw_point *wrqu;
-
-       u8 *PROMContent = pEEPROM->efuse_eeprom_data;
-       u8 ips_mode = 0, lps_mode = 0;
-       struct pwrctrl_priv *pwrctrlpriv;
-       u8 *data = NULL;
-       u8 *rawdata = NULL;
-       char *pch, *ptmp, *token, *tmp[3] = {NULL, NULL, NULL};
-       u16 i = 0, j = 0, mapLen = 0, addr = 0, cnts = 0;
-       u16 max_available_size = 0, raw_cursize = 0, raw_maxsize = 0;
-       int err;
-       u8 org_fw_iol = padapter->registrypriv.fw_iol;/*  0:Disable, 1:enable, 2:by usb speed */
-
-       wrqu = (struct iw_point *)wdata;
-       pwrctrlpriv = &padapter->pwrctrlpriv;
-       pEfuseHal = &haldata->EfuseHal;
-
-       err = 0;
-       data = kzalloc(EFUSE_BT_MAX_MAP_LEN, GFP_KERNEL);
-       if (!data) {
-               err = -ENOMEM;
-               goto exit;
-       }
-       rawdata = kzalloc(EFUSE_BT_MAX_MAP_LEN, GFP_KERNEL);
-       if (!rawdata) {
-               err = -ENOMEM;
-               goto exit;
-       }
+       return 0;
+}
 
-       if (copy_from_user(extra, wrqu->pointer, wrqu->length)) {
-               err = -EFAULT;
-               goto exit;
-       }
-       lps_mode = pwrctrlpriv->power_mgnt;/* keep org value */
-       rtw_pm_set_lps(padapter, PS_MODE_ACTIVE);
+static int rtw_tdls_get(struct net_device *dev,
+                               struct iw_request_info *info,
+                               union iwreq_data *wrqu, char *extra)
+{
+       return 0;
+}
 
-       ips_mode = pwrctrlpriv->ips_mode;/* keep org value */
-       rtw_pm_set_ips(padapter, IPS_NONE);
+static int rtw_test(
+       struct net_device *dev,
+       struct iw_request_info *info,
+       union iwreq_data *wrqu, char *extra)
+{
+       u32 len;
+       u8 *pbuf, *pch;
+       char *ptmp;
+       u8 *delim = ",";
 
-       pch = extra;
-       DBG_88E("%s: in =%s\n", __func__, extra);
+       DBG_88E("+%s\n", __func__);
+       len = wrqu->data.length;
 
-       i = 0;
-       /* mac 16 "00e04c871200" rmap, 00, 2 */
-       while ((token = strsep(&pch, ",")) != NULL) {
-               if (i > 2)
-                       break;
-               tmp[i] = token;
-               i++;
+       pbuf = kzalloc(len, GFP_KERNEL);
+       if (!pbuf) {
+               DBG_88E("%s: no memory!\n", __func__);
+               return -ENOMEM;
        }
-       padapter->registrypriv.fw_iol = 0;/*  0:Disable, 1:enable, 2:by usb speed */
-
-       if (strcmp(tmp[0], "status") == 0) {
-               sprintf(extra, "Load File efuse =%s, Load File MAC =%s", (pEEPROM->bloadfile_fail_flag ? "FAIL" : "OK"), (pEEPROM->bloadmac_fail_flag ? "FAIL" : "OK"));
-
-               goto exit;
-       } else if (strcmp(tmp[0], "filemap") == 0) {
-               mapLen = EFUSE_MAP_SIZE;
-
-               sprintf(extra, "\n");
-               for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
-                       sprintf(extra + strlen(extra), "0x%02x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", PROMContent[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), "%02X ", PROMContent[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else if (strcmp(tmp[0], "realmap") == 0) {
-               mapLen = EFUSE_MAP_SIZE;
-               if (rtw_efuse_map_read(padapter, 0, mapLen, pEfuseHal->fakeEfuseInitMap) == _FAIL) {
-                       DBG_88E("%s: read realmap Fail!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               sprintf(extra, "\n");
-               for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
-                       sprintf(extra + strlen(extra), "0x%02x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeEfuseInitMap[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeEfuseInitMap[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else if (strcmp(tmp[0], "rmap") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       DBG_88E("%s: rmap Fail!! Parameters error!\n", __func__);
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               /*  rmap addr cnts */
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               DBG_88E("%s: addr =%x\n", __func__, addr);
-
-               cnts = simple_strtoul(tmp[2], &ptmp, 10);
-               if (cnts == 0) {
-                       DBG_88E("%s: rmap Fail!! cnts error!\n", __func__);
-                       err = -EINVAL;
-                       goto exit;
-               }
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%X)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               if (rtw_efuse_map_read(padapter, addr, cnts, data) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_map_read error!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               *extra = 0;
-               for (i = 0; i < cnts; i++)
-                       sprintf(extra + strlen(extra), "0x%02X ", data[i]);
-       } else if (strcmp(tmp[0], "realraw") == 0) {
-               addr = 0;
-               mapLen = EFUSE_MAX_SIZE;
-               if (rtw_efuse_access(padapter, false, addr, mapLen, rawdata) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_access Fail!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               sprintf(extra, "\n");
-               for (i = 0; i < mapLen; i++) {
-                       sprintf(extra + strlen(extra), "%02X", rawdata[i]);
-
-                       if ((i & 0xF) == 0xF)
-                               sprintf(extra + strlen(extra), "\n");
-                       else if ((i & 0x7) == 0x7)
-                               sprintf(extra + strlen(extra), "\t");
-                       else
-                               sprintf(extra + strlen(extra), " ");
-               }
-       } else if (strcmp(tmp[0], "mac") == 0) {
-               cnts = 6;
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%02x)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
 
-               if (rtw_efuse_map_read(padapter, addr, cnts, data) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_map_read error!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               *extra = 0;
-               for (i = 0; i < cnts; i++) {
-                       sprintf(extra + strlen(extra), "%02X", data[i]);
-                       if (i != (cnts - 1))
-                               sprintf(extra + strlen(extra), ":");
-               }
-       } else if (strcmp(tmp[0], "vidpid") == 0) {
-               cnts = 4;
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%02x)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
-               if (rtw_efuse_map_read(padapter, addr, cnts, data) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_access error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               *extra = 0;
-               for (i = 0; i < cnts; i++) {
-                       sprintf(extra + strlen(extra), "0x%02X", data[i]);
-                       if (i != (cnts - 1))
-                               sprintf(extra + strlen(extra), ",");
-               }
-       } else if (strcmp(tmp[0], "ableraw") == 0) {
-               efuse_GetCurrentSize(padapter, &raw_cursize);
-               raw_maxsize = efuse_GetMaxSize(padapter);
-               sprintf(extra, "[available raw size] = %d bytes", raw_maxsize - raw_cursize);
-       } else if (strcmp(tmp[0], "btfmap") == 0) {
-               mapLen = EFUSE_BT_MAX_MAP_LEN;
-               if (rtw_BT_efuse_map_read(padapter, 0, mapLen, pEfuseHal->BTEfuseInitMap) == _FAIL) {
-                       DBG_88E("%s: rtw_BT_efuse_map_read Fail!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               sprintf(extra, "\n");
-               for (i = 0; i < 512; i += 16) {
-                       /*  set 512 because the iwpriv's extra size have limit 0x7FF */
-                       sprintf(extra + strlen(extra), "0x%03x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else if (strcmp(tmp[0], "btbmap") == 0) {
-               mapLen = EFUSE_BT_MAX_MAP_LEN;
-               if (rtw_BT_efuse_map_read(padapter, 0, mapLen, pEfuseHal->BTEfuseInitMap) == _FAIL) {
-                       DBG_88E("%s: rtw_BT_efuse_map_read Fail!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               sprintf(extra, "\n");
-               for (i = 512; i < 1024; i += 16) {
-                       sprintf(extra + strlen(extra), "0x%03x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->BTEfuseInitMap[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else if (strcmp(tmp[0], "btrmap") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               /*  rmap addr cnts */
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-
-               cnts = simple_strtoul(tmp[2], &ptmp, 10);
-               if (cnts == 0) {
-                       DBG_88E("%s: btrmap Fail!! cnts error!\n", __func__);
-                       err = -EINVAL;
-                       goto exit;
-               }
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%X)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_BT_efuse_map_read(padapter, addr, cnts, data) == _FAIL) {
-                       DBG_88E("%s: rtw_BT_efuse_map_read error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               *extra = 0;
-               for (i = 0; i < cnts; i++)
-                       sprintf(extra + strlen(extra), " 0x%02X ", data[i]);
-       } else if (strcmp(tmp[0], "btffake") == 0) {
-               sprintf(extra, "\n");
-               for (i = 0; i < 512; i += 16) {
-                       sprintf(extra + strlen(extra), "0x%03x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else if (strcmp(tmp[0], "btbfake") == 0) {
-               sprintf(extra, "\n");
-               for (i = 512; i < 1024; i += 16) {
-                       sprintf(extra + strlen(extra), "0x%03x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeBTEfuseModifiedMap[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else if (strcmp(tmp[0], "wlrfkmap") == 0) {
-               sprintf(extra, "\n");
-               for (i = 0; i < EFUSE_MAP_SIZE; i += 16) {
-                       sprintf(extra + strlen(extra), "0x%02x\t", i);
-                       for (j = 0; j < 8; j++)
-                               sprintf(extra + strlen(extra), "%02X ", pEfuseHal->fakeEfuseModifiedMap[i + j]);
-                       sprintf(extra + strlen(extra), "\t");
-                       for (; j < 16; j++)
-                               sprintf(extra + strlen(extra), " %02X", pEfuseHal->fakeEfuseModifiedMap[i + j]);
-                       sprintf(extra + strlen(extra), "\n");
-               }
-       } else {
-                sprintf(extra, "Command not found!");
+       if (copy_from_user(pbuf, wrqu->data.pointer, len)) {
+               kfree(pbuf);
+               DBG_88E("%s: copy from user fail!\n", __func__);
+               return -EFAULT;
        }
+       DBG_88E("%s: string =\"%s\"\n", __func__, pbuf);
 
-exit:
-       kfree(data);
-       kfree(rawdata);
-       if (!err)
-               wrqu->length = strlen(extra);
-
-       rtw_pm_set_ips(padapter, ips_mode);
-       rtw_pm_set_lps(padapter, lps_mode);
-       padapter->registrypriv.fw_iol = org_fw_iol;/*  0:Disable, 1:enable, 2:by usb speed */
-       return err;
-}
-
-static int rtw_mp_efuse_set(struct net_device *dev,
-                       struct iw_request_info *info,
-                       union iwreq_data *wdata, char *extra)
-{
-       struct adapter *padapter;
-       struct pwrctrl_priv *pwrctrlpriv;
-       struct hal_data_8188e *haldata;
-       struct efuse_hal *pEfuseHal;
-
-       u8 ips_mode = 0, lps_mode = 0;
-       u32 i, jj, kk;
-       u8 *setdata = NULL;
-       u8 *ShadowMapBT = NULL;
-       u8 *ShadowMapWiFi = NULL;
-       u8 *setrawdata = NULL;
-       char *pch, *ptmp, *token, *tmp[3] = {NULL, NULL, NULL};
-       u16 addr = 0, cnts = 0, max_available_size = 0;
-       int err;
-
-       padapter = rtw_netdev_priv(dev);
-       pwrctrlpriv = &padapter->pwrctrlpriv;
-       haldata = GET_HAL_DATA(padapter);
-       pEfuseHal = &haldata->EfuseHal;
-       err = 0;
-       setdata = kzalloc(1024, GFP_KERNEL);
-       if (!setdata) {
-               err = -ENOMEM;
-               goto exit;
-       }
-       ShadowMapBT = kmalloc(EFUSE_BT_MAX_MAP_LEN, GFP_KERNEL);
-       if (!ShadowMapBT) {
-               err = -ENOMEM;
-               goto exit;
-       }
-       ShadowMapWiFi = kmalloc(EFUSE_MAP_SIZE, GFP_KERNEL);
-       if (!ShadowMapWiFi) {
-               err = -ENOMEM;
-               goto exit;
-       }
-       setrawdata = kmalloc(EFUSE_MAX_SIZE, GFP_KERNEL);
-       if (!setrawdata) {
-               err = -ENOMEM;
-               goto exit;
-       }
-
-       lps_mode = pwrctrlpriv->power_mgnt;/* keep org value */
-       rtw_pm_set_lps(padapter, PS_MODE_ACTIVE);
-
-       ips_mode = pwrctrlpriv->ips_mode;/* keep org value */
-       rtw_pm_set_ips(padapter, IPS_NONE);
-
-       pch = extra;
-       DBG_88E("%s: in =%s\n", __func__, extra);
-
-       i = 0;
-       while ((token = strsep(&pch, ",")) != NULL) {
-               if (i > 2)
-                       break;
-               tmp[i] = token;
-               i++;
-       }
-
-       /*  tmp[0],[1],[2] */
-       /*  wmap, addr, 00e04c871200 */
-       if (strcmp(tmp[0], "wmap") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               addr &= 0xFFF;
-
-               cnts = strlen(tmp[2]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: map data =%s\n", __func__, tmp[2]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       setdata[jj] = key_2char2num(tmp[2][kk], tmp[2][kk + 1]);
-               /* Change to check TYPE_EFUSE_MAP_LEN, because 8188E raw 256, logic map over 256. */
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%X)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_efuse_map_write(padapter, addr, cnts, setdata) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_map_write error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "wraw") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               addr &= 0xFFF;
-
-               cnts = strlen(tmp[2]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: raw data =%s\n", __func__, tmp[2]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       setrawdata[jj] = key_2char2num(tmp[2][kk], tmp[2][kk + 1]);
-
-               if (rtw_efuse_access(padapter, true, addr, cnts, setrawdata) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_access error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "mac") == 0) {
-               if (!tmp[1]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               /* mac, 00e04c871200 */
-               addr = EEPROM_MAC_ADDR_88EU;
-               cnts = strlen(tmp[1]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               if (cnts > 6) {
-                       DBG_88E("%s: error data for mac addr =\"%s\"\n", __func__, tmp[1]);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: MAC address =%s\n", __func__, tmp[1]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       setdata[jj] = key_2char2num(tmp[1][kk], tmp[1][kk + 1]);
-               /* Change to check TYPE_EFUSE_MAP_LEN, because 8188E raw 256, logic map over 256. */
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_EFUSE_MAP_LEN, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%X)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_efuse_map_write(padapter, addr, cnts, setdata) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_map_write error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "vidpid") == 0) {
-               if (!tmp[1]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               /*  pidvid, da0b7881 */
-               addr = EEPROM_VID_88EE;
-               cnts = strlen(tmp[1]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: VID/PID =%s\n", __func__, tmp[1]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       setdata[jj] = key_2char2num(tmp[1][kk], tmp[1][kk + 1]);
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%X)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_efuse_map_write(padapter, addr, cnts, setdata) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_map_write error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "btwmap") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               addr &= 0xFFF;
-
-               cnts = strlen(tmp[2]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: BT data =%s\n", __func__, tmp[2]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       setdata[jj] = key_2char2num(tmp[2][kk], tmp[2][kk + 1]);
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if ((addr + cnts) > max_available_size) {
-                       DBG_88E("%s: addr(0x%X)+cnts(%d) parameter error!\n", __func__, addr, cnts);
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_BT_efuse_map_write(padapter, addr, cnts, setdata) == _FAIL) {
-                       DBG_88E("%s: rtw_BT_efuse_map_write error!!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "btwfake") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               addr &= 0xFFF;
-
-               cnts = strlen(tmp[2]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: BT tmp data =%s\n", __func__, tmp[2]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       pEfuseHal->fakeBTEfuseModifiedMap[addr + jj] = key_2char2num(tmp[2][kk], tmp[2][kk + 1]);
-       } else if (strcmp(tmp[0], "btdumpfake") == 0) {
-               if (rtw_BT_efuse_map_read(padapter, 0, EFUSE_BT_MAX_MAP_LEN, pEfuseHal->fakeBTEfuseModifiedMap) == _SUCCESS) {
-                       DBG_88E("%s: BT read all map success\n", __func__);
-               } else {
-                       DBG_88E("%s: BT read all map Fail!\n", __func__);
-                       err = -EFAULT;
-               }
-       } else if (strcmp(tmp[0], "wldumpfake") == 0) {
-               if (rtw_efuse_map_read(padapter, 0, EFUSE_BT_MAX_MAP_LEN,  pEfuseHal->fakeEfuseModifiedMap) == _SUCCESS) {
-                       DBG_88E("%s: BT read all map success\n", __func__);
-               } else {
-                       DBG_88E("%s: BT read all map  Fail\n", __func__);
-                       err = -EFAULT;
-               }
-       } else if (strcmp(tmp[0], "btfk2map") == 0) {
-               memcpy(pEfuseHal->BTEfuseModifiedMap, pEfuseHal->fakeBTEfuseModifiedMap, EFUSE_BT_MAX_MAP_LEN);
-
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if (max_available_size < 1) {
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_BT_efuse_map_write(padapter, 0x00, EFUSE_BT_MAX_MAP_LEN, pEfuseHal->fakeBTEfuseModifiedMap) == _FAIL) {
-                       DBG_88E("%s: rtw_BT_efuse_map_write error!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "wlfk2map") == 0) {
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if (max_available_size < 1) {
-                       err = -EFAULT;
-                       goto exit;
-               }
-
-               if (rtw_efuse_map_write(padapter, 0x00, EFUSE_MAX_MAP_LEN, pEfuseHal->fakeEfuseModifiedMap) == _FAIL) {
-                       DBG_88E("%s: rtw_efuse_map_write error!\n", __func__);
-                       err = -EFAULT;
-                       goto exit;
-               }
-       } else if (strcmp(tmp[0], "wlwfake") == 0) {
-               if (!tmp[1] || !tmp[2]) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               addr = simple_strtoul(tmp[1], &ptmp, 16);
-               addr &= 0xFFF;
-
-               cnts = strlen(tmp[2]);
-               if (cnts % 2) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-               cnts /= 2;
-               if (cnts == 0) {
-                       err = -EINVAL;
-                       goto exit;
-               }
-
-               DBG_88E("%s: addr = 0x%X\n", __func__, addr);
-               DBG_88E("%s: cnts =%d\n", __func__, cnts);
-               DBG_88E("%s: map tmp data =%s\n", __func__, tmp[2]);
-
-               for (jj = 0, kk = 0; jj < cnts; jj++, kk += 2)
-                       pEfuseHal->fakeEfuseModifiedMap[addr + jj] = key_2char2num(tmp[2][kk], tmp[2][kk + 1]);
-       }
-
-exit:
-       kfree(setdata);
-       kfree(ShadowMapBT);
-       kfree(ShadowMapWiFi);
-       kfree(setrawdata);
-
-       rtw_pm_set_ips(padapter, ips_mode);
-       rtw_pm_set_lps(padapter, lps_mode);
-
-       return err;
-}
-
-/*
- * Input Format: %s,%d,%d
- *     %s is width, could be
- *             "b" for 1 byte
- *             "w" for WORD (2 bytes)
- *             "dw" for DWORD (4 bytes)
- *     1st %d is address(offset)
- *     2st %d is data to write
- */
-static int rtw_mp_write_reg(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       char *pch, *pnext, *ptmp;
-       char *width_str;
-       char width;
-       u32 addr, data;
-       int ret;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       pch = extra;
-       pnext = strpbrk(pch, ",.-");
-       if (!pnext)
-               return -EINVAL;
-       *pnext = 0;
-       width_str = pch;
-
-       pch = pnext + 1;
-       pnext = strpbrk(pch, ",.-");
-       if (!pnext)
-               return -EINVAL;
-       *pnext = 0;
-       addr = simple_strtoul(pch, &ptmp, 16);
-       if (addr > 0x3FFF)
-               return -EINVAL;
-
-       pch = pnext + 1;
-       if ((pch - extra) >= wrqu->length)
-               return -EINVAL;
-       data = simple_strtoul(pch, &ptmp, 16);
-
-       ret = 0;
-       width = width_str[0];
-       switch (width) {
-       case 'b':
-               /*  1 byte */
-               if (data > 0xFF) {
-                       ret = -EINVAL;
-                       break;
-               }
-               rtw_write8(padapter, addr, data);
-               break;
-       case 'w':
-               /*  2 bytes */
-               if (data > 0xFFFF) {
-                       ret = -EINVAL;
-                       break;
-               }
-               rtw_write16(padapter, addr, data);
-               break;
-       case 'd':
-               /*  4 bytes */
-               rtw_write32(padapter, addr, data);
-               break;
-       default:
-               ret = -EINVAL;
-               break;
-       }
-
-       return ret;
-}
-
-/*
- * Input Format: %s,%d
- *     %s is width, could be
- *             "b" for 1 byte
- *             "w" for WORD (2 bytes)
- *             "dw" for DWORD (4 bytes)
- *     %d is address(offset)
- *
- * Return:
- *     %d for data readed
- */
-static int rtw_mp_read_reg(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       char *pch, *pnext, *ptmp;
-       char *width_str;
-       char width;
-       char data[20], tmp[20];
-       u32 addr;
-       u32 ret, i = 0, j = 0, strtout = 0;
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       memset(data, 0, 20);
-       memset(tmp, 0, 20);
-       memset(extra, 0, wrqu->length);
-
-       pch = input;
-       pnext = strpbrk(pch, ",.-");
-       if (!pnext) {
-               kfree(input);
-               return -EINVAL;
-       }
-       *pnext = 0;
-       width_str = pch;
-
-       pch = pnext + 1;
-       if ((pch - input) >= wrqu->length) {
-               kfree(input);
-               return -EINVAL;
-       }
-       kfree(input);
-       addr = simple_strtoul(pch, &ptmp, 16);
-       if (addr > 0x3FFF)
-               return -EINVAL;
-
-       ret = 0;
-       width = width_str[0];
-       switch (width) {
-       case 'b':
-               /*  1 byte */
-               sprintf(extra, "%d\n",  rtw_read8(padapter, addr));
-               wrqu->length = strlen(extra);
-               break;
-       case 'w':
-               /*  2 bytes */
-               sprintf(data, "%04x\n", rtw_read16(padapter, addr));
-               for (i = 0; i <= strlen(data); i++) {
-                       if (i % 2 == 0) {
-                               tmp[j] = ' ';
-                               j++;
-                       }
-                       if (data[i] != '\0')
-                               tmp[j] = data[i];
-                       j++;
-               }
-               pch = tmp;
-               DBG_88E("pch =%s", pch);
-
-               while (*pch != '\0') {
-                       pnext = strpbrk(pch, " ");
-                       if (!pnext)
-                               break;
-
-                       pnext++;
-                       if (*pnext != '\0') {
-                               strtout = simple_strtoul(pnext, &ptmp, 16);
-                               sprintf(extra + strlen(extra), " %d", strtout);
-                       } else {
-                                 break;
-                       }
-                       pch = pnext;
-               }
-               wrqu->length = 6;
-               break;
-       case 'd':
-               /*  4 bytes */
-               sprintf(data, "%08x", rtw_read32(padapter, addr));
-               /* add read data format blank */
-               for (i = 0; i <= strlen(data); i++) {
-                       if (i % 2 == 0) {
-                               tmp[j] = ' ';
-                               j++;
-                       }
-                       if (data[i] != '\0')
-                               tmp[j] = data[i];
-
-                       j++;
-               }
-               pch = tmp;
-               DBG_88E("pch =%s", pch);
-
-               while (*pch != '\0') {
-                       pnext = strpbrk(pch, " ");
-                       if (!pnext)
-                               break;
-                       pnext++;
-                       if (*pnext != '\0') {
-                               strtout = simple_strtoul(pnext, &ptmp, 16);
-                               sprintf(extra + strlen(extra), " %d", strtout);
-                       } else {
-                               break;
-                       }
-                       pch = pnext;
-               }
-               wrqu->length = strlen(extra);
-               break;
-       default:
-               wrqu->length = 0;
-               ret = -EINVAL;
-               break;
-       }
-
-       return ret;
-}
-
-/*
- * Input Format: %d,%x,%x
- *     %d is RF path, should be smaller than RF_PATH_MAX
- *     1st %x is address(offset)
- *     2st %x is data to write
- */
- static int rtw_mp_write_rf(struct net_device *dev,
-                           struct iw_request_info *info,
-                           struct iw_point *wrqu, char *extra)
-{
-       u32 path, addr, data;
-       int ret;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       ret = sscanf(extra, "%d,%x,%x", &path, &addr, &data);
-       if (ret < 3)
-               return -EINVAL;
-
-       if (path >= RF_PATH_MAX)
-               return -EINVAL;
-       if (addr > 0xFF)
-               return -EINVAL;
-       if (data > 0xFFFFF)
-               return -EINVAL;
-
-       memset(extra, 0, wrqu->length);
-
-       write_rfreg(padapter, path, addr, data);
-
-       sprintf(extra, "write_rf completed\n");
-       wrqu->length = strlen(extra);
-
-       return 0;
-}
-
-/*
- * Input Format: %d,%x
- *     %d is RF path, should be smaller than RF_PATH_MAX
- *     %x is address(offset)
- *
- * Return:
- *     %d for data readed
- */
-static int rtw_mp_read_rf(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       char *pch, *pnext, *ptmp;
-       char data[20], tmp[20];
-       u32 path, addr;
-       u32 ret, i = 0, j = 0, strtou = 0;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       ret = sscanf(input, "%d,%x", &path, &addr);
-       kfree(input);
-       if (ret < 2)
-               return -EINVAL;
-
-       if (path >= RF_PATH_MAX)
-               return -EINVAL;
-       if (addr > 0xFF)
-               return -EINVAL;
-
-       memset(extra, 0, wrqu->length);
-
-       sprintf(data, "%08x", read_rfreg(padapter, path, addr));
-       /* add read data format blank */
-       for (i = 0; i <= strlen(data); i++) {
-               if (i % 2 == 0) {
-                       tmp[j] = ' ';
-                       j++;
-               }
-               tmp[j] = data[i];
-               j++;
-       }
-       pch = tmp;
-       DBG_88E("pch =%s", pch);
-
-       while (*pch != '\0') {
-               pnext = strpbrk(pch, " ");
-               pnext++;
-               if (*pnext != '\0') {
-                         strtou = simple_strtoul(pnext, &ptmp, 16);
-                         sprintf(extra + strlen(extra), " %d", strtou);
-               } else {
-                         break;
-               }
-               pch = pnext;
-       }
-       wrqu->length = strlen(extra);
-       return 0;
-}
-
-static int rtw_mp_start(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (padapter->registrypriv.mp_mode == 0) {
-               padapter->registrypriv.mp_mode = 1;
-
-               rtw_pm_set_ips(padapter, IPS_NONE);
-               LeaveAllPowerSaveMode(padapter);
-
-               MPT_InitializeAdapter(padapter, 1);
-       }
-       if (padapter->registrypriv.mp_mode == 0)
-               return -EPERM;
-       if (padapter->mppriv.mode == MP_OFF) {
-               if (mp_start_test(padapter) == _FAIL)
-                       return -EPERM;
-               padapter->mppriv.mode = MP_ON;
-       }
-       return 0;
-}
-
-static int rtw_mp_stop(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (padapter->registrypriv.mp_mode == 1) {
-               MPT_DeInitAdapter(padapter);
-               padapter->registrypriv.mp_mode = 0;
-       }
-
-       if (padapter->mppriv.mode != MP_OFF) {
-               mp_stop_test(padapter);
-               padapter->mppriv.mode = MP_OFF;
-       }
-
-       return 0;
-}
-
-extern int wifirate2_ratetbl_inx(unsigned char rate);
-
-static int rtw_mp_rate(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u32 rate = MPT_RATE_1M;
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       rate = rtw_atoi(input);
-       sprintf(extra, "Set data rate to %d", rate);
-       kfree(input);
-       if (rate <= 0x7f)
-               rate = wifirate2_ratetbl_inx((u8)rate);
-       else
-               rate = (rate - 0x80 + MPT_RATE_MCS0);
-
-       if (rate >= MPT_RATE_LAST)
-               return -EINVAL;
-
-       padapter->mppriv.rateidx = rate;
-       Hal_SetDataRate(padapter);
-
-       wrqu->length = strlen(extra) + 1;
-       return 0;
-}
-
-static int rtw_mp_channel(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       u32     channel = 1;
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       channel = rtw_atoi(input);
-       sprintf(extra, "Change channel %d to channel %d", padapter->mppriv.channel, channel);
-
-       padapter->mppriv.channel = channel;
-       Hal_SetChannel(padapter);
-
-       wrqu->length = strlen(extra) + 1;
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_bandwidth(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u32 bandwidth = 0, sg = 0;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       sscanf(extra, "40M =%d, shortGI =%d", &bandwidth, &sg);
-
-       if (bandwidth != HT_CHANNEL_WIDTH_40)
-               bandwidth = HT_CHANNEL_WIDTH_20;
-
-       padapter->mppriv.bandwidth = (u8)bandwidth;
-       padapter->mppriv.preamble = sg;
-
-       SetBandwidth(padapter);
-
-       return 0;
-}
-
-static int rtw_mp_txpower(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u32             idx_a = 0, idx_b = 0;
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       sscanf(input, "patha =%d, pathb =%d", &idx_a, &idx_b);
-
-       sprintf(extra, "Set power level path_A:%d path_B:%d", idx_a, idx_b);
-       padapter->mppriv.txpoweridx = (u8)idx_a;
-       padapter->mppriv.txpoweridx_b = (u8)idx_b;
-       padapter->mppriv.bSetTxPower = 1;
-       Hal_SetAntennaPathPower(padapter);
-
-       wrqu->length = strlen(extra) + 1;
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_ant_tx(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u8 i;
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       u16 antenna = 0;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-
-       sprintf(extra, "switch Tx antenna to %s", input);
-
-       for (i = 0; i < strlen(input); i++) {
-               switch (input[i]) {
-               case 'a':
-                       antenna |= ANTENNA_A;
-                       break;
-               case 'b':
-                       antenna |= ANTENNA_B;
-                       break;
-               }
-       }
-       padapter->mppriv.antenna_tx = antenna;
-
-       Hal_SetAntenna(padapter);
-
-       wrqu->length = strlen(extra) + 1;
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_ant_rx(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u8 i;
-       u16 antenna = 0;
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       memset(extra, 0, wrqu->length);
-
-       sprintf(extra, "switch Rx antenna to %s", input);
-
-       for (i = 0; i < strlen(input); i++) {
-               switch (input[i]) {
-               case 'a':
-                       antenna |= ANTENNA_A;
-                       break;
-               case 'b':
-                       antenna |= ANTENNA_B;
-                       break;
-               }
-       }
-
-       padapter->mppriv.antenna_rx = antenna;
-       Hal_SetAntenna(padapter);
-       wrqu->length = strlen(extra);
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_ctx(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u32 pkTx = 1, countPkTx = 1, cotuTx = 1, CarrSprTx = 1, scTx = 1, sgleTx = 1, stop = 1;
-       u32 bStartTest = 1;
-       u32 count = 0;
-       struct mp_priv *pmp_priv;
-       struct pkt_attrib *pattrib;
-
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       pmp_priv = &padapter->mppriv;
-
-       if (copy_from_user(extra, wrqu->pointer, wrqu->length))
-                       return -EFAULT;
-
-       DBG_88E("%s: in =%s\n", __func__, extra);
-
-       countPkTx = strncmp(extra, "count =", 5); /*  strncmp true is 0 */
-       cotuTx = strncmp(extra, "background", 20);
-       CarrSprTx = strncmp(extra, "background, cs", 20);
-       scTx = strncmp(extra, "background, sc", 20);
-       sgleTx = strncmp(extra, "background, stone", 20);
-       pkTx = strncmp(extra, "background, pkt", 20);
-       stop = strncmp(extra, "stop", 4);
-       sscanf(extra, "count =%d, pkt", &count);
-
-       memset(extra, '\0', sizeof(*extra));
-
-       if (stop == 0) {
-               bStartTest = 0; /*  To set Stop */
-               pmp_priv->tx.stop = 1;
-               sprintf(extra, "Stop continuous Tx");
-       } else {
-               bStartTest = 1;
-               if (pmp_priv->mode != MP_ON) {
-                       if (pmp_priv->tx.stop != 1) {
-                               DBG_88E("%s: MP_MODE != ON %d\n", __func__, pmp_priv->mode);
-                               return  -EFAULT;
-                       }
-               }
-       }
-
-       if (pkTx == 0 || countPkTx == 0)
-               pmp_priv->mode = MP_PACKET_TX;
-       if (sgleTx == 0)
-               pmp_priv->mode = MP_SINGLE_TONE_TX;
-       if (cotuTx == 0)
-               pmp_priv->mode = MP_CONTINUOUS_TX;
-       if (CarrSprTx == 0)
-               pmp_priv->mode = MP_CARRIER_SUPPRISSION_TX;
-       if (scTx == 0)
-               pmp_priv->mode = MP_SINGLE_CARRIER_TX;
-
-       switch (pmp_priv->mode) {
-       case MP_PACKET_TX:
-               if (bStartTest == 0) {
-                       pmp_priv->tx.stop = 1;
-                       pmp_priv->mode = MP_ON;
-                       sprintf(extra, "Stop continuous Tx");
-               } else if (pmp_priv->tx.stop == 1) {
-                       sprintf(extra, "Start continuous DA = ffffffffffff len = 1500 count =%u,\n", count);
-                       pmp_priv->tx.stop = 0;
-                       pmp_priv->tx.count = count;
-                       pmp_priv->tx.payload = 2;
-                       pattrib = &pmp_priv->tx.attrib;
-                       pattrib->pktlen = 1500;
-                       memset(pattrib->dst, 0xFF, ETH_ALEN);
-                       SetPacketTx(padapter);
-               } else {
-                       return -EFAULT;
-               }
-                       wrqu->length = strlen(extra);
-                       return 0;
-       case MP_SINGLE_TONE_TX:
-               if (bStartTest != 0)
-                       sprintf(extra, "Start continuous DA = ffffffffffff len = 1500\n infinite = yes.");
-               Hal_SetSingleToneTx(padapter, (u8)bStartTest);
-               break;
-       case MP_CONTINUOUS_TX:
-               if (bStartTest != 0)
-                       sprintf(extra, "Start continuous DA = ffffffffffff len = 1500\n infinite = yes.");
-               Hal_SetContinuousTx(padapter, (u8)bStartTest);
-               break;
-       case MP_CARRIER_SUPPRISSION_TX:
-               if (bStartTest != 0) {
-                       if (pmp_priv->rateidx <= MPT_RATE_11M) {
-                               sprintf(extra, "Start continuous DA = ffffffffffff len = 1500\n infinite = yes.");
-                               Hal_SetCarrierSuppressionTx(padapter, (u8)bStartTest);
-                       } else {
-                               sprintf(extra, "Specify carrier suppression but not CCK rate");
-                       }
-               }
-               break;
-       case MP_SINGLE_CARRIER_TX:
-               if (bStartTest != 0)
-                       sprintf(extra, "Start continuous DA = ffffffffffff len = 1500\n infinite = yes.");
-               Hal_SetSingleCarrierTx(padapter, (u8)bStartTest);
-               break;
-       default:
-               sprintf(extra, "Error! Continuous-Tx is not on-going.");
-               return -EFAULT;
-       }
-
-       if (bStartTest == 1 && pmp_priv->mode != MP_ON) {
-               struct mp_priv *pmp_priv = &padapter->mppriv;
-               if (pmp_priv->tx.stop == 0) {
-                       pmp_priv->tx.stop = 1;
-                       msleep(5);
-               }
-               pmp_priv->tx.stop = 0;
-               pmp_priv->tx.count = 1;
-               SetPacketTx(padapter);
-       } else {
-               pmp_priv->mode = MP_ON;
-       }
-
-       wrqu->length = strlen(extra);
-       return 0;
-}
-
-static int rtw_mp_arx(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u8 bStartRx = 0, bStopRx = 0, bQueryPhy;
-       u32 cckok = 0, cckcrc = 0, ofdmok = 0, ofdmcrc = 0, htok = 0, htcrc = 0, OFDM_FA = 0, CCK_FA = 0;
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!input)
-               return -ENOMEM;
-
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       DBG_88E("%s: %s\n", __func__, input);
-
-       bStartRx = (strncmp(input, "start", 5) == 0) ? 1 : 0; /*  strncmp true is 0 */
-       bStopRx = (strncmp(input, "stop", 5) == 0) ? 1 : 0; /*  strncmp true is 0 */
-       bQueryPhy = (strncmp(input, "phy", 3) == 0) ? 1 : 0; /*  strncmp true is 0 */
-
-       if (bStartRx) {
-               sprintf(extra, "start");
-               SetPacketRx(padapter, bStartRx);
-       } else if (bStopRx) {
-               SetPacketRx(padapter, 0);
-               sprintf(extra, "Received packet OK:%d CRC error:%d", padapter->mppriv.rx_pktcount, padapter->mppriv.rx_crcerrpktcount);
-       } else if (bQueryPhy) {
-               /*
-               OFDM FA
-               RegCF0[15:0]
-               RegCF2[31:16]
-               RegDA0[31:16]
-               RegDA4[15:0]
-               RegDA4[31:16]
-               RegDA8[15:0]
-               CCK FA
-               (RegA5B<<8) | RegA5C
-               */
-               cckok = read_bbreg(padapter, 0xf88, 0xffffffff);
-               cckcrc = read_bbreg(padapter, 0xf84, 0xffffffff);
-               ofdmok = read_bbreg(padapter, 0xf94, 0x0000FFFF);
-               ofdmcrc = read_bbreg(padapter, 0xf94, 0xFFFF0000);
-               htok = read_bbreg(padapter, 0xf90, 0x0000FFFF);
-               htcrc = read_bbreg(padapter, 0xf90, 0xFFFF0000);
-
-               OFDM_FA = read_bbreg(padapter, 0xcf0, 0x0000FFFF);
-               OFDM_FA = read_bbreg(padapter, 0xcf2, 0xFFFF0000);
-               OFDM_FA = read_bbreg(padapter, 0xda0, 0xFFFF0000);
-               OFDM_FA = read_bbreg(padapter, 0xda4, 0x0000FFFF);
-               OFDM_FA = read_bbreg(padapter, 0xda4, 0xFFFF0000);
-               OFDM_FA = read_bbreg(padapter, 0xda8, 0x0000FFFF);
-               CCK_FA = (rtw_read8(padapter, 0xa5b) << 8) | (rtw_read8(padapter, 0xa5c));
-
-               sprintf(extra, "Phy Received packet OK:%d CRC error:%d FA Counter: %d", cckok + ofdmok + htok, cckcrc + ofdmcrc + htcrc, OFDM_FA + CCK_FA);
-       }
-       wrqu->length = strlen(extra) + 1;
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_trx_query(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u32 txok, txfail, rxok, rxfail;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       txok = padapter->mppriv.tx.sended;
-       txfail = 0;
-       rxok = padapter->mppriv.rx_pktcount;
-       rxfail = padapter->mppriv.rx_crcerrpktcount;
-
-       memset(extra, '\0', 128);
-
-       sprintf(extra, "Tx OK:%d, Tx Fail:%d, Rx OK:%d, CRC error:%d ", txok, txfail, rxok, rxfail);
-
-       wrqu->length = strlen(extra) + 1;
-
-       return 0;
-}
-
-static int rtw_mp_pwrtrk(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       u8 enable;
-       u32 thermal;
-       s32 ret;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-       memset(extra, 0, wrqu->length);
-
-       enable = 1;
-       if (wrqu->length > 1) {/*  not empty string */
-               if (strncmp(input, "stop", 4) == 0) {
-                       enable = 0;
-                       sprintf(extra, "mp tx power tracking stop");
-               } else if (sscanf(input, "ther =%d", &thermal)) {
-                               ret = Hal_SetThermalMeter(padapter, (u8)thermal);
-                               if (ret == _FAIL)
-                                       return -EPERM;
-                               sprintf(extra, "mp tx power tracking start, target value =%d ok ", thermal);
-               } else {
-                       kfree(input);
-                       return -EINVAL;
-               }
-       }
-
-       kfree(input);
-       ret = Hal_SetPowerTracking(padapter, enable);
-       if (ret == _FAIL)
-               return -EPERM;
-
-       wrqu->length = strlen(extra);
-       return 0;
-}
-
-static int rtw_mp_psd(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-
-       strcpy(extra, input);
-
-       wrqu->length = mp_query_psd(padapter, extra);
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_thermal(struct net_device *dev,
-                         struct iw_request_info *info,
-                         struct iw_point *wrqu, char *extra)
-{
-       u8 val;
-       u16 bwrite = 1;
-       u16 addr = EEPROM_THERMAL_METER_88E;
-
-       u16 cnt = 1;
-       u16 max_available_size = 0;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (copy_from_user(extra, wrqu->pointer, wrqu->length))
-               return -EFAULT;
-
-       bwrite = strncmp(extra, "write", 6); /*  strncmp true is 0 */
-
-       Hal_GetThermalMeter(padapter, &val);
-
-       if (bwrite == 0) {
-               EFUSE_GetEfuseDefinition(padapter, EFUSE_WIFI, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, (void *)&max_available_size, false);
-               if (2 > max_available_size) {
-                       DBG_88E("no available efuse!\n");
-                       return -EFAULT;
-               }
-               if (rtw_efuse_map_write(padapter, addr, cnt, &val) == _FAIL) {
-                       DBG_88E("rtw_efuse_map_write error\n");
-                       return -EFAULT;
-               } else {
-                        sprintf(extra, " efuse write ok :%d", val);
-               }
-        } else {
-                        sprintf(extra, "%d", val);
-        }
-       wrqu->length = strlen(extra);
-
-       return 0;
-}
-
-static int rtw_mp_reset_stats(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       struct mp_priv *pmp_priv;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       pmp_priv = &padapter->mppriv;
-
-       pmp_priv->tx.sended = 0;
-       pmp_priv->tx_pktcount = 0;
-       pmp_priv->rx_pktcount = 0;
-       pmp_priv->rx_crcerrpktcount = 0;
-
-       /* reset phy counter */
-       write_bbreg(padapter, 0xf14, BIT(16), 0x1);
-       msleep(10);
-       write_bbreg(padapter, 0xf14, BIT(16), 0x0);
-
-       return 0;
-}
-
-static int rtw_mp_dump(struct net_device *dev,
-                      struct iw_request_info *info,
-                      struct iw_point *wrqu, char *extra)
-{
-       u32 value;
-       u8 rf_type, path_nums = 0;
-       u32 i, j = 1, path;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (strncmp(extra, "all", 4) == 0) {
-               DBG_88E("\n ======= MAC REG =======\n");
-               for (i = 0x0; i < 0x300; i += 4) {
-                       if (j % 4 == 1)
-                               DBG_88E("0x%02x", i);
-                       DBG_88E(" 0x%08x ", rtw_read32(padapter, i));
-                       if ((j++) % 4 == 0)
-                               DBG_88E("\n");
-               }
-               for (i = 0x400; i < 0x1000; i += 4) {
-                       if (j % 4 == 1)
-                               DBG_88E("0x%02x", i);
-                       DBG_88E(" 0x%08x ", rtw_read32(padapter, i));
-                       if ((j++) % 4 == 0)
-                               DBG_88E("\n");
-               }
-
-               j = 1;
-               rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
-
-               DBG_88E("\n ======= RF REG =======\n");
-               if ((RF_1T2R == rf_type) || (RF_1T1R == rf_type))
-                       path_nums = 1;
-               else
-                       path_nums = 2;
-
-               for (path = 0; path < path_nums; path++) {
-                       for (i = 0; i < 0x34; i++) {
-                               value = rtw_hal_read_rfreg(padapter, path, i, 0xffffffff);
-                               if (j % 4 == 1)
-                                       DBG_88E("0x%02x ", i);
-                               DBG_88E(" 0x%08x ", value);
-                               if ((j++) % 4 == 0)
-                                       DBG_88E("\n");
-                       }
-               }
-       }
-       return 0;
-}
-
-static int rtw_mp_phypara(struct net_device *dev,
-                       struct iw_request_info *info,
-                       struct iw_point *wrqu, char *extra)
-{
-       char    *input = kmalloc(wrqu->length, GFP_KERNEL);
-       u32             valxcap;
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->pointer, wrqu->length)) {
-               kfree(input);
-               return -EFAULT;
-       }
-
-       DBG_88E("%s:iwpriv in =%s\n", __func__, input);
-
-       sscanf(input, "xcap =%d", &valxcap);
-
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_SetRFPath(struct net_device *dev,
-                       struct iw_request_info *info,
-                       union iwreq_data *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       char    *input = kmalloc(wrqu->data.length, GFP_KERNEL);
-       u8 bMain = 1, bTurnoff = 1;
-
-       if (!input)
-               return -ENOMEM;
-       if (copy_from_user(input, wrqu->data.pointer, wrqu->data.length))
-                       return -EFAULT;
-       DBG_88E("%s:iwpriv in =%s\n", __func__, input);
-
-       bMain = strncmp(input, "1", 2); /*  strncmp true is 0 */
-       bTurnoff = strncmp(input, "0", 3); /*  strncmp true is 0 */
-
-       if (bMain == 0) {
-               MP_PHY_SetRFPathSwitch(padapter, true);
-               DBG_88E("%s:PHY_SetRFPathSwitch = true\n", __func__);
-       } else if (bTurnoff == 0) {
-               MP_PHY_SetRFPathSwitch(padapter, false);
-               DBG_88E("%s:PHY_SetRFPathSwitch = false\n", __func__);
-       }
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_QueryDrv(struct net_device *dev,
-                       struct iw_request_info *info,
-                       union iwreq_data *wrqu, char *extra)
-{
-       struct adapter *padapter = rtw_netdev_priv(dev);
-       char    *input = kmalloc(wrqu->data.length, GFP_KERNEL);
-       u8 qAutoLoad = 1;
-       struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter);
-
-       if (!input)
-               return -ENOMEM;
-
-       if (copy_from_user(input, wrqu->data.pointer, wrqu->data.length))
-                       return -EFAULT;
-       DBG_88E("%s:iwpriv in =%s\n", __func__, input);
-
-       qAutoLoad = strncmp(input, "autoload", 8); /*  strncmp true is 0 */
-
-       if (qAutoLoad == 0) {
-               DBG_88E("%s:qAutoLoad\n", __func__);
-
-               if (pEEPROM->bautoload_fail_flag)
-                       sprintf(extra, "fail");
-               else
-               sprintf(extra, "ok");
-       }
-       wrqu->data.length = strlen(extra) + 1;
-       kfree(input);
-       return 0;
-}
-
-static int rtw_mp_set(struct net_device *dev,
-                     struct iw_request_info *info,
-                     union iwreq_data *wdata, char *extra)
-{
-       struct iw_point *wrqu = (struct iw_point *)wdata;
-       u32 subcmd = wrqu->flags;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!padapter)
-               return -ENETDOWN;
-
-       if (!extra) {
-               wrqu->length = 0;
-               return -EIO;
-       }
-
-       switch (subcmd) {
-       case MP_START:
-               DBG_88E("set case mp_start\n");
-               rtw_mp_start(dev, info, wrqu, extra);
-               break;
-       case MP_STOP:
-               DBG_88E("set case mp_stop\n");
-               rtw_mp_stop(dev, info, wrqu, extra);
-               break;
-       case MP_BANDWIDTH:
-               DBG_88E("set case mp_bandwidth\n");
-               rtw_mp_bandwidth(dev, info, wrqu, extra);
-               break;
-       case MP_RESET_STATS:
-               DBG_88E("set case MP_RESET_STATS\n");
-               rtw_mp_reset_stats(dev, info, wrqu, extra);
-               break;
-       case MP_SetRFPathSwh:
-               DBG_88E("set MP_SetRFPathSwitch\n");
-               rtw_mp_SetRFPath(dev, info, wdata, extra);
-               break;
-       case CTA_TEST:
-               DBG_88E("set CTA_TEST\n");
-               rtw_cta_test_start(dev, info, wdata, extra);
-               break;
-       }
-
-       return 0;
-}
-
-static int rtw_mp_get(struct net_device *dev,
-                       struct iw_request_info *info,
-                       union iwreq_data *wdata, char *extra)
-{
-       struct iw_point *wrqu = (struct iw_point *)wdata;
-       u32 subcmd = wrqu->flags;
-       struct adapter *padapter = rtw_netdev_priv(dev);
-
-       if (!padapter)
-               return -ENETDOWN;
-       if (!extra) {
-               wrqu->length = 0;
-               return -EIO;
-       }
-
-       switch (subcmd) {
-       case WRITE_REG:
-               rtw_mp_write_reg(dev, info, wrqu, extra);
-                break;
-       case WRITE_RF:
-               rtw_mp_write_rf(dev, info, wrqu, extra);
-                break;
-       case MP_PHYPARA:
-               DBG_88E("mp_get  MP_PHYPARA\n");
-               rtw_mp_phypara(dev, info, wrqu, extra);
-               break;
-       case MP_CHANNEL:
-               DBG_88E("set case mp_channel\n");
-               rtw_mp_channel(dev, info, wrqu, extra);
-               break;
-       case READ_REG:
-               DBG_88E("mp_get  READ_REG\n");
-               rtw_mp_read_reg(dev, info, wrqu, extra);
-               break;
-       case READ_RF:
-               DBG_88E("mp_get  READ_RF\n");
-               rtw_mp_read_rf(dev, info, wrqu, extra);
-               break;
-       case MP_RATE:
-               DBG_88E("set case mp_rate\n");
-               rtw_mp_rate(dev, info, wrqu, extra);
-               break;
-       case MP_TXPOWER:
-               DBG_88E("set case MP_TXPOWER\n");
-               rtw_mp_txpower(dev, info, wrqu, extra);
-               break;
-       case MP_ANT_TX:
-               DBG_88E("set case MP_ANT_TX\n");
-               rtw_mp_ant_tx(dev, info, wrqu, extra);
-               break;
-       case MP_ANT_RX:
-               DBG_88E("set case MP_ANT_RX\n");
-               rtw_mp_ant_rx(dev, info, wrqu, extra);
-               break;
-       case MP_QUERY:
-               rtw_mp_trx_query(dev, info, wrqu, extra);
-               break;
-       case MP_CTX:
-               DBG_88E("set case MP_CTX\n");
-               rtw_mp_ctx(dev, info, wrqu, extra);
-               break;
-       case MP_ARX:
-               DBG_88E("set case MP_ARX\n");
-               rtw_mp_arx(dev, info, wrqu, extra);
-               break;
-       case EFUSE_GET:
-               DBG_88E("efuse get EFUSE_GET\n");
-               rtw_mp_efuse_get(dev, info, wdata, extra);
-               break;
-       case MP_DUMP:
-               DBG_88E("set case MP_DUMP\n");
-               rtw_mp_dump(dev, info, wrqu, extra);
-               break;
-       case MP_PSD:
-               DBG_88E("set case MP_PSD\n");
-               rtw_mp_psd(dev, info, wrqu, extra);
-               break;
-       case MP_THER:
-               DBG_88E("set case MP_THER\n");
-               rtw_mp_thermal(dev, info, wrqu, extra);
-               break;
-       case MP_QueryDrvStats:
-               DBG_88E("mp_get MP_QueryDrvStats\n");
-               rtw_mp_QueryDrv(dev, info, wdata, extra);
-               break;
-       case MP_PWRTRK:
-               DBG_88E("set case MP_PWRTRK\n");
-               rtw_mp_pwrtrk(dev, info, wrqu, extra);
-               break;
-       case EFUSE_SET:
-               DBG_88E("set case efuse set\n");
-               rtw_mp_efuse_set(dev, info, wdata, extra);
-               break;
-       }
-
-       msleep(10); /* delay 5ms for sending pkt before exit adb shell operation */
-       return 0;
-}
-
-static int rtw_tdls(struct net_device *dev,
-                   struct iw_request_info *info,
-                   union iwreq_data *wrqu, char *extra)
-{
-       return 0;
-}
-
-static int rtw_tdls_get(struct net_device *dev,
-                               struct iw_request_info *info,
-                               union iwreq_data *wrqu, char *extra)
-{
-       return 0;
-}
-
-static int rtw_test(
-       struct net_device *dev,
-       struct iw_request_info *info,
-       union iwreq_data *wrqu, char *extra)
-{
-       u32 len;
-       u8 *pbuf, *pch;
-       char *ptmp;
-       u8 *delim = ",";
-
-       DBG_88E("+%s\n", __func__);
-       len = wrqu->data.length;
-
-       pbuf = kzalloc(len, GFP_KERNEL);
-       if (!pbuf) {
-               DBG_88E("%s: no memory!\n", __func__);
-               return -ENOMEM;
-       }
-
-       if (copy_from_user(pbuf, wrqu->data.pointer, len)) {
-               kfree(pbuf);
-               DBG_88E("%s: copy from user fail!\n", __func__);
-               return -EFAULT;
-       }
-       DBG_88E("%s: string =\"%s\"\n", __func__, pbuf);
-
-       ptmp = (char *)pbuf;
-       pch = strsep(&ptmp, delim);
-       if (!pch || strlen(pch) == 0) {
-               kfree(pbuf);
-               DBG_88E("%s: parameter error(level 1)!\n", __func__);
-               return -EFAULT;
-       }
-       kfree(pbuf);
-       return 0;
+       ptmp = (char *)pbuf;
+       pch = strsep(&ptmp, delim);
+       if (!pch || strlen(pch) == 0) {
+               kfree(pbuf);
+               DBG_88E("%s: parameter error(level 1)!\n", __func__);
+               return -EFAULT;
+       }
+       kfree(pbuf);
+       return 0;
 }
 
 static iw_handler rtw_handlers[] = {
@@ -6530,51 +4406,18 @@ static const struct iw_priv_args rtw_private_args[] = {
 
        {SIOCIWFIRSTPRIV + 0x18, IW_PRIV_TYPE_CHAR | IFNAMSIZ, 0, "rereg_nd_name"},
 
-       {SIOCIWFIRSTPRIV + 0x1A, IW_PRIV_TYPE_CHAR | 1024, 0, "efuse_set"},
-       {SIOCIWFIRSTPRIV + 0x1B, IW_PRIV_TYPE_CHAR | 128, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "efuse_get"},
        {SIOCIWFIRSTPRIV + 0x1D, IW_PRIV_TYPE_CHAR | 40, IW_PRIV_TYPE_CHAR | 0x7FF, "test"
        },
 
        {SIOCIWFIRSTPRIV + 0x0E, IW_PRIV_TYPE_CHAR | 1024, 0, ""},  /* set */
        {SIOCIWFIRSTPRIV + 0x0F, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, ""},/* get */
-/* --- sub-ioctls definitions --- */
-
-       {MP_START, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_start"}, /* set */
-       {MP_PHYPARA, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_phypara"},/* get */
-       {MP_STOP, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_stop"}, /* set */
-       {MP_CHANNEL, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_channel"},/* get */
-       {MP_BANDWIDTH, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_bandwidth"}, /* set */
-       {MP_RATE, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_rate"},/* get */
-       {MP_RESET_STATS, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_reset_stats"},
-       {MP_QUERY, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_query"}, /* get */
-       {READ_REG, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "read_reg"},
-       {MP_RATE, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_rate"},
-       {READ_RF, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "read_rf"},
-       {MP_PSD, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_psd"},
-       {MP_DUMP, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_dump"},
-       {MP_TXPOWER, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_txpower"},
-       {MP_ANT_TX, IW_PRIV_TYPE_CHAR | 1024,  IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_ant_tx"},
-       {MP_ANT_RX, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_ant_rx"},
-       {WRITE_REG, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "write_reg"},
-       {WRITE_RF, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "write_rf"},
-       {MP_CTX, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_ctx"},
-       {MP_ARX, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_arx"},
-       {MP_THER, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_ther"},
-       {EFUSE_SET, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "efuse_set"},
-       {EFUSE_GET, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "efuse_get"},
-       {MP_PWRTRK, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_pwrtrk"},
-       {MP_QueryDrvStats, IW_PRIV_TYPE_CHAR | 1024, IW_PRIV_TYPE_CHAR | IW_PRIV_SIZE_MASK, "mp_drvquery"},
-       {MP_IOCTL, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_ioctl"}, /*  mp_ioctl */
-       {MP_SetRFPathSwh, IW_PRIV_TYPE_CHAR | 1024, 0, "mp_setrfpath"},
-       {CTA_TEST, IW_PRIV_TYPE_CHAR | 1024, 0, "cta_test"},
 };
 
 static iw_handler rtw_private_handler[] = {
 rtw_wx_write32,                                /* 0x00 */
 rtw_wx_read32,                         /* 0x01 */
 rtw_drvext_hdl,                                /* 0x02 */
-rtw_mp_ioctl_hdl,                      /* 0x03 */
-
+NULL,                                  /* 0x03 */
 /*  for MM DTV platform */
        rtw_get_ap_info,                /* 0x04 */
 
@@ -6591,9 +4434,9 @@ rtw_mp_ioctl_hdl,                 /* 0x03 */
        rtw_dbg_port,                   /* 0x0B */
        rtw_wx_write_rf,                /* 0x0C */
        rtw_wx_read_rf,                 /* 0x0D */
+       NULL,                           /* 0x0E */
+       NULL,                           /* 0x0F */
 
-       rtw_mp_set,                     /* 0x0E */
-       rtw_mp_get,                     /* 0x0F */
        rtw_p2p_set,                    /* 0x10 */
        rtw_p2p_get,                    /* 0x11 */
        rtw_p2p_get2,                   /* 0x12 */
@@ -6607,8 +4450,8 @@ rtw_mp_ioctl_hdl,                 /* 0x03 */
        rtw_rereg_nd_name,              /* 0x18 */
        rtw_wx_priv_null,               /* 0x19 */
 
-       rtw_mp_efuse_set,               /* 0x1A */
-       rtw_mp_efuse_get,               /* 0x1B */
+       NULL,                           /* 0x1A */
+       NULL,                           /* 0x1B */
        NULL,                           /*  0x1C is reserved for hostapd */
        rtw_test,                       /*  0x1D */
 };
index e3ee9dc..a9b6ffd 100644 (file)
@@ -25,8 +25,6 @@ static void _dynamic_check_timer_handlder(struct timer_list *t)
 {
        struct adapter *adapter = from_timer(adapter, t, mlmepriv.dynamic_chk_timer);
 
-       if (adapter->registrypriv.mp_mode == 1)
-               return;
        rtw_dynamic_check_timer_handlder(adapter);
        _set_timer(&adapter->mlmepriv.dynamic_chk_timer, 2000);
 }
@@ -165,8 +163,6 @@ void init_mlme_ext_timer(struct adapter *padapter)
        timer_setup(&pmlmeext->link_timer, _link_timer_hdl, 0);
 }
 
-#ifdef CONFIG_88EU_AP_MODE
-
 void rtw_indicate_sta_assoc_event(struct adapter *padapter, struct sta_info *psta)
 {
        union iwreq_data wrqu;
@@ -212,5 +208,3 @@ void rtw_indicate_sta_disassoc_event(struct adapter *padapter, struct sta_info *
 
        wireless_send_event(padapter->pnetdev, IWEVEXPIRED, &wrqu, NULL);
 }
-
-#endif
index 8d0158f..1005924 100644 (file)
@@ -9,9 +9,10 @@
 #include "../include/recv_osdep.h"
 #include "../include/hal_intf.h"
 #include "../include/rtw_ioctl.h"
-
 #include "../include/usb_osintf.h"
 #include "../include/rtw_br_ext.h"
+#include "../include/rtl8188e_led.h"
+#include "../include/rtl8188e_dm.h"
 
 MODULE_LICENSE("GPL");
 MODULE_DESCRIPTION("Realtek Wireless Lan Driver");
@@ -51,8 +52,6 @@ static int rtw_short_retry_lmt = 7;
 static int rtw_busy_thresh = 40;
 static int rtw_ack_policy = NORMAL_ACK;
 
-static int rtw_mp_mode;
-
 static int rtw_software_encrypt;
 static int rtw_software_decrypt;
 
@@ -85,7 +84,6 @@ static int rtw_AcceptAddbaReq = true;/*  0:Reject AP's Add BA req, 1:Accept AP's
 static int rtw_antdiv_cfg = 2; /*  0:OFF , 1:ON, 2:decide by Efuse config */
 static int rtw_antdiv_type; /* 0:decide by efuse  1: for 88EE, 1Tx and 1RxCG are diversity.(2 Ant with SPDT), 2:  for 88EE, 1Tx and 2Rx are diversity.(2 Ant, Tx and RxCG are both on aux port, RxCS is on main port), 3: for 88EE, 1Tx and 1RxCG are fixed.(1Ant, Tx and RxCG are both on aux port) */
 
-static int rtw_enusbss;/* 0:disable, 1:enable */
 
 static int rtw_hwpdn_mode = 2;/* 0:disable, 1:enable, 2: by EFUSE config */
 
@@ -114,7 +112,6 @@ module_param(rtw_rfintfs, int, 0644);
 module_param(rtw_lbkmode, int, 0644);
 module_param(rtw_network_mode, int, 0644);
 module_param(rtw_channel, int, 0644);
-module_param(rtw_mp_mode, int, 0644);
 module_param(rtw_wmm_enable, int, 0644);
 module_param(rtw_vrtl_carrier_sense, int, 0644);
 module_param(rtw_vcs_type, int, 0644);
@@ -133,7 +130,6 @@ module_param(rtw_low_power, int, 0644);
 module_param(rtw_wifi_spec, int, 0644);
 module_param(rtw_antdiv_cfg, int, 0644);
 module_param(rtw_antdiv_type, int, 0644);
-module_param(rtw_enusbss, int, 0644);
 module_param(rtw_hwpdn_mode, int, 0644);
 module_param(rtw_hwpwrp_detect, int, 0644);
 module_param(rtw_hw_wps_pbc, int, 0644);
@@ -157,348 +153,6 @@ MODULE_PARM_DESC(rtw_notch_filter, "0:Disable, 1:Enable, 2:Enable only for P2P")
 module_param_named(debug, rtw_debug, int, 0444);
 MODULE_PARM_DESC(debug, "Set debug level (1-9) (default 1)");
 
-/* dummy routines */
-void rtw_proc_remove_one(struct net_device *dev)
-{
-}
-
-void rtw_proc_init_one(struct net_device *dev)
-{
-}
-
-#if 0  /* TODO: Convert these to /sys */
-void rtw_proc_init_one(struct net_device *dev)
-{
-       struct proc_dir_entry *dir_dev = NULL;
-       struct proc_dir_entry *entry = NULL;
-       struct adapter  *padapter = rtw_netdev_priv(dev);
-       u8 rf_type;
-
-       if (!rtw_proc) {
-               memcpy(rtw_proc_name, DRV_NAME, sizeof(DRV_NAME));
-
-               rtw_proc = create_proc_entry(rtw_proc_name, S_IFDIR, init_net.proc_net);
-               if (!rtw_proc) {
-                       DBG_88E(KERN_ERR "Unable to create rtw_proc directory\n");
-                       return;
-               }
-
-               entry = create_proc_read_entry("ver_info", S_IFREG | S_IRUGO, rtw_proc, proc_get_drv_version, dev);
-               if (!entry) {
-                       pr_info("Unable to create_proc_read_entry!\n");
-                       return;
-               }
-       }
-
-       if (!padapter->dir_dev) {
-               padapter->dir_dev = create_proc_entry(dev->name,
-                                         S_IFDIR | S_IRUGO | S_IXUGO,
-                                         rtw_proc);
-               dir_dev = padapter->dir_dev;
-               if (!dir_dev) {
-                       if (rtw_proc_cnt == 0) {
-                               if (rtw_proc) {
-                                       remove_proc_entry(rtw_proc_name, init_net.proc_net);
-                                       rtw_proc = NULL;
-                               }
-                       }
-
-                       pr_info("Unable to create dir_dev directory\n");
-                       return;
-               }
-       } else {
-               return;
-       }
-
-       rtw_proc_cnt++;
-
-       entry = create_proc_read_entry("write_reg", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_write_reg, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_write_reg;
-
-       entry = create_proc_read_entry("read_reg", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_read_reg, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_read_reg;
-
-       entry = create_proc_read_entry("fwstate", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_fwstate, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("sec_info", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_sec_info, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("mlmext_state", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_mlmext_state, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("qos_option", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_qos_option, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("ht_option", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_ht_option, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("rf_info", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_rf_info, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("ap_info", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_ap_info, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("adapter_state", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_getstruct adapter_state, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("trx_info", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_trx_info, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("mac_reg_dump1", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_mac_reg_dump1, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("mac_reg_dump2", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_mac_reg_dump2, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("mac_reg_dump3", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_mac_reg_dump3, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("bb_reg_dump1", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_bb_reg_dump1, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("bb_reg_dump2", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_bb_reg_dump2, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("bb_reg_dump3", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_bb_reg_dump3, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("rf_reg_dump1", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_rf_reg_dump1, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("rf_reg_dump2", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_rf_reg_dump2, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
-       if ((RF_1T2R == rf_type) || (RF_1T1R == rf_type)) {
-               entry = create_proc_read_entry("rf_reg_dump3", S_IFREG | S_IRUGO,
-                                          dir_dev, proc_get_rf_reg_dump3, dev);
-               if (!entry) {
-                       pr_info("Unable to create_proc_read_entry!\n");
-                       return;
-               }
-
-               entry = create_proc_read_entry("rf_reg_dump4", S_IFREG | S_IRUGO,
-                                          dir_dev, proc_get_rf_reg_dump4, dev);
-               if (!entry) {
-                       pr_info("Unable to create_proc_read_entry!\n");
-                       return;
-               }
-       }
-
-#ifdef CONFIG_88EU_AP_MODE
-
-       entry = create_proc_read_entry("all_sta_info", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_all_sta_info, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-#endif
-
-       entry = create_proc_read_entry("best_channel", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_best_channel, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-
-       entry = create_proc_read_entry("rx_signal", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_rx_signal, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_rx_signal;
-       entry = create_proc_read_entry("ht_enable", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_ht_enable, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_ht_enable;
-
-       entry = create_proc_read_entry("cbw40_enable", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_cbw40_enable, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_cbw40_enable;
-
-       entry = create_proc_read_entry("ampdu_enable", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_ampdu_enable, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_ampdu_enable;
-
-       entry = create_proc_read_entry("rx_stbc", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_rx_stbc, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_rx_stbc;
-
-       entry = create_proc_read_entry("path_rssi", S_IFREG | S_IRUGO,
-                                       dir_dev, proc_get_two_path_rssi, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry = create_proc_read_entry("rssi_disp", S_IFREG | S_IRUGO,
-                                  dir_dev, proc_get_rssi_disp, dev);
-       if (!entry) {
-               pr_info("Unable to create_proc_read_entry!\n");
-               return;
-       }
-       entry->write_proc = proc_set_rssi_disp;
-}
-
-void rtw_proc_remove_one(struct net_device *dev)
-{
-       struct proc_dir_entry *dir_dev = NULL;
-       struct adapter  *padapter = rtw_netdev_priv(dev);
-       u8 rf_type;
-
-       dir_dev = padapter->dir_dev;
-       padapter->dir_dev = NULL;
-
-       if (dir_dev) {
-               remove_proc_entry("write_reg", dir_dev);
-               remove_proc_entry("read_reg", dir_dev);
-               remove_proc_entry("fwstate", dir_dev);
-               remove_proc_entry("sec_info", dir_dev);
-               remove_proc_entry("mlmext_state", dir_dev);
-               remove_proc_entry("qos_option", dir_dev);
-               remove_proc_entry("ht_option", dir_dev);
-               remove_proc_entry("rf_info", dir_dev);
-               remove_proc_entry("ap_info", dir_dev);
-               remove_proc_entry("adapter_state", dir_dev);
-               remove_proc_entry("trx_info", dir_dev);
-               remove_proc_entry("mac_reg_dump1", dir_dev);
-               remove_proc_entry("mac_reg_dump2", dir_dev);
-               remove_proc_entry("mac_reg_dump3", dir_dev);
-               remove_proc_entry("bb_reg_dump1", dir_dev);
-               remove_proc_entry("bb_reg_dump2", dir_dev);
-               remove_proc_entry("bb_reg_dump3", dir_dev);
-               remove_proc_entry("rf_reg_dump1", dir_dev);
-               remove_proc_entry("rf_reg_dump2", dir_dev);
-               rtw_hal_get_hwreg(padapter, HW_VAR_RF_TYPE, (u8 *)(&rf_type));
-               if ((RF_1T2R == rf_type) || (RF_1T1R == rf_type)) {
-                       remove_proc_entry("rf_reg_dump3", dir_dev);
-                       remove_proc_entry("rf_reg_dump4", dir_dev);
-               }
-#ifdef CONFIG_88EU_AP_MODE
-               remove_proc_entry("all_sta_info", dir_dev);
-#endif
-
-               remove_proc_entry("best_channel", dir_dev);
-               remove_proc_entry("rx_signal", dir_dev);
-               remove_proc_entry("cbw40_enable", dir_dev);
-               remove_proc_entry("ht_enable", dir_dev);
-               remove_proc_entry("ampdu_enable", dir_dev);
-               remove_proc_entry("rx_stbc", dir_dev);
-               remove_proc_entry("path_rssi", dir_dev);
-               remove_proc_entry("rssi_disp", dir_dev);
-               remove_proc_entry(dev->name, rtw_proc);
-               dir_dev = NULL;
-       } else {
-               return;
-       }
-       rtw_proc_cnt--;
-
-       if (rtw_proc_cnt == 0) {
-               if (rtw_proc) {
-                       remove_proc_entry("ver_info", rtw_proc);
-
-                       remove_proc_entry(rtw_proc_name, init_net.proc_net);
-                       rtw_proc = NULL;
-               }
-       }
-}
-#endif
-
 static uint loadparam(struct adapter *padapter,  struct  net_device *pnetdev)
 {
        struct registry_priv  *registry_par = &padapter->registrypriv;
@@ -530,7 +184,6 @@ static uint loadparam(struct adapter *padapter,  struct  net_device *pnetdev)
        registry_par->short_retry_lmt = (u8)rtw_short_retry_lmt;
        registry_par->busy_thresh = (u16)rtw_busy_thresh;
        registry_par->ack_policy = (u8)rtw_ack_policy;
-       registry_par->mp_mode = (u8)rtw_mp_mode;
        registry_par->software_encrypt = (u8)rtw_software_encrypt;
        registry_par->software_decrypt = (u8)rtw_software_decrypt;
        registry_par->acm_method = (u8)rtw_acm_method;
@@ -731,20 +384,19 @@ u32 rtw_start_drv_threads(struct adapter *padapter)
        if (IS_ERR(padapter->cmdThread))
                _status = _FAIL;
        else
-               _rtw_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema); /* wait for cmd_thread to run */
+               /* wait for rtw_cmd_thread() to start running */
+               wait_for_completion(&padapter->cmdpriv.start_cmd_thread);
 
-       rtw_hal_start_thread(padapter);
        return _status;
 }
 
 void rtw_stop_drv_threads(struct adapter *padapter)
 {
        /* Below is to termindate rtw_cmd_thread & event_thread... */
-       up(&padapter->cmdpriv.cmd_queue_sema);
+       complete(&padapter->cmdpriv.enqueue_cmd);
        if (padapter->cmdThread)
-               _rtw_down_sema(&padapter->cmdpriv.terminate_cmdthread_sema);
-
-       rtw_hal_stop_thread(padapter);
+               /* wait for rtw_cmd_thread() to stop running */
+               wait_for_completion(&padapter->cmdpriv.stop_cmd_thread);
 }
 
 static u8 rtw_init_default_value(struct adapter *padapter)
@@ -784,16 +436,14 @@ static u8 rtw_init_default_value(struct adapter *padapter)
        rtw_update_registrypriv_dev_network(padapter);
 
        /* hal_priv */
-       rtw_hal_def_value_init(padapter);
+       rtl8188eu_init_default_value(padapter);
 
        /* misc. */
        padapter->bReadPortCancel = false;
        padapter->bWritePortCancel = false;
        padapter->bRxRSSIDisplay = 0;
        padapter->bNotifyChannelChange = 0;
-#ifdef CONFIG_88EU_P2P
        padapter->bShowGetP2PState = 1;
-#endif
        return _SUCCESS;
 }
 
@@ -803,7 +453,7 @@ u8 rtw_reset_drv_sw(struct adapter *padapter)
        struct pwrctrl_priv *pwrctrlpriv = &padapter->pwrctrlpriv;
 
        /* hal_priv */
-       rtw_hal_def_value_init(padapter);
+       rtl8188eu_init_default_value(padapter);
        padapter->bReadPortCancel = false;
        padapter->bWritePortCancel = false;
        padapter->bRxRSSIDisplay = 0;
@@ -816,7 +466,6 @@ u8 rtw_reset_drv_sw(struct adapter *padapter)
 
        _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING);
 
-       rtw_hal_sreset_reset_value(padapter);
        pwrctrlpriv->pwr_state_check_cnts = 0;
 
        /* mlmeextpriv */
@@ -848,11 +497,9 @@ u8 rtw_init_drv_sw(struct adapter *padapter)
                goto exit;
        }
 
-#ifdef CONFIG_88EU_P2P
        rtw_init_wifidirect_timers(padapter);
        init_wifidirect_info(padapter, P2P_ROLE_DISABLE);
        reset_global_wifidirect_info(padapter);
-#endif /* CONFIG_88EU_P2P */
 
        if (init_mlme_ext_priv(padapter) == _FAIL) {
                ret8 = _FAIL;
@@ -883,15 +530,10 @@ u8 rtw_init_drv_sw(struct adapter *padapter)
 
        rtw_init_pwrctrl_priv(padapter);
 
-       if (init_mp_priv(padapter) == _FAIL)
-               DBG_88E("%s: initialize MP private data Fail!\n", __func__);
-
        ret8 = rtw_init_default_value(padapter);
 
-       rtw_hal_dm_init(padapter);
-       rtw_hal_sw_led_init(padapter);
-
-       rtw_hal_sreset_init(padapter);
+       rtl8188e_init_dm_priv(padapter);
+       rtl8188eu_InitSwLeds(padapter);
 
        spin_lock_init(&padapter->br_ext_lock);
 
@@ -908,13 +550,11 @@ void rtw_cancel_all_timer(struct adapter *padapter)
        _cancel_timer_ex(&padapter->mlmepriv.dynamic_chk_timer);
 
        /*  cancel sw led timer */
-       rtw_hal_sw_led_deinit(padapter);
+       rtl8188eu_DeInitSwLeds(padapter);
 
        _cancel_timer_ex(&padapter->pwrctrlpriv.pwr_state_check_timer);
 
        _cancel_timer_ex(&padapter->recvpriv.signal_stat_timer);
-       /* cancel dm timer */
-       rtw_hal_dm_deinit(padapter);
 }
 
 u8 rtw_free_drv_sw(struct adapter *padapter)
@@ -922,7 +562,6 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
        /* we can call rtw_p2p_enable here, but: */
        /*  1. rtw_p2p_enable may have IO operation */
        /*  2. rtw_p2p_enable is bundled with wext interface */
-       #ifdef CONFIG_88EU_P2P
        {
                struct wifidirect_info *pwdinfo = &padapter->wdinfo;
                if (!rtw_p2p_chk_state(pwdinfo, P2P_STATE_NONE)) {
@@ -932,7 +571,6 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
                        rtw_p2p_set_state(pwdinfo, P2P_STATE_NONE);
                }
        }
-       #endif
 
        free_mlme_ext_priv(&padapter->mlmeextpriv);
 
@@ -947,9 +585,7 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
 
        _rtw_free_recv_priv(&padapter->recvpriv);
 
-       rtw_free_pwrctrl_priv(padapter);
-
-       rtw_hal_free_data(padapter);
+       rtl8188e_free_hal_data(padapter);
 
        /* free the old_pnetdev */
        if (padapter->rereg_nd_name_priv.old_pnetdev) {
@@ -1025,7 +661,6 @@ int _netdev_open(struct net_device *pnetdev)
                }
                if (padapter->intf_start)
                        padapter->intf_start(padapter);
-               rtw_proc_init_one(pnetdev);
 
                rtw_led_control(padapter, LED_CTL_NO_LINK);
 
@@ -1062,9 +697,9 @@ int netdev_open(struct net_device *pnetdev)
        int ret;
        struct adapter *padapter = (struct adapter *)rtw_netdev_priv(pnetdev);
 
-       _enter_critical_mutex(padapter->hw_init_mutex, NULL);
+       mutex_lock(padapter->hw_init_mutex);
        ret = _netdev_open(pnetdev);
-       _exit_critical_mutex(padapter->hw_init_mutex, NULL);
+       mutex_unlock(padapter->hw_init_mutex);
        return ret;
 }
 
@@ -1130,7 +765,7 @@ void rtw_ips_dev_unload(struct adapter *padapter)
 {
        DBG_88E("====> %s...\n", __func__);
 
-       rtw_hal_set_hwreg(padapter, HW_VAR_FIFO_CLEARN_UP, NULL);
+       SetHwReg8188EU(padapter, HW_VAR_FIFO_CLEARN_UP, NULL);
 
        if (padapter->intf_stop)
                padapter->intf_stop(padapter);
@@ -1187,9 +822,7 @@ int netdev_close(struct net_device *pnetdev)
 
        nat25_db_cleanup(padapter);
 
-#ifdef CONFIG_88EU_P2P
        rtw_p2p_enable(padapter, P2P_ROLE_DISABLE);
-#endif /* CONFIG_88EU_P2P */
 
        kfree(dvobj->firmware.szFwBuffer);
        dvobj->firmware.szFwBuffer = NULL;
index 95ac608..59bdd0a 100644 (file)
@@ -19,23 +19,6 @@ inline int RTW_STATUS_CODE(int error_code)
        return _FAIL;
 }
 
-u32 rtw_atoi(u8 *s)
-{
-       int num = 0, flag = 0;
-       int i;
-       for (i = 0; i <= strlen(s); i++) {
-               if (s[i] >= '0' && s[i] <= '9')
-                       num = num * 10 + s[i] - '0';
-               else if (s[0] == '-' && i == 0)
-                       flag = 1;
-               else
-                       break;
-       }
-       if (flag == 1)
-               num = num * -1;
-       return num;
-}
-
 void *rtw_malloc2d(int h, int w, int size)
 {
        int j;
@@ -59,30 +42,6 @@ Otherwise, there will be racing condition.
 Caller must check if the list is empty before calling rtw_list_delete
 */
 
-u32 _rtw_down_sema(struct semaphore *sema)
-{
-       if (down_interruptible(sema))
-               return _FAIL;
-       else
-               return _SUCCESS;
-}
-
-void   _rtw_mutex_init(struct mutex *pmutex)
-{
-       mutex_init(pmutex);
-}
-
-void   _rtw_mutex_free(struct mutex *pmutex)
-{
-       mutex_destroy(pmutex);
-}
-
-void   _rtw_init_queue(struct __queue *pqueue)
-{
-       INIT_LIST_HEAD(&pqueue->queue);
-       spin_lock_init(&pqueue->lock);
-}
-
 inline u32 rtw_systime_to_ms(u32 systime)
 {
        return systime * 1000 / HZ;
@@ -107,8 +66,6 @@ void rtw_usleep_os(int us)
                msleep((us / 1000) + 1);
 }
 
-#define RTW_SUSPEND_LOCK_NAME "rtw_wifi"
-
 static const struct device_type wlan_type = {
        .name = "wlan",
 };
@@ -198,8 +155,6 @@ int rtw_change_ifname(struct adapter *padapter, const char *ifname)
        else
                unregister_netdevice(cur_pnetdev);
 
-       rtw_proc_remove_one(cur_pnetdev);
-
        rereg_priv->old_pnetdev = cur_pnetdev;
 
        pnetdev = rtw_init_netdev(padapter);
@@ -212,7 +167,7 @@ int rtw_change_ifname(struct adapter *padapter, const char *ifname)
 
        rtw_init_netdev_name(pnetdev, ifname);
 
-       memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
+       eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
 
        if (!rtnl_is_locked())
                ret = register_netdev(pnetdev);
@@ -221,7 +176,6 @@ int rtw_change_ifname(struct adapter *padapter, const char *ifname)
        if (ret != 0)
                goto error;
 
-       rtw_proc_init_one(pnetdev);
        return 0;
 error:
        return -1;
@@ -259,17 +213,6 @@ keep_ori:
 }
 
 /**
- * rtw_cbuf_full - test if cbuf is full
- * @cbuf: pointer of struct rtw_cbuf
- *
- * Returns: true if cbuf is full
- */
-inline bool rtw_cbuf_full(struct rtw_cbuf *cbuf)
-{
-       return (cbuf->write == cbuf->read - 1) ? true : false;
-}
-
-/**
  * rtw_cbuf_empty - test if cbuf is empty
  * @cbuf: pointer of struct rtw_cbuf
  *
@@ -281,27 +224,6 @@ inline bool rtw_cbuf_empty(struct rtw_cbuf *cbuf)
 }
 
 /**
- * rtw_cbuf_push - push a pointer into cbuf
- * @cbuf: pointer of struct rtw_cbuf
- * @buf: pointer to push in
- *
- * Lock free operation, be careful of the use scheme
- * Returns: true push success
- */
-bool rtw_cbuf_push(struct rtw_cbuf *cbuf, void *buf)
-{
-       if (rtw_cbuf_full(cbuf))
-               return _FAIL;
-
-       if (0)
-               DBG_88E("%s on %u\n", __func__, cbuf->write);
-       cbuf->bufs[cbuf->write] = buf;
-       cbuf->write = (cbuf->write + 1) % cbuf->size;
-
-       return _SUCCESS;
-}
-
-/**
  * rtw_cbuf_pop - pop a pointer from cbuf
  * @cbuf: pointer of struct rtw_cbuf
  *
@@ -332,7 +254,7 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size)
 {
        struct rtw_cbuf *cbuf;
 
-       cbuf = kmalloc(sizeof(*cbuf) + sizeof(void *) * size, GFP_KERNEL);
+       cbuf = kmalloc(struct_size(cbuf, bufs, size), GFP_KERNEL);
 
        if (cbuf) {
                cbuf->write = 0;
index 917a63e..5a7fb94 100644 (file)
@@ -186,20 +186,6 @@ _recv_indicatepkt_drop:
         return _FAIL;
 }
 
-void rtw_os_read_port(struct adapter *padapter, struct recv_buf *precvbuf)
-{
-       struct recv_priv *precvpriv = &padapter->recvpriv;
-
-       precvbuf->ref_cnt--;
-       /* free skb in recv_buf */
-       dev_kfree_skb_any(precvbuf->pskb);
-       precvbuf->pskb = NULL;
-       precvbuf->reuse = false;
-       if (!precvbuf->irp_pending)
-               rtw_read_port(padapter, precvpriv->ff_hwaddr, 0,
-                             (unsigned char *)precvbuf);
-}
-
 static void _rtw_reordering_ctrl_timeout_handler(struct timer_list *t)
 {
        struct recv_reorder_ctrl *preorder_ctrl;
index bb85ab7..5a35d9f 100644 (file)
@@ -1,8 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0
 /* Copyright(c) 2007 - 2011 Realtek Corporation. */
 
-#define _HCI_INTF_C_
-
 #include <linux/usb.h>
 #include "../include/osdep_service.h"
 #include "../include/drv_types.h"
@@ -14,6 +12,7 @@
 #include "../include/usb_ops.h"
 #include "../include/usb_osintf.h"
 #include "../include/rtw_ioctl.h"
+#include "../include/rtl8188e_hal.h"
 
 int ui_pid[3] = {0, 0, 0};
 
@@ -50,10 +49,6 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
 
 MODULE_DEVICE_TABLE(usb, rtw_usb_id_tbl);
 
-static struct specific_device_id specific_device_id_tbl[] = {
-       {}              /* empty table for now */
-};
-
 struct rtw_usb_drv {
        struct usb_driver usbdrv;
        int drv_registered;
@@ -72,73 +67,9 @@ static struct rtw_usb_drv rtl8188e_usb_drv = {
 
 static struct rtw_usb_drv *usb_drv = &rtl8188e_usb_drv;
 
-static inline int RT_usb_endpoint_dir_in(const struct usb_endpoint_descriptor *epd)
-{
-       return (epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN;
-}
-
-static inline int RT_usb_endpoint_dir_out(const struct usb_endpoint_descriptor *epd)
-{
-       return (epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT;
-}
-
-static inline int RT_usb_endpoint_xfer_int(const struct usb_endpoint_descriptor *epd)
-{
-       return (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT;
-}
-
-static inline int RT_usb_endpoint_xfer_bulk(const struct usb_endpoint_descriptor *epd)
-{
-       return (epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK;
-}
-
-static inline int RT_usb_endpoint_is_bulk_in(const struct usb_endpoint_descriptor *epd)
-{
-       return RT_usb_endpoint_xfer_bulk(epd) && RT_usb_endpoint_dir_in(epd);
-}
-
-static inline int RT_usb_endpoint_is_bulk_out(const struct usb_endpoint_descriptor *epd)
-{
-       return RT_usb_endpoint_xfer_bulk(epd) && RT_usb_endpoint_dir_out(epd);
-}
-
-static inline int usb_endpoint_is_int(const struct usb_endpoint_descriptor *epd)
-{
-       return RT_usb_endpoint_xfer_int(epd) && RT_usb_endpoint_dir_in(epd);
-}
-
-static inline int RT_usb_endpoint_num(const struct usb_endpoint_descriptor *epd)
-{
-       return epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
-}
-
-static u8 rtw_init_intf_priv(struct dvobj_priv *dvobj)
-{
-       u8 rst = _SUCCESS;
-
-       _rtw_mutex_init(&dvobj->usb_vendor_req_mutex);
-
-       dvobj->usb_alloc_vendor_req_buf = kzalloc(MAX_USB_IO_CTL_SIZE, GFP_KERNEL);
-       if (!dvobj->usb_alloc_vendor_req_buf) {
-               DBG_88E("alloc usb_vendor_req_buf failed... /n");
-               rst = _FAIL;
-               goto exit;
-       }
-       dvobj->usb_vendor_req_buf = (u8 *)N_BYTE_ALIGMENT((size_t)(dvobj->usb_alloc_vendor_req_buf), ALIGNMENT_UNIT);
-exit:
-       return rst;
-}
-
-static void rtw_deinit_intf_priv(struct dvobj_priv *dvobj)
-{
-       kfree(dvobj->usb_alloc_vendor_req_buf);
-       _rtw_mutex_free(&dvobj->usb_vendor_req_mutex);
-}
-
 static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
 {
        int     i;
-       int     status = _FAIL;
        struct dvobj_priv *pdvobjpriv;
        struct usb_host_config          *phost_conf;
        struct usb_config_descriptor    *pconf_desc;
@@ -197,23 +128,12 @@ static struct dvobj_priv *usb_dvobj_init(struct usb_interface *usb_intf)
                DBG_88E("NON USB_SPEED_HIGH\n");
        }
 
-       if (rtw_init_intf_priv(pdvobjpriv) == _FAIL)
-               goto free_dvobj;
-
        /* 3 misc */
        sema_init(&pdvobjpriv->usb_suspend_sema, 0);
        rtw_reset_continual_urb_error(pdvobjpriv);
 
        usb_get_dev(pusbd);
 
-       status = _SUCCESS;
-
-free_dvobj:
-       if (status != _SUCCESS && pdvobjpriv) {
-               usb_set_intfdata(usb_intf, NULL);
-               kfree(pdvobjpriv);
-               pdvobjpriv = NULL;
-       }
 exit:
        return pdvobjpriv;
 }
@@ -239,7 +159,6 @@ static void usb_dvobj_deinit(struct usb_interface *usb_intf)
                                usb_reset_device(interface_to_usbdev(usb_intf));
                        }
                }
-               rtw_deinit_intf_priv(dvobj);
                kfree(dvobj);
        }
 
@@ -247,21 +166,15 @@ static void usb_dvobj_deinit(struct usb_interface *usb_intf)
 
 }
 
-static void chip_by_usb_id(struct adapter *padapter)
-{
-       padapter->chip_type = NULL_CHIP_TYPE;
-       hal_set_hw_type(padapter);
-}
-
 static void usb_intf_start(struct adapter *padapter)
 {
-       rtw_hal_inirp_init(padapter);
+       rtl8188eu_inirp_init(padapter);
 }
 
 static void usb_intf_stop(struct adapter *padapter)
 {
        /* cancel in irp */
-       rtw_hal_inirp_deinit(padapter);
+       rtw_read_port_cancel(padapter);
 
        /* cancel out irp */
        rtw_write_port_cancel(padapter);
@@ -295,130 +208,6 @@ static void rtw_dev_unload(struct adapter *padapter)
        DBG_88E("<=== rtw_dev_unload\n");
 }
 
-static void process_spec_devid(const struct usb_device_id *pdid)
-{
-       u16 vid, pid;
-       u32 flags;
-       int i;
-       int num = sizeof(specific_device_id_tbl) /
-                 sizeof(struct specific_device_id);
-
-       for (i = 0; i < num; i++) {
-               vid = specific_device_id_tbl[i].idVendor;
-               pid = specific_device_id_tbl[i].idProduct;
-               flags = specific_device_id_tbl[i].flags;
-
-               if ((pdid->idVendor == vid) && (pdid->idProduct == pid) &&
-                   (flags & SPEC_DEV_ID_DISABLE_HT)) {
-                       rtw_ht_enable = 0;
-                       rtw_cbw40_enable = 0;
-                       rtw_ampdu_enable = 0;
-               }
-       }
-}
-
-int rtw_hw_suspend(struct adapter *padapter)
-{
-       struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
-       struct net_device *pnetdev = padapter->pnetdev;
-
-
-       if (!padapter)
-               goto error_exit;
-       if ((!padapter->bup) || (padapter->bDriverStopped) ||
-           (padapter->bSurpriseRemoved)) {
-               DBG_88E("padapter->bup=%d bDriverStopped=%d bSurpriseRemoved = %d\n",
-                       padapter->bup, padapter->bDriverStopped,
-                       padapter->bSurpriseRemoved);
-               goto error_exit;
-       }
-
-       LeaveAllPowerSaveMode(padapter);
-
-       DBG_88E("==> rtw_hw_suspend\n");
-       _enter_pwrlock(&pwrpriv->lock);
-       pwrpriv->bips_processing = true;
-       /* s1. */
-       if (pnetdev) {
-               netif_carrier_off(pnetdev);
-               rtw_netif_stop_queue(pnetdev);
-       }
-
-       /* s2. */
-       rtw_disassoc_cmd(padapter, 500, false);
-
-       /* s2-2.  indicate disconnect to os */
-       {
-               struct  mlme_priv *pmlmepriv = &padapter->mlmepriv;
-
-               if (check_fwstate(pmlmepriv, _FW_LINKED)) {
-                       _clr_fwstate_(pmlmepriv, _FW_LINKED);
-
-                       rtw_led_control(padapter, LED_CTL_NO_LINK);
-
-                       rtw_os_indicate_disconnect(padapter);
-
-                       /* donnot enqueue cmd */
-                       rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_DISCONNECT, 0);
-               }
-       }
-       /* s2-3. */
-       rtw_free_assoc_resources(padapter, 1);
-
-       /* s2-4. */
-       rtw_free_network_queue(padapter, true);
-       rtw_ips_dev_unload(padapter);
-       pwrpriv->rf_pwrstate = rf_off;
-       pwrpriv->bips_processing = false;
-
-       _exit_pwrlock(&pwrpriv->lock);
-       return 0;
-
-error_exit:
-       DBG_88E("%s, failed\n", __func__);
-       return -1;
-}
-
-int rtw_hw_resume(struct adapter *padapter)
-{
-       struct pwrctrl_priv *pwrpriv;
-       struct net_device *pnetdev = padapter->pnetdev;
-
-       if (!padapter)
-               goto error_exit;
-       pwrpriv = &padapter->pwrctrlpriv;
-       DBG_88E("==> rtw_hw_resume\n");
-       _enter_pwrlock(&pwrpriv->lock);
-       pwrpriv->bips_processing = true;
-       rtw_reset_drv_sw(padapter);
-
-       if (pm_netdev_open(pnetdev, false) != 0) {
-               _exit_pwrlock(&pwrpriv->lock);
-               goto error_exit;
-       }
-
-       netif_device_attach(pnetdev);
-       netif_carrier_on(pnetdev);
-
-       if (!netif_queue_stopped(pnetdev))
-               netif_start_queue(pnetdev);
-       else
-               netif_wake_queue(pnetdev);
-
-       pwrpriv->bkeepfwalive = false;
-       pwrpriv->brfoffbyhw = false;
-
-       pwrpriv->rf_pwrstate = rf_on;
-       pwrpriv->bips_processing = false;
-
-       _exit_pwrlock(&pwrpriv->lock);
-
-       return 0;
-error_exit:
-       DBG_88E("%s, Open net dev failed\n", __func__);
-       return -1;
-}
-
 static int rtw_suspend(struct usb_interface *pusb_intf, pm_message_t message)
 {
        struct dvobj_priv *dvobj = usb_get_intfdata(pusb_intf);
@@ -445,7 +234,7 @@ static int rtw_suspend(struct usb_interface *pusb_intf, pm_message_t message)
        rtw_cancel_all_timer(padapter);
        LeaveAllPowerSaveMode(padapter);
 
-       _enter_pwrlock(&pwrpriv->lock);
+       mutex_lock(&pwrpriv->lock);
        /* s1. */
        if (pnetdev) {
                netif_carrier_off(pnetdev);
@@ -474,7 +263,7 @@ static int rtw_suspend(struct usb_interface *pusb_intf, pm_message_t message)
        rtw_free_network_queue(padapter, true);
 
        rtw_dev_unload(padapter);
-       _exit_pwrlock(&pwrpriv->lock);
+       mutex_unlock(&pwrpriv->lock);
 
        if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY))
                rtw_indicate_scan_done(padapter, 1);
@@ -493,18 +282,6 @@ static int rtw_resume(struct usb_interface *pusb_intf)
 {
        struct dvobj_priv *dvobj = usb_get_intfdata(pusb_intf);
        struct adapter *padapter = dvobj->if1;
-       struct pwrctrl_priv *pwrpriv = &padapter->pwrctrlpriv;
-       int ret = 0;
-
-       if (pwrpriv->bInternalAutoSuspend)
-               ret = rtw_resume_process(padapter);
-       else
-               ret = rtw_resume_process(padapter);
-       return ret;
-}
-
-int rtw_resume_process(struct adapter *padapter)
-{
        struct net_device *pnetdev;
        struct pwrctrl_priv *pwrpriv = NULL;
        int ret = -1;
@@ -512,26 +289,24 @@ int rtw_resume_process(struct adapter *padapter)
 
        DBG_88E("==> %s (%s:%d)\n", __func__, current->comm, current->pid);
 
-       if (padapter) {
-               pnetdev = padapter->pnetdev;
-               pwrpriv = &padapter->pwrctrlpriv;
-       } else {
-               goto exit;
-       }
+       pnetdev = padapter->pnetdev;
+       pwrpriv = &padapter->pwrctrlpriv;
 
-       _enter_pwrlock(&pwrpriv->lock);
+       mutex_lock(&pwrpriv->lock);
        rtw_reset_drv_sw(padapter);
        if (pwrpriv)
                pwrpriv->bkeepfwalive = false;
 
        DBG_88E("bkeepfwalive(%x)\n", pwrpriv->bkeepfwalive);
-       if (pm_netdev_open(pnetdev, true) != 0)
+       if (pm_netdev_open(pnetdev, true) != 0) {
+               mutex_unlock(&pwrpriv->lock);
                goto exit;
+       }
 
        netif_device_attach(pnetdev);
        netif_carrier_on(pnetdev);
 
-       _exit_pwrlock(&pwrpriv->lock);
+       mutex_unlock(&pwrpriv->lock);
 
        if (padapter->pid[1] != 0) {
                DBG_88E("pid[1]:%d\n", padapter->pid[1]);
@@ -565,6 +340,8 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
        struct adapter *padapter = NULL;
        struct net_device *pnetdev = NULL;
        int status = _FAIL;
+       struct io_priv *piopriv;
+       struct intf_hdl *pintf;
 
        padapter = vzalloc(sizeof(*padapter));
        if (!padapter)
@@ -576,10 +353,6 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
 
        padapter->hw_init_mutex = &usb_drv->hw_init_mutex;
 
-       /* step 1-1., decide the chip_type via vid/pid */
-       padapter->interface_type = RTW_USB;
-       chip_by_usb_id(padapter);
-
        if (rtw_handle_dualmac(padapter, 1) != _SUCCESS)
                goto free_adapter;
 
@@ -589,23 +362,27 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
        SET_NETDEV_DEV(pnetdev, dvobj_to_dev(dvobj));
        padapter = rtw_netdev_priv(pnetdev);
 
-       /* step 2. hook HalFunc, allocate HalData */
-       rtl8188eu_set_hal_ops(padapter);
+       /* step 2. allocate HalData */
+       rtl8188eu_alloc_haldata(padapter);
 
        padapter->intf_start = &usb_intf_start;
        padapter->intf_stop = &usb_intf_stop;
 
        /* step init_io_priv */
-       rtw_init_io_priv(padapter, usb_set_intf_ops);
+       piopriv = &padapter->iopriv;
+       pintf = &piopriv->intf;
+       piopriv->padapter = padapter;
+       pintf->padapter = padapter;
+       pintf->pintf_dev = adapter_to_dvobj(padapter);
 
        /* step read_chip_version */
-       rtw_hal_read_chip_version(padapter);
+       rtl8188e_read_chip_version(padapter);
 
        /* step usb endpoint mapping */
-       rtw_hal_chip_configure(padapter);
+       rtl8188eu_interface_configure(padapter);
 
        /* step read efuse/eeprom data and get mac_addr */
-       rtw_hal_read_chip_info(padapter);
+       ReadAdapterInfo8188EU(padapter);
 
        /* step 5. */
        if (rtw_init_drv_sw(padapter) == _FAIL)
@@ -629,11 +406,9 @@ static struct adapter *rtw_usb_if1_init(struct dvobj_priv *dvobj,
        /*  alloc dev name after read efuse. */
        rtw_init_netdev_name(pnetdev, padapter->registrypriv.ifname);
        rtw_macaddr_cfg(padapter->eeprompriv.mac_addr);
-#ifdef CONFIG_88EU_P2P
        rtw_init_wifidirect_addrs(padapter, padapter->eeprompriv.mac_addr,
                                  padapter->eeprompriv.mac_addr);
-#endif
-       memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
+       eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
        DBG_88E("MAC Address from pnetdev->dev_addr =  %pM\n",
                pnetdev->dev_addr);
 
@@ -676,15 +451,12 @@ static void rtw_usb_if1_deinit(struct adapter *if1)
        if (check_fwstate(pmlmepriv, _FW_LINKED))
                rtw_disassoc_cmd(if1, 0, false);
 
-#ifdef CONFIG_88EU_AP_MODE
        free_mlme_ap_info(if1);
-#endif
 
        if (if1->DriverState != DRIVER_DISAPPEAR) {
                if (pnetdev) {
                        /* will call netdev_close() */
                        unregister_netdev(pnetdev);
-                       rtw_proc_remove_one(pnetdev);
                }
        }
        rtw_cancel_all_timer(if1);
@@ -703,9 +475,6 @@ static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device
        struct adapter *if1 = NULL;
        struct dvobj_priv *dvobj;
 
-       /* step 0. */
-       process_spec_devid(pdid);
-
        /* Initialize dvobj_priv */
        dvobj = usb_dvobj_init(pusb_intf);
        if (!dvobj)
@@ -760,7 +529,7 @@ static int __init rtw_drv_entry(void)
 {
        DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);
 
-       _rtw_mutex_init(&usb_drv->hw_init_mutex);
+       mutex_init(&usb_drv->hw_init_mutex);
 
        usb_drv->drv_registered = true;
        return usb_register(&usb_drv->usbdrv);
@@ -773,7 +542,7 @@ static void __exit rtw_drv_halt(void)
        usb_drv->drv_registered = false;
        usb_deregister(&usb_drv->usbdrv);
 
-       _rtw_mutex_free(&usb_drv->hw_init_mutex);
+       mutex_destroy(&usb_drv->hw_init_mutex);
        DBG_88E("-rtw_drv_halt\n");
 }
 
index 62dd4a1..ef2ea68 100644 (file)
@@ -5,7 +5,7 @@
 
 #include "../include/drv_types.h"
 #include "../include/usb_ops_linux.h"
-#include "../include/rtw_sreset.h"
+#include "../include/rtl8188e_recv.h"
 
 unsigned int ffaddr2pipehdl(struct dvobj_priv *pdvobj, u32 addr)
 {
@@ -31,20 +31,10 @@ struct zero_bulkout_context {
        void *padapter;
 };
 
-void usb_read_mem(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem)
-{
-}
-
-void usb_write_mem(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem)
-{
-}
-
-void usb_read_port_cancel(struct intf_hdl *pintfhdl)
+void rtw_read_port_cancel(struct adapter *padapter)
 {
        int i;
-       struct recv_buf *precvbuf;
-       struct adapter  *padapter = pintfhdl->padapter;
-       precvbuf = (struct recv_buf *)padapter->recvpriv.precv_buf;
+       struct recv_buf *precvbuf = (struct recv_buf *)padapter->recvpriv.precv_buf;
 
        DBG_88E("%s\n", __func__);
 
@@ -63,7 +53,6 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
        struct xmit_buf *pxmitbuf = (struct xmit_buf *)purb->context;
        struct adapter  *padapter = pxmitbuf->padapter;
        struct xmit_priv        *pxmitpriv = &padapter->xmitpriv;
-       struct hal_data_8188e   *haldata;
 
        switch (pxmitbuf->flags) {
        case VO_QUEUE_INX:
@@ -79,9 +68,7 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
                pxmitpriv->bkq_cnt--;
                break;
        case HIGH_QUEUE_INX:
-#ifdef CONFIG_88EU_AP_MODE
                rtw_chk_hi_queue_cmd(padapter);
-#endif
                break;
        default:
                break;
@@ -99,9 +86,7 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
 
        if (purb->status) {
                DBG_88E("###=> urb_write_port_complete status(%d)\n", purb->status);
-               if ((purb->status == -EPIPE) || (purb->status == -EPROTO)) {
-                       sreset_set_wifi_error_status(padapter, USB_WRITE_PORT_FAIL);
-               } else if (purb->status == -EINPROGRESS) {
+               if (purb->status == -EINPROGRESS) {
                        goto check_completion;
                } else if (purb->status == -ENOENT) {
                        DBG_88E("%s: -ENOENT\n", __func__);
@@ -112,7 +97,7 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
                } else if (purb->status == -ESHUTDOWN) {
                        padapter->bDriverStopped = true;
                        goto check_completion;
-               } else {
+               } else if ((purb->status != -EPIPE) && (purb->status != -EPROTO)) {
                        padapter->bSurpriseRemoved = true;
                        DBG_88E("bSurpriseRemoved = true\n");
 
@@ -120,9 +105,6 @@ static void usb_write_port_complete(struct urb *purb, struct pt_regs *regs)
                }
        }
 
-       haldata = GET_HAL_DATA(padapter);
-       haldata->srestpriv.last_tx_complete_time = jiffies;
-
 check_completion:
        rtw_sctx_done_err(&pxmitbuf->sctx,
                          purb->status ? RTW_SCTX_DONE_WRITE_PORT_ERR :
@@ -134,14 +116,13 @@ check_completion:
 
 }
 
-u32 usb_write_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem)
+u32 rtw_write_port(struct adapter *padapter, u32 addr, u32 cnt, u8 *wmem)
 {
        unsigned long irqL;
        unsigned int pipe;
        int status;
        u32 ret = _FAIL;
        struct urb *purb = NULL;
-       struct adapter *padapter = (struct adapter *)pintfhdl->padapter;
        struct dvobj_priv       *pdvobj = adapter_to_dvobj(padapter);
        struct xmit_priv        *pxmitpriv = &padapter->xmitpriv;
        struct xmit_buf *pxmitbuf = (struct xmit_buf *)wmem;
@@ -195,11 +176,7 @@ u32 usb_write_port(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem)
                          pxmitbuf);/* context is pxmitbuf */
 
        status = usb_submit_urb(purb, GFP_ATOMIC);
-       if (!status) {
-               struct hal_data_8188e   *haldata = GET_HAL_DATA(padapter);
-
-               haldata->srestpriv.last_tx_time = jiffies;
-       } else {
+       if (status) {
                rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_WRITE_PORT_ERR);
                DBG_88E("usb_write_port, status =%d\n", status);
 
@@ -224,10 +201,9 @@ exit:
        return ret;
 }
 
-void usb_write_port_cancel(struct intf_hdl *pintfhdl)
+void rtw_write_port_cancel(struct adapter *padapter)
 {
        int i, j;
-       struct adapter  *padapter = pintfhdl->padapter;
        struct xmit_buf *pxmitbuf = (struct xmit_buf *)padapter->xmitpriv.pxmitbuf;
 
        DBG_88E("%s\n", __func__);
index 565ac5b..088c294 100644 (file)
@@ -65,10 +65,6 @@ int rtw_endofpktfile(struct pkt_file *pfile)
        return false;
 }
 
-void rtw_set_tx_chksum_offload(struct sk_buff *pkt, struct pkt_attrib *pattrib)
-{
-}
-
 int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 alloc_sz)
 {
        int i;
index 358b629..7f9dee4 100644 (file)
@@ -360,13 +360,16 @@ static void _rtl92e_read_eeprom_info(struct net_device *dev)
                 priv->eeprom_CustomerID);
 
        if (!priv->AutoloadFailFlag) {
+               u8 addr[ETH_ALEN];
+
                for (i = 0; i < 6; i += 2) {
                        usValue = rtl92e_eeprom_read(dev,
                                 (EEPROM_NODE_ADDRESS_BYTE_0 + i) >> 1);
-                       *(u16 *)(&dev->dev_addr[i]) = usValue;
+                       *(u16 *)(&addr[i]) = usValue;
                }
+               eth_hw_addr_set(dev, addr);
        } else {
-               ether_addr_copy(dev->dev_addr, bMac_Tmp_Addr);
+               eth_hw_addr_set(dev, bMac_Tmp_Addr);
        }
 
        RT_TRACE(COMP_INIT, "Permanent Address = %pM\n",
index f75a125..d7630f0 100644 (file)
@@ -184,7 +184,7 @@ void rtl92e_cam_restore(struct net_device *dev)
                if (priv->rtllib->iw_mode == IW_MODE_ADHOC) {
                        rtl92e_set_key(dev, 4, 0,
                                       priv->rtllib->pairwise_key_type,
-                                      (u8 *)dev->dev_addr, 0,
+                                      (const u8 *)dev->dev_addr, 0,
                                       (u32 *)(&priv->rtllib->swcamtable[4].key_buf[0]));
                } else {
                        rtl92e_set_key(dev, 4, 0,
@@ -197,7 +197,7 @@ void rtl92e_cam_restore(struct net_device *dev)
                if (priv->rtllib->iw_mode == IW_MODE_ADHOC) {
                        rtl92e_set_key(dev, 4, 0,
                                       priv->rtllib->pairwise_key_type,
-                                      (u8 *)dev->dev_addr, 0,
+                                      (const u8 *)dev->dev_addr, 0,
                                       (u32 *)(&priv->rtllib->swcamtable[4].key_buf[0]));
                } else {
                        rtl92e_set_key(dev, 4, 0,
index a7dd157..d2e9df6 100644 (file)
@@ -2235,7 +2235,7 @@ static int _rtl92e_set_mac_adr(struct net_device *dev, void *mac)
 
        mutex_lock(&priv->wx_mutex);
 
-       ether_addr_copy(dev->dev_addr, addr->sa_data);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        schedule_work(&priv->reset_wq);
        mutex_unlock(&priv->wx_mutex);
index 7dfe7a0..97afea4 100644 (file)
@@ -10,8 +10,7 @@
 #include "rtllib.h"
 #include "rtl819x_BA.h"
 
-static void ActivateBAEntry(struct rtllib_device *ieee, struct ba_record *pBA,
-                           u16 Time)
+static void ActivateBAEntry(struct ba_record *pBA, u16 Time)
 {
        pBA->b_valid = true;
        if (Time != 0)
@@ -288,7 +287,7 @@ int rtllib_rx_ADDBAReq(struct rtllib_device *ieee, struct sk_buff *skb)
        else
                pBA->ba_param_set.field.buffer_size = 32;
 
-       ActivateBAEntry(ieee, pBA, 0);
+       ActivateBAEntry(pBA, 0);
        rtllib_send_ADDBARsp(ieee, dst, pBA, ADDBA_STATUS_SUCCESS);
 
        return 0;
@@ -390,7 +389,7 @@ int rtllib_rx_ADDBARsp(struct rtllib_device *ieee, struct sk_buff *skb)
                pAdmittedBA->ba_start_seq_ctrl = pPendingBA->ba_start_seq_ctrl;
                pAdmittedBA->ba_param_set = *pBaParamSet;
                DeActivateBAEntry(ieee, pAdmittedBA);
-               ActivateBAEntry(ieee, pAdmittedBA, *pBaTimeoutVal);
+               ActivateBAEntry(pAdmittedBA, *pBaTimeoutVal);
        } else {
                pTS->bAddBaReqDelayed = true;
                pTS->bDisable_AddBa = true;
@@ -490,7 +489,7 @@ void TsInitAddBA(struct rtllib_device *ieee, struct tx_ts_record *pTS,
        pBA->ba_timeout_value = 0;
        pBA->ba_start_seq_ctrl.field.seq_num = (pTS->TxCurSeq + 3) % 4096;
 
-       ActivateBAEntry(ieee, pBA, BA_SETUP_TIMEOUT);
+       ActivateBAEntry(pBA, BA_SETUP_TIMEOUT);
 
        rtllib_send_ADDBAReq(ieee, pTS->TsCommonInfo.Addr, pBA);
 }
index 4013107..14ca00a 100644 (file)
@@ -1114,6 +1114,7 @@ void rtl8192_set_rxconf(struct net_device *dev);
 void rtl819xusb_beacon_tx(struct net_device *dev, u16 tx_rate);
 
 void EnableHWSecurityConfig8192(struct net_device *dev);
-void setKey(struct net_device *dev, u8 EntryNo, u8 KeyIndex, u16 KeyType, u8 *MacAddr, u8 DefaultKey, u32 *KeyContent);
+void setKey(struct net_device *dev, u8 EntryNo, u8 KeyIndex, u16 KeyType,
+           const u8 *MacAddr, u8 DefaultKey, u32 *KeyContent);
 
 #endif
index b669865..726d7ad 100644 (file)
@@ -96,15 +96,12 @@ MODULE_DESCRIPTION("Linux driver for Realtek RTL8192 USB WiFi cards");
 
 static char *ifname = "wlan%d";
 static int hwwep = 1;  /* default use hw. set 0 to use software security */
-static int channels = 0x3fff;
 
 module_param(ifname, charp, 0644);
 module_param(hwwep, int, 0644);
-module_param(channels, int, 0644);
 
 MODULE_PARM_DESC(ifname, " Net interface name, wlan%d=default");
 MODULE_PARM_DESC(hwwep, " Try to use hardware security support. ");
-MODULE_PARM_DESC(channels, " Channel bitmask for specific locales. NYI");
 
 static int rtl8192_usb_probe(struct usb_interface *intf,
                             const struct usb_device_id *id);
@@ -229,7 +226,7 @@ int write_nic_byte_E(struct net_device *dev, int indx, u8 data)
 
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
-                                indx | 0xfe00, 0, usbdata, 1, HZ / 2);
+                                indx | 0xfe00, 0, usbdata, 1, 500);
        kfree(usbdata);
 
        if (status < 0) {
@@ -251,7 +248,7 @@ int read_nic_byte_E(struct net_device *dev, int indx, u8 *data)
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
-                                indx | 0xfe00, 0, usbdata, 1, HZ / 2);
+                                indx | 0xfe00, 0, usbdata, 1, 500);
        *data = *usbdata;
        kfree(usbdata);
 
@@ -279,7 +276,7 @@ int write_nic_byte(struct net_device *dev, int indx, u8 data)
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                usbdata, 1, HZ / 2);
+                                usbdata, 1, 500);
        kfree(usbdata);
 
        if (status < 0) {
@@ -305,7 +302,7 @@ int write_nic_word(struct net_device *dev, int indx, u16 data)
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                usbdata, 2, HZ / 2);
+                                usbdata, 2, 500);
        kfree(usbdata);
 
        if (status < 0) {
@@ -331,7 +328,7 @@ int write_nic_dword(struct net_device *dev, int indx, u32 data)
        status = usb_control_msg(udev, usb_sndctrlpipe(udev, 0),
                                 RTL8187_REQ_SET_REGS, RTL8187_REQT_WRITE,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                usbdata, 4, HZ / 2);
+                                usbdata, 4, 500);
        kfree(usbdata);
 
        if (status < 0) {
@@ -355,7 +352,7 @@ int read_nic_byte(struct net_device *dev, int indx, u8 *data)
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                usbdata, 1, HZ / 2);
+                                usbdata, 1, 500);
        *data = *usbdata;
        kfree(usbdata);
 
@@ -380,7 +377,7 @@ int read_nic_word(struct net_device *dev, int indx, u16 *data)
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                usbdata, 2, HZ / 2);
+                                usbdata, 2, 500);
        *data = *usbdata;
        kfree(usbdata);
 
@@ -404,7 +401,7 @@ static int read_nic_word_E(struct net_device *dev, int indx, u16 *data)
 
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
-                                indx | 0xfe00, 0, usbdata, 2, HZ / 2);
+                                indx | 0xfe00, 0, usbdata, 2, 500);
        *data = *usbdata;
        kfree(usbdata);
 
@@ -430,7 +427,7 @@ int read_nic_dword(struct net_device *dev, int indx, u32 *data)
        status = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0),
                                 RTL8187_REQ_GET_REGS, RTL8187_REQT_READ,
                                 (indx & 0xff) | 0xff00, (indx >> 8) & 0x0f,
-                                usbdata, 4, HZ / 2);
+                                usbdata, 4, 500);
        *data = *usbdata;
        kfree(usbdata);
 
@@ -2303,14 +2300,17 @@ static int rtl8192_read_eeprom_info(struct net_device *dev)
        /* set channelplan from eeprom */
        priv->ChannelPlan = priv->eeprom_ChannelPlan;
        if (bLoad_From_EEPOM) {
+               u8 addr[ETH_ALEN];
+
                for (i = 0; i < 6; i += 2) {
                        ret = eprom_read(dev, (u16)((EEPROM_NODE_ADDRESS_BYTE_0 + i) >> 1));
                        if (ret < 0)
                                return ret;
-                       *(u16 *)(&dev->dev_addr[i]) = (u16)ret;
+                       *(u16 *)(&addr[i]) = (u16)ret;
                }
+               eth_hw_addr_set(dev, addr);
        } else {
-               memcpy(dev->dev_addr, bMac_Tmp_Addr, 6);
+               eth_hw_addr_set(dev, bMac_Tmp_Addr);
                /* should I set IDR0 here? */
        }
        RT_TRACE(COMP_EPROM, "MAC addr:%pM\n", dev->dev_addr);
@@ -3048,14 +3048,14 @@ static void CamRestoreAllEntry(struct net_device *dev)
        } else if (priv->ieee80211->pairwise_key_type == KEY_TYPE_TKIP) {
                if (priv->ieee80211->iw_mode == IW_MODE_ADHOC)
                        setKey(dev, 4, 0, priv->ieee80211->pairwise_key_type,
-                              (u8 *)dev->dev_addr, 0, NULL);
+                              (const u8 *)dev->dev_addr, 0, NULL);
                else
                        setKey(dev, 4, 0, priv->ieee80211->pairwise_key_type,
                               MacAddr, 0, NULL);
        } else if (priv->ieee80211->pairwise_key_type == KEY_TYPE_CCMP) {
                if (priv->ieee80211->iw_mode == IW_MODE_ADHOC)
                        setKey(dev, 4, 0, priv->ieee80211->pairwise_key_type,
-                              (u8 *)dev->dev_addr, 0, NULL);
+                              (const u8 *)dev->dev_addr, 0, NULL);
                else
                        setKey(dev, 4, 0, priv->ieee80211->pairwise_key_type,
                               MacAddr, 0, NULL);
@@ -3457,7 +3457,7 @@ static int r8192_set_mac_adr(struct net_device *dev, void *mac)
 
        mutex_lock(&priv->wx_mutex);
 
-       ether_addr_copy(dev->dev_addr, addr->sa_data);
+       eth_hw_addr_set(dev, addr->sa_data);
 
        schedule_work(&priv->reset_wq);
        mutex_unlock(&priv->wx_mutex);
@@ -4871,7 +4871,7 @@ void EnableHWSecurityConfig8192(struct net_device *dev)
 }
 
 void setKey(struct net_device *dev, u8 entryno, u8 keyindex, u16 keytype,
-           u8 *macaddr, u8 defaultkey, u32 *keycontent)
+           const u8 *macaddr, u8 defaultkey, u32 *keycontent)
 {
        u32 target_command = 0;
        u32 target_content = 0;
index 9502f6a..d15d52c 100644 (file)
@@ -166,7 +166,7 @@ static int r871x_net_set_mac_address(struct net_device *pnetdev, void *p)
        struct sockaddr *addr = p;
 
        if (!padapter->bup)
-               ether_addr_copy(pnetdev->dev_addr, addr->sa_data);
+               eth_hw_addr_set(pnetdev, addr->sa_data);
        return 0;
 }
 
@@ -381,14 +381,15 @@ static int netdev_open(struct net_device *pnetdev)
                        goto netdev_open_error;
                if (!r8712_initmac) {
                        /* Use the mac address stored in the Efuse */
-                       memcpy(pnetdev->dev_addr,
-                              padapter->eeprompriv.mac_addr, ETH_ALEN);
+                       eth_hw_addr_set(pnetdev,
+                                       padapter->eeprompriv.mac_addr);
                } else {
                        /* We have to inform f/w to use user-supplied MAC
                         * address.
                         */
                        msleep(200);
-                       r8712_setMacAddr_cmd(padapter, (u8 *)pnetdev->dev_addr);
+                       r8712_setMacAddr_cmd(padapter,
+                                            (const u8 *)pnetdev->dev_addr);
                        /*
                         * The "myid" function will get the wifi mac address
                         * from eeprompriv structure instead of netdev
index 75716f5..acda930 100644 (file)
@@ -554,7 +554,7 @@ void r8712_setstakey_cmd(struct _adapter *padapter, u8 *psta, u8 unicast_key)
        r8712_enqueue_cmd(pcmdpriv, ph2c);
 }
 
-void r8712_setMacAddr_cmd(struct _adapter *padapter, u8 *mac_addr)
+void r8712_setMacAddr_cmd(struct _adapter *padapter, const u8 *mac_addr)
 {
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        struct cmd_obj *ph2c;
index bf6f0c6..ddd69c4 100644 (file)
@@ -718,7 +718,7 @@ struct DisconnectCtrlEx_param {
 #define H2C_CMD_OVERFLOW               0x06
 #define H2C_RESERVED                   0x07
 
-void r8712_setMacAddr_cmd(struct _adapter *padapter, u8 *mac_addr);
+void r8712_setMacAddr_cmd(struct _adapter *padapter, const u8 *mac_addr);
 u8 r8712_sitesurvey_cmd(struct _adapter *padapter,
                        struct ndis_802_11_ssid *pssid);
 int r8712_createbss_cmd(struct _adapter *padapter);
index 2e6afc7..cdcbc87 100644 (file)
@@ -182,11 +182,11 @@ struct sta_xmit_priv {
 };
 
 struct hw_txqueue {
-       /*volatile*/ sint       head;
-       /*volatile*/ sint       tail;
-       /*volatile*/ sint       free_sz;        /*in units of 64 bytes*/
-       /*volatile*/ sint      free_cmdsz;
-       /*volatile*/ sint        txsz[8];
+       sint    head;
+       sint    tail;
+       sint    free_sz;        /* in units of 64 bytes */
+       sint    free_cmdsz;
+       sint    txsz[8];
        uint    ff_hwaddr;
        uint    cmd_hwaddr;
        sint    ac_tag;
index 505ebeb..ee4c61f 100644 (file)
@@ -563,7 +563,7 @@ static int r871xu_drv_init(struct usb_interface *pusb_intf,
                        dev_info(&udev->dev,
                                "r8712u: MAC Address from efuse = %pM\n", mac);
                }
-               ether_addr_copy(pnetdev->dev_addr, mac);
+               eth_hw_addr_set(pnetdev, mac);
        }
        /* step 6. Load the firmware asynchronously */
        if (rtl871x_load_fw(padapter))
@@ -595,12 +595,12 @@ static void r871xu_dev_remove(struct usb_interface *pusb_intf)
 
        /* never exit with a firmware callback pending */
        wait_for_completion(&padapter->rtl8712_fw_ready);
+       if (pnetdev->reg_state != NETREG_UNINITIALIZED)
+               unregister_netdev(pnetdev); /* will call netdev_close() */
        usb_set_intfdata(pusb_intf, NULL);
        release_firmware(padapter->fw);
        if (drvpriv.drv_registered)
                padapter->surprise_removed = true;
-       if (pnetdev->reg_state != NETREG_UNINITIALIZED)
-               unregister_netdev(pnetdev); /* will call netdev_close() */
        r8712_flush_rwctrl_works(padapter);
        r8712_flush_led_works(padapter);
        udelay(1);
index 655497c..f984a5a 100644 (file)
@@ -494,7 +494,7 @@ int r8712_usbctrl_vendorreq(struct intf_priv *pintfpriv, u8 request, u16 value,
                memcpy(pIo_buf, pdata, len);
        }
        status = usb_control_msg(udev, pipe, request, reqtype, value, index,
-                                pIo_buf, len, HZ / 2);
+                                pIo_buf, len, 500);
        if (status > 0) {  /* Success this control transfer. */
                if (requesttype == 0x01) {
                        /* For Control read transfer, we have to copy the read
index f40b302..f23e29b 100644 (file)
@@ -4,6 +4,7 @@ config RTL8723BS
        depends on WLAN && MMC && CFG80211
        depends on m
        select CFG80211_WEXT
+       select CRYPTO
        select CRYPTO_LIB_ARC4
        help
        This option enables support for RTL8723BS SDIO drivers, such as
index 6064dd6..5478188 100644 (file)
@@ -18,7 +18,8 @@ void init_mlme_ap_info(struct adapter *padapter)
        spin_lock_init(&pmlmepriv->bcn_update_lock);
 
        /* for ACL */
-       _rtw_init_queue(&pacl_list->acl_node_q);
+       INIT_LIST_HEAD(&pacl_list->acl_node_q.queue);
+       spin_lock_init(&pacl_list->acl_node_q.lock);
 
        /* pmlmeext->bstart_bss = false; */
 
@@ -891,7 +892,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
                &ie_len,
                (pbss_network->ie_length - _BEACON_IE_OFFSET_)
        );
-       if (p !=  NULL) {
+       if (p) {
                memcpy(supportRate, p + 2, ie_len);
                supportRateNum = ie_len;
        }
@@ -903,7 +904,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
                &ie_len,
                pbss_network->ie_length - _BEACON_IE_OFFSET_
        );
-       if (p !=  NULL) {
+       if (p) {
                memcpy(supportRate + supportRateNum, p + 2, ie_len);
                supportRateNum += ie_len;
        }
@@ -991,7 +992,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
                        break;
                }
 
-               if ((p == NULL) || (ie_len == 0))
+               if (!p || ie_len == 0)
                        break;
        }
 
@@ -1021,7 +1022,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
                                break;
                        }
 
-                       if ((p == NULL) || (ie_len == 0))
+                       if (!p || ie_len == 0)
                                break;
                }
        }
@@ -1145,7 +1146,7 @@ int rtw_check_beacon_data(struct adapter *padapter, u8 *pbuf,  int len)
        psta = rtw_get_stainfo(&padapter->stapriv, pbss_network->mac_address);
        if (!psta) {
                psta = rtw_alloc_stainfo(&padapter->stapriv, pbss_network->mac_address);
-               if (psta == NULL)
+               if (!psta)
                        return _FAIL;
        }
 
@@ -1275,7 +1276,7 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta)
        }
 
        psetstakey_para = rtw_zmalloc(sizeof(struct set_stakey_parm));
-       if (psetstakey_para == NULL) {
+       if (!psetstakey_para) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1311,12 +1312,12 @@ static int rtw_ap_set_key(
        int res = _SUCCESS;
 
        pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (pcmd == NULL) {
+       if (!pcmd) {
                res = _FAIL;
                goto exit;
        }
        psetkeyparm = rtw_zmalloc(sizeof(struct setkey_parm));
-       if (psetkeyparm == NULL) {
+       if (!psetkeyparm) {
                kfree(pcmd);
                res = _FAIL;
                goto exit;
@@ -1474,11 +1475,11 @@ static void update_bcn_wps_ie(struct adapter *padapter)
                &wps_ielen
        );
 
-       if (pwps_ie == NULL || wps_ielen == 0)
+       if (!pwps_ie || wps_ielen == 0)
                return;
 
        pwps_ie_src = pmlmepriv->wps_beacon_ie;
-       if (pwps_ie_src == NULL)
+       if (!pwps_ie_src)
                return;
 
        wps_offset = (uint)(pwps_ie - ie);
index d494c06..639459d 100644 (file)
@@ -166,7 +166,8 @@ int rtw_init_cmd_priv(struct        cmd_priv *pcmdpriv)
        init_completion(&pcmdpriv->cmd_queue_comp);
        init_completion(&pcmdpriv->terminate_cmdthread_comp);
 
-       _rtw_init_queue(&(pcmdpriv->cmd_queue));
+       INIT_LIST_HEAD(&pcmdpriv->cmd_queue.queue);
+       spin_lock_init(&pcmdpriv->cmd_queue.lock);
 
        /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */
 
@@ -255,7 +256,7 @@ int _rtw_enqueue_cmd(struct __queue *queue, struct cmd_obj *obj)
 {
        unsigned long irqL;
 
-       if (obj == NULL)
+       if (!obj)
                goto exit;
 
        /* spin_lock_bh(&queue->lock); */
@@ -277,10 +278,10 @@ struct    cmd_obj *_rtw_dequeue_cmd(struct __queue *queue)
 
        /* spin_lock_bh(&(queue->lock)); */
        spin_lock_irqsave(&queue->lock, irqL);
-       if (list_empty(&(queue->queue)))
+       if (list_empty(&queue->queue))
                obj = NULL;
        else {
-               obj = container_of(get_next(&(queue->queue)), struct cmd_obj, list);
+               obj = container_of(get_next(&queue->queue), struct cmd_obj, list);
                list_del_init(&obj->list);
        }
 
@@ -308,22 +309,19 @@ int rtw_cmd_filter(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
        if (cmd_obj->cmdcode == GEN_CMD_CODE(_SetChannelPlan))
                bAllow = true;
 
-       if ((pcmdpriv->padapter->hw_init_completed == false && bAllow == false)
-               || atomic_read(&(pcmdpriv->cmdthd_running)) == false    /* com_thread not running */
-       )
+       if ((!pcmdpriv->padapter->hw_init_completed && !bAllow) ||
+               !atomic_read(&pcmdpriv->cmdthd_running))        /* com_thread not running */
                return _FAIL;
 
        return _SUCCESS;
 }
 
-
-
 int rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *cmd_obj)
 {
        int res = _FAIL;
        struct adapter *padapter = pcmdpriv->padapter;
 
-       if (cmd_obj == NULL)
+       if (!cmd_obj)
                goto exit;
 
        cmd_obj->padapter = padapter;
@@ -367,11 +365,10 @@ void rtw_free_cmd_obj(struct cmd_obj *pcmd)
        kfree(pcmd);
 }
 
-
 void rtw_stop_cmd_thread(struct adapter *adapter)
 {
        if (adapter->cmdThread &&
-               atomic_read(&(adapter->cmdpriv.cmdthd_running)) == true &&
+               atomic_read(&adapter->cmdpriv.cmdthd_running) &&
                adapter->cmdpriv.stop_req == 0) {
                adapter->cmdpriv.stop_req = 1;
                complete(&adapter->cmdpriv.cmd_queue_comp);
@@ -387,7 +384,7 @@ int rtw_cmd_thread(void *context)
        u8 (*cmd_hdl)(struct adapter *padapter, u8 *pbuf);
        void (*pcmd_callback)(struct adapter *dev, struct cmd_obj *pcmd);
        struct adapter *padapter = context;
-       struct cmd_priv *pcmdpriv = &(padapter->cmdpriv);
+       struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        struct drvextra_cmd_parm *extra_parm = NULL;
 
        thread_enter("RTW_CMD_THREAD");
@@ -395,7 +392,7 @@ int rtw_cmd_thread(void *context)
        pcmdbuf = pcmdpriv->cmd_buf;
 
        pcmdpriv->stop_req = 0;
-       atomic_set(&(pcmdpriv->cmdthd_running), true);
+       atomic_set(&pcmdpriv->cmdthd_running, true);
        complete(&pcmdpriv->terminate_cmdthread_comp);
 
        while (1) {
@@ -406,7 +403,7 @@ int rtw_cmd_thread(void *context)
                        break;
                }
 
-               if ((padapter->bDriverStopped == true) || (padapter->bSurpriseRemoved == true)) {
+               if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
                        netdev_dbg(padapter->pnetdev,
                                   "%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
                                   __func__, padapter->bDriverStopped,
@@ -429,7 +426,7 @@ int rtw_cmd_thread(void *context)
                        continue;
 
 _next:
-               if ((padapter->bDriverStopped == true) || (padapter->bSurpriseRemoved == true)) {
+               if (padapter->bDriverStopped || padapter->bSurpriseRemoved) {
                        netdev_dbg(padapter->pnetdev,
                                   "%s: DriverStopped(%d) SurpriseRemoved(%d) break at line %d\n",
                                   __func__, padapter->bDriverStopped,
@@ -471,7 +468,7 @@ _next:
 
 post_process:
 
-               if (mutex_lock_interruptible(&(pcmd->padapter->cmdpriv.sctx_mutex)) == 0) {
+               if (mutex_lock_interruptible(&pcmd->padapter->cmdpriv.sctx_mutex) == 0) {
                        if (pcmd->sctx) {
                                netdev_dbg(padapter->pnetdev,
                                           FUNC_ADPT_FMT " pcmd->sctx\n",
@@ -482,13 +479,13 @@ post_process:
                                else
                                        rtw_sctx_done_err(&pcmd->sctx, RTW_SCTX_DONE_CMD_ERROR);
                        }
-                       mutex_unlock(&(pcmd->padapter->cmdpriv.sctx_mutex));
+                       mutex_unlock(&pcmd->padapter->cmdpriv.sctx_mutex);
                }
 
                /* call callback function for post-processed */
                if (pcmd->cmdcode < ARRAY_SIZE(rtw_cmd_callback)) {
                        pcmd_callback = rtw_cmd_callback[pcmd->cmdcode].callback;
-                       if (pcmd_callback == NULL) {
+                       if (!pcmd_callback) {
                                rtw_free_cmd_obj(pcmd);
                        } else {
                                /* todo: !!! fill rsp_buf to pcmd->rsp if (pcmd->rsp!= NULL) */
@@ -497,17 +494,14 @@ post_process:
                } else {
                        rtw_free_cmd_obj(pcmd);
                }
-
                flush_signals_thread();
-
                goto _next;
-
        }
 
        /*  free all cmd_obj resources */
        do {
                pcmd = rtw_dequeue_cmd(pcmdpriv);
-               if (pcmd == NULL) {
+               if (!pcmd) {
                        rtw_unregister_cmd_alive(padapter);
                        break;
                }
@@ -522,7 +516,7 @@ post_process:
        } while (1);
 
        complete(&pcmdpriv->terminate_cmdthread_comp);
-       atomic_set(&(pcmdpriv->cmdthd_running), false);
+       atomic_set(&pcmdpriv->cmdthd_running, false);
 
        thread_exit();
 }
@@ -542,15 +536,15 @@ u8 rtw_sitesurvey_cmd(struct adapter  *padapter, struct ndis_802_11_ssid *ssid,
        struct cmd_priv         *pcmdpriv = &padapter->cmdpriv;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
 
-       if (check_fwstate(pmlmepriv, _FW_LINKED) == true)
+       if (check_fwstate(pmlmepriv, _FW_LINKED))
                rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_SCAN, 1);
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL)
+       if (!ph2c)
                return _FAIL;
 
        psurveyPara = rtw_zmalloc(sizeof(struct sitesurvey_parm));
-       if (psurveyPara == NULL) {
+       if (!psurveyPara) {
                kfree(ph2c);
                return _FAIL;
        }
@@ -591,7 +585,6 @@ u8 rtw_sitesurvey_cmd(struct adapter  *padapter, struct ndis_802_11_ssid *ssid,
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
 
        if (res == _SUCCESS) {
-
                pmlmepriv->scan_start_time = jiffies;
                _set_timer(&pmlmepriv->scan_to_timer, SCANNING_TIMEOUT);
        } else {
@@ -608,13 +601,13 @@ u8 rtw_setdatarate_cmd(struct adapter *padapter, u8 *rateset)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pbsetdataratepara = rtw_zmalloc(sizeof(struct setdatarate_parm));
-       if (pbsetdataratepara == NULL) {
+       if (!pbsetdataratepara) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -644,7 +637,7 @@ u8 rtw_createbss_cmd(struct adapter  *padapter)
        u8 res = _SUCCESS;
 
        pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (pcmd == NULL) {
+       if (!pcmd) {
                res = _FAIL;
                goto exit;
        }
@@ -677,7 +670,7 @@ int rtw_startbss_cmd(struct adapter  *padapter, int flags)
        } else {
                /* need enqueue, prepare cmd_obj and enqueue */
                pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (pcmd == NULL) {
+               if (!pcmd) {
                        res = _FAIL;
                        goto exit;
                }
@@ -724,12 +717,12 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
        struct ht_priv          *phtpriv = &pmlmepriv->htpriv;
        enum ndis_802_11_network_infrastructure ndis_network_mode = pnetwork->network.infrastructure_mode;
        struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv;
-       struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
+       struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info;
        u32 tmp_len;
        u8 *ptmp = NULL;
 
        pcmd = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (pcmd == NULL) {
+       if (!pcmd) {
                res = _FAIL;
                goto exit;
        }
@@ -752,7 +745,6 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
                case Ndis802_11AutoUnknown:
                case Ndis802_11InfrastructureMax:
                        break;
-
                }
        }
 
@@ -775,7 +767,7 @@ u8 rtw_joinbss_cmd(struct adapter  *padapter, struct wlan_network *pnetwork)
        /*  If not,  we have to copy the connecting AP's MAC address to it so that */
        /*  the driver just has the bssid information for PMKIDList searching. */
 
-       if (pmlmepriv->assoc_by_bssid == false)
+       if (!pmlmepriv->assoc_by_bssid)
                memcpy(&pmlmepriv->assoc_bssid[0], &pnetwork->network.mac_address[0], ETH_ALEN);
 
        psecnetwork->ie_length = rtw_restruct_sec_ie(padapter, &pnetwork->network.ies[0], &psecnetwork->ies[0], pnetwork->network.ie_length);
@@ -841,7 +833,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
 
        /* prepare cmd parameter */
        param = rtw_zmalloc(sizeof(*param));
-       if (param == NULL) {
+       if (!param) {
                res = _FAIL;
                goto exit;
        }
@@ -850,7 +842,7 @@ u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueu
        if (enqueue) {
                /* need enqueue, prepare cmd_obj and enqueue */
                cmdobj = rtw_zmalloc(sizeof(*cmdobj));
-               if (cmdobj == NULL) {
+               if (!cmdobj) {
                        res = _FAIL;
                        kfree(param);
                        goto exit;
@@ -878,7 +870,7 @@ u8 rtw_setopmode_cmd(struct adapter  *padapter, enum ndis_802_11_network_infrast
 
        psetop = rtw_zmalloc(sizeof(struct setopmode_parm));
 
-       if (psetop == NULL) {
+       if (!psetop) {
                res = _FAIL;
                goto exit;
        }
@@ -886,7 +878,7 @@ u8 rtw_setopmode_cmd(struct adapter  *padapter, enum ndis_802_11_network_infrast
 
        if (enqueue) {
                ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (ph2c == NULL) {
+               if (!ph2c) {
                        kfree(psetop);
                        res = _FAIL;
                        goto exit;
@@ -914,7 +906,7 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
        u8 res = _SUCCESS;
 
        psetstakey_para = rtw_zmalloc(sizeof(struct set_stakey_parm));
-       if (psetstakey_para == NULL) {
+       if (!psetstakey_para) {
                res = _FAIL;
                goto exit;
        }
@@ -922,11 +914,11 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
        memcpy(psetstakey_para->addr, sta->hwaddr, ETH_ALEN);
 
        if (check_fwstate(pmlmepriv, WIFI_STATION_STATE))
-               psetstakey_para->algorithm = (unsigned char) psecuritypriv->dot11PrivacyAlgrthm;
+               psetstakey_para->algorithm = (unsigned char)psecuritypriv->dot11PrivacyAlgrthm;
        else
                GET_ENCRY_ALGO(psecuritypriv, sta, psetstakey_para->algorithm, false);
 
-       if (unicast_key == true)
+       if (unicast_key)
                memcpy(&psetstakey_para->key, &sta->dot118021x_UncstKey, 16);
        else
                memcpy(&psetstakey_para->key, &psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey, 16);
@@ -936,14 +928,14 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
 
        if (enqueue) {
                ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (ph2c == NULL) {
+               if (!ph2c) {
                        kfree(psetstakey_para);
                        res = _FAIL;
                        goto exit;
                }
 
                psetstakey_rsp = rtw_zmalloc(sizeof(struct set_stakey_rsp));
-               if (psetstakey_rsp == NULL) {
+               if (!psetstakey_rsp) {
                        kfree(ph2c);
                        kfree(psetstakey_para);
                        res = _FAIL;
@@ -951,7 +943,7 @@ u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_
                }
 
                init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, _SetStaKey_CMD_);
-               ph2c->rsp = (u8 *) psetstakey_rsp;
+               ph2c->rsp = (u8 *)psetstakey_rsp;
                ph2c->rspsz = sizeof(struct set_stakey_rsp);
                res = rtw_enqueue_cmd(pcmdpriv, ph2c);
        } else {
@@ -981,20 +973,20 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueu
                }
        } else {
                ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (ph2c == NULL) {
+               if (!ph2c) {
                        res = _FAIL;
                        goto exit;
                }
 
                psetstakey_para = rtw_zmalloc(sizeof(struct set_stakey_parm));
-               if (psetstakey_para == NULL) {
+               if (!psetstakey_para) {
                        kfree(ph2c);
                        res = _FAIL;
                        goto exit;
                }
 
                psetstakey_rsp = rtw_zmalloc(sizeof(struct set_stakey_rsp));
-               if (psetstakey_rsp == NULL) {
+               if (!psetstakey_rsp) {
                        kfree(ph2c);
                        kfree(psetstakey_para);
                        res = _FAIL;
@@ -1002,7 +994,7 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueu
                }
 
                init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, _SetStaKey_CMD_);
-               ph2c->rsp = (u8 *) psetstakey_rsp;
+               ph2c->rsp = (u8 *)psetstakey_rsp;
                ph2c->rspsz = sizeof(struct set_stakey_rsp);
 
                memcpy(psetstakey_para->addr, sta->hwaddr, ETH_ALEN);
@@ -1010,9 +1002,7 @@ u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueu
                psetstakey_para->algorithm = _NO_PRIVACY_;
 
                res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
        }
-
 exit:
        return res;
 }
@@ -1026,13 +1016,13 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        paddbareq_parm = rtw_zmalloc(sizeof(struct addBaReq_parm));
-       if (paddbareq_parm == NULL) {
+       if (!paddbareq_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1058,13 +1048,13 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1080,7 +1070,6 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter)
 
        /* rtw_enqueue_cmd(pcmdpriv, ph2c); */
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
 exit:
        return res;
 }
@@ -1093,13 +1082,13 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1112,10 +1101,8 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter)
 
        init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra));
 
-
        /* rtw_enqueue_cmd(pcmdpriv, ph2c); */
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
 exit:
        return res;
 }
@@ -1129,13 +1116,13 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
 
        /* only  primary padapter does this cmd */
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1150,7 +1137,6 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter)
 
        /* rtw_enqueue_cmd(pcmdpriv, ph2c); */
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
-
 exit:
        return res;
 }
@@ -1164,7 +1150,7 @@ u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue, u8 swconf
        u8 res = _SUCCESS;
 
        /*  check if allow software config */
-       if (swconfig && rtw_hal_is_disable_sw_channel_plan(padapter) == true) {
+       if (swconfig && rtw_hal_is_disable_sw_channel_plan(padapter)) {
                res = _FAIL;
                goto exit;
        }
@@ -1177,7 +1163,7 @@ u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue, u8 swconf
 
        /* prepare cmd parameter */
        setChannelPlan_param = rtw_zmalloc(sizeof(struct SetChannelPlan_param));
-       if (setChannelPlan_param == NULL) {
+       if (!setChannelPlan_param) {
                res = _FAIL;
                goto exit;
        }
@@ -1186,7 +1172,7 @@ u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue, u8 swconf
        if (enqueue) {
                /* need enqueue, prepare cmd_obj and enqueue */
                pcmdobj = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (pcmdobj == NULL) {
+               if (!pcmdobj) {
                        kfree(setChannelPlan_param);
                        res = _FAIL;
                        goto exit;
@@ -1243,14 +1229,14 @@ u8 traffic_status_watchdog(struct adapter *padapter, u8 from_timer)
        u8 bBusyTraffic = false, bTxBusyTraffic = false, bRxBusyTraffic = false;
        u8 bHigherBusyTraffic = false, bHigherBusyRxTraffic = false, bHigherBusyTxTraffic = false;
 
-       struct mlme_priv        *pmlmepriv = &(padapter->mlmepriv);
+       struct mlme_priv        *pmlmepriv = &padapter->mlmepriv;
 
        collect_traffic_statistics(padapter);
 
        /*  */
        /*  Determine if our traffic is busy now */
        /*  */
-       if ((check_fwstate(pmlmepriv, _FW_LINKED) == true)
+       if ((check_fwstate(pmlmepriv, _FW_LINKED))
                /*&& !MgntInitAdapterInProgress(pMgntInfo)*/) {
                /*  if we raise bBusyTraffic in last watchdog, using lower threshold. */
                if (pmlmepriv->LinkDetectInfo.bBusyTraffic)
@@ -1282,7 +1268,7 @@ u8 traffic_status_watchdog(struct adapter *padapter, u8 from_timer)
                        (pmlmepriv->LinkDetectInfo.NumRxUnicastOkInPeriod > 2)) {
                        bEnterPS = false;
 
-                       if (bBusyTraffic == true) {
+                       if (bBusyTraffic) {
                                if (pmlmepriv->LinkDetectInfo.TrafficTransitionCount <= 4)
                                        pmlmepriv->LinkDetectInfo.TrafficTransitionCount = 4;
 
@@ -1315,7 +1301,7 @@ u8 traffic_status_watchdog(struct adapter *padapter, u8 from_timer)
                struct dvobj_priv *dvobj = adapter_to_dvobj(padapter);
                int n_assoc_iface = 0;
 
-               if (check_fwstate(&(dvobj->padapters->mlmepriv), WIFI_ASOC_STATE))
+               if (check_fwstate(&dvobj->padapters->mlmepriv, WIFI_ASOC_STATE))
                        n_assoc_iface++;
 
                if (!from_timer && n_assoc_iface == 0)
@@ -1340,21 +1326,18 @@ static void dynamic_chk_wk_hdl(struct adapter *padapter)
 {
        struct mlme_priv *pmlmepriv;
 
-       pmlmepriv = &(padapter->mlmepriv);
+       pmlmepriv = &padapter->mlmepriv;
 
-       if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true)
+       if (check_fwstate(pmlmepriv, WIFI_AP_STATE))
                expire_timeout_chk(padapter);
 
        /* for debug purpose */
        _linked_info_dump(padapter);
-
-
        /* if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING|_FW_UNDER_SURVEY) ==false) */
        {
                linked_status_chk(padapter);
                traffic_status_watchdog(padapter, 0);
        }
-
        rtw_hal_dm_watchdog(padapter);
 
        /* check_hw_pbc(padapter, pdrvextra_cmd->pbuf, pdrvextra_cmd->type); */
@@ -1374,11 +1357,11 @@ void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type);
 void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
 {
        struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter);
-       struct mlme_priv *pmlmepriv = &(padapter->mlmepriv);
+       struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        u8 mstatus;
 
-       if ((check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) == true)
-               || (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) == true)) {
+       if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) ||
+               check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) {
                return;
        }
 
@@ -1386,7 +1369,7 @@ void lps_ctrl_wk_hdl(struct adapter *padapter, u8 lps_ctrl_type)
        case LPS_CTRL_SCAN:
                hal_btcoex_ScanNotify(padapter, true);
 
-               if (check_fwstate(pmlmepriv, _FW_LINKED) == true) {
+               if (check_fwstate(pmlmepriv, _FW_LINKED)) {
                        /*  connect */
                        LPS_Leave(padapter, "LPS_CTRL_SCAN");
                }
@@ -1436,13 +1419,13 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue)
 
        if (enqueue) {
                ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (ph2c == NULL) {
+               if (!ph2c) {
                        res = _FAIL;
                        goto exit;
                }
 
                pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-               if (pdrvextra_cmd_parm == NULL) {
+               if (!pdrvextra_cmd_parm) {
                        kfree(ph2c);
                        res = _FAIL;
                        goto exit;
@@ -1478,13 +1461,13 @@ u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter)
 
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1500,9 +1483,7 @@ u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter)
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
 
 exit:
-
        return res;
-
 }
 
 static void rtw_lps_change_dtim_hdl(struct adapter *padapter, u8 dtim)
@@ -1512,7 +1493,7 @@ static void rtw_lps_change_dtim_hdl(struct adapter *padapter, u8 dtim)
        if (dtim <= 0 || dtim > 16)
                return;
 
-       if (hal_btcoex_IsBtControlLps(padapter) == true)
+       if (hal_btcoex_IsBtControlLps(padapter))
                return;
 
        mutex_lock(&pwrpriv->lock);
@@ -1542,15 +1523,14 @@ u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta)
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
 
-
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1577,15 +1557,14 @@ u8 rtw_ps_cmd(struct adapter *padapter)
        struct drvextra_cmd_parm        *pdrvextra_cmd_parm;
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
        u8 res = _SUCCESS;
-
        ppscmd = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ppscmd == NULL) {
+       if (!ppscmd) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ppscmd);
                res = _FAIL;
                goto exit;
@@ -1618,7 +1597,7 @@ static void rtw_chk_hi_queue_hdl(struct adapter *padapter)
 
        rtw_hal_get_hwreg(padapter, HW_VAR_CHK_HI_QUEUE_EMPTY, &empty);
 
-       while (false == empty && jiffies_to_msecs(jiffies - start) < g_wait_hiq_empty) {
+       while (!empty && jiffies_to_msecs(jiffies - start) < g_wait_hiq_empty) {
                msleep(100);
                rtw_hal_get_hwreg(padapter, HW_VAR_CHK_HI_QUEUE_EMPTY, &empty);
        }
@@ -1651,13 +1630,13 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1673,9 +1652,7 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter)
        res = rtw_enqueue_cmd(pcmdpriv, ph2c);
 
 exit:
-
        return res;
-
 }
 
 struct btinfo {
@@ -1745,13 +1722,13 @@ u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1780,13 +1757,13 @@ u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        pdrvextra_cmd_parm = rtw_zmalloc(sizeof(struct drvextra_cmd_parm));
-       if (pdrvextra_cmd_parm == NULL) {
+       if (!pdrvextra_cmd_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -1840,7 +1817,7 @@ static void c2h_wk_callback(struct work_struct *work)
                        continue;
                }
 
-               if (ccx_id_filter(c2h_evt) == true) {
+               if (ccx_id_filter(c2h_evt)) {
                        /* Handle CCX report here */
                        rtw_hal_c2h_handler(adapter, c2h_evt);
                        kfree(c2h_evt);
@@ -1959,9 +1936,9 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
        struct wlan_network *pwlan = NULL;
        struct  mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)pcmd->parmbuf;
-       struct wlan_network *tgt_network = &(pmlmepriv->cur_network);
+       struct wlan_network *tgt_network = &pmlmepriv->cur_network;
 
-       if (pcmd->parmbuf == NULL)
+       if (!pcmd->parmbuf)
                goto exit;
 
        if (pcmd->res != H2C_SUCCESS)
@@ -1983,20 +1960,20 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
                rtw_indicate_connect(padapter);
        } else {
                pwlan = rtw_alloc_network(pmlmepriv);
-               spin_lock_bh(&(pmlmepriv->scanned_queue.lock));
-               if (pwlan == NULL) {
+               spin_lock_bh(&pmlmepriv->scanned_queue.lock);
+               if (!pwlan) {
                        pwlan = rtw_get_oldest_wlan_network(&pmlmepriv->scanned_queue);
-                       if (pwlan == NULL) {
-                               spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
+                       if (!pwlan) {
+                               spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
                                goto createbss_cmd_fail;
                        }
                        pwlan->last_scanned = jiffies;
                } else {
-                       list_add_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue);
+                       list_add_tail(&pwlan->list, &pmlmepriv->scanned_queue.queue);
                }
 
                pnetwork->length = get_wlan_bssid_ex_sz(pnetwork);
-               memcpy(&(pwlan->network), pnetwork, pnetwork->length);
+               memcpy(&pwlan->network, pnetwork, pnetwork->length);
                /* pwlan->fixed = true; */
 
                /* list_add_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue); */
@@ -2009,7 +1986,7 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd)
 
                _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
 
-               spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
+               spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
                /*  we will set _FW_LINKED when there is one more sat to join us (rtw_stassoc_event_callback) */
 
        }
@@ -2021,13 +1998,10 @@ exit:
        rtw_free_cmd_obj(pcmd);
 }
 
-
-
 void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *pcmd)
 {
-
        struct sta_priv *pstapriv = &padapter->stapriv;
-       struct set_stakey_rsp *psetstakey_rsp = (struct set_stakey_rsp *) (pcmd->rsp);
+       struct set_stakey_rsp *psetstakey_rsp = (struct set_stakey_rsp *)(pcmd->rsp);
        struct sta_info *psta = rtw_get_stainfo(pstapriv, psetstakey_rsp->addr);
 
        if (!psta)
@@ -2042,7 +2016,7 @@ void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *
        struct sta_priv *pstapriv = &padapter->stapriv;
        struct mlme_priv *pmlmepriv = &padapter->mlmepriv;
        struct set_assocsta_parm *passocsta_parm = (struct set_assocsta_parm *)(pcmd->parmbuf);
-       struct set_assocsta_rsp *passocsta_rsp = (struct set_assocsta_rsp *) (pcmd->rsp);
+       struct set_assocsta_rsp *passocsta_rsp = (struct set_assocsta_rsp *)(pcmd->rsp);
        struct sta_info *psta = rtw_get_stainfo(pstapriv, passocsta_parm->addr);
 
        if (!psta)
@@ -2053,7 +2027,7 @@ void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter,  struct cmd_obj *
 
        spin_lock_bh(&pmlmepriv->lock);
 
-       if ((check_fwstate(pmlmepriv, WIFI_MP_STATE) == true) && (check_fwstate(pmlmepriv, _FW_UNDER_LINKING) == true))
+       if (check_fwstate(pmlmepriv, WIFI_MP_STATE) && check_fwstate(pmlmepriv, _FW_UNDER_LINKING))
                _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING);
 
        set_fwstate(pmlmepriv, _FW_LINKED);
index 5cfde71..8c11daf 100644 (file)
@@ -370,7 +370,7 @@ u8 rtw_set_802_11_bssid_list_scan(struct adapter *padapter, struct ndis_802_11_s
        struct  mlme_priv       *pmlmepriv = &padapter->mlmepriv;
        u8 res = true;
 
-       if (padapter == NULL) {
+       if (!padapter) {
                res = false;
                goto exit;
        }
@@ -481,7 +481,7 @@ u16 rtw_get_cur_max_rate(struct adapter *adapter)
                return 0;
 
        psta = rtw_get_stainfo(&adapter->stapriv, get_bssid(pmlmepriv));
-       if (psta == NULL)
+       if (!psta)
                return 0;
 
        short_GI = query_ra_short_GI(psta);
index ab6a24d..9202223 100644 (file)
@@ -27,8 +27,10 @@ int  rtw_init_mlme_priv(struct adapter *padapter)
        pmlmepriv->scan_mode = SCAN_ACTIVE;/*  1: active, 0: pasive. Maybe someday we should rename this varable to "active_mode" (Jeff) */
 
        spin_lock_init(&pmlmepriv->lock);
-       _rtw_init_queue(&pmlmepriv->free_bss_pool);
-       _rtw_init_queue(&pmlmepriv->scanned_queue);
+       INIT_LIST_HEAD(&pmlmepriv->free_bss_pool.queue);
+       spin_lock_init(&pmlmepriv->free_bss_pool.lock);
+       INIT_LIST_HEAD(&pmlmepriv->scanned_queue.queue);
+       spin_lock_init(&pmlmepriv->scanned_queue.lock);
 
        set_scanned_network_val(pmlmepriv, 0);
 
@@ -439,7 +441,7 @@ struct      wlan_network    *rtw_get_oldest_wlan_network(struct __queue *scanned_queue)
                pwlan = list_entry(plist, struct wlan_network, list);
 
                if (!pwlan->fixed) {
-                       if (oldest == NULL || time_after(oldest->last_scanned, pwlan->last_scanned))
+                       if (!oldest || time_after(oldest->last_scanned, pwlan->last_scanned))
                                oldest = pwlan;
                }
        }
@@ -542,7 +544,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t
                        /* TODO: don't select network in the same ess as oldest if it's new enough*/
                }
 
-               if (oldest == NULL || time_after(oldest->last_scanned, pnetwork->last_scanned))
+               if (!oldest || time_after(oldest->last_scanned, pnetwork->last_scanned))
                        oldest = pnetwork;
 
        }
@@ -897,7 +899,6 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue)
 {
        struct  mlme_priv *pmlmepriv = &adapter->mlmepriv;
        struct wlan_network *tgt_network = &pmlmepriv->cur_network;
-       struct  sta_priv *pstapriv = &adapter->stapriv;
        struct dvobj_priv *psdpriv = adapter->dvobj;
        struct debug_priv *pdbgpriv = &psdpriv->drv_dbg;
 
@@ -905,11 +906,7 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue)
                struct sta_info *psta;
 
                psta = rtw_get_stainfo(&adapter->stapriv, tgt_network->network.mac_address);
-               spin_lock_bh(&(pstapriv->sta_hash_lock));
                rtw_free_stainfo(adapter,  psta);
-
-               spin_unlock_bh(&(pstapriv->sta_hash_lock));
-
        }
 
        if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE|WIFI_ADHOC_MASTER_STATE|WIFI_AP_STATE)) {
@@ -1239,16 +1236,13 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf)
                                rtw_indicate_connect(adapter);
                        }
 
+                       spin_unlock_bh(&pmlmepriv->scanned_queue.lock);
+
                        /* s5. Cancel assoc_timer */
                        del_timer_sync(&pmlmepriv->assoc_timer);
-
                } else {
                        spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
-                       goto ignore_joinbss_callback;
                }
-
-               spin_unlock_bh(&(pmlmepriv->scanned_queue.lock));
-
        } else if (pnetwork->join_res == -4) {
                rtw_reset_securitypriv(adapter);
                _set_timer(&pmlmepriv->assoc_timer, 1);
@@ -1820,7 +1814,7 @@ static int rtw_check_join_candidate(struct mlme_priv *mlme
                        goto exit;
        }
 
-       if (*candidate == NULL || (*candidate)->network.rssi < competitor->network.rssi) {
+       if (!*candidate || (*candidate)->network.rssi < competitor->network.rssi) {
                *candidate = competitor;
                updated = true;
        }
index 375d2a7..0f82f50 100644 (file)
@@ -742,11 +742,11 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
        }
 
        pstat = rtw_get_stainfo(pstapriv, sa);
-       if (pstat == NULL) {
+       if (!pstat) {
 
                /*  allocate a new one */
                pstat = rtw_alloc_stainfo(pstapriv, sa);
-               if (pstat == NULL) {
+               if (!pstat) {
                        status = WLAN_STATUS_AP_UNABLE_TO_HANDLE_NEW_STA;
                        goto auth_fail;
                }
@@ -808,13 +808,12 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame)
                        pstat->state &= ~WIFI_FW_AUTH_NULL;
                        pstat->state |= WIFI_FW_AUTH_STATE;
                        pstat->authalg = algorithm;
-                       pstat->auth_seq = 2;
                } else if (seq == 3) {
 
                        p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + 4 + _AUTH_IE_OFFSET_, WLAN_EID_CHALLENGE, (int *)&ie_len,
                                        len - WLAN_HDR_A3_LEN - _AUTH_IE_OFFSET_ - 4);
 
-                       if ((p == NULL) || (ie_len <= 0)) {
+                       if (!p || ie_len <= 0) {
                                status = WLAN_STATUS_CHALLENGE_FAIL;
                                goto auth_fail;
                        }
@@ -1034,7 +1033,7 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
 
        /*  check if the supported rate is ok */
        p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_SUPP_RATES, &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset);
-       if (p == NULL) {
+       if (!p) {
                /*  use our own rate set as statoin used */
                /* memcpy(supportRate, AP_BSSRATE, AP_BSSRATE_LEN); */
                /* supportRateNum = AP_BSSRATE_LEN; */
@@ -1047,7 +1046,7 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
 
                p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_EXT_SUPP_RATES, &ie_len,
                                pkt_len - WLAN_HDR_A3_LEN - ie_offset);
-               if (p !=  NULL) {
+               if (p) {
 
                        if (supportRateNum <= sizeof(supportRate)) {
                                memcpy(supportRate+supportRateNum, p+2, ie_len);
@@ -1294,7 +1293,7 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
        /* get a unique AID */
        if (pstat->aid == 0) {
                for (pstat->aid = 1; pstat->aid <= NUM_STA; pstat->aid++)
-                       if (pstapriv->sta_aid[pstat->aid - 1] == NULL)
+                       if (!pstapriv->sta_aid[pstat->aid - 1])
                                break;
 
                /* if (pstat->aid > NUM_STA) { */
@@ -1344,12 +1343,8 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame)
                        issue_asocrsp(padapter, status, pstat, WIFI_REASSOCRSP);
 
                spin_lock_bh(&pstat->lock);
-               if (pstat->passoc_req) {
-                       kfree(pstat->passoc_req);
-                       pstat->passoc_req = NULL;
-                       pstat->assoc_req_len = 0;
-               }
-
+               kfree(pstat->passoc_req);
+               pstat->assoc_req_len = 0;
                pstat->passoc_req =  rtw_zmalloc(pkt_len);
                if (pstat->passoc_req) {
                        memcpy(pstat->passoc_req, pframe, pkt_len);
@@ -1489,9 +1484,7 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame)
                struct sta_info *psta;
                struct sta_priv *pstapriv = &padapter->stapriv;
 
-               /* spin_lock_bh(&(pstapriv->sta_hash_lock)); */
                /* rtw_free_stainfo(padapter, psta); */
-               /* spin_unlock_bh(&(pstapriv->sta_hash_lock)); */
 
                netdev_dbg(padapter->pnetdev,
                           "ap recv deauth reason code(%d) sta:%pM\n", reason,
@@ -1565,9 +1558,7 @@ unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame)
                struct sta_info *psta;
                struct sta_priv *pstapriv = &padapter->stapriv;
 
-               /* spin_lock_bh(&(pstapriv->sta_hash_lock)); */
                /* rtw_free_stainfo(padapter, psta); */
-               /* spin_unlock_bh(&(pstapriv->sta_hash_lock)); */
 
                netdev_dbg(padapter->pnetdev,
                           "ap recv disassoc reason code(%d) sta:%pM\n",
@@ -1944,7 +1935,7 @@ static struct xmit_frame *_alloc_mgtxmitframe(struct xmit_priv *pxmitpriv, bool
                goto exit;
 
        pxmitbuf = rtw_alloc_xmitbuf_ext(pxmitpriv);
-       if (pxmitbuf == NULL) {
+       if (!pxmitbuf) {
                rtw_free_xmitframe(pxmitpriv, pmgntframe);
                pmgntframe = NULL;
                goto exit;
@@ -2297,7 +2288,7 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p
        struct wlan_bssid_ex            *cur_network = &(pmlmeinfo->network);
        unsigned int    rate_len;
 
-       if (da == NULL)
+       if (!da)
                return;
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
@@ -2621,7 +2612,7 @@ void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short
        __le16 le_tmp;
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL)
+       if (!pmgntframe)
                return;
 
        /* update attribute */
@@ -2752,7 +2743,7 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
        __le16 lestatus, le_tmp;
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL)
+       if (!pmgntframe)
                return;
 
        /* update attribute */
@@ -2840,7 +2831,7 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i
                                break;
                        }
 
-                       if ((pbuf == NULL) || (ie_len == 0)) {
+                       if (!pbuf || ie_len == 0) {
                                break;
                        }
                }
@@ -2884,7 +2875,7 @@ void issue_assocreq(struct adapter *padapter)
        u8 vs_ie_length = 0;
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL)
+       if (!pmgntframe)
                goto exit;
 
        /* update attribute */
@@ -3061,7 +3052,7 @@ static int _issue_nulldata(struct adapter *padapter, unsigned char *da,
        pmlmeinfo = &(pmlmeext->mlmext_info);
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL)
+       if (!pmgntframe)
                goto exit;
 
        /* update attribute */
@@ -3200,7 +3191,7 @@ static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da,
        struct mlme_ext_info *pmlmeinfo = &(pmlmeext->mlmext_info);
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL)
+       if (!pmgntframe)
                goto exit;
 
        /* update attribute */
@@ -3226,9 +3217,6 @@ static int _issue_qos_nulldata(struct adapter *padapter, unsigned char *da,
        else if ((pmlmeinfo->state&0x03) == WIFI_FW_STATION_STATE)
                SetToDs(fctrl);
 
-       if (pattrib->mdata)
-               SetMData(fctrl);
-
        qc = (unsigned short *)(pframe + pattrib->hdrlen - 2);
 
        SetPriority(qc, tid);
@@ -3313,7 +3301,7 @@ static int _issue_deauth(struct adapter *padapter, unsigned char *da,
        __le16 le_tmp;
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL) {
+       if (!pmgntframe) {
                goto exit;
        }
 
@@ -3639,7 +3627,7 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
        action = ACT_PUBLIC_BSSCOEXIST;
 
        pmgntframe = alloc_mgtxmitframe(pxmitpriv);
-       if (pmgntframe == NULL) {
+       if (!pmgntframe) {
                return;
        }
 
@@ -3706,7 +3694,7 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter)
                        pbss_network = (struct wlan_bssid_ex *)&pnetwork->network;
 
                        p = rtw_get_ie(pbss_network->ies + _FIXED_IE_LENGTH_, WLAN_EID_HT_CAPABILITY, &len, pbss_network->ie_length - _FIXED_IE_LENGTH_);
-                       if ((p == NULL) || (len == 0)) {/* non-HT */
+                       if (!p || len == 0) {/* non-HT */
 
                                if (pbss_network->configuration.ds_config <= 0)
                                        continue;
@@ -3769,7 +3757,7 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr)
                        return _SUCCESS;
 
        psta = rtw_get_stainfo(pstapriv, addr);
-       if (psta == NULL)
+       if (!psta)
                return _SUCCESS;
 
        if (initiator == 0) {/*  recipient */
@@ -4641,13 +4629,13 @@ void report_del_sta_event(struct adapter *padapter, unsigned char *MacAddr, unsi
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
        pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (pcmd_obj == NULL) {
+       if (!pcmd_obj) {
                return;
        }
 
        cmdsz = (sizeof(struct stadel_event) + sizeof(struct C2HEvent_Header));
        pevtcmd = rtw_zmalloc(cmdsz);
-       if (pevtcmd == NULL) {
+       if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
        }
@@ -4693,12 +4681,12 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int
        struct cmd_priv *pcmdpriv = &padapter->cmdpriv;
 
        pcmd_obj = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (pcmd_obj == NULL)
+       if (!pcmd_obj)
                return;
 
        cmdsz = (sizeof(struct stassoc_event) + sizeof(struct C2HEvent_Header));
        pevtcmd = rtw_zmalloc(cmdsz);
-       if (pevtcmd == NULL) {
+       if (!pevtcmd) {
                kfree(pcmd_obj);
                return;
        }
@@ -5147,12 +5135,12 @@ void survey_timer_hdl(struct timer_list *t)
                }
 
                ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-               if (ph2c == NULL) {
+               if (!ph2c) {
                        goto exit_survey_timer_hdl;
                }
 
                psurveyPara = rtw_zmalloc(sizeof(struct sitesurvey_parm));
-               if (psurveyPara == NULL) {
+               if (!psurveyPara) {
                        kfree(ph2c);
                        goto exit_survey_timer_hdl;
                }
@@ -5781,7 +5769,7 @@ u8 chk_bmc_sleepq_cmd(struct adapter *padapter)
        u8 res = _SUCCESS;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
@@ -5805,13 +5793,13 @@ u8 set_tx_beacon_cmd(struct adapter *padapter)
        int len_diff = 0;
 
        ph2c = rtw_zmalloc(sizeof(struct cmd_obj));
-       if (ph2c == NULL) {
+       if (!ph2c) {
                res = _FAIL;
                goto exit;
        }
 
        ptxBeacon_parm = rtw_zmalloc(sizeof(struct Tx_Beacon_param));
-       if (ptxBeacon_parm == NULL) {
+       if (!ptxBeacon_parm) {
                kfree(ph2c);
                res = _FAIL;
                goto exit;
@@ -5871,7 +5859,7 @@ u8 mlme_evt_hdl(struct adapter *padapter, unsigned char *pbuf)
        void (*event_callback)(struct adapter *dev, u8 *pbuf);
        struct evt_priv *pevt_priv = &(padapter->evtpriv);
 
-       if (pbuf == NULL)
+       if (!pbuf)
                goto _abort_event_;
 
        peventbuf = (uint *)pbuf;
@@ -5919,7 +5907,6 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
        struct sta_info *psta_bmc;
        struct list_head *xmitframe_plist, *xmitframe_phead, *tmp;
        struct xmit_frame *pxmitframe = NULL;
-       struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
        struct sta_priv  *pstapriv = &padapter->stapriv;
 
        /* for BC/MC Frames */
@@ -5930,8 +5917,7 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
        if ((pstapriv->tim_bitmap&BIT(0)) && (psta_bmc->sleepq_len > 0)) {
                msleep(10);/*  10ms, ATIM(HIQ) Windows */
 
-               /* spin_lock_bh(&psta_bmc->sleep_q.lock); */
-               spin_lock_bh(&pxmitpriv->lock);
+               spin_lock_bh(&psta_bmc->sleep_q.lock);
 
                xmitframe_phead = get_list_head(&psta_bmc->sleep_q);
                list_for_each_safe(xmitframe_plist, tmp, xmitframe_phead) {
@@ -5954,8 +5940,7 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf)
                        rtw_hal_xmitframe_enqueue(padapter, pxmitframe);
                }
 
-               /* spin_unlock_bh(&psta_bmc->sleep_q.lock); */
-               spin_unlock_bh(&pxmitpriv->lock);
+               spin_unlock_bh(&psta_bmc->sleep_q.lock);
 
                /* check hi queue and bmc_sleepq */
                rtw_chk_hi_queue_cmd(padapter);
index 5b0a596..41bfca5 100644 (file)
@@ -25,7 +25,8 @@ void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv)
        /* for (i = 0; i<MAX_RX_NUMBLKS; i++) */
        /* _rtw_init_queue(&psta_recvpriv->blk_strms[i]); */
 
-       _rtw_init_queue(&psta_recvpriv->defrag_q);
+       INIT_LIST_HEAD(&psta_recvpriv->defrag_q.queue);
+       spin_lock_init(&psta_recvpriv->defrag_q.lock);
 }
 
 signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *padapter)
@@ -36,9 +37,12 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada
 
        spin_lock_init(&precvpriv->lock);
 
-       _rtw_init_queue(&precvpriv->free_recv_queue);
-       _rtw_init_queue(&precvpriv->recv_pending_queue);
-       _rtw_init_queue(&precvpriv->uc_swdec_pending_queue);
+       INIT_LIST_HEAD(&precvpriv->free_recv_queue.queue);
+       spin_lock_init(&precvpriv->free_recv_queue.lock);
+       INIT_LIST_HEAD(&precvpriv->recv_pending_queue.queue);
+       spin_lock_init(&precvpriv->recv_pending_queue.lock);
+       INIT_LIST_HEAD(&precvpriv->uc_swdec_pending_queue.queue);
+       spin_lock_init(&precvpriv->uc_swdec_pending_queue.lock);
 
        precvpriv->adapter = padapter;
 
@@ -953,10 +957,8 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
                if ((psta->state&WIFI_SLEEP_STATE) && (pstapriv->sta_dz_bitmap&BIT(psta->aid))) {
                        struct list_head        *xmitframe_plist, *xmitframe_phead;
                        struct xmit_frame *pxmitframe = NULL;
-                       struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
 
-                       /* spin_lock_bh(&psta->sleep_q.lock); */
-                       spin_lock_bh(&pxmitpriv->lock);
+                       spin_lock_bh(&psta->sleep_q.lock);
 
                        xmitframe_phead = get_list_head(&psta->sleep_q);
                        xmitframe_plist = get_next(xmitframe_phead);
@@ -987,12 +989,10 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_
                                        update_beacon(padapter, WLAN_EID_TIM, NULL, true);
                                }
 
-                               /* spin_unlock_bh(&psta->sleep_q.lock); */
-                               spin_unlock_bh(&pxmitpriv->lock);
+                               spin_unlock_bh(&psta->sleep_q.lock);
 
                        } else {
-                               /* spin_unlock_bh(&psta->sleep_q.lock); */
-                               spin_unlock_bh(&pxmitpriv->lock);
+                               spin_unlock_bh(&psta->sleep_q.lock);
 
                                if (pstapriv->tim_bitmap&BIT(psta->aid)) {
                                        if (psta->sleepq_len == 0) {
index b050bf6..ac73141 100644 (file)
@@ -51,7 +51,7 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
        struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
        struct arc4_ctx *ctx = &psecuritypriv->xmit_arc4_ctx;
 
-       if (((struct xmit_frame *)pxmitframe)->buf_addr == NULL)
+       if (!((struct xmit_frame *)pxmitframe)->buf_addr)
                return;
 
        hw_hdr_offset = TXDESC_OFFSET;
@@ -476,7 +476,7 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
        struct arc4_ctx *ctx = &psecuritypriv->xmit_arc4_ctx;
        u32 res = _SUCCESS;
 
-       if (((struct xmit_frame *)pxmitframe)->buf_addr == NULL)
+       if (!((struct xmit_frame *)pxmitframe)->buf_addr)
                return _FAIL;
 
        hw_hdr_offset = TXDESC_OFFSET;
@@ -1043,7 +1043,7 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
 
        u32 res = _SUCCESS;
 
-       if (((struct xmit_frame *)pxmitframe)->buf_addr == NULL)
+       if (!((struct xmit_frame *)pxmitframe)->buf_addr)
                return _FAIL;
 
        hw_hdr_offset = TXDESC_OFFSET;
index 67ca219..0c9ea15 100644 (file)
@@ -19,7 +19,8 @@ void _rtw_init_stainfo(struct sta_info *psta)
        /* INIT_LIST_HEAD(&psta->sleep_list); */
        /* INIT_LIST_HEAD(&psta->wakeup_list); */
 
-       _rtw_init_queue(&psta->sleep_q);
+       INIT_LIST_HEAD(&psta->sleep_q.queue);
+       spin_lock_init(&psta->sleep_q.lock);
        psta->sleepq_len = 0;
 
        _rtw_init_sta_xmit_priv(&psta->sta_xmitpriv);
@@ -62,14 +63,17 @@ u32 _rtw_init_sta_priv(struct       sta_priv *pstapriv)
        pstapriv->pstainfo_buf = pstapriv->pallocated_stainfo_buf + 4 -
                ((SIZE_PTR)(pstapriv->pallocated_stainfo_buf) & 3);
 
-       _rtw_init_queue(&pstapriv->free_sta_queue);
+       INIT_LIST_HEAD(&pstapriv->free_sta_queue.queue);
+       spin_lock_init(&pstapriv->free_sta_queue.lock);
 
        spin_lock_init(&pstapriv->sta_hash_lock);
 
        /* _rtw_init_queue(&pstapriv->asoc_q); */
        pstapriv->asoc_sta_count = 0;
-       _rtw_init_queue(&pstapriv->sleep_q);
-       _rtw_init_queue(&pstapriv->wakeup_q);
+       INIT_LIST_HEAD(&pstapriv->sleep_q.queue);
+       spin_lock_init(&pstapriv->sleep_q.lock);
+       INIT_LIST_HEAD(&pstapriv->wakeup_q.queue);
+       spin_lock_init(&pstapriv->wakeup_q.lock);
 
        psta = (struct sta_info *)(pstapriv->pstainfo_buf);
 
@@ -242,7 +246,8 @@ struct      sta_info *rtw_alloc_stainfo(struct      sta_priv *pstapriv, u8 *hwaddr)
                        /* preorder_ctrl->wsize_b = (NR_RECVBUFF-2); */
                        preorder_ctrl->wsize_b = 64;/* 64; */
 
-                       _rtw_init_queue(&preorder_ctrl->pending_recvframe_queue);
+                       INIT_LIST_HEAD(&preorder_ctrl->pending_recvframe_queue.queue);
+                       spin_lock_init(&preorder_ctrl->pending_recvframe_queue.lock);
 
                        rtw_init_recv_timer(preorder_ctrl);
                }
@@ -263,7 +268,6 @@ exit:
        return psta;
 }
 
-/*  using pstapriv->sta_hash_lock to protect */
 u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
 {
        int i;
@@ -289,51 +293,55 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta)
 
        /* list_del_init(&psta->wakeup_list); */
 
-       spin_lock_bh(&pxmitpriv->lock);
-
+       spin_lock_bh(&psta->sleep_q.lock);
        rtw_free_xmitframe_queue(pxmitpriv, &psta->sleep_q);
        psta->sleepq_len = 0;
+       spin_unlock_bh(&psta->sleep_q.lock);
+
+       spin_lock_bh(&pxmitpriv->lock);
 
        /* vo */
-       /* spin_lock_bh(&(pxmitpriv->vo_pending.lock)); */
+       spin_lock_bh(&pstaxmitpriv->vo_q.sta_pending.lock);
        rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vo_q.sta_pending);
        list_del_init(&(pstaxmitpriv->vo_q.tx_pending));
        phwxmit = pxmitpriv->hwxmits;
        phwxmit->accnt -= pstaxmitpriv->vo_q.qcnt;
        pstaxmitpriv->vo_q.qcnt = 0;
-       /* spin_unlock_bh(&(pxmitpriv->vo_pending.lock)); */
+       spin_unlock_bh(&pstaxmitpriv->vo_q.sta_pending.lock);
 
        /* vi */
-       /* spin_lock_bh(&(pxmitpriv->vi_pending.lock)); */
+       spin_lock_bh(&pstaxmitpriv->vi_q.sta_pending.lock);
        rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vi_q.sta_pending);
        list_del_init(&(pstaxmitpriv->vi_q.tx_pending));
        phwxmit = pxmitpriv->hwxmits+1;
        phwxmit->accnt -= pstaxmitpriv->vi_q.qcnt;
        pstaxmitpriv->vi_q.qcnt = 0;
-       /* spin_unlock_bh(&(pxmitpriv->vi_pending.lock)); */
+       spin_unlock_bh(&pstaxmitpriv->vi_q.sta_pending.lock);
 
        /* be */
-       /* spin_lock_bh(&(pxmitpriv->be_pending.lock)); */
+       spin_lock_bh(&pstaxmitpriv->be_q.sta_pending.lock);
        rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->be_q.sta_pending);
        list_del_init(&(pstaxmitpriv->be_q.tx_pending));
        phwxmit = pxmitpriv->hwxmits+2;
        phwxmit->accnt -= pstaxmitpriv->be_q.qcnt;
        pstaxmitpriv->be_q.qcnt = 0;
-       /* spin_unlock_bh(&(pxmitpriv->be_pending.lock)); */
+       spin_unlock_bh(&pstaxmitpriv->be_q.sta_pending.lock);
 
        /* bk */
-       /* spin_lock_bh(&(pxmitpriv->bk_pending.lock)); */
+       spin_lock_bh(&pstaxmitpriv->bk_q.sta_pending.lock);
        rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->bk_q.sta_pending);
        list_del_init(&(pstaxmitpriv->bk_q.tx_pending));
        phwxmit = pxmitpriv->hwxmits+3;
        phwxmit->accnt -= pstaxmitpriv->bk_q.qcnt;
        pstaxmitpriv->bk_q.qcnt = 0;
-       /* spin_unlock_bh(&(pxmitpriv->bk_pending.lock)); */
+       spin_unlock_bh(&pstaxmitpriv->bk_q.sta_pending.lock);
 
        spin_unlock_bh(&pxmitpriv->lock);
 
+       spin_lock_bh(&pstapriv->sta_hash_lock);
        list_del_init(&psta->hash_list);
        pstapriv->asoc_sta_count--;
+       spin_unlock_bh(&pstapriv->sta_hash_lock);
 
        /*  re-init sta_info; 20061114 will be init in alloc_stainfo */
        /* _rtw_init_sta_xmit_priv(&psta->sta_xmitpriv); */
@@ -428,6 +436,7 @@ void rtw_free_all_stainfo(struct adapter *padapter)
        struct sta_info *psta = NULL;
        struct  sta_priv *pstapriv = &padapter->stapriv;
        struct sta_info *pbcmc_stainfo = rtw_get_bcmc_stainfo(padapter);
+       LIST_HEAD(stainfo_free_list);
 
        if (pstapriv->asoc_sta_count == 1)
                return;
@@ -440,11 +449,16 @@ void rtw_free_all_stainfo(struct adapter *padapter)
                        psta = list_entry(plist, struct sta_info, hash_list);
 
                        if (pbcmc_stainfo != psta)
-                               rtw_free_stainfo(padapter, psta);
+                               list_move(&psta->hash_list, &stainfo_free_list);
                }
        }
 
        spin_unlock_bh(&pstapriv->sta_hash_lock);
+
+       list_for_each_safe(plist, tmp, &stainfo_free_list) {
+               psta = list_entry(plist, struct sta_info, hash_list);
+               rtw_free_stainfo(padapter, psta);
+       }
 }
 
 /* any station allocated can be searched by hash list */
index 79e4d7d..46054d6 100644 (file)
@@ -13,7 +13,8 @@ static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 };
 static void _init_txservq(struct tx_servq *ptxservq)
 {
        INIT_LIST_HEAD(&ptxservq->tx_pending);
-       _rtw_init_queue(&ptxservq->sta_pending);
+       INIT_LIST_HEAD(&ptxservq->sta_pending.queue);
+       spin_lock_init(&ptxservq->sta_pending.lock);
        ptxservq->qcnt = 0;
 }
 
@@ -49,13 +50,19 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
 
        pxmitpriv->adapter = padapter;
 
-       _rtw_init_queue(&pxmitpriv->be_pending);
-       _rtw_init_queue(&pxmitpriv->bk_pending);
-       _rtw_init_queue(&pxmitpriv->vi_pending);
-       _rtw_init_queue(&pxmitpriv->vo_pending);
-       _rtw_init_queue(&pxmitpriv->bm_pending);
+       INIT_LIST_HEAD(&pxmitpriv->be_pending.queue);
+       spin_lock_init(&pxmitpriv->be_pending.lock);
+       INIT_LIST_HEAD(&pxmitpriv->bk_pending.queue);
+       spin_lock_init(&pxmitpriv->bk_pending.lock);
+       INIT_LIST_HEAD(&pxmitpriv->vi_pending.queue);
+       spin_lock_init(&pxmitpriv->vi_pending.lock);
+       INIT_LIST_HEAD(&pxmitpriv->vo_pending.queue);
+       spin_lock_init(&pxmitpriv->vo_pending.lock);
+       INIT_LIST_HEAD(&pxmitpriv->bm_pending.queue);
+       spin_lock_init(&pxmitpriv->bm_pending.lock);
 
-       _rtw_init_queue(&pxmitpriv->free_xmit_queue);
+       INIT_LIST_HEAD(&pxmitpriv->free_xmit_queue.queue);
+       spin_lock_init(&pxmitpriv->free_xmit_queue.lock);
 
        /*
         * Please allocate memory with the sz = (struct xmit_frame) * NR_XMITFRAME,
@@ -96,8 +103,10 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        pxmitpriv->frag_len = MAX_FRAG_THRESHOLD;
 
        /* init xmit_buf */
-       _rtw_init_queue(&pxmitpriv->free_xmitbuf_queue);
-       _rtw_init_queue(&pxmitpriv->pending_xmitbuf_queue);
+       INIT_LIST_HEAD(&pxmitpriv->free_xmitbuf_queue.queue);
+       spin_lock_init(&pxmitpriv->free_xmitbuf_queue.lock);
+       INIT_LIST_HEAD(&pxmitpriv->pending_xmitbuf_queue.queue);
+       spin_lock_init(&pxmitpriv->pending_xmitbuf_queue.lock);
 
        pxmitpriv->pallocated_xmitbuf = vzalloc(NR_XMITBUFF * sizeof(struct xmit_buf) + 4);
 
@@ -145,7 +154,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        pxmitpriv->free_xmitbuf_cnt = NR_XMITBUFF;
 
        /* init xframe_ext queue,  the same count as extbuf  */
-       _rtw_init_queue(&pxmitpriv->free_xframe_ext_queue);
+       INIT_LIST_HEAD(&pxmitpriv->free_xframe_ext_queue.queue);
+       spin_lock_init(&pxmitpriv->free_xframe_ext_queue.lock);
 
        pxmitpriv->xframe_ext_alloc_addr = vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_frame) + 4);
 
@@ -178,7 +188,8 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter)
        pxmitpriv->free_xframe_ext_cnt = NR_XMIT_EXTBUFF;
 
        /*  Init xmit extension buff */
-       _rtw_init_queue(&pxmitpriv->free_xmit_extbuf_queue);
+       INIT_LIST_HEAD(&pxmitpriv->free_xmit_extbuf_queue.queue);
+       spin_lock_init(&pxmitpriv->free_xmit_extbuf_queue.lock);
 
        pxmitpriv->pallocated_xmit_extbuf = vzalloc(NR_XMIT_EXTBUFF * sizeof(struct xmit_buf) + 4);
 
@@ -1723,15 +1734,12 @@ void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pfram
        struct list_head *plist, *phead, *tmp;
        struct  xmit_frame      *pxmitframe;
 
-       spin_lock_bh(&pframequeue->lock);
-
        phead = get_list_head(pframequeue);
        list_for_each_safe(plist, tmp, phead) {
                pxmitframe = list_entry(plist, struct xmit_frame, list);
 
                rtw_free_xmitframe(pxmitpriv, pxmitframe);
        }
-       spin_unlock_bh(&pframequeue->lock);
 }
 
 s32 rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe)
@@ -1786,6 +1794,7 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
        struct sta_info *psta;
        struct tx_servq *ptxservq;
        struct pkt_attrib       *pattrib = &pxmitframe->attrib;
+       struct xmit_priv *xmit_priv = &padapter->xmitpriv;
        struct hw_xmit  *phwxmits =  padapter->xmitpriv.hwxmits;
        signed int res = _SUCCESS;
 
@@ -1803,12 +1812,14 @@ s32 rtw_xmit_classifier(struct adapter *padapter, struct xmit_frame *pxmitframe)
 
        ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index));
 
+       spin_lock_bh(&xmit_priv->lock);
        if (list_empty(&ptxservq->tx_pending))
                list_add_tail(&ptxservq->tx_pending, get_list_head(phwxmits[ac_index].sta_queue));
 
        list_add_tail(&pxmitframe->list, get_list_head(&ptxservq->sta_pending));
        ptxservq->qcnt++;
        phwxmits[ac_index].accnt++;
+       spin_unlock_bh(&xmit_priv->lock);
 
 exit:
 
@@ -2191,11 +2202,10 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
        struct list_head *xmitframe_plist, *xmitframe_phead, *tmp;
        struct xmit_frame *pxmitframe = NULL;
        struct sta_priv *pstapriv = &padapter->stapriv;
-       struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
 
        psta_bmc = rtw_get_bcmc_stainfo(padapter);
 
-       spin_lock_bh(&pxmitpriv->lock);
+       spin_lock_bh(&psta->sleep_q.lock);
 
        xmitframe_phead = get_list_head(&psta->sleep_q);
        list_for_each_safe(xmitframe_plist, tmp, xmitframe_phead) {
@@ -2296,7 +2306,7 @@ void wakeup_sta_to_xmit(struct adapter *padapter, struct sta_info *psta)
 
 _exit:
 
-       spin_unlock_bh(&pxmitpriv->lock);
+       spin_unlock_bh(&psta->sleep_q.lock);
 
        if (update_mask)
                update_beacon(padapter, WLAN_EID_TIM, NULL, true);
@@ -2308,9 +2318,8 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
        struct list_head *xmitframe_plist, *xmitframe_phead, *tmp;
        struct xmit_frame *pxmitframe = NULL;
        struct sta_priv *pstapriv = &padapter->stapriv;
-       struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
 
-       spin_lock_bh(&pxmitpriv->lock);
+       spin_lock_bh(&psta->sleep_q.lock);
 
        xmitframe_phead = get_list_head(&psta->sleep_q);
        list_for_each_safe(xmitframe_plist, tmp, xmitframe_phead) {
@@ -2363,7 +2372,7 @@ void xmit_delivery_enabled_frames(struct adapter *padapter, struct sta_info *pst
                }
        }
 
-       spin_unlock_bh(&pxmitpriv->lock);
+       spin_unlock_bh(&psta->sleep_q.lock);
 }
 
 void enqueue_pending_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf)
index beda7b8..7e92c37 100644 (file)
@@ -544,7 +544,7 @@ void odm_DIG(void *pDM_VOID)
        /* 1 Adjust initial gain by false alarm */
        if (pDM_Odm->bLinked && bPerformance) {
 
-               if (bFirstTpTarget || (FirstConnect && bPerformance)) {
+               if (bFirstTpTarget || FirstConnect) {
                        pDM_DigTable->LargeFAHit = 0;
 
                        if (pDM_Odm->RSSI_Min < DIG_MaxOfMin) {
index cce3e7e..f1fc077 100644 (file)
@@ -2746,19 +2746,7 @@ void rtl8723b_update_txdesc(struct xmit_frame *pxmitframe, u8 *pbuf)
        struct tx_desc *pdesc;
 
        rtl8723b_fill_default_txdesc(pxmitframe, pbuf);
-
        pdesc = (struct tx_desc *)pbuf;
-       pdesc->txdw0 = pdesc->txdw0;
-       pdesc->txdw1 = pdesc->txdw1;
-       pdesc->txdw2 = pdesc->txdw2;
-       pdesc->txdw3 = pdesc->txdw3;
-       pdesc->txdw4 = pdesc->txdw4;
-       pdesc->txdw5 = pdesc->txdw5;
-       pdesc->txdw6 = pdesc->txdw6;
-       pdesc->txdw7 = pdesc->txdw7;
-       pdesc->txdw8 = pdesc->txdw8;
-       pdesc->txdw9 = pdesc->txdw9;
-
        rtl8723b_cal_txdesc_chksum(pdesc);
 }
 
index 4180169..c0a1a6f 100644 (file)
@@ -378,8 +378,10 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter)
        precvpriv = &padapter->recvpriv;
 
        /* 3 1. init recv buffer */
-       _rtw_init_queue(&precvpriv->free_recv_buf_queue);
-       _rtw_init_queue(&precvpriv->recv_buf_pending_queue);
+       INIT_LIST_HEAD(&precvpriv->free_recv_buf_queue.queue);
+       spin_lock_init(&precvpriv->free_recv_buf_queue.lock);
+       INIT_LIST_HEAD(&precvpriv->recv_buf_pending_queue.queue);
+       spin_lock_init(&precvpriv->recv_buf_pending_queue.lock);
 
        n = NR_RECVBUFF * sizeof(struct recv_buf) + 4;
        precvpriv->pallocated_recv_buf = rtw_zmalloc(n);
index 156d6ab..5f5c471 100644 (file)
@@ -507,9 +507,7 @@ s32 rtl8723bs_hal_xmit(
                        rtw_issue_addbareq_cmd(padapter, pxmitframe);
        }
 
-       spin_lock_bh(&pxmitpriv->lock);
        err = rtw_xmitframe_enqueue(padapter, pxmitframe);
-       spin_unlock_bh(&pxmitpriv->lock);
        if (err != _SUCCESS) {
                rtw_free_xmitframe(pxmitpriv, pxmitframe);
 
index bde415d..cf96b5f 100644 (file)
@@ -113,7 +113,7 @@ struct rtw_cbuf {
        u32 write;
        u32 read;
        u32 size;
-       void *bufs[0];
+       void *bufs[];
 };
 
 bool rtw_cbuf_full(struct rtw_cbuf *cbuf);
index 499ac3a..0868f56 100644 (file)
@@ -47,7 +47,7 @@ static const u32 rtw_cipher_suites[] = {
  * Moreover wowlan has to be enabled via a the nl80211_set_wowlan callback.
  * (from user space, e.g. iw phy0 wowlan enable)
  */
-static const struct wiphy_wowlan_support wowlan_stub = {
+static __maybe_unused const struct wiphy_wowlan_support wowlan_stub = {
        .flags = WIPHY_WOWLAN_ANY,
        .n_patterns = 0,
        .pattern_max_len = 0,
@@ -391,7 +391,7 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter)
                }
                else
                {
-                       if (scanned == NULL) {
+                       if (!scanned) {
                                rtw_warn_on(1);
                                return;
                        }
@@ -432,7 +432,7 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter)
                struct wlan_bssid_ex  *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network);
                struct wlan_network *scanned = pmlmepriv->cur_network_scanned;
 
-               if (scanned == NULL) {
+               if (!scanned) {
                        rtw_warn_on(1);
                        goto check_bss;
                }
@@ -551,10 +551,10 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa
                        goto exit;
        }
 
-       if (strcmp(param->u.crypt.alg, "none") == 0 && (psta == NULL))
+       if (strcmp(param->u.crypt.alg, "none") == 0 && !psta)
                goto exit;
 
-       if (strcmp(param->u.crypt.alg, "WEP") == 0 && (psta == NULL))
+       if (strcmp(param->u.crypt.alg, "WEP") == 0 && !psta)
        {
                wep_key_idx = param->u.crypt.idx;
                wep_key_len = param->u.crypt.key_len;
@@ -907,7 +907,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param
                        }
 
                        pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
-                       if (pbcmc_sta == NULL)
+                       if (!pbcmc_sta)
                        {
                                /* DEBUG_ERR(("Set OID_802_11_ADD_KEY: bcmc stainfo is null\n")); */
                        }
@@ -947,7 +947,7 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct net_device *ndev,
 
        param_len = sizeof(struct ieee_param) + params->key_len;
        param = rtw_malloc(param_len);
-       if (param == NULL)
+       if (!param)
                return -1;
 
        memset(param, 0, param_len);
@@ -1098,7 +1098,7 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy,
        }
 
        psta = rtw_get_stainfo(pstapriv, (u8 *)mac);
-       if (psta == NULL) {
+       if (!psta) {
                ret = -ENOENT;
                goto exit;
        }
@@ -1327,7 +1327,7 @@ static int cfg80211_rtw_scan(struct wiphy *wiphy
        struct rtw_wdev_priv *pwdev_priv;
        struct mlme_priv *pmlmepriv;
 
-       if (ndev == NULL) {
+       if (!ndev) {
                ret = -EINVAL;
                goto exit;
        }
@@ -1571,7 +1571,7 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
        u8 *pwpa, *pwpa2;
        u8 null_addr[] = {0, 0, 0, 0, 0, 0};
 
-       if (pie == NULL || !ielen) {
+       if (!pie || !ielen) {
                /* Treat this as normal case, but need to clear WIFI_UNDER_WPS */
                _clr_fwstate_(&padapter->mlmepriv, WIFI_UNDER_WPS);
                goto exit;
@@ -1583,7 +1583,7 @@ static int rtw_cfg80211_set_wpa_ie(struct adapter *padapter, u8 *pie, size_t iel
        }
 
        buf = rtw_zmalloc(ielen);
-       if (buf == NULL) {
+       if (!buf) {
                ret =  -ENOMEM;
                goto exit;
        }
@@ -1873,7 +1873,7 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev,
                        wep_key_len = wep_key_len <= 5 ? 5 : 13;
                        wep_total_len = wep_key_len + FIELD_OFFSET(struct ndis_802_11_wep, key_material);
                        pwep = rtw_malloc(wep_total_len);
-                       if (pwep == NULL) {
+                       if (!pwep) {
                                ret = -ENOMEM;
                                goto exit;
                        }
@@ -2708,7 +2708,7 @@ static int cfg80211_rtw_mgmt_tx(struct wiphy *wiphy,
        struct adapter *padapter;
        struct rtw_wdev_priv *pwdev_priv;
 
-       if (ndev == NULL) {
+       if (!ndev) {
                ret = -EINVAL;
                goto exit;
        }
index 9d4a233..ece97e3 100644 (file)
 
 #define RTL_IOCTL_WPA_SUPPLICANT       (SIOCIWFIRSTPRIV+30)
 
-#define SCAN_ITEM_SIZE 768
-#define MAX_CUSTOM_LEN 64
-#define RATE_COUNT 4
-
-/*  combo scan */
-#define WEXT_CSCAN_HEADER              "CSCAN S\x01\x00\x00S\x00"
-#define WEXT_CSCAN_HEADER_SIZE         12
-#define WEXT_CSCAN_SSID_SECTION                'S'
-#define WEXT_CSCAN_CHANNEL_SECTION     'C'
-#define WEXT_CSCAN_ACTV_DWELL_SECTION  'A'
-#define WEXT_CSCAN_PASV_DWELL_SECTION  'P'
-#define WEXT_CSCAN_HOME_DWELL_SECTION  'H'
-#define WEXT_CSCAN_TYPE_SECTION                'T'
-
 static int wpa_set_auth_algs(struct net_device *dev, u32 value)
 {
        struct adapter *padapter = rtw_netdev_priv(dev);
@@ -153,7 +139,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
 
                if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_MP_STATE) == true) { /* sta mode */
                        psta = rtw_get_stainfo(pstapriv, get_bssid(pmlmepriv));
-                       if (psta == NULL) {
+                       if (!psta) {
                                /* DEBUG_ERR(("Set wpa_set_encryption: Obtain Sta_info fail\n")); */
                        } else {
                                /* Jeff: don't disable ieee8021x_blocked while clearing key */
@@ -206,7 +192,7 @@ static int wpa_set_encryption(struct net_device *dev, struct ieee_param *param,
                        }
 
                        pbcmc_sta = rtw_get_bcmc_stainfo(padapter);
-                       if (pbcmc_sta == NULL) {
+                       if (!pbcmc_sta) {
                                /* DEBUG_ERR(("Set OID_802_11_ADD_KEY: bcmc stainfo is null\n")); */
                        } else {
                                /* Jeff: don't disable ieee8021x_blocked while clearing key */
@@ -236,9 +222,9 @@ static int rtw_set_wpa_ie(struct adapter *padapter, char *pie, unsigned short ie
        int ret = 0;
        u8 null_addr[] = {0, 0, 0, 0, 0, 0};
 
-       if ((ielen > MAX_WPA_IE_LEN) || (pie == NULL)) {
+       if (ielen > MAX_WPA_IE_LEN || !pie) {
                _clr_fwstate_(&padapter->mlmepriv, WIFI_UNDER_WPS);
-               if (pie == NULL)
+               if (!pie)
                        return ret;
                else
                        return -EINVAL;
@@ -246,7 +232,7 @@ static int rtw_set_wpa_ie(struct adapter *padapter, char *pie, unsigned short ie
 
        if (ielen) {
                buf = rtw_zmalloc(ielen);
-               if (buf == NULL) {
+               if (!buf) {
                        ret =  -ENOMEM;
                        goto exit;
                }
@@ -491,7 +477,7 @@ static int wpa_supplicant_ioctl(struct net_device *dev, struct iw_point *p)
                return -EINVAL;
 
        param = rtw_malloc(p->length);
-       if (param == NULL)
+       if (!param)
                return -ENOMEM;
 
        if (copy_from_user(param, p->pointer, p->length)) {
@@ -571,7 +557,7 @@ static int rtw_set_encryption(struct net_device *dev, struct ieee_param *param,
                        goto exit;
        }
 
-       if (strcmp(param->u.crypt.alg, "none") == 0 && (psta == NULL)) {
+       if (strcmp(param->u.crypt.alg, "none") == 0 && !psta) {
                /* todo:clear default encryption keys */
 
                psecuritypriv->dot11AuthAlgrthm = dot11AuthAlgrthm_Open;
@@ -583,7 +569,7 @@ static int rtw_set_encryption(struct net_device *dev, struct ieee_param *param,
        }
 
 
-       if (strcmp(param->u.crypt.alg, "WEP") == 0 && (psta == NULL)) {
+       if (strcmp(param->u.crypt.alg, "WEP") == 0 && !psta) {
                wep_key_idx = param->u.crypt.idx;
                wep_key_len = param->u.crypt.key_len;
 
@@ -835,9 +821,7 @@ static int rtw_add_sta(struct net_device *dev, struct ieee_param *param)
        psta = rtw_get_stainfo(pstapriv, param->sta_addr);
        if (psta)
        {
-               spin_lock_bh(&(pstapriv->sta_hash_lock));
                rtw_free_stainfo(padapter,  psta);
-               spin_unlock_bh(&(pstapriv->sta_hash_lock));
 
                psta = NULL;
        }
@@ -1229,7 +1213,7 @@ static int rtw_hostapd_ioctl(struct net_device *dev, struct iw_point *p)
                return -EINVAL;
 
        param = rtw_malloc(p->length);
-       if (param == NULL)
+       if (!param)
                return -ENOMEM;
 
        if (copy_from_user(param, p->pointer, p->length)) {
index f78bf17..0548234 100644 (file)
@@ -283,7 +283,7 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *p)
        if (!padapter->bup) {
                /* addr->sa_data[4], addr->sa_data[5]); */
                memcpy(padapter->eeprompriv.mac_addr, addr->sa_data, ETH_ALEN);
-               /* memcpy(pnetdev->dev_addr, addr->sa_data, ETH_ALEN); */
+               /* eth_hw_addr_set(pnetdev, addr->sa_data); */
                /* padapter->bset_hwaddr = true; */
        }
 
@@ -488,7 +488,7 @@ void rtw_unregister_netdevs(struct dvobj_priv *dvobj)
 
        padapter = dvobj->padapters;
 
-       if (padapter == NULL)
+       if (!padapter)
                return;
 
        pnetdev = padapter->pnetdev;
@@ -594,7 +594,7 @@ struct dvobj_priv *devobj_init(void)
        struct dvobj_priv *pdvobj = NULL;
 
        pdvobj = rtw_zmalloc(sizeof(*pdvobj));
-       if (pdvobj == NULL)
+       if (!pdvobj)
                return NULL;
 
        mutex_init(&pdvobj->hw_init_mutex);
@@ -789,7 +789,7 @@ static int _rtw_drv_register_netdev(struct adapter *padapter, char *name)
        if (rtw_init_netdev_name(pnetdev, name))
                return _FAIL;
 
-       memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
+       eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
 
        /* Tell the network stack we exist */
        if (register_netdev(pnetdev) != 0) {
index c58555a..4fbfa75 100644 (file)
@@ -49,13 +49,6 @@ inline int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb)
        return netif_rx(skb);
 }
 
-void _rtw_init_queue(struct __queue *pqueue)
-{
-       INIT_LIST_HEAD(&(pqueue->queue));
-
-       spin_lock_init(&(pqueue->lock));
-}
-
 struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv)
 {
        struct net_device *pnetdev;
@@ -149,7 +142,7 @@ int rtw_change_ifname(struct adapter *padapter, const char *ifname)
 
        rtw_init_netdev_name(pnetdev, ifname);
 
-       memcpy(pnetdev->dev_addr, padapter->eeprompriv.mac_addr, ETH_ALEN);
+       eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
 
        if (!rtnl_is_locked())
                ret = register_netdev(pnetdev);
@@ -281,7 +274,7 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size)
 {
        struct rtw_cbuf *cbuf;
 
-       cbuf = rtw_malloc(sizeof(*cbuf) + sizeof(void *) * size);
+       cbuf = rtw_malloc(struct_size(cbuf, bufs, size));
 
        if (cbuf) {
                cbuf->write = cbuf->read = 0;
index c6ad34a..2a6fab5 100644 (file)
@@ -165,7 +165,7 @@ static int ms_write_bytes(struct rtsx_chip *chip,
        struct ms_info *ms_card = &chip->ms_card;
        int retval, i;
 
-       if (!data || (data_len < cnt))
+       if (!data || data_len < cnt)
                return STATUS_ERROR;
 
        rtsx_init_cmd(chip);
@@ -290,7 +290,7 @@ static int ms_read_bytes(struct rtsx_chip *chip,
        for (i = 0; i < data_len; i++)
                data[i] = ptr[i];
 
-       if ((tpc == PRO_READ_SHORT_DATA) && (data_len == 8)) {
+       if (tpc == PRO_READ_SHORT_DATA && data_len == 8) {
                dev_dbg(rtsx_dev(chip), "Read format progress:\n");
                print_hex_dump_bytes(KBUILD_MODNAME ": ", DUMP_PREFIX_NONE, ptr,
                                     cnt);
@@ -964,13 +964,13 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
                i++;
        } while (i < 1024);
 
-       if ((buf[0] != 0xa5) && (buf[1] != 0xc3)) {
+       if (buf[0] != 0xa5 && buf[1] != 0xc3) {
                /* Signature code is wrong */
                kfree(buf);
                return STATUS_FAIL;
        }
 
-       if ((buf[4] < 1) || (buf[4] > 12)) {
+       if (buf[4] < 1 || buf[4] > 12) {
                kfree(buf);
                return STATUS_FAIL;
        }
@@ -979,8 +979,8 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
                int cur_addr_off = 16 + i * 12;
 
 #ifdef SUPPORT_MSXC
-               if ((buf[cur_addr_off + 8] == 0x10) ||
-                   (buf[cur_addr_off + 8] == 0x13)) {
+               if (buf[cur_addr_off + 8] == 0x10 ||
+                   buf[cur_addr_off + 8] == 0x13) {
 #else
                if (buf[cur_addr_off + 8] == 0x10) {
 #endif
@@ -1109,8 +1109,8 @@ static int ms_read_attribute_info(struct rtsx_chip *chip)
 #endif
 
        if (device_type != 0x00) {
-               if ((device_type == 0x01) || (device_type == 0x02) ||
-                   (device_type == 0x03)) {
+               if (device_type == 0x01 || device_type == 0x02 ||
+                   device_type == 0x03) {
                        chip->card_wp |= MS_CARD;
                } else {
                        return STATUS_FAIL;
@@ -1336,7 +1336,7 @@ static int ms_write_extra_data(struct rtsx_chip *chip, u16 block_addr,
        int retval, i;
        u8 val, data[16];
 
-       if (!buf || (buf_len < MS_EXTRA_SIZE))
+       if (!buf || buf_len < MS_EXTRA_SIZE)
                return STATUS_FAIL;
 
        retval = ms_set_rw_reg_addr(chip, OVERWRITE_FLAG, MS_EXTRA_SIZE,
@@ -1574,7 +1574,7 @@ ERASE_RTY:
 
 static void ms_set_page_status(u16 log_blk, u8 type, u8 *extra, int extra_len)
 {
-       if (!extra || (extra_len < MS_EXTRA_SIZE))
+       if (!extra || extra_len < MS_EXTRA_SIZE)
                return;
 
        memset(extra, 0xFF, MS_EXTRA_SIZE);
@@ -2008,7 +2008,7 @@ RE_SEARCH:
                goto RE_SEARCH;
        }
 
-       if ((ptr[14] == 1) || (ptr[14] == 3))
+       if (ptr[14] == 1 || ptr[14] == 3)
                chip->card_wp |= MS_CARD;
 
        /* BLOCK_SIZE_0, BLOCK_SIZE_1 */
@@ -2378,8 +2378,8 @@ static int ms_build_l2p_tbl(struct rtsx_chip *chip, int seg_no)
                        continue;
                }
 
-               if ((log_blk < ms_start_idx[seg_no]) ||
-                   (log_blk >= ms_start_idx[seg_no + 1])) {
+               if (log_blk < ms_start_idx[seg_no] ||
+                   log_blk >= ms_start_idx[seg_no + 1]) {
                        if (!(chip->card_wp & MS_CARD)) {
                                retval = ms_erase_block(chip, phy_blk);
                                if (retval != STATUS_SUCCESS)
@@ -2662,7 +2662,7 @@ static int mspro_rw_multi_sector(struct scsi_cmnd *srb,
                return retval;
 
        if (ms_card->seq_mode) {
-               if ((ms_card->pre_dir != srb->sc_data_direction) ||
+               if (ms_card->pre_dir != srb->sc_data_direction ||
                    ((ms_card->pre_sec_addr + ms_card->pre_sec_cnt) !=
                     start_sector) ||
                    (mode_2k && (ms_card->seq_mode & MODE_512_SEQ)) ||
@@ -3294,8 +3294,8 @@ static int ms_write_multiple_pages(struct rtsx_chip *chip, u16 old_blk,
                                        return STATUS_FAIL;
                        }
 
-                       if ((page_addr == (end_page - 1)) ||
-                           (page_addr == ms_card->page_off)) {
+                       if (page_addr == (end_page - 1) ||
+                           page_addr == ms_card->page_off) {
                                if (!(val & INT_REG_CED)) {
                                        ms_set_err_code(chip,
                                                        MS_FLASH_WRITE_ERROR);
@@ -3434,8 +3434,8 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
        if (srb->sc_data_direction == DMA_TO_DEVICE) {
 #ifdef MS_DELAY_WRITE
                if (delay_write->delay_write_flag &&
-                   (delay_write->logblock == log_blk) &&
-                   (start_page > delay_write->pageoff)) {
+                   delay_write->logblock == log_blk &&
+                   start_page > delay_write->pageoff) {
                        delay_write->delay_write_flag = 0;
                        retval = ms_copy_page(chip,
                                              delay_write->old_phyblock,
@@ -3467,7 +3467,7 @@ static int ms_rw_multi_sector(struct scsi_cmnd *srb, struct rtsx_chip *chip,
                                        (chip, seg_no,
                                         log_blk - ms_start_idx[seg_no]);
                        new_blk  = ms_get_unused_block(chip, seg_no);
-                       if ((old_blk == 0xFFFF) || (new_blk == 0xFFFF)) {
+                       if (old_blk == 0xFFFF || new_blk == 0xFFFF) {
                                set_sense_type(chip, lun,
                                               SENSE_TYPE_MEDIA_WRITE_ERR);
                                return STATUS_FAIL;
@@ -4179,7 +4179,7 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
                retval = rtsx_transfer_data(chip, MS_CARD, buf + 4 + i * 512,
                                            512, 0, DMA_TO_DEVICE, 3000);
-               if ((retval < 0) || check_ms_err(chip)) {
+               if (retval < 0 || check_ms_err(chip)) {
                        rtsx_clear_ms_error(chip);
                        if (ms_card->mg_auth == 0) {
                                if ((buf[5] & 0xC0) != 0)
@@ -4200,7 +4200,7 @@ int mg_set_ICV(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 #else
        retval = ms_transfer_data(chip, MS_TM_AUTO_WRITE, PRO_WRITE_LONG_DATA,
                                  2, WAIT_INT, 0, 0, buf + 4, 1024);
-       if ((retval != STATUS_SUCCESS) || check_ms_err(chip)) {
+       if (retval != STATUS_SUCCESS || check_ms_err(chip)) {
                rtsx_clear_ms_error(chip);
                if (ms_card->mg_auth == 0) {
                        if ((buf[5] & 0xC0) != 0)
index 898add4..41d13be 100644 (file)
@@ -558,7 +558,7 @@ static irqreturn_t rtsx_interrupt(int irq, void *dev_id)
                                complete(dev->done);
                } else if (status & DATA_DONE_INT) {
                        dev->trans_result = TRANS_NOT_READY;
-                       if (dev->done && (dev->trans_state == STATE_TRANS_SG))
+                       if (dev->done && dev->trans_state == STATE_TRANS_SG)
                                complete(dev->done);
                }
        }
index 294f381..326b047 100644 (file)
@@ -165,7 +165,7 @@ void do_reset_sd_card(struct rtsx_chip *chip)
                chip->card_fail &= ~SD_CARD;
                chip->rw_card[chip->card2lun[SD_CARD]] = sd_rw;
        } else {
-               if (chip->sd_io || (chip->sd_reset_counter >= MAX_RESET_CNT)) {
+               if (chip->sd_io || chip->sd_reset_counter >= MAX_RESET_CNT) {
                        clear_bit(SD_NR, &chip->need_reset);
                        chip->sd_reset_counter = 0;
                        chip->sd_show_cnt = 0;
@@ -636,7 +636,7 @@ int switch_ssc_clock(struct rtsx_chip *chip, int clk)
        dev_dbg(rtsx_dev(chip), "Switch SSC clock to %dMHz (cur_clk = %d)\n",
                clk, chip->cur_clk);
 
-       if ((clk <= 2) || (n > max_n))
+       if (clk <= 2 || n > max_n)
                return STATUS_FAIL;
 
        mcu_cnt = (u8)(125 / clk + 3);
@@ -886,7 +886,7 @@ int card_power_on(struct rtsx_chip *chip, u8 card)
        int retval;
        u8 mask, val1, val2;
 
-       if (CHECK_LUN_MODE(chip, SD_MS_2LUN) && (card == MS_CARD)) {
+       if (CHECK_LUN_MODE(chip, SD_MS_2LUN) && card == MS_CARD) {
                mask = MS_POWER_MASK;
                val1 = MS_PARTIAL_POWER_ON;
                val2 = MS_POWER_ON;
@@ -920,7 +920,7 @@ int card_power_off(struct rtsx_chip *chip, u8 card)
        int retval;
        u8 mask, val;
 
-       if (CHECK_LUN_MODE(chip, SD_MS_2LUN) && (card == MS_CARD)) {
+       if (CHECK_LUN_MODE(chip, SD_MS_2LUN) && card == MS_CARD) {
                mask = MS_POWER_MASK;
                val = MS_POWER_OFF;
        } else {
index ee9ddc4..6375032 100644 (file)
@@ -325,7 +325,7 @@ static int rtsx_enable_pcie_intr(struct rtsx_chip *chip)
                        return STATUS_FAIL;
        }
 
-       if (chip->driver_first_load && (chip->ic_version < IC_VER_C))
+       if (chip->driver_first_load && chip->ic_version < IC_VER_C)
                rtsx_calibration(chip);
 
        return STATUS_SUCCESS;
@@ -496,7 +496,7 @@ int rtsx_reset_chip(struct rtsx_chip *chip)
                chip->int_reg);
        if (chip->int_reg & SD_EXIST) {
 #ifdef HW_AUTO_SWITCH_SD_BUS
-               if (CHECK_PID(chip, 0x5208) && (chip->ic_version < IC_VER_C))
+               if (CHECK_PID(chip, 0x5208) && chip->ic_version < IC_VER_C)
                        retval = rtsx_pre_handle_sdio_old(chip);
                else
                        retval = rtsx_pre_handle_sdio_new(chip);
@@ -563,7 +563,7 @@ nextcard:
                        return retval;
        }
 
-       if (CHECK_PID(chip, 0x5208) && (chip->ic_version >= IC_VER_D)) {
+       if (CHECK_PID(chip, 0x5208) && chip->ic_version >= IC_VER_D) {
                retval = rtsx_write_register(chip, PETXCFG, 0x1C, 0x14);
                if (retval)
                        return retval;
@@ -606,7 +606,7 @@ static inline int valid_sd_speed_prior(u32 sd_speed_prior)
        for (i = 0; i < 4; i++) {
                u8 tmp = (u8)(sd_speed_prior >> (i * 8));
 
-               if ((tmp < 0x01) || (tmp > 0x04)) {
+               if (tmp < 0x01 || tmp > 0x04) {
                        valid_para = false;
                        break;
                }
@@ -808,10 +808,10 @@ int rtsx_init_chip(struct rtsx_chip *chip)
        dev_dbg(rtsx_dev(chip), "sd_current_prior = 0x%08x\n",
                chip->sd_current_prior);
 
-       if ((chip->sd_ddr_tx_phase > 31) || (chip->sd_ddr_tx_phase < 0))
+       if (chip->sd_ddr_tx_phase > 31 || chip->sd_ddr_tx_phase < 0)
                chip->sd_ddr_tx_phase = 0;
 
-       if ((chip->mmc_ddr_tx_phase > 31) || (chip->mmc_ddr_tx_phase < 0))
+       if (chip->mmc_ddr_tx_phase > 31 || chip->mmc_ddr_tx_phase < 0)
                chip->mmc_ddr_tx_phase = 0;
 
        retval = rtsx_write_register(chip, FPDCTL, SSC_POWER_DOWN, 0);
@@ -1840,7 +1840,7 @@ int rtsx_pre_handle_interrupt(struct rtsx_chip *chip)
        chip->int_reg = rtsx_readl(chip, RTSX_BIPR);
 
        if (((chip->int_reg & int_enable) == 0) ||
-           (chip->int_reg == 0xFFFFFFFF))
+           chip->int_reg == 0xFFFFFFFF)
                return STATUS_FAIL;
 
        status = chip->int_reg &= (int_enable | 0x7FFFFF);
@@ -1939,7 +1939,7 @@ void rtsx_do_before_power_down(struct rtsx_chip *chip, int pm_stat)
        }
 #endif
 
-       if (CHECK_PID(chip, 0x5208) && (chip->ic_version >= IC_VER_D)) {
+       if (CHECK_PID(chip, 0x5208) && chip->ic_version >= IC_VER_D) {
                /* u_force_clkreq_0 */
                rtsx_write_register(chip, PETXCFG, 0x08, 0x08);
        }
index 11d9d91..08bd768 100644 (file)
@@ -500,12 +500,12 @@ static int inquiry(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                return TRANSPORT_ERROR;
 
 #ifdef SUPPORT_MAGIC_GATE
-       if ((chip->mspro_formatter_enable) &&
+       if (chip->mspro_formatter_enable &&
            (chip->lun2card[lun] & MS_CARD))
 #else
        if (chip->mspro_formatter_enable)
 #endif
-               if (!card || (card == MS_CARD))
+               if (!card || card == MS_CARD)
                        pro_formatter_flag = true;
 
        if (pro_formatter_flag) {
@@ -754,7 +754,7 @@ static int mode_sense(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        data_size = 8;
 #ifdef SUPPORT_MAGIC_GATE
        if ((chip->lun2card[lun] & MS_CARD)) {
-               if (!card || (card == MS_CARD)) {
+               if (!card || card == MS_CARD) {
                        data_size = 108;
                        if (chip->mspro_formatter_enable)
                                pro_formatter_flag = true;
@@ -775,11 +775,11 @@ static int mode_sense(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        page_code = srb->cmnd[2] & 0x3f;
 
-       if ((page_code == 0x3F) || (page_code == 0x1C) ||
-           (page_code == 0x00) ||
-               (pro_formatter_flag && (page_code == 0x20))) {
+       if (page_code == 0x3F || page_code == 0x1C ||
+           page_code == 0x00 ||
+               (pro_formatter_flag && page_code == 0x20)) {
                if (srb->cmnd[0] == MODE_SENSE) {
-                       if ((page_code == 0x3F) || (page_code == 0x20)) {
+                       if (page_code == 0x3F || page_code == 0x20) {
                                ms_mode_sense(chip, srb->cmnd[0],
                                              lun, buf, data_size);
                        } else {
@@ -794,7 +794,7 @@ static int mode_sense(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                buf[3] = 0x00;
                        }
                } else {
-                       if ((page_code == 0x3F) || (page_code == 0x20)) {
+                       if (page_code == 0x3F || page_code == 0x20) {
                                ms_mode_sense(chip, srb->cmnd[0],
                                              lun, buf, data_size);
                        } else {
@@ -879,7 +879,7 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        }
 #endif
 
-       if ((srb->cmnd[0] == READ_10) || (srb->cmnd[0] == WRITE_10)) {
+       if (srb->cmnd[0] == READ_10 || srb->cmnd[0] == WRITE_10) {
                start_sec = ((u32)srb->cmnd[2] << 24) |
                        ((u32)srb->cmnd[3] << 16) |
                        ((u32)srb->cmnd[4] << 8) | ((u32)srb->cmnd[5]);
@@ -906,7 +906,7 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
         * In this situation, start_sec + sec_cnt will overflow, so we
         * need to judge start_sec at first
         */
-       if ((start_sec > get_card_size(chip, lun)) ||
+       if (start_sec > get_card_size(chip, lun) ||
            ((start_sec + sec_cnt) > get_card_size(chip, lun))) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LBA_OVER_RANGE);
                return TRANSPORT_FAILED;
@@ -993,9 +993,9 @@ static int read_format_capacity(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        buf[i++] = 0;
 
        /* Capacity List Length */
-       if ((buf_len > 12) && chip->mspro_formatter_enable &&
+       if (buf_len > 12 && chip->mspro_formatter_enable &&
            (chip->lun2card[lun] & MS_CARD) &&
-           (!card || (card == MS_CARD))) {
+           (!card || card == MS_CARD)) {
                buf[i++] = 0x10;
                desc_cnt = 2;
        } else {
@@ -1569,7 +1569,7 @@ static int get_dev_status(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 #ifdef SUPPORT_OCP
        status[8] = 0;
        if (CHECK_LUN_MODE(chip, SD_MS_2LUN) &&
-           (chip->lun2card[lun] == MS_CARD)) {
+           chip->lun2card[lun] == MS_CARD) {
                oc_now_mask = MS_OC_NOW;
                oc_ever_mask = MS_OC_EVER;
        } else {
@@ -2544,7 +2544,7 @@ static int get_card_bus_width(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        }
 
        card = get_lun_card(chip, lun);
-       if ((card == SD_CARD) || (card == MS_CARD)) {
+       if (card == SD_CARD || card == MS_CARD) {
                bus_width = chip->card_bus_width[lun];
        } else {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
@@ -2685,7 +2685,7 @@ void led_shine(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        unsigned int lun = SCSI_LUN(srb);
        u16 sec_cnt;
 
-       if ((srb->cmnd[0] == READ_10) || (srb->cmnd[0] == WRITE_10)) {
+       if (srb->cmnd[0] == READ_10 || srb->cmnd[0] == WRITE_10) {
                sec_cnt = ((u16)(srb->cmnd[7]) << 8) | srb->cmnd[8];
        } else if ((srb->cmnd[0] == READ_6) || (srb->cmnd[0] == WRITE_6)) {
                sec_cnt = srb->cmnd[4];
@@ -2716,9 +2716,9 @@ static int ms_format_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                return TRANSPORT_FAILED;
        }
 
-       if ((srb->cmnd[3] != 0x4D) || (srb->cmnd[4] != 0x47) ||
-           (srb->cmnd[5] != 0x66) || (srb->cmnd[6] != 0x6D) ||
-               (srb->cmnd[7] != 0x74)) {
+       if (srb->cmnd[3] != 0x4D || srb->cmnd[4] != 0x47 ||
+           srb->cmnd[5] != 0x66 || srb->cmnd[6] != 0x6D ||
+               srb->cmnd[7] != 0x74) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
                return TRANSPORT_FAILED;
        }
@@ -2786,16 +2786,16 @@ static int get_ms_information(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                return TRANSPORT_FAILED;
        }
 
-       if ((srb->cmnd[2] != 0xB0) || (srb->cmnd[4] != 0x4D) ||
-           (srb->cmnd[5] != 0x53) || (srb->cmnd[6] != 0x49) ||
-           (srb->cmnd[7] != 0x44)) {
+       if (srb->cmnd[2] != 0xB0 || srb->cmnd[4] != 0x4D ||
+           srb->cmnd[5] != 0x53 || srb->cmnd[6] != 0x49 ||
+           srb->cmnd[7] != 0x44) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
                return TRANSPORT_FAILED;
        }
 
        dev_info_id = srb->cmnd[3];
-       if ((CHK_MSXC(ms_card) && (dev_info_id == 0x10)) ||
-           (!CHK_MSXC(ms_card) && (dev_info_id == 0x13)) ||
+       if ((CHK_MSXC(ms_card) && dev_info_id == 0x10) ||
+           (!CHK_MSXC(ms_card) && dev_info_id == 0x13) ||
            !CHK_MSPRO(ms_card)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
                return TRANSPORT_FAILED;
@@ -2846,7 +2846,7 @@ static int get_ms_information(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        buf[i++] = data_len;            /* Data length LSB */
        /* Valid Bit */
        buf[i++] = 0x80;
-       if ((dev_info_id == 0x10) || (dev_info_id == 0x13)) {
+       if (dev_info_id == 0x10 || dev_info_id == 0x13) {
                /* System Information */
                memcpy(buf + i, ms_card->raw_sys_info, 96);
        } else {
@@ -2978,8 +2978,8 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        switch (key_format) {
        case KF_GET_LOC_EKB:
                if ((scsi_bufflen(srb) == 0x41C) &&
-                   (srb->cmnd[8] == 0x04) &&
-                   (srb->cmnd[9] == 0x1C)) {
+                   srb->cmnd[8] == 0x04 &&
+                   srb->cmnd[9] == 0x1C) {
                        retval = mg_get_local_EKB(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -2993,8 +2993,8 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        case KF_RSP_CHG:
                if ((scsi_bufflen(srb) == 0x24) &&
-                   (srb->cmnd[8] == 0x00) &&
-                   (srb->cmnd[9] == 0x24)) {
+                   srb->cmnd[8] == 0x00 &&
+                   srb->cmnd[9] == 0x24) {
                        retval = mg_get_rsp_chg(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -3009,12 +3009,12 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        case KF_GET_ICV:
                ms_card->mg_entry_num = srb->cmnd[5];
                if ((scsi_bufflen(srb) == 0x404) &&
-                   (srb->cmnd[8] == 0x04) &&
-                   (srb->cmnd[9] == 0x04) &&
-                   (srb->cmnd[2] == 0x00) &&
-                   (srb->cmnd[3] == 0x00) &&
-                   (srb->cmnd[4] == 0x00) &&
-                   (srb->cmnd[5] < 32)) {
+                   srb->cmnd[8] == 0x04 &&
+                   srb->cmnd[9] == 0x04 &&
+                   srb->cmnd[2] == 0x00 &&
+                   srb->cmnd[3] == 0x00 &&
+                   srb->cmnd[4] == 0x00 &&
+                   srb->cmnd[5] < 32) {
                        retval = mg_get_ICV(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -3081,8 +3081,8 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        switch (key_format) {
        case KF_SET_LEAF_ID:
                if ((scsi_bufflen(srb) == 0x0C) &&
-                   (srb->cmnd[8] == 0x00) &&
-                   (srb->cmnd[9] == 0x0C)) {
+                   srb->cmnd[8] == 0x00 &&
+                   srb->cmnd[9] == 0x0C) {
                        retval = mg_set_leaf_id(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -3096,8 +3096,8 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        case KF_CHG_HOST:
                if ((scsi_bufflen(srb) == 0x0C) &&
-                   (srb->cmnd[8] == 0x00) &&
-                   (srb->cmnd[9] == 0x0C)) {
+                   srb->cmnd[8] == 0x00 &&
+                   srb->cmnd[9] == 0x0C) {
                        retval = mg_chg(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -3111,8 +3111,8 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        case KF_RSP_HOST:
                if ((scsi_bufflen(srb) == 0x0C) &&
-                   (srb->cmnd[8] == 0x00) &&
-                   (srb->cmnd[9] == 0x0C)) {
+                   srb->cmnd[8] == 0x00 &&
+                   srb->cmnd[9] == 0x0C) {
                        retval = mg_rsp(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -3127,12 +3127,12 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        case KF_SET_ICV:
                ms_card->mg_entry_num = srb->cmnd[5];
                if ((scsi_bufflen(srb) == 0x404) &&
-                   (srb->cmnd[8] == 0x04) &&
-                   (srb->cmnd[9] == 0x04) &&
-                   (srb->cmnd[2] == 0x00) &&
-                   (srb->cmnd[3] == 0x00) &&
-                   (srb->cmnd[4] == 0x00) &&
-                   (srb->cmnd[5] < 32)) {
+                   srb->cmnd[8] == 0x04 &&
+                   srb->cmnd[9] == 0x04 &&
+                   srb->cmnd[2] == 0x00 &&
+                   srb->cmnd[3] == 0x00 &&
+                   srb->cmnd[4] == 0x00 &&
+                   srb->cmnd[5] < 32) {
                        retval = mg_set_ICV(srb, chip);
                        if (retval != STATUS_SUCCESS)
                                return TRANSPORT_FAILED;
@@ -3168,10 +3168,10 @@ int rtsx_scsi_handler(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                /* Block all SCSI command except for
                 * REQUEST_SENSE and rs_ppstatus
                 */
-               if (!((srb->cmnd[0] == VENDOR_CMND) &&
-                     (srb->cmnd[1] == SCSI_APP_CMD) &&
-                     (srb->cmnd[2] == GET_DEV_STATUS)) &&
-                     (srb->cmnd[0] != REQUEST_SENSE)) {
+               if (!(srb->cmnd[0] == VENDOR_CMND &&
+                     srb->cmnd[1] == SCSI_APP_CMD &&
+                     srb->cmnd[2] == GET_DEV_STATUS) &&
+                       srb->cmnd[0] != REQUEST_SENSE) {
                        /* Logical Unit Not Ready Format in Progress */
                        set_sense_data(chip, lun, CUR_ERR,
                                       0x02, 0, 0x04, 0x04, 0, 0);
@@ -3181,9 +3181,9 @@ int rtsx_scsi_handler(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 #endif
 
        if ((get_lun_card(chip, lun) == MS_CARD) &&
-           (ms_card->format_status == FORMAT_IN_PROGRESS)) {
-               if ((srb->cmnd[0] != REQUEST_SENSE) &&
-                   (srb->cmnd[0] != INQUIRY)) {
+           ms_card->format_status == FORMAT_IN_PROGRESS) {
+               if (srb->cmnd[0] != REQUEST_SENSE &&
+                   srb->cmnd[0] != INQUIRY) {
                        /* Logical Unit Not Ready Format in Progress */
                        set_sense_data(chip, lun, CUR_ERR, 0x02, 0, 0x04, 0x04,
                                       0, (u16)(ms_card->progress));
index 909a3e6..805dc18 100644 (file)
@@ -326,7 +326,7 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card,
        struct scatterlist *sg_ptr;
        u32 val = TRIG_DMA;
 
-       if (!sg || (num_sg <= 0) || !offset || !index)
+       if (!sg || num_sg <= 0 || !offset || !index)
                return -EIO;
 
        if (dma_dir == DMA_TO_DEVICE)
@@ -489,7 +489,7 @@ static int rtsx_transfer_sglist_adma(struct rtsx_chip *chip, u8 card,
        long timeleft;
        struct scatterlist *sg_ptr;
 
-       if (!sg || (num_sg <= 0))
+       if (!sg || num_sg <= 0)
                return -EIO;
 
        if (dma_dir == DMA_TO_DEVICE)
@@ -635,7 +635,7 @@ static int rtsx_transfer_buf(struct rtsx_chip *chip, u8 card, void *buf,
        u32 val = BIT(31);
        long timeleft;
 
-       if (!buf || (len <= 0))
+       if (!buf || len <= 0)
                return -EIO;
 
        if (dma_dir == DMA_TO_DEVICE)
index 25c3149..d1fafd5 100644 (file)
@@ -218,9 +218,9 @@ RTY_SEND_CMD:
                }
        }
 
-       if ((rsp_type == SD_RSP_TYPE_R1) || (rsp_type == SD_RSP_TYPE_R1b)) {
-               if ((cmd_idx != SEND_RELATIVE_ADDR) &&
-                   (cmd_idx != SEND_IF_COND)) {
+       if (rsp_type == SD_RSP_TYPE_R1 || rsp_type == SD_RSP_TYPE_R1b) {
+               if (cmd_idx != SEND_RELATIVE_ADDR &&
+                   cmd_idx != SEND_IF_COND) {
                        if (cmd_idx != STOP_TRANSMISSION) {
                                if (ptr[1] & 0x80)
                                        return STATUS_FAIL;
@@ -462,7 +462,7 @@ static int sd_check_csd(struct rtsx_chip *chip, char check_wp)
        if (CHK_MMC_SECTOR_MODE(sd_card)) {
                sd_card->capacity = 0;
        } else {
-               if ((!CHK_SD_HCXC(sd_card)) || (csd_ver == 0)) {
+               if ((!CHK_SD_HCXC(sd_card)) || csd_ver == 0) {
                        u8 blk_size, c_size_mult;
                        u16 c_size;
 
@@ -1077,7 +1077,7 @@ static int sd_query_switch_result(struct rtsx_chip *chip, u8 func_group,
        }
 
        /* Check 'Busy Status' */
-       if ((buf[DATA_STRUCTURE_VER_OFFSET] == 0x01) &&
+       if (buf[DATA_STRUCTURE_VER_OFFSET] == 0x01 &&
            ((buf[check_busy_offset] & switch_busy) == switch_busy)) {
                return STATUS_FAIL;
        }
@@ -1148,7 +1148,7 @@ static int sd_check_switch_mode(struct rtsx_chip *chip, u8 mode, u8 func_group,
 
                dev_dbg(rtsx_dev(chip), "Maximum current consumption: %dmA\n",
                        cc);
-               if ((cc == 0) || (cc > 800))
+               if (cc == 0 || cc > 800)
                        return STATUS_FAIL;
 
                retval = sd_query_switch_result(chip, func_group,
@@ -1156,7 +1156,7 @@ static int sd_check_switch_mode(struct rtsx_chip *chip, u8 mode, u8 func_group,
                if (retval != STATUS_SUCCESS)
                        return STATUS_FAIL;
 
-               if ((cc > 400) || (func_to_switch > CURRENT_LIMIT_400)) {
+               if (cc > 400 || func_to_switch > CURRENT_LIMIT_400) {
                        retval = rtsx_write_register(chip, OCPPARA2,
                                                     SD_OCP_THD_MASK,
                                                     chip->sd_800mA_ocp_thd);
@@ -1292,7 +1292,7 @@ static int sd_switch_function(struct rtsx_chip *chip, u8 bus_width)
 
 #ifdef SUPPORT_SD_LOCK
        if ((sd_card->sd_lock_status & SD_SDR_RST) &&
-           (func_to_switch == DDR50_SUPPORT) &&
+           func_to_switch == DDR50_SUPPORT &&
            (sd_card->func_group1_mask & SDR50_SUPPORT_MASK)) {
                func_to_switch = SDR50_SUPPORT;
                dev_dbg(rtsx_dev(chip), "Using SDR50 instead of DDR50 for SD Lock\n");
@@ -1335,7 +1335,7 @@ static int sd_switch_function(struct rtsx_chip *chip, u8 bus_width)
                        return STATUS_FAIL;
        }
 
-       if (!func_to_switch || (func_to_switch == HS_SUPPORT)) {
+       if (!func_to_switch || func_to_switch == HS_SUPPORT) {
                /* Do not try to switch current limit if the card doesn't
                 * support UHS mode or we don't want it to support UHS mode
                 */
@@ -1664,8 +1664,8 @@ static u8 sd_search_final_phase(struct rtsx_chip *chip, u32 phase_map,
                path[idx].mid = path[idx].start + path[idx].len / 2;
        }
 
-       if ((path[0].start == 0) &&
-           (path[cont_path_cnt - 1].end == MAX_PHASE)) {
+       if (path[0].start == 0 &&
+           path[cont_path_cnt - 1].end == MAX_PHASE) {
                path[0].start = path[cont_path_cnt - 1].start - MAX_PHASE - 1;
                path[0].len += path[cont_path_cnt - 1].len;
                path[0].mid = path[0].start + path[0].len / 2;
@@ -1811,7 +1811,7 @@ static int sd_ddr_pre_tuning_tx(struct rtsx_chip *chip)
                retval = sd_send_cmd_get_rsp(chip, SEND_STATUS,
                                             sd_card->sd_addr, SD_RSP_TYPE_R1,
                                             NULL, 0);
-               if ((retval == STATUS_SUCCESS) ||
+               if (retval == STATUS_SUCCESS ||
                    !sd_check_err_code(chip, SD_RSP_TIMEOUT))
                        phase_map |= 1 << i;
        }
@@ -2269,7 +2269,7 @@ static int sd_check_wp_state(struct rtsx_chip *chip)
 
        sd_card_type = ((u16)buf[2] << 8) | buf[3];
        dev_dbg(rtsx_dev(chip), "sd_card_type = 0x%04x\n", sd_card_type);
-       if ((sd_card_type == 0x0001) || (sd_card_type == 0x0002)) {
+       if (sd_card_type == 0x0001 || sd_card_type == 0x0002) {
                /* ROM card or OTP */
                chip->card_wp |= SD_CARD;
        }
@@ -2361,7 +2361,7 @@ RTY_SD_RST:
        retval = sd_send_cmd_get_rsp(chip, SEND_IF_COND, 0x000001AA,
                                     SD_RSP_TYPE_R7, rsp, 5);
        if (retval == STATUS_SUCCESS) {
-               if ((rsp[4] == 0xAA) && ((rsp[3] & 0x0f) == 0x01)) {
+               if (rsp[4] == 0xAA && ((rsp[3] & 0x0f) == 0x01)) {
                        hi_cap_flow = true;
                        voltage = SUPPORT_VOLTAGE | 0x40000000;
                }
@@ -2713,7 +2713,7 @@ static int mmc_test_switch_bus(struct rtsx_chip *chip, u8 width)
        if (width == MMC_8BIT_BUS) {
                dev_dbg(rtsx_dev(chip), "BUSTEST_R [8bits]: 0x%02x 0x%02x\n",
                        ptr[0], ptr[1]);
-               if ((ptr[0] == 0xAA) && (ptr[1] == 0x55)) {
+               if (ptr[0] == 0xAA && ptr[1] == 0x55) {
                        u8 rsp[5];
                        u32 arg;
 
@@ -2724,7 +2724,7 @@ static int mmc_test_switch_bus(struct rtsx_chip *chip, u8 width)
 
                        retval = sd_send_cmd_get_rsp(chip, SWITCH, arg,
                                                     SD_RSP_TYPE_R1b, rsp, 5);
-                       if ((retval == STATUS_SUCCESS) &&
+                       if (retval == STATUS_SUCCESS &&
                            !(rsp[4] & MMC_SWITCH_ERR))
                                return SWITCH_SUCCESS;
                }
@@ -2741,7 +2741,7 @@ static int mmc_test_switch_bus(struct rtsx_chip *chip, u8 width)
 
                        retval = sd_send_cmd_get_rsp(chip, SWITCH, arg,
                                                     SD_RSP_TYPE_R1b, rsp, 5);
-                       if ((retval == STATUS_SUCCESS) &&
+                       if (retval == STATUS_SUCCESS &&
                            !(rsp[4] & MMC_SWITCH_ERR))
                                return SWITCH_SUCCESS;
                }
@@ -2830,7 +2830,7 @@ static int mmc_switch_timing_bus(struct rtsx_chip *chip, bool switch_ddr)
 
                retval = sd_send_cmd_get_rsp(chip, SWITCH, 0x03B90100,
                                             SD_RSP_TYPE_R1b, rsp, 5);
-               if ((retval != STATUS_SUCCESS) || (rsp[4] & MMC_SWITCH_ERR))
+               if (retval != STATUS_SUCCESS || (rsp[4] & MMC_SWITCH_ERR))
                        CLR_MMC_HS(sd_card);
        }
 
@@ -2989,7 +2989,7 @@ MMC_UNLOCK_ENTRY:
                        }
                }
 
-               if (CHK_MMC_SECTOR_MODE(sd_card) && (sd_card->capacity == 0))
+               if (CHK_MMC_SECTOR_MODE(sd_card) && sd_card->capacity == 0)
                        return STATUS_FAIL;
 
                if (switch_ddr && CHK_MMC_DDR52(sd_card)) {
@@ -3333,11 +3333,11 @@ int sd_rw(struct scsi_cmnd *srb, struct rtsx_chip *chip, u32 start_sector,
        }
 
        if (sd_card->seq_mode &&
-           ((sd_card->pre_dir != srb->sc_data_direction) ||
+           (sd_card->pre_dir != srb->sc_data_direction ||
            ((sd_card->pre_sec_addr + sd_card->pre_sec_cnt) !=
            start_sector))) {
-               if ((sd_card->pre_sec_cnt < 0x80) &&
-                   (sd_card->pre_dir == DMA_FROM_DEVICE) &&
+               if (sd_card->pre_sec_cnt < 0x80 &&
+                   sd_card->pre_dir == DMA_FROM_DEVICE &&
                    !CHK_SD30_SPEED(sd_card) &&
                    !CHK_SD_HS(sd_card) &&
                    !CHK_MMC_HS(sd_card)) {
@@ -3361,7 +3361,7 @@ int sd_rw(struct scsi_cmnd *srb, struct rtsx_chip *chip, u32 start_sector,
                        goto RW_FAIL;
                }
 
-               if ((sd_card->pre_sec_cnt < 0x80) &&
+               if (sd_card->pre_sec_cnt < 0x80 &&
                    !CHK_SD30_SPEED(sd_card) &&
                    !CHK_SD_HS(sd_card) &&
                    !CHK_MMC_HS(sd_card)) {
@@ -3666,9 +3666,9 @@ RTY_SEND_CMD:
                }
        }
 
-       if ((cmd_idx == SELECT_CARD) || (cmd_idx == APP_CMD) ||
-           (cmd_idx == SEND_STATUS) || (cmd_idx == STOP_TRANSMISSION)) {
-               if ((cmd_idx != STOP_TRANSMISSION) && !special_check) {
+       if (cmd_idx == SELECT_CARD || cmd_idx == APP_CMD ||
+           cmd_idx == SEND_STATUS || cmd_idx == STOP_TRANSMISSION) {
+               if (cmd_idx != STOP_TRANSMISSION && !special_check) {
                        if (ptr[1] & 0x80)
                                return STATUS_FAIL;
                }
@@ -3772,10 +3772,10 @@ int sd_pass_thru_mode(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                return TRANSPORT_FAILED;
        }
 
-       if ((srb->cmnd[2] != 0x53) || (srb->cmnd[3] != 0x44) ||
-           (srb->cmnd[4] != 0x20) || (srb->cmnd[5] != 0x43) ||
-           (srb->cmnd[6] != 0x61) || (srb->cmnd[7] != 0x72) ||
-           (srb->cmnd[8] != 0x64)) {
+       if (srb->cmnd[2] != 0x53 || srb->cmnd[3] != 0x44 ||
+           srb->cmnd[4] != 0x20 || srb->cmnd[5] != 0x43 ||
+           srb->cmnd[6] != 0x61 || srb->cmnd[7] != 0x72 ||
+           srb->cmnd[8] != 0x64) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
                return TRANSPORT_FAILED;
        }
@@ -4596,10 +4596,10 @@ int sd_hw_rst(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                return TRANSPORT_FAILED;
        }
 
-       if ((srb->cmnd[2] != 0x53) || (srb->cmnd[3] != 0x44) ||
-           (srb->cmnd[4] != 0x20) || (srb->cmnd[5] != 0x43) ||
-           (srb->cmnd[6] != 0x61) || (srb->cmnd[7] != 0x72) ||
-           (srb->cmnd[8] != 0x64)) {
+       if (srb->cmnd[2] != 0x53 || srb->cmnd[3] != 0x44 ||
+           srb->cmnd[4] != 0x20 || srb->cmnd[5] != 0x43 ||
+           srb->cmnd[6] != 0x61 || srb->cmnd[7] != 0x72 ||
+           srb->cmnd[8] != 0x64) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
                return TRANSPORT_FAILED;
        }
index a305e15..42cab93 100644 (file)
@@ -177,7 +177,7 @@ static int xd_read_data_from_ppb(struct rtsx_chip *chip, int offset,
 {
        int retval, i;
 
-       if (!buf || (buf_len < 0))
+       if (!buf || buf_len < 0)
                return STATUS_FAIL;
 
        rtsx_init_cmd(chip);
@@ -203,7 +203,7 @@ static int xd_read_cis(struct rtsx_chip *chip, u32 page_addr, u8 *buf,
        int retval;
        u8 reg;
 
-       if (!buf || (buf_len < 10))
+       if (!buf || buf_len < 10)
                return STATUS_FAIL;
 
        rtsx_init_cmd(chip);
@@ -713,7 +713,7 @@ static int reset_xd(struct rtsx_chip *chip)
                }
 
                /* Check CIS data */
-               if ((redunt[BLOCK_STATUS] == XD_GBLK) &&
+               if (redunt[BLOCK_STATUS] == XD_GBLK &&
                    (redunt[PARITY] & XD_BA1_ALL0)) {
                        u8 buf[10];
 
@@ -723,12 +723,12 @@ static int reset_xd(struct rtsx_chip *chip)
                        if (retval != STATUS_SUCCESS)
                                return STATUS_FAIL;
 
-                       if ((buf[0] == 0x01) && (buf[1] == 0x03) &&
-                           (buf[2] == 0xD9) &&
-                           (buf[3] == 0x01) && (buf[4] == 0xFF) &&
-                           (buf[5] == 0x18) && (buf[6] == 0x02) &&
-                           (buf[7] == 0xDF) && (buf[8] == 0x01) &&
-                           (buf[9] == 0x20)) {
+                       if (buf[0] == 0x01 && buf[1] == 0x03 &&
+                           buf[2] == 0xD9 &&
+                           buf[3] == 0x01 && buf[4] == 0xFF &&
+                           buf[5] == 0x18 && buf[6] == 0x02 &&
+                           buf[7] == 0xDF && buf[8] == 0x01 &&
+                           buf[9] == 0x20) {
                                xd_card->cis_block = (u16)i;
                        }
                }
@@ -847,8 +847,8 @@ static void xd_set_unused_block(struct rtsx_chip *chip, u32 phy_blk)
                        return;
        }
 
-       if ((zone->set_index >= XD_FREE_TABLE_CNT) ||
-           (zone->set_index < 0)) {
+       if (zone->set_index >= XD_FREE_TABLE_CNT ||
+           zone->set_index < 0) {
                free_zone(zone);
                dev_dbg(rtsx_dev(chip), "Set unused block fail, invalid set_index\n");
                return;
@@ -876,13 +876,13 @@ static u32 xd_get_unused_block(struct rtsx_chip *chip, int zone_no)
        }
        zone = &xd_card->zone[zone_no];
 
-       if ((zone->unused_blk_cnt == 0) ||
-           (zone->set_index == zone->get_index)) {
+       if (zone->unused_blk_cnt == 0 ||
+           zone->set_index == zone->get_index) {
                free_zone(zone);
                dev_dbg(rtsx_dev(chip), "Get unused block fail, no unused block available\n");
                return BLK_NOT_FOUND;
        }
-       if ((zone->get_index >= XD_FREE_TABLE_CNT) || (zone->get_index < 0)) {
+       if (zone->get_index >= XD_FREE_TABLE_CNT || zone->get_index < 0) {
                free_zone(zone);
                dev_dbg(rtsx_dev(chip), "Get unused block fail, invalid get_index\n");
                return BLK_NOT_FOUND;
@@ -1109,7 +1109,7 @@ static int xd_copy_page(struct rtsx_chip *chip, u32 old_blk, u32 new_blk,
        if (start_page > end_page)
                return STATUS_FAIL;
 
-       if ((old_blk == BLK_NOT_FOUND) || (new_blk == BLK_NOT_FOUND))
+       if (old_blk == BLK_NOT_FOUND || new_blk == BLK_NOT_FOUND)
                return STATUS_FAIL;
 
        old_page = (old_blk << xd_card->block_shift) + start_page;
@@ -1375,16 +1375,16 @@ static int xd_build_l2p_tbl(struct rtsx_chip *chip, int zone_no)
                }
 
                cur_fst_page_logoff = xd_load_log_block_addr(redunt);
-               if ((cur_fst_page_logoff == 0xFFFF) ||
-                   (cur_fst_page_logoff > max_logoff)) {
+               if (cur_fst_page_logoff == 0xFFFF ||
+                   cur_fst_page_logoff > max_logoff) {
                        retval = xd_erase_block(chip, i);
                        if (retval == STATUS_SUCCESS)
                                xd_set_unused_block(chip, i);
                        continue;
                }
 
-               if ((zone_no == 0) && (cur_fst_page_logoff == 0) &&
-                   (redunt[PAGE_STATUS] != XD_GPG))
+               if (zone_no == 0 && cur_fst_page_logoff == 0 &&
+                   redunt[PAGE_STATUS] != XD_GPG)
                        XD_SET_MBR_FAIL(xd_card);
 
                if (zone->l2p_table[cur_fst_page_logoff] == 0xFFFF) {
@@ -1874,8 +1874,8 @@ int xd_rw(struct scsi_cmnd *srb, struct rtsx_chip *chip,
        if (srb->sc_data_direction == DMA_TO_DEVICE) {
 #ifdef XD_DELAY_WRITE
                if (delay_write->delay_write_flag &&
-                   (delay_write->logblock == log_blk) &&
-                   (start_page > delay_write->pageoff)) {
+                   delay_write->logblock == log_blk &&
+                   start_page > delay_write->pageoff) {
                        delay_write->delay_write_flag = 0;
                        if (delay_write->old_phyblock != BLK_NOT_FOUND) {
                                retval = xd_copy_page(chip,
@@ -1907,8 +1907,8 @@ int xd_rw(struct scsi_cmnd *srb, struct rtsx_chip *chip,
 #endif
                        old_blk = xd_get_l2p_tbl(chip, zone_no, log_off);
                        new_blk  = xd_get_unused_block(chip, zone_no);
-                       if ((old_blk == BLK_NOT_FOUND) ||
-                           (new_blk == BLK_NOT_FOUND)) {
+                       if (old_blk == BLK_NOT_FOUND ||
+                           new_blk == BLK_NOT_FOUND) {
                                set_sense_type(chip, lun,
                                               SENSE_TYPE_MEDIA_WRITE_ERR);
                                return STATUS_FAIL;
@@ -2034,7 +2034,7 @@ int xd_rw(struct scsi_cmnd *srb, struct rtsx_chip *chip,
                start_page = 0;
        }
 
-       if ((srb->sc_data_direction == DMA_TO_DEVICE) &&
+       if (srb->sc_data_direction == DMA_TO_DEVICE &&
            (end_page != (xd_card->page_off + 1))) {
 #ifdef XD_DELAY_WRITE
                delay_write->delay_write_flag = 1;
index a3bc568..62cd9b7 100644 (file)
@@ -1782,6 +1782,7 @@ static int visornic_probe(struct visor_device *dev)
        struct net_device *netdev = NULL;
        int err;
        int channel_offset = 0;
+       u8 addr[ETH_ALEN];
        u64 features;
 
        netdev = alloc_etherdev(sizeof(struct visornic_devdata));
@@ -1798,14 +1799,14 @@ static int visornic_probe(struct visor_device *dev)
        /* Get MAC address from channel and read it into the device. */
        netdev->addr_len = ETH_ALEN;
        channel_offset = offsetof(struct visor_io_channel, vnic.macaddr);
-       err = visorbus_read_channel(dev, channel_offset, netdev->dev_addr,
-                                   ETH_ALEN);
+       err = visorbus_read_channel(dev, channel_offset, addr, ETH_ALEN);
        if (err < 0) {
                dev_err(&dev->device,
                        "%s failed to get mac addr from chan (%d)\n",
                        __func__, err);
                goto cleanup_netdev;
        }
+       eth_hw_addr_set(netdev, addr);
 
        devdata = devdata_initialize(netdev_priv(netdev), dev);
        if (!devdata) {
index 967f10b..c650a32 100644 (file)
@@ -68,6 +68,11 @@ struct vchiq_state g_state;
 static struct platform_device *bcm2835_camera;
 static struct platform_device *bcm2835_audio;
 
+struct vchiq_drvdata {
+       const unsigned int cache_line_size;
+       struct rpi_firmware *fw;
+};
+
 static struct vchiq_drvdata bcm2835_drvdata = {
        .cache_line_size = 32,
 };
@@ -76,6 +81,40 @@ static struct vchiq_drvdata bcm2836_drvdata = {
        .cache_line_size = 64,
 };
 
+struct vchiq_arm_state {
+       /* Keepalive-related data */
+       struct task_struct *ka_thread;
+       struct completion ka_evt;
+       atomic_t ka_use_count;
+       atomic_t ka_use_ack_count;
+       atomic_t ka_release_count;
+
+       rwlock_t susp_res_lock;
+
+       struct vchiq_state *state;
+
+       /*
+        * Global use count for videocore.
+        * This is equal to the sum of the use counts for all services.  When
+        * this hits zero the videocore suspend procedure will be initiated.
+        */
+       int videocore_use_count;
+
+       /*
+        * Use count to track requests from videocore peer.
+        * This use count is not associated with a service, so needs to be
+        * tracked separately with the state.
+        */
+       int peer_use_count;
+
+       /*
+        * Flag to indicate that the first vchiq connect has made it through.
+        * This means that both sides should be fully ready, and we should
+        * be able to suspend after this point.
+        */
+       int first_connect;
+};
+
 struct vchiq_2835_state {
        int inited;
        struct vchiq_arm_state arm_state;
@@ -115,7 +154,7 @@ static DEFINE_SEMAPHORE(g_free_fragments_mutex);
 
 static enum vchiq_status
 vchiq_blocking_bulk_transfer(unsigned int handle, void *data,
-       unsigned int size, enum vchiq_bulk_dir dir);
+                            unsigned int size, enum vchiq_bulk_dir dir);
 
 static irqreturn_t
 vchiq_doorbell_irq(int irq, void *dev_id)
@@ -251,11 +290,8 @@ create_pagelist(char *buf, char __user *ubuf,
                }
                /* do not try and release vmalloc pages */
        } else {
-               actual_pages = pin_user_pages_fast(
-                                         (unsigned long)ubuf & PAGE_MASK,
-                                         num_pages,
-                                         type == PAGELIST_READ,
-                                         pages);
+               actual_pages = pin_user_pages_fast((unsigned long)ubuf & PAGE_MASK, num_pages,
+                                                  type == PAGELIST_READ, pages);
 
                if (actual_pages != num_pages) {
                        vchiq_log_info(vchiq_arm_log_level,
@@ -325,9 +361,9 @@ create_pagelist(char *buf, char __user *ubuf,
 
        /* Partial cache lines (fragments) require special measures */
        if ((type == PAGELIST_READ) &&
-               ((pagelist->offset & (g_cache_line_size - 1)) ||
-               ((pagelist->offset + pagelist->length) &
-               (g_cache_line_size - 1)))) {
+           ((pagelist->offset & (g_cache_line_size - 1)) ||
+           ((pagelist->offset + pagelist->length) &
+           (g_cache_line_size - 1)))) {
                char *fragments;
 
                if (down_interruptible(&g_free_fragments_sema)) {
@@ -340,7 +376,7 @@ create_pagelist(char *buf, char __user *ubuf,
                down(&g_free_fragments_mutex);
                fragments = g_free_fragments;
                WARN_ON(!fragments);
-               g_free_fragments = *(char **) g_free_fragments;
+               g_free_fragments = *(char **)g_free_fragments;
                up(&g_free_fragments_mutex);
                pagelist->type = PAGELIST_READ_WITH_FRAGMENTS +
                        (fragments - g_fragments_base) / g_fragments_size;
@@ -391,7 +427,7 @@ free_pagelist(struct vchiq_pagelist_info *pagelistinfo,
                        kunmap(pages[0]);
                }
                if ((actual >= 0) && (head_bytes < actual) &&
-                       (tail_bytes != 0)) {
+                   (tail_bytes != 0)) {
                        memcpy((char *)kmap(pages[num_pages - 1]) +
                                ((pagelist->offset + actual) &
                                (PAGE_SIZE - 1) & ~(g_cache_line_size - 1)),
@@ -469,8 +505,8 @@ int vchiq_platform_init(struct platform_device *pdev, struct vchiq_state *state)
 
        g_free_fragments = g_fragments_base;
        for (i = 0; i < (MAX_FRAGMENTS - 1); i++) {
-               *(char **)&g_fragments_base[i*g_fragments_size] =
-                       &g_fragments_base[(i + 1)*g_fragments_size];
+               *(char **)&g_fragments_base[i * g_fragments_size] =
+                       &g_fragments_base[(i + 1) * g_fragments_size];
        }
        *(char **)&g_fragments_base[i * g_fragments_size] = NULL;
        sema_init(&g_free_fragments_sema, MAX_FRAGMENTS);
@@ -504,15 +540,31 @@ int vchiq_platform_init(struct platform_device *pdev, struct vchiq_state *state)
        }
 
        g_dev = dev;
-       vchiq_log_info(vchiq_arm_log_level,
-               "vchiq_init - done (slots %pK, phys %pad)",
-               vchiq_slot_zero, &slot_phys);
+       vchiq_log_info(vchiq_arm_log_level, "vchiq_init - done (slots %pK, phys %pad)",
+                      vchiq_slot_zero, &slot_phys);
 
        vchiq_call_connected_callbacks();
 
        return 0;
 }
 
+static void
+vchiq_arm_init_state(struct vchiq_state *state,
+                    struct vchiq_arm_state *arm_state)
+{
+       if (arm_state) {
+               rwlock_init(&arm_state->susp_res_lock);
+
+               init_completion(&arm_state->ka_evt);
+               atomic_set(&arm_state->ka_use_count, 0);
+               atomic_set(&arm_state->ka_use_ack_count, 0);
+               atomic_set(&arm_state->ka_release_count, 0);
+
+               arm_state->state = state;
+               arm_state->first_connect = 0;
+       }
+}
+
 int
 vchiq_platform_init_state(struct vchiq_state *state)
 {
@@ -593,8 +645,7 @@ int vchiq_dump_platform_state(void *dump_context)
        char buf[80];
        int len;
 
-       len = snprintf(buf, sizeof(buf),
-               "  Platform: 2835 (VC master)");
+       len = snprintf(buf, sizeof(buf), "  Platform: 2835 (VC master)");
        return vchiq_dump(dump_context, buf, len + 1);
 }
 
@@ -617,20 +668,18 @@ int vchiq_initialise(struct vchiq_instance **instance_out)
                usleep_range(500, 600);
        }
        if (i == VCHIQ_INIT_RETRIES) {
-               vchiq_log_error(vchiq_core_log_level,
-                       "%s: videocore not initialized\n", __func__);
+               vchiq_log_error(vchiq_core_log_level, "%s: videocore not initialized\n", __func__);
                ret = -ENOTCONN;
                goto failed;
        } else if (i > 0) {
                vchiq_log_warning(vchiq_core_log_level,
-                       "%s: videocore initialized after %d retries\n",
-                       __func__, i);
+                                 "%s: videocore initialized after %d retries\n", __func__, i);
        }
 
        instance = kzalloc(sizeof(*instance), GFP_KERNEL);
        if (!instance) {
                vchiq_log_error(vchiq_core_log_level,
-                       "%s: error allocating vchiq instance\n", __func__);
+                               "%s: error allocating vchiq instance\n", __func__);
                ret = -ENOMEM;
                goto failed;
        }
@@ -645,8 +694,7 @@ int vchiq_initialise(struct vchiq_instance **instance_out)
        ret = 0;
 
 failed:
-       vchiq_log_trace(vchiq_core_log_level,
-               "%s(%p): returning %d", __func__, instance, ret);
+       vchiq_log_trace(vchiq_core_log_level, "%s(%p): returning %d", __func__, instance, ret);
 
        return ret;
 }
@@ -659,9 +707,8 @@ void free_bulk_waiter(struct vchiq_instance *instance)
        list_for_each_entry_safe(waiter, next,
                                 &instance->bulk_waiter_list, list) {
                list_del(&waiter->list);
-               vchiq_log_info(vchiq_arm_log_level,
-                               "bulk_waiter - cleaned up %pK for pid %d",
-                               waiter, waiter->pid);
+               vchiq_log_info(vchiq_arm_log_level, "bulk_waiter - cleaned up %pK for pid %d",
+                              waiter, waiter->pid);
                kfree(waiter);
        }
 }
@@ -679,8 +726,7 @@ enum vchiq_status vchiq_shutdown(struct vchiq_instance *instance)
 
        mutex_unlock(&state->mutex);
 
-       vchiq_log_trace(vchiq_core_log_level,
-               "%s(%p): returning %d", __func__, instance, status);
+       vchiq_log_trace(vchiq_core_log_level, "%s(%p): returning %d", __func__, instance, status);
 
        free_bulk_waiter(instance);
        kfree(instance);
@@ -700,8 +746,7 @@ enum vchiq_status vchiq_connect(struct vchiq_instance *instance)
        struct vchiq_state *state = instance->state;
 
        if (mutex_lock_killable(&state->mutex)) {
-               vchiq_log_trace(vchiq_core_log_level,
-                       "%s: call to mutex_lock failed", __func__);
+               vchiq_log_trace(vchiq_core_log_level, "%s: call to mutex_lock failed", __func__);
                status = VCHIQ_RETRY;
                goto failed;
        }
@@ -713,8 +758,7 @@ enum vchiq_status vchiq_connect(struct vchiq_instance *instance)
        mutex_unlock(&state->mutex);
 
 failed:
-       vchiq_log_trace(vchiq_core_log_level,
-               "%s(%p): returning %d", __func__, instance, status);
+       vchiq_log_trace(vchiq_core_log_level, "%s(%p): returning %d", __func__, instance, status);
 
        return status;
 }
@@ -736,12 +780,7 @@ vchiq_add_service(struct vchiq_instance *instance,
                ? VCHIQ_SRVSTATE_LISTENING
                : VCHIQ_SRVSTATE_HIDDEN;
 
-       service = vchiq_add_service_internal(
-               state,
-               params,
-               srvstate,
-               instance,
-               NULL);
+       service = vchiq_add_service_internal(state, params, srvstate, instance, NULL);
 
        if (service) {
                *phandle = service->handle;
@@ -750,8 +789,7 @@ vchiq_add_service(struct vchiq_instance *instance,
                status = VCHIQ_ERROR;
        }
 
-       vchiq_log_trace(vchiq_core_log_level,
-               "%s(%p): returning %d", __func__, instance, status);
+       vchiq_log_trace(vchiq_core_log_level, "%s(%p): returning %d", __func__, instance, status);
 
        return status;
 }
@@ -770,11 +808,7 @@ vchiq_open_service(struct vchiq_instance *instance,
        if (!vchiq_is_connected(instance))
                goto failed;
 
-       service = vchiq_add_service_internal(state,
-               params,
-               VCHIQ_SRVSTATE_OPENING,
-               instance,
-               NULL);
+       service = vchiq_add_service_internal(state, params, VCHIQ_SRVSTATE_OPENING, instance, NULL);
 
        if (service) {
                *phandle = service->handle;
@@ -786,8 +820,7 @@ vchiq_open_service(struct vchiq_instance *instance,
        }
 
 failed:
-       vchiq_log_trace(vchiq_core_log_level,
-               "%s(%p): returning %d", __func__, instance, status);
+       vchiq_log_trace(vchiq_core_log_level, "%s(%p): returning %d", __func__, instance, status);
 
        return status;
 }
@@ -809,8 +842,8 @@ vchiq_bulk_transmit(unsigned int handle, const void *data, unsigned int size,
                                                     VCHIQ_BULK_TRANSMIT);
                        break;
                case VCHIQ_BULK_MODE_BLOCKING:
-                       status = vchiq_blocking_bulk_transfer(handle,
-                               (void *)data, size, VCHIQ_BULK_TRANSMIT);
+                       status = vchiq_blocking_bulk_transfer(handle, (void *)data, size,
+                                                             VCHIQ_BULK_TRANSMIT);
                        break;
                default:
                        return VCHIQ_ERROR;
@@ -846,8 +879,8 @@ enum vchiq_status vchiq_bulk_receive(unsigned int handle, void *data,
                                                     mode, VCHIQ_BULK_RECEIVE);
                        break;
                case VCHIQ_BULK_MODE_BLOCKING:
-                       status = vchiq_blocking_bulk_transfer(handle,
-                               (void *)data, size, VCHIQ_BULK_RECEIVE);
+                       status = vchiq_blocking_bulk_transfer(handle, (void *)data, size,
+                                                             VCHIQ_BULK_RECEIVE);
                        break;
                default:
                        return VCHIQ_ERROR;
@@ -902,8 +935,7 @@ vchiq_blocking_bulk_transfer(unsigned int handle, void *data, unsigned int size,
                if (bulk) {
                        /* This thread has an outstanding bulk transfer. */
                        /* FIXME: why compare a dma address to a pointer? */
-                       if ((bulk->data != (dma_addr_t)(uintptr_t)data) ||
-                               (bulk->size != size)) {
+                       if ((bulk->data != (dma_addr_t)(uintptr_t)data) || (bulk->size != size)) {
                                /*
                                 * This is not a retry of the previous one.
                                 * Cancel the signal when the transfer completes.
@@ -916,8 +948,7 @@ vchiq_blocking_bulk_transfer(unsigned int handle, void *data, unsigned int size,
        } else {
                waiter = kzalloc(sizeof(*waiter), GFP_KERNEL);
                if (!waiter) {
-                       vchiq_log_error(vchiq_core_log_level,
-                               "%s - out of memory", __func__);
+                       vchiq_log_error(vchiq_core_log_level, "%s - out of memory", __func__);
                        return VCHIQ_ERROR;
                }
        }
@@ -925,8 +956,7 @@ vchiq_blocking_bulk_transfer(unsigned int handle, void *data, unsigned int size,
        status = vchiq_bulk_transfer(handle, data, NULL, size,
                                     &waiter->bulk_waiter,
                                     VCHIQ_BULK_MODE_BLOCKING, dir);
-       if ((status != VCHIQ_RETRY) || fatal_signal_pending(current) ||
-               !waiter->bulk_waiter.bulk) {
+       if ((status != VCHIQ_RETRY) || fatal_signal_pending(current) || !waiter->bulk_waiter.bulk) {
                struct vchiq_bulk *bulk = waiter->bulk_waiter.bulk;
 
                if (bulk) {
@@ -941,9 +971,8 @@ vchiq_blocking_bulk_transfer(unsigned int handle, void *data, unsigned int size,
                mutex_lock(&instance->bulk_waiter_list_mutex);
                list_add(&waiter->list, &instance->bulk_waiter_list);
                mutex_unlock(&instance->bulk_waiter_list_mutex);
-               vchiq_log_info(vchiq_arm_log_level,
-                               "saved bulk_waiter %pK for pid %d",
-                               waiter, current->pid);
+               vchiq_log_info(vchiq_arm_log_level, "saved bulk_waiter %pK for pid %d", waiter,
+                              current->pid);
        }
 
        return status;
@@ -957,23 +986,19 @@ add_completion(struct vchiq_instance *instance, enum vchiq_reason reason,
        struct vchiq_completion_data_kernel *completion;
        int insert;
 
-       DEBUG_INITIALISE(g_state.local)
+       DEBUG_INITIALISE(g_state.local);
 
        insert = instance->completion_insert;
        while ((insert - instance->completion_remove) >= MAX_COMPLETIONS) {
                /* Out of space - wait for the client */
                DEBUG_TRACE(SERVICE_CALLBACK_LINE);
-               vchiq_log_trace(vchiq_arm_log_level,
-                       "%s - completion queue full", __func__);
+               vchiq_log_trace(vchiq_arm_log_level, "%s - completion queue full", __func__);
                DEBUG_COUNT(COMPLETION_QUEUE_FULL_COUNT);
-               if (wait_for_completion_interruptible(
-                                       &instance->remove_event)) {
-                       vchiq_log_info(vchiq_arm_log_level,
-                               "service_callback interrupted");
+               if (wait_for_completion_interruptible(&instance->remove_event)) {
+                       vchiq_log_info(vchiq_arm_log_level, "service_callback interrupted");
                        return VCHIQ_RETRY;
                } else if (instance->closing) {
-                       vchiq_log_info(vchiq_arm_log_level,
-                               "service_callback closing");
+                       vchiq_log_info(vchiq_arm_log_level, "service_callback closing");
                        return VCHIQ_SUCCESS;
                }
                DEBUG_TRACE(SERVICE_CALLBACK_LINE);
@@ -1029,7 +1054,7 @@ service_callback(enum vchiq_reason reason, struct vchiq_header *header,
        struct vchiq_instance *instance;
        bool skip_completion = false;
 
-       DEBUG_INITIALISE(g_state.local)
+       DEBUG_INITIALISE(g_state.local);
 
        DEBUG_TRACE(SERVICE_CALLBACK_LINE);
 
@@ -1044,11 +1069,10 @@ service_callback(enum vchiq_reason reason, struct vchiq_header *header,
                return VCHIQ_SUCCESS;
 
        vchiq_log_trace(vchiq_arm_log_level,
-               "%s - service %lx(%d,%p), reason %d, header %lx, instance %lx, bulk_userdata %lx",
-               __func__, (unsigned long)user_service,
-               service->localport, user_service->userdata,
-               reason, (unsigned long)header,
-               (unsigned long)instance, (unsigned long)bulk_userdata);
+                       "%s - service %lx(%d,%p), reason %d, header %lx, instance %lx, bulk_userdata %lx",
+                       __func__, (unsigned long)user_service, service->localport,
+                       user_service->userdata, reason, (unsigned long)header,
+                       (unsigned long)instance, (unsigned long)bulk_userdata);
 
        if (header && user_service->is_vchi) {
                spin_lock(&msg_queue_spinlock);
@@ -1057,8 +1081,7 @@ service_callback(enum vchiq_reason reason, struct vchiq_header *header,
                        spin_unlock(&msg_queue_spinlock);
                        DEBUG_TRACE(SERVICE_CALLBACK_LINE);
                        DEBUG_COUNT(MSG_QUEUE_FULL_COUNT);
-                       vchiq_log_trace(vchiq_arm_log_level,
-                               "service_callback - msg queue full");
+                       vchiq_log_trace(vchiq_arm_log_level, "%s - msg queue full", __func__);
                        /*
                         * If there is no MESSAGE_AVAILABLE in the completion
                         * queue, add one
@@ -1068,10 +1091,10 @@ service_callback(enum vchiq_reason reason, struct vchiq_header *header,
                                enum vchiq_status status;
 
                                vchiq_log_info(vchiq_arm_log_level,
-                                       "Inserting extra MESSAGE_AVAILABLE");
+                                              "Inserting extra MESSAGE_AVAILABLE");
                                DEBUG_TRACE(SERVICE_CALLBACK_LINE);
-                               status = add_completion(instance, reason,
-                                       NULL, user_service, bulk_userdata);
+                               status = add_completion(instance, reason, NULL, user_service,
+                                                       bulk_userdata);
                                if (status != VCHIQ_SUCCESS) {
                                        DEBUG_TRACE(SERVICE_CALLBACK_LINE);
                                        return status;
@@ -1079,15 +1102,12 @@ service_callback(enum vchiq_reason reason, struct vchiq_header *header,
                        }
 
                        DEBUG_TRACE(SERVICE_CALLBACK_LINE);
-                       if (wait_for_completion_interruptible(
-                                               &user_service->remove_event)) {
-                               vchiq_log_info(vchiq_arm_log_level,
-                                       "%s interrupted", __func__);
+                       if (wait_for_completion_interruptible(&user_service->remove_event)) {
+                               vchiq_log_info(vchiq_arm_log_level, "%s interrupted", __func__);
                                DEBUG_TRACE(SERVICE_CALLBACK_LINE);
                                return VCHIQ_RETRY;
                        } else if (instance->closing) {
-                               vchiq_log_info(vchiq_arm_log_level,
-                                       "%s closing", __func__);
+                               vchiq_log_info(vchiq_arm_log_level, "%s closing", __func__);
                                DEBUG_TRACE(SERVICE_CALLBACK_LINE);
                                return VCHIQ_ERROR;
                        }
@@ -1238,12 +1258,10 @@ int vchiq_dump_platform_service_state(void *dump_context,
 
        len = scnprintf(buf, sizeof(buf), "  instance %pK", service->instance);
 
-       if ((service->base.callback == service_callback) &&
-               user_service->is_vchi) {
-               len += scnprintf(buf + len, sizeof(buf) - len,
-                       ", %d/%d messages",
-                       user_service->msg_insert - user_service->msg_remove,
-                       MSG_QUEUE_SIZE);
+       if ((service->base.callback == service_callback) && user_service->is_vchi) {
+               len += scnprintf(buf + len, sizeof(buf) - len, ", %d/%d messages",
+                                user_service->msg_insert - user_service->msg_remove,
+                                MSG_QUEUE_SIZE);
 
                if (user_service->dequeue_pending)
                        len += scnprintf(buf + len, sizeof(buf) - len,
@@ -1256,7 +1274,6 @@ int vchiq_dump_platform_service_state(void *dump_context,
 struct vchiq_state *
 vchiq_get_state(void)
 {
-
        if (!g_state.remote)
                pr_err("%s: g_state.remote == NULL\n", __func__);
        else if (g_state.remote->initialised != 1)
@@ -1276,8 +1293,7 @@ vchiq_keepalive_vchiq_callback(enum vchiq_reason reason,
                               struct vchiq_header *header,
                               unsigned int service_user, void *bulk_user)
 {
-       vchiq_log_error(vchiq_susp_log_level,
-               "%s callback reason %d", __func__, reason);
+       vchiq_log_error(vchiq_susp_log_level, "%s callback reason %d", __func__, reason);
        return 0;
 }
 
@@ -1301,22 +1317,22 @@ vchiq_keepalive_thread_func(void *v)
 
        ret = vchiq_initialise(&instance);
        if (ret) {
-               vchiq_log_error(vchiq_susp_log_level,
-                       "%s vchiq_initialise failed %d", __func__, ret);
+               vchiq_log_error(vchiq_susp_log_level, "%s vchiq_initialise failed %d", __func__,
+                               ret);
                goto exit;
        }
 
        status = vchiq_connect(instance);
        if (status != VCHIQ_SUCCESS) {
-               vchiq_log_error(vchiq_susp_log_level,
-                       "%s vchiq_connect failed %d", __func__, status);
+               vchiq_log_error(vchiq_susp_log_level, "%s vchiq_connect failed %d", __func__,
+                               status);
                goto shutdown;
        }
 
        status = vchiq_add_service(instance, &params, &ka_handle);
        if (status != VCHIQ_SUCCESS) {
-               vchiq_log_error(vchiq_susp_log_level,
-                       "%s vchiq_open_service failed %d", __func__, status);
+               vchiq_log_error(vchiq_susp_log_level, "%s vchiq_open_service failed %d", __func__,
+                               status);
                goto shutdown;
        }
 
@@ -1324,8 +1340,7 @@ vchiq_keepalive_thread_func(void *v)
                long rc = 0, uc = 0;
 
                if (wait_for_completion_interruptible(&arm_state->ka_evt)) {
-                       vchiq_log_error(vchiq_susp_log_level,
-                               "%s interrupted", __func__);
+                       vchiq_log_error(vchiq_susp_log_level, "%s interrupted", __func__);
                        flush_signals(current);
                        continue;
                }
@@ -1346,16 +1361,15 @@ vchiq_keepalive_thread_func(void *v)
                        status = vchiq_use_service(ka_handle);
                        if (status != VCHIQ_SUCCESS) {
                                vchiq_log_error(vchiq_susp_log_level,
-                                       "%s vchiq_use_service error %d",
-                                       __func__, status);
+                                               "%s vchiq_use_service error %d", __func__, status);
                        }
                }
                while (rc--) {
                        status = vchiq_release_service(ka_handle);
                        if (status != VCHIQ_SUCCESS) {
                                vchiq_log_error(vchiq_susp_log_level,
-                                       "%s vchiq_release_service error %d",
-                                       __func__, status);
+                                               "%s vchiq_release_service error %d", __func__,
+                                               status);
                        }
                }
        }
@@ -1366,24 +1380,6 @@ exit:
        return 0;
 }
 
-void
-vchiq_arm_init_state(struct vchiq_state *state,
-                    struct vchiq_arm_state *arm_state)
-{
-       if (arm_state) {
-               rwlock_init(&arm_state->susp_res_lock);
-
-               init_completion(&arm_state->ka_evt);
-               atomic_set(&arm_state->ka_use_count, 0);
-               atomic_set(&arm_state->ka_use_ack_count, 0);
-               atomic_set(&arm_state->ka_release_count, 0);
-
-               arm_state->state = state;
-               arm_state->first_connect = 0;
-
-       }
-}
-
 int
 vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
                   enum USE_TYPE_E use_type)
@@ -1417,9 +1413,8 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
        local_uc = ++arm_state->videocore_use_count;
        ++(*entity_uc);
 
-       vchiq_log_trace(vchiq_susp_log_level,
-               "%s %s count %d, state count %d",
-               __func__, entity, *entity_uc, local_uc);
+       vchiq_log_trace(vchiq_susp_log_level, "%s %s count %d, state count %d", __func__, entity,
+                       *entity_uc, local_uc);
 
        write_unlock_bh(&arm_state->susp_res_lock);
 
@@ -1433,8 +1428,7 @@ vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
                        if (status == VCHIQ_SUCCESS)
                                ack_cnt--;
                        else
-                               atomic_add(ack_cnt,
-                                       &arm_state->ka_use_ack_count);
+                               atomic_add(ack_cnt, &arm_state->ka_use_ack_count);
                }
        }
 
@@ -1477,10 +1471,8 @@ vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service)
        --arm_state->videocore_use_count;
        --(*entity_uc);
 
-       vchiq_log_trace(vchiq_susp_log_level,
-               "%s %s count %d, state count %d",
-               __func__, entity, *entity_uc,
-               arm_state->videocore_use_count);
+       vchiq_log_trace(vchiq_susp_log_level, "%s %s count %d, state count %d", __func__, entity,
+                       *entity_uc, arm_state->videocore_use_count);
 
 unlock:
        write_unlock_bh(&arm_state->susp_res_lock);
@@ -1575,8 +1567,7 @@ vchiq_use_service(unsigned int handle)
        struct vchiq_service *service = find_service_by_handle(handle);
 
        if (service) {
-               ret = vchiq_use_internal(service->state, service,
-                               USE_TYPE_SERVICE);
+               ret = vchiq_use_internal(service->state, service, USE_TYPE_SERVICE);
                vchiq_service_put(service);
        }
        return ret;
@@ -1661,22 +1652,18 @@ vchiq_dump_service_use_state(struct vchiq_state *state)
        read_unlock_bh(&arm_state->susp_res_lock);
 
        if (only_nonzero)
-               vchiq_log_warning(vchiq_susp_log_level, "Too many active "
-                       "services (%d).  Only dumping up to first %d services "
-                       "with non-zero use-count", active_services, found);
+               vchiq_log_warning(vchiq_susp_log_level, "Too many active services (%d). Only dumping up to first %d services with non-zero use-count",
+                                 active_services, found);
 
        for (i = 0; i < found; i++) {
-               vchiq_log_warning(vchiq_susp_log_level,
-                       "----- %c%c%c%c:%d service count %d %s",
-                       VCHIQ_FOURCC_AS_4CHARS(service_data[i].fourcc),
-                       service_data[i].clientid,
-                       service_data[i].use_count,
-                       service_data[i].use_count ? nz : "");
+               vchiq_log_warning(vchiq_susp_log_level, "----- %c%c%c%c:%d service count %d %s",
+                                 VCHIQ_FOURCC_AS_4CHARS(service_data[i].fourcc),
+                                 service_data[i].clientid, service_data[i].use_count,
+                                 service_data[i].use_count ? nz : "");
        }
-       vchiq_log_warning(vchiq_susp_log_level,
-               "----- VCHIQ use count count %d", peer_count);
-       vchiq_log_warning(vchiq_susp_log_level,
-               "--- Overall vchiq instance use count %d", vc_use_count);
+       vchiq_log_warning(vchiq_susp_log_level, "----- VCHIQ use count count %d", peer_count);
+       vchiq_log_warning(vchiq_susp_log_level, "--- Overall vchiq instance use count %d",
+                         vc_use_count);
 
        kfree(service_data);
 }
@@ -1699,10 +1686,9 @@ vchiq_check_service(struct vchiq_service *service)
 
        if (ret == VCHIQ_ERROR) {
                vchiq_log_error(vchiq_susp_log_level,
-                       "%s ERROR - %c%c%c%c:%d service count %d, state count %d", __func__,
-                       VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc),
-                       service->client_id, service->service_use_count,
-                       arm_state->videocore_use_count);
+                               "%s ERROR - %c%c%c%c:%d service count %d, state count %d", __func__,
+                               VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc), service->client_id,
+                               service->service_use_count, arm_state->videocore_use_count);
                vchiq_dump_service_use_state(service->state);
        }
 out:
@@ -1717,7 +1703,7 @@ void vchiq_platform_conn_state_changed(struct vchiq_state *state,
        char threadname[16];
 
        vchiq_log_info(vchiq_susp_log_level, "%d: %s->%s", state->id,
-               get_conn_state_name(oldstate), get_conn_state_name(newstate));
+                      get_conn_state_name(oldstate), get_conn_state_name(newstate));
        if (state->conn_state != VCHIQ_CONNSTATE_CONNECTED)
                return;
 
index e8e39a1..2aa46b1 100644 (file)
@@ -25,45 +25,6 @@ enum USE_TYPE_E {
        USE_TYPE_VCHIQ
 };
 
-struct vchiq_arm_state {
-       /* Keepalive-related data */
-       struct task_struct *ka_thread;
-       struct completion ka_evt;
-       atomic_t ka_use_count;
-       atomic_t ka_use_ack_count;
-       atomic_t ka_release_count;
-
-       rwlock_t susp_res_lock;
-
-       struct vchiq_state *state;
-
-       /*
-        * Global use count for videocore.
-        * This is equal to the sum of the use counts for all services.  When
-        * this hits zero the videocore suspend procedure will be initiated.
-        */
-       int videocore_use_count;
-
-       /*
-        * Use count to track requests from videocore peer.
-        * This use count is not associated with a service, so needs to be
-        * tracked separately with the state.
-        */
-       int peer_use_count;
-
-       /*
-        * Flag to indicate that the first vchiq connect has made it through.
-        * This means that both sides should be fully ready, and we should
-        * be able to suspend after this point.
-        */
-       int first_connect;
-};
-
-struct vchiq_drvdata {
-       const unsigned int cache_line_size;
-       struct rpi_firmware *fw;
-};
-
 struct user_service {
        struct vchiq_service *service;
        void __user *userdata;
@@ -121,18 +82,9 @@ extern int vchiq_susp_log_level;
 extern spinlock_t msg_queue_spinlock;
 extern struct vchiq_state g_state;
 
-int vchiq_platform_init(struct platform_device *pdev,
-                       struct vchiq_state *state);
-
 extern struct vchiq_state *
 vchiq_get_state(void);
 
-extern void
-vchiq_arm_init_state(struct vchiq_state *state,
-                    struct vchiq_arm_state *arm_state);
-
-extern void
-vchiq_check_suspend(struct vchiq_state *state);
 enum vchiq_status
 vchiq_use_service(unsigned int handle);
 
@@ -148,10 +100,6 @@ vchiq_dump_platform_use_state(struct vchiq_state *state);
 extern void
 vchiq_dump_service_use_state(struct vchiq_state *state);
 
-extern struct vchiq_arm_state*
-vchiq_platform_get_arm_state(struct vchiq_state *state);
-
-
 extern enum vchiq_status
 vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service,
                   enum USE_TYPE_E use_type);
index 0ee96d1..bdb0ab6 100644 (file)
 
 static   int                        g_connected;
 static   int                        g_num_deferred_callbacks;
-static   VCHIQ_CONNECTED_CALLBACK_T g_deferred_callback[MAX_CALLBACKS];
+static   void (*g_deferred_callback[MAX_CALLBACKS])(void);
 static   int                        g_once_init;
 static   DEFINE_MUTEX(g_connected_mutex);
 
 /* Function to initialize our lock */
 static void connected_init(void)
 {
-       if (!g_once_init) {
+       if (!g_once_init)
                g_once_init = 1;
-       }
 }
 
 /*
@@ -28,23 +27,22 @@ static void connected_init(void)
  * be made immediately, otherwise it will be deferred until
  * vchiq_call_connected_callbacks is called.
  */
-void vchiq_add_connected_callback(VCHIQ_CONNECTED_CALLBACK_T callback)
+void vchiq_add_connected_callback(void (*callback)(void))
 {
        connected_init();
 
        if (mutex_lock_killable(&g_connected_mutex))
                return;
 
-       if (g_connected)
+       if (g_connected) {
                /* We're already connected. Call the callback immediately. */
-
                callback();
-       else {
-               if (g_num_deferred_callbacks >= MAX_CALLBACKS)
+       else {
+               if (g_num_deferred_callbacks >= MAX_CALLBACKS) {
                        vchiq_log_error(vchiq_core_log_level,
-                               "There already %d callback registered - please increase MAX_CALLBACKS",
-                               g_num_deferred_callbacks);
-               else {
+                                       "There already %d callback registered - please increase MAX_CALLBACKS",
+                                       g_num_deferred_callbacks);
+               else {
                        g_deferred_callback[g_num_deferred_callbacks] =
                                callback;
                        g_num_deferred_callbacks++;
index 95c1867..4caf5e3 100644 (file)
@@ -4,9 +4,7 @@
 #ifndef VCHIQ_CONNECTED_H
 #define VCHIQ_CONNECTED_H
 
-typedef void (*VCHIQ_CONNECTED_CALLBACK_T)(void);
-
-void vchiq_add_connected_callback(VCHIQ_CONNECTED_CALLBACK_T callback);
+void vchiq_add_connected_callback(void (*callback)(void));
 void vchiq_call_connected_callbacks(void);
 
 #endif /* VCHIQ_CONNECTED_H */
index 9429b8a..7fe20d4 100644 (file)
@@ -228,9 +228,9 @@ static inline void
 vchiq_set_service_state(struct vchiq_service *service, int newstate)
 {
        vchiq_log_info(vchiq_core_log_level, "%d: srv:%d %s->%s",
-               service->state->id, service->localport,
-               srvstate_names[service->srvstate],
-               srvstate_names[newstate]);
+                      service->state->id, service->localport,
+                      srvstate_names[service->srvstate],
+                      srvstate_names[newstate]);
        service->srvstate = newstate;
 }
 
@@ -257,7 +257,6 @@ find_service_by_handle(unsigned int handle)
 struct vchiq_service *
 find_service_by_port(struct vchiq_state *state, int localport)
 {
-
        if ((unsigned int)localport <= VCHIQ_PORT_MAX) {
                struct vchiq_service *service;
 
@@ -277,8 +276,7 @@ find_service_by_port(struct vchiq_state *state, int localport)
 }
 
 struct vchiq_service *
-find_service_for_instance(struct vchiq_instance *instance,
-       unsigned int handle)
+find_service_for_instance(struct vchiq_instance *instance, unsigned int handle)
 {
        struct vchiq_service *service;
 
@@ -299,8 +297,7 @@ find_service_for_instance(struct vchiq_instance *instance,
 }
 
 struct vchiq_service *
-find_closed_service_for_instance(struct vchiq_instance *instance,
-       unsigned int handle)
+find_closed_service_for_instance(struct vchiq_instance *instance, unsigned int handle)
 {
        struct vchiq_service *service;
 
@@ -467,14 +464,13 @@ make_service_callback(struct vchiq_service *service, enum vchiq_reason reason,
        enum vchiq_status status;
 
        vchiq_log_trace(vchiq_core_log_level, "%d: callback:%d (%s, %pK, %pK)",
-               service->state->id, service->localport, reason_names[reason],
-               header, bulk_userdata);
-       status = service->base.callback(reason, header, service->handle,
-               bulk_userdata);
+                       service->state->id, service->localport, reason_names[reason],
+                       header, bulk_userdata);
+       status = service->base.callback(reason, header, service->handle, bulk_userdata);
        if (status == VCHIQ_ERROR) {
                vchiq_log_warning(vchiq_core_log_level,
-                       "%d: ignoring ERROR from callback to service %x",
-                       service->state->id, service->handle);
+                                 "%d: ignoring ERROR from callback to service %x",
+                                 service->state->id, service->handle);
                status = VCHIQ_SUCCESS;
        }
 
@@ -489,9 +485,8 @@ vchiq_set_conn_state(struct vchiq_state *state, enum vchiq_connstate newstate)
 {
        enum vchiq_connstate oldstate = state->conn_state;
 
-       vchiq_log_info(vchiq_core_log_level, "%d: %s->%s", state->id,
-               conn_state_names[oldstate],
-               conn_state_names[newstate]);
+       vchiq_log_info(vchiq_core_log_level, "%d: %s->%s", state->id, conn_state_names[oldstate],
+                      conn_state_names[newstate]);
        state->conn_state = newstate;
        vchiq_platform_conn_state_changed(state, oldstate, newstate);
 }
@@ -694,8 +689,7 @@ reserve_space(struct vchiq_state *state, size_t space, int is_blocking)
                        remote_event_signal(&state->remote->trigger);
 
                        if (!is_blocking ||
-                               (wait_for_completion_interruptible(
-                               &state->slot_available_event)))
+                           (wait_for_completion_interruptible(&state->slot_available_event)))
                                return NULL; /* No space available */
                }
 
@@ -705,8 +699,7 @@ reserve_space(struct vchiq_state *state, size_t space, int is_blocking)
                        return NULL;
                }
 
-               slot_index = local->slot_queue[
-                       SLOT_QUEUE_INDEX_FROM_POS_MASKED(tx_pos)];
+               slot_index = local->slot_queue[SLOT_QUEUE_INDEX_FROM_POS_MASKED(tx_pos)];
                state->tx_data =
                        (char *)SLOT_DATA_FROM_INDEX(state, slot_index);
        }
@@ -718,7 +711,7 @@ reserve_space(struct vchiq_state *state, size_t space, int is_blocking)
 }
 
 static void
-process_free_data_message(struct vchiq_state *state, BITSET_T *service_found,
+process_free_data_message(struct vchiq_state *state, u32 *service_found,
                          struct vchiq_header *header)
 {
        int msgid = header->msgid;
@@ -740,11 +733,9 @@ process_free_data_message(struct vchiq_state *state, BITSET_T *service_found,
                complete(&quota->quota_event);
        } else if (count == 0) {
                vchiq_log_error(vchiq_core_log_level,
-                       "service %d message_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)",
-                       port,
-                       quota->message_use_count,
-                       header, msgid, header->msgid,
-                       header->size);
+                               "service %d message_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)",
+                               port, quota->message_use_count, header, msgid, header->msgid,
+                               header->size);
                WARN(1, "invalid message use count\n");
        }
        if (!BITSET_IS_SET(service_found, port)) {
@@ -763,17 +754,12 @@ process_free_data_message(struct vchiq_state *state, BITSET_T *service_found,
                         * it has dropped below its quota
                         */
                        complete(&quota->quota_event);
-                       vchiq_log_trace(vchiq_core_log_level,
-                               "%d: pfq:%d %x@%pK - slot_use->%d",
-                               state->id, port,
-                               header->size, header,
-                               count - 1);
+                       vchiq_log_trace(vchiq_core_log_level, "%d: pfq:%d %x@%pK - slot_use->%d",
+                                       state->id, port, header->size, header, count - 1);
                } else {
                        vchiq_log_error(vchiq_core_log_level,
                                        "service %d slot_use_count=%d (header %pK, msgid %x, header->msgid %x, header->size %x)",
-                               port, count, header,
-                               msgid, header->msgid,
-                               header->size);
+                                       port, count, header, msgid, header->msgid, header->size);
                        WARN(1, "bad slot use count\n");
                }
        }
@@ -781,7 +767,7 @@ process_free_data_message(struct vchiq_state *state, BITSET_T *service_found,
 
 /* Called by the recycle thread. */
 static void
-process_free_queue(struct vchiq_state *state, BITSET_T *service_found,
+process_free_queue(struct vchiq_state *state, u32 *service_found,
                   size_t length)
 {
        struct vchiq_shared_state *local = state->local;
@@ -815,8 +801,8 @@ process_free_queue(struct vchiq_state *state, BITSET_T *service_found,
                rmb();
 
                vchiq_log_trace(vchiq_core_log_level, "%d: pfq %d=%pK %x %x",
-                       state->id, slot_index, data,
-                       local->slot_queue_recycle, slot_queue_available);
+                               state->id, slot_index, data, local->slot_queue_recycle,
+                               slot_queue_available);
 
                /* Initialise the bitmask for services which have used this slot */
                memset(service_found, 0, length);
@@ -837,9 +823,8 @@ process_free_queue(struct vchiq_state *state, BITSET_T *service_found,
                        pos += calc_stride(header->size);
                        if (pos > VCHIQ_SLOT_SIZE) {
                                vchiq_log_error(vchiq_core_log_level,
-                                       "pfq - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x",
-                                       pos, header, msgid, header->msgid,
-                                       header->size);
+                                               "pfq - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x",
+                                               pos, header, msgid, header->msgid, header->size);
                                WARN(1, "invalid slot position\n");
                        }
                }
@@ -868,18 +853,15 @@ process_free_queue(struct vchiq_state *state, BITSET_T *service_found,
 }
 
 static ssize_t
-memcpy_copy_callback(
-       void *context, void *dest,
-       size_t offset, size_t maxsize)
+memcpy_copy_callback(void *context, void *dest, size_t offset, size_t maxsize)
 {
        memcpy(dest + offset, context + offset, maxsize);
        return maxsize;
 }
 
 static ssize_t
-copy_message_data(
-       ssize_t (*copy_callback)(void *context, void *dest,
-                                size_t offset, size_t maxsize),
+copy_message_data(ssize_t (*copy_callback)(void *context, void *dest, size_t offset,
+                                          size_t maxsize),
        void *context,
        void *dest,
        size_t size)
@@ -960,29 +942,26 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
                 * Ensure this service doesn't use more than its quota of
                 * messages or slots
                 */
-               tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(
-                       state->local_tx_pos + stride - 1);
+               tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(state->local_tx_pos + stride - 1);
 
                /*
                 * Ensure data messages don't use more than their quota of
                 * slots
                 */
                while ((tx_end_index != state->previous_data_index) &&
-                       (state->data_use_count == state->data_quota)) {
+                      (state->data_use_count == state->data_quota)) {
                        VCHIQ_STATS_INC(state, data_stalls);
                        spin_unlock(&quota_spinlock);
                        mutex_unlock(&state->slot_mutex);
 
-                       if (wait_for_completion_interruptible(
-                                               &state->data_quota_event))
+                       if (wait_for_completion_interruptible(&state->data_quota_event))
                                return VCHIQ_RETRY;
 
                        mutex_lock(&state->slot_mutex);
                        spin_lock(&quota_spinlock);
-                       tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(
-                               state->local_tx_pos + stride - 1);
+                       tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(state->local_tx_pos + stride - 1);
                        if ((tx_end_index == state->previous_data_index) ||
-                               (state->data_use_count < state->data_quota)) {
+                           (state->data_use_count < state->data_quota)) {
                                /* Pass the signal on to other waiters */
                                complete(&state->data_quota_event);
                                break;
@@ -990,19 +969,16 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
                }
 
                while ((quota->message_use_count == quota->message_quota) ||
-                       ((tx_end_index != quota->previous_tx_index) &&
+                      ((tx_end_index != quota->previous_tx_index) &&
                        (quota->slot_use_count == quota->slot_quota))) {
                        spin_unlock(&quota_spinlock);
                        vchiq_log_trace(vchiq_core_log_level,
-                               "%d: qm:%d %s,%zx - quota stall (msg %d, slot %d)",
-                               state->id, service->localport,
-                               msg_type_str(type), size,
-                               quota->message_use_count,
-                               quota->slot_use_count);
+                                       "%d: qm:%d %s,%zx - quota stall (msg %d, slot %d)",
+                                       state->id, service->localport, msg_type_str(type), size,
+                                       quota->message_use_count, quota->slot_use_count);
                        VCHIQ_SERVICE_STATS_INC(service, quota_stalls);
                        mutex_unlock(&state->slot_mutex);
-                       if (wait_for_completion_interruptible(
-                                               &quota->quota_event))
+                       if (wait_for_completion_interruptible(&quota->quota_event))
                                return VCHIQ_RETRY;
                        if (service->closing)
                                return VCHIQ_ERROR;
@@ -1014,8 +990,7 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
                                return VCHIQ_ERROR;
                        }
                        spin_lock(&quota_spinlock);
-                       tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(
-                               state->local_tx_pos + stride - 1);
+                       tx_end_index = SLOT_QUEUE_INDEX_FROM_POS(state->local_tx_pos + stride - 1);
                }
 
                spin_unlock(&quota_spinlock);
@@ -1040,11 +1015,9 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
                int tx_end_index;
                int slot_use_count;
 
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: qm %s@%pK,%zx (%d->%d)",
-                       state->id, msg_type_str(VCHIQ_MSG_TYPE(msgid)),
-                       header, size, VCHIQ_MSG_SRCPORT(msgid),
-                       VCHIQ_MSG_DSTPORT(msgid));
+               vchiq_log_info(vchiq_core_log_level, "%d: qm %s@%pK,%zx (%d->%d)", state->id,
+                              msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
+                              VCHIQ_MSG_SRCPORT(msgid), VCHIQ_MSG_DSTPORT(msgid));
 
                WARN_ON(flags & (QMFLAGS_NO_MUTEX_LOCK |
                                 QMFLAGS_NO_MUTEX_UNLOCK));
@@ -1097,19 +1070,16 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
 
                if (slot_use_count)
                        vchiq_log_trace(vchiq_core_log_level,
-                               "%d: qm:%d %s,%zx - slot_use->%d (hdr %p)",
-                               state->id, service->localport,
-                               msg_type_str(VCHIQ_MSG_TYPE(msgid)), size,
-                               slot_use_count, header);
+                                       "%d: qm:%d %s,%zx - slot_use->%d (hdr %p)", state->id,
+                                       service->localport, msg_type_str(VCHIQ_MSG_TYPE(msgid)),
+                                       size, slot_use_count, header);
 
                VCHIQ_SERVICE_STATS_INC(service, ctrl_tx_count);
                VCHIQ_SERVICE_STATS_ADD(service, ctrl_tx_bytes, size);
        } else {
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: qm %s@%pK,%zx (%d->%d)", state->id,
-                       msg_type_str(VCHIQ_MSG_TYPE(msgid)),
-                       header, size, VCHIQ_MSG_SRCPORT(msgid),
-                       VCHIQ_MSG_DSTPORT(msgid));
+               vchiq_log_info(vchiq_core_log_level, "%d: qm %s@%pK,%zx (%d->%d)", state->id,
+                              msg_type_str(VCHIQ_MSG_TYPE(msgid)), header, size,
+                              VCHIQ_MSG_SRCPORT(msgid), VCHIQ_MSG_DSTPORT(msgid));
                if (size != 0) {
                        /*
                         * It is assumed for now that this code path
@@ -1138,13 +1108,10 @@ queue_message(struct vchiq_state *state, struct vchiq_service *service,
                        : VCHIQ_MAKE_FOURCC('?', '?', '?', '?');
 
                vchiq_log_info(SRVTRACE_LEVEL(service),
-                       "Sent Msg %s(%u) to %c%c%c%c s:%u d:%d len:%zu",
-                       msg_type_str(VCHIQ_MSG_TYPE(msgid)),
-                       VCHIQ_MSG_TYPE(msgid),
-                       VCHIQ_FOURCC_AS_4CHARS(svc_fourcc),
-                       VCHIQ_MSG_SRCPORT(msgid),
-                       VCHIQ_MSG_DSTPORT(msgid),
-                       size);
+                              "Sent Msg %s(%u) to %c%c%c%c s:%u d:%d len:%zu",
+                              msg_type_str(VCHIQ_MSG_TYPE(msgid)), VCHIQ_MSG_TYPE(msgid),
+                              VCHIQ_FOURCC_AS_4CHARS(svc_fourcc), VCHIQ_MSG_SRCPORT(msgid),
+                              VCHIQ_MSG_DSTPORT(msgid), size);
        }
 
        /* Make sure the new header is visible to the peer. */
@@ -1194,9 +1161,8 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service,
                int oldmsgid = header->msgid;
 
                if (oldmsgid != VCHIQ_MSGID_PADDING)
-                       vchiq_log_error(vchiq_core_log_level,
-                               "%d: qms - msgid %x, not PADDING",
-                               state->id, oldmsgid);
+                       vchiq_log_error(vchiq_core_log_level, "%d: qms - msgid %x, not PADDING",
+                                       state->id, oldmsgid);
        }
 
        vchiq_log_info(vchiq_sync_log_level,
@@ -1241,13 +1207,10 @@ queue_message_sync(struct vchiq_state *state, struct vchiq_service *service,
                        : VCHIQ_MAKE_FOURCC('?', '?', '?', '?');
 
                vchiq_log_trace(vchiq_sync_log_level,
-                       "Sent Sync Msg %s(%u) to %c%c%c%c s:%u d:%d len:%d",
-                       msg_type_str(VCHIQ_MSG_TYPE(msgid)),
-                       VCHIQ_MSG_TYPE(msgid),
-                       VCHIQ_FOURCC_AS_4CHARS(svc_fourcc),
-                       VCHIQ_MSG_SRCPORT(msgid),
-                       VCHIQ_MSG_DSTPORT(msgid),
-                       size);
+                               "Sent Sync Msg %s(%u) to %c%c%c%c s:%u d:%d len:%d",
+                               msg_type_str(VCHIQ_MSG_TYPE(msgid)), VCHIQ_MSG_TYPE(msgid),
+                               VCHIQ_FOURCC_AS_4CHARS(svc_fourcc), VCHIQ_MSG_SRCPORT(msgid),
+                               VCHIQ_MSG_DSTPORT(msgid), size);
        }
 
        remote_event_signal(&state->remote->sync_trigger);
@@ -1273,8 +1236,7 @@ release_slot(struct vchiq_state *state, struct vchiq_slot_info *slot_info,
        if (header) {
                int msgid = header->msgid;
 
-               if (((msgid & VCHIQ_MSGID_CLAIMED) == 0) ||
-                       (service && service->closing)) {
+               if (((msgid & VCHIQ_MSGID_CLAIMED) == 0) || (service && service->closing)) {
                        mutex_unlock(&state->recycle_mutex);
                        return;
                }
@@ -1301,10 +1263,9 @@ release_slot(struct vchiq_state *state, struct vchiq_slot_info *slot_info,
                        VCHIQ_SLOT_QUEUE_MASK] =
                        SLOT_INDEX_FROM_INFO(state, slot_info);
                state->remote->slot_queue_recycle = slot_queue_recycle + 1;
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: %s %d - recycle->%x", state->id, __func__,
-                       SLOT_INDEX_FROM_INFO(state, slot_info),
-                       state->remote->slot_queue_recycle);
+               vchiq_log_info(vchiq_core_log_level, "%d: %s %d - recycle->%x", state->id, __func__,
+                              SLOT_INDEX_FROM_INFO(state, slot_info),
+                              state->remote->slot_queue_recycle);
 
                /*
                 * A write barrier is necessary, but remote_event_signal
@@ -1339,11 +1300,9 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue,
 {
        enum vchiq_status status = VCHIQ_SUCCESS;
 
-       vchiq_log_trace(vchiq_core_log_level,
-               "%d: nb:%d %cx - p=%x rn=%x r=%x",
-               service->state->id, service->localport,
-               (queue == &service->bulk_tx) ? 't' : 'r',
-               queue->process, queue->remote_notify, queue->remove);
+       vchiq_log_trace(vchiq_core_log_level, "%d: nb:%d %cx - p=%x rn=%x r=%x", service->state->id,
+                       service->localport, (queue == &service->bulk_tx) ? 't' : 'r',
+                       queue->process, queue->remote_notify, queue->remove);
 
        queue->remote_notify = queue->process;
 
@@ -1358,21 +1317,16 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue,
                if (bulk->data && service->instance) {
                        if (bulk->actual != VCHIQ_BULK_ACTUAL_ABORTED) {
                                if (bulk->dir == VCHIQ_BULK_TRANSMIT) {
-                                       VCHIQ_SERVICE_STATS_INC(service,
-                                               bulk_tx_count);
-                                       VCHIQ_SERVICE_STATS_ADD(service,
-                                               bulk_tx_bytes,
-                                               bulk->actual);
+                                       VCHIQ_SERVICE_STATS_INC(service, bulk_tx_count);
+                                       VCHIQ_SERVICE_STATS_ADD(service, bulk_tx_bytes,
+                                                               bulk->actual);
                                } else {
-                                       VCHIQ_SERVICE_STATS_INC(service,
-                                               bulk_rx_count);
-                                       VCHIQ_SERVICE_STATS_ADD(service,
-                                               bulk_rx_bytes,
-                                               bulk->actual);
+                                       VCHIQ_SERVICE_STATS_INC(service, bulk_rx_count);
+                                       VCHIQ_SERVICE_STATS_ADD(service, bulk_rx_bytes,
+                                                               bulk->actual);
                                }
                        } else {
-                               VCHIQ_SERVICE_STATS_INC(service,
-                                       bulk_aborted_count);
+                               VCHIQ_SERVICE_STATS_INC(service, bulk_aborted_count);
                        }
                        if (bulk->mode == VCHIQ_BULK_MODE_BLOCKING) {
                                struct bulk_waiter *waiter;
@@ -1387,8 +1341,8 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue,
                        } else if (bulk->mode == VCHIQ_BULK_MODE_CALLBACK) {
                                enum vchiq_reason reason =
                                                get_bulk_reason(bulk);
-                               status = make_service_callback(service,
-                                       reason, NULL, bulk->userdata);
+                               status = make_service_callback(service, reason, NULL,
+                                                              bulk->userdata);
                                if (status == VCHIQ_RETRY)
                                        break;
                        }
@@ -1401,9 +1355,8 @@ notify_bulks(struct vchiq_service *service, struct vchiq_bulk_queue *queue,
                status = VCHIQ_SUCCESS;
 
        if (status == VCHIQ_RETRY)
-               request_poll(service->state, service,
-                       (queue == &service->bulk_tx) ?
-                       VCHIQ_POLL_TXNOTIFY : VCHIQ_POLL_RXNOTIFY);
+               request_poll(service->state, service, (queue == &service->bulk_tx) ?
+                            VCHIQ_POLL_TXNOTIFY : VCHIQ_POLL_RXNOTIFY);
 
        return status;
 }
@@ -1444,15 +1397,10 @@ poll_services_of_group(struct vchiq_state *state, int group)
                                                         VCHIQ_SUCCESS)
                                request_poll(state, service, VCHIQ_POLL_REMOVE);
                } else if (service_flags & BIT(VCHIQ_POLL_TERMINATE)) {
-                       vchiq_log_info(vchiq_core_log_level,
-                               "%d: ps - terminate %d<->%d",
-                               state->id, service->localport,
-                               service->remoteport);
-                       if (vchiq_close_service_internal(
-                               service, NO_CLOSE_RECVD) !=
-                               VCHIQ_SUCCESS)
-                               request_poll(state, service,
-                                            VCHIQ_POLL_TERMINATE);
+                       vchiq_log_info(vchiq_core_log_level, "%d: ps - terminate %d<->%d",
+                                      state->id, service->localport, service->remoteport);
+                       if (vchiq_close_service_internal(service, NO_CLOSE_RECVD) != VCHIQ_SUCCESS)
+                               request_poll(state, service, VCHIQ_POLL_TERMINATE);
                }
                if (service_flags & BIT(VCHIQ_POLL_TXNOTIFY))
                        notify_bulks(service, &service->bulk_tx, RETRY_POLL);
@@ -1479,18 +1427,16 @@ abort_outstanding_bulks(struct vchiq_service *service,
 {
        int is_tx = (queue == &service->bulk_tx);
 
-       vchiq_log_trace(vchiq_core_log_level,
-               "%d: aob:%d %cx - li=%x ri=%x p=%x",
-               service->state->id, service->localport, is_tx ? 't' : 'r',
-               queue->local_insert, queue->remote_insert, queue->process);
+       vchiq_log_trace(vchiq_core_log_level, "%d: aob:%d %cx - li=%x ri=%x p=%x",
+                       service->state->id, service->localport, is_tx ? 't' : 'r',
+                       queue->local_insert, queue->remote_insert, queue->process);
 
        WARN_ON((int)(queue->local_insert - queue->process) < 0);
        WARN_ON((int)(queue->remote_insert - queue->process) < 0);
 
        while ((queue->process != queue->local_insert) ||
-               (queue->process != queue->remote_insert)) {
-               struct vchiq_bulk *bulk =
-                               &queue->bulks[BULK_INDEX(queue->process)];
+              (queue->process != queue->remote_insert)) {
+               struct vchiq_bulk *bulk = &queue->bulks[BULK_INDEX(queue->process)];
 
                if (queue->process == queue->remote_insert) {
                        /* fabricate a matching dummy bulk */
@@ -1503,12 +1449,10 @@ abort_outstanding_bulks(struct vchiq_service *service,
                        vchiq_complete_bulk(bulk);
 
                        vchiq_log_info(SRVTRACE_LEVEL(service),
-                               "%s %c%c%c%c d:%d ABORTED - tx len:%d, rx len:%d",
-                               is_tx ? "Send Bulk to" : "Recv Bulk from",
-                               VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc),
-                               service->remoteport,
-                               bulk->size,
-                               bulk->remote_size);
+                                      "%s %c%c%c%c d:%d ABORTED - tx len:%d, rx len:%d",
+                                      is_tx ? "Send Bulk to" : "Recv Bulk from",
+                                      VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc),
+                                      service->remoteport, bulk->size, bulk->remote_size);
                } else {
                        /* fabricate a matching dummy bulk */
                        bulk->data = 0;
@@ -1541,10 +1485,8 @@ parse_open(struct vchiq_state *state, struct vchiq_header *header)
 
        payload = (struct vchiq_open_payload *)header->data;
        fourcc = payload->fourcc;
-       vchiq_log_info(vchiq_core_log_level,
-               "%d: prs OPEN@%pK (%d->'%c%c%c%c')",
-               state->id, header, localport,
-               VCHIQ_FOURCC_AS_4CHARS(fourcc));
+       vchiq_log_info(vchiq_core_log_level, "%d: prs OPEN@%pK (%d->'%c%c%c%c')",
+                      state->id, header, localport, VCHIQ_FOURCC_AS_4CHARS(fourcc));
 
        service = get_listening_service(state, fourcc);
        if (!service)
@@ -1554,17 +1496,12 @@ parse_open(struct vchiq_state *state, struct vchiq_header *header)
        version = payload->version;
        version_min = payload->version_min;
 
-       if ((service->version < version_min) ||
-               (version < service->version_min)) {
+       if ((service->version < version_min) || (version < service->version_min)) {
                /* Version mismatch */
                vchiq_loud_error_header();
-               vchiq_loud_error("%d: service %d (%c%c%c%c) "
-                       "version mismatch - local (%d, min %d)"
-                       " vs. remote (%d, min %d)",
-                       state->id, service->localport,
-                       VCHIQ_FOURCC_AS_4CHARS(fourcc),
-                       service->version, service->version_min,
-                       version, version_min);
+               vchiq_loud_error("%d: service %d (%c%c%c%c) version mismatch - local (%d, min %d) vs. remote (%d, min %d)",
+                                state->id, service->localport, VCHIQ_FOURCC_AS_4CHARS(fourcc),
+                                service->version, service->version_min, version, version_min);
                vchiq_loud_error_footer();
                vchiq_service_put(service);
                service = NULL;
@@ -1584,25 +1521,18 @@ parse_open(struct vchiq_state *state, struct vchiq_header *header)
 
                /* Acknowledge the OPEN */
                if (service->sync) {
-                       if (queue_message_sync(state, NULL, openack_id,
-                               memcpy_copy_callback,
-                               &ack_payload,
-                               sizeof(ack_payload),
-                               0) == VCHIQ_RETRY)
+                       if (queue_message_sync(state, NULL, openack_id, memcpy_copy_callback,
+                                              &ack_payload, sizeof(ack_payload), 0) == VCHIQ_RETRY)
                                goto bail_not_ready;
                } else {
-                       if (queue_message(state, NULL, openack_id,
-                               memcpy_copy_callback,
-                               &ack_payload,
-                               sizeof(ack_payload),
-                               0) == VCHIQ_RETRY)
+                       if (queue_message(state, NULL, openack_id, memcpy_copy_callback,
+                                         &ack_payload, sizeof(ack_payload), 0) == VCHIQ_RETRY)
                                goto bail_not_ready;
                }
 
                /* The service is now open */
-               vchiq_set_service_state(service,
-                       service->sync ? VCHIQ_SRVSTATE_OPENSYNC
-                       : VCHIQ_SRVSTATE_OPEN);
+               vchiq_set_service_state(service, service->sync ? VCHIQ_SRVSTATE_OPENSYNC
+                                       : VCHIQ_SRVSTATE_OPEN);
        }
 
        /* Success - the message has been dealt with */
@@ -1612,7 +1542,7 @@ parse_open(struct vchiq_state *state, struct vchiq_header *header)
 fail_open:
        /* No available service, or an invalid request - send a CLOSE */
        if (queue_message(state, NULL, MAKE_CLOSE(0, VCHIQ_MSG_SRCPORT(msgid)),
-               NULL, NULL, 0, 0) == VCHIQ_RETRY)
+                         NULL, NULL, 0, 0) == VCHIQ_RETRY)
                goto bail_not_ready;
 
        return 1;
@@ -1642,7 +1572,7 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
        unsigned int localport, remoteport;
        int msgid, size, type, ret = -EINVAL;
 
-       DEBUG_INITIALISE(state->local)
+       DEBUG_INITIALISE(state->local);
 
        DEBUG_VALUE(PARSE_HEADER, (int)(long)header);
        msgid = header->msgid;
@@ -1676,22 +1606,19 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                         */
                        if (service)
                                vchiq_service_put(service);
-                       service = get_connected_service(state,
-                               remoteport);
+                       service = get_connected_service(state, remoteport);
                        if (service)
                                vchiq_log_warning(vchiq_core_log_level,
-                                       "%d: prs %s@%pK (%d->%d) - found connected service %d",
-                                       state->id, msg_type_str(type),
-                                       header, remoteport, localport,
-                                       service->localport);
+                                                 "%d: prs %s@%pK (%d->%d) - found connected service %d",
+                                                 state->id, msg_type_str(type), header,
+                                                 remoteport, localport, service->localport);
                }
 
                if (!service) {
                        vchiq_log_error(vchiq_core_log_level,
-                               "%d: prs %s@%pK (%d->%d) - invalid/closed service %d",
-                               state->id, msg_type_str(type),
-                               header, remoteport, localport,
-                               localport);
+                                       "%d: prs %s@%pK (%d->%d) - invalid/closed service %d",
+                                       state->id, msg_type_str(type), header, remoteport,
+                                       localport, localport);
                        goto skip_message;
                }
                break;
@@ -1706,21 +1633,18 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                        ? service->base.fourcc
                        : VCHIQ_MAKE_FOURCC('?', '?', '?', '?');
                vchiq_log_info(SRVTRACE_LEVEL(service),
-                       "Rcvd Msg %s(%u) from %c%c%c%c s:%d d:%d len:%d",
-                       msg_type_str(type), type,
-                       VCHIQ_FOURCC_AS_4CHARS(svc_fourcc),
-                       remoteport, localport, size);
+                              "Rcvd Msg %s(%u) from %c%c%c%c s:%d d:%d len:%d",
+                              msg_type_str(type), type, VCHIQ_FOURCC_AS_4CHARS(svc_fourcc),
+                              remoteport, localport, size);
                if (size > 0)
-                       vchiq_log_dump_mem("Rcvd", 0, header->data,
-                               min(16, size));
+                       vchiq_log_dump_mem("Rcvd", 0, header->data, min(16, size));
        }
 
        if (((unsigned long)header & VCHIQ_SLOT_MASK) +
            calc_stride(size) > VCHIQ_SLOT_SIZE) {
                vchiq_log_error(vchiq_core_log_level,
-                       "header %pK (msgid %x) - size %x too big for slot",
-                       header, (unsigned int)msgid,
-                       (unsigned int)size);
+                               "header %pK (msgid %x) - size %x too big for slot",
+                               header, (unsigned int)msgid, (unsigned int)size);
                WARN(1, "oversized for slot\n");
        }
 
@@ -1737,66 +1661,55 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                                header->data;
                        service->peer_version = payload->version;
                }
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: prs OPENACK@%pK,%x (%d->%d) v:%d",
-                       state->id, header, size, remoteport, localport,
-                       service->peer_version);
+               vchiq_log_info(vchiq_core_log_level, "%d: prs OPENACK@%pK,%x (%d->%d) v:%d",
+                              state->id, header, size, remoteport, localport,
+                              service->peer_version);
                if (service->srvstate == VCHIQ_SRVSTATE_OPENING) {
                        service->remoteport = remoteport;
-                       vchiq_set_service_state(service,
-                               VCHIQ_SRVSTATE_OPEN);
+                       vchiq_set_service_state(service, VCHIQ_SRVSTATE_OPEN);
                        complete(&service->remove_event);
                } else {
-                       vchiq_log_error(vchiq_core_log_level,
-                               "OPENACK received in state %s",
-                               srvstate_names[service->srvstate]);
+                       vchiq_log_error(vchiq_core_log_level, "OPENACK received in state %s",
+                                       srvstate_names[service->srvstate]);
                }
                break;
        case VCHIQ_MSG_CLOSE:
                WARN_ON(size); /* There should be no data */
 
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: prs CLOSE@%pK (%d->%d)",
-                       state->id, header, remoteport, localport);
+               vchiq_log_info(vchiq_core_log_level, "%d: prs CLOSE@%pK (%d->%d)",
+                              state->id, header, remoteport, localport);
 
                mark_service_closing_internal(service, 1);
 
-               if (vchiq_close_service_internal(service,
-                       CLOSE_RECVD) == VCHIQ_RETRY)
+               if (vchiq_close_service_internal(service, CLOSE_RECVD) == VCHIQ_RETRY)
                        goto bail_not_ready;
 
-               vchiq_log_info(vchiq_core_log_level,
-                       "Close Service %c%c%c%c s:%u d:%d",
-                       VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc),
-                       service->localport,
-                       service->remoteport);
+               vchiq_log_info(vchiq_core_log_level, "Close Service %c%c%c%c s:%u d:%d",
+                              VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc),
+                              service->localport, service->remoteport);
                break;
        case VCHIQ_MSG_DATA:
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: prs DATA@%pK,%x (%d->%d)",
-                       state->id, header, size, remoteport, localport);
+               vchiq_log_info(vchiq_core_log_level, "%d: prs DATA@%pK,%x (%d->%d)",
+                              state->id, header, size, remoteport, localport);
 
                if ((service->remoteport == remoteport) &&
                    (service->srvstate == VCHIQ_SRVSTATE_OPEN)) {
                        header->msgid = msgid | VCHIQ_MSGID_CLAIMED;
                        claim_slot(state->rx_info);
                        DEBUG_TRACE(PARSE_LINE);
-                       if (make_service_callback(service,
-                               VCHIQ_MESSAGE_AVAILABLE, header,
-                               NULL) == VCHIQ_RETRY) {
+                       if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header,
+                                                 NULL) == VCHIQ_RETRY) {
                                DEBUG_TRACE(PARSE_LINE);
                                goto bail_not_ready;
                        }
                        VCHIQ_SERVICE_STATS_INC(service, ctrl_rx_count);
-                       VCHIQ_SERVICE_STATS_ADD(service, ctrl_rx_bytes,
-                               size);
+                       VCHIQ_SERVICE_STATS_ADD(service, ctrl_rx_bytes, size);
                } else {
                        VCHIQ_STATS_INC(state, error_count);
                }
                break;
        case VCHIQ_MSG_CONNECT:
-               vchiq_log_info(vchiq_core_log_level,
-                       "%d: prs CONNECT@%pK", state->id, header);
+               vchiq_log_info(vchiq_core_log_level, "%d: prs CONNECT@%pK", state->id, header);
                state->version_common = ((struct vchiq_slot_zero *)
                                         state->slot_data)->version;
                complete(&state->connect);
@@ -1828,11 +1741,10 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                        if ((int)(queue->remote_insert -
                                queue->local_insert) >= 0) {
                                vchiq_log_error(vchiq_core_log_level,
-                                       "%d: prs %s@%pK (%d->%d) unexpected (ri=%d,li=%d)",
-                                       state->id, msg_type_str(type),
-                                       header, remoteport, localport,
-                                       queue->remote_insert,
-                                       queue->local_insert);
+                                               "%d: prs %s@%pK (%d->%d) unexpected (ri=%d,li=%d)",
+                                               state->id, msg_type_str(type), header, remoteport,
+                                               localport, queue->remote_insert,
+                                               queue->local_insert);
                                mutex_unlock(&service->bulk_mutex);
                                break;
                        }
@@ -1845,24 +1757,18 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                                goto bail_not_ready;
                        }
 
-                       bulk = &queue->bulks[
-                               BULK_INDEX(queue->remote_insert)];
+                       bulk = &queue->bulks[BULK_INDEX(queue->remote_insert)];
                        bulk->actual = *(int *)header->data;
                        queue->remote_insert++;
 
-                       vchiq_log_info(vchiq_core_log_level,
-                               "%d: prs %s@%pK (%d->%d) %x@%pad",
-                               state->id, msg_type_str(type),
-                               header, remoteport, localport,
-                               bulk->actual, &bulk->data);
+                       vchiq_log_info(vchiq_core_log_level, "%d: prs %s@%pK (%d->%d) %x@%pad",
+                                      state->id, msg_type_str(type), header, remoteport, localport,
+                                      bulk->actual, &bulk->data);
 
-                       vchiq_log_trace(vchiq_core_log_level,
-                               "%d: prs:%d %cx li=%x ri=%x p=%x",
-                               state->id, localport,
-                               (type == VCHIQ_MSG_BULK_RX_DONE) ?
-                                       'r' : 't',
-                               queue->local_insert,
-                               queue->remote_insert, queue->process);
+                       vchiq_log_trace(vchiq_core_log_level, "%d: prs:%d %cx li=%x ri=%x p=%x",
+                                       state->id, localport,
+                                       (type == VCHIQ_MSG_BULK_RX_DONE) ? 'r' : 't',
+                                       queue->local_insert, queue->remote_insert, queue->process);
 
                        DEBUG_TRACE(PARSE_LINE);
                        WARN_ON(queue->process == queue->local_insert);
@@ -1875,35 +1781,30 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                }
                break;
        case VCHIQ_MSG_PADDING:
-               vchiq_log_trace(vchiq_core_log_level,
-                       "%d: prs PADDING@%pK,%x",
-                       state->id, header, size);
+               vchiq_log_trace(vchiq_core_log_level, "%d: prs PADDING@%pK,%x",
+                               state->id, header, size);
                break;
        case VCHIQ_MSG_PAUSE:
                /* If initiated, signal the application thread */
-               vchiq_log_trace(vchiq_core_log_level,
-                       "%d: prs PAUSE@%pK,%x",
-                       state->id, header, size);
+               vchiq_log_trace(vchiq_core_log_level, "%d: prs PAUSE@%pK,%x",
+                               state->id, header, size);
                if (state->conn_state == VCHIQ_CONNSTATE_PAUSED) {
-                       vchiq_log_error(vchiq_core_log_level,
-                               "%d: PAUSE received in state PAUSED",
-                               state->id);
+                       vchiq_log_error(vchiq_core_log_level, "%d: PAUSE received in state PAUSED",
+                                       state->id);
                        break;
                }
                if (state->conn_state != VCHIQ_CONNSTATE_PAUSE_SENT) {
                        /* Send a PAUSE in response */
-                       if (queue_message(state, NULL, MAKE_PAUSE,
-                               NULL, NULL, 0, QMFLAGS_NO_MUTEX_UNLOCK)
-                           == VCHIQ_RETRY)
+                       if (queue_message(state, NULL, MAKE_PAUSE, NULL, NULL, 0,
+                                         QMFLAGS_NO_MUTEX_UNLOCK) == VCHIQ_RETRY)
                                goto bail_not_ready;
                }
                /* At this point slot_mutex is held */
                vchiq_set_conn_state(state, VCHIQ_CONNSTATE_PAUSED);
                break;
        case VCHIQ_MSG_RESUME:
-               vchiq_log_trace(vchiq_core_log_level,
-                       "%d: prs RESUME@%pK,%x",
-                       state->id, header, size);
+               vchiq_log_trace(vchiq_core_log_level, "%d: prs RESUME@%pK,%x",
+                               state->id, header, size);
                /* Release the slot mutex */
                mutex_unlock(&state->slot_mutex);
                vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTED);
@@ -1919,9 +1820,8 @@ parse_message(struct vchiq_state *state, struct vchiq_header *header)
                break;
 
        default:
-               vchiq_log_error(vchiq_core_log_level,
-                       "%d: prs invalid msgid %x@%pK,%x",
-                       state->id, msgid, header, size);
+               vchiq_log_error(vchiq_core_log_level, "%d: prs invalid msgid %x@%pK,%x",
+                               state->id, msgid, header, size);
                WARN(1, "invalid message\n");
                break;
        }
@@ -1943,7 +1843,7 @@ parse_rx_slots(struct vchiq_state *state)
        struct vchiq_shared_state *remote = state->remote;
        int tx_pos;
 
-       DEBUG_INITIALISE(state->local)
+       DEBUG_INITIALISE(state->local);
 
        tx_pos = remote->tx_pos;
 
@@ -2031,8 +1931,7 @@ handle_poll(struct vchiq_state *state)
                         * since the PAUSE should have flushed
                         * through outstanding messages.
                         */
-                       vchiq_log_error(vchiq_core_log_level,
-                               "Failed to send RESUME message");
+                       vchiq_log_error(vchiq_core_log_level, "Failed to send RESUME message");
                }
                break;
        default:
@@ -2049,7 +1948,7 @@ slot_handler_func(void *v)
        struct vchiq_state *state = v;
        struct vchiq_shared_state *local = state->local;
 
-       DEBUG_INITIALISE(local)
+       DEBUG_INITIALISE(local);
 
        while (1) {
                DEBUG_COUNT(SLOT_HANDLER_COUNT);
@@ -2082,7 +1981,7 @@ recycle_func(void *v)
 {
        struct vchiq_state *state = v;
        struct vchiq_shared_state *local = state->local;
-       BITSET_T *found;
+       u32 *found;
        size_t length;
 
        length = sizeof(*found) * BITSET_SIZE(VCHIQ_MAX_SERVICES);
@@ -2130,9 +2029,9 @@ sync_func(void *v)
 
                if (!service) {
                        vchiq_log_error(vchiq_sync_log_level,
-                               "%d: sf %s@%pK (%d->%d) - invalid/closed service %d",
-                               state->id, msg_type_str(type),
-                               header, remoteport, localport, localport);
+                                       "%d: sf %s@%pK (%d->%d) - invalid/closed service %d",
+                                       state->id, msg_type_str(type), header,
+                                       remoteport, localport, localport);
                        release_message_sync(state, header);
                        continue;
                }
@@ -2144,13 +2043,11 @@ sync_func(void *v)
                                ? service->base.fourcc
                                : VCHIQ_MAKE_FOURCC('?', '?', '?', '?');
                        vchiq_log_trace(vchiq_sync_log_level,
-                               "Rcvd Msg %s from %c%c%c%c s:%d d:%d len:%d",
-                               msg_type_str(type),
-                               VCHIQ_FOURCC_AS_4CHARS(svc_fourcc),
-                               remoteport, localport, size);
+                                       "Rcvd Msg %s from %c%c%c%c s:%d d:%d len:%d",
+                                       msg_type_str(type), VCHIQ_FOURCC_AS_4CHARS(svc_fourcc),
+                                       remoteport, localport, size);
                        if (size > 0)
-                               vchiq_log_dump_mem("Rcvd", 0, header->data,
-                                       min(16, size));
+                               vchiq_log_dump_mem("Rcvd", 0, header->data, min(16, size));
                }
 
                switch (type) {
@@ -2161,14 +2058,12 @@ sync_func(void *v)
                                        header->data;
                                service->peer_version = payload->version;
                        }
-                       vchiq_log_info(vchiq_sync_log_level,
-                               "%d: sf OPENACK@%pK,%x (%d->%d) v:%d",
-                               state->id, header, size, remoteport, localport,
-                               service->peer_version);
+                       vchiq_log_info(vchiq_sync_log_level, "%d: sf OPENACK@%pK,%x (%d->%d) v:%d",
+                                      state->id, header, size, remoteport, localport,
+                                      service->peer_version);
                        if (service->srvstate == VCHIQ_SRVSTATE_OPENING) {
                                service->remoteport = remoteport;
-                               vchiq_set_service_state(service,
-                                       VCHIQ_SRVSTATE_OPENSYNC);
+                               vchiq_set_service_state(service, VCHIQ_SRVSTATE_OPENSYNC);
                                service->sync = 1;
                                complete(&service->remove_event);
                        }
@@ -2176,25 +2071,22 @@ sync_func(void *v)
                        break;
 
                case VCHIQ_MSG_DATA:
-                       vchiq_log_trace(vchiq_sync_log_level,
-                               "%d: sf DATA@%pK,%x (%d->%d)",
-                               state->id, header, size, remoteport, localport);
+                       vchiq_log_trace(vchiq_sync_log_level, "%d: sf DATA@%pK,%x (%d->%d)",
+                                       state->id, header, size, remoteport, localport);
 
                        if ((service->remoteport == remoteport) &&
                            (service->srvstate == VCHIQ_SRVSTATE_OPENSYNC)) {
-                               if (make_service_callback(service,
-                                       VCHIQ_MESSAGE_AVAILABLE, header,
-                                       NULL) == VCHIQ_RETRY)
+                               if (make_service_callback(service, VCHIQ_MESSAGE_AVAILABLE, header,
+                                                         NULL) == VCHIQ_RETRY)
                                        vchiq_log_error(vchiq_sync_log_level,
-                                               "synchronous callback to service %d returns VCHIQ_RETRY",
-                                               localport);
+                                                       "synchronous callback to service %d returns VCHIQ_RETRY",
+                                                       localport);
                        }
                        break;
 
                default:
-                       vchiq_log_error(vchiq_sync_log_level,
-                               "%d: sf unexpected msgid %x@%pK,%x",
-                               state->id, msgid, header, size);
+                       vchiq_log_error(vchiq_sync_log_level, "%d: sf unexpected msgid %x@%pK,%x",
+                                       state->id, msgid, header, size);
                        release_message_sync(state, header);
                        break;
                }
@@ -2237,9 +2129,8 @@ vchiq_init_slots(void *mem_base, int mem_size)
        num_slots -= first_data_slot;
 
        if (num_slots < 4) {
-               vchiq_log_error(vchiq_core_log_level,
-                       "%s - insufficient memory %x bytes",
-                       __func__, mem_size);
+               vchiq_log_error(vchiq_core_log_level, "%s - insufficient memory %x bytes",
+                               __func__, mem_size);
                return NULL;
        }
 
@@ -2330,7 +2221,7 @@ vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero)
        state->default_slot_quota = state->slot_queue_available / 2;
        state->default_message_quota =
                min((unsigned short)(state->default_slot_quota * 256),
-               (unsigned short)~0);
+                   (unsigned short)~0);
 
        state->previous_data_index = -1;
        state->data_use_count = 0;
@@ -2359,9 +2250,7 @@ vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero)
         * bring up slot handler thread
         */
        snprintf(threadname, sizeof(threadname), "vchiq-slot/%d", state->id);
-       state->slot_handler_thread = kthread_create(&slot_handler_func,
-               (void *)state,
-               threadname);
+       state->slot_handler_thread = kthread_create(&slot_handler_func, (void *)state, threadname);
 
        if (IS_ERR(state->slot_handler_thread)) {
                vchiq_loud_error_header();
@@ -2372,9 +2261,7 @@ vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero)
        set_user_nice(state->slot_handler_thread, -19);
 
        snprintf(threadname, sizeof(threadname), "vchiq-recy/%d", state->id);
-       state->recycle_thread = kthread_create(&recycle_func,
-               (void *)state,
-               threadname);
+       state->recycle_thread = kthread_create(&recycle_func, (void *)state, threadname);
        if (IS_ERR(state->recycle_thread)) {
                vchiq_loud_error_header();
                vchiq_loud_error("couldn't create thread %s", threadname);
@@ -2385,9 +2272,7 @@ vchiq_init_state(struct vchiq_state *state, struct vchiq_slot_zero *slot_zero)
        set_user_nice(state->recycle_thread, -19);
 
        snprintf(threadname, sizeof(threadname), "vchiq-sync/%d", state->id);
-       state->sync_thread = kthread_create(&sync_func,
-               (void *)state,
-               threadname);
+       state->sync_thread = kthread_create(&sync_func, (void *)state, threadname);
        if (IS_ERR(state->sync_thread)) {
                vchiq_loud_error_header();
                vchiq_loud_error("couldn't create thread %s", threadname);
@@ -2474,7 +2359,7 @@ struct vchiq_service *
 vchiq_add_service_internal(struct vchiq_state *state,
                           const struct vchiq_service_params_kernel *params,
                           int srvstate, struct vchiq_instance *instance,
-                          vchiq_userdata_term userdata_term)
+                          void (*userdata_term)(void *userdata))
 {
        struct vchiq_service *service;
        struct vchiq_service __rcu **pservice = NULL;
@@ -2603,12 +2488,9 @@ vchiq_add_service_internal(struct vchiq_state *state,
        /* Bring this service online */
        vchiq_set_service_state(service, srvstate);
 
-       vchiq_log_info(vchiq_core_msg_log_level,
-               "%s Service %c%c%c%c SrcPort:%d",
-               (srvstate == VCHIQ_SRVSTATE_OPENING)
-               ? "Open" : "Add",
-               VCHIQ_FOURCC_AS_4CHARS(params->fourcc),
-               service->localport);
+       vchiq_log_info(vchiq_core_msg_log_level, "%s Service %c%c%c%c SrcPort:%d",
+                      (srvstate == VCHIQ_SRVSTATE_OPENING) ? "Open" : "Add",
+                      VCHIQ_FOURCC_AS_4CHARS(params->fourcc), service->localport);
 
        /* Don't unlock the service - leave it with a ref_count of 1. */
 
@@ -2703,19 +2585,15 @@ release_service_messages(struct vchiq_service *service)
                        int msgid = header->msgid;
                        int port = VCHIQ_MSG_DSTPORT(msgid);
 
-                       if ((port == service->localport) &&
-                               (msgid & VCHIQ_MSGID_CLAIMED)) {
-                               vchiq_log_info(vchiq_core_log_level,
-                                       "  fsi - hdr %pK", header);
-                               release_slot(state, slot_info, header,
-                                       NULL);
+                       if ((port == service->localport) && (msgid & VCHIQ_MSGID_CLAIMED)) {
+                               vchiq_log_info(vchiq_core_log_level, "  fsi - hdr %pK", header);
+                               release_slot(state, slot_info, header, NULL);
                        }
                        pos += calc_stride(header->size);
                        if (pos > VCHIQ_SLOT_SIZE) {
                                vchiq_log_error(vchiq_core_log_level,
-                                       "fsi - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x",
-                                       pos, header, msgid,
-                                       header->msgid, header->size);
+                                               "fsi - pos %x: header %pK, msgid %x, header->msgid %x, header->size %x",
+                                               pos, header, msgid, header->msgid, header->size);
                                WARN(1, "invalid slot position\n");
                        }
                }
@@ -2769,15 +2647,13 @@ close_service_complete(struct vchiq_service *service, int failstate)
        case VCHIQ_SRVSTATE_LISTENING:
                break;
        default:
-               vchiq_log_error(vchiq_core_log_level,
-                       "%s(%x) called in state %s", __func__,
-                       service->handle, srvstate_names[service->srvstate]);
+               vchiq_log_error(vchiq_core_log_level, "%s(%x) called in state %s", __func__,
+                               service->handle, srvstate_names[service->srvstate]);
                WARN(1, "%s in unexpected state\n", __func__);
                return VCHIQ_ERROR;
        }
 
-       status = make_service_callback(service,
-               VCHIQ_SERVICE_CLOSED, NULL, NULL);
+       status = make_service_callback(service, VCHIQ_SERVICE_CLOSED, NULL, NULL);
 
        if (status != VCHIQ_RETRY) {
                int uc = service->service_use_count;
@@ -2818,9 +2694,8 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
        int close_id = MAKE_CLOSE(service->localport,
                                  VCHIQ_MSG_DSTPORT(service->remoteport));
 
-       vchiq_log_info(vchiq_core_log_level, "%d: csi:%d,%d (%s)",
-               service->state->id, service->localport, close_recvd,
-               srvstate_names[service->srvstate]);
+       vchiq_log_info(vchiq_core_log_level, "%d: csi:%d,%d (%s)", service->state->id,
+                      service->localport, close_recvd, srvstate_names[service->srvstate]);
 
        switch (service->srvstate) {
        case VCHIQ_SRVSTATE_CLOSED:
@@ -2828,9 +2703,8 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
        case VCHIQ_SRVSTATE_LISTENING:
        case VCHIQ_SRVSTATE_CLOSEWAIT:
                if (close_recvd) {
-                       vchiq_log_error(vchiq_core_log_level,
-                               "%s(1) called in state %s",
-                               __func__, srvstate_names[service->srvstate]);
+                       vchiq_log_error(vchiq_core_log_level, "%s(1) called in state %s",
+                                       __func__, srvstate_names[service->srvstate]);
                } else if (is_server) {
                        if (service->srvstate == VCHIQ_SRVSTATE_LISTENING) {
                                status = VCHIQ_ERROR;
@@ -2839,8 +2713,7 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
                                service->remoteport = VCHIQ_PORT_FREE;
                                if (service->srvstate ==
                                        VCHIQ_SRVSTATE_CLOSEWAIT)
-                                       vchiq_set_service_state(service,
-                                               VCHIQ_SRVSTATE_LISTENING);
+                                       vchiq_set_service_state(service, VCHIQ_SRVSTATE_LISTENING);
                        }
                        complete(&service->remove_event);
                } else {
@@ -2850,13 +2723,11 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
        case VCHIQ_SRVSTATE_OPENING:
                if (close_recvd) {
                        /* The open was rejected - tell the user */
-                       vchiq_set_service_state(service,
-                               VCHIQ_SRVSTATE_CLOSEWAIT);
+                       vchiq_set_service_state(service, VCHIQ_SRVSTATE_CLOSEWAIT);
                        complete(&service->remove_event);
                } else {
                        /* Shutdown mid-open - let the other side know */
-                       status = queue_message(state, service, close_id,
-                               NULL, NULL, 0, 0);
+                       status = queue_message(state, service, close_id, NULL, NULL, 0, 0);
                }
                break;
 
@@ -2872,8 +2743,8 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
                release_service_messages(service);
 
                if (status == VCHIQ_SUCCESS)
-                       status = queue_message(state, service, close_id,
-                               NULL, NULL, 0, QMFLAGS_NO_MUTEX_UNLOCK);
+                       status = queue_message(state, service, close_id, NULL,
+                                              NULL, 0, QMFLAGS_NO_MUTEX_UNLOCK);
 
                if (status != VCHIQ_SUCCESS) {
                        if (service->srvstate == VCHIQ_SRVSTATE_OPENSYNC)
@@ -2897,8 +2768,7 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
                if (service->sync)
                        mutex_unlock(&state->sync_mutex);
 
-               status = close_service_complete(service,
-                               VCHIQ_SRVSTATE_CLOSERECVD);
+               status = close_service_complete(service, VCHIQ_SRVSTATE_CLOSERECVD);
                break;
 
        case VCHIQ_SRVSTATE_CLOSESENT:
@@ -2912,23 +2782,19 @@ vchiq_close_service_internal(struct vchiq_service *service, int close_recvd)
                }
 
                if (status == VCHIQ_SUCCESS)
-                       status = close_service_complete(service,
-                               VCHIQ_SRVSTATE_CLOSERECVD);
+                       status = close_service_complete(service, VCHIQ_SRVSTATE_CLOSERECVD);
                break;
 
        case VCHIQ_SRVSTATE_CLOSERECVD:
                if (!close_recvd && is_server)
                        /* Force into LISTENING mode */
-                       vchiq_set_service_state(service,
-                               VCHIQ_SRVSTATE_LISTENING);
-               status = close_service_complete(service,
-                       VCHIQ_SRVSTATE_CLOSERECVD);
+                       vchiq_set_service_state(service, VCHIQ_SRVSTATE_LISTENING);
+               status = close_service_complete(service, VCHIQ_SRVSTATE_CLOSERECVD);
                break;
 
        default:
-               vchiq_log_error(vchiq_core_log_level,
-                       "%s(%d) called in state %s", __func__,
-                       close_recvd, srvstate_names[service->srvstate]);
+               vchiq_log_error(vchiq_core_log_level, "%s(%d) called in state %s", __func__,
+                               close_recvd, srvstate_names[service->srvstate]);
                break;
        }
 
@@ -2941,8 +2807,8 @@ vchiq_terminate_service_internal(struct vchiq_service *service)
 {
        struct vchiq_state *state = service->state;
 
-       vchiq_log_info(vchiq_core_log_level, "%d: tsi - (%d<->%d)",
-               state->id, service->localport, service->remoteport);
+       vchiq_log_info(vchiq_core_log_level, "%d: tsi - (%d<->%d)", state->id,
+                      service->localport, service->remoteport);
 
        mark_service_closing(service);
 
@@ -2956,8 +2822,7 @@ vchiq_free_service_internal(struct vchiq_service *service)
 {
        struct vchiq_state *state = service->state;
 
-       vchiq_log_info(vchiq_core_log_level, "%d: fsi - (%d)",
-               state->id, service->localport);
+       vchiq_log_info(vchiq_core_log_level, "%d: fsi - (%d)", state->id, service->localport);
 
        switch (service->srvstate) {
        case VCHIQ_SRVSTATE_OPENING:
@@ -2967,10 +2832,8 @@ vchiq_free_service_internal(struct vchiq_service *service)
        case VCHIQ_SRVSTATE_CLOSEWAIT:
                break;
        default:
-               vchiq_log_error(vchiq_core_log_level,
-                       "%d: fsi - (%d) in state %s",
-                       state->id, service->localport,
-                       srvstate_names[service->srvstate]);
+               vchiq_log_error(vchiq_core_log_level, "%d: fsi - (%d) in state %s", state->id,
+                               service->localport, srvstate_names[service->srvstate]);
                return;
        }
 
@@ -2990,17 +2853,15 @@ vchiq_connect_internal(struct vchiq_state *state, struct vchiq_instance *instanc
 
        /* Find all services registered to this client and enable them. */
        i = 0;
-       while ((service = next_service_by_instance(state, instance,
-               &i)) != NULL) {
+       while ((service = next_service_by_instance(state, instance, &i)) != NULL) {
                if (service->srvstate == VCHIQ_SRVSTATE_HIDDEN)
-                       vchiq_set_service_state(service,
-                               VCHIQ_SRVSTATE_LISTENING);
+                       vchiq_set_service_state(service, VCHIQ_SRVSTATE_LISTENING);
                vchiq_service_put(service);
        }
 
        if (state->conn_state == VCHIQ_CONNSTATE_DISCONNECTED) {
-               if (queue_message(state, NULL, MAKE_CONNECT, NULL, NULL,
-                       0, QMFLAGS_IS_BLOCKING) == VCHIQ_RETRY)
+               if (queue_message(state, NULL, MAKE_CONNECT, NULL, NULL, 0,
+                                 QMFLAGS_IS_BLOCKING) == VCHIQ_RETRY)
                        return VCHIQ_RETRY;
 
                vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTING);
@@ -3025,8 +2886,7 @@ vchiq_shutdown_internal(struct vchiq_state *state, struct vchiq_instance *instan
 
        /* Find all services registered to this client and remove them. */
        i = 0;
-       while ((service = next_service_by_instance(state, instance,
-               &i)) != NULL) {
+       while ((service = next_service_by_instance(state, instance, &i)) != NULL) {
                (void)vchiq_remove_service(service->handle);
                vchiq_service_put(service);
        }
@@ -3042,9 +2902,8 @@ vchiq_close_service(unsigned int handle)
        if (!service)
                return VCHIQ_ERROR;
 
-       vchiq_log_info(vchiq_core_log_level,
-               "%d: close_service:%d",
-               service->state->id, service->localport);
+       vchiq_log_info(vchiq_core_log_level, "%d: close_service:%d",
+                      service->state->id, service->localport);
 
        if ((service->srvstate == VCHIQ_SRVSTATE_FREE) ||
            (service->srvstate == VCHIQ_SRVSTATE_LISTENING) ||
@@ -3075,9 +2934,9 @@ vchiq_close_service(unsigned int handle)
                        break;
 
                vchiq_log_warning(vchiq_core_log_level,
-                       "%d: close_service:%d - waiting in state %s",
-                       service->state->id, service->localport,
-                       srvstate_names[service->srvstate]);
+                                 "%d: close_service:%d - waiting in state %s",
+                                 service->state->id, service->localport,
+                                 srvstate_names[service->srvstate]);
        }
 
        if ((status == VCHIQ_SUCCESS) &&
@@ -3101,9 +2960,8 @@ vchiq_remove_service(unsigned int handle)
        if (!service)
                return VCHIQ_ERROR;
 
-       vchiq_log_info(vchiq_core_log_level,
-               "%d: remove_service:%d",
-               service->state->id, service->localport);
+       vchiq_log_info(vchiq_core_log_level, "%d: remove_service:%d",
+                      service->state->id, service->localport);
 
        if (service->srvstate == VCHIQ_SRVSTATE_FREE) {
                vchiq_service_put(service);
@@ -3137,9 +2995,9 @@ vchiq_remove_service(unsigned int handle)
                        break;
 
                vchiq_log_warning(vchiq_core_log_level,
-                       "%d: remove_service:%d - waiting in state %s",
-                       service->state->id, service->localport,
-                       srvstate_names[service->srvstate]);
+                                 "%d: remove_service:%d - waiting in state %s",
+                                 service->state->id, service->localport,
+                                 srvstate_names[service->srvstate]);
        }
 
        if ((status == VCHIQ_SUCCESS) &&
@@ -3159,11 +3017,9 @@ vchiq_remove_service(unsigned int handle)
  * When called in blocking mode, the userdata field points to a bulk_waiter
  * structure.
  */
-enum vchiq_status vchiq_bulk_transfer(unsigned int handle,
-                                  void *offset, void __user *uoffset,
-                                  int size, void *userdata,
-                                  enum vchiq_bulk_mode mode,
-                                  enum vchiq_bulk_dir dir)
+enum vchiq_status vchiq_bulk_transfer(unsigned int handle, void *offset, void __user *uoffset,
+                                     int size, void *userdata, enum vchiq_bulk_mode mode,
+                                     enum vchiq_bulk_dir dir)
 {
        struct vchiq_service *service = find_service_by_handle(handle);
        struct vchiq_bulk_queue *queue;
@@ -3220,8 +3076,7 @@ enum vchiq_status vchiq_bulk_transfer(unsigned int handle,
                VCHIQ_SERVICE_STATS_INC(service, bulk_stalls);
                do {
                        mutex_unlock(&service->bulk_mutex);
-                       if (wait_for_completion_interruptible(
-                                               &service->bulk_remove_event)) {
+                       if (wait_for_completion_interruptible(&service->bulk_remove_event)) {
                                status = VCHIQ_RETRY;
                                goto error_exit;
                        }
@@ -3246,10 +3101,9 @@ enum vchiq_status vchiq_bulk_transfer(unsigned int handle,
 
        wmb();
 
-       vchiq_log_info(vchiq_core_log_level,
-               "%d: bt (%d->%d) %cx %x@%pad %pK",
-               state->id, service->localport, service->remoteport, dir_char,
-               size, &bulk->data, userdata);
+       vchiq_log_info(vchiq_core_log_level, "%d: bt (%d->%d) %cx %x@%pad %pK",
+                      state->id, service->localport, service->remoteport,
+                      dir_char, size, &bulk->data, userdata);
 
        /*
         * The slot mutex must be held when the service is being closed, so
@@ -3284,11 +3138,9 @@ enum vchiq_status vchiq_bulk_transfer(unsigned int handle,
        mutex_unlock(&state->slot_mutex);
        mutex_unlock(&service->bulk_mutex);
 
-       vchiq_log_trace(vchiq_core_log_level,
-               "%d: bt:%d %cx li=%x ri=%x p=%x",
-               state->id,
-               service->localport, dir_char,
-               queue->local_insert, queue->remote_insert, queue->process);
+       vchiq_log_trace(vchiq_core_log_level, "%d: bt:%d %cx li=%x ri=%x p=%x",
+                       state->id, service->localport, dir_char, queue->local_insert,
+                       queue->remote_insert, queue->process);
 
 waiting:
        vchiq_service_put(service);
@@ -3338,7 +3190,6 @@ vchiq_queue_message(unsigned int handle,
        if (!size) {
                VCHIQ_SERVICE_STATS_INC(service, error_count);
                goto error_exit;
-
        }
 
        if (size > VCHIQ_MAX_MSG_SIZE) {
@@ -3351,11 +3202,11 @@ vchiq_queue_message(unsigned int handle,
        switch (service->srvstate) {
        case VCHIQ_SRVSTATE_OPEN:
                status = queue_message(service->state, service, data_id,
-                               copy_callback, context, size, 1);
+                                      copy_callback, context, size, 1);
                break;
        case VCHIQ_SRVSTATE_OPENSYNC:
                status = queue_message_sync(service->state, service, data_id,
-                               copy_callback, context, size, 1);
+                                           copy_callback, context, size, 1);
                break;
        default:
                status = VCHIQ_ERROR;
@@ -3470,8 +3321,7 @@ void vchiq_get_config(struct vchiq_config *config)
 }
 
 int
-vchiq_set_service_option(unsigned int handle,
-       enum vchiq_service_option option, int value)
+vchiq_set_service_option(unsigned int handle, enum vchiq_service_option option, int value)
 {
        struct vchiq_service *service = find_service_by_handle(handle);
        struct vchiq_service_quota *quota;
@@ -3565,16 +3415,14 @@ vchiq_dump_shared_state(void *dump_context, struct vchiq_state *state,
        int len;
        int err;
 
-       len = scnprintf(buf, sizeof(buf),
-               "  %s: slots %d-%d tx_pos=%x recycle=%x",
-               label, shared->slot_first, shared->slot_last,
-               shared->tx_pos, shared->slot_queue_recycle);
+       len = scnprintf(buf, sizeof(buf), "  %s: slots %d-%d tx_pos=%x recycle=%x",
+                       label, shared->slot_first, shared->slot_last,
+                       shared->tx_pos, shared->slot_queue_recycle);
        err = vchiq_dump(dump_context, buf, len + 1);
        if (err)
                return err;
 
-       len = scnprintf(buf, sizeof(buf),
-               "    Slots claimed:");
+       len = scnprintf(buf, sizeof(buf), "    Slots claimed:");
        err = vchiq_dump(dump_context, buf, len + 1);
        if (err)
                return err;
@@ -3583,9 +3431,8 @@ vchiq_dump_shared_state(void *dump_context, struct vchiq_state *state,
                struct vchiq_slot_info slot_info =
                                                *SLOT_INFO_FROM_INDEX(state, i);
                if (slot_info.use_count != slot_info.release_count) {
-                       len = scnprintf(buf, sizeof(buf),
-                               "      %d: %d/%d", i, slot_info.use_count,
-                               slot_info.release_count);
+                       len = scnprintf(buf, sizeof(buf), "      %d: %d/%d", i, slot_info.use_count,
+                                       slot_info.release_count);
                        err = vchiq_dump(dump_context, buf, len + 1);
                        if (err)
                                return err;
@@ -3594,7 +3441,7 @@ vchiq_dump_shared_state(void *dump_context, struct vchiq_state *state,
 
        for (i = 1; i < shared->debug[DEBUG_ENTRIES]; i++) {
                len = scnprintf(buf, sizeof(buf), "    DEBUG: %s = %d(%x)",
-                       debug_names[i], shared->debug[i], shared->debug[i]);
+                               debug_names[i], shared->debug[i], shared->debug[i]);
                err = vchiq_dump(dump_context, buf, len + 1);
                if (err)
                        return err;
@@ -3610,45 +3457,43 @@ int vchiq_dump_state(void *dump_context, struct vchiq_state *state)
        int err;
 
        len = scnprintf(buf, sizeof(buf), "State %d: %s", state->id,
-               conn_state_names[state->conn_state]);
+                       conn_state_names[state->conn_state]);
        err = vchiq_dump(dump_context, buf, len + 1);
        if (err)
                return err;
 
-       len = scnprintf(buf, sizeof(buf),
-               "  tx_pos=%x(@%pK), rx_pos=%x(@%pK)",
-               state->local->tx_pos,
-               state->tx_data + (state->local_tx_pos & VCHIQ_SLOT_MASK),
-               state->rx_pos,
-               state->rx_data + (state->rx_pos & VCHIQ_SLOT_MASK));
+       len = scnprintf(buf, sizeof(buf), "  tx_pos=%x(@%pK), rx_pos=%x(@%pK)",
+                       state->local->tx_pos,
+                       state->tx_data + (state->local_tx_pos & VCHIQ_SLOT_MASK),
+                       state->rx_pos,
+                       state->rx_data + (state->rx_pos & VCHIQ_SLOT_MASK));
        err = vchiq_dump(dump_context, buf, len + 1);
        if (err)
                return err;
 
-       len = scnprintf(buf, sizeof(buf),
-               "  Version: %d (min %d)",
-               VCHIQ_VERSION, VCHIQ_VERSION_MIN);
+       len = scnprintf(buf, sizeof(buf), "  Version: %d (min %d)",
+                       VCHIQ_VERSION, VCHIQ_VERSION_MIN);
        err = vchiq_dump(dump_context, buf, len + 1);
        if (err)
                return err;
 
        if (VCHIQ_ENABLE_STATS) {
                len = scnprintf(buf, sizeof(buf),
-                       "  Stats: ctrl_tx_count=%d, ctrl_rx_count=%d, error_count=%d",
-                       state->stats.ctrl_tx_count, state->stats.ctrl_rx_count,
-                       state->stats.error_count);
+                               "  Stats: ctrl_tx_count=%d, ctrl_rx_count=%d, error_count=%d",
+                               state->stats.ctrl_tx_count, state->stats.ctrl_rx_count,
+                               state->stats.error_count);
                err = vchiq_dump(dump_context, buf, len + 1);
                if (err)
                        return err;
        }
 
        len = scnprintf(buf, sizeof(buf),
-               "  Slots: %d available (%d data), %d recyclable, %d stalls (%d data)",
-               ((state->slot_queue_available * VCHIQ_SLOT_SIZE) -
+                       "  Slots: %d available (%d data), %d recyclable, %d stalls (%d data)",
+                       ((state->slot_queue_available * VCHIQ_SLOT_SIZE) -
                        state->local_tx_pos) / VCHIQ_SLOT_SIZE,
-               state->data_quota - state->data_use_count,
-               state->local->slot_queue_recycle - state->slot_queue_available,
-               state->stats.slot_stalls, state->stats.data_stalls);
+                       state->data_quota - state->data_use_count,
+                       state->local->slot_queue_recycle - state->slot_queue_available,
+                       state->stats.slot_stalls, state->stats.data_stalls);
        err = vchiq_dump(dump_context, buf, len + 1);
        if (err)
                return err;
@@ -3712,21 +3557,17 @@ int vchiq_dump_service_state(void *dump_context, struct vchiq_service *service)
                                "%u", service->remoteport);
 
                        if (service->public_fourcc != VCHIQ_FOURCC_INVALID)
-                               scnprintf(remoteport + len2,
-                                       sizeof(remoteport) - len2,
-                                       " (client %x)", service->client_id);
+                               scnprintf(remoteport + len2, sizeof(remoteport) - len2,
+                                         " (client %x)", service->client_id);
                } else {
                        strscpy(remoteport, "n/a", sizeof(remoteport));
                }
 
                len += scnprintf(buf + len, sizeof(buf) - len,
-                       " '%c%c%c%c' remote %s (msg use %d/%d, slot use %d/%d)",
-                       VCHIQ_FOURCC_AS_4CHARS(fourcc),
-                       remoteport,
-                       quota->message_use_count,
-                       quota->message_quota,
-                       quota->slot_use_count,
-                       quota->slot_quota);
+                                " '%c%c%c%c' remote %s (msg use %d/%d, slot use %d/%d)",
+                                VCHIQ_FOURCC_AS_4CHARS(fourcc), remoteport,
+                                quota->message_use_count, quota->message_quota,
+                                quota->slot_use_count, quota->slot_quota);
 
                err = vchiq_dump(dump_context, buf, len + 1);
                if (err)
@@ -3739,13 +3580,13 @@ int vchiq_dump_service_state(void *dump_context, struct vchiq_service *service)
                        service->bulk_rx.remote_insert;
 
                len = scnprintf(buf, sizeof(buf),
-                       "  Bulk: tx_pending=%d (size %d), rx_pending=%d (size %d)",
-                       tx_pending,
-                       tx_pending ? service->bulk_tx.bulks[
-                       BULK_INDEX(service->bulk_tx.remove)].size : 0,
-                       rx_pending,
-                       rx_pending ? service->bulk_rx.bulks[
-                       BULK_INDEX(service->bulk_rx.remove)].size : 0);
+                               "  Bulk: tx_pending=%d (size %d), rx_pending=%d (size %d)",
+                               tx_pending,
+                               tx_pending ?
+                               service->bulk_tx.bulks[BULK_INDEX(service->bulk_tx.remove)].size :
+                               0, rx_pending, rx_pending ?
+                               service->bulk_rx.bulks[BULK_INDEX(service->bulk_rx.remove)].size :
+                               0);
 
                if (VCHIQ_ENABLE_STATS) {
                        err = vchiq_dump(dump_context, buf, len + 1);
@@ -3753,32 +3594,27 @@ int vchiq_dump_service_state(void *dump_context, struct vchiq_service *service)
                                return err;
 
                        len = scnprintf(buf, sizeof(buf),
-                               "  Ctrl: tx_count=%d, tx_bytes=%llu, rx_count=%d, rx_bytes=%llu",
-                               service->stats.ctrl_tx_count,
-                               service->stats.ctrl_tx_bytes,
-                               service->stats.ctrl_rx_count,
-                               service->stats.ctrl_rx_bytes);
+                                       "  Ctrl: tx_count=%d, tx_bytes=%llu, rx_count=%d, rx_bytes=%llu",
+                                       service->stats.ctrl_tx_count, service->stats.ctrl_tx_bytes,
+                                       service->stats.ctrl_rx_count, service->stats.ctrl_rx_bytes);
                        err = vchiq_dump(dump_context, buf, len + 1);
                        if (err)
                                return err;
 
                        len = scnprintf(buf, sizeof(buf),
-                               "  Bulk: tx_count=%d, tx_bytes=%llu, rx_count=%d, rx_bytes=%llu",
-                               service->stats.bulk_tx_count,
-                               service->stats.bulk_tx_bytes,
-                               service->stats.bulk_rx_count,
-                               service->stats.bulk_rx_bytes);
+                                       "  Bulk: tx_count=%d, tx_bytes=%llu, rx_count=%d, rx_bytes=%llu",
+                                       service->stats.bulk_tx_count, service->stats.bulk_tx_bytes,
+                                       service->stats.bulk_rx_count, service->stats.bulk_rx_bytes);
                        err = vchiq_dump(dump_context, buf, len + 1);
                        if (err)
                                return err;
 
                        len = scnprintf(buf, sizeof(buf),
-                               "  %d quota stalls, %d slot stalls, %d bulk stalls, %d aborted, %d errors",
-                               service->stats.quota_stalls,
-                               service->stats.slot_stalls,
-                               service->stats.bulk_stalls,
-                               service->stats.bulk_aborted_count,
-                               service->stats.error_count);
+                                       "  %d quota stalls, %d slot stalls, %d bulk stalls, %d aborted, %d errors",
+                                       service->stats.quota_stalls, service->stats.slot_stalls,
+                                       service->stats.bulk_stalls,
+                                       service->stats.bulk_aborted_count,
+                                       service->stats.error_count);
                }
        }
 
@@ -3795,9 +3631,9 @@ void
 vchiq_loud_error_header(void)
 {
        vchiq_log_error(vchiq_core_log_level,
-               "============================================================================");
+                       "============================================================================");
        vchiq_log_error(vchiq_core_log_level,
-               "============================================================================");
+                       "============================================================================");
        vchiq_log_error(vchiq_core_log_level, "=====");
 }
 
@@ -3806,9 +3642,9 @@ vchiq_loud_error_footer(void)
 {
        vchiq_log_error(vchiq_core_log_level, "=====");
        vchiq_log_error(vchiq_core_log_level,
-               "============================================================================");
+                       "============================================================================");
        vchiq_log_error(vchiq_core_log_level,
-               "============================================================================");
+                       "============================================================================");
 }
 
 enum vchiq_status vchiq_send_remote_use(struct vchiq_state *state)
@@ -3828,8 +3664,7 @@ enum vchiq_status vchiq_send_remote_use_active(struct vchiq_state *state)
                             NULL, NULL, 0, 0);
 }
 
-void vchiq_log_dump_mem(const char *label, u32 addr, const void *void_mem,
-       size_t num_bytes)
+void vchiq_log_dump_mem(const char *label, u32 addr, const void *void_mem, size_t num_bytes)
 {
        const u8  *mem = void_mem;
        size_t          offset;
@@ -3858,11 +3693,9 @@ void vchiq_log_dump_mem(const char *label, u32 addr, const void *void_mem,
                *s++ = '\0';
 
                if (label && (*label != '\0'))
-                       vchiq_log_trace(VCHIQ_LOG_TRACE,
-                               "%s: %08x: %s", label, addr, line_buf);
+                       vchiq_log_trace(VCHIQ_LOG_TRACE, "%s: %08x: %s", label, addr, line_buf);
                else
-                       vchiq_log_trace(VCHIQ_LOG_TRACE,
-                               "%08x: %s", addr, line_buf);
+                       vchiq_log_trace(VCHIQ_LOG_TRACE, "%08x: %s", addr, line_buf);
 
                addr += 16;
                mem += 16;
index 957fea1..53a9894 100644 (file)
@@ -14,7 +14,6 @@
 
 #include "vchiq_cfg.h"
 
-
 /* Do this so that we can test-build the code on non-rpi systems */
 #if IS_ENABLED(CONFIG_RASPBERRYPI_FIRMWARE)
 
@@ -75,9 +74,7 @@
        ((fourcc) >>  8) & 0xff, \
        (fourcc) & 0xff
 
-typedef uint32_t BITSET_T;
-
-static_assert((sizeof(BITSET_T) * 8) == 32);
+static_assert((sizeof(u32) * 8) == 32);
 
 #define BITSET_SIZE(b)        ((b + 31) >> 5)
 #define BITSET_WORD(b)        (b >> 5)
@@ -105,7 +102,7 @@ enum {
 
 #if VCHIQ_ENABLE_DEBUG
 
-#define DEBUG_INITIALISE(local) int *debug_ptr = (local)->debug;
+#define DEBUG_INITIALISE(local) int *debug_ptr = (local)->debug
 #define DEBUG_TRACE(d) \
        do { debug_ptr[DEBUG_ ## d] = __LINE__; dsb(sy); } while (0)
 #define DEBUG_VALUE(d, v) \
@@ -152,8 +149,6 @@ enum vchiq_bulk_dir {
        VCHIQ_BULK_RECEIVE
 };
 
-typedef void (*vchiq_userdata_term)(void *userdata);
-
 struct vchiq_bulk {
        short mode;
        short dir;
@@ -198,7 +193,7 @@ struct vchiq_service {
        struct kref ref_count;
        struct rcu_head rcu;
        int srvstate;
-       vchiq_userdata_term userdata_term;
+       void (*userdata_term)(void *userdata);
        unsigned int localport;
        unsigned int remoteport;
        int public_fourcc;
@@ -234,10 +229,10 @@ struct vchiq_service {
                int bulk_tx_count;
                int bulk_rx_count;
                int bulk_aborted_count;
-               uint64_t ctrl_tx_bytes;
-               uint64_t ctrl_rx_bytes;
-               uint64_t bulk_tx_bytes;
-               uint64_t bulk_rx_bytes;
+               u64 ctrl_tx_bytes;
+               u64 ctrl_rx_bytes;
+               u64 bulk_tx_bytes;
+               u64 bulk_rx_bytes;
        } stats;
 
        int msg_queue_read;
@@ -262,7 +257,6 @@ struct vchiq_service_quota {
 };
 
 struct vchiq_shared_state {
-
        /* A non-zero value here indicates that the content is valid. */
        int initialised;
 
@@ -451,7 +445,6 @@ struct vchiq_config {
        short version_min;  /* The minimum compatible version of VCHIQ */
 };
 
-
 extern spinlock_t bulk_waiter_spinlock;
 
 extern int vchiq_core_log_level;
@@ -476,7 +469,7 @@ struct vchiq_service *
 vchiq_add_service_internal(struct vchiq_state *state,
                           const struct vchiq_service_params_kernel *params,
                           int srvstate, struct vchiq_instance *instance,
-                          vchiq_userdata_term userdata_term);
+                          void (*userdata_term)(void *userdata));
 
 extern enum vchiq_status
 vchiq_open_service_internal(struct vchiq_service *service, int client_id);
@@ -536,12 +529,10 @@ extern struct vchiq_service *
 find_service_by_port(struct vchiq_state *state, int localport);
 
 extern struct vchiq_service *
-find_service_for_instance(struct vchiq_instance *instance,
-       unsigned int handle);
+find_service_for_instance(struct vchiq_instance *instance, unsigned int handle);
 
 extern struct vchiq_service *
-find_closed_service_for_instance(struct vchiq_instance *instance,
-       unsigned int handle);
+find_closed_service_for_instance(struct vchiq_instance *instance, unsigned int handle);
 
 extern struct vchiq_service *
 __next_service_by_instance(struct vchiq_state *state,
@@ -566,81 +557,53 @@ vchiq_queue_message(unsigned int handle,
                    void *context,
                    size_t size);
 
-/*
- * The following functions are called from vchiq_core, and external
- * implementations must be provided.
- */
-
-extern int
-vchiq_prepare_bulk_data(struct vchiq_bulk *bulk, void *offset,
-                       void __user *uoffset, int size, int dir);
+int vchiq_prepare_bulk_data(struct vchiq_bulk *bulk, void *offset, void __user *uoffset,
+                           int size, int dir);
 
-extern void
-vchiq_complete_bulk(struct vchiq_bulk *bulk);
+void vchiq_complete_bulk(struct vchiq_bulk *bulk);
 
-extern void
-remote_event_signal(struct remote_event *event);
+void remote_event_signal(struct remote_event *event);
 
-extern int
-vchiq_dump(void *dump_context, const char *str, int len);
+int vchiq_dump(void *dump_context, const char *str, int len);
 
-extern int
-vchiq_dump_platform_state(void *dump_context);
+int vchiq_dump_platform_state(void *dump_context);
 
-extern int
-vchiq_dump_platform_instances(void *dump_context);
+int vchiq_dump_platform_instances(void *dump_context);
 
-extern int
-vchiq_dump_platform_service_state(void *dump_context,
-       struct vchiq_service *service);
+int vchiq_dump_platform_service_state(void *dump_context, struct vchiq_service *service);
 
-extern int
-vchiq_use_service_internal(struct vchiq_service *service);
+int vchiq_use_service_internal(struct vchiq_service *service);
 
-extern int
-vchiq_release_service_internal(struct vchiq_service *service);
+int vchiq_release_service_internal(struct vchiq_service *service);
 
-extern void
-vchiq_on_remote_use(struct vchiq_state *state);
+void vchiq_on_remote_use(struct vchiq_state *state);
 
-extern void
-vchiq_on_remote_release(struct vchiq_state *state);
+void vchiq_on_remote_release(struct vchiq_state *state);
 
-extern int
-vchiq_platform_init_state(struct vchiq_state *state);
+int vchiq_platform_init_state(struct vchiq_state *state);
 
-extern enum vchiq_status
-vchiq_check_service(struct vchiq_service *service);
+enum vchiq_status vchiq_check_service(struct vchiq_service *service);
 
-extern void
-vchiq_on_remote_use_active(struct vchiq_state *state);
+void vchiq_on_remote_use_active(struct vchiq_state *state);
 
-extern enum vchiq_status
-vchiq_send_remote_use(struct vchiq_state *state);
+enum vchiq_status vchiq_send_remote_use(struct vchiq_state *state);
 
-extern enum vchiq_status
-vchiq_send_remote_use_active(struct vchiq_state *state);
+enum vchiq_status vchiq_send_remote_use_active(struct vchiq_state *state);
 
-extern void
-vchiq_platform_conn_state_changed(struct vchiq_state *state,
-                                 enum vchiq_connstate oldstate,
+void vchiq_platform_conn_state_changed(struct vchiq_state *state,
+                                      enum vchiq_connstate oldstate,
                                  enum vchiq_connstate newstate);
 
-extern void
-vchiq_set_conn_state(struct vchiq_state *state, enum vchiq_connstate newstate);
+void vchiq_set_conn_state(struct vchiq_state *state, enum vchiq_connstate newstate);
 
-extern void
-vchiq_log_dump_mem(const char *label, uint32_t addr, const void *voidMem,
-       size_t numBytes);
+void vchiq_log_dump_mem(const char *label, u32 addr, const void *void_mem, size_t num_bytes);
 
-extern enum vchiq_status vchiq_remove_service(unsigned int service);
+enum vchiq_status vchiq_remove_service(unsigned int service);
 
-extern int vchiq_get_client_id(unsigned int service);
+int vchiq_get_client_id(unsigned int service);
 
-extern void vchiq_get_config(struct vchiq_config *config);
+void vchiq_get_config(struct vchiq_config *config);
 
-extern int
-vchiq_set_service_option(unsigned int service, enum vchiq_service_option option,
-                        int value);
+int vchiq_set_service_option(unsigned int service, enum vchiq_service_option option, int value);
 
 #endif
index bf1a88c..2325844 100644 (file)
@@ -9,18 +9,13 @@
 #include <linux/device.h>
 #include <linux/slab.h>
 #include <linux/compat.h>
+#include <linux/miscdevice.h>
 
 #include "vchiq_core.h"
 #include "vchiq_ioctl.h"
 #include "vchiq_arm.h"
 #include "vchiq_debugfs.h"
 
-#define DEVICE_NAME "vchiq"
-
-static struct cdev    vchiq_cdev;
-static dev_t          vchiq_devid;
-static struct class  *vchiq_class;
-
 static const char *const ioctl_names[] = {
        "CONNECT",
        "SHUTDOWN",
@@ -53,8 +48,8 @@ user_service_free(void *userdata)
 static void close_delivered(struct user_service *user_service)
 {
        vchiq_log_info(vchiq_arm_log_level,
-               "%s(handle=%x)",
-               __func__, user_service->service->handle);
+                      "%s(handle=%x)",
+                      __func__, user_service->service->handle);
 
        if (user_service->close_pending) {
                /* Allow the underlying service to be culled */
@@ -95,8 +90,8 @@ static ssize_t vchiq_ioc_copy_element_data(void *context, void *dest,
                                       maxsize - total_bytes_copied);
 
                if (copy_from_user(dest + total_bytes_copied,
-                                 cc->element->data + cc->element_offset,
-                                 bytes_this_round))
+                                  cc->element->data + cc->element_offset,
+                                  bytes_this_round))
                        return -EFAULT;
 
                cc->element_offset += bytes_this_round;
@@ -215,7 +210,7 @@ static int vchiq_ioc_dequeue_message(struct vchiq_instance *instance,
        struct vchiq_header *header;
        int ret;
 
-       DEBUG_INITIALISE(g_state.local)
+       DEBUG_INITIALISE(g_state.local);
        DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
        service = find_service_for_instance(instance, args->handle);
        if (!service)
@@ -240,10 +235,9 @@ static int vchiq_ioc_dequeue_message(struct vchiq_instance *instance,
                do {
                        spin_unlock(&msg_queue_spinlock);
                        DEBUG_TRACE(DEQUEUE_MESSAGE_LINE);
-                       if (wait_for_completion_interruptible(
-                               &user_service->insert_event)) {
+                       if (wait_for_completion_interruptible(&user_service->insert_event)) {
                                vchiq_log_info(vchiq_arm_log_level,
-                                       "DEQUEUE_MESSAGE interrupted");
+                                              "DEQUEUE_MESSAGE interrupted");
                                ret = -EINTR;
                                break;
                        }
@@ -271,8 +265,7 @@ static int vchiq_ioc_dequeue_message(struct vchiq_instance *instance,
                ret = -ENOTCONN;
        } else if (header->size <= args->bufsize) {
                /* Copy to user space if msgbuf is not NULL */
-               if (!args->buf || (copy_to_user(args->buf,
-                                       header->data, header->size) == 0)) {
+               if (!args->buf || (copy_to_user(args->buf, header->data, header->size) == 0)) {
                        ret = header->size;
                        vchiq_release_message(service->handle, header);
                } else {
@@ -280,8 +273,8 @@ static int vchiq_ioc_dequeue_message(struct vchiq_instance *instance,
                }
        } else {
                vchiq_log_error(vchiq_arm_log_level,
-                       "header %pK: bufsize %x < size %x",
-                       header, args->bufsize, header->size);
+                               "header %pK: bufsize %x < size %x",
+                               header, args->bufsize, header->size);
                WARN(1, "invalid size\n");
                ret = -EMSGSIZE;
        }
@@ -328,14 +321,12 @@ static int vchiq_irq_queue_bulk_tx_rx(struct vchiq_instance *instance,
                mutex_unlock(&instance->bulk_waiter_list_mutex);
                if (!found) {
                        vchiq_log_error(vchiq_arm_log_level,
-                               "no bulk_waiter found for pid %d",
-                               current->pid);
+                                       "no bulk_waiter found for pid %d", current->pid);
                        ret = -ESRCH;
                        goto out;
                }
                vchiq_log_info(vchiq_arm_log_level,
-                       "found bulk_waiter %pK for pid %d", waiter,
-                       current->pid);
+                              "found bulk_waiter %pK for pid %d", waiter, current->pid);
                userdata = &waiter->bulk_waiter;
        } else {
                userdata = args->userdata;
@@ -350,7 +341,7 @@ static int vchiq_irq_queue_bulk_tx_rx(struct vchiq_instance *instance,
        }
 
        if ((status != VCHIQ_RETRY) || fatal_signal_pending(current) ||
-               !waiter->bulk_waiter.bulk) {
+           !waiter->bulk_waiter.bulk) {
                if (waiter->bulk_waiter.bulk) {
                        /* Cancel the signal when the transfer completes. */
                        spin_lock(&bulk_waiter_spinlock);
@@ -367,8 +358,7 @@ static int vchiq_irq_queue_bulk_tx_rx(struct vchiq_instance *instance,
                list_add(&waiter->list, &instance->bulk_waiter_list);
                mutex_unlock(&instance->bulk_waiter_list_mutex);
                vchiq_log_info(vchiq_arm_log_level,
-                       "saved bulk_waiter %pK for pid %d",
-                       waiter, current->pid);
+                              "saved bulk_waiter %pK for pid %d", waiter, current->pid);
 
                ret = put_user(mode_waiting, mode);
        }
@@ -449,29 +439,26 @@ static int vchiq_ioc_await_completion(struct vchiq_instance *instance,
        int remove;
        int ret;
 
-       DEBUG_INITIALISE(g_state.local)
+       DEBUG_INITIALISE(g_state.local);
 
        DEBUG_TRACE(AWAIT_COMPLETION_LINE);
-       if (!instance->connected) {
+       if (!instance->connected)
                return -ENOTCONN;
-       }
 
        mutex_lock(&instance->completion_mutex);
 
        DEBUG_TRACE(AWAIT_COMPLETION_LINE);
-       while ((instance->completion_remove == instance->completion_insert)
-               && !instance->closing) {
+       while ((instance->completion_remove == instance->completion_insert) && !instance->closing) {
                int rc;
 
                DEBUG_TRACE(AWAIT_COMPLETION_LINE);
                mutex_unlock(&instance->completion_mutex);
-               rc = wait_for_completion_interruptible(
-                                       &instance->insert_event);
+               rc = wait_for_completion_interruptible(&instance->insert_event);
                mutex_lock(&instance->completion_mutex);
                if (rc) {
                        DEBUG_TRACE(AWAIT_COMPLETION_LINE);
                        vchiq_log_info(vchiq_arm_log_level,
-                               "AWAIT_COMPLETION interrupted");
+                                      "AWAIT_COMPLETION interrupted");
                        ret = -EINTR;
                        goto out;
                }
@@ -491,8 +478,7 @@ static int vchiq_ioc_await_completion(struct vchiq_instance *instance,
                if (remove == instance->completion_insert)
                        break;
 
-               completion = &instance->completions[
-                       remove & (MAX_COMPLETIONS - 1)];
+               completion = &instance->completions[remove & (MAX_COMPLETIONS - 1)];
 
                /*
                 * A read memory barrier is needed to stop
@@ -518,9 +504,9 @@ static int vchiq_ioc_await_completion(struct vchiq_instance *instance,
                        /* This must be a VCHIQ-style service */
                        if (args->msgbufsize < msglen) {
                                vchiq_log_error(vchiq_arm_log_level,
-                                       "header %pK: msgbufsize %x < msglen %x",
-                                       header, args->msgbufsize, msglen);
-                               WARN(1, "invalid message size\n");
+                                               "header %pK: msgbufsize %x < msglen %x",
+                                               header, args->msgbufsize, msglen);
+                                               WARN(1, "invalid message size\n");
                                if (ret == 0)
                                        ret = -EMSGSIZE;
                                break;
@@ -531,7 +517,7 @@ static int vchiq_ioc_await_completion(struct vchiq_instance *instance,
                        /* Get the pointer from user space */
                        msgbufcount--;
                        if (vchiq_get_user_ptr(&msgbuf, args->msgbufs,
-                                               msgbufcount)) {
+                                              msgbufcount)) {
                                if (ret == 0)
                                        ret = -EFAULT;
                                break;
@@ -599,11 +585,9 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
        int i, rc;
 
        vchiq_log_trace(vchiq_arm_log_level,
-               "%s - instance %pK, cmd %s, arg %lx",
-               __func__, instance,
-               ((_IOC_TYPE(cmd) == VCHIQ_IOC_MAGIC) &&
-               (_IOC_NR(cmd) <= VCHIQ_IOC_MAX)) ?
-               ioctl_names[_IOC_NR(cmd)] : "<invalid>", arg);
+                       "%s - instance %pK, cmd %s, arg %lx", __func__, instance,
+                       ((_IOC_TYPE(cmd) == VCHIQ_IOC_MAGIC) && (_IOC_NR(cmd) <= VCHIQ_IOC_MAX)) ?
+                       ioctl_names[_IOC_NR(cmd)] : "<invalid>", arg);
 
        switch (cmd) {
        case VCHIQ_IOC_SHUTDOWN:
@@ -613,7 +597,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                /* Remove all services */
                i = 0;
                while ((service = next_service_by_instance(instance->state,
-                       instance, &i))) {
+                                                          instance, &i))) {
                        status = vchiq_remove_service(service->handle);
                        vchiq_service_put(service);
                        if (status != VCHIQ_SUCCESS)
@@ -637,8 +621,8 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                rc = mutex_lock_killable(&instance->state->mutex);
                if (rc) {
                        vchiq_log_error(vchiq_arm_log_level,
-                               "vchiq: connect: could not lock mutex for state %d: %d",
-                               instance->state->id, rc);
+                                       "vchiq: connect: could not lock mutex for state %d: %d",
+                                       instance->state->id, rc);
                        ret = -EINTR;
                        break;
                }
@@ -649,7 +633,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        instance->connected = 1;
                else
                        vchiq_log_error(vchiq_arm_log_level,
-                               "vchiq: could not connect: %d", status);
+                                       "vchiq: could not connect: %d", status);
                break;
 
        case VCHIQ_IOC_CREATE_SERVICE: {
@@ -703,8 +687,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                 * CLOSE_DELIVERED ioctl, signalling close_event.
                 */
                if (user_service->close_pending &&
-                       wait_for_completion_interruptible(
-                               &user_service->close_event))
+                   wait_for_completion_interruptible(&user_service->close_event))
                        status = VCHIQ_RETRY;
                break;
        }
@@ -720,14 +703,12 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                                vchiq_release_service_internal(service);
                        if (ret) {
                                vchiq_log_error(vchiq_susp_log_level,
-                                       "%s: cmd %s returned error %ld for service %c%c%c%c:%03d",
-                                       __func__,
-                                       (cmd == VCHIQ_IOC_USE_SERVICE) ?
+                                               "%s: cmd %s returned error %ld for service %c%c%c%c:%03d",
+                                               __func__, (cmd == VCHIQ_IOC_USE_SERVICE) ?
                                                "VCHIQ_IOC_USE_SERVICE" :
                                                "VCHIQ_IOC_RELEASE_SERVICE",
                                        ret,
-                                       VCHIQ_FOURCC_AS_4CHARS(
-                                               service->base.fourcc),
+                                       VCHIQ_FOURCC_AS_4CHARS(service->base.fourcc),
                                        service->client_id);
                        }
                } else {
@@ -751,7 +732,7 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        struct vchiq_element elements[MAX_ELEMENTS];
 
                        if (copy_from_user(elements, args.elements,
-                               args.count * sizeof(struct vchiq_element)) == 0)
+                                          args.count * sizeof(struct vchiq_element)) == 0)
                                ret = vchiq_ioc_queue_message(args.handle, elements,
                                                              args.count);
                        else
@@ -889,23 +870,16 @@ vchiq_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        ret = -EINTR;
        }
 
-       if ((status == VCHIQ_SUCCESS) && (ret < 0) && (ret != -EINTR) &&
-               (ret != -EWOULDBLOCK))
+       if ((status == VCHIQ_SUCCESS) && (ret < 0) && (ret != -EINTR) && (ret != -EWOULDBLOCK))
                vchiq_log_info(vchiq_arm_log_level,
-                       "  ioctl instance %pK, cmd %s -> status %d, %ld",
-                       instance,
-                       (_IOC_NR(cmd) <= VCHIQ_IOC_MAX) ?
-                               ioctl_names[_IOC_NR(cmd)] :
-                               "<invalid>",
-                       status, ret);
+                              "  ioctl instance %pK, cmd %s -> status %d, %ld",
+                              instance, (_IOC_NR(cmd) <= VCHIQ_IOC_MAX) ?
+                              ioctl_names[_IOC_NR(cmd)] : "<invalid>", status, ret);
        else
                vchiq_log_trace(vchiq_arm_log_level,
-                       "  ioctl instance %pK, cmd %s -> status %d, %ld",
-                       instance,
-                       (_IOC_NR(cmd) <= VCHIQ_IOC_MAX) ?
-                               ioctl_names[_IOC_NR(cmd)] :
-                               "<invalid>",
-                       status, ret);
+                               "  ioctl instance %pK, cmd %s -> status %d, %ld",
+                               instance, (_IOC_NR(cmd) <= VCHIQ_IOC_MAX) ?
+                               ioctl_names[_IOC_NR(cmd)] : "<invalid>", status, ret);
 
        return ret;
 }
@@ -1303,8 +1277,8 @@ static int vchiq_release(struct inode *inode, struct file *file)
                struct vchiq_completion_data_kernel *completion;
                struct vchiq_service *service;
 
-               completion = &instance->completions[
-                       instance->completion_remove & (MAX_COMPLETIONS - 1)];
+               completion = &instance->completions[instance->completion_remove
+                                                   & (MAX_COMPLETIONS - 1)];
                service = completion->service_userdata;
                if (completion->reason == VCHIQ_SERVICE_CLOSED) {
                        struct user_service *user_service =
@@ -1364,6 +1338,13 @@ vchiq_fops = {
        .read = vchiq_read
 };
 
+static struct miscdevice vchiq_miscdev = {
+       .fops = &vchiq_fops,
+       .minor = MISC_DYNAMIC_MINOR,
+       .name = "vchiq",
+
+};
+
 /**
  *     vchiq_register_chrdev - Register the char driver for vchiq
  *                             and create the necessary class and
@@ -1374,57 +1355,9 @@ vchiq_fops = {
  */
 int vchiq_register_chrdev(struct device *parent)
 {
-       struct device *vchiq_dev;
-       int ret;
+       vchiq_miscdev.parent = parent;
 
-       vchiq_class = class_create(THIS_MODULE, DEVICE_NAME);
-       if (IS_ERR(vchiq_class)) {
-               pr_err("Failed to create vchiq class\n");
-               ret = PTR_ERR(vchiq_class);
-               goto error_exit;
-       }
-
-       ret = alloc_chrdev_region(&vchiq_devid, 0, 1, DEVICE_NAME);
-       if (ret) {
-               pr_err("vchiq: Failed to allocate vchiq's chrdev region\n");
-               goto alloc_region_error;
-       }
-
-       cdev_init(&vchiq_cdev, &vchiq_fops);
-       vchiq_cdev.owner = THIS_MODULE;
-       ret = cdev_add(&vchiq_cdev, vchiq_devid, 1);
-       if (ret) {
-               vchiq_log_error(vchiq_arm_log_level,
-                               "Unable to register vchiq char device");
-               goto cdev_add_error;
-       }
-
-       vchiq_dev = device_create(vchiq_class, parent, vchiq_devid, NULL,
-                                 DEVICE_NAME);
-       if (IS_ERR(vchiq_dev)) {
-               vchiq_log_error(vchiq_arm_log_level,
-                               "Failed to create vchiq char device node");
-               ret = PTR_ERR(vchiq_dev);
-               goto device_create_error;
-       }
-
-       vchiq_log_info(vchiq_arm_log_level,
-                      "vchiq char dev initialised successfully - device %d.%d",
-                       MAJOR(vchiq_devid), MINOR(vchiq_devid));
-
-       return 0;
-
-device_create_error:
-       cdev_del(&vchiq_cdev);
-
-cdev_add_error:
-       unregister_chrdev_region(vchiq_devid, 1);
-
-alloc_region_error:
-       class_destroy(vchiq_class);
-
-error_exit:
-       return ret;
+       return misc_register(&vchiq_miscdev);
 }
 
 /**
@@ -1433,8 +1366,5 @@ error_exit:
  */
 void vchiq_deregister_chrdev(void)
 {
-       device_destroy(vchiq_class, vchiq_devid);
-       cdev_del(&vchiq_cdev);
-       unregister_chrdev_region(vchiq_devid, 1);
-       class_destroy(vchiq_class);
+       misc_deregister(&vchiq_miscdev);
 }
index f73f3fa..84fa6ea 100644 (file)
@@ -1691,7 +1691,7 @@ static const unsigned short awc_frame_time[MAX_RATE] = {
  *
  * Parameters:
  *  In:
- *      by_preamble_type  - Preamble Type
+ *      preamble_type     - Preamble Type
  *      by_pkt_type        - PK_TYPE_11A, PK_TYPE_11B, PK_TYPE_11GB, PK_TYPE_11GA
  *      cb_frame_length   - Baseband Type
  *      tx_rate           - Tx Rate
@@ -1700,7 +1700,7 @@ static const unsigned short awc_frame_time[MAX_RATE] = {
  * Return Value: FrameTime
  *
  */
-unsigned int bb_get_frame_time(unsigned char by_preamble_type,
+unsigned int bb_get_frame_time(unsigned char preamble_type,
                               unsigned char by_pkt_type,
                               unsigned int cb_frame_length,
                               unsigned short tx_rate)
@@ -1717,7 +1717,7 @@ unsigned int bb_get_frame_time(unsigned char by_preamble_type,
        rate = (unsigned int)awc_frame_time[rate_idx];
 
        if (rate_idx <= 3) {                /* CCK mode */
-               if (by_preamble_type == 1) /* Short */
+               if (preamble_type == PREAMBLE_SHORT)
                        preamble = 96;
                else
                        preamble = 192;
@@ -1764,7 +1764,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
        u32 count = 0;
        u32 tmp;
        int ext_bit;
-       u8 preamble_type = priv->byPreambleType;
+       u8 preamble_type = priv->preamble_type;
 
        bit_count = frame_length * 8;
        ext_bit = false;
@@ -1779,7 +1779,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
        case RATE_2M:
                count = bit_count / 2;
 
-               if (preamble_type == 1)
+               if (preamble_type == PREAMBLE_SHORT)
                        phy->signal = 0x09;
                else
                        phy->signal = 0x01;
@@ -1792,7 +1792,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
                if (tmp != bit_count)
                        count++;
 
-               if (preamble_type == 1)
+               if (preamble_type == PREAMBLE_SHORT)
                        phy->signal = 0x0a;
                else
                        phy->signal = 0x02;
@@ -1809,7 +1809,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
                                ext_bit = true;
                }
 
-               if (preamble_type == 1)
+               if (preamble_type == PREAMBLE_SHORT)
                        phy->signal = 0x0b;
                else
                        phy->signal = 0x03;
@@ -1905,7 +1905,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
 bool bb_read_embedded(struct vnt_private *priv, unsigned char by_bb_addr,
                      unsigned char *pby_data)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        unsigned short ww;
        unsigned char by_value;
 
@@ -1948,7 +1948,7 @@ bool bb_read_embedded(struct vnt_private *priv, unsigned char by_bb_addr,
 bool bb_write_embedded(struct vnt_private *priv, unsigned char by_bb_addr,
                       unsigned char by_data)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        unsigned short ww;
        unsigned char by_value;
 
@@ -1992,9 +1992,9 @@ bool bb_vt3253_init(struct vnt_private *priv)
 {
        bool result = true;
        int        ii;
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        unsigned char by_rf_type = priv->byRFType;
-       unsigned char by_local_id = priv->byLocalID;
+       unsigned char by_local_id = priv->local_id;
 
        if (by_rf_type == RF_RFMD2959) {
                if (by_local_id <= REV_ID_VT3253_A1) {
@@ -2021,10 +2021,10 @@ bool bb_vt3253_init(struct vnt_private *priv)
                priv->abyBBVGA[1] = 0x0A;
                priv->abyBBVGA[2] = 0x0;
                priv->abyBBVGA[3] = 0x0;
-               priv->ldBmThreshold[0] = -70;
-               priv->ldBmThreshold[1] = -50;
-               priv->ldBmThreshold[2] = 0;
-               priv->ldBmThreshold[3] = 0;
+               priv->dbm_threshold[0] = -70;
+               priv->dbm_threshold[1] = -50;
+               priv->dbm_threshold[2] = 0;
+               priv->dbm_threshold[3] = 0;
        } else if ((by_rf_type == RF_AIROHA) || (by_rf_type == RF_AL2230S)) {
                for (ii = 0; ii < CB_VT3253B0_INIT_FOR_AIROHA2230; ii++)
                        result &= bb_write_embedded(priv,
@@ -2039,10 +2039,10 @@ bool bb_vt3253_init(struct vnt_private *priv)
                priv->abyBBVGA[1] = 0x10;
                priv->abyBBVGA[2] = 0x0;
                priv->abyBBVGA[3] = 0x0;
-               priv->ldBmThreshold[0] = -70;
-               priv->ldBmThreshold[1] = -48;
-               priv->ldBmThreshold[2] = 0;
-               priv->ldBmThreshold[3] = 0;
+               priv->dbm_threshold[0] = -70;
+               priv->dbm_threshold[1] = -48;
+               priv->dbm_threshold[2] = 0;
+               priv->dbm_threshold[3] = 0;
        } else if (by_rf_type == RF_UW2451) {
                for (ii = 0; ii < CB_VT3253B0_INIT_FOR_UW2451; ii++)
                        result &= bb_write_embedded(priv,
@@ -2061,10 +2061,10 @@ bool bb_vt3253_init(struct vnt_private *priv)
                priv->abyBBVGA[1] = 0x0A;
                priv->abyBBVGA[2] = 0x0;
                priv->abyBBVGA[3] = 0x0;
-               priv->ldBmThreshold[0] = -60;
-               priv->ldBmThreshold[1] = -50;
-               priv->ldBmThreshold[2] = 0;
-               priv->ldBmThreshold[3] = 0;
+               priv->dbm_threshold[0] = -60;
+               priv->dbm_threshold[1] = -50;
+               priv->dbm_threshold[2] = 0;
+               priv->dbm_threshold[3] = 0;
        } else if (by_rf_type == RF_UW2452) {
                for (ii = 0; ii < CB_VT3253B0_INIT_FOR_UW2451; ii++)
                        result &= bb_write_embedded(priv,
@@ -2107,10 +2107,10 @@ bool bb_vt3253_init(struct vnt_private *priv)
                priv->abyBBVGA[1] = 0x0A;
                priv->abyBBVGA[2] = 0x0;
                priv->abyBBVGA[3] = 0x0;
-               priv->ldBmThreshold[0] = -60;
-               priv->ldBmThreshold[1] = -50;
-               priv->ldBmThreshold[2] = 0;
-               priv->ldBmThreshold[3] = 0;
+               priv->dbm_threshold[0] = -60;
+               priv->dbm_threshold[1] = -50;
+               priv->dbm_threshold[2] = 0;
+               priv->dbm_threshold[3] = 0;
                /* }} RobertYu */
 
        } else if (by_rf_type == RF_VT3226) {
@@ -2127,10 +2127,10 @@ bool bb_vt3253_init(struct vnt_private *priv)
                priv->abyBBVGA[1] = 0x10;
                priv->abyBBVGA[2] = 0x0;
                priv->abyBBVGA[3] = 0x0;
-               priv->ldBmThreshold[0] = -70;
-               priv->ldBmThreshold[1] = -48;
-               priv->ldBmThreshold[2] = 0;
-               priv->ldBmThreshold[3] = 0;
+               priv->dbm_threshold[0] = -70;
+               priv->dbm_threshold[1] = -48;
+               priv->dbm_threshold[2] = 0;
+               priv->dbm_threshold[3] = 0;
                /* Fix VT3226 DFC system timing issue */
                MACvSetRFLE_LatchBase(iobase);
                /* {{ RobertYu: 20050104 */
@@ -2161,10 +2161,10 @@ bool bb_vt3253_init(struct vnt_private *priv)
                priv->abyBBVGA[1] = 0x10;
                priv->abyBBVGA[2] = 0x0;
                priv->abyBBVGA[3] = 0x0;
-               priv->ldBmThreshold[0] = -70;
-               priv->ldBmThreshold[1] = -48;
-               priv->ldBmThreshold[2] = 0;
-               priv->ldBmThreshold[3] = 0;
+               priv->dbm_threshold[0] = -70;
+               priv->dbm_threshold[1] = -48;
+               priv->dbm_threshold[2] = 0;
+               priv->dbm_threshold[3] = 0;
                /* }} RobertYu */
        } else {
                /* No VGA Table now */
@@ -2200,7 +2200,7 @@ bb_set_short_slot_time(struct vnt_private *priv)
 
        bb_read_embedded(priv, 0x0A, &by_bb_rx_conf); /* CR10 */
 
-       if (priv->bShortSlotTime)
+       if (priv->short_slot_time)
                by_bb_rx_conf &= 0xDF; /* 1101 1111 */
        else
                by_bb_rx_conf |= 0x20; /* 0010 0000 */
@@ -2223,7 +2223,7 @@ void bb_set_vga_gain_offset(struct vnt_private *priv, unsigned char by_data)
        /* patch for 3253B0 Baseband with Cardbus module */
        if (by_data == priv->abyBBVGA[0])
                by_bb_rx_conf |= 0x20; /* 0010 0000 */
-       else if (priv->bShortSlotTime)
+       else if (priv->short_slot_time)
                by_bb_rx_conf &= 0xDF; /* 1101 1111 */
        else
                by_bb_rx_conf |= 0x20; /* 0010 0000 */
index 0a30afa..15b2802 100644 (file)
@@ -44,7 +44,7 @@
 #define TOP_RATE_2M         0x00200000
 #define TOP_RATE_1M         0x00100000
 
-unsigned int bb_get_frame_time(unsigned char by_preamble_type,
+unsigned int bb_get_frame_time(unsigned char preamble_type,
                               unsigned char by_pkt_type,
                               unsigned int cb_frame_length,
                               unsigned short w_rate);
index 3ef3a6e..26e08fe 100644 (file)
@@ -56,7 +56,7 @@ static const unsigned short cwRXBCNTSFOff[MAX_RATE] = {
 
 /*---------------------  Static Functions  --------------------------*/
 
-static void s_vCalculateOFDMRParameter(unsigned char byRate, u8 bb_type,
+static void s_vCalculateOFDMRParameter(unsigned char rate, u8 bb_type,
                                       unsigned char *pbyTxRate,
                                       unsigned char *pbyRsvTime);
 
@@ -75,12 +75,12 @@ static void s_vCalculateOFDMRParameter(unsigned char byRate, u8 bb_type,
  *
  * Return Value: none
  */
-static void s_vCalculateOFDMRParameter(unsigned char byRate,
+static void s_vCalculateOFDMRParameter(unsigned char rate,
                                       u8 bb_type,
                                       unsigned char *pbyTxRate,
                                       unsigned char *pbyRsvTime)
 {
-       switch (byRate) {
+       switch (rate) {
        case RATE_6M:
                if (bb_type == BB_TYPE_11A) { /* 5GHZ */
                        *pbyTxRate = 0x9B;
@@ -190,7 +190,7 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
        if (bb_type == BB_TYPE_11A) {
                if (priv->byRFType == RF_AIROHA7230) {
                        /* AL7230 use single PAPE and connect to PAPE_2.4G */
-                       MACvSetBBType(priv->PortOffset, BB_TYPE_11G);
+                       MACvSetBBType(priv->port_offset, BB_TYPE_11G);
                        priv->abyBBVGA[0] = 0x20;
                        priv->abyBBVGA[2] = 0x10;
                        priv->abyBBVGA[3] = 0x10;
@@ -199,7 +199,7 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
                                bb_write_embedded(priv, 0xE7, priv->abyBBVGA[0]);
 
                } else if (priv->byRFType == RF_UW2452) {
-                       MACvSetBBType(priv->PortOffset, BB_TYPE_11A);
+                       MACvSetBBType(priv->port_offset, BB_TYPE_11A);
                        priv->abyBBVGA[0] = 0x18;
                        bb_read_embedded(priv, 0xE7, &byData);
                        if (byData == 0x14) {
@@ -207,7 +207,7 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
                                bb_write_embedded(priv, 0xE1, 0x57);
                        }
                } else {
-                       MACvSetBBType(priv->PortOffset, BB_TYPE_11A);
+                       MACvSetBBType(priv->port_offset, BB_TYPE_11A);
                }
                bb_write_embedded(priv, 0x88, 0x03);
                bySlot = C_SLOT_SHORT;
@@ -215,7 +215,7 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
                byDIFS = C_SIFS_A + 2 * C_SLOT_SHORT;
                byCWMaxMin = 0xA4;
        } else if (bb_type == BB_TYPE_11B) {
-               MACvSetBBType(priv->PortOffset, BB_TYPE_11B);
+               MACvSetBBType(priv->port_offset, BB_TYPE_11B);
                if (priv->byRFType == RF_AIROHA7230) {
                        priv->abyBBVGA[0] = 0x1C;
                        priv->abyBBVGA[2] = 0x00;
@@ -238,7 +238,7 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
                byDIFS = C_SIFS_BG + 2 * C_SLOT_LONG;
                byCWMaxMin = 0xA5;
        } else { /* PK_TYPE_11GA & PK_TYPE_11GB */
-               MACvSetBBType(priv->PortOffset, BB_TYPE_11G);
+               MACvSetBBType(priv->port_offset, BB_TYPE_11G);
                if (priv->byRFType == RF_AIROHA7230) {
                        priv->abyBBVGA[0] = 0x1C;
                        priv->abyBBVGA[2] = 0x00;
@@ -258,7 +258,7 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
                bb_write_embedded(priv, 0x88, 0x08);
                bySIFS = C_SIFS_BG;
 
-               if (priv->bShortSlotTime) {
+               if (priv->short_slot_time) {
                        bySlot = C_SLOT_SHORT;
                        byDIFS = C_SIFS_BG + 2 * C_SLOT_SHORT;
                } else {
@@ -292,25 +292,25 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type)
 
        if (priv->bySIFS != bySIFS) {
                priv->bySIFS = bySIFS;
-               VNSvOutPortB(priv->PortOffset + MAC_REG_SIFS, priv->bySIFS);
+               VNSvOutPortB(priv->port_offset + MAC_REG_SIFS, priv->bySIFS);
        }
        if (priv->byDIFS != byDIFS) {
                priv->byDIFS = byDIFS;
-               VNSvOutPortB(priv->PortOffset + MAC_REG_DIFS, priv->byDIFS);
+               VNSvOutPortB(priv->port_offset + MAC_REG_DIFS, priv->byDIFS);
        }
        if (priv->byEIFS != C_EIFS) {
                priv->byEIFS = C_EIFS;
-               VNSvOutPortB(priv->PortOffset + MAC_REG_EIFS, priv->byEIFS);
+               VNSvOutPortB(priv->port_offset + MAC_REG_EIFS, priv->byEIFS);
        }
        if (priv->bySlot != bySlot) {
                priv->bySlot = bySlot;
-               VNSvOutPortB(priv->PortOffset + MAC_REG_SLOT, priv->bySlot);
+               VNSvOutPortB(priv->port_offset + MAC_REG_SLOT, priv->bySlot);
 
                bb_set_short_slot_time(priv);
        }
        if (priv->byCWMaxMin != byCWMaxMin) {
                priv->byCWMaxMin = byCWMaxMin;
-               VNSvOutPortB(priv->PortOffset + MAC_REG_CWMAXMIN0,
+               VNSvOutPortB(priv->port_offset + MAC_REG_CWMAXMIN0,
                             priv->byCWMaxMin);
        }
 
@@ -348,11 +348,11 @@ bool CARDbUpdateTSF(struct vnt_private *priv, unsigned char byRxRate,
                qwTSFOffset = CARDqGetTSFOffset(byRxRate, qwBSSTimestamp,
                                                local_tsf);
                /* adjust TSF, HW's TSF add TSF Offset reg */
-               VNSvOutPortD(priv->PortOffset + MAC_REG_TSFOFST,
+               VNSvOutPortD(priv->port_offset + MAC_REG_TSFOFST,
                             (u32)qwTSFOffset);
-               VNSvOutPortD(priv->PortOffset + MAC_REG_TSFOFST + 4,
+               VNSvOutPortD(priv->port_offset + MAC_REG_TSFOFST + 4,
                             (u32)(qwTSFOffset >> 32));
-               MACvRegBitsOn(priv->PortOffset, MAC_REG_TFTCTL,
+               MACvRegBitsOn(priv->port_offset, MAC_REG_TFTCTL,
                              TFTCTL_TSFSYNCEN);
        }
        return true;
@@ -381,13 +381,13 @@ bool CARDbSetBeaconPeriod(struct vnt_private *priv,
        qwNextTBTT = CARDqGetNextTBTT(qwNextTBTT, wBeaconInterval);
 
        /* set HW beacon interval */
-       VNSvOutPortW(priv->PortOffset + MAC_REG_BI, wBeaconInterval);
+       VNSvOutPortW(priv->port_offset + MAC_REG_BI, wBeaconInterval);
        priv->wBeaconInterval = wBeaconInterval;
        /* Set NextTBTT */
-       VNSvOutPortD(priv->PortOffset + MAC_REG_NEXTTBTT, (u32)qwNextTBTT);
-       VNSvOutPortD(priv->PortOffset + MAC_REG_NEXTTBTT + 4,
+       VNSvOutPortD(priv->port_offset + MAC_REG_NEXTTBTT, (u32)qwNextTBTT);
+       VNSvOutPortD(priv->port_offset + MAC_REG_NEXTTBTT + 4,
                     (u32)(qwNextTBTT >> 32));
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_TFTCTL, TFTCTL_TBTTSYNCEN);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_TFTCTL, TFTCTL_TBTTSYNCEN);
 
        return true;
 }
@@ -409,29 +409,29 @@ void CARDbRadioPowerOff(struct vnt_private *priv)
 
        switch (priv->byRFType) {
        case RF_RFMD2959:
-               MACvWordRegBitsOff(priv->PortOffset, MAC_REG_SOFTPWRCTL,
+               MACvWordRegBitsOff(priv->port_offset, MAC_REG_SOFTPWRCTL,
                                   SOFTPWRCTL_TXPEINV);
-               MACvWordRegBitsOn(priv->PortOffset, MAC_REG_SOFTPWRCTL,
+               MACvWordRegBitsOn(priv->port_offset, MAC_REG_SOFTPWRCTL,
                                  SOFTPWRCTL_SWPE1);
                break;
 
        case RF_AIROHA:
        case RF_AL2230S:
        case RF_AIROHA7230:
-               MACvWordRegBitsOff(priv->PortOffset, MAC_REG_SOFTPWRCTL,
+               MACvWordRegBitsOff(priv->port_offset, MAC_REG_SOFTPWRCTL,
                                   SOFTPWRCTL_SWPE2);
-               MACvWordRegBitsOff(priv->PortOffset, MAC_REG_SOFTPWRCTL,
+               MACvWordRegBitsOff(priv->port_offset, MAC_REG_SOFTPWRCTL,
                                   SOFTPWRCTL_SWPE3);
                break;
        }
 
-       MACvRegBitsOff(priv->PortOffset, MAC_REG_HOSTCR, HOSTCR_RXON);
+       MACvRegBitsOff(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_RXON);
 
-       bb_set_deep_sleep(priv, priv->byLocalID);
+       bb_set_deep_sleep(priv, priv->local_id);
 
        priv->bRadioOff = true;
        pr_debug("chester power off\n");
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_GPIOCTL0,
+       MACvRegBitsOn(priv->port_offset, MAC_REG_GPIOCTL0,
                      LED_ACTSET);  /* LED issue */
 }
 
@@ -467,7 +467,7 @@ void CARDvSafeResetTx(struct vnt_private *priv)
        MACvSetCurrTXDescAddr(TYPE_AC0DMA, priv, priv->td1_pool_dma);
 
        /* set MAC Beacon TX pointer */
-       MACvSetCurrBCNTxDescAddr(priv->PortOffset,
+       MACvSetCurrBCNTxDescAddr(priv->port_offset,
                                 (priv->tx_beacon_dma));
 }
 
@@ -509,8 +509,8 @@ void CARDvSafeResetRx(struct vnt_private *priv)
        }
 
        /* set perPkt mode */
-       MACvRx0PerPktMode(priv->PortOffset);
-       MACvRx1PerPktMode(priv->PortOffset);
+       MACvRx0PerPktMode(priv->port_offset);
+       MACvRx1PerPktMode(priv->port_offset);
        /* set MAC RD pointer */
        MACvSetCurrRx0DescAddr(priv, priv->rd0_pool_dma);
 
@@ -599,7 +599,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
        spin_lock_irqsave(&priv->lock, flags);
 
        /* Set to Page1 */
-       MACvSelectPage1(priv->PortOffset);
+       MACvSelectPage1(priv->port_offset);
 
        /* RSPINF_b_1 */
        vnt_get_phy_field(priv, 14,
@@ -609,7 +609,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
         /* swap over to get correct write order */
        swap(phy.swap[0], phy.swap[1]);
 
-       VNSvOutPortD(priv->PortOffset + MAC_REG_RSPINF_B_1, phy.field_write);
+       VNSvOutPortD(priv->port_offset + MAC_REG_RSPINF_B_1, phy.field_write);
 
        /* RSPINF_b_2 */
        vnt_get_phy_field(priv, 14,
@@ -618,7 +618,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
 
        swap(phy.swap[0], phy.swap[1]);
 
-       VNSvOutPortD(priv->PortOffset + MAC_REG_RSPINF_B_2, phy.field_write);
+       VNSvOutPortD(priv->port_offset + MAC_REG_RSPINF_B_2, phy.field_write);
 
        /* RSPINF_b_5 */
        vnt_get_phy_field(priv, 14,
@@ -627,7 +627,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
 
        swap(phy.swap[0], phy.swap[1]);
 
-       VNSvOutPortD(priv->PortOffset + MAC_REG_RSPINF_B_5, phy.field_write);
+       VNSvOutPortD(priv->port_offset + MAC_REG_RSPINF_B_5, phy.field_write);
 
        /* RSPINF_b_11 */
        vnt_get_phy_field(priv, 14,
@@ -636,42 +636,42 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
 
        swap(phy.swap[0], phy.swap[1]);
 
-       VNSvOutPortD(priv->PortOffset + MAC_REG_RSPINF_B_11, phy.field_write);
+       VNSvOutPortD(priv->port_offset + MAC_REG_RSPINF_B_11, phy.field_write);
 
        /* RSPINF_a_6 */
        s_vCalculateOFDMRParameter(RATE_6M,
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_6,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_6,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_9 */
        s_vCalculateOFDMRParameter(RATE_9M,
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_9,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_9,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_12 */
        s_vCalculateOFDMRParameter(RATE_12M,
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_12,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_12,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_18 */
        s_vCalculateOFDMRParameter(RATE_18M,
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_18,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_18,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_24 */
        s_vCalculateOFDMRParameter(RATE_24M,
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_24,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_24,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_36 */
        s_vCalculateOFDMRParameter(CARDwGetOFDMControlRate((void *)priv,
@@ -679,7 +679,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_36,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_36,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_48 */
        s_vCalculateOFDMRParameter(CARDwGetOFDMControlRate((void *)priv,
@@ -687,7 +687,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_48,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_48,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_54 */
        s_vCalculateOFDMRParameter(CARDwGetOFDMControlRate((void *)priv,
@@ -695,7 +695,7 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_54,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_54,
                     MAKEWORD(byTxRate, byRsvTime));
        /* RSPINF_a_72 */
        s_vCalculateOFDMRParameter(CARDwGetOFDMControlRate((void *)priv,
@@ -703,10 +703,10 @@ void CARDvSetRSPINF(struct vnt_private *priv, u8 bb_type)
                                   bb_type,
                                   &byTxRate,
                                   &byRsvTime);
-       VNSvOutPortW(priv->PortOffset + MAC_REG_RSPINF_A_72,
+       VNSvOutPortW(priv->port_offset + MAC_REG_RSPINF_A_72,
                     MAKEWORD(byTxRate, byRsvTime));
        /* Set to Page0 */
-       MACvSelectPage0(priv->PortOffset);
+       MACvSelectPage0(priv->port_offset);
 
        spin_unlock_irqrestore(&priv->lock, flags);
 }
@@ -796,7 +796,7 @@ u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2)
  */
 bool CARDbGetCurrentTSF(struct vnt_private *priv, u64 *pqwCurrTSF)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        unsigned short ww;
        unsigned char byData;
 
@@ -857,7 +857,7 @@ u64 CARDqGetNextTBTT(u64 qwTSF, unsigned short wBeaconInterval)
 void CARDvSetFirstNextTBTT(struct vnt_private *priv,
                           unsigned short wBeaconInterval)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        u64 qwNextTBTT = 0;
 
        CARDbGetCurrentTSF(priv, &qwNextTBTT); /* Get Local TSF counter */
@@ -886,7 +886,7 @@ void CARDvSetFirstNextTBTT(struct vnt_private *priv,
 void CARDvUpdateNextTBTT(struct vnt_private *priv, u64 qwTSF,
                         unsigned short wBeaconInterval)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
 
        qwTSF = CARDqGetNextTBTT(qwTSF, wBeaconInterval);
        /* Set NextTBTT */
index 52b6538..b550a1a 100644 (file)
@@ -173,7 +173,7 @@ bool set_channel(struct vnt_private *priv, struct ieee80211_channel *ch)
        }
 
        /* clear NAV */
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_MACCR, MACCR_CLRNAV);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_MACCR, MACCR_CLRNAV);
 
        /* TX_PE will reserve 3 us for MAX2829 A mode only,
         * it is for better TX throughput
@@ -193,20 +193,20 @@ bool set_channel(struct vnt_private *priv, struct ieee80211_channel *ch)
 
        bb_software_reset(priv);
 
-       if (priv->byLocalID > REV_ID_VT3253_B1) {
+       if (priv->local_id > REV_ID_VT3253_B1) {
                unsigned long flags;
 
                spin_lock_irqsave(&priv->lock, flags);
 
                /* set HW default power register */
-               MACvSelectPage1(priv->PortOffset);
+               MACvSelectPage1(priv->port_offset);
                RFbSetPower(priv, RATE_1M, priv->byCurrentCh);
-               VNSvOutPortB(priv->PortOffset + MAC_REG_PWRCCK,
+               VNSvOutPortB(priv->port_offset + MAC_REG_PWRCCK,
                             priv->byCurPwr);
                RFbSetPower(priv, RATE_6M, priv->byCurrentCh);
-               VNSvOutPortB(priv->PortOffset + MAC_REG_PWROFDM,
+               VNSvOutPortB(priv->port_offset + MAC_REG_PWROFDM,
                             priv->byCurPwr);
-               MACvSelectPage0(priv->PortOffset);
+               MACvSelectPage0(priv->port_offset);
 
                spin_unlock_irqrestore(&priv->lock, flags);
        }
index 2af7691..4706bde 100644 (file)
@@ -124,7 +124,7 @@ struct vnt_private {
        unsigned char *tx1_bufs;
        unsigned char *tx_beacon_bufs;
 
-       void __iomem                *PortOffset;
+       void __iomem                *port_offset;
        u32                         memaddr;
        u32                         ioaddr;
 
@@ -154,7 +154,7 @@ struct vnt_private {
        u32                         rx_bytes;
 
        /* Version control */
-       unsigned char byLocalID;
+       unsigned char local_id;
        unsigned char byRFType;
 
        unsigned char byMaxPwrLevel;
@@ -203,7 +203,7 @@ struct vnt_private {
        unsigned char byMinChannel;
        unsigned char byMaxChannel;
 
-       unsigned char byPreambleType;
+       unsigned char preamble_type;
        unsigned char byShortPreamble;
 
        unsigned short wCurrentRate;
@@ -215,7 +215,7 @@ struct vnt_private {
 
        bool bEncryptionEnable;
        bool bLongHeader;
-       bool bShortSlotTime;
+       bool short_slot_time;
        bool bProtectMode;
        bool bNonERPPresent;
        bool bBarkerPreambleMd;
@@ -253,7 +253,7 @@ struct vnt_private {
        unsigned char byBBVGANew;
        unsigned char byBBVGACurrent;
        unsigned char abyBBVGA[BB_VGA_LEVEL];
-       long                    ldBmThreshold[BB_VGA_LEVEL];
+       long                    dbm_threshold[BB_VGA_LEVEL];
 
        unsigned char byBBPreEDRSSI;
        unsigned char byBBPreEDIndex;
index d40c2ac..212d2a2 100644 (file)
@@ -177,11 +177,11 @@ device_set_options(struct vnt_private *priv)
        priv->byPacketType = priv->byBBType;
        priv->byAutoFBCtrl = AUTO_FB_0;
        priv->bUpdateBBVGA = true;
-       priv->byPreambleType = 0;
+       priv->preamble_type = 0;
 
        pr_debug(" byShortRetryLimit= %d\n", (int)priv->byShortRetryLimit);
        pr_debug(" byLongRetryLimit= %d\n", (int)priv->byLongRetryLimit);
-       pr_debug(" byPreambleType= %d\n", (int)priv->byPreambleType);
+       pr_debug(" preamble_type= %d\n", (int)priv->preamble_type);
        pr_debug(" byShortPreamble= %d\n", (int)priv->byShortPreamble);
        pr_debug(" byBBType= %d\n", (int)priv->byBBType);
 }
@@ -219,11 +219,11 @@ static void device_init_registers(struct vnt_private *priv)
        MACvInitialize(priv);
 
        /* Get Local ID */
-       VNSvInPortB(priv->PortOffset + MAC_REG_LOCALID, &priv->byLocalID);
+       VNSvInPortB(priv->port_offset + MAC_REG_LOCALID, &priv->local_id);
 
        spin_lock_irqsave(&priv->lock, flags);
 
-       SROMvReadAllContents(priv->PortOffset, priv->abyEEPROM);
+       SROMvReadAllContents(priv->port_offset, priv->abyEEPROM);
 
        spin_unlock_irqrestore(&priv->lock, flags);
 
@@ -232,7 +232,7 @@ static void device_init_registers(struct vnt_private *priv)
        priv->byMaxChannel = CB_MAX_CHANNEL;
 
        /* Get Antena */
-       byValue = SROMbyReadEmbedded(priv->PortOffset, EEP_OFS_ANTENNA);
+       byValue = SROMbyReadEmbedded(priv->port_offset, EEP_OFS_ANTENNA);
        if (byValue & EEP_ANTINV)
                priv->bTxRxAntInv = true;
        else
@@ -292,20 +292,20 @@ static void device_init_registers(struct vnt_private *priv)
 
        /* Get Desire Power Value */
        priv->byCurPwr = 0xFF;
-       priv->byCCKPwr = SROMbyReadEmbedded(priv->PortOffset, EEP_OFS_PWR_CCK);
-       priv->byOFDMPwrG = SROMbyReadEmbedded(priv->PortOffset,
+       priv->byCCKPwr = SROMbyReadEmbedded(priv->port_offset, EEP_OFS_PWR_CCK);
+       priv->byOFDMPwrG = SROMbyReadEmbedded(priv->port_offset,
                                              EEP_OFS_PWR_OFDMG);
 
        /* Load power Table */
        for (ii = 0; ii < CB_MAX_CHANNEL_24G; ii++) {
                priv->abyCCKPwrTbl[ii + 1] =
-                       SROMbyReadEmbedded(priv->PortOffset,
+                       SROMbyReadEmbedded(priv->port_offset,
                                           (unsigned char)(ii + EEP_OFS_CCK_PWR_TBL));
                if (priv->abyCCKPwrTbl[ii + 1] == 0)
                        priv->abyCCKPwrTbl[ii + 1] = priv->byCCKPwr;
 
                priv->abyOFDMPwrTbl[ii + 1] =
-                       SROMbyReadEmbedded(priv->PortOffset,
+                       SROMbyReadEmbedded(priv->port_offset,
                                           (unsigned char)(ii + EEP_OFS_OFDM_PWR_TBL));
                if (priv->abyOFDMPwrTbl[ii + 1] == 0)
                        priv->abyOFDMPwrTbl[ii + 1] = priv->byOFDMPwrG;
@@ -323,25 +323,25 @@ static void device_init_registers(struct vnt_private *priv)
        /* Load OFDM A Power Table */
        for (ii = 0; ii < CB_MAX_CHANNEL_5G; ii++) {
                priv->abyOFDMPwrTbl[ii + CB_MAX_CHANNEL_24G + 1] =
-                       SROMbyReadEmbedded(priv->PortOffset,
+                       SROMbyReadEmbedded(priv->port_offset,
                                           (unsigned char)(ii + EEP_OFS_OFDMA_PWR_TBL));
 
                priv->abyOFDMDefaultPwr[ii + CB_MAX_CHANNEL_24G + 1] =
-                       SROMbyReadEmbedded(priv->PortOffset,
+                       SROMbyReadEmbedded(priv->port_offset,
                                           (unsigned char)(ii + EEP_OFS_OFDMA_PWR_dBm));
        }
 
-       if (priv->byLocalID > REV_ID_VT3253_B1) {
-               MACvSelectPage1(priv->PortOffset);
+       if (priv->local_id > REV_ID_VT3253_B1) {
+               MACvSelectPage1(priv->port_offset);
 
-               VNSvOutPortB(priv->PortOffset + MAC_REG_MSRCTL + 1,
+               VNSvOutPortB(priv->port_offset + MAC_REG_MSRCTL + 1,
                             (MSRCTL1_TXPWR | MSRCTL1_CSAPAREN));
 
-               MACvSelectPage0(priv->PortOffset);
+               MACvSelectPage0(priv->port_offset);
        }
 
        /* use relative tx timeout and 802.11i D4 */
-       MACvWordRegBitsOn(priv->PortOffset,
+       MACvWordRegBitsOn(priv->port_offset,
                          MAC_REG_CFG, (CFG_TKIPOPT | CFG_NOTXTIMEOUT));
 
        /* set performance parameter by registry */
@@ -349,9 +349,9 @@ static void device_init_registers(struct vnt_private *priv)
        MACvSetLongRetryLimit(priv, priv->byLongRetryLimit);
 
        /* reset TSF counter */
-       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL, TFTCTL_TSFCNTRST);
+       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL, TFTCTL_TSFCNTRST);
        /* enable TSF counter */
-       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
+       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
 
        /* initialize BBP registers */
        bb_vt3253_init(priv);
@@ -371,13 +371,13 @@ static void device_init_registers(struct vnt_private *priv)
 
        priv->bRadioOff = false;
 
-       priv->byRadioCtl = SROMbyReadEmbedded(priv->PortOffset,
+       priv->byRadioCtl = SROMbyReadEmbedded(priv->port_offset,
                                              EEP_OFS_RADIOCTL);
        priv->bHWRadioOff = false;
 
        if (priv->byRadioCtl & EEP_RADIOCTL_ENABLE) {
                /* Get GPIO */
-               MACvGPIOIn(priv->PortOffset, &priv->byGPIO);
+               MACvGPIOIn(priv->port_offset, &priv->byGPIO);
 
                if (((priv->byGPIO & GPIO0_DATA) &&
                     !(priv->byRadioCtl & EEP_RADIOCTL_INV)) ||
@@ -390,7 +390,7 @@ static void device_init_registers(struct vnt_private *priv)
                CARDbRadioPowerOff(priv);
 
        /* get Permanent network address */
-       SROMvReadEtherAddress(priv->PortOffset, priv->abyCurrentNetAddr);
+       SROMvReadEtherAddress(priv->port_offset, priv->abyCurrentNetAddr);
        pr_debug("Network address = %pM\n", priv->abyCurrentNetAddr);
 
        /* reset Tx pointer */
@@ -398,22 +398,22 @@ static void device_init_registers(struct vnt_private *priv)
        /* reset Rx pointer */
        CARDvSafeResetTx(priv);
 
-       if (priv->byLocalID <= REV_ID_VT3253_A1)
-               MACvRegBitsOn(priv->PortOffset, MAC_REG_RCR, RCR_WPAERR);
+       if (priv->local_id <= REV_ID_VT3253_A1)
+               MACvRegBitsOn(priv->port_offset, MAC_REG_RCR, RCR_WPAERR);
 
        /* Turn On Rx DMA */
-       MACvReceive0(priv->PortOffset);
-       MACvReceive1(priv->PortOffset);
+       MACvReceive0(priv->port_offset);
+       MACvReceive1(priv->port_offset);
 
        /* start the adapter */
-       MACvStart(priv->PortOffset);
+       MACvStart(priv->port_offset);
 }
 
 static void device_print_info(struct vnt_private *priv)
 {
        dev_info(&priv->pcid->dev, "MAC=%pM IO=0x%lx Mem=0x%lx IRQ=%d\n",
                 priv->abyCurrentNetAddr, (unsigned long)priv->ioaddr,
-                (unsigned long)priv->PortOffset, priv->pcid->irq);
+                (unsigned long)priv->port_offset, priv->pcid->irq);
 }
 
 static void device_free_info(struct vnt_private *priv)
@@ -424,8 +424,8 @@ static void device_free_info(struct vnt_private *priv)
        if (priv->mac_hw)
                ieee80211_unregister_hw(priv->hw);
 
-       if (priv->PortOffset)
-               iounmap(priv->PortOffset);
+       if (priv->port_offset)
+               iounmap(priv->port_offset);
 
        if (priv->pcid)
                pci_release_regions(priv->pcid);
@@ -986,7 +986,7 @@ static void vnt_check_bb_vga(struct vnt_private *priv)
        RFvRSSITodBm(priv, (u8)priv->uCurrRSSI, &dbm);
 
        for (i = 0; i < BB_VGA_LEVEL; i++) {
-               if (dbm < priv->ldBmThreshold[i]) {
+               if (dbm < priv->dbm_threshold[i]) {
                        priv->byBBVGANew = priv->abyBBVGA[i];
                        break;
                }
@@ -1029,7 +1029,7 @@ static void vnt_interrupt_process(struct vnt_private *priv)
        u32 isr;
        unsigned long flags;
 
-       MACvReadISR(priv->PortOffset, &isr);
+       MACvReadISR(priv->port_offset, &isr);
 
        if (isr == 0)
                return;
@@ -1042,7 +1042,7 @@ static void vnt_interrupt_process(struct vnt_private *priv)
        spin_lock_irqsave(&priv->lock, flags);
 
        /* Read low level stats */
-       MACvReadMIBCounter(priv->PortOffset, &mib_counter);
+       MACvReadMIBCounter(priv->port_offset, &mib_counter);
 
        low_stats->dot11RTSSuccessCount += mib_counter & 0xff;
        low_stats->dot11RTSFailureCount += (mib_counter >> 8) & 0xff;
@@ -1056,12 +1056,12 @@ static void vnt_interrupt_process(struct vnt_private *priv)
         * update ISR counter
         */
        while (isr && priv->vif) {
-               MACvWriteISR(priv->PortOffset, isr);
+               MACvWriteISR(priv->port_offset, isr);
 
                if (isr & ISR_FETALERR) {
                        pr_debug(" ISR_FETALERR\n");
-                       VNSvOutPortB(priv->PortOffset + MAC_REG_SOFTPWRCTL, 0);
-                       VNSvOutPortW(priv->PortOffset +
+                       VNSvOutPortB(priv->port_offset + MAC_REG_SOFTPWRCTL, 0);
+                       VNSvOutPortW(priv->port_offset +
                                     MAC_REG_SOFTPWRCTL, SOFTPWRCTL_SWPECTI);
                        device_error(priv, isr);
                }
@@ -1116,10 +1116,10 @@ static void vnt_interrupt_process(struct vnt_private *priv)
                    ieee80211_queue_stopped(priv->hw, 0))
                        ieee80211_wake_queues(priv->hw);
 
-               MACvReadISR(priv->PortOffset, &isr);
+               MACvReadISR(priv->port_offset, &isr);
 
-               MACvReceive0(priv->PortOffset);
-               MACvReceive1(priv->PortOffset);
+               MACvReceive0(priv->port_offset);
+               MACvReceive1(priv->port_offset);
 
                if (max_count > priv->opts.int_works)
                        break;
@@ -1136,7 +1136,7 @@ static void vnt_interrupt_work(struct work_struct *work)
        if (priv->vif)
                vnt_interrupt_process(priv);
 
-       MACvIntEnable(priv->PortOffset, IMR_MASK_VALUE);
+       MACvIntEnable(priv->port_offset, IMR_MASK_VALUE);
 }
 
 static irqreturn_t vnt_interrupt(int irq,  void *arg)
@@ -1145,7 +1145,7 @@ static irqreturn_t vnt_interrupt(int irq,  void *arg)
 
        schedule_work(&priv->interrupt_work);
 
-       MACvIntDisable(priv->PortOffset);
+       MACvIntDisable(priv->port_offset);
 
        return IRQ_HANDLED;
 }
@@ -1201,9 +1201,9 @@ static int vnt_tx_packet(struct vnt_private *priv, struct sk_buff *skb)
        wmb(); /* second memory barrier */
 
        if (head_td->td_info->flags & TD_FLAGS_NETIF_SKB)
-               MACvTransmitAC0(priv->PortOffset);
+               MACvTransmitAC0(priv->port_offset);
        else
-               MACvTransmit0(priv->PortOffset);
+               MACvTransmit0(priv->port_offset);
 
        priv->iTDUsed[dma_idx]++;
 
@@ -1255,7 +1255,7 @@ static int vnt_start(struct ieee80211_hw *hw)
        device_init_registers(priv);
 
        dev_dbg(&priv->pcid->dev, "call MACvIntEnable\n");
-       MACvIntEnable(priv->PortOffset, IMR_MASK_VALUE);
+       MACvIntEnable(priv->port_offset, IMR_MASK_VALUE);
 
        ieee80211_wake_queues(hw);
 
@@ -1305,15 +1305,15 @@ static int vnt_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
        case NL80211_IFTYPE_STATION:
                break;
        case NL80211_IFTYPE_ADHOC:
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_RCR, RCR_UNICAST);
+               MACvRegBitsOff(priv->port_offset, MAC_REG_RCR, RCR_UNICAST);
 
-               MACvRegBitsOn(priv->PortOffset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
+               MACvRegBitsOn(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
 
                break;
        case NL80211_IFTYPE_AP:
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_RCR, RCR_UNICAST);
+               MACvRegBitsOff(priv->port_offset, MAC_REG_RCR, RCR_UNICAST);
 
-               MACvRegBitsOn(priv->PortOffset, MAC_REG_HOSTCR, HOSTCR_AP);
+               MACvRegBitsOn(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_AP);
 
                break;
        default:
@@ -1334,16 +1334,16 @@ static void vnt_remove_interface(struct ieee80211_hw *hw,
        case NL80211_IFTYPE_STATION:
                break;
        case NL80211_IFTYPE_ADHOC:
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_TCR, TCR_AUTOBCNTX);
-               MACvRegBitsOff(priv->PortOffset,
+               MACvRegBitsOff(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
+               MACvRegBitsOff(priv->port_offset,
                               MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
+               MACvRegBitsOff(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_ADHOC);
                break;
        case NL80211_IFTYPE_AP:
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_TCR, TCR_AUTOBCNTX);
-               MACvRegBitsOff(priv->PortOffset,
+               MACvRegBitsOff(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
+               MACvRegBitsOff(priv->port_offset,
                               MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_HOSTCR, HOSTCR_AP);
+               MACvRegBitsOff(priv->port_offset, MAC_REG_HOSTCR, HOSTCR_AP);
                break;
        default:
                break;
@@ -1407,7 +1407,7 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 
                spin_lock_irqsave(&priv->lock, flags);
 
-               MACvWriteBSSIDAddress(priv->PortOffset, (u8 *)conf->bssid);
+               MACvWriteBSSIDAddress(priv->port_offset, (u8 *)conf->bssid);
 
                spin_unlock_irqrestore(&priv->lock, flags);
        }
@@ -1423,26 +1423,26 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 
        if (changed & BSS_CHANGED_ERP_PREAMBLE) {
                if (conf->use_short_preamble) {
-                       MACvEnableBarkerPreambleMd(priv->PortOffset);
-                       priv->byPreambleType = true;
+                       MACvEnableBarkerPreambleMd(priv->port_offset);
+                       priv->preamble_type = true;
                } else {
-                       MACvDisableBarkerPreambleMd(priv->PortOffset);
-                       priv->byPreambleType = false;
+                       MACvDisableBarkerPreambleMd(priv->port_offset);
+                       priv->preamble_type = false;
                }
        }
 
        if (changed & BSS_CHANGED_ERP_CTS_PROT) {
                if (conf->use_cts_prot)
-                       MACvEnableProtectMD(priv->PortOffset);
+                       MACvEnableProtectMD(priv->port_offset);
                else
-                       MACvDisableProtectMD(priv->PortOffset);
+                       MACvDisableProtectMD(priv->port_offset);
        }
 
        if (changed & BSS_CHANGED_ERP_SLOT) {
                if (conf->use_short_slot)
-                       priv->bShortSlotTime = true;
+                       priv->short_slot_time = true;
                else
-                       priv->bShortSlotTime = false;
+                       priv->short_slot_time = false;
 
                CARDbSetPhyParameter(priv, priv->byBBType);
                bb_set_vga_gain_offset(priv, priv->abyBBVGA[0]);
@@ -1459,10 +1459,10 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
                if (conf->enable_beacon) {
                        vnt_beacon_enable(priv, vif, conf);
 
-                       MACvRegBitsOn(priv->PortOffset, MAC_REG_TCR,
+                       MACvRegBitsOn(priv->port_offset, MAC_REG_TCR,
                                      TCR_AUTOBCNTX);
                } else {
-                       MACvRegBitsOff(priv->PortOffset, MAC_REG_TCR,
+                       MACvRegBitsOff(priv->port_offset, MAC_REG_TCR,
                                       TCR_AUTOBCNTX);
                }
        }
@@ -1477,9 +1477,9 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw,
 
                        CARDvSetFirstNextTBTT(priv, conf->beacon_int);
                } else {
-                       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL,
+                       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL,
                                     TFTCTL_TSFCNTRST);
-                       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL,
+                       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL,
                                     TFTCTL_TSFCNTREN);
                }
        }
@@ -1513,7 +1513,7 @@ static void vnt_configure(struct ieee80211_hw *hw,
 
        *total_flags &= FIF_ALLMULTI | FIF_OTHER_BSS | FIF_BCN_PRBRESP_PROMISC;
 
-       VNSvInPortB(priv->PortOffset + MAC_REG_RCR, &rx_mode);
+       VNSvInPortB(priv->port_offset + MAC_REG_RCR, &rx_mode);
 
        dev_dbg(&priv->pcid->dev, "rx mode in = %x\n", rx_mode);
 
@@ -1524,24 +1524,24 @@ static void vnt_configure(struct ieee80211_hw *hw,
                        spin_lock_irqsave(&priv->lock, flags);
 
                        if (priv->mc_list_count > 2) {
-                               MACvSelectPage1(priv->PortOffset);
+                               MACvSelectPage1(priv->port_offset);
 
-                               VNSvOutPortD(priv->PortOffset +
+                               VNSvOutPortD(priv->port_offset +
                                             MAC_REG_MAR0, 0xffffffff);
-                               VNSvOutPortD(priv->PortOffset +
+                               VNSvOutPortD(priv->port_offset +
                                            MAC_REG_MAR0 + 4, 0xffffffff);
 
-                               MACvSelectPage0(priv->PortOffset);
+                               MACvSelectPage0(priv->port_offset);
                        } else {
-                               MACvSelectPage1(priv->PortOffset);
+                               MACvSelectPage1(priv->port_offset);
 
-                               VNSvOutPortD(priv->PortOffset +
+                               VNSvOutPortD(priv->port_offset +
                                             MAC_REG_MAR0, (u32)multicast);
-                               VNSvOutPortD(priv->PortOffset +
+                               VNSvOutPortD(priv->port_offset +
                                             MAC_REG_MAR0 + 4,
                                             (u32)(multicast >> 32));
 
-                               MACvSelectPage0(priv->PortOffset);
+                               MACvSelectPage0(priv->port_offset);
                        }
 
                        spin_unlock_irqrestore(&priv->lock, flags);
@@ -1561,7 +1561,7 @@ static void vnt_configure(struct ieee80211_hw *hw,
                        rx_mode |= RCR_BSSID;
        }
 
-       VNSvOutPortB(priv->PortOffset + MAC_REG_RCR, rx_mode);
+       VNSvOutPortB(priv->port_offset + MAC_REG_RCR, rx_mode);
 
        dev_dbg(&priv->pcid->dev, "rx mode out= %x\n", rx_mode);
 }
@@ -1621,7 +1621,7 @@ static void vnt_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
        struct vnt_private *priv = hw->priv;
 
        /* reset TSF counter */
-       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL, TFTCTL_TSFCNTRST);
+       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL, TFTCTL_TSFCNTRST);
 }
 
 static const struct ieee80211_ops vnt_mac_ops = {
@@ -1698,9 +1698,9 @@ vt6655_probe(struct pci_dev *pcid, const struct pci_device_id *ent)
 
        priv->memaddr = pci_resource_start(pcid, 0);
        priv->ioaddr = pci_resource_start(pcid, 1);
-       priv->PortOffset = ioremap(priv->memaddr & PCI_BASE_ADDRESS_MEM_MASK,
+       priv->port_offset = ioremap(priv->memaddr & PCI_BASE_ADDRESS_MEM_MASK,
                                   256);
-       if (!priv->PortOffset) {
+       if (!priv->port_offset) {
                dev_err(&pcid->dev, ": Failed to IO remapping ..\n");
                device_free_info(priv);
                return -ENODEV;
@@ -1729,10 +1729,10 @@ vt6655_probe(struct pci_dev *pcid, const struct pci_device_id *ent)
        }
        /* initial to reload eeprom */
        MACvInitialize(priv);
-       MACvReadEtherAddress(priv->PortOffset, priv->abyCurrentNetAddr);
+       MACvReadEtherAddress(priv->port_offset, priv->abyCurrentNetAddr);
 
        /* Get RFType */
-       priv->byRFType = SROMbyReadEmbedded(priv->PortOffset, EEP_OFS_RFTYPE);
+       priv->byRFType = SROMbyReadEmbedded(priv->port_offset, EEP_OFS_RFTYPE);
        priv->byRFType &= RF_MASK;
 
        dev_dbg(&pcid->dev, "RF Type = %x\n", priv->byRFType);
index 2d06cec..a7d1d35 100644 (file)
@@ -100,7 +100,7 @@ static bool vnt_rx_data(struct vnt_private *priv, struct sk_buff *skb,
        rx_status.rate_idx = rate_idx;
 
        if (ieee80211_has_protected(fc)) {
-               if (priv->byLocalID > REV_ID_VT3253_A1)
+               if (priv->local_id > REV_ID_VT3253_A1)
                        rx_status.flag |= RX_FLAG_DECRYPTED;
 
                /* Drop packet */
index 20881cf..f843966 100644 (file)
@@ -81,7 +81,7 @@ static int vnt_set_keymode(struct ieee80211_hw *hw, u8 *mac_addr,
        }
 
        MACvSetKeyEntry(priv, key_mode, entry, key_inx,
-                       bssid, (u32 *)key->key, priv->byLocalID);
+                       bssid, (u32 *)key->key, priv->local_id);
 
        return 0;
 }
index 9721c22..80cced7 100644 (file)
@@ -57,7 +57,7 @@
 bool MACbIsRegBitsOff(struct vnt_private *priv, unsigned char byRegOfs,
                      unsigned char byTestBits)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        return !(ioread8(io_base + byRegOfs) & byTestBits);
 }
@@ -77,7 +77,7 @@ bool MACbIsRegBitsOff(struct vnt_private *priv, unsigned char byRegOfs,
  */
 bool MACbIsIntDisable(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        if (ioread32(io_base + MAC_REG_IMR))
                return false;
@@ -102,7 +102,7 @@ bool MACbIsIntDisable(struct vnt_private *priv)
 void MACvSetShortRetryLimit(struct vnt_private *priv,
                            unsigned char byRetryLimit)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        /* set SRT */
        iowrite8(byRetryLimit, io_base + MAC_REG_SRT);
 }
@@ -124,7 +124,7 @@ void MACvSetShortRetryLimit(struct vnt_private *priv,
 void MACvSetLongRetryLimit(struct vnt_private *priv,
                           unsigned char byRetryLimit)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        /* set LRT */
        iowrite8(byRetryLimit, io_base + MAC_REG_LRT);
 }
@@ -145,7 +145,7 @@ void MACvSetLongRetryLimit(struct vnt_private *priv,
  */
 void MACvSetLoopbackMode(struct vnt_private *priv, unsigned char byLoopbackMode)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        byLoopbackMode <<= 6;
        /* set TCR */
@@ -168,7 +168,7 @@ void MACvSetLoopbackMode(struct vnt_private *priv, unsigned char byLoopbackMode)
  */
 void MACvSaveContext(struct vnt_private *priv, unsigned char *cxt_buf)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        /* read page0 register */
        memcpy_fromio(cxt_buf, io_base, MAC_MAX_CONTEXT_SIZE_PAGE0);
@@ -198,7 +198,7 @@ void MACvSaveContext(struct vnt_private *priv, unsigned char *cxt_buf)
  */
 void MACvRestoreContext(struct vnt_private *priv, unsigned char *cxt_buf)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        MACvSelectPage1(io_base);
        /* restore page1 */
@@ -249,7 +249,7 @@ void MACvRestoreContext(struct vnt_private *priv, unsigned char *cxt_buf)
  */
 bool MACbSoftwareReset(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
 
        /* turn on HOSTCR_SOFTRST, just write 0x01 to reset */
@@ -312,7 +312,7 @@ bool MACbSafeSoftwareReset(struct vnt_private *priv)
  */
 bool MACbSafeRxOff(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
 
        /* turn off wow temp for turn off Rx safely */
@@ -366,7 +366,7 @@ bool MACbSafeRxOff(struct vnt_private *priv)
  */
 bool MACbSafeTxOff(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
 
        /* Clear TX DMA */
@@ -422,7 +422,7 @@ bool MACbSafeTxOff(struct vnt_private *priv)
  */
 bool MACbSafeStop(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        MACvRegBitsOff(io_base, MAC_REG_TCR, TCR_AUTOBCNTX);
 
@@ -457,7 +457,7 @@ bool MACbSafeStop(struct vnt_private *priv)
  */
 bool MACbShutdown(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        /* disable MAC IMR */
        MACvIntDisable(io_base);
        MACvSetLoopbackMode(priv, MAC_LB_INTERNAL);
@@ -485,7 +485,7 @@ bool MACbShutdown(struct vnt_private *priv)
  */
 void MACvInitialize(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        /* clear sticky bits */
        MACvClearStckDS(io_base);
        /* disable force PME-enable */
@@ -517,7 +517,7 @@ void MACvInitialize(struct vnt_private *priv)
  */
 void MACvSetCurrRx0DescAddr(struct vnt_private *priv, u32 curr_desc_addr)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
        unsigned char org_dma_ctl;
 
@@ -551,7 +551,7 @@ void MACvSetCurrRx0DescAddr(struct vnt_private *priv, u32 curr_desc_addr)
  */
 void MACvSetCurrRx1DescAddr(struct vnt_private *priv, u32 curr_desc_addr)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
        unsigned char org_dma_ctl;
 
@@ -586,7 +586,7 @@ void MACvSetCurrRx1DescAddr(struct vnt_private *priv, u32 curr_desc_addr)
 void MACvSetCurrTx0DescAddrEx(struct vnt_private *priv,
                              u32 curr_desc_addr)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
        unsigned char org_dma_ctl;
 
@@ -622,7 +622,7 @@ void MACvSetCurrTx0DescAddrEx(struct vnt_private *priv,
 void MACvSetCurrAC0DescAddrEx(struct vnt_private *priv,
                              u32 curr_desc_addr)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short ww;
        unsigned char org_dma_ctl;
 
@@ -666,7 +666,7 @@ void MACvSetCurrTXDescAddr(int iTxType, struct vnt_private *priv,
  */
 void MACvTimer0MicroSDelay(struct vnt_private *priv, unsigned int uDelay)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned char byValue;
        unsigned int uu, ii;
 
@@ -703,7 +703,7 @@ void MACvTimer0MicroSDelay(struct vnt_private *priv, unsigned int uDelay)
 void MACvOneShotTimer1MicroSec(struct vnt_private *priv,
                               unsigned int uDelayTime)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        iowrite8(0, io_base + MAC_REG_TMCTL1);
        iowrite32(uDelayTime, io_base + MAC_REG_TMDATA1);
@@ -713,7 +713,7 @@ void MACvOneShotTimer1MicroSec(struct vnt_private *priv,
 void MACvSetMISCFifo(struct vnt_private *priv, unsigned short offset,
                     u32 data)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
 
        if (offset > 273)
                return;
@@ -724,7 +724,7 @@ void MACvSetMISCFifo(struct vnt_private *priv, unsigned short offset,
 
 bool MACbPSWakeup(struct vnt_private *priv)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned int ww;
        /* Read PSCTL */
        if (MACbIsRegBitsOff(priv, MAC_REG_PSCTL, PSCTL_PS))
@@ -763,14 +763,14 @@ bool MACbPSWakeup(struct vnt_private *priv)
 void MACvSetKeyEntry(struct vnt_private *priv, unsigned short wKeyCtl,
                     unsigned int uEntryIdx, unsigned int uKeyIdx,
                     unsigned char *pbyAddr, u32 *pdwKey,
-                    unsigned char byLocalID)
+                    unsigned char local_id)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short offset;
        u32 data;
        int     ii;
 
-       if (byLocalID <= 1)
+       if (local_id <= 1)
                return;
 
        offset = MISCFIFO_KEYETRY0;
@@ -830,7 +830,7 @@ void MACvSetKeyEntry(struct vnt_private *priv, unsigned short wKeyCtl,
  */
 void MACvDisableKeyEntry(struct vnt_private *priv, unsigned int uEntryIdx)
 {
-       void __iomem *io_base = priv->PortOffset;
+       void __iomem *io_base = priv->port_offset;
        unsigned short offset;
 
        offset = MISCFIFO_KEYETRY0;
index 9797edd..550dc4d 100644 (file)
@@ -886,8 +886,8 @@ void MACvSetLongRetryLimit(struct vnt_private *priv, unsigned char byRetryLimit)
 
 void MACvSetLoopbackMode(struct vnt_private *priv, unsigned char byLoopbackMode);
 
-void MACvSaveContext(struct vnt_private *priv, unsigned char *pbyCxtBuf);
-void MACvRestoreContext(struct vnt_private *priv, unsigned char *pbyCxtBuf);
+void MACvSaveContext(struct vnt_private *priv, unsigned char *cxt_buf);
+void MACvRestoreContext(struct vnt_private *priv, unsigned char *cxt_buf);
 
 bool MACbSoftwareReset(struct vnt_private *priv);
 bool MACbSafeSoftwareReset(struct vnt_private *priv);
@@ -921,7 +921,7 @@ bool MACbPSWakeup(struct vnt_private *priv);
 void MACvSetKeyEntry(struct vnt_private *priv, unsigned short wKeyCtl,
                     unsigned int uEntryIdx, unsigned int uKeyIdx,
                     unsigned char *pbyAddr, u32 *pdwKey,
-                    unsigned char byLocalID);
+                    unsigned char local_id);
 void MACvDisableKeyEntry(struct vnt_private *priv, unsigned int uEntryIdx);
 
 #endif /* __MAC_H__ */
index aac021e..06066fa 100644 (file)
@@ -52,30 +52,30 @@ void PSvEnablePowerSaving(struct vnt_private *priv,
        u16 wAID = priv->current_aid | BIT(14) | BIT(15);
 
        /* set period of power up before TBTT */
-       VNSvOutPortW(priv->PortOffset + MAC_REG_PWBT, C_PWBT);
+       VNSvOutPortW(priv->port_offset + MAC_REG_PWBT, C_PWBT);
        if (priv->op_mode != NL80211_IFTYPE_ADHOC) {
                /* set AID */
-               VNSvOutPortW(priv->PortOffset + MAC_REG_AIDATIM, wAID);
+               VNSvOutPortW(priv->port_offset + MAC_REG_AIDATIM, wAID);
        }
 
        /* Set AutoSleep */
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
 
        /* Set HWUTSF */
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
 
        if (wListenInterval >= 2) {
                /* clear always listen beacon */
-               MACvRegBitsOff(priv->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
+               MACvRegBitsOff(priv->port_offset, MAC_REG_PSCTL, PSCTL_ALBCN);
                /* first time set listen next beacon */
-               MACvRegBitsOn(priv->PortOffset, MAC_REG_PSCTL, PSCTL_LNBCN);
+               MACvRegBitsOn(priv->port_offset, MAC_REG_PSCTL, PSCTL_LNBCN);
        } else {
                /* always listen beacon */
-               MACvRegBitsOn(priv->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
+               MACvRegBitsOn(priv->port_offset, MAC_REG_PSCTL, PSCTL_ALBCN);
        }
 
        /* enable power saving hw function */
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_PSCTL, PSCTL_PSEN);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_PSCTL, PSCTL_PSEN);
        priv->bEnablePSMode = true;
 
        priv->bPWBitOn = true;
@@ -98,13 +98,13 @@ void PSvDisablePowerSaving(struct vnt_private *priv)
        MACbPSWakeup(priv);
 
        /* clear AutoSleep */
-       MACvRegBitsOff(priv->PortOffset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
+       MACvRegBitsOff(priv->port_offset, MAC_REG_PSCFG, PSCFG_AUTOSLEEP);
 
        /* clear HWUTSF */
-       MACvRegBitsOff(priv->PortOffset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
+       MACvRegBitsOff(priv->port_offset, MAC_REG_TFTCTL, TFTCTL_HWUTSF);
 
        /* set always listen beacon */
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_PSCTL, PSCTL_ALBCN);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_PSCTL, PSCTL_ALBCN);
 
        priv->bEnablePSMode = false;
 
@@ -135,7 +135,7 @@ bool PSbIsNextTBTTWakeUp(struct vnt_private *priv)
 
                if (priv->wake_up_count == 1) {
                        /* Turn on wake up to listen next beacon */
-                       MACvRegBitsOn(priv->PortOffset,
+                       MACvRegBitsOn(priv->port_offset,
                                      MAC_REG_PSCTL, PSCTL_LNBCN);
                        wake_up = true;
                }
index 0dae593..bc4abe7 100644 (file)
@@ -33,7 +33,7 @@
 #define SWITCH_CHANNEL_DELAY_AL7230 200 /* us */
 #define AL7230_PWR_IDX_LEN    64
 
-static const unsigned long dwAL2230InitTable[CB_AL2230_INIT_SEQ] = {
+static const unsigned long al2230_init_table[CB_AL2230_INIT_SEQ] = {
        0x03F79000 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW,
        0x03333100 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW,
        0x01A00200 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW,
@@ -51,7 +51,7 @@ static const unsigned long dwAL2230InitTable[CB_AL2230_INIT_SEQ] = {
        0x00580F00 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW
 };
 
-static const unsigned long dwAL2230ChannelTable0[CB_MAX_CHANNEL] = {
+static const unsigned long al2230_channel_table0[CB_MAX_CHANNEL] = {
        0x03F79000 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW, /* channel = 1, Tf = 2412MHz */
        0x03F79000 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW, /* channel = 2, Tf = 2417MHz */
        0x03E79000 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW, /* channel = 3, Tf = 2422MHz */
@@ -68,7 +68,7 @@ static const unsigned long dwAL2230ChannelTable0[CB_MAX_CHANNEL] = {
        0x03E7C000 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW  /* channel = 14, Tf = 2412M */
 };
 
-static const unsigned long dwAL2230ChannelTable1[CB_MAX_CHANNEL] = {
+static const unsigned long al2230_channel_table1[CB_MAX_CHANNEL] = {
        0x03333100 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW, /* channel = 1, Tf = 2412MHz */
        0x0B333100 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW, /* channel = 2, Tf = 2417MHz */
        0x03333100 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW, /* channel = 3, Tf = 2422MHz */
@@ -85,7 +85,7 @@ static const unsigned long dwAL2230ChannelTable1[CB_MAX_CHANNEL] = {
        0x06666100 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW  /* channel = 14, Tf = 2412M */
 };
 
-static unsigned long dwAL2230PowerTable[AL2230_PWR_IDX_LEN] = {
+static unsigned long al2230_power_table[AL2230_PWR_IDX_LEN] = {
        0x04040900 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW,
        0x04041900 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW,
        0x04042900 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW,
@@ -155,7 +155,7 @@ static unsigned long dwAL2230PowerTable[AL2230_PWR_IDX_LEN] = {
 /* 40MHz reference frequency
  * Need to Pull PLLON(PE3) low when writing channel registers through 3-wire.
  */
-static const unsigned long dwAL7230InitTable[CB_AL7230_INIT_SEQ] = {
+static const unsigned long al7230_init_table[CB_AL7230_INIT_SEQ] = {
        0x00379000 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* Channel1 // Need modify for 11a */
        0x13333100 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* Channel1 // Need modify for 11a */
        0x841FF200 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* Need modify for 11a: 451FE2 */
@@ -176,7 +176,7 @@ static const unsigned long dwAL7230InitTable[CB_AL7230_INIT_SEQ] = {
        0x1ABA8F00 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW  /* Need modify for 11a: 12BACF */
 };
 
-static const unsigned long dwAL7230InitTableAMode[CB_AL7230_INIT_SEQ] = {
+static const unsigned long al7230_init_table_a_mode[CB_AL7230_INIT_SEQ] = {
        0x0FF52000 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* Channel184 // Need modify for 11b/g */
        0x00000100 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* Channel184 // Need modify for 11b/g */
        0x451FE200 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* Need modify for 11b/g */
@@ -195,7 +195,7 @@ static const unsigned long dwAL7230InitTableAMode[CB_AL7230_INIT_SEQ] = {
        0x12BACF00 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW  /* Need modify for 11b/g */
 };
 
-static const unsigned long dwAL7230ChannelTable0[CB_MAX_CHANNEL] = {
+static const unsigned long al7230_channel_table0[CB_MAX_CHANNEL] = {
        0x00379000 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  1, Tf = 2412MHz */
        0x00379000 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  2, Tf = 2417MHz */
        0x00379000 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  3, Tf = 2422MHz */
@@ -262,7 +262,7 @@ static const unsigned long dwAL7230ChannelTable0[CB_MAX_CHANNEL] = {
        0x0FF61000 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW  /* channel = 165, Tf = 5825MHz (56) */
 };
 
-static const unsigned long dwAL7230ChannelTable1[CB_MAX_CHANNEL] = {
+static const unsigned long al7230_channel_table1[CB_MAX_CHANNEL] = {
        0x13333100 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  1, Tf = 2412MHz */
        0x1B333100 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  2, Tf = 2417MHz */
        0x03333100 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  3, Tf = 2422MHz */
@@ -327,7 +327,7 @@ static const unsigned long dwAL7230ChannelTable1[CB_MAX_CHANNEL] = {
        0x02AAA100 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW  /* channel = 165, Tf = 5825MHz (56) */
 };
 
-static const unsigned long dwAL7230ChannelTable2[CB_MAX_CHANNEL] = {
+static const unsigned long al7230_channel_table2[CB_MAX_CHANNEL] = {
        0x7FD78400 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  1, Tf = 2412MHz */
        0x7FD78400 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  2, Tf = 2417MHz */
        0x7FD78400 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW, /* channel =  3, Tf = 2422MHz */
@@ -406,7 +406,7 @@ static const unsigned long dwAL7230ChannelTable2[CB_MAX_CHANNEL] = {
  */
 static bool s_bAL7230Init(struct vnt_private *priv)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        int     ii;
        bool ret;
 
@@ -420,7 +420,7 @@ static bool s_bAL7230Init(struct vnt_private *priv)
        bb_power_save_mode_off(priv); /* RobertYu:20050106, have DC value for Calibration */
 
        for (ii = 0; ii < CB_AL7230_INIT_SEQ; ii++)
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[ii]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[ii]);
 
        /* PLL On */
        MACvWordRegBitsOn(iobase, MAC_REG_SOFTPWRCTL, SOFTPWRCTL_SWPE3);
@@ -434,7 +434,7 @@ static bool s_bAL7230Init(struct vnt_private *priv)
        ret &= IFRFbWriteEmbedded(priv, (0x3ABA8F00 + (BY_AL7230_REG_LEN << 3) + IFREGCTL_REGW));
        MACvTimer0MicroSDelay(priv, 30);/* 30us */
        /* TXDCOC:disable, RCK:disable */
-       ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[CB_AL7230_INIT_SEQ - 1]);
+       ret &= IFRFbWriteEmbedded(priv, al7230_init_table[CB_AL7230_INIT_SEQ - 1]);
 
        MACvWordRegBitsOn(iobase, MAC_REG_SOFTPWRCTL, (SOFTPWRCTL_SWPE3    |
                                                         SOFTPWRCTL_SWPE2    |
@@ -455,7 +455,7 @@ static bool s_bAL7230Init(struct vnt_private *priv)
  */
 static bool s_bAL7230SelectChannel(struct vnt_private *priv, unsigned char byChannel)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        bool ret;
 
        ret = true;
@@ -463,9 +463,9 @@ static bool s_bAL7230SelectChannel(struct vnt_private *priv, unsigned char byCha
        /* PLLON Off */
        MACvWordRegBitsOff(iobase, MAC_REG_SOFTPWRCTL, SOFTPWRCTL_SWPE3);
 
-       ret &= IFRFbWriteEmbedded(priv, dwAL7230ChannelTable0[byChannel - 1]);
-       ret &= IFRFbWriteEmbedded(priv, dwAL7230ChannelTable1[byChannel - 1]);
-       ret &= IFRFbWriteEmbedded(priv, dwAL7230ChannelTable2[byChannel - 1]);
+       ret &= IFRFbWriteEmbedded(priv, al7230_channel_table0[byChannel - 1]);
+       ret &= IFRFbWriteEmbedded(priv, al7230_channel_table1[byChannel - 1]);
+       ret &= IFRFbWriteEmbedded(priv, al7230_channel_table2[byChannel - 1]);
 
        /* PLLOn On */
        MACvWordRegBitsOn(iobase, MAC_REG_SOFTPWRCTL, SOFTPWRCTL_SWPE3);
@@ -494,7 +494,7 @@ static bool s_bAL7230SelectChannel(struct vnt_private *priv, unsigned char byCha
  */
 bool IFRFbWriteEmbedded(struct vnt_private *priv, unsigned long dwData)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        unsigned short ww;
        unsigned long dwValue;
 
@@ -527,7 +527,7 @@ bool IFRFbWriteEmbedded(struct vnt_private *priv, unsigned long dwData)
  */
 static bool RFbAL2230Init(struct vnt_private *priv)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        int     ii;
        bool ret;
 
@@ -545,7 +545,7 @@ static bool RFbAL2230Init(struct vnt_private *priv)
        IFRFbWriteEmbedded(priv, (0x07168700 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW));
 
        for (ii = 0; ii < CB_AL2230_INIT_SEQ; ii++)
-               ret &= IFRFbWriteEmbedded(priv, dwAL2230InitTable[ii]);
+               ret &= IFRFbWriteEmbedded(priv, al2230_init_table[ii]);
        MACvTimer0MicroSDelay(priv, 30); /* delay 30 us */
 
        /* PLL On */
@@ -557,7 +557,7 @@ static bool RFbAL2230Init(struct vnt_private *priv)
        ret &= IFRFbWriteEmbedded(priv, (0x00780f00 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW));
        MACvTimer0MicroSDelay(priv, 30);/* 30us */
        ret &= IFRFbWriteEmbedded(priv,
-                                 dwAL2230InitTable[CB_AL2230_INIT_SEQ - 1]);
+                                 al2230_init_table[CB_AL2230_INIT_SEQ - 1]);
 
        MACvWordRegBitsOn(iobase, MAC_REG_SOFTPWRCTL, (SOFTPWRCTL_SWPE3    |
                                                         SOFTPWRCTL_SWPE2    |
@@ -572,13 +572,13 @@ static bool RFbAL2230Init(struct vnt_private *priv)
 
 static bool RFbAL2230SelectChannel(struct vnt_private *priv, unsigned char byChannel)
 {
-       void __iomem *iobase = priv->PortOffset;
+       void __iomem *iobase = priv->port_offset;
        bool ret;
 
        ret = true;
 
-       ret &= IFRFbWriteEmbedded(priv, dwAL2230ChannelTable0[byChannel - 1]);
-       ret &= IFRFbWriteEmbedded(priv, dwAL2230ChannelTable1[byChannel - 1]);
+       ret &= IFRFbWriteEmbedded(priv, al2230_channel_table0[byChannel - 1]);
+       ret &= IFRFbWriteEmbedded(priv, al2230_channel_table1[byChannel - 1]);
 
        /* Set Channel[7] = 0 to tell H/W channel is changing now. */
        VNSvOutPortB(iobase + MAC_REG_CHANNEL, (byChannel & 0x7F));
@@ -670,63 +670,63 @@ bool RFbSelectChannel(struct vnt_private *priv, unsigned char byRFType,
  * Parameters:
  *  In:
  *      iobase      - I/O base address
- *      uChannel    - channel number
+ *      channel     - channel number
  *      bySleepCnt  - SleepProgSyn count
  *
  * Return Value: None.
  *
  */
-bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char byRFType,
-                        u16 uChannel)
+bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char rf_type,
+                        u16 channel)
 {
-       void __iomem *iobase = priv->PortOffset;
-       int   ii;
-       unsigned char byInitCount = 0;
-       unsigned char bySleepCount = 0;
+       void __iomem *iobase = priv->port_offset;
+       int i;
+       unsigned char init_count = 0;
+       unsigned char sleep_count = 0;
 
        VNSvOutPortW(iobase + MAC_REG_MISCFFNDEX, 0);
-       switch (byRFType) {
+       switch (rf_type) {
        case RF_AIROHA:
        case RF_AL2230S:
 
-               if (uChannel > CB_MAX_CHANNEL_24G)
+               if (channel > CB_MAX_CHANNEL_24G)
                        return false;
 
                 /* Init Reg + Channel Reg (2) */
-               byInitCount = CB_AL2230_INIT_SEQ + 2;
-               bySleepCount = 0;
-               if (byInitCount > (MISCFIFO_SYNDATASIZE - bySleepCount))
+               init_count = CB_AL2230_INIT_SEQ + 2;
+               sleep_count = 0;
+               if (init_count > (MISCFIFO_SYNDATASIZE - sleep_count))
                        return false;
 
-               for (ii = 0; ii < CB_AL2230_INIT_SEQ; ii++)
-                       MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL2230InitTable[ii]);
+               for (i = 0; i < CB_AL2230_INIT_SEQ; i++)
+                       MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al2230_init_table[i]);
 
-               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL2230ChannelTable0[uChannel - 1]);
-               ii++;
-               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL2230ChannelTable1[uChannel - 1]);
+               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al2230_channel_table0[channel - 1]);
+               i++;
+               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al2230_channel_table1[channel - 1]);
                break;
 
                /* Need to check, PLLON need to be low for channel setting */
        case RF_AIROHA7230:
                 /* Init Reg + Channel Reg (3) */
-               byInitCount = CB_AL7230_INIT_SEQ + 3;
-               bySleepCount = 0;
-               if (byInitCount > (MISCFIFO_SYNDATASIZE - bySleepCount))
+               init_count = CB_AL7230_INIT_SEQ + 3;
+               sleep_count = 0;
+               if (init_count > (MISCFIFO_SYNDATASIZE - sleep_count))
                        return false;
 
-               if (uChannel <= CB_MAX_CHANNEL_24G) {
-                       for (ii = 0; ii < CB_AL7230_INIT_SEQ; ii++)
-                               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL7230InitTable[ii]);
+               if (channel <= CB_MAX_CHANNEL_24G) {
+                       for (i = 0; i < CB_AL7230_INIT_SEQ; i++)
+                               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_init_table[i]);
                } else {
-                       for (ii = 0; ii < CB_AL7230_INIT_SEQ; ii++)
-                               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL7230InitTableAMode[ii]);
+                       for (i = 0; i < CB_AL7230_INIT_SEQ; i++)
+                               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_init_table_a_mode[i]);
                }
 
-               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL7230ChannelTable0[uChannel - 1]);
-               ii++;
-               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL7230ChannelTable1[uChannel - 1]);
-               ii++;
-               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + ii), dwAL7230ChannelTable2[uChannel - 1]);
+               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_channel_table0[channel - 1]);
+               i++;
+               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_channel_table1[channel - 1]);
+               i++;
+               MACvSetMISCFifo(priv, (unsigned short)(MISCFIFO_SYNDATA_IDX + i), al7230_channel_table2[channel - 1]);
                break;
 
        case RF_NOTHING:
@@ -736,7 +736,7 @@ bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char byRFType,
                return false;
        }
 
-       MACvSetMISCFifo(priv, MISCFIFO_SYNINFO_IDX, (unsigned long)MAKEWORD(bySleepCount, byInitCount));
+       MACvSetMISCFifo(priv, MISCFIFO_SYNINFO_IDX, (unsigned long)MAKEWORD(sleep_count, init_count));
 
        return true;
 }
@@ -834,7 +834,7 @@ bool RFbRawSetPower(struct vnt_private *priv, unsigned char byPwr,
 
        switch (priv->byRFType) {
        case RF_AIROHA:
-               ret &= IFRFbWriteEmbedded(priv, dwAL2230PowerTable[byPwr]);
+               ret &= IFRFbWriteEmbedded(priv, al2230_power_table[byPwr]);
                if (rate <= RATE_11M)
                        ret &= IFRFbWriteEmbedded(priv, 0x0001B400 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW);
                else
@@ -843,7 +843,7 @@ bool RFbRawSetPower(struct vnt_private *priv, unsigned char byPwr,
                break;
 
        case RF_AL2230S:
-               ret &= IFRFbWriteEmbedded(priv, dwAL2230PowerTable[byPwr]);
+               ret &= IFRFbWriteEmbedded(priv, al2230_power_table[byPwr]);
                if (rate <= RATE_11M) {
                        ret &= IFRFbWriteEmbedded(priv, 0x040C1400 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW);
                        ret &= IFRFbWriteEmbedded(priv, 0x00299B00 + (BY_AL2230_REG_LEN << 3) + IFREGCTL_REGW);
@@ -923,22 +923,22 @@ bool RFbAL7230SelectChannelPostProcess(struct vnt_private *priv,
         */
        if ((byOldChannel <= CB_MAX_CHANNEL_24G) && (byNewChannel > CB_MAX_CHANNEL_24G)) {
                /* Change from 2.4G to 5G [Reg] */
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[2]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[3]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[5]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[7]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[10]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[12]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTableAMode[15]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[2]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[3]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[5]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[7]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[10]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[12]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table_a_mode[15]);
        } else if ((byOldChannel > CB_MAX_CHANNEL_24G) && (byNewChannel <= CB_MAX_CHANNEL_24G)) {
                /* Change from 5G to 2.4G [Reg] */
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[2]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[3]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[5]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[7]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[10]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[12]);
-               ret &= IFRFbWriteEmbedded(priv, dwAL7230InitTable[15]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[2]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[3]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[5]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[7]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[10]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[12]);
+               ret &= IFRFbWriteEmbedded(priv, al7230_init_table[15]);
        }
 
        return ret;
index d499aed..0939937 100644 (file)
@@ -60,7 +60,7 @@
 bool IFRFbWriteEmbedded(struct vnt_private *priv, unsigned long dwData);
 bool RFbSelectChannel(struct vnt_private *priv, unsigned char byRFType, u16 byChannel);
 bool RFbInit(struct vnt_private *priv);
-bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char byRFType, u16 uChannel);
+bool RFvWriteWakeProgSyn(struct vnt_private *priv, unsigned char rf_type, u16 channel);
 bool RFbSetPower(struct vnt_private *priv, unsigned int rate, u16 uCH);
 bool RFbRawSetPower(struct vnt_private *priv, unsigned char byPwr,
                    unsigned int rate);
index 5395c3a..0de801b 100644 (file)
@@ -142,7 +142,7 @@ s_uFillDataHead(
 
 static __le16 vnt_time_stamp_off(struct vnt_private *priv, u16 rate)
 {
-       return cpu_to_le16(wTimeStampOff[priv->byPreambleType % 2]
+       return cpu_to_le16(wTimeStampOff[priv->preamble_type % 2]
                                                        [rate % MAX_RATE]);
 }
 
@@ -163,7 +163,7 @@ s_uGetTxRsvTime(
 {
        unsigned int uDataTime, uAckTime;
 
-       uDataTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, cbFrameLength, wRate);
+       uDataTime = bb_get_frame_time(pDevice->preamble_type, byPktType, cbFrameLength, wRate);
 
        if (!bNeedAck)
                return uDataTime;
@@ -172,7 +172,7 @@ s_uGetTxRsvTime(
         * CCK mode  - 11b
         * OFDM mode - 11g 2.4G & 11a 5G
         */
-       uAckTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14,
+       uAckTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14,
                                     byPktType == PK_TYPE_11B ?
                                     pDevice->byTopCCKBasicRate :
                                     pDevice->byTopOFDMBasicRate);
@@ -200,22 +200,22 @@ static __le16 get_rtscts_time(struct vnt_private *priv,
        unsigned int ack_time = 0;
        unsigned int data_time = 0;
 
-       data_time = bb_get_frame_time(priv->byPreambleType, pkt_type, frame_length, current_rate);
+       data_time = bb_get_frame_time(priv->preamble_type, pkt_type, frame_length, current_rate);
        if (rts_rsvtype == 0) { /* RTSTxRrvTime_bb */
-               rts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 20, priv->byTopCCKBasicRate);
-               ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopCCKBasicRate);
+               rts_time = bb_get_frame_time(priv->preamble_type, pkt_type, 20, priv->byTopCCKBasicRate);
+               ack_time = bb_get_frame_time(priv->preamble_type, pkt_type, 14, priv->byTopCCKBasicRate);
                cts_time = ack_time;
        } else if (rts_rsvtype == 1) { /* RTSTxRrvTime_ba, only in 2.4GHZ */
-               rts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 20, priv->byTopCCKBasicRate);
-               cts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopCCKBasicRate);
-               ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopOFDMBasicRate);
+               rts_time = bb_get_frame_time(priv->preamble_type, pkt_type, 20, priv->byTopCCKBasicRate);
+               cts_time = bb_get_frame_time(priv->preamble_type, pkt_type, 14, priv->byTopCCKBasicRate);
+               ack_time = bb_get_frame_time(priv->preamble_type, pkt_type, 14, priv->byTopOFDMBasicRate);
        } else if (rts_rsvtype == 2) { /* RTSTxRrvTime_aa */
-               rts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 20, priv->byTopOFDMBasicRate);
-               ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopOFDMBasicRate);
+               rts_time = bb_get_frame_time(priv->preamble_type, pkt_type, 20, priv->byTopOFDMBasicRate);
+               ack_time = bb_get_frame_time(priv->preamble_type, pkt_type, 14, priv->byTopOFDMBasicRate);
                cts_time = ack_time;
        } else if (rts_rsvtype == 3) { /* CTSTxRrvTime_ba, only in 2.4GHZ */
-               cts_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopCCKBasicRate);
-               ack_time = bb_get_frame_time(priv->byPreambleType, pkt_type, 14, priv->byTopOFDMBasicRate);
+               cts_time = bb_get_frame_time(priv->preamble_type, pkt_type, 14, priv->byTopCCKBasicRate);
+               ack_time = bb_get_frame_time(priv->preamble_type, pkt_type, 14, priv->byTopOFDMBasicRate);
                rrv_time = cts_time + ack_time + data_time + 2 * priv->uSIFS;
                return cpu_to_le16((u16)rrv_time);
        }
@@ -255,7 +255,7 @@ s_uGetDataDuration(
        switch (byDurType) {
        case DATADUR_B:    /* DATADUR_B */
                if (bNeedAck) {
-                       uAckTime = bb_get_frame_time(pDevice->byPreambleType,
+                       uAckTime = bb_get_frame_time(pDevice->preamble_type,
                                                     byPktType, 14,
                                                     pDevice->byTopCCKBasicRate);
                }
@@ -273,7 +273,7 @@ s_uGetDataDuration(
 
        case DATADUR_A:    /* DATADUR_A */
                if (bNeedAck) {
-                       uAckTime = bb_get_frame_time(pDevice->byPreambleType,
+                       uAckTime = bb_get_frame_time(pDevice->preamble_type,
                                                     byPktType, 14,
                                                     pDevice->byTopOFDMBasicRate);
                }
@@ -292,7 +292,7 @@ s_uGetDataDuration(
        case DATADUR_A_F0:    /* DATADUR_A_F0 */
        case DATADUR_A_F1:    /* DATADUR_A_F1 */
                if (bNeedAck) {
-                       uAckTime = bb_get_frame_time(pDevice->byPreambleType,
+                       uAckTime = bb_get_frame_time(pDevice->preamble_type,
                                                     byPktType, 14,
                                                     pDevice->byTopOFDMBasicRate);
                }
@@ -344,17 +344,17 @@ s_uGetRTSCTSDuration(
 
        switch (byDurType) {
        case RTSDUR_BB:    /* RTSDuration_bb */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopCCKBasicRate);
                uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck);
                break;
 
        case RTSDUR_BA:    /* RTSDuration_ba */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopCCKBasicRate);
                uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck);
                break;
 
        case RTSDUR_AA:    /* RTSDuration_aa */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopOFDMBasicRate);
                uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wRate, bNeedAck);
                break;
 
@@ -363,7 +363,7 @@ s_uGetRTSCTSDuration(
                break;
 
        case RTSDUR_BA_F0: /* RTSDuration_ba_f0 */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopCCKBasicRate);
                if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
                        uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate - RATE_18M], bNeedAck);
                else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
@@ -372,7 +372,7 @@ s_uGetRTSCTSDuration(
                break;
 
        case RTSDUR_AA_F0: /* RTSDuration_aa_f0 */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopOFDMBasicRate);
                if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
                        uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE0][wRate - RATE_18M], bNeedAck);
                else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
@@ -381,7 +381,7 @@ s_uGetRTSCTSDuration(
                break;
 
        case RTSDUR_BA_F1: /* RTSDuration_ba_f1 */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopCCKBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopCCKBasicRate);
                if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
                        uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate - RATE_18M], bNeedAck);
                else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
@@ -390,7 +390,7 @@ s_uGetRTSCTSDuration(
                break;
 
        case RTSDUR_AA_F1: /* RTSDuration_aa_f1 */
-               uCTSTime = bb_get_frame_time(pDevice->byPreambleType, byPktType, 14, pDevice->byTopOFDMBasicRate);
+               uCTSTime = bb_get_frame_time(pDevice->preamble_type, byPktType, 14, pDevice->byTopOFDMBasicRate);
                if ((byFBOption == AUTO_FB_0) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
                        uDurTime = uCTSTime + 2 * pDevice->uSIFS + s_uGetTxRsvTime(pDevice, byPktType, cbFrameLength, wFB_Opt0[FB_RATE1][wRate - RATE_18M], bNeedAck);
                else if ((byFBOption == AUTO_FB_1) && (wRate >= RATE_18M) && (wRate <= RATE_54M))
@@ -1012,7 +1012,7 @@ s_cbFillTxBufHead(struct vnt_private *pDevice, unsigned char byPktType,
 
                cbFrameSize += info->control.hw_key->icv_len;
 
-               if (pDevice->byLocalID > REV_ID_VT3253_A1) {
+               if (pDevice->local_id > REV_ID_VT3253_A1) {
                        /* MAC Header should be padding 0 to DW alignment. */
                        uPadding = 4 - (ieee80211_get_hdrlen_from_skb(skb) % 4);
                        uPadding %= 4;
@@ -1289,9 +1289,9 @@ int vnt_generate_fifo_header(struct vnt_private *priv, u32 dma_idx,
                tx_buffer_head->fifo_ctl |= cpu_to_le16(FIFOCTL_LRETRY);
 
        if (tx_rate->flags & IEEE80211_TX_RC_USE_SHORT_PREAMBLE)
-               priv->byPreambleType = PREAMBLE_SHORT;
+               priv->preamble_type = PREAMBLE_SHORT;
        else
-               priv->byPreambleType = PREAMBLE_LONG;
+               priv->preamble_type = PREAMBLE_LONG;
 
        if (tx_rate->flags & IEEE80211_TX_RC_USE_RTS_CTS)
                tx_buffer_head->fifo_ctl |= cpu_to_le16(FIFOCTL_RTS);
@@ -1422,13 +1422,13 @@ static int vnt_beacon_xmit(struct vnt_private *priv,
 
        priv->wBCNBufLen = sizeof(*short_head) + skb->len;
 
-       MACvSetCurrBCNTxDescAddr(priv->PortOffset, priv->tx_beacon_dma);
+       MACvSetCurrBCNTxDescAddr(priv->port_offset, priv->tx_beacon_dma);
 
-       MACvSetCurrBCNLength(priv->PortOffset, priv->wBCNBufLen);
+       MACvSetCurrBCNLength(priv->port_offset, priv->wBCNBufLen);
        /* Set auto Transmit on */
-       MACvRegBitsOn(priv->PortOffset, MAC_REG_TCR, TCR_AUTOBCNTX);
+       MACvRegBitsOn(priv->port_offset, MAC_REG_TCR, TCR_AUTOBCNTX);
        /* Poll Transmit the adapter */
-       MACvTransmitBCN(priv->PortOffset);
+       MACvTransmitBCN(priv->port_offset);
 
        return 0;
 }
@@ -1452,9 +1452,9 @@ int vnt_beacon_make(struct vnt_private *priv, struct ieee80211_vif *vif)
 int vnt_beacon_enable(struct vnt_private *priv, struct ieee80211_vif *vif,
                      struct ieee80211_bss_conf *conf)
 {
-       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL, TFTCTL_TSFCNTRST);
+       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL, TFTCTL_TSFCNTRST);
 
-       VNSvOutPortB(priv->PortOffset + MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
+       VNSvOutPortB(priv->port_offset + MAC_REG_TFTCTL, TFTCTL_TSFCNTREN);
 
        CARDvSetFirstNextTBTT(priv, conf->beacon_int);
 
index ed53d0b..a0f9d1b 100644 (file)
@@ -32,18 +32,20 @@ static void device_wakeup(struct wfx_dev *wdev)
        }
        for (;;) {
                gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 1);
-               // completion.h does not provide any function to wait
-               // completion without consume it (a kind of
-               // wait_for_completion_done_timeout()). So we have to emulate
-               // it.
+               /* completion.h does not provide any function to wait
+                * completion without consume it (a kind of
+                * wait_for_completion_done_timeout()). So we have to emulate
+                * it.
+                */
                if (wait_for_completion_timeout(&wdev->hif.ctrl_ready,
                                                msecs_to_jiffies(2))) {
                        complete(&wdev->hif.ctrl_ready);
                        return;
                } else if (max_retry-- > 0) {
-                       // Older firmwares have a race in sleep/wake-up process.
-                       // Redo the process is sufficient to unfreeze the
-                       // chip.
+                       /* Older firmwares have a race in sleep/wake-up process.
+                        * Redo the process is sufficient to unfreeze the
+                        * chip.
+                        */
                        dev_err(wdev->dev, "timeout while wake up chip\n");
                        gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 0);
                        usleep_range(2000, 2500);
@@ -72,9 +74,9 @@ static int rx_helper(struct wfx_dev *wdev, size_t read_len, int *is_cnf)
        int piggyback = 0;
 
        WARN(read_len > round_down(0xFFF, 2) * sizeof(u16),
-            "%s: request exceed WFx capability", __func__);
+            "%s: request exceed the chip capability", __func__);
 
-       // Add 2 to take into account piggyback size
+       /* Add 2 to take into account piggyback size */
        alloc_len = wdev->hwbus_ops->align_size(wdev->hwbus_priv, read_len + 2);
        skb = dev_alloc_skb(alloc_len);
        if (!skb)
@@ -119,7 +121,7 @@ static int rx_helper(struct wfx_dev *wdev, size_t read_len, int *is_cnf)
        }
 
        skb_put(skb, le16_to_cpu(hif->len));
-       // wfx_handle_rx takes care on SKB livetime
+       /* wfx_handle_rx takes care on SKB livetime */
        wfx_handle_rx(wdev, skb);
        if (!wdev->hif.tx_buffers_used)
                wake_up(&wdev->hif.tx_buffers_empty);
@@ -148,7 +150,7 @@ static int bh_work_rx(struct wfx_dev *wdev, int max_msg, int *num_cnf)
                        ctrl_reg = 0;
                if (!(ctrl_reg & CTRL_NEXT_LEN_MASK))
                        return i;
-               // ctrl_reg units are 16bits words
+               /* ctrl_reg units are 16bits words */
                len = (ctrl_reg & CTRL_NEXT_LEN_MASK) * 2;
                piggyback = rx_helper(wdev, len, num_cnf);
                if (piggyback < 0)
@@ -181,7 +183,7 @@ static void tx_helper(struct wfx_dev *wdev, struct hif_msg *hif)
 
        data = hif;
        WARN(len > wdev->hw_caps.size_inp_ch_buf,
-            "%s: request exceed WFx capability: %zu > %d\n", __func__,
+            "%s: request exceed the chip capability: %zu > %d\n", __func__,
             len, wdev->hw_caps.size_inp_ch_buf);
        len = wdev->hwbus_ops->align_size(wdev->hwbus_priv, len);
        ret = wfx_data_write(wdev, data, len);
@@ -263,9 +265,7 @@ static void bh_work(struct work_struct *work)
                        wdev->hif.tx_buffers_used, release_chip);
 }
 
-/*
- * An IRQ from chip did occur
- */
+/* An IRQ from chip did occur */
 void wfx_bh_request_rx(struct wfx_dev *wdev)
 {
        u32 cur, prev;
@@ -283,16 +283,13 @@ void wfx_bh_request_rx(struct wfx_dev *wdev)
                        prev, cur);
 }
 
-/*
- * Driver want to send data
- */
+/* Driver want to send data */
 void wfx_bh_request_tx(struct wfx_dev *wdev)
 {
        queue_work(system_highpri_wq, &wdev->hif.bh);
 }
 
-/*
- * If IRQ is not available, this function allow to manually poll the control
+/* If IRQ is not available, this function allow to manually poll the control
  * register and simulate an IRQ ahen an event happened.
  *
  * Note that the device has a bug: If an IRQ raise while host read control
index 78c4932..6c121ce 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Interrupt bottom half.
+ * Interrupt bottom half (BH).
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -30,4 +30,4 @@ void wfx_bh_request_rx(struct wfx_dev *wdev);
 void wfx_bh_request_tx(struct wfx_dev *wdev);
 void wfx_bh_poll_irq(struct wfx_dev *wdev);
 
-#endif /* WFX_BH_H */
+#endif
index e06d7e1..a670176 100644 (file)
@@ -67,7 +67,7 @@ static int wfx_sdio_copy_to_io(void *priv, unsigned int reg_id,
        /* Use queue mode buffers */
        if (reg_id == WFX_REG_IN_OUT_QUEUE)
                sdio_addr |= bus->buf_id_tx << 7;
-       // FIXME: discards 'const' qualifier for src
+       /* FIXME: discards 'const' qualifier for src */
        ret = sdio_memcpy_toio(bus->func, sdio_addr, (void *)src, count);
        if (!ret && reg_id == WFX_REG_IN_OUT_QUEUE)
                bus->buf_id_tx = (bus->buf_id_tx + 1) % 32;
@@ -120,19 +120,22 @@ static int wfx_sdio_irq_subscribe(void *priv)
                return ret;
        }
 
+       flags = irq_get_trigger_type(bus->of_irq);
+       if (!flags)
+               flags = IRQF_TRIGGER_HIGH;
+       flags |= IRQF_ONESHOT;
+       ret = devm_request_threaded_irq(&bus->func->dev, bus->of_irq, NULL,
+                                       wfx_sdio_irq_handler_ext, flags,
+                                       "wfx", bus);
+       if (ret)
+               return ret;
        sdio_claim_host(bus->func);
        cccr = sdio_f0_readb(bus->func, SDIO_CCCR_IENx, NULL);
        cccr |= BIT(0);
        cccr |= BIT(bus->func->num);
        sdio_f0_writeb(bus->func, cccr, SDIO_CCCR_IENx, NULL);
        sdio_release_host(bus->func);
-       flags = irq_get_trigger_type(bus->of_irq);
-       if (!flags)
-               flags = IRQF_TRIGGER_HIGH;
-       flags |= IRQF_ONESHOT;
-       return devm_request_threaded_irq(&bus->func->dev, bus->of_irq, NULL,
-                                        wfx_sdio_irq_handler_ext, flags,
-                                        "wfx", bus);
+       return 0;
 }
 
 static int wfx_sdio_irq_unsubscribe(void *priv)
@@ -198,7 +201,7 @@ static int wfx_sdio_probe(struct sdio_func *func,
        } else {
                dev_warn(&func->dev,
                         "device is not declared in DT, features will be limited\n");
-               // FIXME: ignore VID/PID and only rely on device tree
+               /* FIXME: ignore VID/PID and only rely on device tree */
                // return -ENODEV;
        }
 
@@ -210,7 +213,7 @@ static int wfx_sdio_probe(struct sdio_func *func,
 
        sdio_claim_host(func);
        ret = sdio_enable_func(func);
-       // Block of 64 bytes is more efficient than 512B for frame sizes < 4k
+       /* Block of 64 bytes is more efficient than 512B for frame sizes < 4k */
        sdio_set_block_size(func, 64);
        sdio_release_host(func);
        if (ret)
@@ -251,7 +254,7 @@ static void wfx_sdio_remove(struct sdio_func *func)
 #define SDIO_DEVICE_ID_SILABS_WF200  0x1000
 static const struct sdio_device_id wfx_sdio_ids[] = {
        { SDIO_DEVICE(SDIO_VENDOR_ID_SILABS, SDIO_DEVICE_ID_SILABS_WF200) },
-       // FIXME: ignore VID/PID and only rely on device tree
+       /* FIXME: ignore VID/PID and only rely on device tree */
        // { SDIO_DEVICE(SDIO_ANY_ID, SDIO_ANY_ID) },
        { },
 };
index a99125d..55ffcd7 100644 (file)
@@ -38,10 +38,9 @@ struct wfx_spi_priv {
        bool need_swab;
 };
 
-/*
- * WFx chip read data 16bits at time and place them directly into (little
- * endian) CPU register. So, chip expect byte order like "B1 B0 B3 B2" (while
- * LE is "B0 B1 B2 B3" and BE is "B3 B2 B1 B0")
+/* The chip reads 16bits of data at time and place them directly into (little
+ * endian) CPU register. So, the chip expects bytes order to be "B1 B0 B3 B2"
+ * (while LE is "B0 B1 B2 B3" and BE is "B3 B2 B1 B0")
  *
  * A little endian host with bits_per_word == 16 should do the right job
  * natively. The code below to support big endian host and commonly used SPI
@@ -86,7 +85,7 @@ static int wfx_spi_copy_to_io(void *priv, unsigned int addr,
 {
        struct wfx_spi_priv *bus = priv;
        u16 regaddr = (addr << 12) | (count / 2);
-       // FIXME: use a bounce buffer
+       /* FIXME: use a bounce buffer */
        u16 *src16 = (void *)src;
        int ret, i;
        struct spi_message      m;
@@ -104,8 +103,9 @@ static int wfx_spi_copy_to_io(void *priv, unsigned int addr,
 
        cpu_to_le16s(&regaddr);
 
-       // Register address and CONFIG content always use 16bit big endian
-       // ("BADC" order)
+       /* Register address and CONFIG content always use 16bit big endian
+        * ("BADC" order)
+        */
        if (bus->need_swab)
                swab16s(&regaddr);
        if (bus->need_swab && addr == WFX_REG_CONFIG)
@@ -163,7 +163,8 @@ static int wfx_spi_irq_unsubscribe(void *priv)
 
 static size_t wfx_spi_align_size(void *priv, size_t size)
 {
-       // Most of SPI controllers avoid DMA if buffer size is not 32bit aligned
+       /* Most of SPI controllers avoid DMA if buffer size is not 32bit aligned
+        */
        return ALIGN(size, 4);
 }
 
@@ -187,7 +188,7 @@ static int wfx_spi_probe(struct spi_device *func)
        ret = spi_setup(func);
        if (ret)
                return ret;
-       // Trace below is also displayed by spi_setup() if compiled with DEBUG
+       /* Trace below is also displayed by spi_setup() if compiled with DEBUG */
        dev_dbg(&func->dev, "SPI params: CS=%d, mode=%d bits/word=%d speed=%d\n",
                func->chip_select, func->mode, func->bits_per_word,
                func->max_speed_hz);
@@ -239,8 +240,7 @@ static int wfx_spi_remove(struct spi_device *func)
        return 0;
 }
 
-/*
- * For dynamic driver binding, kernel does not use OF to match driver. It only
+/* For dynamic driver binding, kernel does not use OF to match driver. It only
  * use modalias and modalias is a copy of 'compatible' DT node with vendor
  * stripped.
  */
index 385f2d4..bfc3961 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Datapath implementation.
+ * Data receiving implementation.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -76,8 +76,9 @@ void wfx_rx_cb(struct wfx_vif *wvif,
        if (arg->encryp)
                hdr->flag |= RX_FLAG_DECRYPTED;
 
-       // Block ack negotiation is offloaded by the firmware. However,
-       // re-ordering must be done by the mac80211.
+       /* Block ack negotiation is offloaded by the firmware. However,
+        * re-ordering must be done by the mac80211.
+        */
        if (ieee80211_is_action(frame->frame_control) &&
            mgmt->u.action.category == WLAN_CATEGORY_BACK &&
            skb->len > IEEE80211_MIN_ACTION_SIZE) {
index 4c0da37..84d0e3c 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Datapath implementation.
+ * Data receiving implementation.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -15,4 +15,4 @@ struct hif_ind_rx;
 void wfx_rx_cb(struct wfx_vif *wvif,
               const struct hif_ind_rx *arg, struct sk_buff *skb);
 
-#endif /* WFX_DATA_RX_H */
+#endif
index 77fb104..052a191 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Datapath implementation.
+ * Data transmitting implementation.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -31,8 +31,9 @@ static int wfx_get_hw_rate(struct wfx_dev *wdev,
                }
                return rate->idx + 14;
        }
-       // WFx only support 2GHz, else band information should be retrieved
-       // from ieee80211_tx_info
+       /* The device only support 2GHz, else band information should be
+        * retrieved from ieee80211_tx_info
+        */
        band = wdev->hw->wiphy->bands[NL80211_BAND_2GHZ];
        if (rate->idx >= band->n_bitrates) {
                WARN(1, "wrong rate->idx value: %d", rate->idx);
@@ -57,7 +58,7 @@ static void wfx_tx_policy_build(struct wfx_vif *wvif, struct tx_policy *policy,
                        break;
                WARN_ON(rates[i].count > 15);
                rateid = wfx_get_hw_rate(wdev, &rates[i]);
-               // Pack two values in each byte of policy->rates
+               /* Pack two values in each byte of policy->rates */
                count = rates[i].count;
                if (rateid % 2)
                        count <<= 4;
@@ -108,6 +109,7 @@ static int wfx_tx_policy_get(struct wfx_vif *wvif,
        int idx;
        struct tx_policy_cache *cache = &wvif->tx_policy_cache;
        struct tx_policy wanted;
+       struct tx_policy *entry;
 
        wfx_tx_policy_build(wvif, &wanted, rates);
 
@@ -121,11 +123,10 @@ static int wfx_tx_policy_get(struct wfx_vif *wvif,
        if (idx >= 0) {
                *renew = false;
        } else {
-               struct tx_policy *entry;
-               *renew = true;
-               /* If policy is not found create a new one
-                * using the oldest entry in "free" list
+               /* If policy is not found create a new one using the oldest
+                * entry in "free" list
                 */
+               *renew = true;
                entry = list_entry(cache->free.prev, struct tx_policy, link);
                memcpy(entry->rates, wanted.rates, sizeof(entry->rates));
                entry->uploaded = false;
@@ -238,7 +239,7 @@ static void wfx_tx_fixup_rates(struct ieee80211_tx_rate *rates)
        int i;
        bool finished;
 
-       // Firmware is not able to mix rates with different flags
+       /* Firmware is not able to mix rates with different flags */
        for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) {
                if (rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
                        rates[i].flags |= IEEE80211_TX_RC_SHORT_GI;
@@ -248,7 +249,7 @@ static void wfx_tx_fixup_rates(struct ieee80211_tx_rate *rates)
                        rates[i].flags &= ~IEEE80211_TX_RC_USE_RTS_CTS;
        }
 
-       // Sort rates and remove duplicates
+       /* Sort rates and remove duplicates */
        do {
                finished = true;
                for (i = 0; i < IEEE80211_TX_MAX_RATES - 1; i++) {
@@ -268,32 +269,31 @@ static void wfx_tx_fixup_rates(struct ieee80211_tx_rate *rates)
                        }
                }
        } while (!finished);
-       // Ensure that MCS0 or 1Mbps is present at the end of the retry list
+       /* Ensure that MCS0 or 1Mbps is present at the end of the retry list */
        for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) {
                if (rates[i].idx == 0)
                        break;
                if (rates[i].idx == -1) {
                        rates[i].idx = 0;
-                       rates[i].count = 8; // == hw->max_rate_tries
+                       rates[i].count = 8; /* == hw->max_rate_tries */
                        rates[i].flags = rates[i - 1].flags &
                                         IEEE80211_TX_RC_MCS;
                        break;
                }
        }
-       // All retries use long GI
+       /* All retries use long GI */
        for (i = 1; i < IEEE80211_TX_MAX_RATES; i++)
                rates[i].flags &= ~IEEE80211_TX_RC_SHORT_GI;
 }
 
-static u8 wfx_tx_get_rate_id(struct wfx_vif *wvif,
-                            struct ieee80211_tx_info *tx_info)
+static u8 wfx_tx_get_retry_policy_id(struct wfx_vif *wvif,
+                                    struct ieee80211_tx_info *tx_info)
 {
        bool tx_policy_renew = false;
-       u8 rate_id;
+       u8 ret;
 
-       rate_id = wfx_tx_policy_get(wvif,
-                                   tx_info->driver_rates, &tx_policy_renew);
-       if (rate_id == HIF_TX_RETRY_POLICY_INVALID)
+       ret = wfx_tx_policy_get(wvif, tx_info->driver_rates, &tx_policy_renew);
+       if (ret == HIF_TX_RETRY_POLICY_INVALID)
                dev_warn(wvif->wdev->dev, "unable to get a valid Tx policy");
 
        if (tx_policy_renew) {
@@ -301,7 +301,7 @@ static u8 wfx_tx_get_rate_id(struct wfx_vif *wvif,
                if (!schedule_work(&wvif->tx_policy_upload_work))
                        wfx_tx_unlock(wvif->wdev);
        }
-       return rate_id;
+       return ret;
 }
 
 static int wfx_tx_get_frame_format(struct ieee80211_tx_info *tx_info)
@@ -343,13 +343,13 @@ static int wfx_tx_inner(struct wfx_vif *wvif, struct ieee80211_sta *sta,
        WARN(queue_id >= IEEE80211_NUM_ACS, "unsupported queue_id");
        wfx_tx_fixup_rates(tx_info->driver_rates);
 
-       // From now tx_info->control is unusable
+       /* From now tx_info->control is unusable */
        memset(tx_info->rate_driver_data, 0, sizeof(struct wfx_tx_priv));
-       // Fill tx_priv
+       /* Fill tx_priv */
        tx_priv = (struct wfx_tx_priv *)tx_info->rate_driver_data;
        tx_priv->icv_size = wfx_tx_get_icv_len(hw_key);
 
-       // Fill hif_msg
+       /* Fill hif_msg */
        WARN(skb_headroom(skb) < wmsg_len, "not enough space in skb");
        WARN(offset & 1, "attempt to transmit an unaligned frame");
        skb_put(skb, tx_priv->icv_size);
@@ -367,27 +367,28 @@ static int wfx_tx_inner(struct wfx_vif *wvif, struct ieee80211_sta *sta,
                return -EIO;
        }
 
-       // Fill tx request
+       /* Fill tx request */
        req = (struct hif_req_tx *)hif_msg->body;
-       // packet_id just need to be unique on device. 32bits are more than
-       // necessary for that task, so we tae advantage of it to add some extra
-       // data for debug.
+       /* packet_id just need to be unique on device. 32bits are more than
+        * necessary for that task, so we tae advantage of it to add some extra
+        * data for debug.
+        */
        req->packet_id = atomic_add_return(1, &wvif->wdev->packet_id) & 0xFFFF;
        req->packet_id |= IEEE80211_SEQ_TO_SN(le16_to_cpu(hdr->seq_ctrl)) << 16;
        req->packet_id |= queue_id << 28;
 
        req->fc_offset = offset;
-       if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
-               req->after_dtim = 1;
-       req->peer_sta_id = wfx_tx_get_link_id(wvif, sta, hdr);
-       // Queue index are inverted between firmware and Linux
+       /* Queue index are inverted between firmware and Linux */
        req->queue_id = 3 - queue_id;
-       req->retry_policy_index = wfx_tx_get_rate_id(wvif, tx_info);
+       req->peer_sta_id = wfx_tx_get_link_id(wvif, sta, hdr);
+       req->retry_policy_index = wfx_tx_get_retry_policy_id(wvif, tx_info);
        req->frame_format = wfx_tx_get_frame_format(tx_info);
        if (tx_info->driver_rates[0].flags & IEEE80211_TX_RC_SHORT_GI)
                req->short_gi = 1;
+       if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
+               req->after_dtim = 1;
 
-       // Auxiliary operations
+       /* Auxiliary operations */
        wfx_tx_queues_put(wvif, skb);
        if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM)
                schedule_work(&wvif->update_tim_work);
@@ -409,15 +410,16 @@ void wfx_tx(struct ieee80211_hw *hw, struct ieee80211_tx_control *control,
        compiletime_assert(sizeof(struct wfx_tx_priv) <= driver_data_room,
                           "struct tx_priv is too large");
        WARN(skb->next || skb->prev, "skb is already member of a list");
-       // control.vif can be NULL for injected frames
+       /* control.vif can be NULL for injected frames */
        if (tx_info->control.vif)
                wvif = (struct wfx_vif *)tx_info->control.vif->drv_priv;
        else
                wvif = wvif_iterate(wdev, NULL);
        if (WARN_ON(!wvif))
                goto drop;
-       // Because of TX_AMPDU_SETUP_IN_HW, mac80211 does not try to send any
-       // BlockAck session management frame. The check below exist just in case.
+       /* Because of TX_AMPDU_SETUP_IN_HW, mac80211 does not try to send any
+        * BlockAck session management frame. The check below exist just in case.
+        */
        if (ieee80211_is_action_back(hdr)) {
                dev_info(wdev->dev, "drop BA action\n");
                goto drop;
@@ -458,7 +460,7 @@ static void wfx_tx_fill_rates(struct wfx_dev *wdev,
 
        tx_count = arg->ack_failures;
        if (!arg->status || arg->ack_failures)
-               tx_count += 1; // Also report success
+               tx_count += 1; /* Also report success */
        for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) {
                rate = &tx_info->status.rates[i];
                if (rate->idx < 0)
@@ -506,14 +508,15 @@ void wfx_tx_confirm_cb(struct wfx_dev *wdev, const struct hif_cnf_tx *arg)
        if (!wvif)
                return;
 
-       // Note that wfx_pending_get_pkt_us_delay() get data from tx_info
+       /* Note that wfx_pending_get_pkt_us_delay() get data from tx_info */
        _trace_tx_stats(arg, skb, wfx_pending_get_pkt_us_delay(wdev, skb));
        wfx_tx_fill_rates(wdev, tx_info, arg);
        skb_trim(skb, skb->len - tx_priv->icv_size);
 
-       // From now, you can touch to tx_info->status, but do not touch to
-       // tx_priv anymore
-       // FIXME: use ieee80211_tx_info_clear_status()
+       /* From now, you can touch to tx_info->status, but do not touch to
+        * tx_priv anymore
+        */
+       /* FIXME: use ieee80211_tx_info_clear_status() */
        memset(tx_info->rate_driver_data, 0, sizeof(tx_info->rate_driver_data));
        memset(tx_info->pad, 0, sizeof(tx_info->pad));
 
@@ -528,7 +531,7 @@ void wfx_tx_confirm_cb(struct wfx_dev *wdev, const struct hif_cnf_tx *arg)
        } else if (arg->status == HIF_STATUS_TX_FAIL_REQUEUE) {
                WARN(!arg->requeue, "incoherent status and result_flags");
                if (tx_info->flags & IEEE80211_TX_CTL_SEND_AFTER_DTIM) {
-                       wvif->after_dtim_tx_allowed = false; // DTIM period elapsed
+                       wvif->after_dtim_tx_allowed = false; /* DTIM period elapsed */
                        schedule_work(&wvif->update_tim_work);
                }
                tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED;
index 401363d..15590a8 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Datapath implementation.
+ * Data transmitting implementation.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -27,7 +27,7 @@ struct tx_policy {
 
 struct tx_policy_cache {
        struct tx_policy cache[HIF_TX_RETRY_POLICY_MAX];
-       // FIXME: use a trees and drop hash from tx_policy
+       /* FIXME: use a trees and drop hash from tx_policy */
        struct list_head used;
        struct list_head free;
        spinlock_t lock;
@@ -65,4 +65,4 @@ static inline struct hif_req_tx *wfx_skb_txreq(struct sk_buff *skb)
        return req;
 }
 
-#endif /* WFX_DATA_TX_H */
+#endif
index eedada7..9f93268 100644 (file)
@@ -82,33 +82,37 @@ static int wfx_counters_show(struct seq_file *seq, void *v)
                   le32_to_cpu(counters[0].count_##name), \
                   le32_to_cpu(counters[1].count_##name))
 
-       PUT_COUNTER(tx_packets);
-       PUT_COUNTER(tx_multicast_frames);
+       PUT_COUNTER(tx_frames);
+       PUT_COUNTER(tx_frames_multicast);
        PUT_COUNTER(tx_frames_success);
-       PUT_COUNTER(tx_frame_failures);
        PUT_COUNTER(tx_frames_retried);
        PUT_COUNTER(tx_frames_multi_retried);
+       PUT_COUNTER(tx_frames_failed);
 
+       PUT_COUNTER(ack_failed);
        PUT_COUNTER(rts_success);
-       PUT_COUNTER(rts_failures);
-       PUT_COUNTER(ack_failures);
+       PUT_COUNTER(rts_failed);
 
-       PUT_COUNTER(rx_packets);
+       PUT_COUNTER(rx_frames);
+       PUT_COUNTER(rx_frames_multicast);
        PUT_COUNTER(rx_frames_success);
-       PUT_COUNTER(rx_packet_errors);
-       PUT_COUNTER(plcp_errors);
-       PUT_COUNTER(fcs_errors);
-       PUT_COUNTER(rx_decryption_failures);
-       PUT_COUNTER(rx_mic_failures);
-       PUT_COUNTER(rx_no_key_failures);
-       PUT_COUNTER(rx_frame_duplicates);
-       PUT_COUNTER(rx_multicast_frames);
-       PUT_COUNTER(rx_cmacicv_errors);
-       PUT_COUNTER(rx_cmac_replays);
-       PUT_COUNTER(rx_mgmt_ccmp_replays);
-
-       PUT_COUNTER(rx_beacon);
-       PUT_COUNTER(miss_beacon);
+       PUT_COUNTER(rx_frames_failed);
+       PUT_COUNTER(drop_plcp);
+       PUT_COUNTER(drop_fcs);
+       PUT_COUNTER(drop_no_key);
+       PUT_COUNTER(drop_decryption);
+       PUT_COUNTER(drop_tkip_mic);
+       PUT_COUNTER(drop_bip_mic);
+       PUT_COUNTER(drop_cmac_icv);
+       PUT_COUNTER(drop_cmac_replay);
+       PUT_COUNTER(drop_ccmp_replay);
+       PUT_COUNTER(drop_duplicate);
+
+       PUT_COUNTER(rx_bcn_miss);
+       PUT_COUNTER(rx_bcn_success);
+       PUT_COUNTER(rx_bcn_dtim);
+       PUT_COUNTER(rx_bcn_dtim_aid0_clr);
+       PUT_COUNTER(rx_bcn_dtim_aid0_set);
 
 #undef PUT_COUNTER
 
@@ -252,9 +256,10 @@ static ssize_t wfx_send_hif_msg_write(struct file *file,
        if (count < sizeof(struct hif_msg))
                return -EINVAL;
 
-       // wfx_cmd_send() checks that reply buffer is wide enough, but does not
-       // return precise length read. User have to know how many bytes should
-       // be read. Filling reply buffer with a memory pattern may help user.
+       /* wfx_cmd_send() checks that reply buffer is wide enough, but does not
+        * return precise length read. User have to know how many bytes should
+        * be read. Filling reply buffer with a memory pattern may help user.
+        */
        memset(context->reply, 0xFF, sizeof(context->reply));
        request = memdup_user(user_buf, count);
        if (IS_ERR(request))
@@ -284,8 +289,9 @@ static ssize_t wfx_send_hif_msg_read(struct file *file, char __user *user_buf,
                return ret;
        if (context->ret < 0)
                return context->ret;
-       // Be careful, write() is waiting for a full message while read()
-       // only returns a payload
+       /* Be careful, write() is waiting for a full message while read()
+        * only returns a payload
+        */
        if (copy_to_user(user_buf, context->reply, count))
                return -EFAULT;
 
index 6f2f84d..4b9c49a 100644 (file)
@@ -16,4 +16,4 @@ const char *get_hif_name(unsigned long id);
 const char *get_mib_name(unsigned long id);
 const char *get_reg_name(unsigned long id);
 
-#endif /* WFX_DEBUG_H */
+#endif
index 1b8aec0..98a9391 100644 (file)
 #include "wfx.h"
 #include "hwio.h"
 
-// Addresses below are in SRAM area
+/* Addresses below are in SRAM area */
 #define WFX_DNLD_FIFO             0x09004000
 #define     DNLD_BLOCK_SIZE           0x0400
-#define     DNLD_FIFO_SIZE            0x8000 // (32 * DNLD_BLOCK_SIZE)
-// Download Control Area (DCA)
+#define     DNLD_FIFO_SIZE            0x8000 /* (32 * DNLD_BLOCK_SIZE) */
+/* Download Control Area (DCA) */
 #define WFX_DCA_IMAGE_SIZE        0x0900C000
 #define WFX_DCA_PUT               0x0900C004
 #define WFX_DCA_GET               0x0900C008
@@ -58,8 +58,8 @@
 #define     ERR_ECC_PUB_KEY           0x11
 #define     ERR_MAC_KEY               0x18
 
-#define DCA_TIMEOUT  50 // milliseconds
-#define WAKEUP_TIMEOUT 200 // milliseconds
+#define DCA_TIMEOUT  50 /* milliseconds */
+#define WAKEUP_TIMEOUT 200 /* milliseconds */
 
 static const char * const fwio_errors[] = {
        [ERR_INVALID_SEC_TYPE] = "Invalid section type or wrong encryption",
@@ -69,8 +69,7 @@ static const char * const fwio_errors[] = {
        [ERR_MAC_KEY] = "MAC key not initialized",
 };
 
-/*
- * request_firmware() allocate data using vmalloc(). It is not compatible with
+/* request_firmware() allocate data using vmalloc(). It is not compatible with
  * underlying hardware that use DMA. Function below detect this case and
  * allocate a bounce buffer if necessary.
  *
@@ -125,7 +124,7 @@ static int get_firmware(struct wfx_dev *wdev, u32 keyset_chip,
 
        data = (*fw)->data;
        if (memcmp(data, "KEYSET", 6) != 0) {
-               // Legacy firmware format
+               /* Legacy firmware format */
                *file_offset = 0;
                keyset_file = 0x90;
        } else {
@@ -207,8 +206,9 @@ static int upload_firmware(struct wfx_dev *wdev, const u8 *data, size_t len)
                if (ret < 0)
                        return ret;
 
-               // WFx seems to not support writing 0 in this register during
-               // first loop
+               /* The device seems to not support writing 0 in this register
+                * during first loop
+                */
                offs += DNLD_BLOCK_SIZE;
                ret = sram_reg_write(wdev, WFX_DCA_PUT, offs);
                if (ret < 0)
@@ -265,7 +265,7 @@ static int load_firmware_secure(struct wfx_dev *wdev)
        if (ret)
                goto error;
 
-       sram_reg_write(wdev, WFX_DNLD_FIFO, 0xFFFFFFFF); // Fifo init
+       sram_reg_write(wdev, WFX_DNLD_FIFO, 0xFFFFFFFF); /* Fifo init */
        sram_write_dma_safe(wdev, WFX_DCA_FW_VERSION, "\x01\x00\x00\x00",
                            FW_VERSION_SIZE);
        sram_write_dma_safe(wdev, WFX_DCA_FW_SIGNATURE, fw->data + fw_offset,
@@ -289,7 +289,7 @@ static int load_firmware_secure(struct wfx_dev *wdev)
 
        sram_reg_write(wdev, WFX_DCA_HOST_STATUS, HOST_UPLOAD_COMPLETE);
        ret = wait_ncp_status(wdev, NCP_AUTH_OK);
-       // Legacy ROM support
+       /* Legacy ROM support */
        if (ret < 0)
                ret = wait_ncp_status(wdev, NCP_PUB_KEY_RDY);
        if (ret < 0)
@@ -334,7 +334,7 @@ int wfx_init_device(struct wfx_dev *wdev)
 {
        int ret;
        int hw_revision, hw_type;
-       int wakeup_timeout = 50; // ms
+       int wakeup_timeout = 50; /* ms */
        ktime_t now, start;
        u32 reg;
 
index 6028f92..eeea612 100644 (file)
@@ -12,4 +12,4 @@ struct wfx_dev;
 
 int wfx_init_device(struct wfx_dev *wdev);
 
-#endif /* WFX_FWIO_H */
+#endif
index 58c9bb0..b0aa13b 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: Apache-2.0 */
 /*
- * WFx hardware interface definitions
+ * WF200 hardware interface definitions
  *
  * Copyright (c) 2018-2020, Silicon Laboratories Inc.
  */
@@ -134,7 +134,7 @@ struct hif_req_start_scan_alt {
        u8     num_of_channels;
        __le32 min_channel_time;
        __le32 max_channel_time;
-       __le32 tx_power_level; // signed value
+       __le32 tx_power_level; /* signed value */
        struct hif_ssid_def ssid_def[HIF_API_MAX_NB_SSIDS];
        u8     channel_list[];
 } __packed;
@@ -174,8 +174,9 @@ enum hif_frame_format {
 };
 
 struct hif_req_tx {
-       // packet_id is not interpreted by the device, so it is not necessary to
-       // declare it little endian
+       /* packet_id is not interpreted by the device, so it is not necessary to
+        * declare it little endian
+        */
        u32    packet_id;
        u8     max_tx_rate;
        u8     queue_id:2;
@@ -211,8 +212,9 @@ enum hif_qos_ackplcy {
 
 struct hif_cnf_tx {
        __le32 status;
-       // packet_id is copied from struct hif_req_tx without been interpreted
-       // by the device, so it is not necessary to declare it little endian
+       /* packet_id is copied from struct hif_req_tx without been interpreted
+        * by the device, so it is not necessary to declare it little endian
+        */
        u32    packet_id;
        u8     txed_rate;
        u8     ack_failures;
index 2418894..5f74f82 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: Apache-2.0 */
 /*
- * WFx hardware interface definitions
+ * WF200 hardware interface definitions
  *
  * Copyright (c) 2018-2020, Silicon Laboratories Inc.
  */
@@ -113,16 +113,11 @@ enum hif_api_rate_index {
        API_RATE_NUM_ENTRIES       = 22
 };
 
-enum hif_fw_type {
-       HIF_FW_TYPE_ETF  = 0x0,
-       HIF_FW_TYPE_WFM  = 0x1,
-       HIF_FW_TYPE_WSM  = 0x2
-};
-
 struct hif_ind_startup {
-       // As the others, this struct is interpreted as little endian by the
-       // device. However, this struct is also used by the driver. We prefer to
-       // declare it in native order and doing byte swap on reception.
+       /* As the others, this struct is interpreted as little endian by the
+        * device. However, this struct is also used by the driver. We prefer to
+        * declare it in native order and doing byte swap on reception.
+        */
        __le32 status;
        u16    hardware_id;
        u8     opn[14];
@@ -199,9 +194,9 @@ struct hif_rx_stats {
        __le32 throughput;
        __le32 nb_rx_by_rate[API_RATE_NUM_ENTRIES];
        __le16 per[API_RATE_NUM_ENTRIES];
-       __le16 snr[API_RATE_NUM_ENTRIES];  // signed value
-       __le16 rssi[API_RATE_NUM_ENTRIES]; // signed value
-       __le16 cfo[API_RATE_NUM_ENTRIES];  // signed value
+       __le16 snr[API_RATE_NUM_ENTRIES];  /* signed value */
+       __le16 rssi[API_RATE_NUM_ENTRIES]; /* signed value */
+       __le16 cfo[API_RATE_NUM_ENTRIES];  /* signed value */
        __le32 date;
        __le32 pwr_clk_freq;
        u8     is_ext_pwr_clk;
@@ -211,8 +206,8 @@ struct hif_rx_stats {
 struct hif_tx_power_loop_info {
        __le16 tx_gain_dig;
        __le16 tx_gain_pa;
-       __le16 target_pout; // signed value
-       __le16 p_estimation; // signed value
+       __le16 target_pout; /* signed value */
+       __le16 p_estimation; /* signed value */
        __le16 vpdet;
        u8     measurement_index;
        u8     reserved;
index ace9247..da534f2 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: Apache-2.0 */
 /*
- * WFx hardware interface definitions
+ * WF200 hardware interface definitions
  *
  * Copyright (c) 2018-2020, Silicon Laboratories Inc.
  */
@@ -133,58 +133,61 @@ struct hif_mib_bcn_filter_enable {
 } __packed;
 
 struct hif_mib_extended_count_table {
-       __le32 count_plcp_errors;
-       __le32 count_fcs_errors;
-       __le32 count_tx_packets;
-       __le32 count_rx_packets;
-       __le32 count_rx_packet_errors;
-       __le32 count_rx_decryption_failures;
-       __le32 count_rx_mic_failures;
-       __le32 count_rx_no_key_failures;
-       __le32 count_tx_multicast_frames;
+       __le32 count_drop_plcp;
+       __le32 count_drop_fcs;
+       __le32 count_tx_frames;
+       __le32 count_rx_frames;
+       __le32 count_rx_frames_failed;
+       __le32 count_drop_decryption;
+       __le32 count_drop_tkip_mic;
+       __le32 count_drop_no_key;
+       __le32 count_tx_frames_multicast;
        __le32 count_tx_frames_success;
-       __le32 count_tx_frame_failures;
+       __le32 count_tx_frames_failed;
        __le32 count_tx_frames_retried;
        __le32 count_tx_frames_multi_retried;
-       __le32 count_rx_frame_duplicates;
+       __le32 count_drop_duplicate;
        __le32 count_rts_success;
-       __le32 count_rts_failures;
-       __le32 count_ack_failures;
-       __le32 count_rx_multicast_frames;
+       __le32 count_rts_failed;
+       __le32 count_ack_failed;
+       __le32 count_rx_frames_multicast;
        __le32 count_rx_frames_success;
-       __le32 count_rx_cmacicv_errors;
-       __le32 count_rx_cmac_replays;
-       __le32 count_rx_mgmt_ccmp_replays;
-       __le32 count_rx_bipmic_errors;
-       __le32 count_rx_beacon;
-       __le32 count_miss_beacon;
-       __le32 reserved[15];
+       __le32 count_drop_cmac_icv;
+       __le32 count_drop_cmac_replay;
+       __le32 count_drop_ccmp_replay;
+       __le32 count_drop_bip_mic;
+       __le32 count_rx_bcn_success;
+       __le32 count_rx_bcn_miss;
+       __le32 count_rx_bcn_dtim;
+       __le32 count_rx_bcn_dtim_aid0_clr;
+       __le32 count_rx_bcn_dtim_aid0_set;
+       __le32 reserved[12];
 } __packed;
 
 struct hif_mib_count_table {
-       __le32 count_plcp_errors;
-       __le32 count_fcs_errors;
-       __le32 count_tx_packets;
-       __le32 count_rx_packets;
-       __le32 count_rx_packet_errors;
-       __le32 count_rx_decryption_failures;
-       __le32 count_rx_mic_failures;
-       __le32 count_rx_no_key_failures;
-       __le32 count_tx_multicast_frames;
+       __le32 count_drop_plcp;
+       __le32 count_drop_fcs;
+       __le32 count_tx_frames;
+       __le32 count_rx_frames;
+       __le32 count_rx_frames_failed;
+       __le32 count_drop_decryption;
+       __le32 count_drop_tkip_mic;
+       __le32 count_drop_no_key;
+       __le32 count_tx_frames_multicast;
        __le32 count_tx_frames_success;
-       __le32 count_tx_frame_failures;
+       __le32 count_tx_frames_failed;
        __le32 count_tx_frames_retried;
        __le32 count_tx_frames_multi_retried;
-       __le32 count_rx_frame_duplicates;
+       __le32 count_drop_duplicate;
        __le32 count_rts_success;
-       __le32 count_rts_failures;
-       __le32 count_ack_failures;
-       __le32 count_rx_multicast_frames;
+       __le32 count_rts_failed;
+       __le32 count_ack_failed;
+       __le32 count_rx_frames_multicast;
        __le32 count_rx_frames_success;
-       __le32 count_rx_cmacicv_errors;
-       __le32 count_rx_cmac_replays;
-       __le32 count_rx_mgmt_ccmp_replays;
-       __le32 count_rx_bipmic_errors;
+       __le32 count_drop_cmac_icv;
+       __le32 count_drop_cmac_replay;
+       __le32 count_drop_ccmp_replay;
+       __le32 count_drop_bip_mic;
 } __packed;
 
 struct hif_mib_mac_address {
@@ -206,7 +209,7 @@ struct hif_mib_slot_time {
 } __packed;
 
 struct hif_mib_current_tx_power_level {
-       __le32 power_level; // signed value
+       __le32 power_level; /* signed value */
 } __packed;
 
 struct hif_mib_non_erp_protection {
index 9fca7f2..6963b54 100644 (file)
@@ -1,7 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Implementation of chip-to-host event (aka indications) of WFxxx Split Mac
- * (WSM) API.
+ * Handling of the chip-to-host events (aka indications) of the hardware API.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
 static int hif_generic_confirm(struct wfx_dev *wdev,
                               const struct hif_msg *hif, const void *buf)
 {
-       // All confirm messages start with status
+       /* All confirm messages start with status */
        int status = le32_to_cpup((__le32 *)buf);
        int cmd = hif->id;
-       int len = le16_to_cpu(hif->len) - 4; // drop header
+       int len = le16_to_cpu(hif->len) - 4; /* drop header */
 
        WARN(!mutex_is_locked(&wdev->hif_cmd.lock), "data locking error");
 
@@ -175,13 +174,14 @@ static int hif_scan_complete_indication(struct wfx_dev *wdev,
                                        const void *buf)
 {
        struct wfx_vif *wvif = wdev_to_wvif(wdev, hif->interface);
+       const struct hif_ind_scan_cmpl *body = buf;
 
        if (!wvif) {
                dev_warn(wdev->dev, "%s: received event for non-existent vif\n", __func__);
                return -EIO;
        }
 
-       wfx_scan_complete(wvif);
+       wfx_scan_complete(wvif, body->num_channels_completed);
 
        return 0;
 }
@@ -244,7 +244,7 @@ static int hif_generic_indication(struct wfx_dev *wdev,
                return 0;
        case HIF_GENERIC_INDICATION_TYPE_RX_STATS:
                mutex_lock(&wdev->rx_stats_lock);
-               // Older firmware send a generic indication beside RxStats
+               /* Older firmware send a generic indication beside RxStats */
                if (!wfx_api_older_than(wdev, 1, 4))
                        dev_info(wdev->dev, "Rx test ongoing. Temperature: %d degrees C\n",
                                 body->data.rx_stats.current_temp);
@@ -297,7 +297,7 @@ static const struct {
                "bus clock is too slow (<1kHz)" },
        { HIF_ERROR_HIF_RX_DATA_TOO_LARGE,
                "HIF message too large" },
-       // Following errors only exists in old firmware versions:
+       /* Following errors only exists in old firmware versions: */
        { HIF_ERROR_HIF_TX_QUEUE_FULL,
                "HIF messages queue is full" },
        { HIF_ERROR_HIF_BUS,
@@ -374,7 +374,7 @@ static const struct {
        { HIF_IND_ID_GENERIC,              hif_generic_indication },
        { HIF_IND_ID_ERROR,                hif_error_indication },
        { HIF_IND_ID_EXCEPTION,            hif_exception_indication },
-       // FIXME: allocate skb_p from hif_receive_indication and make it generic
+       /* FIXME: allocate skb_p from hif_receive_indication and make it generic */
        //{ HIF_IND_ID_RX,                 hif_receive_indication },
 };
 
@@ -385,12 +385,13 @@ void wfx_handle_rx(struct wfx_dev *wdev, struct sk_buff *skb)
        int hif_id = hif->id;
 
        if (hif_id == HIF_IND_ID_RX) {
-               // hif_receive_indication take care of skb lifetime
+               /* hif_receive_indication take care of skb lifetime */
                hif_receive_indication(wdev, hif, hif->body, skb);
                return;
        }
-       // Note: mutex_is_lock cause an implicit memory barrier that protect
-       // buf_send
+       /* Note: mutex_is_lock cause an implicit memory barrier that protect
+        * buf_send
+        */
        if (mutex_is_locked(&wdev->hif_cmd.lock) &&
            wdev->hif_cmd.buf_send &&
            wdev->hif_cmd.buf_send->id == hif_id) {
index f07c10c..96543b8 100644 (file)
@@ -1,7 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Implementation of chip-to-host event (aka indications) of WFxxx Split Mac
- * (WSM) API.
+ * Handling of the chip-to-host events (aka indications) of the hardware API.
  *
  * Copyright (c) 2017-2019, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
index 63b4372..2fd8bbd 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Implementation of host-to-chip commands (aka request/confirmation) of WFxxx
- * Split Mac (WSM) API.
+ * Implementation of the host-to-chip commands (aka request/confirmation) of the
+ * hardware API.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -28,7 +28,7 @@ static void wfx_fill_header(struct hif_msg *hif, int if_id,
        if (if_id == -1)
                if_id = 2;
 
-       WARN(cmd > 0x3f, "invalid WSM command %#.2x", cmd);
+       WARN(cmd > 0x3f, "invalid hardware command %#.2x", cmd);
        WARN(size > 0xFFF, "requested buffer is too large: %zu bytes", size);
        WARN(if_id > 0x3, "invalid interface ID %d", if_id);
 
@@ -55,15 +55,16 @@ int wfx_cmd_send(struct wfx_dev *wdev, struct hif_msg *request,
        int vif = request->interface;
        int ret;
 
-       // Do not wait for any reply if chip is frozen
+       /* Do not wait for any reply if chip is frozen */
        if (wdev->chip_frozen)
                return -ETIMEDOUT;
 
        mutex_lock(&wdev->hif_cmd.lock);
        WARN(wdev->hif_cmd.buf_send, "data locking error");
 
-       // Note: call to complete() below has an implicit memory barrier that
-       // hopefully protect buf_send
+       /* Note: call to complete() below has an implicit memory barrier that
+        * hopefully protect buf_send
+        */
        wdev->hif_cmd.buf_send = request;
        wdev->hif_cmd.buf_recv = reply;
        wdev->hif_cmd.len_recv = reply_len;
@@ -72,8 +73,9 @@ int wfx_cmd_send(struct wfx_dev *wdev, struct hif_msg *request,
        wfx_bh_request_tx(wdev);
 
        if (no_reply) {
-               // Chip won't reply. Give enough time to the wq to send the
-               // buffer.
+               /* Chip won't reply. Give enough time to the wq to send the
+                * buffer.
+                */
                msleep(100);
                wdev->hif_cmd.buf_send = NULL;
                mutex_unlock(&wdev->hif_cmd.lock);
@@ -108,19 +110,18 @@ int wfx_cmd_send(struct wfx_dev *wdev, struct hif_msg *request,
                mib_sep = "/";
        }
        if (ret < 0)
-               dev_err(wdev->dev,
-                       "WSM request %s%s%s (%#.2x) on vif %d returned error %d\n",
+               dev_err(wdev->dev, "hardware request %s%s%s (%#.2x) on vif %d returned error %d\n",
                        get_hif_name(cmd), mib_sep, mib_name, cmd, vif, ret);
        if (ret > 0)
-               dev_warn(wdev->dev,
-                        "WSM request %s%s%s (%#.2x) on vif %d returned status %d\n",
+               dev_warn(wdev->dev, "hardware request %s%s%s (%#.2x) on vif %d returned status %d\n",
                         get_hif_name(cmd), mib_sep, mib_name, cmd, vif, ret);
 
        return ret;
 }
 
-// This function is special. After HIF_REQ_ID_SHUT_DOWN, chip won't reply to any
-// request anymore. Obviously, only call this function during device unregister.
+/* This function is special. After HIF_REQ_ID_SHUT_DOWN, chip won't reply to any
+ * request anymore. Obviously, only call this function during device unregister.
+ */
 int hif_shutdown(struct wfx_dev *wdev)
 {
        int ret;
@@ -227,14 +228,13 @@ int hif_write_mib(struct wfx_dev *wdev, int vif_id, u16 mib_id,
 }
 
 int hif_scan(struct wfx_vif *wvif, struct cfg80211_scan_request *req,
-            int chan_start_idx, int chan_num, int *timeout)
+            int chan_start_idx, int chan_num)
 {
        int ret, i;
        struct hif_msg *hif;
        size_t buf_len =
                sizeof(struct hif_req_start_scan_alt) + chan_num * sizeof(u8);
        struct hif_req_start_scan_alt *body = wfx_alloc_hif(buf_len, &hif);
-       int tmo_chan_fg, tmo_chan_bg, tmo;
 
        WARN(chan_num > HIF_API_MAX_NB_CHANNELS, "invalid params");
        WARN(req->n_ssids > HIF_API_MAX_NB_SSIDS, "invalid params");
@@ -269,12 +269,6 @@ int hif_scan(struct wfx_vif *wvif, struct cfg80211_scan_request *req,
                body->num_of_probe_requests = 2;
                body->probe_delay = 100;
        }
-       tmo_chan_bg = le32_to_cpu(body->max_channel_time) * USEC_PER_TU;
-       tmo_chan_fg = 512 * USEC_PER_TU + body->probe_delay;
-       tmo_chan_fg *= body->num_of_probe_requests;
-       tmo = chan_num * max(tmo_chan_bg, tmo_chan_fg) + 512 * USEC_PER_TU;
-       if (timeout)
-               *timeout = usecs_to_jiffies(tmo);
 
        wfx_fill_header(hif, wvif->id, HIF_REQ_ID_START_SCAN, buf_len);
        ret = wfx_cmd_send(wvif->wdev, hif, NULL, 0, false);
@@ -286,7 +280,7 @@ int hif_stop_scan(struct wfx_vif *wvif)
 {
        int ret;
        struct hif_msg *hif;
-       // body associated to HIF_REQ_ID_STOP_SCAN is empty
+       /* body associated to HIF_REQ_ID_STOP_SCAN is empty */
        wfx_alloc_hif(0, &hif);
 
        if (!hif)
@@ -308,16 +302,11 @@ int hif_join(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf,
        WARN_ON(!conf->basic_rates);
        WARN_ON(sizeof(body->ssid) < ssidlen);
        WARN(!conf->ibss_joined && !ssidlen, "joining an unknown BSS");
-       if (WARN_ON(!channel))
-               return -EINVAL;
        if (!hif)
                return -ENOMEM;
        body->infrastructure_bss_mode = !conf->ibss_joined;
        body->short_preamble = conf->use_short_preamble;
-       if (channel->flags & IEEE80211_CHAN_NO_IR)
-               body->probe_for_join = 0;
-       else
-               body->probe_for_join = 1;
+       body->probe_for_join = !(channel->flags & IEEE80211_CHAN_NO_IR);
        body->channel_number = channel->hw_value;
        body->beacon_interval = cpu_to_le32(conf->beacon_int);
        body->basic_rate_set =
@@ -355,16 +344,17 @@ int hif_add_key(struct wfx_dev *wdev, const struct hif_req_add_key *arg)
 {
        int ret;
        struct hif_msg *hif;
-       // FIXME: only send necessary bits
+       /* FIXME: only send necessary bits */
        struct hif_req_add_key *body = wfx_alloc_hif(sizeof(*body), &hif);
 
        if (!hif)
                return -ENOMEM;
-       // FIXME: swap bytes as necessary in body
+       /* FIXME: swap bytes as necessary in body */
        memcpy(body, arg, sizeof(*body));
        if (wfx_api_older_than(wdev, 1, 5))
-               // Legacy firmwares expect that add_key to be sent on right
-               // interface.
+               /* Legacy firmwares expect that add_key to be sent on right
+                * interface.
+                */
                wfx_fill_header(hif, arg->int_id, HIF_REQ_ID_ADD_KEY,
                                sizeof(*body));
        else
@@ -408,7 +398,7 @@ int hif_set_edca_queue_params(struct wfx_vif *wvif, u16 queue,
        body->cw_max = cpu_to_le16(arg->cw_max);
        body->tx_op_limit = cpu_to_le16(arg->txop * USEC_PER_TXOP);
        body->queue_id = 3 - queue;
-       // API 2.0 has changed queue IDs values
+       /* API 2.0 has changed queue IDs values */
        if (wfx_api_older_than(wvif->wdev, 2, 0) && queue == IEEE80211_AC_BE)
                body->queue_id = HIF_QUEUE_ID_BACKGROUND;
        if (wfx_api_older_than(wvif->wdev, 2, 0) && queue == IEEE80211_AC_BK)
@@ -433,7 +423,7 @@ int hif_set_pm(struct wfx_vif *wvif, bool ps, int dynamic_ps_timeout)
                return -ENOMEM;
        if (ps) {
                body->enter_psm = 1;
-               // Firmware does not support more than 128ms
+               /* Firmware does not support more than 128ms */
                body->fast_psm_idle_period = min(dynamic_ps_timeout * 2, 255);
                if (body->fast_psm_idle_period)
                        body->fast_psm = 1;
index 3521c54..e57eabd 100644 (file)
@@ -1,7 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Implementation of host-to-chip commands (aka request/confirmation) of WFxxx
- * Split Mac (WSM) API.
+ * Implementation of the host-to-chip commands (aka request/confirmation) of the
+ * hardware API.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -40,7 +40,7 @@ int hif_read_mib(struct wfx_dev *wdev, int vif_id, u16 mib_id,
 int hif_write_mib(struct wfx_dev *wdev, int vif_id, u16 mib_id,
                  void *buf, size_t buf_size);
 int hif_scan(struct wfx_vif *wvif, struct cfg80211_scan_request *req80211,
-            int chan_start, int chan_num, int *timeout);
+            int chan_start, int chan_num);
 int hif_stop_scan(struct wfx_vif *wvif);
 int hif_join(struct wfx_vif *wvif, const struct ieee80211_bss_conf *conf,
             struct ieee80211_channel *channel, const u8 *ssid, int ssidlen);
index 1926cf1..97e961e 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * Implementation of host-to-chip MIBs of WFxxx Split Mac (WSM) API.
+ * Implementation of the host-to-chip MIBs of the hardware API.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -68,25 +68,25 @@ int hif_get_counters_table(struct wfx_dev *wdev, int vif_id,
                           struct hif_mib_extended_count_table *arg)
 {
        if (wfx_api_older_than(wdev, 1, 3)) {
-               // extended_count_table is wider than count_table
+               /* extended_count_table is wider than count_table */
                memset(arg, 0xFF, sizeof(*arg));
                return hif_read_mib(wdev, vif_id, HIF_MIB_ID_COUNTERS_TABLE,
                                    arg, sizeof(struct hif_mib_count_table));
        } else {
                return hif_read_mib(wdev, vif_id,
                                    HIF_MIB_ID_EXTENDED_COUNTERS_TABLE, arg,
-                               sizeof(struct hif_mib_extended_count_table));
+                                   sizeof(struct hif_mib_extended_count_table));
        }
 }
 
 int hif_set_macaddr(struct wfx_vif *wvif, u8 *mac)
 {
-       struct hif_mib_mac_address msg = { };
+       struct hif_mib_mac_address arg = { };
 
        if (mac)
-               ether_addr_copy(msg.mac_addr, mac);
+               ether_addr_copy(arg.mac_addr, mac);
        return hif_write_mib(wvif->wdev, wvif->id, HIF_MIB_ID_DOT11_MAC_ADDRESS,
-                            &msg, sizeof(msg));
+                            &arg, sizeof(arg));
 }
 
 int hif_set_rx_filter(struct wfx_vif *wvif,
@@ -246,7 +246,7 @@ int hif_set_arp_ipv4_filter(struct wfx_vif *wvif, int idx, __be32 *addr)
        };
 
        if (addr) {
-               // Caution: type of addr is __be32
+               /* Caution: type of addr is __be32 */
                memcpy(arg.ipv4_address, addr, sizeof(arg.ipv4_address));
                arg.arp_enable = HIF_ARP_NS_FILTERING_ENABLE;
        }
index 812b3ba..2a3b848 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Implementation of host-to-chip MIBs of WFxxx Split Mac (WSM) API.
+ * Implementation of the host-to-chip MIBs of the hardware API.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
index 36fbc5b..30eb888 100644 (file)
@@ -31,7 +31,7 @@ static int read32(struct wfx_dev *wdev, int reg, u32 *val)
        int ret;
        __le32 *tmp = kmalloc(sizeof(u32), GFP_KERNEL);
 
-       *val = ~0; // Never return undefined value
+       *val = ~0; /* Never return undefined value */
        if (!tmp)
                return -ENOMEM;
        ret = wdev->hwbus_ops->copy_from_io(wdev->hwbus_priv, reg, tmp,
@@ -153,7 +153,7 @@ static int indirect_read(struct wfx_dev *wdev, int reg, u32 addr,
 
 err:
        if (ret < 0)
-               memset(buf, 0xFF, len); // Never return undefined value
+               memset(buf, 0xFF, len); /* Never return undefined value */
        return ret;
 }
 
@@ -335,7 +335,7 @@ int igpr_reg_read(struct wfx_dev *wdev, int index, u32 *val)
 {
        int ret;
 
-       *val = ~0; // Never return undefined value
+       *val = ~0; /* Never return undefined value */
        ret = write32_locked(wdev, WFX_REG_SET_GEN_R_W, IGPR_RW | index << 24);
        if (ret)
                return ret;
index 0b8e4f7..ff09575 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Low-level API.
+ * Low-level I/O functions.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -27,30 +27,30 @@ int sram_reg_write(struct wfx_dev *wdev, u32 addr, u32 val);
 int ahb_reg_read(struct wfx_dev *wdev, u32 addr, u32 *val);
 int ahb_reg_write(struct wfx_dev *wdev, u32 addr, u32 val);
 
-#define CFG_ERR_SPI_FRAME          0x00000001 // only with SPI
-#define CFG_ERR_SDIO_BUF_MISMATCH  0x00000001 // only with SDIO
+#define CFG_ERR_SPI_FRAME          0x00000001 /* only with SPI */
+#define CFG_ERR_SDIO_BUF_MISMATCH  0x00000001 /* only with SDIO */
 #define CFG_ERR_BUF_UNDERRUN       0x00000002
 #define CFG_ERR_DATA_IN_TOO_LARGE  0x00000004
 #define CFG_ERR_HOST_NO_OUT_QUEUE  0x00000008
 #define CFG_ERR_BUF_OVERRUN        0x00000010
 #define CFG_ERR_DATA_OUT_TOO_LARGE 0x00000020
 #define CFG_ERR_HOST_NO_IN_QUEUE   0x00000040
-#define CFG_ERR_HOST_CRC_MISS      0x00000080 // only with SDIO
-#define CFG_SPI_IGNORE_CS          0x00000080 // only with SPI
-#define CFG_BYTE_ORDER_MASK        0x00000300 // only writable with SPI
+#define CFG_ERR_HOST_CRC_MISS      0x00000080 /* only with SDIO */
+#define CFG_SPI_IGNORE_CS          0x00000080 /* only with SPI */
+#define CFG_BYTE_ORDER_MASK        0x00000300 /* only writable with SPI */
 #define     CFG_BYTE_ORDER_BADC    0x00000000
 #define     CFG_BYTE_ORDER_DCBA    0x00000100
-#define     CFG_BYTE_ORDER_ABCD    0x00000200 // SDIO always use this value
+#define     CFG_BYTE_ORDER_ABCD    0x00000200 /* SDIO always use this value */
 #define CFG_DIRECT_ACCESS_MODE     0x00000400
 #define CFG_PREFETCH_AHB           0x00000800
 #define CFG_DISABLE_CPU_CLK        0x00001000
 #define CFG_PREFETCH_SRAM          0x00002000
 #define CFG_CPU_RESET              0x00004000
-#define CFG_SDIO_DISABLE_IRQ       0x00008000 // only with SDIO
+#define CFG_SDIO_DISABLE_IRQ       0x00008000 /* only with SDIO */
 #define CFG_IRQ_ENABLE_DATA        0x00010000
 #define CFG_IRQ_ENABLE_WRDY        0x00020000
 #define CFG_CLK_RISE_EDGE          0x00040000
-#define CFG_SDIO_DISABLE_CRC_CHK   0x00080000 // only with SDIO
+#define CFG_SDIO_DISABLE_CRC_CHK   0x00080000 /* only with SDIO */
 #define CFG_RESERVED               0x00F00000
 #define CFG_DEVICE_ID_MAJOR        0x07000000
 #define CFG_DEVICE_ID_RESERVED     0x78000000
@@ -72,4 +72,4 @@ int control_reg_write_bits(struct wfx_dev *wdev, u32 mask, u32 val);
 int igpr_reg_read(struct wfx_dev *wdev, int index, u32 *val);
 int igpr_reg_write(struct wfx_dev *wdev, int index, u32 val);
 
-#endif /* WFX_HWIO_H */
+#endif
index 2ab82be..65134a1 100644 (file)
@@ -31,7 +31,7 @@ static void wfx_free_key(struct wfx_dev *wdev, int idx)
 }
 
 static u8 fill_wep_pair(struct hif_wep_pairwise_key *msg,
-                            struct ieee80211_key_conf *key, u8 *peer_addr)
+                       struct ieee80211_key_conf *key, u8 *peer_addr)
 {
        WARN(key->keylen > sizeof(msg->key_data), "inconsistent data");
        msg->key_length = key->keylen;
@@ -41,7 +41,7 @@ static u8 fill_wep_pair(struct hif_wep_pairwise_key *msg,
 }
 
 static u8 fill_wep_group(struct hif_wep_group_key *msg,
-                             struct ieee80211_key_conf *key)
+                        struct ieee80211_key_conf *key)
 {
        WARN(key->keylen > sizeof(msg->key_data), "inconsistent data");
        msg->key_id = key->keyidx;
@@ -51,7 +51,7 @@ static u8 fill_wep_group(struct hif_wep_group_key *msg,
 }
 
 static u8 fill_tkip_pair(struct hif_tkip_pairwise_key *msg,
-                             struct ieee80211_key_conf *key, u8 *peer_addr)
+                        struct ieee80211_key_conf *key, u8 *peer_addr)
 {
        u8 *keybuf = key->key;
 
@@ -68,9 +68,9 @@ static u8 fill_tkip_pair(struct hif_tkip_pairwise_key *msg,
 }
 
 static u8 fill_tkip_group(struct hif_tkip_group_key *msg,
-                              struct ieee80211_key_conf *key,
-                              struct ieee80211_key_seq *seq,
-                              enum nl80211_iftype iftype)
+                         struct ieee80211_key_conf *key,
+                         struct ieee80211_key_seq *seq,
+                         enum nl80211_iftype iftype)
 {
        u8 *keybuf = key->key;
 
@@ -84,16 +84,16 @@ static u8 fill_tkip_group(struct hif_tkip_group_key *msg,
        memcpy(msg->tkip_key_data, keybuf, sizeof(msg->tkip_key_data));
        keybuf += sizeof(msg->tkip_key_data);
        if (iftype == NL80211_IFTYPE_AP)
-               // Use Tx MIC Key
+               /* Use Tx MIC Key */
                memcpy(msg->rx_mic_key, keybuf + 0, sizeof(msg->rx_mic_key));
        else
-               // Use Rx MIC Key
+               /* Use Rx MIC Key */
                memcpy(msg->rx_mic_key, keybuf + 8, sizeof(msg->rx_mic_key));
        return HIF_KEY_TYPE_TKIP_GROUP;
 }
 
 static u8 fill_ccmp_pair(struct hif_aes_pairwise_key *msg,
-                             struct ieee80211_key_conf *key, u8 *peer_addr)
+                        struct ieee80211_key_conf *key, u8 *peer_addr)
 {
        WARN(key->keylen != sizeof(msg->aes_key_data), "inconsistent data");
        ether_addr_copy(msg->peer_address, peer_addr);
@@ -102,8 +102,8 @@ static u8 fill_ccmp_pair(struct hif_aes_pairwise_key *msg,
 }
 
 static u8 fill_ccmp_group(struct hif_aes_group_key *msg,
-                              struct ieee80211_key_conf *key,
-                              struct ieee80211_key_seq *seq)
+                         struct ieee80211_key_conf *key,
+                         struct ieee80211_key_seq *seq)
 {
        WARN(key->keylen != sizeof(msg->aes_key_data), "inconsistent data");
        memcpy(msg->aes_key_data, key->key, key->keylen);
@@ -114,7 +114,7 @@ static u8 fill_ccmp_group(struct hif_aes_group_key *msg,
 }
 
 static u8 fill_sms4_pair(struct hif_wapi_pairwise_key *msg,
-                             struct ieee80211_key_conf *key, u8 *peer_addr)
+                        struct ieee80211_key_conf *key, u8 *peer_addr)
 {
        u8 *keybuf = key->key;
 
@@ -129,7 +129,7 @@ static u8 fill_sms4_pair(struct hif_wapi_pairwise_key *msg,
 }
 
 static u8 fill_sms4_group(struct hif_wapi_group_key *msg,
-                              struct ieee80211_key_conf *key)
+                         struct ieee80211_key_conf *key)
 {
        u8 *keybuf = key->key;
 
@@ -143,8 +143,8 @@ static u8 fill_sms4_group(struct hif_wapi_group_key *msg,
 }
 
 static u8 fill_aes_cmac_group(struct hif_igtk_group_key *msg,
-                                  struct ieee80211_key_conf *key,
-                                  struct ieee80211_key_seq *seq)
+                             struct ieee80211_key_conf *key,
+                             struct ieee80211_key_seq *seq)
 {
        WARN(key->keylen != sizeof(msg->igtk_key_data), "inconsistent data");
        memcpy(msg->igtk_key_data, key->key, key->keylen);
index 70a44d0..2d135ef 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Implementation of mac80211 API.
+ * Key management related functions.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -17,4 +17,4 @@ int wfx_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
                struct ieee80211_vif *vif, struct ieee80211_sta *sta,
                struct ieee80211_key_conf *key);
 
-#endif /* WFX_STA_H */
+#endif
index 4b9fdf9..858d778 100644 (file)
@@ -35,7 +35,7 @@
 
 #define WFX_PDS_MAX_SIZE 1500
 
-MODULE_DESCRIPTION("Silicon Labs 802.11 Wireless LAN driver for WFx");
+MODULE_DESCRIPTION("Silicon Labs 802.11 Wireless LAN driver for WF200");
 MODULE_AUTHOR("Jérôme Pouiller <jerome.pouiller@silabs.com>");
 MODULE_LICENSE("GPL");
 
@@ -92,7 +92,7 @@ static const struct ieee80211_supported_band wfx_band_2ghz = {
        .bitrates = wfx_rates,
        .n_bitrates = ARRAY_SIZE(wfx_rates),
        .ht_cap = {
-               // Receive caps
+               /* Receive caps */
                .cap = IEEE80211_HT_CAP_GRN_FLD | IEEE80211_HT_CAP_SGI_20 |
                       IEEE80211_HT_CAP_MAX_AMSDU |
                       (1 << IEEE80211_HT_CAP_RX_STBC_SHIFT),
@@ -100,7 +100,7 @@ static const struct ieee80211_supported_band wfx_band_2ghz = {
                .ampdu_factor = IEEE80211_HT_MAX_AMPDU_16K,
                .ampdu_density = IEEE80211_HT_MPDU_DENSITY_NONE,
                .mcs = {
-                       .rx_mask = { 0xFF }, // MCS0 to MCS7
+                       .rx_mask = { 0xFF }, /* MCS0 to MCS7 */
                        .rx_highest = cpu_to_le16(72),
                        .tx_params = IEEE80211_HT_MCS_TX_DEFINED,
                },
@@ -163,7 +163,20 @@ bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor)
        return false;
 }
 
-/* NOTE: wfx_send_pds() destroy buf */
+/* The device needs data about the antenna configuration. This information in
+ * provided by PDS (Platform Data Set, this is the wording used in WF200
+ * documentation) files. For hardware integrators, the full process to create
+ * PDS files is described here:
+ *   https:github.com/SiliconLabs/wfx-firmware/blob/master/PDS/README.md
+ *
+ * So this function aims to send PDS to the device. However, the PDS file is
+ * often bigger than Rx buffers of the chip, so it has to be sent in multiple
+ * parts.
+ *
+ * In add, the PDS data cannot be split anywhere. The PDS files contains tree
+ * structures. Braces are used to enter/leave a level of the tree (in a JSON
+ * fashion). PDS files can only been split between root nodes.
+ */
 int wfx_send_pds(struct wfx_dev *wdev, u8 *buf, size_t len)
 {
        int ret;
@@ -220,7 +233,7 @@ static int wfx_send_pdata_pds(struct wfx_dev *wdev)
 
        ret = request_firmware(&pds, wdev->pdata.file_pds, wdev->dev);
        if (ret) {
-               dev_err(wdev->dev, "can't load PDS file %s\n",
+               dev_err(wdev->dev, "can't load antenna parameters (PDS file %s). The device may be unstable.\n",
                        wdev->pdata.file_pds);
                goto err1;
        }
@@ -294,7 +307,7 @@ struct wfx_dev *wfx_init_common(struct device *dev,
        hw->wiphy->n_iface_combinations = ARRAY_SIZE(wfx_iface_combinations);
        hw->wiphy->iface_combinations = wfx_iface_combinations;
        hw->wiphy->bands[NL80211_BAND_2GHZ] = devm_kmalloc(dev, sizeof(wfx_band_2ghz), GFP_KERNEL);
-       // FIXME: also copy wfx_rates and wfx_2ghz_chantable
+       /* FIXME: also copy wfx_rates and wfx_2ghz_chantable */
        memcpy(hw->wiphy->bands[NL80211_BAND_2GHZ], &wfx_band_2ghz,
               sizeof(wfx_band_2ghz));
 
@@ -336,8 +349,9 @@ int wfx_probe(struct wfx_dev *wdev)
        int err;
        struct gpio_desc *gpio_saved;
 
-       // During first part of boot, gpio_wakeup cannot yet been used. So
-       // prevent bh() to touch it.
+       /* During first part of boot, gpio_wakeup cannot yet been used. So
+        * prevent bh() to touch it.
+        */
        gpio_saved = wdev->pdata.gpio_wakeup;
        wdev->pdata.gpio_wakeup = NULL;
        wdev->poll_irq = true;
@@ -360,7 +374,7 @@ int wfx_probe(struct wfx_dev *wdev)
                goto err0;
        }
 
-       // FIXME: fill wiphy::hw_version
+       /* FIXME: fill wiphy::hw_version */
        dev_info(wdev->dev, "started firmware %d.%d.%d \"%s\" (API: %d.%d, keyset: %02X, caps: 0x%.8X)\n",
                 wdev->hw_caps.firmware_major, wdev->hw_caps.firmware_minor,
                 wdev->hw_caps.firmware_build, wdev->hw_caps.firmware_label,
@@ -396,7 +410,7 @@ int wfx_probe(struct wfx_dev *wdev)
        dev_dbg(wdev->dev, "sending configuration file %s\n",
                wdev->pdata.file_pds);
        err = wfx_send_pdata_pds(wdev);
-       if (err < 0)
+       if (err < 0 && err != -ENOENT)
                goto err0;
 
        wdev->poll_irq = false;
@@ -440,6 +454,9 @@ int wfx_probe(struct wfx_dev *wdev)
        wdev->hw->wiphy->n_addresses = ARRAY_SIZE(wdev->addresses);
        wdev->hw->wiphy->addresses = wdev->addresses;
 
+       if (!wfx_api_older_than(wdev, 3, 8))
+               wdev->hw->wiphy->flags |= WIPHY_FLAG_SUPPORTS_TDLS;
+
        err = ieee80211_register_hw(wdev->hw);
        if (err)
                goto err1;
index a0db322..115abd2 100644 (file)
@@ -23,8 +23,7 @@ struct wfx_platform_data {
        const char *file_fw;
        const char *file_pds;
        struct gpio_desc *gpio_wakeup;
-       /*
-        * if true HIF D_out is sampled on the rising edge of the clock
+       /* if true HIF D_out is sampled on the rising edge of the clock
         * (intended to be used in 50Mhz SDIO)
         */
        bool use_rising_clk;
index 31c37f6..7a3ba3c 100644 (file)
@@ -1,6 +1,6 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /*
- * O(1) TX queue with built-in allocator.
+ * Queue between the tx operation and the bh workqueue.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -32,7 +32,7 @@ void wfx_tx_flush(struct wfx_dev *wdev)
 {
        int ret;
 
-       // Do not wait for any reply if chip is frozen
+       /* Do not wait for any reply if chip is frozen */
        if (wdev->chip_frozen)
                return;
 
@@ -45,7 +45,7 @@ void wfx_tx_flush(struct wfx_dev *wdev)
                dev_warn(wdev->dev, "cannot flush tx buffers (%d still busy)\n",
                         wdev->hif.tx_buffers_used);
                wfx_pending_dump_old_frames(wdev, 3000);
-               // FIXME: drop pending frames here
+               /* FIXME: drop pending frames here */
                wdev->chip_frozen = true;
        }
        mutex_unlock(&wdev->hif_cmd.lock);
@@ -60,9 +60,10 @@ void wfx_tx_lock_flush(struct wfx_dev *wdev)
 
 void wfx_tx_queues_init(struct wfx_vif *wvif)
 {
-       // The device is in charge to respect the details of the QoS parameters.
-       // The driver just ensure that it roughtly respect the priorities to
-       // avoid any shortage.
+       /* The device is in charge to respect the details of the QoS parameters.
+        * The driver just ensure that it roughtly respect the priorities to
+        * avoid any shortage.
+        */
        const int priorities[IEEE80211_NUM_ACS] = { 1, 2, 64, 128 };
        int i;
 
@@ -73,22 +74,22 @@ void wfx_tx_queues_init(struct wfx_vif *wvif)
        }
 }
 
+bool wfx_tx_queue_empty(struct wfx_vif *wvif, struct wfx_queue *queue)
+{
+       return skb_queue_empty_lockless(&queue->normal) &&
+              skb_queue_empty_lockless(&queue->cab);
+}
+
 void wfx_tx_queues_check_empty(struct wfx_vif *wvif)
 {
        int i;
 
        for (i = 0; i < IEEE80211_NUM_ACS; ++i) {
                WARN_ON(atomic_read(&wvif->tx_queue[i].pending_frames));
-               WARN_ON(!skb_queue_empty_lockless(&wvif->tx_queue[i].normal));
-               WARN_ON(!skb_queue_empty_lockless(&wvif->tx_queue[i].cab));
+               WARN_ON(!wfx_tx_queue_empty(wvif, &wvif->tx_queue[i]));
        }
 }
 
-bool wfx_tx_queue_empty(struct wfx_vif *wvif, struct wfx_queue *queue)
-{
-       return skb_queue_empty(&queue->normal) && skb_queue_empty(&queue->cab);
-}
-
 static void __wfx_tx_queue_drop(struct wfx_vif *wvif,
                                struct sk_buff_head *skb_queue,
                                struct sk_buff_head *dropped)
@@ -217,8 +218,9 @@ bool wfx_tx_queues_has_cab(struct wfx_vif *wvif)
        if (wvif->vif->type != NL80211_IFTYPE_AP)
                return false;
        for (i = 0; i < IEEE80211_NUM_ACS; ++i)
-               // Note: since only AP can have mcast frames in queue and only
-               // one vif can be AP, all queued frames has same interface id
+               /* Note: since only AP can have mcast frames in queue and only
+                * one vif can be AP, all queued frames has same interface id
+                */
                if (!skb_queue_empty_lockless(&wvif->tx_queue[i].cab))
                        return true;
        return false;
@@ -237,7 +239,7 @@ static struct sk_buff *wfx_tx_queues_get_skb(struct wfx_dev *wdev)
        struct hif_msg *hif;
        struct sk_buff *skb;
 
-       // sort the queues
+       /* sort the queues */
        wvif = NULL;
        while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
                for (i = 0; i < IEEE80211_NUM_ACS; i++) {
@@ -259,9 +261,10 @@ static struct sk_buff *wfx_tx_queues_get_skb(struct wfx_dev *wdev)
                        skb = skb_dequeue(&queues[i]->cab);
                        if (!skb)
                                continue;
-                       // Note: since only AP can have mcast frames in queue
-                       // and only one vif can be AP, all queued frames has
-                       // same interface id
+                       /* Note: since only AP can have mcast frames in queue
+                        * and only one vif can be AP, all queued frames has
+                        * same interface id
+                        */
                        hif = (struct hif_msg *)skb->data;
                        WARN_ON(hif->interface != wvif->id);
                        WARN_ON(queues[i] !=
@@ -270,7 +273,7 @@ static struct sk_buff *wfx_tx_queues_get_skb(struct wfx_dev *wdev)
                        trace_queues_stats(wdev, queues[i]);
                        return skb;
                }
-               // No more multicast to sent
+               /* No more multicast to sent */
                wvif->after_dtim_tx_allowed = false;
                schedule_work(&wvif->update_tim_work);
        }
index 80ba194..edd0d01 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * O(1) TX queue with built-in allocator.
+ * Queue between the tx operation and the bh workqueue.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -16,7 +16,7 @@ struct wfx_vif;
 
 struct wfx_queue {
        struct sk_buff_head     normal;
-       struct sk_buff_head     cab; // Content After (DTIM) Beacon
+       struct sk_buff_head     cab; /* Content After (DTIM) Beacon */
        atomic_t                pending_frames;
        int                     priority;
 };
@@ -42,4 +42,4 @@ unsigned int wfx_pending_get_pkt_us_delay(struct wfx_dev *wdev,
                                          struct sk_buff *skb);
 void wfx_pending_dump_old_frames(struct wfx_dev *wdev, unsigned int limit_ms);
 
-#endif /* WFX_QUEUE_H */
+#endif
index fb47c7c..668ef2c 100644 (file)
@@ -41,7 +41,7 @@ static int update_probe_tmpl(struct wfx_vif *wvif,
 static int send_scan_req(struct wfx_vif *wvif,
                         struct cfg80211_scan_request *req, int start_idx)
 {
-       int i, ret, timeout;
+       int i, ret;
        struct ieee80211_channel *ch_start, *ch_cur;
 
        for (i = start_idx; i < req->n_channels; i++) {
@@ -56,29 +56,36 @@ static int send_scan_req(struct wfx_vif *wvif,
        wfx_tx_lock_flush(wvif->wdev);
        wvif->scan_abort = false;
        reinit_completion(&wvif->scan_complete);
-       ret = hif_scan(wvif, req, start_idx, i - start_idx, &timeout);
+       ret = hif_scan(wvif, req, start_idx, i - start_idx);
        if (ret) {
                wfx_tx_unlock(wvif->wdev);
                return -EIO;
        }
-       ret = wait_for_completion_timeout(&wvif->scan_complete, timeout);
-       if (req->channels[start_idx]->max_power != wvif->vif->bss_conf.txpower)
-               hif_set_output_power(wvif, wvif->vif->bss_conf.txpower);
-       wfx_tx_unlock(wvif->wdev);
+       ret = wait_for_completion_timeout(&wvif->scan_complete, 1 * HZ);
        if (!ret) {
-               dev_notice(wvif->wdev->dev, "scan timeout\n");
                hif_stop_scan(wvif);
-               return -ETIMEDOUT;
+               ret = wait_for_completion_timeout(&wvif->scan_complete, 1 * HZ);
+               dev_dbg(wvif->wdev->dev, "scan timeout (%d channels done)\n",
+                       wvif->scan_nb_chan_done);
        }
-       if (wvif->scan_abort) {
+       if (!ret) {
+               dev_err(wvif->wdev->dev, "scan didn't stop\n");
+               ret = -ETIMEDOUT;
+       } else if (wvif->scan_abort) {
                dev_notice(wvif->wdev->dev, "scan abort\n");
-               return -ECONNABORTED;
+               ret = -ECONNABORTED;
+       } else if (wvif->scan_nb_chan_done > i - start_idx) {
+               ret = -EIO;
+       } else {
+               ret = wvif->scan_nb_chan_done;
        }
-       return i - start_idx;
+       if (req->channels[start_idx]->max_power != wvif->vif->bss_conf.txpower)
+               hif_set_output_power(wvif, wvif->vif->bss_conf.txpower);
+       wfx_tx_unlock(wvif->wdev);
+       return ret;
 }
 
-/*
- * It is not really necessary to run scan request asynchronously. However,
+/* It is not really necessary to run scan request asynchronously. However,
  * there is a bug in "iw scan" when ieee80211_scan_completed() is called before
  * wfx_hw_scan() return
  */
@@ -86,7 +93,7 @@ void wfx_hw_scan_work(struct work_struct *work)
 {
        struct wfx_vif *wvif = container_of(work, struct wfx_vif, scan_work);
        struct ieee80211_scan_request *hw_req = wvif->scan_req;
-       int chan_cur, ret;
+       int chan_cur, ret, err;
 
        mutex_lock(&wvif->wdev->conf_mutex);
        mutex_lock(&wvif->scan_lock);
@@ -97,11 +104,20 @@ void wfx_hw_scan_work(struct work_struct *work)
        }
        update_probe_tmpl(wvif, &hw_req->req);
        chan_cur = 0;
+       err = 0;
        do {
                ret = send_scan_req(wvif, &hw_req->req, chan_cur);
-               if (ret > 0)
+               if (ret > 0) {
                        chan_cur += ret;
-       } while (ret > 0 && chan_cur < hw_req->req.n_channels);
+                       err = 0;
+               }
+               if (!ret)
+                       err++;
+               if (err > 2) {
+                       dev_err(wvif->wdev->dev, "scan has not been able to start\n");
+                       ret = -ETIMEDOUT;
+               }
+       } while (ret >= 0 && chan_cur < hw_req->req.n_channels);
        mutex_unlock(&wvif->scan_lock);
        mutex_unlock(&wvif->wdev->conf_mutex);
        __ieee80211_scan_completed_compat(wvif->wdev->hw, ret < 0);
@@ -126,7 +142,8 @@ void wfx_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
        hif_stop_scan(wvif);
 }
 
-void wfx_scan_complete(struct wfx_vif *wvif)
+void wfx_scan_complete(struct wfx_vif *wvif, int nb_chan_done)
 {
+       wvif->scan_nb_chan_done = nb_chan_done;
        complete(&wvif->scan_complete);
 }
index c7496a7..78e3b98 100644 (file)
@@ -17,6 +17,6 @@ void wfx_hw_scan_work(struct work_struct *work);
 int wfx_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
                struct ieee80211_scan_request *req);
 void wfx_cancel_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
-void wfx_scan_complete(struct wfx_vif *wvif);
+void wfx_scan_complete(struct wfx_vif *wvif, int nb_chan_done);
 
-#endif /* WFX_SCAN_H */
+#endif
index cb7e8ab..23c0425 100644 (file)
@@ -24,7 +24,7 @@ u32 wfx_rate_mask_to_hw(struct wfx_dev *wdev, u32 rates)
 {
        int i;
        u32 ret = 0;
-       // WFx only support 2GHz
+       /* The device only supports 2GHz */
        struct ieee80211_supported_band *sband = wdev->hw->wiphy->bands[NL80211_BAND_2GHZ];
 
        for (i = 0; i < sband->n_bitrates; i++) {
@@ -51,11 +51,11 @@ void wfx_cooling_timeout_work(struct work_struct *work)
 void wfx_suspend_hot_dev(struct wfx_dev *wdev, enum sta_notify_cmd cmd)
 {
        if (cmd == STA_NOTIFY_AWAKE) {
-               // Device recover normal temperature
+               /* Device recover normal temperature */
                if (cancel_delayed_work(&wdev->cooling_timeout_work))
                        wfx_tx_unlock(wdev);
        } else {
-               // Device is too hot
+               /* Device is too hot */
                schedule_delayed_work(&wdev->cooling_timeout_work, 10 * HZ);
                wfx_tx_lock(wdev);
        }
@@ -80,13 +80,18 @@ static void wfx_filter_beacon(struct wfx_vif *wvif, bool filter_beacon)
                        .has_changed  = 1,
                        .no_longer    = 1,
                        .has_appeared = 1,
+               }, {
+                       .ie_id        = WLAN_EID_CHANNEL_SWITCH,
+                       .has_changed  = 1,
+                       .no_longer    = 1,
+                       .has_appeared = 1,
                }
        };
 
        if (!filter_beacon) {
                hif_beacon_filter_control(wvif, 0, 1);
        } else {
-               hif_set_beacon_filter_table(wvif, 3, filter_ies);
+               hif_set_beacon_filter_table(wvif, ARRAY_SIZE(filter_ies), filter_ies);
                hif_beacon_filter_control(wvif, HIF_BEACON_FILTER_ENABLE, 0);
        }
 }
@@ -98,13 +103,14 @@ void wfx_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags,
        struct wfx_dev *wdev = hw->priv;
        bool filter_bssid, filter_prbreq, filter_beacon;
 
-       // Notes:
-       //   - Probe responses (FIF_BCN_PRBRESP_PROMISC) are never filtered
-       //   - PS-Poll (FIF_PSPOLL) are never filtered
-       //   - RTS, CTS and Ack (FIF_CONTROL) are always filtered
-       //   - Broken frames (FIF_FCSFAIL and FIF_PLCPFAIL) are always filtered
-       //   - Firmware does (yet) allow to forward unicast traffic sent to
-       //     other stations (aka. promiscuous mode)
+       /* Notes:
+        *   - Probe responses (FIF_BCN_PRBRESP_PROMISC) are never filtered
+        *   - PS-Poll (FIF_PSPOLL) are never filtered
+        *   - RTS, CTS and Ack (FIF_CONTROL) are always filtered
+        *   - Broken frames (FIF_FCSFAIL and FIF_PLCPFAIL) are always filtered
+        *   - Firmware does (yet) allow to forward unicast traffic sent to
+        *     other stations (aka. promiscuous mode)
+        */
        *total_flags &= FIF_BCN_PRBRESP_PROMISC | FIF_ALLMULTI | FIF_OTHER_BSS |
                        FIF_PROBE_REQ | FIF_PSPOLL;
 
@@ -112,8 +118,9 @@ void wfx_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags,
        while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
                mutex_lock(&wvif->scan_lock);
 
-               // Note: FIF_BCN_PRBRESP_PROMISC covers probe response and
-               // beacons from other BSS
+               /* Note: FIF_BCN_PRBRESP_PROMISC covers probe response and
+                * beacons from other BSS
+                */
                if (*total_flags & FIF_BCN_PRBRESP_PROMISC)
                        filter_beacon = false;
                else
@@ -125,7 +132,7 @@ void wfx_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags,
                else
                        filter_bssid = true;
 
-               // In AP mode, chip can reply to probe request itself
+               /* In AP mode, chip can reply to probe request itself */
                if (*total_flags & FIF_PROBE_REQ &&
                    wvif->vif->type == NL80211_IFTYPE_AP) {
                        dev_dbg(wdev->dev, "do not forward probe request in AP mode\n");
@@ -154,10 +161,18 @@ static int wfx_get_ps_timeout(struct wfx_vif *wvif, bool *enable_ps)
                chan0 = wdev_to_wvif(wvif->wdev, 0)->vif->bss_conf.chandef.chan;
        if (wdev_to_wvif(wvif->wdev, 1))
                chan1 = wdev_to_wvif(wvif->wdev, 1)->vif->bss_conf.chandef.chan;
-       if (chan0 && chan1 && chan0->hw_value != chan1->hw_value &&
-           wvif->vif->type != NL80211_IFTYPE_AP) {
-               // It is necessary to enable powersave if channels
-               // are different.
+       if (chan0 && chan1 && wvif->vif->type != NL80211_IFTYPE_AP) {
+               if (chan0->hw_value == chan1->hw_value) {
+                       /* It is useless to enable PS if channels are the same. */
+                       if (enable_ps)
+                               *enable_ps = false;
+                       if (wvif->vif->bss_conf.assoc && wvif->vif->bss_conf.ps)
+                               dev_info(wvif->wdev->dev, "ignoring requested PS mode");
+                       return -1;
+               }
+               /* It is necessary to enable PS if channels
+                * are different.
+                */
                if (enable_ps)
                        *enable_ps = true;
                if (wvif->wdev->force_ps_timeout > -1)
@@ -229,8 +244,6 @@ int wfx_set_rts_threshold(struct ieee80211_hw *hw, u32 value)
        return 0;
 }
 
-/* WSM callbacks */
-
 void wfx_event_report_rssi(struct wfx_vif *wvif, u8 raw_rcpi_rssi)
 {
        /* RSSI: signed Q8.0, RCPI: unsigned Q7.1
@@ -294,7 +307,7 @@ int wfx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
        if (vif->type == NL80211_IFTYPE_STATION)
                hif_set_mfp(wvif, sta->mfp, sta->mfp);
 
-       // In station mode, the firmware interprets new link-id as a TDLS peer.
+       /* In station mode, the firmware interprets new link-id as a TDLS peer */
        if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls)
                return 0;
        sta_priv->link_id = ffz(wvif->link_id_map);
@@ -312,10 +325,10 @@ int wfx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
        struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv;
        struct wfx_sta_priv *sta_priv = (struct wfx_sta_priv *)&sta->drv_priv;
 
-       // See note in wfx_sta_add()
+       /* See note in wfx_sta_add() */
        if (!sta_priv->link_id)
                return 0;
-       // FIXME add a mutex?
+       /* FIXME add a mutex? */
        hif_map_link(wvif, true, sta->addr, sta_priv->link_id, false);
        wvif->link_id_map &= ~BIT(sta_priv->link_id);
        return 0;
@@ -410,7 +423,7 @@ static void wfx_join(struct wfx_vif *wvif)
                return;
        }
 
-       rcu_read_lock(); // protect ssidie
+       rcu_read_lock(); /* protect ssidie */
        if (bss)
                ssidie = ieee80211_bss_get_ie(bss, WLAN_EID_SSID);
        if (ssidie) {
@@ -446,7 +459,7 @@ static void wfx_join_finalize(struct wfx_vif *wvif,
        int ampdu_density = 0;
        bool greenfield = false;
 
-       rcu_read_lock(); // protect sta
+       rcu_read_lock(); /* protect sta */
        if (info->bssid && !info->ibss_joined)
                sta = ieee80211_find_sta(wvif->vif, info->bssid);
        if (sta && sta->ht_cap.ht_supported)
@@ -460,8 +473,9 @@ static void wfx_join_finalize(struct wfx_vif *wvif,
        hif_set_association_mode(wvif, ampdu_density, greenfield,
                                 info->use_short_preamble);
        hif_keep_alive_period(wvif, 0);
-       // beacon_loss_count is defined to 7 in net/mac80211/mlme.c. Let's use
-       // the same value.
+       /* beacon_loss_count is defined to 7 in net/mac80211/mlme.c. Let's use
+        * the same value.
+        */
        hif_set_bss_params(wvif, info->aid, 7);
        hif_set_beacon_wakeup_period(wvif, 1, 1);
        wfx_update_pm(wvif);
@@ -485,10 +499,11 @@ void wfx_leave_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 
 static void wfx_enable_beacon(struct wfx_vif *wvif, bool enable)
 {
-       // Driver has Content After DTIM Beacon in queue. Driver is waiting for
-       // a signal from the firmware. Since we are going to stop to send
-       // beacons, this signal will never happens. See also
-       // wfx_suspend_resume_mc()
+       /* Driver has Content After DTIM Beacon in queue. Driver is waiting for
+        * a signal from the firmware. Since we are going to stop to send
+        * beacons, this signal will never happens. See also
+        * wfx_suspend_resume_mc()
+        */
        if (!enable && wfx_tx_queues_has_cab(wvif)) {
                wvif->after_dtim_tx_allowed = true;
                wfx_bh_request_tx(wvif->wdev);
@@ -528,8 +543,9 @@ void wfx_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
                                 __func__);
                hif_set_beacon_wakeup_period(wvif, info->dtim_period,
                                             info->dtim_period);
-               // We temporary forwarded beacon for join process. It is now no
-               // more necessary.
+               /* We temporary forwarded beacon for join process. It is now no
+                * more necessary.
+                */
                wfx_filter_beacon(wvif, true);
        }
 
@@ -588,9 +604,7 @@ static int wfx_update_tim(struct wfx_vif *wvif)
        tim_ptr = skb->data + tim_offset;
 
        if (tim_offset && tim_length >= 6) {
-               /* Ignore DTIM count from mac80211:
-                * firmware handles DTIM internally.
-                */
+               /* Firmware handles DTIM counter internally */
                tim_ptr[2] = 0;
 
                /* Set/reset aid0 bit */
@@ -629,10 +643,22 @@ int wfx_set_tim(struct ieee80211_hw *hw, struct ieee80211_sta *sta, bool set)
 
 void wfx_suspend_resume_mc(struct wfx_vif *wvif, enum sta_notify_cmd notify_cmd)
 {
+       struct wfx_vif *wvif_it;
+
        if (notify_cmd != STA_NOTIFY_AWAKE)
                return;
-       WARN(!wfx_tx_queues_has_cab(wvif), "incorrect sequence");
-       WARN(wvif->after_dtim_tx_allowed, "incorrect sequence");
+
+       /* Device won't be able to honor CAB if a scan is in progress on any
+        * interface. Prefer to skip this DTIM and wait for the next one.
+        */
+       wvif_it = NULL;
+       while ((wvif_it = wvif_iterate(wvif->wdev, wvif_it)) != NULL)
+               if (mutex_is_locked(&wvif_it->scan_lock))
+                       return;
+
+       if (!wfx_tx_queues_has_cab(wvif) || wvif->after_dtim_tx_allowed)
+               dev_warn(wvif->wdev->dev, "incorrect sequence (%d CAB in queue)",
+                        wfx_tx_queues_has_cab(wvif));
        wvif->after_dtim_tx_allowed = true;
        wfx_bh_request_tx(wvif->wdev);
 }
@@ -641,15 +667,15 @@ int wfx_ampdu_action(struct ieee80211_hw *hw,
                     struct ieee80211_vif *vif,
                     struct ieee80211_ampdu_params *params)
 {
-       // Aggregation is implemented fully in firmware
+       /* Aggregation is implemented fully in firmware */
        switch (params->action) {
        case IEEE80211_AMPDU_RX_START:
        case IEEE80211_AMPDU_RX_STOP:
-               // Just acknowledge it to enable frame re-ordering
+               /* Just acknowledge it to enable frame re-ordering */
                return 0;
        default:
-               // Leave the firmware doing its business for tx aggregation
-               return -ENOTSUPP;
+               /* Leave the firmware doing its business for tx aggregation */
+               return -EOPNOTSUPP;
        }
 }
 
@@ -720,11 +746,11 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
                return -EOPNOTSUPP;
        }
 
-       // FIXME: prefer use of container_of() to get vif
+       /* FIXME: prefer use of container_of() to get vif */
        wvif->vif = vif;
        wvif->wdev = wdev;
 
-       wvif->link_id_map = 1; // link-id 0 is reserved for multicast
+       wvif->link_id_map = 1; /* link-id 0 is reserved for multicast */
        INIT_WORK(&wvif->update_tim_work, wfx_update_tim_work);
        INIT_DELAYED_WORK(&wvif->beacon_loss_work, wfx_beacon_loss_work);
 
@@ -754,7 +780,7 @@ int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 
        wvif = NULL;
        while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
-               // Combo mode does not support Block Acks. We can re-enable them
+               /* Combo mode does not support Block Acks. We can re-enable them */
                if (wvif_count(wdev) == 1)
                        hif_set_block_ack_policy(wvif, 0xFF, 0xFF);
                else
@@ -786,7 +812,7 @@ void wfx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
 
        wvif = NULL;
        while ((wvif = wvif_iterate(wdev, wvif)) != NULL) {
-               // Combo mode does not support Block Acks. We can re-enable them
+               /* Combo mode does not support Block Acks. We can re-enable them */
                if (wvif_count(wdev) == 1)
                        hif_set_block_ack_policy(wvif, 0xFF, 0xFF);
                else
index d7b5df5..4d7e38b 100644 (file)
@@ -18,7 +18,7 @@ struct wfx_sta_priv {
        int vif_id;
 };
 
-// mac80211 interface
+/* mac80211 interface */
 int wfx_start(struct ieee80211_hw *hw);
 void wfx_stop(struct ieee80211_hw *hw);
 int wfx_config(struct ieee80211_hw *hw, u32 changed);
@@ -59,15 +59,15 @@ void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw,
                              struct ieee80211_vif *vif,
                              struct ieee80211_chanctx_conf *conf);
 
-// WSM Callbacks
+/* Hardware API Callbacks */
 void wfx_cooling_timeout_work(struct work_struct *work);
 void wfx_suspend_hot_dev(struct wfx_dev *wdev, enum sta_notify_cmd cmd);
 void wfx_suspend_resume_mc(struct wfx_vif *wvif, enum sta_notify_cmd cmd);
 void wfx_event_report_rssi(struct wfx_vif *wvif, u8 raw_rcpi_rssi);
 int wfx_update_pm(struct wfx_vif *wvif);
 
-// Other Helpers
+/* Other Helpers */
 void wfx_reset(struct wfx_vif *wvif);
 u32 wfx_rate_mask_to_hw(struct wfx_dev *wdev, u32 rates);
 
-#endif /* WFX_STA_H */
+#endif
index e34c7a5..e90dc73 100644 (file)
@@ -378,7 +378,7 @@ TRACE_EVENT(tx_stats,
                __array(int, tx_count, 4)
        ),
        TP_fast_assign(
-               // Keep sync with wfx_rates definition in main.c
+               /* Keep sync with wfx_rates definition in main.c */
                static const int hw_rate[] = { 0, 1, 2, 3, 6, 7, 8, 9,
                                               10, 11, 12, 13 };
                const struct ieee80211_tx_info *tx_info =
index 9489868..f8df59a 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 /*
- * Common private data for Silicon Labs WFx chips.
+ * Common private data.
  *
  * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
  * Copyright (c) 2010, ST-Ericsson
@@ -22,7 +22,7 @@
 #include "queue.h"
 #include "hif_tx.h"
 
-#define USEC_PER_TXOP 32 // see struct ieee80211_tx_queue_params
+#define USEC_PER_TXOP 32 /* see struct ieee80211_tx_queue_params */
 #define USEC_PER_TU 1024
 
 struct hwbus_ops;
@@ -85,6 +85,7 @@ struct wfx_vif {
        struct mutex            scan_lock;
        struct work_struct      scan_work;
        struct completion       scan_complete;
+       int                     scan_nb_chan_done;
        bool                    scan_abort;
        struct ieee80211_scan_request *scan_req;
 
@@ -98,12 +99,9 @@ static inline struct wfx_vif *wdev_to_wvif(struct wfx_dev *wdev, int vif_id)
                return NULL;
        }
        vif_id = array_index_nospec(vif_id, ARRAY_SIZE(wdev->vif));
-       if (!wdev->vif[vif_id]) {
-               dev_dbg(wdev->dev, "requesting non-allocated vif: %d\n",
-                       vif_id);
+       if (!wdev->vif[vif_id])
                return NULL;
-       }
-       return (struct wfx_vif *) wdev->vif[vif_id]->drv_priv;
+       return (struct wfx_vif *)wdev->vif[vif_id]->drv_priv;
 }
 
 static inline struct wfx_vif *wvif_iterate(struct wfx_dev *wdev,
@@ -163,4 +161,4 @@ static inline int memzcmp(void *src, unsigned int size)
        return memcmp(buf, buf + 1, size - 1);
 }
 
-#endif /* WFX_H */
+#endif
index 75ed8bc..98c154a 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* hfa384x.h
+/*
  *
  * Defines the constants and data structures for the hfa384x
  *
index 8c85246..938e11a 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/prism2/driver/hfa384x_usb.c
+/*
  *
  * Functions that talk to the USB variant of the Intersil hfa384x MAC
  *
@@ -3778,18 +3778,18 @@ static void hfa384x_usb_throttlefn(struct timer_list *t)
 
        spin_lock_irqsave(&hw->ctlxq.lock, flags);
 
-       /*
-        * We need to check BOTH the RX and the TX throttle controls,
-        * so we use the bitwise OR instead of the logical OR.
-        */
        pr_debug("flags=0x%lx\n", hw->usb_flags);
-       if (!hw->wlandev->hwremoved &&
-           ((test_and_clear_bit(THROTTLE_RX, &hw->usb_flags) &&
-             !test_and_set_bit(WORK_RX_RESUME, &hw->usb_flags)) |
-            (test_and_clear_bit(THROTTLE_TX, &hw->usb_flags) &&
-             !test_and_set_bit(WORK_TX_RESUME, &hw->usb_flags))
-           )) {
-               schedule_work(&hw->usb_work);
+       if (!hw->wlandev->hwremoved) {
+               bool rx_throttle = test_and_clear_bit(THROTTLE_RX, &hw->usb_flags) &&
+                                  !test_and_set_bit(WORK_RX_RESUME, &hw->usb_flags);
+               bool tx_throttle = test_and_clear_bit(THROTTLE_TX, &hw->usb_flags) &&
+                                  !test_and_set_bit(WORK_TX_RESUME, &hw->usb_flags);
+               /*
+                * We need to check BOTH the RX and the TX throttle controls,
+                * so we use the bitwise OR instead of the logical OR.
+                */
+               if (rx_throttle | tx_throttle)
+                       schedule_work(&hw->usb_work);
        }
 
        spin_unlock_irqrestore(&hw->ctlxq.lock, flags);
index 59b25ca..cd271b1 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/p80211/p80211conv.c
+/*
  *
  * Ether/802.11 conversions and packet buffer routines
  *
index 63c4235..dfb762b 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211conv.h
+/*
  *
  * Ether/802.11 conversions and packet buffer routines
  *
index 5871a55..93195a4 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211hdr.h
+/*
  *
  * Macros, types, and functions for handling 802.11 MAC headers
  *
index 77e8d29..b50ce11 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211ioctl.h
+/*
  *
  * Declares constants and types for the p80211 ioctls
  *
index 1457a6d..1ef30d3 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211mgmt.h
+/*
  *
  * Macros, types, and functions to handle 802.11 mgmt frames
  *
index 1140665..f68d8b7 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211msg.h
+/*
  *
  * Macros, constants, types, and funcs for req and ind messages
  *
index 2a3f938..2555004 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/p80211/p80211knetdev.c
+/*
  *
  * Linux Kernel net device interface
  *
@@ -616,7 +616,7 @@ static int p80211knetdev_set_mac_address(struct net_device *dev, void *addr)
                result = -EADDRNOTAVAIL;
        } else {
                /* everything's ok, change the addr in netdev */
-               memcpy(dev->dev_addr, new_addr->sa_data, dev->addr_len);
+               eth_hw_addr_set(dev, new_addr->sa_data);
        }
 
        return result;
index 25e5116..5654dc5 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211netdev.h
+/*
  *
  * WLAN net device structure and functions
  *
index 9f5c126..809cf3d 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/p80211/p80211req.c
+/*
  *
  * Request/Indication/MacMgmt interface handling functions
  *
index c04053f..bc45cd5 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* p80211req.h
+/*
  *
  * Request handling functions
  *
index 3dcdd02..6486612 100644 (file)
@@ -1,6 +1,6 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
 /*
- * p80211types.h
+ *
  *
  * Macros, constants, types, and funcs for p80211 data types
  *
index 51d917c..3ff7ee7 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/p80211/p80211wep.c
+/*
  *
  * WEP encode/decode for P80211.
  *
index 1bd36dc..9030a89 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/prism2/driver/prism2mgmt.c
+/*
  *
  * Management request handler functions.
  *
index 17bc1ee..7132cec 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1) */
-/* prism2mgmt.h
+/*
  *
  * Declares the mgmt command handler functions
  *
index d14f032..24ba10d 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/prism2/driver/prism2mib.c
+/*
  *
  * Management request for mibset/mibget
  *
index f67b740..daa7cc4 100644 (file)
@@ -1,5 +1,5 @@
 // SPDX-License-Identifier: (GPL-2.0 OR MPL-1.1)
-/* src/prism2/driver/prism2sta.c
+/*
  *
  * Implements the station functionality for prism2
  *
@@ -585,6 +585,7 @@ static int prism2sta_getcardinfo(struct wlandevice *wlandev)
        struct hfa384x *hw = wlandev->priv;
        u16 temp;
        u8 snum[HFA384x_RID_NICSERIALNUMBER_LEN];
+       u8 addr[ETH_ALEN];
 
        /* Collect version and compatibility info */
        /*  Some are critical, some are not */
@@ -855,11 +856,12 @@ static int prism2sta_getcardinfo(struct wlandevice *wlandev)
 
        /* Collect the MAC address */
        result = hfa384x_drvr_getconfig(hw, HFA384x_RID_CNFOWNMACADDR,
-                                       wlandev->netdev->dev_addr, ETH_ALEN);
+                                       addr, ETH_ALEN);
        if (result != 0) {
                netdev_err(wlandev->netdev, "Failed to retrieve mac address\n");
                goto failed;
        }
+       eth_hw_addr_set(wlandev->netdev, addr);
 
        /* short preamble is always implemented */
        wlandev->nsdcaps |= P80211_NSDCAP_SHORT_PREAMBLE;
index 4b08dc1..dc0749b 100644 (file)
@@ -34,14 +34,13 @@ static const struct usb_device_id usb_prism_tbl[] = {
        PRISM_DEV(0x04f1, 0x3009, "JVC MP-XP7250 Builtin USB WLAN Adapter"),
        PRISM_DEV(0x0846, 0x4110, "NetGear MA111"),
        PRISM_DEV(0x03f3, 0x0020, "Adaptec AWN-8020 USB WLAN Adapter"),
-       PRISM_DEV(0x2821, 0x3300, "ASUS-WL140 Wireless USB Adapter"),
+       PRISM_DEV(0x2821, 0x3300, "ASUS-WL140 / Hawking HighDB Wireless USB Adapter"),
        PRISM_DEV(0x2001, 0x3700, "DWL-122 Wireless USB Adapter"),
        PRISM_DEV(0x2001, 0x3702, "DWL-120 Rev F Wireless USB Adapter"),
        PRISM_DEV(0x50c2, 0x4013, "Averatec USB WLAN Adapter"),
        PRISM_DEV(0x2c02, 0x14ea, "Planex GW-US11H WLAN USB Adapter"),
        PRISM_DEV(0x124a, 0x168b, "Airvast PRISM3 WLAN USB Adapter"),
        PRISM_DEV(0x083a, 0x3503, "T-Sinus 111 USB WLAN Adapter"),
-       PRISM_DEV(0x2821, 0x3300, "Hawking HighDB USB Adapter"),
        PRISM_DEV(0x0411, 0x0044, "Melco WLI-USB-KB11 11Mbps WLAN Adapter"),
        PRISM_DEV(0x1668, 0x6106, "ROPEX FreeLan 802.11b USB Adapter"),
        PRISM_DEV(0x124a, 0x4017, "Pheenet WL-503IA 802.11b USB Adapter"),