From patchwork Wed Jun 28 15:32:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 113955 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9016166vqr; Wed, 28 Jun 2023 08:34:55 -0700 (PDT) X-Google-Smtp-Source: APBJJlHKQbAr11PDWqtk05+4hw//4XN0Yz5Yf9qmOGgNiwmLqmJi+wDvtg4cducdRgDfJfuc2y9w X-Received: by 2002:aa7:d38b:0:b0:51d:d2f3:fa95 with SMTP id x11-20020aa7d38b000000b0051dd2f3fa95mr95885edq.2.1687966495181; Wed, 28 Jun 2023 08:34:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687966495; cv=none; d=google.com; s=arc-20160816; b=kXkeRq/3lKmHZxZ0rVLUp/w/UG9vItqFjQBaKUZkdkJB91uNs90QTc3PfdjQvc+TNc P33TQnMYqUYenvH4jO6a51MQklAhoq5rK+zhEGTQpln0RInE5hK5cQsDbylbeHRwu3fm 3mMuMXvidH76NzjIEhE1sH/PzsRQ4PPF75D4oRsktGhCIufhBvXRJYIPCM50rNI0NJfC uIgCZAniBDZ+b/gZrXqrSeic3b6n0Zn3noe0Il4VNE45oiyrFWnXkyFbWkTyTePCU5mn ZqyUWwYu/zHHOfAwznjOsQt19mTMfnSPwqJyuISd9wcffUJY7Wmoh6fvXjziloenwFL5 R4Xw== 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=++j46m08zCoYVcdJoQ+mo1Q7MYwA0VkobJQxEkS/s5c=; fh=XrA2ku+PA66OSRadqxacVu9ngzn45Ll5WReP+bMahIs=; b=pzpKcHtxFstid3XEe55ev1unc2LG07DLlgmBQ2bPvFUVWJRIRNoxFdurUnVklm3pHo XghMmW0/jQ7HZQdp8FaRP1a10CWszVn0KDWWgVtPPje/IVmDkkYY4+vLClqT7w2NjKSa ajuT5HRjiEkEqFxsp5Jgeth1UsI/072VkSmD8DilIcykELmF7PsnRHYPdjMks8iwjo8z DNn7XVjlO+7JKW2EJ98RmWkeu4vAMvJtMyF/gpqYqDIYGNFmeXjZXOIsWNa0Ozmbebxo qJDGRIW36SYRMcinm0t811miZcFhncoBGO3ZZDdiyPHxkccFbnf9uT/RJMn2B+RE8WgI brPQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=myF5HRdh; 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 x12-20020aa7d6cc000000b005187af9788esi5104866edr.525.2023.06.28.08.34.30; Wed, 28 Jun 2023 08:34:55 -0700 (PDT) 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=myF5HRdh; 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 S232246AbjF1Pct (ORCPT + 99 others); Wed, 28 Jun 2023 11:32:49 -0400 Received: from mga09.intel.com ([134.134.136.24]:19758 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232237AbjF1Pc3 (ORCPT ); Wed, 28 Jun 2023 11:32:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687966349; x=1719502349; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rkrFpsjN1kkwBUnx7S3/fsHajYxtZIFrVprJT5SR/KE=; b=myF5HRdh4ExUsTpMp5jYDvV073JU4tiPyetpvTnSXHKGX7LzGnw2i8hK NG+kpMfNUWkzo4xTe/MzYFiaCRp5lIrMcpyE4ZGEa2Yqnz4NyZaAHgFak NdnDBp3NzsqDubH4EFMl107e/Hie18dZTyWek/Tb11wEKP589SYq99oqc TQgieB2fjJuEXpL7Uyz8MIQNlsK4Wn9bABnQ+9S6yn8xXcJ0H3Yqya+Ii xdr3isOj7hkq3R7lq8konJu3VXHWe+vVPDHvubyc/k5iFaGnMn45LMdGo SjKx6waTNgYMnS4uTAuBF/4bbxxV1PFakpiYhgLkXl9CWIl+1Tuj5SWgF A==; X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="364427011" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="364427011" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2023 08:32:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="782344682" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="782344682" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 28 Jun 2023 08:32:13 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8D4EE93; Wed, 28 Jun 2023 18:32:14 +0300 (EEST) From: Andy Shevchenko To: Greg Kroah-Hartman , Saravana Kannan , Andy Shevchenko , Stephen Boyd , Dario Binacchi , Tony Lindgren , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org Cc: "Rafael J. Wysocki" , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Thierry Reding , Jonathan Hunter , Tero Kristo , Andy Shevchenko Subject: [PATCH v1 1/4] lib/string_helpers: Add kstrdup_and_replace() helper Date: Wed, 28 Jun 2023 18:32:08 +0300 Message-Id: <20230628153211.52988-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> References: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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?1769961155512239843?= X-GMAIL-MSGID: =?utf-8?q?1769961155512239843?= Duplicate a NULL-terminated string and replace all occurrences of the old character with a new one. In other words, provide functionality of kstrdup() + strreplace(). Signed-off-by: Andy Shevchenko --- include/linux/string_helpers.h | 2 ++ lib/string_helpers.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/linux/string_helpers.h b/include/linux/string_helpers.h index 789ab30045da..9d1f5bb74dd5 100644 --- a/include/linux/string_helpers.h +++ b/include/linux/string_helpers.h @@ -109,6 +109,8 @@ char *kstrdup_quotable(const char *src, gfp_t gfp); char *kstrdup_quotable_cmdline(struct task_struct *task, gfp_t gfp); char *kstrdup_quotable_file(struct file *file, gfp_t gfp); +char *kstrdup_and_replace(const char *src, char old, char new, gfp_t gfp); + char **kasprintf_strarray(gfp_t gfp, const char *prefix, size_t n); void kfree_strarray(char **array, size_t n); diff --git a/lib/string_helpers.c b/lib/string_helpers.c index d3b1dd718daf..9982344cca34 100644 --- a/lib/string_helpers.c +++ b/lib/string_helpers.c @@ -719,6 +719,21 @@ char *kstrdup_quotable_file(struct file *file, gfp_t gfp) } EXPORT_SYMBOL_GPL(kstrdup_quotable_file); +/* + * Returns duplicate string in which the @old characters are replaced by @new. + */ +char *kstrdup_and_replace(const char *src, char old, char new, gfp_t gfp) +{ + char *dst; + + dst = kstrdup(src, gfp); + if (!dst) + return NULL; + + return strreplace(dst, old, new); +} +EXPORT_SYMBOL_GPL(kstrdup_and_replace); + /** * kasprintf_strarray - allocate and fill array of sequential strings * @gfp: flags for the slab allocator From patchwork Wed Jun 28 15:32:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 113959 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9021917vqr; Wed, 28 Jun 2023 08:44:21 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5+PWVZT4Ty8vVfPf/5SgVLkYsvRKz8RBg00abqXnUeIdAAidig/Ld3+ZVZH6UYFev0rNxX X-Received: by 2002:a17:906:18:b0:992:c9d:fa6e with SMTP id 24-20020a170906001800b009920c9dfa6emr4705092eja.0.1687967061116; Wed, 28 Jun 2023 08:44:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687967061; cv=none; d=google.com; s=arc-20160816; b=kUacmeRRlr6NXpNcAJXzMlRVgsIcPNxmPq2dFdLG6zi6fplB/jk22zCOl6p4CoBinX SmruttlX5Y2hs7bJl/vbpsH4zU/5JxWEV1B2D4lP3+CuKU+98fcA45P38P7WQJcYYpRe RMh/itLq9j1q8fkaCQKFQJiiKV139RxU7HNxhHLXIEHWIDIopKrS53+hYHKe54ygOFYK G/rojT0TAZjdJyRwzpmDwWtzSL/j6TQ7Pqed0eGqOrcaOihTHbR68YF9umsHEe/R95gA Tx+z8RGRCjTALfSFaRi9wh8tZhED+AlpPvDqNoU8FYZhH89YZuguKBqQife4h6/U5uak 8zKQ== 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=Gwb6f/frdoyDhlugn/dkbRaRWLY3CZfwAk6iNWws4+c=; fh=XrA2ku+PA66OSRadqxacVu9ngzn45Ll5WReP+bMahIs=; b=Ca9modu1WHGi14h862MDPoheQsGz8CLP2hQUT478fVaUQTt94b0EDC/gw3IZKb+4vd 4o4qw+muRgtOukjhRFPkp3uFZSNHss1jbnHN8X1ml4gZHnvKwwol17NVpmvsZSfZa9A7 zoAtjXyuubsUCrwb3QFs++K/9htpAXSYrKk6W8Go01VHWY6zgR2rOIUvy+AiruHzVClc vdpT4jJuNR1TJgGtyp8dPmshWWADT5UMXfDnXzikmND+nXEkKtzPF9eel5BJcE0s7Xm1 OPKaGQeHgtgoy2m3XYlOWuEffZj5A0wji3pHXoo5saV6IRO97JTfs/quPfNVTJWhFnn1 FOMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Pe4JDV6h; 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 e6-20020a170906248600b009829ede9296si5160514ejb.83.2023.06.28.08.43.33; Wed, 28 Jun 2023 08:44:21 -0700 (PDT) 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=Pe4JDV6h; 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 S232345AbjF1Pcm (ORCPT + 99 others); Wed, 28 Jun 2023 11:32:42 -0400 Received: from mga09.intel.com ([134.134.136.24]:19763 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232246AbjF1PcZ (ORCPT ); Wed, 28 Jun 2023 11:32:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687966345; x=1719502345; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ICZEGmnjo8mIWqvcZaLyV+IHFzcjkKGkir9xoI+1F50=; b=Pe4JDV6hj+t1pbcIG166ayBe1LxLcekIvU0GVBDZPgQHgc724ZKeJGdd NqtufppbfzFRrOEYRHgDEv+hKCnmEZPYeJG55DTZEpo971gGfja5X57ye GdULcXQrxQzGgSKNBblr0hDwRRicqhcbRpI+X4CCbeu0CkJv2kK6QdzaI 4J77zu67GDvCqejQU1OAgGiEU6wHwuzOXFPWi6XtLuFIsvKdlswo8FcjQ 1nHqqcn1GApCU8wV9P1ZewlTl1qDX8niBqYx6p6hS+0Dq9XC0v1rIMpw8 ELLY+gm+NfoCZI42izQCEnNcnI6cQQMBzweWCOEN1t7rNR478AO58GZdP w==; X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="364426989" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="364426989" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2023 08:32:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="782344681" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="782344681" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 28 Jun 2023 08:32:13 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 967CE4DA; Wed, 28 Jun 2023 18:32:14 +0300 (EEST) From: Andy Shevchenko To: Greg Kroah-Hartman , Saravana Kannan , Andy Shevchenko , Stephen Boyd , Dario Binacchi , Tony Lindgren , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org Cc: "Rafael J. Wysocki" , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Thierry Reding , Jonathan Hunter , Tero Kristo , Andy Shevchenko Subject: [PATCH v1 2/4] driver core: Replace kstrdup() + strreplace() with kstrdup_and_replace() Date: Wed, 28 Jun 2023 18:32:09 +0300 Message-Id: <20230628153211.52988-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> References: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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?1769961749061434623?= X-GMAIL-MSGID: =?utf-8?q?1769961749061434623?= Replace open coded functionalify of kstrdup_and_replace() with a call. Signed-off-by: Andy Shevchenko Acked-by: Greg Kroah-Hartman --- drivers/base/core.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index 3dff5037943e..af0ee691520a 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -28,6 +27,7 @@ #include #include #include +#include #include #include #include /* for dma_default_coherent */ @@ -3910,10 +3910,9 @@ const char *device_get_devnode(const struct device *dev, return dev_name(dev); /* replace '!' in the name with '/' */ - s = kstrdup(dev_name(dev), GFP_KERNEL); + s = kstrdup_and_replace(dev_name(dev), '!', '/', GFP_KERNEL); if (!s) return NULL; - strreplace(s, '!', '/'); return *tmp = s; } From patchwork Wed Jun 28 15:32:10 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 113960 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9022721vqr; Wed, 28 Jun 2023 08:45:31 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4lIDQBttMzIPW0VXGu4m1TXCGaR1k2gr/yOkFXGdYTNWwtjf5qvRzrV1BeZJzQjKao9pbS X-Received: by 2002:a17:906:64cc:b0:987:115d:ba05 with SMTP id p12-20020a17090664cc00b00987115dba05mr29453987ejn.3.1687967131553; Wed, 28 Jun 2023 08:45:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687967131; cv=none; d=google.com; s=arc-20160816; b=MvIiBD85EgUrfsVex+4TIDpalr5GTE0tgYfPxTXx1gPOe7ZgdLjuMEOmDwuUTov6XQ soAFMdU0p0gPT1QXskWV808nVDhji4KqRD0EWR4EfMCu96YYBX2N1mCI8Aa9/CyKYyYg 79IdBDEVdOL1gd20Bv97sYEaUXvbulQXbIcCw8MGuY5v72dFogvce4li0bAKytqZJm3c WcKP8J/q5sCPa5ywjj2c6MHUxLs05NpUwtHmFJI7vGXEOmVce91io+fACy7+neFHA3yH UhqSFlS2OWJWumFic6bY6TzBrnJSeCpbufTAtTTrQS3QR6zbTMrAC2x/FVs8StqiMAI+ fFbA== 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=HuvYpuJ8X4vA+ZNK0NzS6JDIgTWGFM3BbHwUGHA3hKk=; fh=XrA2ku+PA66OSRadqxacVu9ngzn45Ll5WReP+bMahIs=; b=UvcGGthtf0KA8Z6JckPkUHmdSVTKEpDo+oUYuN9lpyxIC5izVqrhV36sx2tmVkG4PZ bxDTXGAZsOjWhhD38HtmRB4hZsik4MPJw2xgTLtDmz+5YJT4UkA88NNlDuFqwiqZUhJk vGouMY9Mj+Eh0bIcG1YQBCfW3+6kTxFwO706mk+6lKkEJtFR0RHOLM/OaDxO6DVgw1qk XFuqUUVTMK2/Vguqt5gzcYZGRRhhdFTtucFrScVO8c0sC7O+ceJ5ktdEOSNsaDJ7Ipxv Qun6Q7TKYyn35QoR1grB/vZXf2doKCKWGbyurytaZym4JoKji/gZqGH3kOklyMlE+cO0 E+cw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="eI/yEPUZ"; 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 s12-20020a170906c30c00b0099270bd1b10si1070953ejz.208.2023.06.28.08.45.06; Wed, 28 Jun 2023 08:45:31 -0700 (PDT) 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="eI/yEPUZ"; 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 S232315AbjF1Pch (ORCPT + 99 others); Wed, 28 Jun 2023 11:32:37 -0400 Received: from mga09.intel.com ([134.134.136.24]:19758 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232245AbjF1PcX (ORCPT ); Wed, 28 Jun 2023 11:32:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687966343; x=1719502343; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=cHot3HUA6uOrNhNVHxLnKbqcAV9rKZZMtPBuH3yLtBI=; b=eI/yEPUZBMd4LGNsuMkMpQ2uOlQWJ/FyS7eO//dYWg5b02w12C2aie+s qcrCVe4NOsGcvyn47h5k5h4kCUP+yYDXv7UdjOJwuQAhFKPESHrRa6ru8 WRuPN5NL++PdUkWCq4zvHfnnoEJ0m+1keDzyp8ObMH+DXvdICHpMUav9U ApohsoA8Rqk2/jXzbfazYPhUTOS3ZpGIPaa1vKDCBKZRLZ4Rs9vgUKFMO VWpHzCTXMCWuLDBbtOH3k9tp2YukOL0DInSF+nbfy9lK1xxFsr7/viEAM RE5Ras541Wx56zaZKGOgTEivYW3Q1VC3DiouxfRdrS8kAag0gGe3KBHik Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="364426966" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="364426966" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2023 08:32:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="782344683" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="782344683" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga008.fm.intel.com with ESMTP; 28 Jun 2023 08:32:13 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9FBAE516; Wed, 28 Jun 2023 18:32:14 +0300 (EEST) From: Andy Shevchenko To: Greg Kroah-Hartman , Saravana Kannan , Andy Shevchenko , Stephen Boyd , Dario Binacchi , Tony Lindgren , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org Cc: "Rafael J. Wysocki" , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Thierry Reding , Jonathan Hunter , Tero Kristo , Andy Shevchenko Subject: [PATCH v1 3/4] clk: tegra: Replace kstrdup() + strreplace() with kstrdup_and_replace() Date: Wed, 28 Jun 2023 18:32:10 +0300 Message-Id: <20230628153211.52988-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> References: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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?1769961822570931851?= X-GMAIL-MSGID: =?utf-8?q?1769961822570931851?= Replace open coded functionalify of kstrdup_and_replace() with a call. Signed-off-by: Andy Shevchenko --- drivers/clk/tegra/clk.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/clk/tegra/clk.c b/drivers/clk/tegra/clk.c index 26bda45813c0..071e72d1598a 100644 --- a/drivers/clk/tegra/clk.c +++ b/drivers/clk/tegra/clk.c @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include @@ -384,12 +384,10 @@ static struct device_node *tegra_clk_get_of_node(struct clk_hw *hw) struct device_node *np; char *node_name; - node_name = kstrdup(hw->init->name, GFP_KERNEL); + node_name = kstrdup_and_replace(hw->init->name, '_', '-', GFP_KERNEL); if (!node_name) return NULL; - strreplace(node_name, '_', '-'); - for_each_child_of_node(tegra_car_np, np) { if (!strcmp(np->name, node_name)) break; From patchwork Wed Jun 28 15:32:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 113956 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp9016474vqr; Wed, 28 Jun 2023 08:35:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7iyAQLZehdXhSbD338OTVIPRlvtrIQrrfm4W4Z0MFcUkgBH4gXUXWrldchevfrmUMCMKn/ X-Received: by 2002:a05:6402:1d52:b0:514:a566:104a with SMTP id dz18-20020a0564021d5200b00514a566104amr29234841edb.3.1687966520184; Wed, 28 Jun 2023 08:35:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687966520; cv=none; d=google.com; s=arc-20160816; b=M/bG4cBC/jLDre56e1CLUE+M5iF635Y/0q6HSRtIbkYEYjtvUYnh4h97ZEbcr+IBF5 gTDOhv9ekfCUTrnRmm1Rdp9Oth7w77ZPz7SFMjMp/e7EkimmJqKErqn8Y0tx0hyQKDGM ILcEeNoyO49vhb+StsGEK2liwrG5Q1ShSxHH7s4mHhaESPiHoqfXK6nv2OtlV1ogZbv7 /Q+wT6ZqmlQuB20bH+Mu1g0/Lq/rh5I9STy00ZuxqvMIdZCx7DD7yhY0yWfLmH0HVGvG F4EKMGDomrD5NBAasMTgGqCmdRVCngyQj04BRNT08EbstK20CDTuTHe/hhXNyzJv+hs4 OwCw== 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=2MQj6d1/kDx2xp/Rki+4ttYSQXfljlMtGiTOIE0975U=; fh=XrA2ku+PA66OSRadqxacVu9ngzn45Ll5WReP+bMahIs=; b=lqDt5uhP73h98vfYq7WY0rcCUMSt94b4OUCTL1gDmriKKqmQ9Bb+Ixr3zHo5K71p3e bRrnYTRJo3nau3FnFDTsh3ZvemZPZUSdNWJ7hNjO6QbIoUqcmm7moubHWRUDjpGKE6Oi SQMHbmy2YB1WptK8riUACVxveI0X9RmbuD1cB+57RMIU67YoS00OMc9PiaGGpvmB/Zvz q10IG3wXrAJJbebnki7lGi7BBQRBIv+16HlCt+7fLTFkOHHZI+1hB4iuNATc0iQP+zEh Gd0Jw3fhBx9pnYUDNniRGj93Oa3Wu8MEONq1W9Wve9+Iq6Luc8SRXJyggPZYgs+i9Y96 edIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=GApZaMPl; 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 y14-20020aa7d50e000000b0051dacee1430si2044926edq.375.2023.06.28.08.34.55; Wed, 28 Jun 2023 08:35:20 -0700 (PDT) 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=GApZaMPl; 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 S232394AbjF1Pcx (ORCPT + 99 others); Wed, 28 Jun 2023 11:32:53 -0400 Received: from mga02.intel.com ([134.134.136.20]:53515 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232234AbjF1Pc3 (ORCPT ); Wed, 28 Jun 2023 11:32:29 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687966348; x=1719502348; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1tDiKollzsfCXGV+rVmP0hmFqWtqHNqcUethxH+1FHg=; b=GApZaMPlGRGY8SSVi8X594qIiWkpDh388LSvIQOwJ9BNCe7uXIkjucry UXFZ2IPswT787HTNF72SSsVTaIVI2yHhQMu5yexveYM52A7jpfFP7CZnc P+0ixHmBDsdr2YGPzHiOHf6rK0V/Bi8i3PrO4MHv7xN62m+d6Dy+fU40l AajzU5Bim1k7H57pDq9JDWUfijSxl0YgSEObe3wN4W1ZrRJHLb/RvpqU6 7j4G0DLcRONI3yJSb/HlxTLv99m1y6D3avqpBsVc/4zDkceHsB81yIibG bdBUMfidqtaAOBIMuOCUqqAIG24lby+JvPTBHp9gmPxFWY3UfG4A6otqd Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="351666446" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="351666446" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jun 2023 08:32:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10755"; a="720270169" X-IronPort-AV: E=Sophos;i="6.01,165,1684825200"; d="scan'208";a="720270169" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga007.fm.intel.com with ESMTP; 28 Jun 2023 08:32:13 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id ABFBB51E; Wed, 28 Jun 2023 18:32:14 +0300 (EEST) From: Andy Shevchenko To: Greg Kroah-Hartman , Saravana Kannan , Andy Shevchenko , Stephen Boyd , Dario Binacchi , Tony Lindgren , linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org Cc: "Rafael J. Wysocki" , Peter De Schrijver , Prashant Gaikwad , Michael Turquette , Thierry Reding , Jonathan Hunter , Tero Kristo , Andy Shevchenko Subject: [PATCH v1 4/4] clk: ti: Replace kstrdup() + strreplace() with kstrdup_and_replace() Date: Wed, 28 Jun 2023 18:32:11 +0300 Message-Id: <20230628153211.52988-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b In-Reply-To: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> References: <20230628153211.52988-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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?1769961181861092152?= X-GMAIL-MSGID: =?utf-8?q?1769961181861092152?= Replace open coded functionalify of kstrdup_and_replace() with a call. Signed-off-by: Andy Shevchenko --- drivers/clk/ti/clk.c | 4 ++-- drivers/clk/ti/clkctrl.c | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/clk/ti/clk.c b/drivers/clk/ti/clk.c index 3d636938a739..1862958ab412 100644 --- a/drivers/clk/ti/clk.c +++ b/drivers/clk/ti/clk.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -123,10 +124,9 @@ static struct device_node *ti_find_clock_provider(struct device_node *from, const char *n; char *tmp; - tmp = kstrdup(name, GFP_KERNEL); + tmp = kstrdup_and_replace(name, '-', '_', GFP_KERNEL); if (!tmp) return NULL; - strreplace(tmp, '-', '_'); /* Node named "clock" with "clock-output-names" */ for_each_of_allnodes_from(from, np) { diff --git a/drivers/clk/ti/clkctrl.c b/drivers/clk/ti/clkctrl.c index 8c40f10280b7..607e34d8e289 100644 --- a/drivers/clk/ti/clkctrl.c +++ b/drivers/clk/ti/clkctrl.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "clock.h" @@ -473,11 +474,11 @@ static const char * __init clkctrl_get_name(struct device_node *np) const int prefix_len = 11; const char *compat; const char *output; + const char *end; char *name; if (!of_property_read_string_index(np, "clock-output-names", 0, &output)) { - const char *end; int len; len = strlen(output); @@ -491,13 +492,13 @@ static const char * __init clkctrl_get_name(struct device_node *np) of_property_for_each_string(np, "compatible", prop, compat) { if (!strncmp("ti,clkctrl-", compat, prefix_len)) { + end = compat + prefix_len; /* Two letter minimum name length for l3, l4 etc */ - if (strnlen(compat + prefix_len, 16) < 2) + if (strnlen(end, 16) < 2) continue; - name = kasprintf(GFP_KERNEL, "%s", compat + prefix_len); + name = kstrdup_and_replace(end, '-', '_', GFP_KERNEL); if (!name) continue; - strreplace(name, '-', '_'); return name; }