Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=293197cd0f34eb6bfb5492a63a878575b69e9df4
Commit:     293197cd0f34eb6bfb5492a63a878575b69e9df4
Parent:     b930e1d851c3ffbf82127bd0e4d72ffe94d4b7f2
Author:     Michael Krufky <[EMAIL PROTECTED]>
AuthorDate: Tue Aug 28 17:20:42 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 22:07:30 2007 -0300

    V4L/DVB (6126): tuner: add warning for obsolete i2c address range 0x64 thru 
0x6f
    
    The tuner module has a rather aggressive range of possible i2c addresses.
    
    As per the specs available, it appears as if there are no 4-byte tuners that
    actually use i2c addresses in the range 0x64 thru 0x6f, yet, tuner-core 
claims
    the address range 0x60 thru 0x6f.
    
    Allowing tuner.ko to probe these addresses can cause potential damage to
    certain IR receivers, RTC chips or any other IC's that might otherwise 
reside
    on the i2c bus using one of these addresses.
    
    The plan is to remove these i2c addresses from the i2c address range of the
    tuner module. If any devices are discovered that actually do have tuners at
    one of these addresses, the newer i2c probing methods will be used to handle
    those cases.
    
    In order to collect this information and avoid any potential regressions,
    the following warning has been added upon successful detection of a tuner
    using an i2c address in the range 0x64 thru 0x6f:
    
    ====================== WARNING! ======================
    Support for tuners in i2c address range 0x64 thru 0x6f
    will soon be dropped. This message indicates that your
    hardware has a {tuner name} tuner at i2c address {addr}.
    To ensure continued support for your device, please
    send a copy of this message, along with full dmesg
    output to [EMAIL PROTECTED]
    Please use subject line: "obsolete tuner i2c address."
    ====================== WARNING! ======================
    
    Signed-off-by: Michael Krufky <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/tuner-core.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/drivers/media/video/tuner-core.c b/drivers/media/video/tuner-core.c
index baeae28..f505f43 100644
--- a/drivers/media/video/tuner-core.c
+++ b/drivers/media/video/tuner-core.c
@@ -145,6 +145,27 @@ static void set_freq(struct i2c_client *c, unsigned long 
freq)
        }
 }
 
+static void tuner_i2c_address_check(struct tuner *t)
+{
+       if ((t->type == UNSET || t->type == TUNER_ABSENT) ||
+           ((t->i2c.addr < 0x64) || (t->i2c.addr > 0x6f)))
+               return;
+
+       tuner_warn("====================== WARNING! ======================\n");
+       tuner_warn("Support for tuners in i2c address range 0x64 thru 0x6f\n");
+       tuner_warn("will soon be dropped. This message indicates that your\n");
+       tuner_warn("hardware has a %s tuner at i2c address 0x%02x.\n",
+                  t->i2c.name, t->i2c.addr);
+       tuner_warn("To ensure continued support for your device, please\n");
+       tuner_warn("send a copy of this message, along with full dmesg\n");
+       tuner_warn("output to [EMAIL PROTECTED]");
+       tuner_warn("Please use subject line: \"obsolete tuner i2c 
address.\"\n");
+       tuner_warn("driver: %s, addr: 0x%02x, type: %d (%s)\n",
+                  t->i2c.adapter->name, t->i2c.addr, t->type,
+                  tuners[t->type].name);
+       tuner_warn("====================== WARNING! ======================\n");
+}
+
 static void set_type(struct i2c_client *c, unsigned int type,
                     unsigned int new_mode_mask, unsigned int new_config,
                     int (*tuner_callback) (void *dev, int command,int arg))
@@ -244,6 +265,7 @@ static void set_type(struct i2c_client *c, unsigned int 
type,
        tuner_dbg("%s %s I2C addr 0x%02x with type %d used for 0x%02x\n",
                  c->adapter->name, c->driver->driver.name, c->addr << 1, type,
                  t->mode_mask);
+       tuner_i2c_address_check(t);
 }
 
 /*
-
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