[{"id":3682264,"web_url":"http://patchwork.ozlabs.org/comment/3682264/","msgid":"<ZQ2PR01MB1307BDE655197786EA27A194E6282@ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn>","list_archive_url":null,"date":"2026-04-25T08:28:27","subject":"Re: [PATCH] pinctrl: starfive: jh7110: use struct_size","submitter":{"id":85268,"url":"http://patchwork.ozlabs.org/api/people/85268/","name":"Hal Feng","email":"hal.feng@starfivetech.com"},"content":"> On 25.04.26 09:40, Rosen Penev wrote:\n> Instead of an extra kcalloc, Use a flexible array member to combine allocations.\n> Saves a pointer in the struct.\n> \n> Signed-off-by: Rosen Penev <rosenp@gmail.com>\n\nLooks good.\n\nAcked-by: Hal Feng <hal.feng@starfivetech.com>\n\nBest regards,\nHal\n\n> ---\n>  drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c | 12 +++++-------\n> drivers/pinctrl/starfive/pinctrl-starfive-jh7110.h |  2 +-\n>  2 files changed, 6 insertions(+), 8 deletions(-)\n> \n> diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c\n> b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c\n> index e44480e71ea8..3572e8edd9f3 100644\n> --- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c\n> +++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c\n> @@ -857,17 +857,15 @@ int jh7110_pinctrl_probe(struct platform_device\n> *pdev)\n>  \t\treturn -EINVAL;\n>  \t}\n> \n> +#if IS_ENABLED(CONFIG_PM_SLEEP)\n> +\tsfp = devm_kzalloc(dev, struct_size(sfp, saved_regs, info->nsaved_regs),\n> +\t\t\tGFP_KERNEL);\n> +#else\n>  \tsfp = devm_kzalloc(dev, sizeof(*sfp), GFP_KERNEL);\n> +#endif\n>  \tif (!sfp)\n>  \t\treturn -ENOMEM;\n> \n> -#if IS_ENABLED(CONFIG_PM_SLEEP)\n> -\tsfp->saved_regs = devm_kcalloc(dev, info->nsaved_regs,\n> -\t\t\t\t       sizeof(*sfp->saved_regs), GFP_KERNEL);\n> -\tif (!sfp->saved_regs)\n> -\t\treturn -ENOMEM;\n> -#endif\n> -\n>  \tsfp->base = devm_platform_ioremap_resource(pdev, 0);\n>  \tif (IS_ERR(sfp->base))\n>  \t\treturn PTR_ERR(sfp->base);\n> diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.h\n> b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.h\n> index 2da2d6858008..188fc9d96269 100644\n> --- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.h\n> +++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.h\n> @@ -21,7 +21,7 @@ struct jh7110_pinctrl {\n>  \t/* register read/write mutex */\n>  \tstruct mutex mutex;\n>  \tconst struct jh7110_pinctrl_soc_info *info;\n> -\tu32 *saved_regs;\n> +\tu32 saved_regs[];\n>  };\n> \n>  struct jh7110_gpio_irq_reg {\n> --\n> 2.54.0","headers":{"Return-Path":"\n <linux-gpio+bounces-35521-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-gpio@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35521-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=139.219.17.112","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=starfivetech.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=starfivetech.com;"],"Received":["from sto.lore.kernel.org (sto.lore.kernel.org\n [IPv6:2600:3c09:e001:a7::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g2jf66XlSz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 25 Apr 2026 18:28:46 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sto.lore.kernel.org (Postfix) with ESMTP id 46D9430055A3\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 25 Apr 2026 08:28:42 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id D71B933F5B4;\n\tSat, 25 Apr 2026 08:28:38 +0000 (UTC)","from CHN02-BJS-obe.outbound.protection.partner.outlook.cn\n (mail-bjschn02on2112.outbound.protection.partner.outlook.cn [139.219.17.112])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id AFF4A9460;\n\tSat, 25 Apr 2026 08:28:34 +0000 (UTC)","from ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn\n (2406:e500:c550:7::14) by ZQ2PR01MB1162.CHNPR01.prod.partner.outlook.cn\n (2406:e500:c550:11::7) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.23; Sat, 25 Apr\n 2026 08:28:27 +0000","from ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn\n ([fe80::4386:5cc4:3bc4:4795]) by\n ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn ([fe80::4386:5cc4:3bc4:4795%4])\n with mapi id 15.20.9846.023; Sat, 25 Apr 2026 08:28:27 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777105718; cv=fail;\n b=i5n66/r1m31Dl+d0DDcUdox9knu2LHXSuY6KT0xvGDzRhn8Ka3tqEU4ghiVJaQ0fwFzYcnphFIftZUoQBF7okZsjgdhv9M8NzVsNzYvzCLLZscNKRIm3pXLMmztbWIYgcfkAtKq4NADhYSB4vjco/SUCZlvxa3CXjjhoMbVbJvA=","i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=eUm8NT48ngpIpjvh+KKkX6Lt04JkY0kyexkzPYJ+dLQbANzQ/OGbN9H0RPeW6mmPewGUAU4kCvFdHJwv6P4NxTU19YoSBfLQ+aDUH0MhN62fd3wGiIizWQMmUH5ETyKrUKEEQ0848FCTcmRNjBkQuCATg44as8H9fHTYlS/QSbY7so1StU3yE+qoOdxStrxFlGM88KQD8eJBsSWaSOfXgHitMooPS0qB1RTV8qgWF/urZAhj/4YaUSMkcB2mAMgbmcQaANTQcJ81ctmu7Ew1AOMRcdG2Lc3kltVEPE0iEySnkrM0vda/YI2oG01qS0iNkK1jpudLlDpy/HD/y/iOTw=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777105718; c=relaxed/simple;\n\tbh=jmIEktV32QhVFiEAQwea4ElU+Jt6ykPB/wV/xN43UEk=;\n\th=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To:\n\t Content-Type:MIME-Version;\n b=KVY+imSCinR4+0mlgL0Xuz1L/f0dFNLeQ8RUO0/yCAQ66cLDwkpfKqz2OgftuGYMC1Js2gYYcTIQ66umlEIhMrBXlgwALP6AJakGcGl+EAU7YEdQFKsTvzePyirPDkzltJf72kxj5KuBe2Bf916bCm/0m8/LwdRDl4SmE5iHYHg=","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=OpNm3gOCZiAuMiwmpL3Bcyi6BhvV1vSfmQOCo41qS+Q=;\n b=Hddsm+h0PrvDZWJOa6cEcW1gbimrCLa3XoqHRAbtaEytlOekpsGtcGRxce+PYALgzGC0FBaflAB8oQxcrTJMJYu90mI9JBZW5bmF91UUon/AXTNaU5hOQk6ljtRIWmsif5bH3vYk3zLliQ/OwdOLrkFwvJlsvaBbhVRqVv7ZfoBui6vkJe/sJe3lQXmWKygIjb07tePMl/ik0ceMi0N+U5ZSsn1RZ/s294FGQzOYR4emSu6udjSsYnHi/cDqCRCmFtgQLLQghHGkCwd3tzU4+PoiJhPs3fYJBK+T7H1V5+yFWd8bfd5ahpv1jFCjfkds/864u16zngFpBaEwNho/eA=="],"ARC-Authentication-Results":["i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com;\n spf=pass smtp.mailfrom=starfivetech.com;\n arc=fail smtp.client-ip=139.219.17.112","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=starfivetech.com; dmarc=pass action=none\n header.from=starfivetech.com; dkim=pass header.d=starfivetech.com; arc=none"],"From":"Hal Feng <hal.feng@starfivetech.com>","To":"Rosen Penev <rosenp@gmail.com>, \"linux-gpio@vger.kernel.org\"\n\t<linux-gpio@vger.kernel.org>","CC":"Emil Renner Berthing <kernel@esmil.dk>, Linus Walleij <linusw@kernel.org>,\n\topen list <linux-kernel@vger.kernel.org>","Subject":"Re: [PATCH] pinctrl: starfive: jh7110: use struct_size","Thread-Topic":"[PATCH] pinctrl: starfive: jh7110: use struct_size","Thread-Index":"AQHc1FSOQCufTpFWXUS3Fp05cQifcLXvclCw","Date":"Sat, 25 Apr 2026 08:28:27 +0000","Message-ID":"\n <ZQ2PR01MB1307BDE655197786EA27A194E6282@ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn>","References":"<20260425014029.438186-1-rosenp@gmail.com>","In-Reply-To":"<20260425014029.438186-1-rosenp@gmail.com>","Accept-Language":"zh-CN, en-US","Content-Language":"zh-CN","X-MS-Has-Attach":"","X-MS-TNEF-Correlator":"","authentication-results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c09:e001:a7::12fc:5321; helo=sto.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35521-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=139.219.17.112","smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=starfivetech.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=starfivetech.com","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=starfivetech.com;"],"x-ms-publictraffictype":"Email","x-ms-traffictypediagnostic":"ZQ2PR01MB1307:EE_|ZQ2PR01MB1162:EE_","x-ms-office365-filtering-correlation-id":"054cd05b-2a5b-451a-002a-08dea2a49fee","x-ms-exchange-senderadcheck":"1","x-microsoft-antispam":"\n BCL:0;ARA:13230040|366016|376014|1800799024|38070700021|56012099003|22082099003|18002099003;","x-microsoft-antispam-message-info":"\n qhxrzWj7rVkq67IIUmGr9YpEuHsiWtyyvfWzWRmCChxu91mIcrHVq66tidHhCVIJ/9Crg/a2FLFsdyc8IW65ujqUzS+yPUrqf7HlW3xrm5xDSESJ/TQ17s9UkAT9qG8HsdAfbu6g9a0BCP6MMMpUJLynxRG0w7jpq1Bkfujv+lb1kNbLhhc8xK/Nd0xohNqcbSJjqkhioBAKOIUIBoHOlsixvrXpmLM+8CzKGpYWpb8Jrtp0QkUTphQt2+MuY7WjL4XOlUyj2JgFGYPDhIVaETnBKTnUp5FXw1Vn539COVwtSagMO+ZsdyA9XpGfS4nC6axEzvUhQrr/4KZ4ZDRVE4E7Sxpwuv8KLcw+MGclENvVsIKLf9gD8WcMHdhmc5ulqGJ4UUFKVXyqcE2TnjAF8rkVJ1CMAWzWzWtmSza73t/T7ZgCoIq663zouNQ0R0+b8CD2SFEsp7sDfryxGRIk/q12sd+d6pdwuxzT40e9AGkvu5+myhiNx+9oQdHOu//4wkwr5gJOJqmw5Fa5vpHksaLne9Me7rLgUu/O+iAIxgRWsamFmFYviVQ7oomxADzj2PQu3uTvCA1cIyKkZ17wm50jCdIHOnsYfgw2+M2rGhs=","x-forefront-antispam-report":"\n CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700021)(56012099003)(22082099003)(18002099003);DIR:OUT;SFP:1102;","x-ms-exchange-antispam-messagedata-chunkcount":"1","x-ms-exchange-antispam-messagedata-0":"\n kjHDxBiClisBQis6iTYmgvfqk+e5urUWGKFkfeMTcidULdWpuemYu3M0bEoHoH0DFOE3wF7xbGXLDY7n6IeDh7S7Ru1ztqC+R1RrQDrItjyAQs7TZpaWd4IhtQ0Gxs0p7v/QmB0xlozBcvVUSd0ZgLQSTvbof5RFh78l/E4q9nUT7PJRSIOptOjOETjEb0F3ll8XQ7yVsdfnfZQkz584ReXgM2Jw8DkKdhLEKs7g3ZGzQuvCv92ll3rO4nNmKRTycGidXy6W9ElP68lsKlrmiKiPZAvsySUYRMCVKuYGCXoRIl+CzKU/wX98gB6Ewb3JBo7mmu3/HV0oEMA94XU8f70T0+GapJwIbEABwri5nskV12NahsX7PJNyzZISIPCgaCvDS6l/pERSFp3yMFfgQ/U1h78uNzcTfbIYSWPRnlo1CoVybPhMU+0jSmkMqfGD1piryrmBestKsN0VF3JenPgw++gjcqwRkJ6FqblO4mpFWXTyFBeu7mdw3xQjuDQU2tcvagvnxee6TY1MpI5YiuDt1CLgNv/KB71JlySiweQS0rZFKYtemhVyZna2IoXm86EWNuXBUcZftI66piRz/Tcc21yOqpX8skBmaqjFPWIeeCUrYYk4uEMoj+4z9cDfcqxEEtA35lfKWZCGZwf5kTNnqkp0cqTEt4wNmzpRaOOhUUaej2ldFivMPXJ6U9utWSnzIDfPS8rx/OilBE1nkDLUIrTk/jkQnllHpY/rc91Wa9c9wLYbU07LEjL915TzMnDn3Eimfl5pfNetqx0T6jYeIEuuTUE1OKAVJBDJsLvNeX5s967IHqpCOTvB1TYWFiJA+uaZB7phvsLY42ec8Ktv5R/oJKsbKxsi3JR1PeJH7Wr0xZjawmcOXOelmV4dYqKaH+f6Y9vheEqfGzQK8+xi8y2diY6cxJZxF+mMWWQSnN8eFaaXh1pi5P5z9mzD1nSUaKunMcUj+M2CbCE55/JJ71S7SBk6shxh4p1qmw4sqe/s2mAfGoifX23d43ScGZ8Uf+PjFkevw6coX4M2vL9FSNzmO++XmLPQHKrXXMGq9yOvQB8WxujJBEnk9vhhNBpbecvc6H/6cvkC0oU3/JBsbgMaj4enK6gr0Pk8zM+PIdMh+1JsmUH19pbBuOsuQHsbg35TFO+NMAzHmk3msB1b7KxbfscKHlV4u+glVEwMwYmiO2qC42iHXRM6ERZITSWDiSDizfnttvAqr2J3SPtl2MBS7OUs9JR2DJztG0AH24JGIcnfAc6tVZVAmw4LEze+oZxMcU11h/V6xE6HBaXeoYr2Tr3cXzlaKHaqJLVf/bO10arfTQl5YuqWRQp0PIZr598XghKpcunQIMK9Pif4psptwqH1SRbkXtKgKCturTxuDvZ2HUOY0C8iH/PpvXNHFB0qIBZscsNPeGXqKlpdl4fo/idQerl49wLOrQRIeQEil8no5brbeUyI6B9FhrazDLhoocW1CyDSPd6+eW7ruJ9mzQnTVOm31N/QAOtO3xFLfAGmklEfGL/1xRr52JFV2ERVjKC8Q4/TMVwFpghpCD53Pn/rb2x34RANxKHSGKr6J+wnrTQYEZKqmIywbrmJ3V2/D2GJAmVjuvM1pEEWI6jImPKpP3p4la6uD8hzO8depySRzV8nXfylrj5xuuvRISxvLsqH/0t8VZ3ma+wTYAyVfEzbNyvzfzGIfGqAUaLoPHfxYq8XKllsDZtZivLT4DHxo6XsSOW8NTK6Yw==","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"quoted-printable","Precedence":"bulk","X-Mailing-List":"linux-gpio@vger.kernel.org","List-Id":"<linux-gpio.vger.kernel.org>","List-Subscribe":"<mailto:linux-gpio+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-gpio+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","X-OriginatorOrg":"starfivetech.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-AuthSource":"\n ZQ2PR01MB1307.CHNPR01.prod.partner.outlook.cn","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 054cd05b-2a5b-451a-002a-08dea2a49fee","X-MS-Exchange-CrossTenant-originalarrivaltime":"25 Apr 2026 08:28:27.4470\n (UTC)","X-MS-Exchange-CrossTenant-fromentityheader":"Hosted","X-MS-Exchange-CrossTenant-id":"06fe3fa3-1221-43d3-861b-5a4ee687a85c","X-MS-Exchange-CrossTenant-mailboxtype":"HOSTED","X-MS-Exchange-CrossTenant-userprincipalname":"\n iRNYVe6uul6ctCRUqCHAJzoq0nm3BpwE9fAhzJgvxKbrFmkrc+SmAKqZrbE/eZd6CzjpdqEIcW0FLv45rSOHZMYfMaxJDbb4ThG7jO4+ZUE=","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"ZQ2PR01MB1162"}}]