\[dora@kitty dvb-pt1\]$ hg diff
diff -r 57079477327d linux/drivers/media/dvb/pt1/pt1.c
--- a/linux/drivers/media/dvb/pt1/pt1.c Wed Apr 07 23:41:14 2010 +0900
+++ b/linux/drivers/media/dvb/pt1/pt1.c Sat Apr 09 14:51:06 2011 +0900
@@ -146,12 +146,13 @@
{
int i;
for (i = 0; i < 57; i++) {
+ pt1\_read\_reg(pt1, 0);
if (pt1\_read\_reg(pt1, 0) & 0x20000000)
return 0;
pt1\_write\_reg(pt1, 0, 0x00000008);
}
pt1\_printk(KERN\_ERR, pt1, "could not sync\\n");
- return -EIO;
+ return 0;
}
static u64 pt1\_identify(struct pt1 \*pt1)
@@ -160,6 +161,7 @@
u64 id;
id = 0;
for (i = 0; i < 57; i++) {
+ pt1\_read\_reg(pt1, 0);
id |= (u64)(pt1\_read\_reg(pt1, 0) >> 30 & 1) << i;
pt1\_write\_reg(pt1, 0, 0x00000008);
}
@@ -171,6 +173,7 @@
int i;
pt1\_write\_reg(pt1, 0, 0x00000008);
for (i = 0; i < 3; i++) {
+ pt1\_read\_reg(pt1, 0);
if (pt1\_read\_reg(pt1, 0) & 0x80000000)
return 0;
schedule\_timeout\_uninterruptible((HZ + 999) / 1000);
こんなかんじな気がする。しかし、某SDKソースのライセンスってどうなってるのかのぅ。