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).
--
Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html