From: Andreas Oberritter <obi@linuxtv.org>
To: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: Linux Media Mailing List <linux-media@vger.kernel.org>
Subject: Re: [PATCH RFC 03/91] [media] dvb-core: add support for a DVBv5 get_frontend() callback
Date: Tue, 27 Dec 2011 15:47:02 +0100 [thread overview]
Message-ID: <4EF9DA66.1070409@linuxtv.org> (raw)
In-Reply-To: <4EF9CD07.6080608@infradead.org>
On 27.12.2011 14:49, Mauro Carvalho Chehab wrote:
> On 27-12-2011 10:21, Andreas Oberritter wrote:
>> On 27.12.2011 02:07, Mauro Carvalho Chehab wrote:
>>> The old method is renamed to get_frontend_legacy(), while not all
>>> frontends are converted.
>>>
>>> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
>>> ---
>>> drivers/media/dvb/bt8xx/dst.c | 8 +-
>>> drivers/media/dvb/dvb-core/dvb_frontend.c | 102 ++++++++++++++++++++------
>>> drivers/media/dvb/dvb-core/dvb_frontend.h | 5 +-
>>> drivers/media/dvb/dvb-usb/af9005-fe.c | 4 +-
>>> drivers/media/dvb/dvb-usb/cinergyT2-fe.c | 2 +-
>>> drivers/media/dvb/dvb-usb/dtt200u-fe.c | 2 +-
>>> drivers/media/dvb/dvb-usb/friio-fe.c | 2 +-
>>> drivers/media/dvb/dvb-usb/mxl111sf-demod.c | 2 +-
>>> drivers/media/dvb/dvb-usb/vp702x-fe.c | 2 +-
>>> drivers/media/dvb/dvb-usb/vp7045-fe.c | 2 +-
>>> drivers/media/dvb/firewire/firedtv-fe.c | 2 +-
>>> drivers/media/dvb/frontends/af9013.c | 2 +-
>>> drivers/media/dvb/frontends/atbm8830.c | 2 +-
>>> drivers/media/dvb/frontends/au8522_dig.c | 2 +-
>>> drivers/media/dvb/frontends/cx22700.c | 2 +-
>>> drivers/media/dvb/frontends/cx22702.c | 2 +-
>>> drivers/media/dvb/frontends/cx24110.c | 2 +-
>>> drivers/media/dvb/frontends/cx24123.c | 2 +-
>>> drivers/media/dvb/frontends/cxd2820r_core.c | 4 +-
>>> drivers/media/dvb/frontends/dib3000mb.c | 2 +-
>>> drivers/media/dvb/frontends/dib3000mc.c | 2 +-
>>> drivers/media/dvb/frontends/dib7000m.c | 2 +-
>>> drivers/media/dvb/frontends/dib7000p.c | 2 +-
>>> drivers/media/dvb/frontends/dib8000.c | 4 +-
>>> drivers/media/dvb/frontends/dib9000.c | 4 +-
>>> drivers/media/dvb/frontends/drxd_hard.c | 2 +-
>>> drivers/media/dvb/frontends/drxk_hard.c | 4 +-
>>> drivers/media/dvb/frontends/dvb_dummy_fe.c | 6 +-
>>> drivers/media/dvb/frontends/it913x-fe.c | 2 +-
>>> drivers/media/dvb/frontends/l64781.c | 2 +-
>>> drivers/media/dvb/frontends/lgdt3305.c | 4 +-
>>> drivers/media/dvb/frontends/lgdt330x.c | 4 +-
>>> drivers/media/dvb/frontends/lgs8gl5.c | 2 +-
>>> drivers/media/dvb/frontends/lgs8gxx.c | 2 +-
>>> drivers/media/dvb/frontends/mb86a20s.c | 2 +-
>>> drivers/media/dvb/frontends/mt312.c | 2 +-
>>> drivers/media/dvb/frontends/mt352.c | 2 +-
>>> drivers/media/dvb/frontends/or51132.c | 2 +-
>>> drivers/media/dvb/frontends/s5h1409.c | 2 +-
>>> drivers/media/dvb/frontends/s5h1411.c | 2 +-
>>> drivers/media/dvb/frontends/s5h1420.c | 2 +-
>>> drivers/media/dvb/frontends/s5h1432.c | 2 +-
>>> drivers/media/dvb/frontends/s921.c | 2 +-
>>> drivers/media/dvb/frontends/stb0899_drv.c | 2 +-
>>> drivers/media/dvb/frontends/stb6100.c | 4 +-
>>> drivers/media/dvb/frontends/stv0297.c | 2 +-
>>> drivers/media/dvb/frontends/stv0299.c | 2 +-
>>> drivers/media/dvb/frontends/stv0367.c | 4 +-
>>> drivers/media/dvb/frontends/stv0900_core.c | 2 +-
>>> drivers/media/dvb/frontends/tda10021.c | 2 +-
>>> drivers/media/dvb/frontends/tda10023.c | 2 +-
>>> drivers/media/dvb/frontends/tda10048.c | 2 +-
>>> drivers/media/dvb/frontends/tda1004x.c | 4 +-
>>> drivers/media/dvb/frontends/tda10071.c | 2 +-
>>> drivers/media/dvb/frontends/tda10086.c | 2 +-
>>> drivers/media/dvb/frontends/tda8083.c | 2 +-
>>> drivers/media/dvb/frontends/ves1820.c | 2 +-
>>> drivers/media/dvb/frontends/ves1x93.c | 2 +-
>>> drivers/media/dvb/frontends/zl10353.c | 2 +-
>>> drivers/media/dvb/siano/smsdvb.c | 2 +-
>>> drivers/media/video/tlg2300/pd-dvb.c | 2 +-
>>> drivers/staging/media/as102/as102_fe.c | 2 +-
>>> 62 files changed, 157 insertions(+), 100 deletions(-)
>>>
>>> diff --git a/drivers/media/dvb/bt8xx/dst.c b/drivers/media/dvb/bt8xx/dst.c
>>> index 4658bd6..6afc083 100644
>>> --- a/drivers/media/dvb/bt8xx/dst.c
>>> +++ b/drivers/media/dvb/bt8xx/dst.c
>>> @@ -1778,7 +1778,7 @@ static struct dvb_frontend_ops dst_dvbt_ops = {
>>> .init = dst_init,
>>> .tune = dst_tune_frontend,
>>> .set_frontend_legacy = dst_set_frontend,
>>> - .get_frontend = dst_get_frontend,
>>> + .get_frontend_legacy = dst_get_frontend,
>>> .get_frontend_algo = dst_get_tuning_algo,
>>> .read_status = dst_read_status,
>>> .read_signal_strength = dst_read_signal_strength,
>>> @@ -1804,7 +1804,7 @@ static struct dvb_frontend_ops dst_dvbs_ops = {
>>> .init = dst_init,
>>> .tune = dst_tune_frontend,
>>> .set_frontend_legacy = dst_set_frontend,
>>> - .get_frontend = dst_get_frontend,
>>> + .get_frontend_legacy = dst_get_frontend,
>>> .get_frontend_algo = dst_get_tuning_algo,
>>> .read_status = dst_read_status,
>>> .read_signal_strength = dst_read_signal_strength,
>>> @@ -1838,7 +1838,7 @@ static struct dvb_frontend_ops dst_dvbc_ops = {
>>> .init = dst_init,
>>> .tune = dst_tune_frontend,
>>> .set_frontend_legacy = dst_set_frontend,
>>> - .get_frontend = dst_get_frontend,
>>> + .get_frontend_legacy = dst_get_frontend,
>>> .get_frontend_algo = dst_get_tuning_algo,
>>> .read_status = dst_read_status,
>>> .read_signal_strength = dst_read_signal_strength,
>>> @@ -1861,7 +1861,7 @@ static struct dvb_frontend_ops dst_atsc_ops = {
>>> .init = dst_init,
>>> .tune = dst_tune_frontend,
>>> .set_frontend_legacy = dst_set_frontend,
>>> - .get_frontend = dst_get_frontend,
>>> + .get_frontend_legacy = dst_get_frontend,
>>> .get_frontend_algo = dst_get_tuning_algo,
>>> .read_status = dst_read_status,
>>> .read_signal_strength = dst_read_signal_strength,
>>> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
>>> index eca6170..1eefb91 100644
>>> --- a/drivers/media/dvb/dvb-core/dvb_frontend.c
>>> +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
>>> @@ -139,6 +139,14 @@ struct dvb_frontend_private {
>>> };
>>>
>>> static void dvb_frontend_wakeup(struct dvb_frontend *fe);
>>> +static int dtv_get_frontend(struct dvb_frontend *fe,
>>> + struct dtv_frontend_properties *c,
>>> + struct dvb_frontend_parameters *p_out);
>>> +
>>> +static bool has_get_frontend(struct dvb_frontend *fe)
>>> +{
>>> + return fe->ops.get_frontend || fe->ops.get_frontend_legacy;
>>> +}
>>>
>>> static void dvb_frontend_add_event(struct dvb_frontend *fe, fe_status_t status)
>>> {
>>> @@ -149,8 +157,8 @@ static void dvb_frontend_add_event(struct dvb_frontend *fe, fe_status_t status)
>>>
>>> dprintk ("%s\n", __func__);
>>>
>>> - if ((status & FE_HAS_LOCK) && fe->ops.get_frontend)
>>> - fe->ops.get_frontend(fe, &fepriv->parameters_out);
>>> + if ((status & FE_HAS_LOCK) && has_get_frontend(fe))
>>> + dtv_get_frontend(fe, NULL, &fepriv->parameters_out);
>>>
>>> mutex_lock(&events->mtx);
>>>
>>> @@ -1097,11 +1105,10 @@ static void dtv_property_cache_sync(struct dvb_frontend *fe,
>>> /* Ensure the cached values are set correctly in the frontend
>>> * legacy tuning structures, for the advanced tuning API.
>>> */
>>> -static void dtv_property_legacy_params_sync(struct dvb_frontend *fe)
>>> +static void dtv_property_legacy_params_sync(struct dvb_frontend *fe,
>>> + struct dvb_frontend_parameters *p)
>>> {
>>> const struct dtv_frontend_properties *c = &fe->dtv_property_cache;
>>> - struct dvb_frontend_private *fepriv = fe->frontend_priv;
>>> - struct dvb_frontend_parameters *p = &fepriv->parameters_in;
>>>
>>> p->frequency = c->frequency;
>>> p->inversion = c->inversion;
>>> @@ -1223,6 +1230,7 @@ static void dtv_property_adv_params_sync(struct dvb_frontend *fe)
>>> static void dtv_property_cache_submit(struct dvb_frontend *fe)
>>> {
>>> const struct dtv_frontend_properties *c = &fe->dtv_property_cache;
>>> + struct dvb_frontend_private *fepriv = fe->frontend_priv;
>>>
>>> /* For legacy delivery systems we don't need the delivery_system to
>>> * be specified, but we populate the older structures from the cache
>>> @@ -1231,7 +1239,7 @@ static void dtv_property_cache_submit(struct dvb_frontend *fe)
>>> if(is_legacy_delivery_system(c->delivery_system)) {
>>>
>>> dprintk("%s() legacy, modulation = %d\n", __func__, c->modulation);
>>> - dtv_property_legacy_params_sync(fe);
>>> + dtv_property_legacy_params_sync(fe, &fepriv->parameters_in);
>>>
>>> } else {
>>> dprintk("%s() adv, modulation = %d\n", __func__, c->modulation);
>>> @@ -1246,6 +1254,58 @@ static void dtv_property_cache_submit(struct dvb_frontend *fe)
>>> }
>>> }
>>>
>>> +/**
>>> + * dtv_get_frontend - calls a callback for retrieving DTV parameters
>>> + * @fe: struct dvb_frontend pointer
>>> + * @c: struct dtv_frontend_properties pointer (DVBv5 cache)
>>> + * @p_out struct dvb_frontend_parameters pointer (DVBv3 FE struct)
>>> + *
>>> + * This routine calls either the DVBv3 or DVBv5 get_frontend call.
>>> + * If c is not null, it will update the DVBv5 cache struct pointed by it.
>>> + * If p_out is not null, it will update the DVBv3 params pointed by it.
>>> + */
>>> +static int dtv_get_frontend(struct dvb_frontend *fe,
>>> + struct dtv_frontend_properties *c,
>>> + struct dvb_frontend_parameters *p_out)
>>> +{
>>> + const struct dtv_frontend_properties *cache = &fe->dtv_property_cache;
>>> + struct dtv_frontend_properties tmp_cache;
>>> + struct dvb_frontend_parameters tmp_out;
>>> + bool fill_cache = (c != NULL);
>>> + bool fill_params = (p_out != NULL);
>>> + int r;
>>> +
>>> + if (!p_out)
>>> + p_out = & tmp_out;
>>> +
>>> + if (!c)
>>> + c = &tmp_cache;
>>> + else
>>> + memcpy(c, cache, sizeof(*c));
>>> +
>>> + /* Then try the DVBv5 one */
>>> + if (fe->ops.get_frontend) {
>>> + r = fe->ops.get_frontend(fe, c);
>>> + if (unlikely(r < 0))
>>> + return r;
>>> + if (fill_params)
>>> + dtv_property_legacy_params_sync(fe, p_out);
>>> + return 0;
>>> + }
>>> +
>>> + /* As no DVBv5 call exists, use the DVBv3 one */
>>> + if (fe->ops.get_frontend_legacy) {
>>> + r = fe->ops.get_frontend_legacy(fe, p_out);
>>> + if (unlikely(r < 0))
>>> + return r;
>>> + if (fill_cache)
>>> + dtv_property_cache_sync(fe, c, p_out);
>>> + return 0;
>>> + }
>>> +
>>> + return -EOPNOTSUPP;
>>> +}
>>> +
>>> static int dvb_frontend_ioctl_legacy(struct file *file,
>>> unsigned int cmd, void *parg);
>>> static int dvb_frontend_ioctl_properties(struct file *file,
>>> @@ -1296,24 +1356,12 @@ static void dtv_set_default_delivery_caps(const struct dvb_frontend *fe, struct
>>> }
>>>
>>> static int dtv_property_process_get(struct dvb_frontend *fe,
>>> + const struct dtv_frontend_properties *c,
>>> struct dtv_property *tvp,
>>> struct file *file)
>>> {
>>> - const struct dtv_frontend_properties *c = &fe->dtv_property_cache;
>>> - struct dvb_frontend_private *fepriv = fe->frontend_priv;
>>> - struct dtv_frontend_properties cdetected;
>>> int r;
>>>
>>> - /*
>>> - * If the driver implements a get_frontend function, then convert
>>> - * detected parameters to S2API properties.
>>> - */
>>> - if (fe->ops.get_frontend) {
>>> - cdetected = *c;
>>> - dtv_property_cache_sync(fe, &cdetected, &fepriv->parameters_out);
>>> - c = &cdetected;
>>> - }
>>> -
>>> switch(tvp->cmd) {
>>> case DTV_ENUM_DELSYS:
>>> dtv_set_default_delivery_caps(fe, tvp);
>>> @@ -1685,6 +1733,7 @@ static int dvb_frontend_ioctl_properties(struct file *file,
>>>
>>> } else
>>> if(cmd == FE_GET_PROPERTY) {
>>> + struct dtv_frontend_properties cache_out;
>>>
>>> tvps = (struct dtv_properties __user *)parg;
>>>
>>> @@ -1707,8 +1756,13 @@ static int dvb_frontend_ioctl_properties(struct file *file,
>>> goto out;
>>> }
>>>
>>> + /*
>>> + * Fills the cache out struct with the cache contents, plus
>>> + * the data retrieved from get_frontend/get_frontend_legacy.
>>> + */
>>> + dtv_get_frontend(fe, &cache_out, NULL);
>>
>> Unlike before, this code actually calls the get_frontend driver
>> callback, causing unwanted I2C traffic for every property. Please drop
>> this behavioural change.
>
> Look again: get_frontend() is called only once, when the user requests
> FE_GET_PROPERTY.
So let me rephrase: Unlike before, this code actually calls the
get_frontend driver callback, causing unwanted I2C traffic for every
FE_GET_PROPERTY ioctl.
> This will only generate i2c traffic if the frontend implements get_frontend,
> and if it needs to retrieve something from the hardware.
What do you mean by "if it needs to retrieve something"? There's no
logic in dtv_get_frontend() to handle that. Usually there's no logic in
the get_frontend callback either, because it's job is to retrieve
something from the hardware _unconditionally_.
Btw, I just noticed that get_frontend gets a parameter 'props' while
set_frontend doesn't. IMO this should be changed, e.g. by adding const
struct dtv_frontend_properties* to set_frontend, if you insist on
introducing this callback.
A far better solution would be to just use the get_property callback for
all properties instead of replacing the legacy get_frontend callback
with a new "catch-all" function.
>> Btw, this doesn't match the patch description.
next prev parent reply other threads:[~2011-12-27 14:47 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-27 1:07 [PATCH RFC 00/91] Only use DVBv5 internally on frontend drivers Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 01/91] [media] dvb-core: allow demods to specify the supported delivery systems supported standards Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 02/91] [media] Rename set_frontend fops to set_frontend_legacy Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 03/91] [media] dvb-core: add support for a DVBv5 get_frontend() callback Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 04/91] [media] af9013: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 05/91] [media] atbm8830: convert set_fontend to new way and fix delivery system Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 06/91] [media] au8522_dig: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 07/91] [media] bcm3510: " Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 08/91] [media] cx22700: " Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 09/91] [media] cx22702: " Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 10/91] [media] cx24110: " Mauro Carvalho Chehab
2011-12-27 1:07 ` [PATCH RFC 11/91] [media] cx24116: report delivery system and cleanups Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 12/91] [media] cx23123: remove an unused argument from cx24123_pll_writereg() Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 13/91] [media] av7110: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 14/91] [media] cx23123: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 15/91] [media] cxd2820r: report delivery system and cleanups Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 16/91] [media] dibx000: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 17/91] [media] dib9000: remove unused parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 18/91] [media] cx24113: cleanup: remove unused init Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 19/91] [media] dib9000: Get rid of the remaining DVBv3 legacy stuff Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 20/91] [media] dib3000mb: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 21/91] [media] dib8000: Remove the old DVBv3 struct from it and add delsys Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 22/91] [media] dib9000: get rid of unused dvb_frontend_parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 23/91] [media] zl10353: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 24/91] [media] em28xx-dvb: don't initialize drx-d non-used fields with zero Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 25/91] [media] drxd: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 26/91] [media] drxk: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 27/91] [media] ds3000: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 28/91] [media] dvb_dummy_fe: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 29/91] [media] ec100: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 30/91] [media] it913x-fe: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 31/91] [media] l64781: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 32/91] [media] lgs8gl5: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 33/91] [media] lgdt330x: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 34/91] [media] lgdt3305: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 35/91] [media] lgs8gxx: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 36/91] [media] vez1x93: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 37/91] [media] mb86a16: Add delivery system type at fe struct Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 38/91] [media] mb86a20s: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 39/91] [media] mt352: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 40/91] [media] nxt6000: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 41/91] [media] s5h1432: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 42/91] [media] sp8870: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 43/91] [media] sp887x: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 44/91] [media] stv0367: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 45/91] [media] tda10048: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 46/91] [media] tda1004x: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 47/91] [media] s921: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 48/91] [media] mt312: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 49/91] [media] s5h1420: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 50/91] [media] si21xx: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 51/91] [media] stb0899: convert get_frontend to the new struct Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 52/91] [media] stb6100: use get_frontend, instead of get_frontend_legacy() Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 53/91] [media] stv0288: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 54/91] [media] stv0297: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 55/91] [media] stv0299: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 56/91] [media] stv900: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 57/91] [media] stv090x: use .delsys property, instead of get_property() Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 58/91] [media] tda10021: convert set_fontend to use DVBv5 parameters Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 59/91] [media] tda10023: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 60/91] [media] tda10071: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 61/91] [media] tda10086: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 62/91] [media] nxt200x: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 63/91] [media] or51132: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 64/91] [media] or51211: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 65/91] [media] s5h1409: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 66/91] [media] s55h1411: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 67/91] [media] tda8083: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 68/91] [media] vez1820: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 69/91] [media] staging/as102: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 70/91] [media] dst: " Mauro Carvalho Chehab
2011-12-27 1:08 ` [PATCH RFC 71/91] [media] af9005-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 72/91] [media] cinergyT2-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 73/91] [media] dtt200u-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 74/91] [media] friio-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 75/91] [media] gp8psk-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 76/91] [media] mxl111sf-demod: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 77/91] [media] vp702x-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 78/91] [media] vp7045-fe: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 79/91] [media] firedtv: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 80/91] [media] siano: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 81/91] [media] ttusb-dec: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 82/91] [media] tlg2300: " Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 83/91] [media] dvb-core: remove get|set_frontend_legacy Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 84/91] [media] dvb: simplify get_tune_settings() struct Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 85/91] [media] dvb-core: Don't pass DVBv3 parameters on tune() fops Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 86/91] [media] dvb: don't pass a DVBv3 parameter for search() fops Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 87/91] [media] dvb: remove the track() fops Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 88/91] [media] dvb-core: don't use fe_bandwidth_t on driver Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 89/91] [media] dvb: don't use DVBv3 bandwidth macros Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 90/91] cx23885-dvb: Remove a dirty hack that would require DVBv3 Mauro Carvalho Chehab
2011-12-27 1:09 ` [PATCH RFC 91/91] [media] dvb-core: be sure that drivers won't use DVBv3 internally Mauro Carvalho Chehab
2011-12-27 12:25 ` [PATCH RFC 24/91] [media] em28xx-dvb: don't initialize drx-d non-used fields with zero Andreas Oberritter
2011-12-27 10:28 ` [PATCH RFC 04/91] [media] af9013: convert set_fontend to use DVBv5 parameters Antti Palosaari
2011-12-27 11:58 ` Mauro Carvalho Chehab
2011-12-27 12:21 ` [PATCH RFC 03/91] [media] dvb-core: add support for a DVBv5 get_frontend() callback Andreas Oberritter
2011-12-27 13:49 ` Mauro Carvalho Chehab
2011-12-27 14:47 ` Andreas Oberritter [this message]
2011-12-27 17:26 ` Mauro Carvalho Chehab
2011-12-27 20:44 ` Andreas Oberritter
2011-12-27 22:33 ` Mauro Carvalho Chehab
2011-12-27 20:47 ` Andreas Oberritter
2011-12-27 22:36 ` Mauro Carvalho Chehab
2011-12-30 14:41 ` Mauro Carvalho Chehab
2011-12-27 22:43 ` Mauro Carvalho Chehab
2011-12-27 12:11 ` [PATCH RFC 01/91] [media] dvb-core: allow demods to specify the supported delivery systems supported standards Andreas Oberritter
2011-12-27 13:28 ` Mauro Carvalho Chehab
2011-12-27 14:33 ` Andreas Oberritter
2011-12-27 17:06 ` Mauro Carvalho Chehab
2011-12-27 17:33 ` Antti Palosaari
2011-12-27 17:46 ` Mauro Carvalho Chehab
2011-12-27 20:37 ` Andreas Oberritter
2011-12-27 22:07 ` Mauro Carvalho Chehab
2012-01-02 6:20 ` Manu Abraham
2011-12-27 12:31 ` [PATCH RFC 00/91] Only use DVBv5 internally on frontend drivers Andreas Oberritter
2011-12-27 13:19 ` Mauro Carvalho Chehab
2011-12-27 13:55 ` Mauro Carvalho Chehab
2011-12-28 15:50 ` e9hack
2011-12-30 13:19 ` Mauro Carvalho Chehab
2011-12-30 17:16 ` e9hack
2011-12-30 17:36 ` Mauro Carvalho Chehab
2011-12-30 17:37 ` [PATCH] [media] tda18271c2dd: fix support for DVB-C Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EF9DA66.1070409@linuxtv.org \
--to=obi@linuxtv.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).