Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=704e39bf620810734a38b3f9c0e07cede2a76d91
Commit:     704e39bf620810734a38b3f9c0e07cede2a76d91
Parent:     ff3e7dd5809fb632447f1aa6de6b3ffb755727dd
Author:     Michael Krufky <[EMAIL PROTECTED]>
AuthorDate: Fri Sep 7 18:27:43 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 22:14:48 2007 -0300

    V4L/DVB (6230): dvb-pll: add module option to force dvb-pll desc id (for 
debug use only)
    
    Add a module option to force the dvb-pll module to use an alternate dvb-pll
    description without having to recompile the kernel.
    
    Having a module option like this is useful in some cases, where the vendor
    may release an alternate revision of the hardware using a different tuner,
    but without changing the pci subsystem / usb device ids.
    
    This option is intended for debugging purposes _only_.
    
    Signed-off-by: Michael Krufky <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/dvb/frontends/dvb-pll.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/drivers/media/dvb/frontends/dvb-pll.c 
b/drivers/media/dvb/frontends/dvb-pll.c
index 0fb4d45..6400703 100644
--- a/drivers/media/dvb/frontends/dvb-pll.c
+++ b/drivers/media/dvb/frontends/dvb-pll.c
@@ -52,6 +52,11 @@ static unsigned int input[DVB_PLL_MAX] = { [ 0 ... 
(DVB_PLL_MAX-1) ] = 0 };
 module_param_array(input, int, NULL, 0644);
 MODULE_PARM_DESC(input,"specify rf input choice, 0 for autoselect (default)");
 
+static unsigned int id[DVB_PLL_MAX] =
+       { [ 0 ... (DVB_PLL_MAX-1) ] = DVB_PLL_UNDEFINED };
+module_param_array(id, int, NULL, 0644);
+MODULE_PARM_DESC(id, "force pll id to use (DEBUG ONLY)");
+
 /* ----------------------------------------------------------- */
 
 struct dvb_pll_desc {
@@ -794,6 +799,10 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend 
*fe, int pll_addr,
        int ret;
        struct dvb_pll_desc *desc;
 
+       if ((id[dvb_pll_devcount] > DVB_PLL_UNDEFINED) &&
+           (id[dvb_pll_devcount] < ARRAY_SIZE(pll_list)))
+               pll_desc_id = id[dvb_pll_devcount];
+
        BUG_ON(pll_desc_id < 1 || pll_desc_id >= ARRAY_SIZE(pll_list));
 
        desc = pll_list[pll_desc_id];
@@ -836,7 +845,10 @@ struct dvb_frontend *dvb_pll_attach(struct dvb_frontend 
*fe, int pll_addr,
                printk("dvb-pll[%d]", priv->nr);
                if (i2c != NULL)
                        printk(" %d-%04x", i2c_adapter_id(i2c), pll_addr);
-               printk(": id# %d (%s) attached\n", pll_desc_id, desc->name);
+               printk(": id# %d (%s) attached, %s\n", pll_desc_id, desc->name,
+                      id[priv->nr] == pll_desc_id ?
+                               "insmod option" : "autodetected");
+
        }
 
        return fe;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to