[linux-dvb] Leadtek WinFast DTV-1800H support
Steven Toth
stoth at linuxtv.org
Mon Oct 20 20:45:48 CEST 2008
sustmi wrote:
> Hi,
>
> I was working on support for Leadtek WinFast DTV-1800H.
> First I made it work with Markus Rechberger's v4l repository (there was
> better XC3028-tunner code).
>
> Few weeks ago Markus Rechberger announced that he is no going to
> support non-ex28xx cards anymore and that I have to focus on the linuxtv
> linux-dvb repository.
>
> So I (cooperating with Paul Chubb) made a patch against linuxtv linux-dvb.
> (attached file: leadtek_winfast_dtv1800h.patch)
>
> It enables support for DVB-T, analogue TV, radio and IR remote control.
>
> I have tried to use existing parts of code as much as possible.
> The creation of 'cx88_xc3028_winfast1800h_callback' function was
> necessary. Function 'cx88_xc3028_geniatech_tuner_callback' is similar,
> but the extra GPIO code makes IR remote control not work.
>
> It will be great if patch is merged into the repository.
>
> There is one question I want to ask you in terms of this message:
> http://www.linuxtv.org/pipermail/linux-dvb/2008-August/028117.html
> Why is using of cx_write() risky?
From my orig email: "Don't call cx_write() inside the gpio card setup,
you're potentially destroying the other bits, it's risky."
cx_write destroys the content of the GPIO direction-enablement and
values bits. That's a bad thing, and can lead to unexpected behaviors if
used generally in drivers.
It's better to have a driver read the previous register value, and/or in
the appropriate bit and write the value back to the gpio registers. This
is what cx_set/clear do. That way parts of the driver can toggle GPIO's
for important pieces, without having to understand GPIO usage in other
disconnected/unrelated parts of the driver.
Your patch uses set/clear, which is good.
Incidently, you patch cannot be merged as-is, it has C99 style comments
'//' are not allowed, change to /* */ etc.
- Steve
More information about the linux-dvb
mailing list