I'll post a better concept patch in a few minutes
-Mike Krufky
Bill Eldridge wrote:
>
> Suggestion:
>
> If the patch adds value without breaking anything, include it.
>
> Even if it's "ugly", you can easily clean it up later and "do it the
> right way" (tm).
> Providing you find time and cleaning it up is more important than
> something useful.
> I counted about 35 lines of actual logic in the patch, and I think
> that's really about 20-25
> if you ignore repetitions.
>
> If there's a better way of coding it that someone (Markus? Michael?)
> can think of in 5 minutes,
> please let Uwe know, since I imagine he could fix it in about 5
> minutes with
> his mind still fresh on the topic. Otherwise I suggest putting "clean
> up" somewhere
> low on the to-do list and moving on.
>
> Regards,
> Bill
>
> Uwe Bugla wrote:
>> Am Freitag, 1. Juni 2007 20:13 schrieben Sie:
>>
>>> Uwe Bugla wrote:
>>>
>>>> In current kernel 2.6.22-rc3 the frontend module dvb-pll.c is
>>>> attached as
>>>> a generic standard for all bt8xx-based DVB cards. This is no good
>>>> solution.
>>>>
>>>> Fact is:
>>>> The only bt8xx-based card taking advantage of that pll library is the
>>>> DViCO FusionHDTV Lite 5. All other bt8xx-based DVB cards do not
>>>> take any
>>>> advantage of this pll library.
>>>>
>>>> The following patch corrects this problem without breaking any card
>>>> support. For further SOBs I do appreciate the relevant persons Cced.
>>>>
>>>> Signed-off-by: Uwe Bugla <[EMAIL PROTECTED]>
>>>>
>>> NACK.
>>>
>>> This hack is unacceptable. Uwe, Please have patience
>>
>> In fact I had enough patience, for a couple of months now.
>> Even if you do not like it, it is a functionable compromise solution
>> for now.
>>
>> There is no technical reason to nack it at all. If there is one, then
>> it's either a personal issue or a matter of design.
>> The fact that you reacted so quickly prefares option 1 (i. e.
>> personal issue).
>>
>> And the tactical background of telling some other person to wait (or
>> to be patient) without offering an adequate time window for the WHEN
>> is a gesture of humiliation (I know that gesture already very well
>> from Manu, and I do not like it at all).
>>
>> Above that you were not the only one I was asking for a SOB. I only
>> wanted to try fair play (i. e. not overstepping anybody).
>>
>> Regards
>>
>> Uwe
>>
>> P. S.: To let somebody starve at the long arm: Ever heard what that
>> means, Mike? In fact I am not keen on flames, but I know people who
>> provoke them by their inacceptable gestures. And that's it what must
>> become past in here.
>>
>> The other people reading this I would appreciate to test the two
>> patches and complain if I have done anything wrong. My door stays
>> open for real technical criticism.
>> Thanks for reading :)
>>
>>
>>> -- I have a few ideas on how to do this without using #ifdef's , but
>>> I am spending my time on
>>> other things right now. Trent also had some ideas on how remove the
>>> static
>>> dependencies on dvb-pll, but we all have bigger fish to fry.
>>>
>>> For the time being, you should use this on your own kernel
>>> configuration,
>>> but this is not correct, and should not be pushed into mainline.
>>>
>>> Regards,
>>>
>>> Mike Krufky
>>>
>>>
>>>> --- a/drivers/media/dvb/bt8xx/Kconfig
>>>> +++ b/drivers/media/dvb/bt8xx/Kconfig
>>>> @@ -7,7 +7,6 @@ config DVB_BT8XX
>>>> select DVB_CX24110 if !DVB_FE_CUSTOMISE
>>>> select DVB_OR51211 if !DVB_FE_CUSTOMISE
>>>> select DVB_LGDT330X if !DVB_FE_CUSTOMISE
>>>> - select DVB_PLL
>>>> select DVB_ZL10353 if !DVB_FE_CUSTOMISE
>>>> select DVB_DST if !DVB_FE_CUSTOMISE
>>>> select FW_LOADER
>>>> --- a/drivers/media/dvb/frontends/Kconfig
>>>> +++ b/drivers/media/dvb/frontends/Kconfig
>>>> @@ -279,6 +279,7 @@ config DVB_LGDT330X
>>>> tristate "LG Electronics LGDT3302/LGDT3303 based"
>>>> depends on DVB_CORE && I2C
>>>> default m if DVB_FE_CUSTOMISE
>>>> + select DVB_PLL
>>>> help
>>>> An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
>>>> to support this frontend.
>>>> @@ -291,8 +292,9 @@
>>>> depends on DVB_CORE && I2C
>>>> default m if DVB_FE_CUSTOMISE
>>>> help
>>>> - This module driver a number of tuners based on PLL chips with a
>>>> - common I2C interface. Say Y when you want to support these
>>>> tuners.
>>>> + This module driver is needed by a number of tuners based on
>>>> PLL chips
>>>> + with a common I2C inferface.
>>>> + Exceptions are: All bt8xx-based DVB cards except DViCO
>>>> FusionHDTV 5
>>>> Lite.
>>>>
>>>> config DVB_TDA826X
>>>> tristate "Philips TDA826X silicon tuner"
>>>> --- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
>>>> +++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
>>>> @@ -568,24 +568,6 @@ static struct lgdt330x_config
>>>> .demod_init = digitv_alps_tded4_demod_init,
>>>> };
>>>>
>>>> -static struct lgdt330x_config tdvs_tua6034_config = {
>>>> - .demod_address = 0x0e,
>>>> - .demod_chip = LGDT3303,
>>>> - .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
>>>> -};
>>>> -
>>>> -static void lgdt330x_reset(struct dvb_bt8xx_card *bt)
>>>> -{
>>>> - /* Set pin 27 of the lgdt3303 chip high to reset the frontend */
>>>> -
>>>> - /* Pulse the reset line */
>>>> - bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> - bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000000); /* Low */
>>>> - msleep(100);
>>>> -
>>>> - bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> - msleep(100);
>>>> -}
>>>>
>>>> static void frontend_init(struct dvb_bt8xx_card *card, u32 type)
>>>> {
>>>> @@ -606,15 +588,39 @@ case BTTV_BOARD_DVICO
>>>> }
>>>> break;
>>>>
>>>> +#if defined(CONFIG_DVB_LGDT330x)
>>>> +static struct lgdt330x_config tdvs_tua6034_config = {
>>>> + .demod_address = 0x0e,
>>>> + .demod_chip = LGDT3303,
>>>> + .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
>>>> +};
>>>> +
>>>> +static void lgdt330x_reset(struct dvb_bt8xx_card *bt)
>>>> +{
>>>> + /* Set pin 27 of the lgdt3303 chip high to reset the frontend */
>>>> +
>>>> + /* Pulse the reset line */
>>>> + bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> + bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000000); /* Low */
>>>> + msleep(100);
>>>> +
>>>> + bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> + msleep(100);
>>>> +}
>>>> +
>>>> case BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE:
>>>> lgdt330x_reset(card);
>>>> card->fe = dvb_attach(lgdt330x_attach, &tdvs_tua6034_config,
>>>> card->i2c_adapter); if (card->fe != NULL) {
>>>> dvb_attach(dvb_pll_attach, card->fe, 0x61,
>>>> card->i2c_adapter, &dvb_pll_lg_tdvs_h06xf);
>>>> dprintk ("dvb_bt8xx: lgdt330x detected\n");
>>>> }
>>>> break;
>>>> +#else
>>>> + printk(KERN_WARNING "%s: driver disabled by Kconfig\n",
>>>> __FUNCTION__);
>>>> + return NULL;
>>>> +#endif // CONFIG_DVB_LGDT330x //
>>>>
>>>> case BTTV_BOARD_NEBULA_DIGITV:
>>>> /*
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> --- a/drivers/media/dvb/bt8xx/Kconfig
>>>> +++ b/drivers/media/dvb/bt8xx/Kconfig
>>>> @@ -7,7 +7,6 @@ config DVB_BT8XX
>>>> select DVB_CX24110 if !DVB_FE_CUSTOMISE
>>>> select DVB_OR51211 if !DVB_FE_CUSTOMISE
>>>> select DVB_LGDT330X if !DVB_FE_CUSTOMISE
>>>> - select DVB_PLL
>>>> select DVB_ZL10353 if !DVB_FE_CUSTOMISE
>>>> select DVB_DST if !DVB_FE_CUSTOMISE
>>>> select FW_LOADER
>>>> --- a/drivers/media/dvb/frontends/Kconfig
>>>> +++ b/drivers/media/dvb/frontends/Kconfig
>>>> @@ -279,6 +279,7 @@ config DVB_LGDT330X
>>>> tristate "LG Electronics LGDT3302/LGDT3303 based"
>>>> depends on DVB_CORE && I2C
>>>> default m if DVB_FE_CUSTOMISE
>>>> + select DVB_PLL
>>>> help
>>>> An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want
>>>> to support this frontend.
>>>> @@ -291,8 +292,9 @@
>>>> depends on DVB_CORE && I2C
>>>> default m if DVB_FE_CUSTOMISE
>>>> help
>>>> - This module driver a number of tuners based on PLL chips with a
>>>> - common I2C interface. Say Y when you want to support these
>>>> tuners.
>>>> + This module driver is needed by a number of tuners based on
>>>> PLL chips
>>>> + with a common I2C inferface.
>>>> + Exceptions are: All bt8xx-based DVB cards except DViCO
>>>> FusionHDTV 5
>>>> Lite.
>>>>
>>>> config DVB_TDA826X
>>>> tristate "Philips TDA826X silicon tuner"
>>>> --- a/drivers/media/dvb/bt8xx/dvb-bt8xx.c
>>>> +++ b/drivers/media/dvb/bt8xx/dvb-bt8xx.c
>>>> @@ -568,24 +568,6 @@ static struct lgdt330x_config
>>>> .demod_init = digitv_alps_tded4_demod_init,
>>>> };
>>>>
>>>> -static struct lgdt330x_config tdvs_tua6034_config = {
>>>> - .demod_address = 0x0e,
>>>> - .demod_chip = LGDT3303,
>>>> - .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
>>>> -};
>>>> -
>>>> -static void lgdt330x_reset(struct dvb_bt8xx_card *bt)
>>>> -{
>>>> - /* Set pin 27 of the lgdt3303 chip high to reset the frontend */
>>>> -
>>>> - /* Pulse the reset line */
>>>> - bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> - bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000000); /* Low */
>>>> - msleep(100);
>>>> -
>>>> - bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> - msleep(100);
>>>> -}
>>>>
>>>> static void frontend_init(struct dvb_bt8xx_card *card, u32 type)
>>>> {
>>>> @@ -606,15 +588,39 @@ case BTTV_BOARD_DVICO
>>>> }
>>>> break;
>>>>
>>>> +#if defined(CONFIG_DVB_LGDT330x)
>>>> +static struct lgdt330x_config tdvs_tua6034_config = {
>>>> + .demod_address = 0x0e,
>>>> + .demod_chip = LGDT3303,
>>>> + .serial_mpeg = 0x40, /* TPSERIAL for 3303 in TOP_CONTROL */
>>>> +};
>>>> +
>>>> +static void lgdt330x_reset(struct dvb_bt8xx_card *bt)
>>>> +{
>>>> + /* Set pin 27 of the lgdt3303 chip high to reset the frontend */
>>>> +
>>>> + /* Pulse the reset line */
>>>> + bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> + bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000000); /* Low */
>>>> + msleep(100);
>>>> +
>>>> + bttv_write_gpio(bt->bttv_nr, 0x00e00007, 0x00000001); /* High */
>>>> + msleep(100);
>>>> +}
>>>> +
>>>> case BTTV_BOARD_DVICO_FUSIONHDTV_5_LITE:
>>>> lgdt330x_reset(card);
>>>> card->fe = dvb_attach(lgdt330x_attach, &tdvs_tua6034_config,
>>>> card->i2c_adapter); if (card->fe != NULL) {
>>>> dvb_attach(dvb_pll_attach, card->fe, 0x61,
>>>> card->i2c_adapter, &dvb_pll_lg_tdvs_h06xf);
>>>> dprintk ("dvb_bt8xx: lgdt330x detected\n");
>>>> }
>>>> break;
>>>> +#else
>>>> + printk(KERN_WARNING "%s: driver disabled by Kconfig\n",
>>>> __FUNCTION__);
>>>> + return NULL;
>>>> +#endif // CONFIG_DVB_LGDT330x //
>>>>
>>>> case BTTV_BOARD_NEBULA_DIGITV:
>>>> /*
>>>>
>>>>
>>>> ------------------------------------------------------------------------
>>>>
>>>>
>>>> _______________________________________________
>>>> linux-dvb mailing list
>>>> [email protected]
>>>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>>>>
>>
>> _______________________________________________
>> linux-dvb mailing list
>> [email protected]
>> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>>
>>
>>
>>
>
>
_______________________________________________
linux-dvb mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb