Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 138373
b: refs/heads/master
c: 1662070
h: refs/heads/master
i:
  138371: 5550f18
v: v3
  • Loading branch information
Patrick Boettcher authored and Mauro Carvalho Chehab committed Mar 30, 2009
1 parent 76e29b2 commit f5bbec9
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: aef822074b88397968560b650a9f4bdbf973e2b3
refs/heads/master: 1662070a593b5a862b5bf8c843ebfab0deb058a6
12 changes: 12 additions & 0 deletions trunk/drivers/media/dvb/b2c2/flexcop-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@ static int flexcop_i2c_read4(struct flexcop_i2c_adapter *i2c,
int len = r100.tw_sm_c_100.total_bytes, /* remember total_bytes is buflen-1 */
ret;

/* work-around to have CableStar2 and SkyStar2 rev 2.7 work
* correctly:
*
* the ITD1000 is behind an i2c-gate which closes automatically
* after an i2c-transaction the STV0297 needs 2 consecutive reads
* one with no_base_addr = 0 and one with 1
*
* those two work-arounds are conflictin: we check for the card
* type, it is set when probing the ITD1000 */
if (i2c->fc->dev_type == FC_SKY_REV27)
r100.tw_sm_c_100.no_base_addr_ack_error = i2c->no_base_addr;

ret = flexcop_i2c_operation(i2c->fc, &r100);
if (ret != 0) {
deb_i2c("Retrying operation\n");
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/media/dvb/frontends/itd1000_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ struct itd1000_state {
/* ugly workaround for flexcop's incapable i2c-controller
* FIXME, if possible
*/
u8 shadow[255];
u8 shadow[256];
};

enum itd1000_register {
Expand Down

0 comments on commit f5bbec9

Please sign in to comment.