}
 
 static struct analog_tuner_ops tda8290_tuner_ops = {
+       .info           = {
+               .name   = "TDA8290",
+       },
        .set_params     = tda8290_set_params,
        .has_signal     = tda8290_has_signal,
        .standby        = tda8290_standby,
 };
 
 static struct analog_tuner_ops tda8295_tuner_ops = {
+       .info           = {
+               .name   = "TDA8295",
+       },
        .set_params     = tda8295_set_params,
        .has_signal     = tda8295_has_signal,
        .standby        = tda8295_standby,
 
 }
 
 static struct analog_tuner_ops tda9887_tuner_ops = {
+       .info           = {
+               .name   = "TDA9887",
+       },
        .set_params     = tda9887_set_params,
        .standby        = tda9887_standby,
        .tuner_status   = tda9887_tuner_status,
 
 
                t->fe.ops.analog_demod_ops = &tuner_core_ops;
                t->fe.analog_demod_priv = t;
+       } else {
+               strlcpy(t->i2c->name, ops->info.name,
+                       sizeof(t->i2c->name));
        }
 
        tuner_dbg("type set to %s\n", t->i2c->name);
 
 
 extern unsigned const int tuner_count;
 
+struct analog_demod_info {
+       char name[128];
+};
+
 struct analog_tuner_ops {
+
+       struct analog_demod_info info;
+
        void (*set_params)(struct dvb_frontend *fe,
                           struct analog_parameters *params);
        int  (*has_signal)(struct dvb_frontend *fe);