From patchwork Tue May 1 04:12:21 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Krufky X-Patchwork-Id: 10942 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1SP4SK-000128-P0 for patchwork@linuxtv.org; Tue, 01 May 2012 06:12:52 +0200 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.75/mailfrontend-2) with esmtp for id 1SP4SK-0004N9-GJ; Tue, 01 May 2012 06:12:52 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752145Ab2EAEMu (ORCPT ); Tue, 1 May 2012 00:12:50 -0400 Received: from mail-vx0-f174.google.com ([209.85.220.174]:38849 "EHLO mail-vx0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751321Ab2EAEMr (ORCPT ); Tue, 1 May 2012 00:12:47 -0400 Received: by mail-vx0-f174.google.com with SMTP id p1so2537594vcq.19 for ; Mon, 30 Apr 2012 21:12:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=pAeU5TrQYb2ZfUjoxP8ihi1tm8GTzZ+qVeqBGwik9No=; b=iSt9diEcht7oxsvdWddqywMSN6nYnq+M56mb23rhmjChm/lMTtrraeHDMRY7m1KJcx YXF7xyDkPFuNKfK4MuTJc1RTk+rVK4pYwYePTRYtvsgk3f96nybkgsAC9zUUF3BkHs77 /0k8jYypUIke1i6YFhVCpzFhMONny6tqaFUVyMz6N5mdB9OYYq4q7H7qYWO21vUQjNsF UKEE72nB36s1IvNkY/NjoQ7OWFu5IfIuCTCpc5K32h3T7zNzLO76hsdLjOAnYQRGJYLf lkwRnkrEBIyXxwuOVGCkgVqHF8FfFhkyQQkhr9hztA7kDbAOB2hfHAjtLLWmOKB5qbRo NKUQ== Received: by 10.52.68.228 with SMTP id z4mr3952270vdt.1.1335845567383; Mon, 30 Apr 2012 21:12:47 -0700 (PDT) Received: from localhost.localdomain (cpe-67-247-37-142.nyc.res.rr.com. [67.247.37.142]) by mx.google.com with ESMTPS id iz3sm30262079vdb.11.2012.04.30.21.12.46 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 30 Apr 2012 21:12:46 -0700 (PDT) From: Michael Krufky To: linux-media Cc: Mauro Carvalho Chehab , Michael Krufky Subject: [PATCH 06/10] lg2160: update internal api interfaces and enable build Date: Tue, 1 May 2012 00:12:21 -0400 Message-Id: <1335845545-20879-6-git-send-email-mkrufky@linuxtv.org> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1335845545-20879-1-git-send-email-mkrufky@linuxtv.org> References: <1335845545-20879-1-git-send-email-mkrufky@linuxtv.org> X-Gm-Message-State: ALoCoQndiobgYDe4/PyC6sHZ0Zi37QrPk5Pbb7rA5EGQzEOviiPZp1tCdCdPTduMfQlDXLfEYOcB Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 5.6.1.2065439, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2012.5.1.40034 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODY_SIZE_3000_3999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DATE_TZ_NA 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __URI_NO_WWW 0, __URI_NS ' Signed-off-by: Michael Krufky --- drivers/media/dvb/frontends/Kconfig | 8 ++++++++ drivers/media/dvb/frontends/lg2160.c | 25 +++++++++---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/drivers/media/dvb/frontends/Kconfig b/drivers/media/dvb/frontends/Kconfig index 2124670..09e21c9 100644 --- a/drivers/media/dvb/frontends/Kconfig +++ b/drivers/media/dvb/frontends/Kconfig @@ -531,6 +531,14 @@ config DVB_LGDT3305 An ATSC 8VSB and QAM64/256 tuner module. Say Y when you want to support this frontend. +config DVB_LG2160 + tristate "LG Electronics LG216x based" + depends on DVB_CORE && I2C + default m if DVB_FE_CUSTOMISE + help + An ATSC/MH demodulator module. Say Y when you want + to support this frontend. + config DVB_S5H1409 tristate "Samsung S5H1409 based" depends on DVB_CORE && I2C diff --git a/drivers/media/dvb/frontends/lg2160.c b/drivers/media/dvb/frontends/lg2160.c index 269ab7b..daa8596 100644 --- a/drivers/media/dvb/frontends/lg2160.c +++ b/drivers/media/dvb/frontends/lg2160.c @@ -939,17 +939,15 @@ static int lg216x_read_rs_err_count(struct lg216x_state *state, u16 *err) /* ------------------------------------------------------------------------ */ -static int lg216x_get_frontend(struct dvb_frontend *fe, - struct dvb_frontend_parameters *param) +static int lg216x_get_frontend(struct dvb_frontend *fe) { struct lg216x_state *state = fe->demodulator_priv; int ret; lg_dbg("\n"); - param->u.vsb.modulation = VSB_8; /* FIXME (MH) */ - param->frequency = state->current_frequency; - + fe->dtv_property_cache.modulation = VSB_8; + fe->dtv_property_cache.frequency = state->current_frequency; fe->dtv_property_cache.delivery_system = SYS_ATSCMH; ret = lg216x_get_fic_version(state, @@ -1051,28 +1049,25 @@ fail: static int lg216x_get_property(struct dvb_frontend *fe, struct dtv_property *tvp) { - struct dvb_frontend_parameters param; - return (DTV_ATSCMH_FIC_VER == tvp->cmd) ? - lg216x_get_frontend(fe, ¶m) : 0; + lg216x_get_frontend(fe) : 0; } -static int lg2160_set_frontend(struct dvb_frontend *fe, - struct dvb_frontend_parameters *param) +static int lg2160_set_frontend(struct dvb_frontend *fe) { struct lg216x_state *state = fe->demodulator_priv; int ret; - lg_dbg("(%d, %d)\n", param->frequency, param->u.vsb.modulation); + lg_dbg("(%d)\n", fe->dtv_property_cache.frequency); if (fe->ops.tuner_ops.set_params) { - ret = fe->ops.tuner_ops.set_params(fe, param); + ret = fe->ops.tuner_ops.set_params(fe); if (fe->ops.i2c_gate_ctrl) fe->ops.i2c_gate_ctrl(fe, 0); if (lg_fail(ret)) goto fail; - state->current_frequency = param->frequency; + state->current_frequency = fe->dtv_property_cache.frequency; } ret = lg2160_agc_fix(state, 0, 0); @@ -1129,7 +1124,7 @@ static int lg2160_set_frontend(struct dvb_frontend *fe, ret = lg216x_enable_fic(state, 1); lg_fail(ret); - lg216x_get_frontend(fe, param); + lg216x_get_frontend(fe); fail: return ret; } @@ -1359,7 +1354,6 @@ static struct dvb_frontend_ops lg2160_ops = { .frequency_min = 54000000, .frequency_max = 858000000, .frequency_stepsize = 62500, - .caps = FE_CAN_8VSB | FE_HAS_EXTENDED_CAPS /* FIXME (MH) */ }, .i2c_gate_ctrl = lg216x_i2c_gate_ctrl, #if 0 @@ -1389,7 +1383,6 @@ static struct dvb_frontend_ops lg2161_ops = { .frequency_min = 54000000, .frequency_max = 858000000, .frequency_stepsize = 62500, - .caps = FE_CAN_8VSB | FE_HAS_EXTENDED_CAPS /* FIXME (MH) */ }, .i2c_gate_ctrl = lg216x_i2c_gate_ctrl, #if 0