Am 02.02.2010 21:03, schrieb Mauro Carvalho Chehab: > >>>> @@ -404,6 +432,7 @@ int tm6000_init (struct tm6000_core *dev) >>>> { >>>> int board, rc=0, i, size; >>>> struct reg_init *tab; >>>> + u8 buf[40]; >>>> >>>> >>> Why "40" ? Please avoid using magic numbers here, especially if you're >>> not checking at the logic if you're writing outside the buffer. >>> >>> >>> >> It important for tm6010 init sequence to enable the demodulator, because >> the demodulator haven't found after init tuner. >> > Probably, there is some i2c gate to enable/disable the i2c access to the > demodulator. The better way is to add a call to the tm6000-dvb and let it > init the demodulator. > > Also, since there's a gate for the demodulator, the proper way is to add > a callback to control it. Please take a look at saa7134 and seek for i2c_gate_ctrl > to see how such logic works. > > It has followed structure schema without the GPIOs: 1. tm6010 init 2. enable zl10353 3. tm6010 re-init If it board specific then it's better when board number definition switch from tm6000-card.c to tm6000.h . We can use in all tm6000*.c files the board definition . -- Stefan Ringel <stefan.ringel@xxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html