All of lore.kernel.org
 help / color / mirror / Atom feed
From: "istvan_v@mailbox.hu" <istvan_v@mailbox.hu>
To: linux-media@vger.kernel.org
Subject: XC4000: check_firmware() cleanup
Date: Sat, 04 Jun 2011 16:59:54 +0200	[thread overview]
Message-ID: <4DEA486A.4020404@mailbox.hu> (raw)
In-Reply-To: <BANLkTimEEGsMP6PDXf5W5p9wW7wdWEEOiA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 213 bytes --]

This patch makes the following fixes in check_firmware():
  - there is only one BASE and INIT1 firmware for XC4000
  - loading SCODE is needed also for FM radio

Signed-off-by: Istvan Varga <istvan_v@mailbox.hu>


[-- Attachment #2: xc4000_checkfw.patch --]
[-- Type: text/x-patch, Size: 1782 bytes --]

diff -uNr xc4000_orig/drivers/media/common/tuners/xc4000.c xc4000/drivers/media/common/tuners/xc4000.c
--- xc4000_orig/drivers/media/common/tuners/xc4000.c	2011-06-04 13:23:07.000000000 +0200
+++ xc4000/drivers/media/common/tuners/xc4000.c	2011-06-04 13:34:17.000000000 +0200
@@ -904,7 +904,7 @@
 	struct xc4000_priv         *priv = fe->tuner_priv;
 	struct firmware_properties new_fw;
 	int			   rc = 0, is_retry = 0;
-	u16			   version, hwmodel;
+	u16			   version = 0, hwmodel;
 	v4l2_std_id		   std0;
 	u8			   hw_major, hw_minor, fw_major, fw_minor;
 
@@ -946,8 +946,7 @@
 	}
 
 	/* No need to reload base firmware if it matches */
-	if (((BASE | new_fw.type) & BASE_TYPES) ==
-	    (priv->cur_fw.type & BASE_TYPES)) {
+	if (priv->cur_fw.type & BASE) {
 		dprintk(1, "BASE firmware not changed.\n");
 		goto skip_base;
 	}
@@ -962,7 +961,7 @@
 
 	/* BASE firmwares are all std0 */
 	std0 = 0;
-	rc = load_firmware(fe, BASE | new_fw.type, &std0);
+	rc = load_firmware(fe, BASE, &std0);
 	if (rc < 0) {
 		printk("Error %d while loading base firmware\n", rc);
 		goto fail;
@@ -971,10 +970,9 @@
 	/* Load INIT1, if needed */
 	dprintk(1, "Load init1 firmware, if exists\n");
 
-	rc = load_firmware(fe, BASE | INIT1 | new_fw.type, &std0);
+	rc = load_firmware(fe, BASE | INIT1, &std0);
 	if (rc == -ENOENT)
-		rc = load_firmware(fe, (BASE | INIT1 | new_fw.type) & ~F8MHZ,
-				   &std0);
+		rc = load_firmware(fe, BASE | INIT1, &std0);
 	if (rc < 0 && rc != -ENOENT) {
 		tuner_err("Error %d while loading init1 firmware\n",
 			  rc);
@@ -1008,9 +1006,6 @@
 		goto check_device;
 	}
 
-	if (new_fw.type & FM)
-		goto check_device;
-
 	/* Load SCODE firmware, if exists */
 	rc = load_scode(fe, new_fw.type | new_fw.scode_table, &new_fw.id,
 			new_fw.int_freq, new_fw.scode_nr);

  parent reply	other threads:[~2011-06-04 15:00 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-08 14:54 [linux-dvb] XC4000 patches for kernel 2.6.37.2 Mirek Slugeň
2011-05-31  2:48 ` Dmitri Belimov
2011-05-31  3:49   ` Devin Heitmueller
2011-05-31  7:43     ` Dmitri Belimov
2011-06-02 10:52       ` Devin Heitmueller
2011-06-02 14:41         ` Mauro Carvalho Chehab
2011-06-02 15:17           ` Devin Heitmueller
2011-06-02 16:35             ` Mauro Carvalho Chehab
2011-06-03  1:41           ` Dmitri Belimov
2011-06-03 12:12             ` Mauro Carvalho Chehab
2011-06-02 15:53         ` Mohammad Bahathir Hashim
2011-06-02 17:05           ` Mauro Carvalho Chehab
2011-06-03  3:54             ` Mohammad Bahathir Hashim
     [not found]         ` <4DE8D5AC.7060002@mailbox.hu>
2011-06-03 12:46           ` [linux-dvb] XC4000: added card_type Devin Heitmueller
     [not found]             ` <4DE8DEC6.6080008@mailbox.hu>
2011-06-03 14:00               ` Mauro Carvalho Chehab
2011-06-03 14:22                 ` istvan_v
2011-06-03 13:17           ` Mauro Carvalho Chehab
2011-06-03 13:55         ` XC4000: updated standards table istvan_v
2011-06-03 15:17         ` XC4000: added support for 7 MHz DVB-T istvan_v
2011-06-03 15:23         ` XC4000: added mutex istvan_v
2011-06-03 15:27         ` XC4000: fixed frequency error istvan_v
2011-06-04 14:48         ` XC4000: added firmware_name parameter istvan_v
2011-06-04 14:52         ` XC4000: simplified seek_firmware() istvan_v
2011-06-04 14:56         ` XC4000: simplified load_scode istvan_v
2011-06-04 14:59         ` istvan_v [this message]
2011-06-04 15:03         ` XC4000: implemented power management istvan_v
2011-06-04 15:04         ` XC4000: firmware initialization istvan_v
2011-06-04 15:08         ` XC4000: debug message improvements istvan_v
2011-06-04 15:12         ` XC4000: setting registers istvan_v
2011-06-05 12:05           ` Mauro Carvalho Chehab
2011-06-05 12:28             ` Istvan Varga
2011-06-05 12:56               ` Mauro Carvalho Chehab
2011-06-05 14:30                 ` Istvan Varga
2011-06-04 15:15         ` XC4000: added audio_std module parameter istvan_v
2011-06-04 15:17         ` XC4000: implemented analog TV and radio istvan_v
2011-06-04 15:18         ` XC4000: xc_tune_channel() cleanup istvan_v
2011-06-04 15:21         ` XC4000: removed redundant tuner reset istvan_v
2011-06-04 15:25         ` XC4000: detect XC4100 istvan_v
2011-06-02  4:58     ` [linux-dvb] XC4000 patches for kernel 2.6.37.2 Mohammad Bahathir Hashim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4DEA486A.4020404@mailbox.hu \
    --to=istvan_v@mailbox.hu \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.