u8 buf[len+1];
        struct i2c_msg msg[1] = {
                {
-                       .addr = priv->cfg.i2c_address,
+                       .addr = priv->cfg.demod_i2c_addr,
                        .flags = 0,
                        .len = sizeof(buf),
                        .buf = buf,
        u8 buf[len];
        struct i2c_msg msg[2] = {
                {
-                       .addr = priv->cfg.i2c_address,
+                       .addr = priv->cfg.demod_i2c_addr,
                        .flags = 0,
                        .len = 1,
                        .buf = ®,
                }, {
-                       .addr = priv->cfg.i2c_address,
+                       .addr = priv->cfg.demod_i2c_addr,
                        .flags = I2C_M_RD,
                        .len = sizeof(buf),
                        .buf = buf,
                goto error;
        }
 
+       /* make sure demod i2c address is specified */
+       if (!config->demod_i2c_addr) {
+               dev_dbg(&i2c->dev, "%s: invalid demod i2c address!\n", __func__);
+               goto error;
+       }
+
+       /* make sure tuner i2c address is specified */
+       if (!config->tuner_i2c_addr) {
+               dev_dbg(&i2c->dev, "%s: invalid tuner i2c address!\n", __func__);
+               goto error;
+       }
+
        /* setup the priv */
        priv->i2c = i2c;
        memcpy(&priv->cfg, config, sizeof(struct tda10071_config));
 
         * Default: none, must set
         * Values: 0x55,
         */
-       u8 i2c_address;
+       u8 demod_i2c_addr;
 
        /* Tuner I2C address.
-        * Default: 0x14
+        * Default: none, must set
         * Values: 0x14, 0x54, ...
         */
        u8 tuner_i2c_addr;
 
 };
 
 static const struct tda10071_config hauppauge_tda10071_config = {
-       .i2c_address = 0x05,
+       .demod_i2c_addr = 0x05,
        .tuner_i2c_addr = 0x54,
        .i2c_wr_max = 64,
        .ts_mode = TDA10071_TS_SERIAL,
 
 };
 
 static const struct tda10071_config em28xx_tda10071_config = {
-       .i2c_address = 0x55, /* (0xaa >> 1) */
+       .demod_i2c_addr = 0x55, /* (0xaa >> 1) */
+       .tuner_i2c_addr = 0x14,
        .i2c_wr_max = 64,
        .ts_mode = TDA10071_TS_SERIAL,
        .spec_inv = 0,