t->audmode = V4L2_TUNER_MODE_STEREO;
        t->mode_mask = T_UNINITIALIZED;
 
-
-       tuner_info("chip found @ 0x%x (%s)\n", addr << 1, adap->name);
-
        if (show_i2c) {
                unsigned char buffer[16];
                int i,rc;
 
                memset(buffer, 0, sizeof(buffer));
                rc = i2c_master_recv(&t->i2c, buffer, sizeof(buffer));
-               printk("tuner-%04x I2C RECV = ",addr);
+               tuner_info("I2C RECV = ");
                for (i=0;i<rc;i++)
                        printk("%02x ",buffer[i]);
                printk("\n");
                                t->freq = 87.5 * 16; /* Sets freq to FM range */
                                default_mode_mask &= ~T_RADIO;
 
-                               i2c_attach_client (&t->i2c);
-                               set_type(&t->i2c,t->type, t->mode_mask);
-                               return 0;
+                               goto register_client;
                        }
                case 0x42:
                case 0x43:
                case 0x4a:
                case 0x4b:
+                       /* If chip is not tda8290, don't register.
+                          since it can be tda9887*/
                        if (tda8290_probe(&t->i2c) != 0) {
                                kfree(t);
                                return 0;
        }
 
        /* Should be just before return */
+register_client:
+       tuner_info("chip found @ 0x%x (%s)\n", addr << 1, adap->name);
        i2c_attach_client (&t->i2c);
        set_type (&t->i2c,t->type, t->mode_mask);
        return 0;