From patchwork Wed Feb 15 13:42:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 57562 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp201986wrn; Wed, 15 Feb 2023 05:53:44 -0800 (PST) X-Google-Smtp-Source: AK7set/Yu/SlOQYLa9caqtePb/15hlpZ3nCY6xkkKNofWc7SICTzm2mB/kxOP13EnR+fUvCDs1YY X-Received: by 2002:a17:906:914d:b0:8b1:3135:a63b with SMTP id y13-20020a170906914d00b008b13135a63bmr2319722ejw.9.1676469223960; Wed, 15 Feb 2023 05:53:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676469223; cv=none; d=google.com; s=arc-20160816; b=S1RRzbmCT7NNiBClIftnymyIbYQB1go/OPAo+p0fUoYUTZXsQBlusJwT0mdIkc8xzv NYirlbobAKe9qVpUvltqz6wOmuiUJfZfRgMNlAxbPibwzamNUc+T1Swv0+eiwTQNiQNV p+X/HyY/a8qpYWie6bY63MW5KhzdWI0uxrZP7pMRvjf6sFeLHnDl9nkWA4Z7jaB1bPWR ohRyjY7wYQV5UO7AFVQ6rDClXog8j963qtNdxUmNxZDuB/jt+ebvRHqD5Y+/cTIZgS7d e+45xZtdqn9ZGK8L0X3VLyd32DgU0n+l1zPUyBGkihXmDbOEFbXSTPVjbrctSz3gXBEf Bl6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WudAVuzrGfoFimw+/1MgdJvay5N25FHFVx6WpZE6nug=; b=iGYuOp3j8oBI8TaZw9P2VrL7LsBc18m8/+vgg+5iz2Et7PDtlXX9Lgwl7DFIAWDXe/ 2Me2NfRoKGxY4EQb/4jT7KS3gLiTpcRdwmYylxAd3QklLDpaIMjuiPcaBthHQwFKUuve e3Blf7PSELgc8QCJpTExuYeDwSL1qOo5BJ915dt9NlPyLbaYPOTd2J01pznG72EoAxn4 17k1gL5kNRCMFJ63IiiYYHi6bK8SWR4sCRl3LvlBgT36sj7MtBMlkWcqMnssxUk7ISRi cpOi8BjN97dOSrLQNoSqX5CPz5NHurPFX5thsuhq1ot/NPR+QIvmeaYLJYrfpWWTg6pn /5Og== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=hBGkfLsm; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j29-20020a170906105d00b008b14b9286aesi1085008ejj.750.2023.02.15.05.53.20; Wed, 15 Feb 2023 05:53:43 -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=hBGkfLsm; 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 S229714AbjBONmV (ORCPT + 99 others); Wed, 15 Feb 2023 08:42:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229518AbjBONmL (ORCPT ); Wed, 15 Feb 2023 08:42:11 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5E5834C1B; Wed, 15 Feb 2023 05:42:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676468530; x=1708004530; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OfvVPmKieXxT2rYuS54QMKMYJwHh1yFcw/O7wIHB3jw=; b=hBGkfLsmsnwREYANmtD4UxaiFjrsoKaW13ZpCrHpa8l7BZuWr84p9ili ypOAvDI6TDWDSjs5yTTXKXyFrVZQ8NnE7Na/up456fd9IeNhFYTdT+SUT TbNYPixEqpF65j+Fyg1nHpcGj3Us/Gh+km5haIFsuUpGffs/bMD8ICc8z QdqG9OYAiCB/9PHJeIM7zXPKourb3pG5f1QVyjqP3gATxgeXQpazqzf1O 2/nyPFt7F7fYw5qSH+v5sycgSqKvuCwKIHt45urN24AqNGdg+PbYJ55SR PnoYPsCHWJMaeHK7VR03nYkuhZ0ydIM29bougZHBaJBlPTYSPxp7D0T3e w==; X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="332734622" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="332734622" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 05:42:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="812450032" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="812450032" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 15 Feb 2023 05:42:04 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 4999593; Wed, 15 Feb 2023 15:42:44 +0200 (EET) From: Andy Shevchenko To: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Andy Shevchenko Subject: [PATCH v3 1/5] pinctrl: at91: use devm_kasprintf() to avoid potential leaks (part 2) Date: Wed, 15 Feb 2023 15:42:38 +0200 Message-Id: <20230215134242.37618-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> References: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757905393067297900?= X-GMAIL-MSGID: =?utf-8?q?1757905393067297900?= Use devm_kasprintf() instead of kasprintf() to avoid any potential leaks. At the moment drivers have no remove functionality hence there is no need for fixes tag. While at it, switch to use devm_kasprintf_strarray(). Signed-off-by: Andy Shevchenko Reviewed-by: Claudiu Beznea Tested-by: Claudiu Beznea --- drivers/pinctrl/pinctrl-at91.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 2e7debb905d5..5c01765c7a2a 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -18,6 +18,7 @@ #include #include #include +#include /* Since we request GPIOs from ourself */ #include @@ -1371,6 +1372,7 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev, static int at91_pinctrl_probe(struct platform_device *pdev) { + struct device *dev = &pdev->dev; struct at91_pinctrl *info; struct pinctrl_pin_desc *pdesc; int ret, i, j, k; @@ -1394,9 +1396,19 @@ static int at91_pinctrl_probe(struct platform_device *pdev) return -ENOMEM; for (i = 0, k = 0; i < gpio_banks; i++) { + char **names; + + names = devm_kasprintf_strarray(dev, "pio", MAX_NB_GPIO_PER_BANK); + if (!names) + return -ENOMEM; + for (j = 0; j < MAX_NB_GPIO_PER_BANK; j++, k++) { + char *name = names[j]; + + strreplace(name, '-', i + 'A'); + pdesc->number = k; - pdesc->name = kasprintf(GFP_KERNEL, "pio%c%d", i + 'A', j); + pdesc->name = name; pdesc++; } } @@ -1797,7 +1809,8 @@ static const struct of_device_id at91_gpio_of_match[] = { static int at91_gpio_probe(struct platform_device *pdev) { - struct device_node *np = pdev->dev.of_node; + struct device *dev = &pdev->dev; + struct device_node *np = dev->of_node; struct at91_gpio_chip *at91_chip = NULL; struct gpio_chip *chip; struct pinctrl_gpio_range *range; @@ -1866,16 +1879,14 @@ static int at91_gpio_probe(struct platform_device *pdev) chip->ngpio = ngpio; } - names = devm_kcalloc(&pdev->dev, chip->ngpio, sizeof(char *), - GFP_KERNEL); - + names = devm_kasprintf_strarray(dev, "pio", chip->ngpio); if (!names) { ret = -ENOMEM; goto clk_enable_err; } for (i = 0; i < chip->ngpio; i++) - names[i] = devm_kasprintf(&pdev->dev, GFP_KERNEL, "pio%c%d", alias_idx + 'A', i); + strreplace(names[i], '-', alias_idx + 'A'); chip->names = (const char *const *)names; From patchwork Wed Feb 15 13:42:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 57561 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp201985wrn; Wed, 15 Feb 2023 05:53:44 -0800 (PST) X-Google-Smtp-Source: AK7set+/nMap7Wg8GalMaFxeP5hYiQFs6sJuaOqqpcEj/LS6UR+rBFdVEXvCNnyc7EE7gr1/V9Dl X-Received: by 2002:a17:906:2c4c:b0:8b1:16b3:303b with SMTP id f12-20020a1709062c4c00b008b116b3303bmr2180783ejh.43.1676469223848; Wed, 15 Feb 2023 05:53:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676469223; cv=none; d=google.com; s=arc-20160816; b=C7JbnTDDzF7ORKeb0oM4v22M7osAaFyR8Mx+S8b+puRpodytCyJ9K9jjVZWn8zKjkK WBvHJcgUgu5NuVKu8XQ7cxrG9H84H9yCiPCcaBQnexyZPRr6Fm1Pe7gl+TWSn62BhEPU uMUKxdMpiPZgyBVlX684/sCzXvmKkADBJA44B/tQ+2CyiLaWR2GWh7kglK8DeLqG1XDX mCSSLuJuKOo6xagIZdenwXinEvNJ/h10uAm6tyTufhJSum7C1kvx2BDqiBThD44YyseS 59N4ZIYyL00NhIMtKHNxelvyu5TSE13PQF8WAN5kCTm8iyWkNJnh91hL9H7guLTekKJf IJlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aiPpTaNwZ+SlVNF9fC/PnOkLrP5vOW5zG3sNDVor1Jk=; b=LOtu56fGLAY7qiKHJGypfJ4EtMISLdzcRxj32oetSC7K9pjaSDQ6UgSEy/hapv4YVR tyjPZ57T4Rs55h9o8L7N12bCsM07vGWDjpbpQR9HZGQyAZ6wONK/+aASe6MnSLhWvBjZ Fz3rH+jSR6QfOTUnpM6Us8kZyDVpYyHhygX063bTIr+nrxy/eCc3p+JHNKlaru44CDTJ XcoHdr5kX9Axnqm2o9CV+Z90A1HRxi/rYqd6yk4tG9n98GWr+lQn5jg5TaNQ3Ah1FaJr 7QlKmovuVKpuwBbomnmXsDe9stvtFVFqEgYJSx2BmxY145fDApykzghCkt3y2nIwGPna EpYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=PC6Oegvi; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d7-20020aa7c1c7000000b004ab4ab4c512si17348312edp.140.2023.02.15.05.53.16; Wed, 15 Feb 2023 05:53:43 -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=PC6Oegvi; 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 S230044AbjBONmS (ORCPT + 99 others); Wed, 15 Feb 2023 08:42:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229789AbjBONmL (ORCPT ); Wed, 15 Feb 2023 08:42:11 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F098303DE; Wed, 15 Feb 2023 05:42:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676468530; x=1708004530; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9qzTqX1sMvCGDOOgeEkNzNV/AlsmIikK7nhU2r1jSzs=; b=PC6OegviLdS3ifY6mmEURo1n3MvnZbdzZLrYKqfrNHT29WyrIss/3RK5 fq6YPBTjSEGFdRLCZLQhhZjwE4MtfdUUCLkflu7US3NtQ9y5GEiIPZVmB AxwGJ1RrIDii4sZ0vyXvPsZnp31d3iVfS9flpz51q/30HiHLT13XTofUh 5xXvEJMu4ndZboBzfn6oh8uXhXXULmsjG8HHoWpsEe0+QxtC8QoLKF3Th pb7TyNBZZewudP4yivqF9C6shboK8tHJeUIYDNEEFNp4Jx6hIHjXX9sgb Rrmsen9xEtots4x47ACFVec9rvMJ8LZpa3+dmqOLP94t2R+XohxPvY7Zl A==; X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="358849431" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="358849431" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 05:42:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="793502740" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="793502740" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga004.jf.intel.com with ESMTP; 15 Feb 2023 05:42:04 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 54DF31C5; Wed, 15 Feb 2023 15:42:44 +0200 (EET) From: Andy Shevchenko To: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Andy Shevchenko Subject: [PATCH v3 2/5] pinctrl: at91: Don't mix non-devm calls with devm ones Date: Wed, 15 Feb 2023 15:42:39 +0200 Message-Id: <20230215134242.37618-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> References: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757905392547509397?= X-GMAIL-MSGID: =?utf-8?q?1757905392547509397?= Replace devm_clk_get() by devm_clk_get_enabled() and drop unneeded code pieces. This will make sure we keep the ordering of the resource allocation correct. Signed-off-by: Andy Shevchenko Reviewed-by: Claudiu Beznea Tested-by: Claudiu Beznea --- drivers/pinctrl/pinctrl-at91.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 5c01765c7a2a..6d9015ed8a3b 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -1849,19 +1849,13 @@ static int at91_gpio_probe(struct platform_device *pdev) at91_chip->pioc_virq = irq; at91_chip->pioc_idx = alias_idx; - at91_chip->clock = devm_clk_get(&pdev->dev, NULL); + at91_chip->clock = devm_clk_get_enabled(&pdev->dev, NULL); if (IS_ERR(at91_chip->clock)) { dev_err(&pdev->dev, "failed to get clock, ignoring.\n"); ret = PTR_ERR(at91_chip->clock); goto err; } - ret = clk_prepare_enable(at91_chip->clock); - if (ret) { - dev_err(&pdev->dev, "failed to prepare and enable clock, ignoring.\n"); - goto clk_enable_err; - } - at91_chip->chip = at91_gpio_template; at91_chip->id = alias_idx; @@ -1882,7 +1876,7 @@ static int at91_gpio_probe(struct platform_device *pdev) names = devm_kasprintf_strarray(dev, "pio", chip->ngpio); if (!names) { ret = -ENOMEM; - goto clk_enable_err; + goto err; } for (i = 0; i < chip->ngpio; i++) @@ -1915,8 +1909,6 @@ static int at91_gpio_probe(struct platform_device *pdev) return 0; gpiochip_add_err: -clk_enable_err: - clk_disable_unprepare(at91_chip->clock); err: dev_err(&pdev->dev, "Failure %i for GPIO %i\n", ret, alias_idx); From patchwork Wed Feb 15 13:42:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 57560 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp201930wrn; Wed, 15 Feb 2023 05:53:38 -0800 (PST) X-Google-Smtp-Source: AK7set91i7xnYfg0eyMryTpqGZEvG/4C23Sik+X5hTLlAKA68bwcPIG5W891Pf43wITuJkDVjObS X-Received: by 2002:a17:906:b17:b0:88c:a6c7:af55 with SMTP id u23-20020a1709060b1700b0088ca6c7af55mr2391288ejg.28.1676469218038; Wed, 15 Feb 2023 05:53:38 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676469218; cv=none; d=google.com; s=arc-20160816; b=WZvDMJeuD5V/BHkNwGhVsJnUTNyvVs+UdyNDiTWyAlTXcVL+szkvs4CjBPirb5+sYz oYNTKSqzZB8qM+fiuhLb4/mmZwTo1fzKdf5JI4Pun761wIQDaGwr0qcAPK0wqqUuPalE toY8gBUfLhUSX4G6OXcdVw6OO7M6OhGxqwDMMofakLwUs/hTFFk7XsBP1hZKbfeY+bI9 oLlDPEs1hrmTvcydcaC7hliKnbPJq6bcvo9aUoosTQDWsS4mUgrtEPWbvGtRSb/1WdAF tAqRP3W7xXprsDFG7t3ZURmhxA4rX3okQRx4dCLUYW2De3JBOny6CvXzY21HISpC9rZF tJ/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=WIBBRqCHoP/Zm/r/4xHomDg1XQ3JFeUYwgrHkUG4cYo=; b=nfoecdbbHXKZjGSBjKlakvVSvl9MiRkJHxA4YDDr5oxWNabSqvU8Bh1rl+TrQhpqkz yxaRPqzJMN/ORYo5hTA7FiBZQzCMjTUP22dSHj5n5DTPkUq1lBc+LOuWmPU/BD/amKFp TqcbF0vcjFGLwHecamymLHTh3De15CZzDnYx8FDt248zP9+aUhwuA45uOLoXcK63ZS1K /iB3bwlVPEtA0d6gUAK29RbF0/3z4GwN+NwlZxxYcMsYgHfzSt55qJLPBIoe6Od1NqLI SCRvBEQJClp8M4f0YawF5CVJ6tWCg2o1m673y1i0QK/I703Zd3Wa+aiPosPDAu94hnPX 0zLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=MyezgMN8; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j12-20020aa7c0cc000000b004acbba8412fsi13553628edp.438.2023.02.15.05.53.12; Wed, 15 Feb 2023 05:53:38 -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=MyezgMN8; 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 S230016AbjBONmP (ORCPT + 99 others); Wed, 15 Feb 2023 08:42:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229623AbjBONmK (ORCPT ); Wed, 15 Feb 2023 08:42:10 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 333E42E0D5; Wed, 15 Feb 2023 05:42:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676468529; x=1708004529; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=PGZTgxIhMsUzgY8FxmNXbX88JsjVT1Ty1RH/GYeJM58=; b=MyezgMN8ydcaGJwa2s4DsbajGCN0+25Bf5B2e+0GRzliKRMfhuvhXom8 lSPEBY1Z2CJObiIbR+AO3GvQ3Kq1Pdfd8etMAU3yMar67syVz6QeQgD/O tWWymNhQt8YuidiIDczTI0lCiz91Mkq80ck9IqvYcZ3gf5BBa4tVL78ps CsuRg74CLw539P/frl6Tw/jTq4Aua2rm9duVWBotMUKu1WbgiCLa8dMqW MDP9+X/DnIonxtl6IZxhss2LAwfNq8YZZE2xc3LqoFbpmhQJSsQkvSDTZ rOLjNGuBG1P5+CD6uNB0LQOwuMCHNzFtHhktlzs9a2QssjS+mbASagrvL Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="358849426" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="358849426" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 05:42:07 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="793502741" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="793502741" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga004.jf.intel.com with ESMTP; 15 Feb 2023 05:42:04 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 5F2E2210; Wed, 15 Feb 2023 15:42:44 +0200 (EET) From: Andy Shevchenko To: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Andy Shevchenko Subject: [PATCH v3 3/5] pinctrl: at91: Use of_device_get_match_data() Date: Wed, 15 Feb 2023 15:42:40 +0200 Message-Id: <20230215134242.37618-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> References: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757905386631478861?= X-GMAIL-MSGID: =?utf-8?q?1757905386631478861?= Use of_device_get_match_data() to simplify the code. Signed-off-by: Andy Shevchenko Reviewed-by: Claudiu Beznea Tested-by: Claudiu Beznea --- drivers/pinctrl/pinctrl-at91.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 6d9015ed8a3b..055a88b2dacc 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -1304,8 +1304,7 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev, return -ENODEV; info->dev = &pdev->dev; - info->ops = (const struct at91_pinctrl_mux_ops *) - of_match_device(at91_pinctrl_of_match, &pdev->dev)->data; + info->ops = of_device_get_match_data(dev); at91_pinctrl_child_count(info, np); /* @@ -1844,8 +1843,7 @@ static int at91_gpio_probe(struct platform_device *pdev) goto err; } - at91_chip->ops = (const struct at91_pinctrl_mux_ops *) - of_match_device(at91_gpio_of_match, &pdev->dev)->data; + at91_chip->ops = of_device_get_match_data(dev); at91_chip->pioc_virq = irq; at91_chip->pioc_idx = alias_idx; From patchwork Wed Feb 15 13:42:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 57559 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp201805wrn; Wed, 15 Feb 2023 05:53:21 -0800 (PST) X-Google-Smtp-Source: AK7set/CV5jduc1DZGqMc9tOTWXw1IPl19mqAYVysMMDndaGTZw7o4I72E8ZZzpm4bYDj7sSWs1Q X-Received: by 2002:a17:90a:c782:b0:233:fb7d:845a with SMTP id gn2-20020a17090ac78200b00233fb7d845amr3086604pjb.4.1676469201319; Wed, 15 Feb 2023 05:53:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676469201; cv=none; d=google.com; s=arc-20160816; b=xDDWcdYMH+oSFx6Tiesq0/v2LtP92ZE5ia/whf1KEspSKPHgpOy/3lVXAUwk3zVjwh 7qsI7QlV3faNNSBywHcGltjpbdtkxR3RQpX2Ew7LoLA8eu/AA2L118NEnl7iNBxCrCGC OPU2f3mIX6z92Fjh9Ry/TeiMzVKSGAjDL1opoXxpjB7Us88SkAjcTGMagbaAyuu4ou/b yI9vvn30K1tW90b388Deg+vAEJsWL30bBnRvinbfMsy1msXh1O9G5ADdUu/a/Z3CFiiY v8prcTG+6fjKFi7sZEhX1m7Nyl1J0ioTH63ss5BdcKYKgvb3Gp60X6PDTOppCtH9xXt/ o8zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=kqJN06gRwzinradxSE53eCBVwL8JuLOqN/X4izxGsQI=; b=qG4MfzNY/MGfHHwl8e29U8juuMEJtg8pwFPAqMvQlAe8cg9WU1XEehCaf7SEM7I06i XO4CbMjTC+GfR/eJB0OhKf28neByETwDImksb4ycfZ/Nk/6yCjkKHX4UFvvm158TvCsp 9Elzn9ILMBIWpeCILzY/ILIOlbrQdkIKFhhDjSa0hfWfMbf8CURDr8kNjA+PCkrNTYaL Yubp2fwEXTBkges7FKc69doM5Cc5I8h4npHfGJ8iCgxegtzJ/UjbqyDj/bsQla0KCS0A Cre6jHjJAlef//udCR3+SU8RZkmVlVk7kZ/5QQkkQR5H2sl4vtnAl5zcWeR5MJygH7UB Cilw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lo1xfOfq; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d23-20020a17090ad99700b0021918bc9a47si1843386pjv.174.2023.02.15.05.53.07; Wed, 15 Feb 2023 05:53:21 -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=lo1xfOfq; 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 S229679AbjBONmK (ORCPT + 99 others); Wed, 15 Feb 2023 08:42:10 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59960 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229518AbjBONmJ (ORCPT ); Wed, 15 Feb 2023 08:42:09 -0500 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 748E7305F5; Wed, 15 Feb 2023 05:42:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676468527; x=1708004527; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=gMKeJvWpmtoiaMn2I8gXdst5FiDonPYpqv3saTRG0Wc=; b=lo1xfOfqhB7+H4w8eTjdAbJkrPjHbrXTiwSFZCRD3EUOB8h34nWyq+Zf PLSToa9Iy9n0ANMEcvpkDQr0Mqsmw5u4AnXWSiziqRXj8bBeizMnZFLZ1 aDtodphbNDIftNQdqPTEUubIPzHfoWoEpP6FwEEIx6aU7MEsOR4IJkJ9c zoqf03BEtLhHOkN9lVJNs4VbjXCkKrfpHNYIm+NEi1d1vOtWnuWGMHC/o lq0LJV9QBwDhinK0yT4LCgXJ2+nAaYuXAOiHvyO3IbiB7ZUKtaw9Kq7Aj pInbp+9ZNWyztUdmLf2F/29Dg5Ea7+VM7LtE5IzVE2q3iWRJPuEvzEPaU A==; X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="358849416" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="358849416" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 05:42:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="793502742" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="793502742" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga004.jf.intel.com with ESMTP; 15 Feb 2023 05:42:04 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 674A7252; Wed, 15 Feb 2023 15:42:44 +0200 (EET) From: Andy Shevchenko To: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Andy Shevchenko Subject: [PATCH v3 4/5] pinctrl: at91: Use dev_err_probe() instead of custom messaging Date: Wed, 15 Feb 2023 15:42:41 +0200 Message-Id: <20230215134242.37618-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> References: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757905369198955037?= X-GMAIL-MSGID: =?utf-8?q?1757905369198955037?= The custom message has no value except printing the error code, the same does dev_err_probe(). Let's use the latter for the sake of unification. Note that some APIs already have messaging in them and some simply do not require the current noise. Signed-off-by: Andy Shevchenko Reviewed-by: Claudiu Beznea Tested-by: Claudiu Beznea --- drivers/pinctrl/pinctrl-at91.c | 64 +++++++++++----------------------- 1 file changed, 21 insertions(+), 43 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 055a88b2dacc..08f88403affb 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -1294,10 +1294,11 @@ static const struct of_device_id at91_pinctrl_of_match[] = { static int at91_pinctrl_probe_dt(struct platform_device *pdev, struct at91_pinctrl *info) { + struct device *dev = &pdev->dev; int ret = 0; int i, j, ngpio_chips_enabled = 0; uint32_t *tmp; - struct device_node *np = pdev->dev.of_node; + struct device_node *np = dev->of_node; struct device_node *child; if (!np) @@ -1360,9 +1361,8 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev, continue; ret = at91_pinctrl_parse_functions(child, info, i++); if (ret) { - dev_err(&pdev->dev, "failed to parse function\n"); of_node_put(child); - return ret; + return dev_err_probe(dev, ret, "failed to parse function\n"); } } @@ -1415,11 +1415,8 @@ static int at91_pinctrl_probe(struct platform_device *pdev) platform_set_drvdata(pdev, info); info->pctl = devm_pinctrl_register(&pdev->dev, &at91_pinctrl_desc, info); - - if (IS_ERR(info->pctl)) { - dev_err(&pdev->dev, "could not register AT91 pinctrl driver\n"); - return PTR_ERR(info->pctl); - } + if (IS_ERR(info->pctl)) + return dev_err_probe(dev, PTR_ERR(info->pctl), "could not register AT91 pinctrl driver\n"); /* We will handle a range of GPIO pins */ for (i = 0; i < gpio_banks; i++) @@ -1820,39 +1817,28 @@ static int at91_gpio_probe(struct platform_device *pdev) char **names; BUG_ON(alias_idx >= ARRAY_SIZE(gpio_chips)); - if (gpio_chips[alias_idx]) { - ret = -EBUSY; - goto err; - } + if (gpio_chips[alias_idx]) + return dev_err_probe(dev, -EBUSY, "%d slot is occupied.\n", alias_idx); irq = platform_get_irq(pdev, 0); - if (irq < 0) { - ret = irq; - goto err; - } + if (irq < 0) + return irq; at91_chip = devm_kzalloc(&pdev->dev, sizeof(*at91_chip), GFP_KERNEL); - if (!at91_chip) { - ret = -ENOMEM; - goto err; - } + if (!at91_chip) + return -ENOMEM; at91_chip->regbase = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(at91_chip->regbase)) { - ret = PTR_ERR(at91_chip->regbase); - goto err; - } + if (IS_ERR(at91_chip->regbase)) + return PTR_ERR(at91_chip->regbase); at91_chip->ops = of_device_get_match_data(dev); at91_chip->pioc_virq = irq; at91_chip->pioc_idx = alias_idx; at91_chip->clock = devm_clk_get_enabled(&pdev->dev, NULL); - if (IS_ERR(at91_chip->clock)) { - dev_err(&pdev->dev, "failed to get clock, ignoring.\n"); - ret = PTR_ERR(at91_chip->clock); - goto err; - } + if (IS_ERR(at91_chip->clock)) + return dev_err_probe(dev, PTR_ERR(at91_chip->clock), "failed to get clock, ignoring.\n"); at91_chip->chip = at91_gpio_template; at91_chip->id = alias_idx; @@ -1865,17 +1851,15 @@ static int at91_gpio_probe(struct platform_device *pdev) if (!of_property_read_u32(np, "#gpio-lines", &ngpio)) { if (ngpio >= MAX_NB_GPIO_PER_BANK) - pr_err("at91_gpio.%d, gpio-nb >= %d failback to %d\n", - alias_idx, MAX_NB_GPIO_PER_BANK, MAX_NB_GPIO_PER_BANK); + dev_err(dev, "at91_gpio.%d, gpio-nb >= %d failback to %d\n", + alias_idx, MAX_NB_GPIO_PER_BANK, MAX_NB_GPIO_PER_BANK); else chip->ngpio = ngpio; } names = devm_kasprintf_strarray(dev, "pio", chip->ngpio); - if (!names) { - ret = -ENOMEM; - goto err; - } + if (!names) + return -ENOMEM; for (i = 0; i < chip->ngpio; i++) strreplace(names[i], '-', alias_idx + 'A'); @@ -1892,11 +1876,11 @@ static int at91_gpio_probe(struct platform_device *pdev) ret = at91_gpio_of_irq_setup(pdev, at91_chip); if (ret) - goto gpiochip_add_err; + return ret; ret = gpiochip_add_data(chip, at91_chip); if (ret) - goto gpiochip_add_err; + return ret; gpio_chips[alias_idx] = at91_chip; platform_set_drvdata(pdev, at91_chip); @@ -1905,12 +1889,6 @@ static int at91_gpio_probe(struct platform_device *pdev) dev_info(&pdev->dev, "at address %p\n", at91_chip->regbase); return 0; - -gpiochip_add_err: -err: - dev_err(&pdev->dev, "Failure %i for GPIO %i\n", ret, alias_idx); - - return ret; } static const struct dev_pm_ops at91_gpio_pm_ops = { From patchwork Wed Feb 15 13:42:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 57563 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp201993wrn; Wed, 15 Feb 2023 05:53:45 -0800 (PST) X-Google-Smtp-Source: AK7set/P7bjMuzklw1qRGx33bAOH0PLyZK6op/hwD5Mk5JmM/ZnY/tsF3ZqhYBNhK89SIjiiZ8bp X-Received: by 2002:a17:907:216a:b0:87b:d409:f087 with SMTP id rl10-20020a170907216a00b0087bd409f087mr2170345ejb.21.1676469225149; Wed, 15 Feb 2023 05:53:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1676469225; cv=none; d=google.com; s=arc-20160816; b=xAVDo4xwO9dzqLLQDEb6H5TscwHkbdN2awLGA5fpkd8RldgrCh9NHcXHwy/Hti4kmp V8NCnLz58/ds0/TIQ3slSiYO5WBvy4p5KqIHPYVspnmiHImTjHZldiV8ckzFeUN1yAI5 6RHSUNiErA18OcpzgtoVrZkQZRDdeg4iLGITohFbrjIzJKR7b3cODvXlBqWwhzxIHVDR 5/vyT3HvKdMTKKvORoC0yzwHrK5EmJ7bnYp/VqJVi9gwEXDu/lZutqQijGeBOfXQN4Ei V23hqQdQPvsj0Skd0ieIQAnWSXFmmYQ4K/XOaplYmANNVmFUuZHMJPZHSsht1ZuMwX7D mK1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=pr6EGjbb1vXGEOo/jBtzUn56sVOHjwgXWIZ6wcURvn4=; b=rxMTmzAmEnGs+pW6cHdIOC+WfyG3QjStqMFHE9bk26v8cLXmaTxK/D/LUCqNBYdsTl Hn8e90BeDAjCy817wZZxKMAOZmVocdF1cyv54f2EQMiczFcRCxaJizqGelOBLU3Fcssz xtelLxRGCsJQGn5hzY/e8s6YNAEtgV5n+NU54fnwaJod4idSNo93lQLD/r1Ufpq0Ya5s yM0PwaQT8j2Q2M0fiTHPjO3eN5iJaQ+6wZxxen22CfnEVKTl9zCVO6uUN2ExZBiTa1IJ 0HUrSldykt0gg/RLa7x645dME0In162OjOMGbx7NAl8iJG6/4nUBUW6/6YTAhM7lf7iQ JOUw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=kfilNg2a; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c30-20020a1709063f1e00b008af7d8bbdf2si18804340ejj.989.2023.02.15.05.53.22; Wed, 15 Feb 2023 05:53:45 -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=kfilNg2a; 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 S230123AbjBONmX (ORCPT + 99 others); Wed, 15 Feb 2023 08:42:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229882AbjBONmM (ORCPT ); Wed, 15 Feb 2023 08:42:12 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BD82434C37; Wed, 15 Feb 2023 05:42:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1676468530; x=1708004530; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=72poG9BNyJWgNcO4lHVwaSx+WheBWsmEuGzRhm0Pokw=; b=kfilNg2aA4iWyMBK/GdaraISK50PkTKLeSlFr+5VbO01wsADhUPE+FVp v2cNYQhxXgkV+ViMvIWlswKvU0p2V4Es0MnFlnSeZqzkaP/5j6w7C3F5/ I6cFVl1CeiJ1X9J5kWmCtgfysuRgt5jgP01ASgRT5AGBQyoBWvRJNqBAA rdpP77PDRz/XGZYZPOqOrp9UDuIbW+q6ntDPyAFuscEIQGzDNqMP+gQkC bdxvfxoOIeouUbSnUmaeJTIThFiHso2EW51Ca8tVTBSHFRB1HO/joB/fn 4TO/NPtwXyrkBOiZpONELlnf7wOl742zcZg4MyhTR63DviFnVv2We7u6z Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="332734641" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="332734641" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2023 05:42:09 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10621"; a="812450051" X-IronPort-AV: E=Sophos;i="5.97,299,1669104000"; d="scan'208";a="812450051" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 15 Feb 2023 05:42:07 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6F212269; Wed, 15 Feb 2023 15:42:44 +0200 (EET) From: Andy Shevchenko To: linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Ludovic Desroches , Linus Walleij , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Andy Shevchenko Subject: [PATCH v3 5/5] pinctrl: at91: Utilise temporary variable for struct device Date: Wed, 15 Feb 2023 15:42:42 +0200 Message-Id: <20230215134242.37618-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> References: <20230215134242.37618-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1757905394500600755?= X-GMAIL-MSGID: =?utf-8?q?1757905394500600755?= We have a temporary variable to keep pointer to struct device. Utilise it inside the ->probe() implementation. Signed-off-by: Andy Shevchenko Reviewed-by: Claudiu Beznea --- drivers/pinctrl/pinctrl-at91.c | 60 +++++++++++++++------------------- 1 file changed, 26 insertions(+), 34 deletions(-) diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c index 08f88403affb..de48a8e0f85f 100644 --- a/drivers/pinctrl/pinctrl-at91.c +++ b/drivers/pinctrl/pinctrl-at91.c @@ -1304,7 +1304,7 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev, if (!np) return -ENODEV; - info->dev = &pdev->dev; + info->dev = dev; info->ops = of_device_get_match_data(dev); at91_pinctrl_child_count(info, np); @@ -1324,35 +1324,31 @@ static int at91_pinctrl_probe_dt(struct platform_device *pdev, if (ret) return ret; - dev_dbg(&pdev->dev, "nmux = %d\n", info->nmux); + dev_dbg(dev, "nmux = %d\n", info->nmux); - dev_dbg(&pdev->dev, "mux-mask\n"); + dev_dbg(dev, "mux-mask\n"); tmp = info->mux_mask; for (i = 0; i < gpio_banks; i++) { for (j = 0; j < info->nmux; j++, tmp++) { - dev_dbg(&pdev->dev, "%d:%d\t0x%x\n", i, j, tmp[0]); + dev_dbg(dev, "%d:%d\t0x%x\n", i, j, tmp[0]); } } - dev_dbg(&pdev->dev, "nfunctions = %d\n", info->nfunctions); - dev_dbg(&pdev->dev, "ngroups = %d\n", info->ngroups); - info->functions = devm_kcalloc(&pdev->dev, - info->nfunctions, - sizeof(struct at91_pmx_func), - GFP_KERNEL); + dev_dbg(dev, "nfunctions = %d\n", info->nfunctions); + dev_dbg(dev, "ngroups = %d\n", info->ngroups); + info->functions = devm_kcalloc(dev, info->nfunctions, sizeof(*info->functions), + GFP_KERNEL); if (!info->functions) return -ENOMEM; - info->groups = devm_kcalloc(&pdev->dev, - info->ngroups, - sizeof(struct at91_pin_group), - GFP_KERNEL); + info->groups = devm_kcalloc(dev, info->ngroups, sizeof(*info->groups), + GFP_KERNEL); if (!info->groups) return -ENOMEM; - dev_dbg(&pdev->dev, "nbanks = %d\n", gpio_banks); - dev_dbg(&pdev->dev, "nfunctions = %d\n", info->nfunctions); - dev_dbg(&pdev->dev, "ngroups = %d\n", info->ngroups); + dev_dbg(dev, "nbanks = %d\n", gpio_banks); + dev_dbg(dev, "nfunctions = %d\n", info->nfunctions); + dev_dbg(dev, "ngroups = %d\n", info->ngroups); i = 0; @@ -1376,7 +1372,7 @@ static int at91_pinctrl_probe(struct platform_device *pdev) struct pinctrl_pin_desc *pdesc; int ret, i, j, k; - info = devm_kzalloc(&pdev->dev, sizeof(*info), GFP_KERNEL); + info = devm_kzalloc(dev, sizeof(*info), GFP_KERNEL); if (!info) return -ENOMEM; @@ -1384,13 +1380,10 @@ static int at91_pinctrl_probe(struct platform_device *pdev) if (ret) return ret; - at91_pinctrl_desc.name = dev_name(&pdev->dev); + at91_pinctrl_desc.name = dev_name(dev); at91_pinctrl_desc.npins = gpio_banks * MAX_NB_GPIO_PER_BANK; at91_pinctrl_desc.pins = pdesc = - devm_kcalloc(&pdev->dev, - at91_pinctrl_desc.npins, sizeof(*pdesc), - GFP_KERNEL); - + devm_kcalloc(dev, at91_pinctrl_desc.npins, sizeof(*pdesc), GFP_KERNEL); if (!at91_pinctrl_desc.pins) return -ENOMEM; @@ -1413,8 +1406,7 @@ static int at91_pinctrl_probe(struct platform_device *pdev) } platform_set_drvdata(pdev, info); - info->pctl = devm_pinctrl_register(&pdev->dev, &at91_pinctrl_desc, - info); + info->pctl = devm_pinctrl_register(dev, &at91_pinctrl_desc, info); if (IS_ERR(info->pctl)) return dev_err_probe(dev, PTR_ERR(info->pctl), "could not register AT91 pinctrl driver\n"); @@ -1423,7 +1415,7 @@ static int at91_pinctrl_probe(struct platform_device *pdev) if (gpio_chips[i]) pinctrl_add_gpio_range(info->pctl, &gpio_chips[i]->range); - dev_info(&pdev->dev, "initialized AT91 pinctrl driver\n"); + dev_info(dev, "initialized AT91 pinctrl driver\n"); return 0; } @@ -1714,6 +1706,7 @@ static void gpio_irq_handler(struct irq_desc *desc) static int at91_gpio_of_irq_setup(struct platform_device *pdev, struct at91_gpio_chip *at91_gpio) { + struct device *dev = &pdev->dev; struct gpio_chip *gpiochip_prev = NULL; struct at91_gpio_chip *prev = NULL; struct irq_data *d = irq_get_irq_data(at91_gpio->pioc_virq); @@ -1721,8 +1714,7 @@ static int at91_gpio_of_irq_setup(struct platform_device *pdev, struct gpio_irq_chip *girq; int i; - gpio_irqchip = devm_kzalloc(&pdev->dev, sizeof(*gpio_irqchip), - GFP_KERNEL); + gpio_irqchip = devm_kzalloc(dev, sizeof(*gpio_irqchip), GFP_KERNEL); if (!gpio_irqchip) return -ENOMEM; @@ -1758,7 +1750,7 @@ static int at91_gpio_of_irq_setup(struct platform_device *pdev, if (!gpiochip_prev) { girq->parent_handler = gpio_irq_handler; girq->num_parents = 1; - girq->parents = devm_kcalloc(&pdev->dev, 1, + girq->parents = devm_kcalloc(dev, girq->num_parents, sizeof(*girq->parents), GFP_KERNEL); if (!girq->parents) @@ -1824,7 +1816,7 @@ static int at91_gpio_probe(struct platform_device *pdev) if (irq < 0) return irq; - at91_chip = devm_kzalloc(&pdev->dev, sizeof(*at91_chip), GFP_KERNEL); + at91_chip = devm_kzalloc(dev, sizeof(*at91_chip), GFP_KERNEL); if (!at91_chip) return -ENOMEM; @@ -1836,7 +1828,7 @@ static int at91_gpio_probe(struct platform_device *pdev) at91_chip->pioc_virq = irq; at91_chip->pioc_idx = alias_idx; - at91_chip->clock = devm_clk_get_enabled(&pdev->dev, NULL); + at91_chip->clock = devm_clk_get_enabled(dev, NULL); if (IS_ERR(at91_chip->clock)) return dev_err_probe(dev, PTR_ERR(at91_chip->clock), "failed to get clock, ignoring.\n"); @@ -1844,8 +1836,8 @@ static int at91_gpio_probe(struct platform_device *pdev) at91_chip->id = alias_idx; chip = &at91_chip->chip; - chip->label = dev_name(&pdev->dev); - chip->parent = &pdev->dev; + chip->label = dev_name(dev); + chip->parent = dev; chip->owner = THIS_MODULE; chip->base = alias_idx * MAX_NB_GPIO_PER_BANK; @@ -1886,7 +1878,7 @@ static int at91_gpio_probe(struct platform_device *pdev) platform_set_drvdata(pdev, at91_chip); gpio_banks = max(gpio_banks, alias_idx + 1); - dev_info(&pdev->dev, "at address %p\n", at91_chip->regbase); + dev_info(dev, "at address %p\n", at91_chip->regbase); return 0; }