From patchwork Mon Sep 29 07:44:19 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Olli Salonen X-Patchwork-Id: 26183 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1XYVdu-0007cS-Q9; Mon, 29 Sep 2014 09:45:10 +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.72/mailfrontend-8) with esmtp id 1XYVds-0000hS-lT; Mon, 29 Sep 2014 09:45:10 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751770AbaI2HpG (ORCPT + 1 other); Mon, 29 Sep 2014 03:45:06 -0400 Received: from mail-la0-f51.google.com ([209.85.215.51]:56858 "EHLO mail-la0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751688AbaI2HpF (ORCPT ); Mon, 29 Sep 2014 03:45:05 -0400 Received: by mail-la0-f51.google.com with SMTP id pv20so7682157lab.24 for ; Mon, 29 Sep 2014 00:45:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=DD0Tp/zmwWZJr0cNu2/hHdOj6t5Ysvh9X4ajbOS4+5w=; b=HkBEleC65w8s0K9LGsbDBRMN09ksvK66G9aKoPsU8TqhrN3Yf81YlYQn2g9BOpuYjG 7NywesMFL7Wqw5fWwUSWXQZxRXEmEew70ANHjYce8A7KL5iF91CaEj5tW/vKW26Oeb6M xa4Ymi57h1XNsyQ/sePGlXYSI6dIWMGWWWBy5WSS6HvKT7v5gtiqM8t0Cd89j7aHRBpn vpm5c0jjeuMpCAjuMrtpNBWp8Umv37q/J+3MrixCkVK8zwIhYVIxnNcBhXPMPIopXmW3 YhtvhPAH48pC7HYdMjeeKnYoLfxA9BLb8sgrehyiJKBR3CQvV3wIy/aXSr0meEaaXhnN CTlA== X-Gm-Message-State: ALoCoQn8i7d63B+Hd/42/Ng2f8FFyvwb4xx4iuer5k+Fzq9qy9Q/0Crgm+AYb1su61uDGYy9Re8S X-Received: by 10.112.13.132 with SMTP id h4mr35614594lbc.45.1411976702805; Mon, 29 Sep 2014 00:45:02 -0700 (PDT) Received: from devlin.trsqr.net (dsl-espbrasgw1-54f9ca-144.dhcp.inet.fi. [84.249.202.144]) by mx.google.com with ESMTPSA id o4sm4556112lao.32.2014.09.29.00.45.01 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 29 Sep 2014 00:45:02 -0700 (PDT) From: Olli Salonen To: linux-media@vger.kernel.org Cc: Olli Salonen Subject: [PATCH 4/5] cx23885: add I2C client for CI into state and handle unregistering Date: Mon, 29 Sep 2014 10:44:19 +0300 Message-Id: <1411976660-19329-4-git-send-email-olli.salonen@iki.fi> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1411976660-19329-1-git-send-email-olli.salonen@iki.fi> References: <1411976660-19329-1-git-send-email-olli.salonen@iki.fi> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2014.9.29.73319 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1500_1599 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __DATE_TZ_RU 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS , __YOUTUBE_RCVD 0' If the CI chip has an I2C driver, we need to store I2C client into state. Signed-off-by: Olli Salonen Reviewed-by: Antti Palosaari --- drivers/media/pci/cx23885/cx23885-dvb.c | 7 +++++++ drivers/media/pci/cx23885/cx23885.h | 1 + 2 files changed, 8 insertions(+) diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c index d327459..cc88997 100644 --- a/drivers/media/pci/cx23885/cx23885-dvb.c +++ b/drivers/media/pci/cx23885/cx23885-dvb.c @@ -1923,6 +1923,13 @@ int cx23885_dvb_unregister(struct cx23885_tsport *port) * implement MFE support. */ + /* remove I2C client for CI */ + client = port->i2c_client_ci; + if (client) { + module_put(client->dev.driver->owner); + i2c_unregister_device(client); + } + /* remove I2C client for tuner */ client = port->i2c_client_tuner; if (client) { diff --git a/drivers/media/pci/cx23885/cx23885.h b/drivers/media/pci/cx23885/cx23885.h index 1792d1a..c35ba2d 100644 --- a/drivers/media/pci/cx23885/cx23885.h +++ b/drivers/media/pci/cx23885/cx23885.h @@ -297,6 +297,7 @@ struct cx23885_tsport { struct i2c_client *i2c_client_demod; struct i2c_client *i2c_client_tuner; + struct i2c_client *i2c_client_ci; int (*set_frontend)(struct dvb_frontend *fe); int (*fe_set_voltage)(struct dvb_frontend *fe,