Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9a8675d7 authored by Christian Lamparter's avatar Christian Lamparter Committed by John W. Linville
Browse files

p54: introduce new names for device firmwares



Johannes thought it would have been a good idea to change the firmware names.

Note: we still have fallbacks in case our users don't want to "break their running system",
but we won't advertise them with MODULE_FIRMWARE.

Signed-off-by: default avatarChristian Lamparter <chunkeey@web.de>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 4ceb7b6a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -214,6 +214,11 @@ int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw)
		printk(KERN_INFO "p54: FW rev %s - Softmac protocol %x.%x\n",
			fw_version, priv->fw_var >> 8, priv->fw_var & 0xff);

	if (priv->fw_var < 0x500)
		printk(KERN_INFO "p54: you are using an obsolete firmware. "
		       "visit http://wireless.kernel.org/en/users/Drivers/p54 "
		       "and grab one for \"kernel >= 2.6.28\"!\n");

	if (priv->fw_var >= 0x300) {
		/* Firmware supports QoS, use it! */
		priv->tx_stats[4].limit = 3;
+6 −3
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ MODULE_AUTHOR("Michael Wu <flamingice@sourmilk.net>");
MODULE_DESCRIPTION("Prism54 PCI wireless driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("prism54pci");
MODULE_FIRMWARE("isl3886pci");

static struct pci_device_id p54p_table[] __devinitdata = {
	/* Intersil PRISM Duette/Prism GT Wireless LAN adapter */
@@ -72,10 +73,12 @@ static int p54p_upload_firmware(struct ieee80211_hw *dev)
	P54P_WRITE(ctrl_stat, reg);
	wmb();

	err = request_firmware(&fw_entry, "isl3886", &priv->pdev->dev);
	err = request_firmware(&fw_entry, "isl3886pci", &priv->pdev->dev);
	if (err) {
		printk(KERN_ERR "%s (p54pci): cannot find firmware "
		       "(isl3886)\n", pci_name(priv->pdev));
		       "(isl3886pci)\n", pci_name(priv->pdev));
		err = request_firmware(&fw_entry, "isl3886", &priv->pdev->dev);
		if (err)
			return err;
	}

+16 −7
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ MODULE_AUTHOR("Michael Wu <flamingice@sourmilk.net>");
MODULE_DESCRIPTION("Prism54 USB wireless driver");
MODULE_LICENSE("GPL");
MODULE_ALIAS("prism54usb");
MODULE_FIRMWARE("isl3886usb");
MODULE_FIRMWARE("isl3887usb");

static struct usb_device_id p54u_table[] __devinitdata = {
	/* Version 1 devices (pci chip + net2280) */
@@ -415,9 +417,12 @@ static int p54u_upload_firmware_3887(struct ieee80211_hw *dev)
		goto err_reset;
	}

	err = request_firmware(&fw_entry, "isl3887usb_bare", &priv->udev->dev);
	err = request_firmware(&fw_entry, "isl3887usb", &priv->udev->dev);
	if (err) {
		printk(KERN_ERR "p54usb: cannot find firmware (isl3887usb_bare)!\n");
		printk(KERN_ERR "p54usb: cannot find firmware (isl3887usb)\n");
		err = request_firmware(&fw_entry, "isl3887usb_bare",
			&priv->udev->dev);
		if (err)
			goto err_req_fw_failed;
	}

@@ -553,12 +558,16 @@ static int p54u_upload_firmware_net2280(struct ieee80211_hw *dev)
		return -ENOMEM;
	}

	err = request_firmware(&fw_entry, "isl3890usb", &priv->udev->dev);
	err = request_firmware(&fw_entry, "isl3886usb", &priv->udev->dev);
	if (err) {
		printk(KERN_ERR "p54usb: cannot find firmware (isl3886usb)\n");
		err = request_firmware(&fw_entry, "isl3890usb",
			&priv->udev->dev);
		if (err) {
		printk(KERN_ERR "p54usb: cannot find firmware (isl3890usb)!\n");
			kfree(buf);
			return err;
			}
	}

	err = p54_parse_firmware(dev, fw_entry);
	if (err) {