From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.kapsi.fi ([217.30.184.167]:58865 "EHLO mail.kapsi.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751548AbaHLXVl (ORCPT ); Tue, 12 Aug 2014 19:21:41 -0400 Message-ID: <53EAA180.2000602@iki.fi> Date: Wed, 13 Aug 2014 02:21:36 +0300 From: Antti Palosaari MIME-Version: 1.0 To: Olli Salonen , olli@cabbala.net CC: Linux Media Mailing List Subject: Re: [PATCH 1/6] si2168: add ts_mode setting and move to si2168_init References: <1407787095-2167-1-git-send-email-olli.salonen@iki.fi> In-Reply-To: <1407787095-2167-1-git-send-email-olli.salonen@iki.fi> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: Acked-by: Antti Palosaari Reviewed-by: Antti Palosaari Antti On 08/11/2014 10:58 PM, Olli Salonen wrote: > Luis Alves submitted a TS mode patch to si2168 earlier, but the patch was rejected due to a small issue. Here is a working version. Also, setting of TS mode is moved from si2168_set_frontend to si2168_init. > > This patch adds the TS mode as a config option for the si2168 demod: > - ts_mode added to config struct. > - Possible (interesting) values are > * Parallel mode = 0x06 > * Serial mode = 0x03 > > Currently the modules using this demod only use parallel mode. Patches for these modules later in this patch series. > > Signed-off-by: Olli Salonen > --- > drivers/media/dvb-frontends/si2168.c | 17 ++++++++++------- > drivers/media/dvb-frontends/si2168.h | 6 ++++++ > drivers/media/dvb-frontends/si2168_priv.h | 1 + > 3 files changed, 17 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c > index 8f81d97..0eb0e4e 100644 > --- a/drivers/media/dvb-frontends/si2168.c > +++ b/drivers/media/dvb-frontends/si2168.c > @@ -297,13 +297,6 @@ static int si2168_set_frontend(struct dvb_frontend *fe) > if (ret) > goto err; > > - memcpy(cmd.args, "\x14\x00\x01\x10\x16\x00", 6); > - cmd.wlen = 6; > - cmd.rlen = 4; > - ret = si2168_cmd_execute(s, &cmd); > - if (ret) > - goto err; > - > memcpy(cmd.args, "\x14\x00\x09\x10\xe3\x18", 6); > cmd.wlen = 6; > cmd.rlen = 4; > @@ -465,6 +458,15 @@ static int si2168_init(struct dvb_frontend *fe) > dev_info(&s->client->dev, "%s: found a '%s' in warm state\n", > KBUILD_MODNAME, si2168_ops.info.name); > > + /* set ts mode */ > + memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6); > + cmd.args[4] |= s->ts_mode; > + cmd.wlen = 6; > + cmd.rlen = 4; > + ret = si2168_cmd_execute(s, &cmd); > + if (ret) > + goto err; > + > s->active = true; > > return 0; > @@ -633,6 +635,7 @@ static int si2168_probe(struct i2c_client *client, > > *config->i2c_adapter = s->adapter; > *config->fe = &s->fe; > + s->ts_mode = config->ts_mode; > > i2c_set_clientdata(client, s); > > diff --git a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h > index 3c5b5ab..e086d67 100644 > --- a/drivers/media/dvb-frontends/si2168.h > +++ b/drivers/media/dvb-frontends/si2168.h > @@ -34,6 +34,12 @@ struct si2168_config { > * returned by driver > */ > struct i2c_adapter **i2c_adapter; > + > + /* TS mode */ > + u8 ts_mode; > }; > > +#define SI2168_TS_PARALLEL 0x06 > +#define SI2168_TS_SERIAL 0x03 > + > #endif > diff --git a/drivers/media/dvb-frontends/si2168_priv.h b/drivers/media/dvb-frontends/si2168_priv.h > index ebbf502..0f83284 100644 > --- a/drivers/media/dvb-frontends/si2168_priv.h > +++ b/drivers/media/dvb-frontends/si2168_priv.h > @@ -36,6 +36,7 @@ struct si2168 { > fe_delivery_system_t delivery_system; > fe_status_t fe_status; > bool active; > + u8 ts_mode; > }; > > /* firmare command struct */ > -- http://palosaari.fi/