Received: by 2002:a05:6358:16cc:b0:ea:6187:17c9 with SMTP id r12csp6042347rwl; Mon, 9 Jan 2023 03:31:40 -0800 (PST) X-Google-Smtp-Source: AMrXdXvCCOUhwPh8b2sFMeKxUzF0wIEuAN052mPspooHqM56hYMKKEUr5eesLOT7ELwCVQQLyQr9 X-Received: by 2002:a17:907:c012:b0:7c0:e80e:5aed with SMTP id ss18-20020a170907c01200b007c0e80e5aedmr58807097ejc.16.1673263900030; Mon, 09 Jan 2023 03:31:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673263900; cv=none; d=google.com; s=arc-20160816; b=qS8aOxPTBZuuPkOkse/mD07OKeMWDIo+Da2pL8rhTr6JKkJn3D/U8OnPpAviiFFFqC iIntXa8fJVD5YSsefW1wdY3U0Fob4Zwd5n5sMJ61ii+p7+PCYDODCT4HPb7PvYXymxoz mvnL9mG5/PfojgkSdGVAbqUeTaGwWRthWugfeXF/vr4yih1t94B/TFpYSQQMgt5OJ3ZE Bws0DHas5lhN7HyK30Ah61QM40ySSbJ7iiVm+AEUZtd2ukBiYOpCq4U9xGLUSOQIB4DX nc7wSOwy2GTWA4Kz/xS/lxrZB7G14DgzJrYNwxEGIN/1Dp0MWuz78NBosj+XHRoRWmhf v19g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=bok+UAcbfyiFoFTPt0OJ4ioyOIgenZZjVdl0L22fIvQ=; b=rsFDXPp3Gww2okWpkpDuC3G1SnozNdkok70b4reM+HCnM1/jRgY/Ip1WOWzuaSV+r/ 3aMJcTOjzReAwjLWfM+SoxjOM3tZozY8Kz2xoLdl1LLb3fSiponHG/XR61NjrhfQ6cvL m5nbMrcc6VDsijo6hqjGfPRFRzlUTxIZKSoOkwvmzCLebFDctOd8D5JnTGbKlncakz1i 9IUQ6WE8ztMyWf++EAXepg+rXVKAe3kaHCCBfP/aCxhe+5+xk571Debqt3CW3s4AlSow pgRzos4LPeFKav22DzBC3aFmDqMR1dIcUjeGwYl7xD0scV4d36VQzZtv08A1FKWrwJUm pTUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T2nM4If8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h7-20020a50ed87000000b0048e9f2924e9si7580027edr.564.2023.01.09.03.31.25; Mon, 09 Jan 2023 03:31:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T2nM4If8; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229658AbjAILHT (ORCPT + 55 others); Mon, 9 Jan 2023 06:07:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230455AbjAILHR (ORCPT ); Mon, 9 Jan 2023 06:07:17 -0500 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BBC5D2FE; Mon, 9 Jan 2023 03:07:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673262436; x=1704798436; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=PivH5brPCWV4adR16b5UTRwScK+2Zd+P4HCP3dlhWB4=; b=T2nM4If83mlWPLwdH8Ishd5MpehT5UDHG8DCxIzWpfm+GDGc+BfNjcst k5Af3fVJswJD/l3QIoWYpjfzXGVzPLho0soIjGfkkKnSz4XVYqYA+tgRk Fm5idxEwKZIcIqRzAl/fmBGafvbYD2fioLsChTAtOFaXYVjwiEW3/3CXq 5em/k/gQZyDb9ZFBYiHwdlt+BhqyKrte8XQeNQF49ZX29YmYrRld/oc9U g4L8dVpkNwLm4RK7LvCjrNk1/6x/an3aNMQ4Bmqf5oaJwIaYuWE9yvIsM eiIiqSCbdUCBAJzcD++lKRwbwzQ/6h3zJMzTO8yd/gq2+kGUGv2S0Ir5p Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10584"; a="324856032" X-IronPort-AV: E=Sophos;i="5.96,311,1665471600"; d="scan'208";a="324856032" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jan 2023 03:07:15 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10584"; a="780652007" X-IronPort-AV: E=Sophos;i="5.96,311,1665471600"; d="scan'208";a="780652007" Received: from smile.fi.intel.com ([10.237.72.54]) by orsmga004.jf.intel.com with ESMTP; 09 Jan 2023 03:07:09 -0800 Received: from andy by smile.fi.intel.com with local (Exim 4.96) (envelope-from ) id 1pEpze-006MFL-1N; Mon, 09 Jan 2023 13:07:06 +0200 Date: Mon, 9 Jan 2023 13:07:06 +0200 From: Andy Shevchenko To: Laurent Pinchart Cc: Tomi Valkeinen , linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Wolfram Sang , Luca Ceresoli , Matti Vaittinen , Mauro Carvalho Chehab , Peter Rosin , Liam Girdwood , Mark Brown , Sakari Ailus , Michael Tretter , Shawn Tu , Hans Verkuil , Mike Pagano , Krzysztof =?utf-8?Q?Ha=C5=82asa?= , Marek Vasut Subject: Re: [PATCH v6 7/8] media: i2c: add DS90UB913 driver Message-ID: References: <20230105140307.272052-1-tomi.valkeinen@ideasonboard.com> <20230105140307.272052-8-tomi.valkeinen@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Jan 08, 2023 at 06:06:34AM +0200, Laurent Pinchart wrote: > On Thu, Jan 05, 2023 at 04:03:06PM +0200, Tomi Valkeinen wrote: ... > > + scnprintf(priv->gpio_chip_name, sizeof(priv->gpio_chip_name), "%s", > > + dev_name(dev)); > > I think you can use strscpy(). Actually I'm not sure we even need that variable. What is the lifetime of the dev and gc? I believe they are the same or gc's one is shorter, hence dev_name() can be used directly, no? ... > > + gc->of_node = priv->client->dev.of_node; We don't have of_node anymore in gc. And if the parent device is set, you can drop this line (it will work with older and newer kernels. Otherwise, use fwnode. ... > > + ret = gpiochip_add_data(gc, priv); > > + if (ret) { > > + dev_err(dev, "Failed to add GPIOs: %d\n", ret); > > + return ret; > > + } > > + > > + return 0; return ret; ... > > + ep_node = of_graph_get_endpoint_by_regs(dev->of_node, 0, 0); Why this can't be fwnode_handle from day 1? > > + if (!ep_node) { > > + dev_err(dev, "No graph endpoint\n"); > > + return -ENODEV; > > + } ... > > + ep_np = of_graph_get_endpoint_by_regs(np, 0, 0); > > + if (!ep_np) { > > + dev_err(dev, "OF: no endpoint\n"); > > + return -ENOENT; > > + } Ditto. > > + ret = of_property_read_u32(ep_np, "pclk-sample", &priv->pclk_polarity); > > + > > + of_node_put(ep_np); Ditto. ... > > + return ret; > > + } > > + > > + return 0; return ret; ... > > + priv->plat_data = dev_get_platdata(&client->dev); > > + if (!priv->plat_data) { > > + dev_err(dev, "Platform data missing\n"); > > + return -ENODEV; return dev_err_probe(...); ? > > + } ... > > + priv->regmap = devm_regmap_init_i2c(client, &ub913_regmap_config); > > + if (IS_ERR(priv->regmap)) { > > + dev_err(dev, "Failed to init regmap\n"); > > + return PTR_ERR(priv->regmap); Ditto? > > + } ... > > +#ifdef CONFIG_OF > > The driver depends on CONFIG_OF so I would drop this, as well as the > of_match_ptr(). Even if there is no OF dependency, these ugly ifdeffery with of_match_ptr() are error prone (compilation wise). ... > > +static const struct of_device_id ub913_dt_ids[] = { > > + { .compatible = "ti,ds90ub913a-q1", }, Inner comma is not needed. > > + {} > > +}; ... > > +static struct i2c_driver ds90ub913_driver = { > > + .probe_new = ub913_probe, > > + .remove = ub913_remove, > > + .id_table = ub913_id, > > + .driver = { > > + .name = "ds90ub913a", > > + .owner = THIS_MODULE, This is something like for 5+ years is not needed, as the below macro sets it for you. > > + .of_match_table = of_match_ptr(ub913_dt_ids), > > + }, > > +}; > > + Redundant blank line. > > +module_i2c_driver(ds90ub913_driver); -- With Best Regards, Andy Shevchenko