V4L/DVB: Read MAC for TeVii S470 PCI-e DVB-S2 card
authorPierre Gronlier <ticapix@gmail.com>
Mon, 26 Apr 2010 16:26:29 +0000 (13:26 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 19 May 2010 15:58:28 +0000 (12:58 -0300)
This patch retrieve the correct mac address from the eeprom for TeVii
S470 card.

Signed-off-by: Pierre Gronlier <pierre.gronlier@gmail.com>
Cc: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/cx23885/cx23885-dvb.c

index 939079d7bbb9c1dc91819c4fe9dbffd2efb5b8e4..9e1460828b2fb0410de226b7075d526402e13f8a 100644 (file)
@@ -1006,6 +1006,22 @@ static int dvb_register(struct cx23885_tsport *port)
                netup_ci_init(port);
                break;
                }
+       case CX23885_BOARD_TEVII_S470: {
+               u8 eeprom[256]; /* 24C02 i2c eeprom */
+
+               if (port->nr != 1)
+                       break;
+
+               /* Read entire EEPROM */
+               dev->i2c_bus[0].i2c_client.addr = 0xa0 >> 1;
+               tveeprom_read(&dev->i2c_bus[0].i2c_client, eeprom, sizeof(eeprom));
+               printk(KERN_INFO "TeVii S470 MAC= "
+                               "%02X:%02X:%02X:%02X:%02X:%02X\n",
+                               eeprom[0xa0], eeprom[0xa1], eeprom[0xa2],
+                               eeprom[0xa3], eeprom[0xa4], eeprom[0xa5]);
+               memcpy(port->frontends.adapter.proposed_mac, eeprom + 0xa0, 6);
+               break;
+               }
        }
 
        return ret;