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

Commit b8f0d306 authored by Abylay Ospan's avatar Abylay Ospan Committed by Mauro Carvalho Chehab
Browse files

[media] NetUP Dual DVB-T/C CI RF: load firmware according card revision



Currently available two hardware revision:
0x1	firmware filename: dvb-netup-altera-01.fw
0x4	firmware filename: dvb-netup-altera-04.fw

Signed-off-by: default avatarAbylay Ospan <aospan@netup.ru>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 1752cd5d
Loading
Loading
Loading
Loading
+14 −0
Original line number Original line Diff line number Diff line
@@ -29,6 +29,7 @@
#include "../../../staging/altera-stapl/altera.h"
#include "../../../staging/altera-stapl/altera.h"
#include "cx23885.h"
#include "cx23885.h"
#include "tuner-xc2028.h"
#include "tuner-xc2028.h"
#include "netup-eeprom.h"
#include "netup-init.h"
#include "netup-init.h"
#include "altera-ci.h"
#include "altera-ci.h"
#include "xc4000.h"
#include "xc4000.h"
@@ -1430,6 +1431,7 @@ void cx23885_card_setup(struct cx23885_dev *dev)
		const struct firmware *fw;
		const struct firmware *fw;
		const char *filename = "dvb-netup-altera-01.fw";
		const char *filename = "dvb-netup-altera-01.fw";
		char *action = "configure";
		char *action = "configure";
		static struct netup_card_info cinfo;
		struct altera_config netup_config = {
		struct altera_config netup_config = {
			.dev = dev,
			.dev = dev,
			.action = action,
			.action = action,
@@ -1438,6 +1440,18 @@ void cx23885_card_setup(struct cx23885_dev *dev)


		netup_initialize(dev);
		netup_initialize(dev);


		netup_get_card_info(&dev->i2c_bus[0].i2c_adap, &cinfo);
		switch (cinfo.rev) {
		case 0x4:
			filename = "dvb-netup-altera-04.fw";
			break;
		default:
			filename = "dvb-netup-altera-01.fw";
			break;
		}
		printk(KERN_INFO "NetUP card rev=0x%x fw_filename=%s\n",
				cinfo.rev, filename);

		ret = request_firmware(&fw, filename, &dev->pci->dev);
		ret = request_firmware(&fw, filename, &dev->pci->dev);
		if (ret != 0)
		if (ret != 0)
			printk(KERN_ERR "did not find the firmware file. (%s) "
			printk(KERN_ERR "did not find the firmware file. (%s) "