]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/tveeprom.c
Merge branch 'linus' into xen-64bit
[linux-2.6-omap-h63xx.git] / drivers / media / video / tveeprom.c
index dc0da44a5af636a1b0ae4b053b91c74bd36ea3c4..9da0e1807ffb236619fe8f73f56a72fad5b91526 100644 (file)
@@ -319,10 +319,12 @@ audioIC[] =
        {AUDIO_CHIP_INTERNAL, "CX25843"},
        {AUDIO_CHIP_INTERNAL, "CX23418"},
        {AUDIO_CHIP_INTERNAL, "CX23885"},
-       /* 40-42 */
+       /* 40-44 */
        {AUDIO_CHIP_INTERNAL, "CX23888"},
        {AUDIO_CHIP_INTERNAL, "SAA7131"},
        {AUDIO_CHIP_INTERNAL, "CX23887"},
+       {AUDIO_CHIP_INTERNAL, "SAA7164"},
+       {AUDIO_CHIP_INTERNAL, "AU8522"},
 };
 
 /* This list is supplied by Hauppauge. Thanks! */
@@ -341,8 +343,10 @@ static const char *decoderIC[] = {
        "CX882", "TVP5150A", "CX25840", "CX25841", "CX25842",
        /* 30-34 */
        "CX25843", "CX23418", "NEC61153", "CX23885", "CX23888",
-       /* 35-37 */
-       "SAA7131", "CX25837", "CX23887"
+       /* 35-39 */
+       "SAA7131", "CX25837", "CX23887", "CX23885A", "CX23887A",
+       /* 40-42 */
+       "SAA7164", "CX23885B", "AU8522"
 };
 
 static int hasRadioTuner(int tunerType)
@@ -745,109 +749,6 @@ int tveeprom_read(struct i2c_client *c, unsigned char *eedata, int len)
 }
 EXPORT_SYMBOL(tveeprom_read);
 
-/* ----------------------------------------------------------------------- */
-/* needed for ivtv.sf.net at the moment.  Should go away in the long       */
-/* run, just call the exported tveeprom_* directly, there is no point in   */
-/* using the indirect way via i2c_driver->command()                        */
-
-static unsigned short normal_i2c[] = {
-       0xa0 >> 1,
-       I2C_CLIENT_END,
-};
-
-I2C_CLIENT_INSMOD;
-
-static struct i2c_driver i2c_driver_tveeprom;
-
-static int
-tveeprom_command(struct i2c_client *client,
-                unsigned int       cmd,
-                void              *arg)
-{
-       struct tveeprom eeprom;
-       u32 *eeprom_props = arg;
-       u8 *buf;
-
-       switch (cmd) {
-       case 0:
-               buf = kzalloc(256, GFP_KERNEL);
-               tveeprom_read(client, buf, 256);
-               tveeprom_hauppauge_analog(client, &eeprom, buf);
-               kfree(buf);
-               eeprom_props[0] = eeprom.tuner_type;
-               eeprom_props[1] = eeprom.tuner_formats;
-               eeprom_props[2] = eeprom.model;
-               eeprom_props[3] = eeprom.revision;
-               eeprom_props[4] = eeprom.has_radio;
-               break;
-       default:
-               return -EINVAL;
-       }
-       return 0;
-}
-
-static int
-tveeprom_detect_client(struct i2c_adapter *adapter,
-                      int                 address,
-                      int                 kind)
-{
-       struct i2c_client *client;
-
-       client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL);
-       if (NULL == client)
-               return -ENOMEM;
-       client->addr = address;
-       client->adapter = adapter;
-       client->driver = &i2c_driver_tveeprom;
-       snprintf(client->name, sizeof(client->name), "tveeprom");
-       i2c_attach_client(client);
-
-       return 0;
-}
-
-static int
-tveeprom_attach_adapter(struct i2c_adapter *adapter)
-{
-       if (adapter->class & I2C_CLASS_TV_ANALOG)
-               return i2c_probe(adapter, &addr_data, tveeprom_detect_client);
-       return 0;
-}
-
-static int
-tveeprom_detach_client(struct i2c_client *client)
-{
-       int err;
-
-       err = i2c_detach_client(client);
-       if (err < 0)
-               return err;
-       kfree(client);
-       return 0;
-}
-
-static struct i2c_driver i2c_driver_tveeprom = {
-       .driver = {
-               .name   = "tveeprom",
-       },
-       .id             = I2C_DRIVERID_TVEEPROM,
-       .attach_adapter = tveeprom_attach_adapter,
-       .detach_client  = tveeprom_detach_client,
-       .command        = tveeprom_command,
-};
-
-static int __init tveeprom_init(void)
-{
-       return i2c_add_driver(&i2c_driver_tveeprom);
-}
-
-static void __exit tveeprom_exit(void)
-{
-       i2c_del_driver(&i2c_driver_tveeprom);
-}
-
-module_init(tveeprom_init);
-module_exit(tveeprom_exit);
-
 /*
  * Local variables:
  * c-basic-offset: 8