Commit 0027ebb7 authored by Oliver Endriss's avatar Oliver Endriss Committed by Mauro Carvalho Chehab
Browse files

V4L/DVB: ngene: Always use firmware loader



Always use firmware loader.

Signed-off-by: default avatarOliver Endriss <o.endriss@gmx.de>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 83f3c715
Loading
Loading
Loading
Loading
+16 −31
Original line number Diff line number Diff line
@@ -48,17 +48,6 @@
#include "ngene-ioctls.h"
#endif

/* #define FW_INC 1 */
#ifdef FW_INC
#include "ngene_fw_15.h"
#include "ngene_fw_16.h"
#include "ngene_fw_17.h"

static int load_firmware;
module_param(load_firmware, int, 0444);
MODULE_PARM_DESC(load_firmware, "Try to load firmware from file.");
#endif

static int copy_eeprom;
module_param(copy_eeprom, int, 0444);
MODULE_PARM_DESC(copy_eeprom, "Copy eeprom.");
@@ -2238,30 +2227,19 @@ static int ngene_load_firm(struct ngene *dev)
	default:
	case 15:
		version = 15;
		size = 23466;
		fw_name = "ngene_15.fw";
		break;
	case 16:
		size = 23498;
		fw_name = "ngene_16.fw";
		break;
	case 17:
		size = 24446;
		fw_name = "ngene_17.fw";
		break;
	}
#ifdef FW_INC
	if (load_firmware &&
	    request_firmware(&fw, fw_name, &dev->pci_dev->dev) >= 0) {
		printk(KERN_INFO DEVICE_NAME
		       ": Loading firmware file %s.\n", fw_name);
		size = fw->size;
		ngene_fw = fw->data;
	} else
		printk(KERN_INFO DEVICE_NAME
		       ": Loading built-in firmware version %d.\n", version);
	err = ngene_command_load_firmware(dev, ngene_fw, size);

	if (fw)
		release_firmware(fw);
#else
	if (request_firmware(&fw, fw_name, &dev->pci_dev->dev) < 0) {
		printk(KERN_ERR DEVICE_NAME
			": Could not load firmware file %s.\n", fw_name);
@@ -2269,12 +2247,19 @@ static int ngene_load_firm(struct ngene *dev)
			": Copy %s to your hotplug directory!\n", fw_name);
		return -1;
	}
	printk(KERN_INFO DEVICE_NAME ": Loading firmware file %s.\n", fw_name);
	size = fw->size;
	if (size != fw->size) {
		printk(KERN_ERR DEVICE_NAME
			": Firmware %s has invalid size!", fw_name);
		err = -1;
	} else {
		printk(KERN_INFO DEVICE_NAME
			": Loading firmware file %s.\n", fw_name);
		ngene_fw = (u8 *) fw->data;
		err = ngene_command_load_firmware(dev, ngene_fw, size);
	}

	release_firmware(fw);
#endif

	return err;
}