Am 02.02.2010 21:52, schrieb Mauro Carvalho Chehab: > Stefan Ringel wrote: > >> 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 . >> > What's board specific: all stuff that has GPIO, and the demod/frontend enable code. > In order to have a better structure, the demod/frontend enable code should be at the tm6000-dvb, > just like the other drivers. There, you'll have a switch for those devices that have DVB > (Among others, I have here one 10moons device that is analog-only, with a tm5600 - a stripped > down version of tm6000, without the DVB part). > > I have additional information to enable demodulator, it must enable before firmware load after that it cannot find zl10353, I think. Should I test it! -- 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