memcpy(buf.buf + sizeof(reg), data, len);
        memset(buf.buf + sizeof(reg) + len, 0, 8);
 
-       ret = mt76x0_vendor_single_wr(dev, MT_VEND_WRITE_FCE,
-                                      MT_FCE_DMA_ADDR, dst_addr);
-       if (ret)
-               return ret;
+       mt76u_single_wr(&dev->mt76, MT_VEND_WRITE_FCE, MT_FCE_DMA_ADDR,
+                       dst_addr);
+
        len = roundup(len, 4);
-       ret = mt76x0_vendor_single_wr(dev, MT_VEND_WRITE_FCE,
-                                      MT_FCE_DMA_LEN, len << 16);
-       if (ret)
-               return ret;
+       mt76u_single_wr(&dev->mt76, MT_VEND_WRITE_FCE, MT_FCE_DMA_LEN,
+                       len << 16);
 
        buf.len = MT_DMA_HDR_LEN + len + 4;
        ret = mt76x0_usb_submit_buf(dev, USB_DIR_OUT, MT_EP_OUT_INBAND_CMD,
 
        return ret;
 }
 
-int mt76x0_vendor_single_wr(struct mt76x0_dev *dev, const u8 req,
-                            const u16 offset, const u32 val)
-{
-       struct mt76x0_dev *mdev = dev;
-       int ret;
-
-       mutex_lock(&mdev->usb_ctrl_mtx);
-
-       ret = mt76x0_vendor_request(dev, req, USB_DIR_OUT,
-                                   val & 0xffff, offset, NULL, 0);
-       if (!ret)
-               ret = mt76x0_vendor_request(dev, req, USB_DIR_OUT,
-                                           val >> 16, offset + 2, NULL, 0);
-
-       mutex_unlock(&mdev->usb_ctrl_mtx);
-
-       return ret;
-}
-
 void mt76x0_addr_wr(struct mt76x0_dev *dev, const u32 offset, const u8 *addr)
 {
        mt76_wr(dev, offset, get_unaligned_le32(addr));
 
 int mt76x0_vendor_request(struct mt76x0_dev *dev, const u8 req,
                           const u8 direction, const u16 val, const u16 offset,
                           void *buf, const size_t buflen);
-int mt76x0_vendor_single_wr(struct mt76x0_dev *dev, const u8 req,
-                            const u16 offset, const u32 val);
 
 #endif