]> git.ipfire.org Git - people/arne_f/kernel.git/blobdiff - drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c
brcmfmac: add CLM download support
[people/arne_f/kernel.git] / drivers / net / wireless / broadcom / brcm80211 / brcmfmac / usb.c
index 4ad830b7b1c9818b15bda5defc4f162d3e76ce53..3310a73561fc6b5f7a74e2a54ebb0f27a7b9e1af 100644 (file)
@@ -1135,12 +1135,30 @@ static void brcmf_usb_wowl_config(struct device *dev, bool enabled)
                device_set_wakeup_enable(devinfo->dev, false);
 }
 
+static int brcmf_usb_get_fwname(struct device *dev, u32 chip, u32 chiprev,
+                               u8 *fw_name)
+{
+       struct brcmf_usbdev_info *devinfo = brcmf_usb_get_businfo(dev);
+       int ret = 0;
+
+       if (devinfo->fw_name[0] != '\0')
+               strlcpy(fw_name, devinfo->fw_name, BRCMF_FW_NAME_LEN);
+       else
+               ret = brcmf_fw_map_chip_to_name(chip, chiprev,
+                                               brcmf_usb_fwnames,
+                                               ARRAY_SIZE(brcmf_usb_fwnames),
+                                               fw_name, NULL);
+
+       return ret;
+}
+
 static const struct brcmf_bus_ops brcmf_usb_bus_ops = {
        .txdata = brcmf_usb_tx,
        .stop = brcmf_usb_down,
        .txctl = brcmf_usb_tx_ctlpkt,
        .rxctl = brcmf_usb_rx_ctlpkt,
        .wowl_config = brcmf_usb_wowl_config,
+       .get_fwname = brcmf_usb_get_fwname,
 };
 
 static int brcmf_usb_bus_setup(struct brcmf_usbdev_info *devinfo)