eeprom memory mapped base address is detected at the very first.
Use it everywhere.

Signed-off-by: Antti Palosaari <cr...@iki.fi>
---
 drivers/media/usb/dvb-usb-v2/af9035.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c 
b/drivers/media/usb/dvb-usb-v2/af9035.c
index 0399062..a29169f 100644
--- a/drivers/media/usb/dvb-usb-v2/af9035.c
+++ b/drivers/media/usb/dvb-usb-v2/af9035.c
@@ -606,18 +606,14 @@ static int af9035_read_config(struct dvb_usb_device *d)
                if (ret < 0)
                        goto err;
 
-               if (tmp) {
-                       addr = EEPROM_BASE_IT9135;
-               } else {
+               if (tmp == 0x00) {
                        dev_dbg(&d->udev->dev, "%s: no eeprom\n", __func__);
                        goto skip_eeprom;
                }
-       } else {
-               addr = EEPROM_BASE_AF9035;
        }
 
        /* check if there is dual tuners */
-       ret = af9035_rd_reg(d, addr + EEPROM_DUAL_MODE, &tmp);
+       ret = af9035_rd_reg(d, state->eeprom_addr + EEPROM_DUAL_MODE, &tmp);
        if (ret < 0)
                goto err;
 
@@ -627,7 +623,9 @@ static int af9035_read_config(struct dvb_usb_device *d)
 
        if (state->dual_mode) {
                /* read 2nd demodulator I2C address */
-               ret = af9035_rd_reg(d, addr + EEPROM_2ND_DEMOD_ADDR, &tmp);
+               ret = af9035_rd_reg(d,
+                               state->eeprom_addr + EEPROM_2ND_DEMOD_ADDR,
+                               &tmp);
                if (ret < 0)
                        goto err;
 
@@ -636,6 +634,8 @@ static int af9035_read_config(struct dvb_usb_device *d)
                                __func__, tmp);
        }
 
+       addr = state->eeprom_addr;
+
        for (i = 0; i < state->dual_mode + 1; i++) {
                /* tuner */
                ret = af9035_rd_reg(d, addr + EEPROM_1_TUNER_ID, &tmp);
@@ -1258,7 +1258,7 @@ static int af9035_get_rc_config(struct dvb_usb_device *d, 
struct dvb_usb_rc *rc)
        if (state->chip_type == 0x9135)
                return 0;
 
-       ret = af9035_rd_reg(d, EEPROM_BASE_AF9035 + EEPROM_IR_MODE, &tmp);
+       ret = af9035_rd_reg(d, state->eeprom_addr + EEPROM_IR_MODE, &tmp);
        if (ret < 0)
                goto err;
 
@@ -1266,7 +1266,7 @@ static int af9035_get_rc_config(struct dvb_usb_device *d, 
struct dvb_usb_rc *rc)
 
        /* don't activate rc if in HID mode or if not available */
        if (tmp == 5) {
-               ret = af9035_rd_reg(d, EEPROM_BASE_AF9035 + EEPROM_IR_TYPE,
+               ret = af9035_rd_reg(d, state->eeprom_addr + EEPROM_IR_TYPE,
                                &tmp);
                if (ret < 0)
                        goto err;
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to