From patchwork Wed Apr 15 21:14:17 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Prabhakar X-Patchwork-Id: 29195 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.72) (envelope-from ) id 1YiUdm-0006jf-8f; Wed, 15 Apr 2015 23:14:34 +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.76/mailfrontend-7) with esmtp id 1YiUdk-0008Cf-0f; Wed, 15 Apr 2015 23:14:33 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754329AbbDOVOZ (ORCPT + 1 other); Wed, 15 Apr 2015 17:14:25 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:33841 "EHLO mail-wi0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752040AbbDOVOZ (ORCPT ); Wed, 15 Apr 2015 17:14:25 -0400 Received: by widjs5 with SMTP id js5so120803798wid.1 for ; Wed, 15 Apr 2015 14:14:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=AOHNr/Ij6aA19iUOfK5MwMD+Nz0aueOuuwDmGOdjx9I=; b=nPiIPz5+a6XwjBaPUgPTXwBpRLuEwspGrHPlD69pDwUIDu6TNu1oEmfwqBlGCMmlIr 6Np5/fiClLMa8/dH5SrzAOqEjNs//Ww8ffbGeEu+xdXJTEiKZFDWte00bQMULMHHgwsX KcHyzznhC3R7Uqe7ScgzXOh4LI64DntrD1X6nirSmz6AK+N41mMNWD2d4dXvy8X1E3ml nwStoBRfxeObFdXVMNzIMnnY10pzk79crSlaPHknw/scefXjJjpbeEupLeKk4Lkk4ldy W0Lki1rveNmQ0RuEdoOonZsxq2MA9bkp4vMLnM8MJW7zt800y9/o0qAzOS4JuRvWCceA bJLA== X-Received: by 10.180.74.37 with SMTP id q5mr1521814wiv.59.1429132464042; Wed, 15 Apr 2015 14:14:24 -0700 (PDT) Received: from tango-charlie.Home ([90.201.72.116]) by mx.google.com with ESMTPSA id xy2sm7564660wjc.14.2015.04.15.14.14.22 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 15 Apr 2015 14:14:23 -0700 (PDT) From: Lad Prabhakar To: LMML , Hans Verkuil Cc: Sakari Ailus , "Lad, Prabhakar" Subject: [PATCH v2] media: i2c: ov2659: Use v4l2_of_alloc_parse_endpoint() Date: Wed, 15 Apr 2015 22:14:17 +0100 Message-Id: <1429132457-11342-1-git-send-email-prabhakar.csengg@gmail.com> X-Mailer: git-send-email 2.1.0 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: 2015.4.15.210620 X-PMX-Spam: Gauge=IIIIIIIII, Probability=9%, Report=' FORGED_FROM_GMAIL 0.1, MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DKIM_SIGNATURE 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CP_URI_IN_BODY 0, __FRAUD_BODY_WEBMAIL 0, __FRAUD_WEBMAIL 0, __FRAUD_WEBMAIL_FROM 0, __FROM_GMAIL 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __PHISH_SPEAR_STRUCTURE_1 0, __SANE_MSGID 0, __TO_MALFORMED_2 0, __URI_NO_WWW 0, __URI_NS , __YOUTUBE_RCVD 0' From: "Lad, Prabhakar" Instead of parsing the link-frequencies property in the driver, let v4l2_of_alloc_parse_endpoint() do it. Signed-off-by: Lad, Prabhakar Acked-by: Sakari Ailus --- Changes for v2: a: Ignoring nr_of_link_frequencies if greater then one and just using the first one. b: Included Ack from Sakari v1: https://patchwork.kernel.org/patch/6199991/ drivers/media/i2c/ov2659.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/media/i2c/ov2659.c b/drivers/media/i2c/ov2659.c index edebd11..04bb276 100644 --- a/drivers/media/i2c/ov2659.c +++ b/drivers/media/i2c/ov2659.c @@ -1340,8 +1340,8 @@ static struct ov2659_platform_data * ov2659_get_pdata(struct i2c_client *client) { struct ov2659_platform_data *pdata; + struct v4l2_of_endpoint *bus_cfg; struct device_node *endpoint; - int ret; if (!IS_ENABLED(CONFIG_OF) || !client->dev.of_node) return client->dev.platform_data; @@ -1350,18 +1350,27 @@ ov2659_get_pdata(struct i2c_client *client) if (!endpoint) return NULL; + bus_cfg = v4l2_of_alloc_parse_endpoint(endpoint); + if (IS_ERR(bus_cfg)) { + pdata = NULL; + goto done; + } + pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) goto done; - ret = of_property_read_u64(endpoint, "link-frequencies", - &pdata->link_frequency); - if (ret) { - dev_err(&client->dev, "link-frequencies property not found\n"); + if (!bus_cfg->nr_of_link_frequencies) { + dev_err(&client->dev, + "link-frequencies property not found or too many\n"); pdata = NULL; + goto done; } + pdata->link_frequency = bus_cfg->link_frequencies[0]; + done: + v4l2_of_free_endpoint(bus_cfg); of_node_put(endpoint); return pdata; }