From patchwork Sat Nov 12 10:34:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Antti Palosaari X-Patchwork-Id: 9424035 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 1099360720 for ; Sat, 12 Nov 2016 10:35:04 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EB6B12990E for ; Sat, 12 Nov 2016 10:35:03 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E03622991E; Sat, 12 Nov 2016 10:35:03 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 447172990E for ; Sat, 12 Nov 2016 10:35:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756612AbcKLKez (ORCPT ); Sat, 12 Nov 2016 05:34:55 -0500 Received: from mail.kapsi.fi ([217.30.184.167]:60845 "EHLO mail.kapsi.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753078AbcKLKey (ORCPT ); Sat, 12 Nov 2016 05:34:54 -0500 Received: from [82.128.187.197] (helo=localhost.localdomain.localdomain) by mail.kapsi.fi with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1c5Vdb-0007mH-09; Sat, 12 Nov 2016 12:34:19 +0200 From: Antti Palosaari To: linux-media@vger.kernel.org Cc: Antti Palosaari Subject: [PATCH 8/9] it913x: add chip device ids for binding Date: Sat, 12 Nov 2016 12:34:00 +0200 Message-Id: <1478946841-2807-8-git-send-email-crope@iki.fi> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1478946841-2807-1-git-send-email-crope@iki.fi> References: <1478946841-2807-1-git-send-email-crope@iki.fi> X-SA-Exim-Connect-IP: 82.128.187.197 X-SA-Exim-Mail-From: crope@iki.fi X-SA-Exim-Scanned: No (on mail.kapsi.fi); SAEximRunCond expanded to false Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Driver supports 2 different device versions, AX and BX. Use device IDs to pass chip version information to driver. Signed-off-by: Antti Palosaari --- drivers/media/tuners/it913x.c | 11 ++++++++++- drivers/media/tuners/it913x.h | 5 ----- drivers/media/usb/dvb-usb-v2/af9035.c | 8 ++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/media/tuners/it913x.c b/drivers/media/tuners/it913x.c index 085e33c..66d77df 100644 --- a/drivers/media/tuners/it913x.c +++ b/drivers/media/tuners/it913x.c @@ -394,6 +394,7 @@ static int it913x_probe(struct platform_device *pdev) struct it913x_platform_data *pdata = pdev->dev.platform_data; struct dvb_frontend *fe = pdata->fe; struct it913x_dev *dev; + const struct platform_device_id *id = platform_get_device_id(pdev); int ret; char *chip_ver_str; @@ -407,7 +408,7 @@ static int it913x_probe(struct platform_device *pdev) dev->pdev = pdev; dev->regmap = pdata->regmap; dev->fe = pdata->fe; - dev->chip_ver = pdata->chip_ver; + dev->chip_ver = id->driver_data; dev->role = pdata->role; fe->tuner_priv = dev; @@ -445,6 +446,13 @@ static int it913x_remove(struct platform_device *pdev) return 0; } +static const struct platform_device_id it913x_id_table[] = { + {"it9133ax-tuner", 1}, + {"it9133bx-tuner", 2}, + {}, +}; +MODULE_DEVICE_TABLE(platform, it913x_id_table); + static struct platform_driver it913x_driver = { .driver = { .name = "it913x", @@ -452,6 +460,7 @@ static struct platform_driver it913x_driver = { }, .probe = it913x_probe, .remove = it913x_remove, + .id_table = it913x_id_table, }; module_platform_driver(it913x_driver); diff --git a/drivers/media/tuners/it913x.h b/drivers/media/tuners/it913x.h index aa18862..5df7653 100644 --- a/drivers/media/tuners/it913x.h +++ b/drivers/media/tuners/it913x.h @@ -29,21 +29,16 @@ * struct it913x_platform_data - Platform data for the it913x driver * @regmap: af9033 demod driver regmap. * @dvb_frontend: af9033 demod driver DVB frontend. - * @chip_ver: Used chip version. 1=IT9133 AX, 2=IT9133 BX. * @role: Chip role, single or dual configuration. */ struct it913x_platform_data { struct regmap *regmap; struct dvb_frontend *fe; - unsigned int chip_ver:2; #define IT913X_ROLE_SINGLE 0 #define IT913X_ROLE_DUAL_MASTER 1 #define IT913X_ROLE_DUAL_SLAVE 2 unsigned int role:2; }; -/* Backwards compatibility */ -#define it913x_config it913x_platform_data - #endif diff --git a/drivers/media/usb/dvb-usb-v2/af9035.c b/drivers/media/usb/dvb-usb-v2/af9035.c index d89d0d6..da29b6f 100644 --- a/drivers/media/usb/dvb-usb-v2/af9035.c +++ b/drivers/media/usb/dvb-usb-v2/af9035.c @@ -1495,6 +1495,7 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap) case AF9033_TUNER_IT9135_62: { struct platform_device *pdev; + const char *name; struct it913x_platform_data it913x_pdata = { .regmap = state->af9033_config[adap->id].regmap, .fe = adap->fe[0], @@ -1504,12 +1505,12 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap) case AF9033_TUNER_IT9135_38: case AF9033_TUNER_IT9135_51: case AF9033_TUNER_IT9135_52: - it913x_pdata.chip_ver = 1; + name = "it9133ax-tuner"; break; case AF9033_TUNER_IT9135_60: case AF9033_TUNER_IT9135_61: case AF9033_TUNER_IT9135_62: - it913x_pdata.chip_ver = 2; + name = "it9133bx-tuner"; break; } @@ -1523,8 +1524,7 @@ static int af9035_tuner_attach(struct dvb_usb_adapter *adap) } request_module("%s", "it913x"); - pdev = platform_device_register_data(&d->intf->dev, - "it913x", + pdev = platform_device_register_data(&d->intf->dev, name, PLATFORM_DEVID_AUTO, &it913x_pdata, sizeof(it913x_pdata));