From patchwork Mon Feb 3 12:17:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957362 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 32DCF2046AF; Mon, 3 Feb 2025 12:18:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585133; cv=none; b=HDo06jMTxKFH2Hwan5XUnuM2vNmx9Qkt/rbZTMYhr1Mzt2/ZeVhTjmoJKsFWfOb3xiud9Vmc+ABacSqehT2GV6jxIztOqHox5BvWIYtFwgjlIMdWKWegvyvCeEIMDzPpbkc+ZfrIRix7q7BMGsRkSMT82JJHHfFcQN5CW1yCFRI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585133; c=relaxed/simple; bh=stulSNPBGDyFHMLPU2+q/n4F3bwCtUrcyZnXL/C3jVE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TXbAryOQ2dK81pFEplVxGoTIp1gxefh617Ad1a0eybDOPwnQsZJJFPiVJa1nZwnOx1XeCN0axlggVBjcRdhMgAoRDjO2ArrtQ2r3517cMCsQbBgrV0/gRsxbjgDtLyG1lhq2jCd7qgBUgxjp9ZMQYVaYu4/Yw9abjv2pvb0V1E8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=D3uqBp1v; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="D3uqBp1v" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585132; x=1770121132; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=stulSNPBGDyFHMLPU2+q/n4F3bwCtUrcyZnXL/C3jVE=; b=D3uqBp1vhWSCLOS1wa5beDrIwztSmjUwmEuPYf1xd16ftsDZkVNV4rXa kpOYVAzbRUmTparbkYly27dlBnU7lqcbQVRM0vd/BFupGMbJ+xg6IJ+42 suqiJkBwmHlgNOQIsf6KWPCRLyX/385dLkRRtBsvNN0PSxPr13vVFPvSo XBFSK1tSLqSVClR1eRDxO+CN4Na9Fi+0S89XekkuORad/0fDZD457z5RC 86DuuX7Jr88f5ZcRLW90S8uZa3sP8VB9pLWK/ve7POZxzvtvKiO3tDcQT RNM+HjIddLuK1HyxSijQHp5InD2tIkNils+ajkLriq8MW6L2iciVQQFiL g==; X-CSE-ConnectionGUID: qJRcFpkqQWa2BgHz36YkzQ== X-CSE-MsgGUID: zMYq1JnDRhKDQg+pDACKuQ== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="42731516" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="42731516" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:48 -0800 X-CSE-ConnectionGUID: DBE59/10SAq94wDO5qzo0w== X-CSE-MsgGUID: +zea3aJ2RQmkN5REGD2hCA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="141138403" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa001.fm.intel.com with ESMTP; 03 Feb 2025 04:18:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 3FE03214; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 1/7] gpio: 74x164: Remove unneeded dependency to OF_GPIO Date: Mon, 3 Feb 2025 14:17:17 +0200 Message-ID: <20250203121843.3183991-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Remove unneeded dependency to OF_GPIO which driver does not use. Fixes: 3c7469514dbe ("gpio: 74x164: Make use of device properties") Signed-off-by: Andy Shevchenko --- drivers/gpio/Kconfig | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index add5ad29a673..56c1f30ac195 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -1790,7 +1790,6 @@ menu "SPI GPIO expanders" config GPIO_74X164 tristate "74x164 serial-in/parallel-out 8-bits shift register" - depends on OF_GPIO help Driver for 74x164 compatible serial-in/parallel-out 8-outputs shift registers. This driver can be used to provide access From patchwork Mon Feb 3 12:17:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957358 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E040204684; Mon, 3 Feb 2025 12:18:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585131; cv=none; b=EcImXZxAIsb4GcERP82AYIj2jCMiAcf2SclKCMvRMkM6zLMohUUg3R/hY3WTYrqTmv6MpkD6Y8XID10W7SCzb7GgZP8Fwtr0baAgxIFzBXhe6kIz/MtFXiAsTouc9CBADd1PvOy6Hm+mOeqwPdiJrx7WtTJ70HuV/wvlvizB+q4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585131; c=relaxed/simple; bh=OPZPEzubgWFgSDqq2IdR1CiH9zps4lf42a2bMs4pJx8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gDYmjGnYLhe4H7mmGc/Rarabjb5upKb6+SK/kG/KkqS56jeBsCTsrinJimot7a67Y0av6ufgYjiQQx6/S0HzQOKsxVp8V2Uh4AFd8hDkVf4oMEPB/JZID3RekEN2lkGK05b7fXLPCaNJJGKQSd3eqFOFBuuJRAKTJy6kAC81tMc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=VV+yG13Y; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="VV+yG13Y" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585130; x=1770121130; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=OPZPEzubgWFgSDqq2IdR1CiH9zps4lf42a2bMs4pJx8=; b=VV+yG13YdZG5R2TP2Vbj6Kc62XK4BKXe5Gz5Nq78NsAWl8qllgLtd976 4DDXiqbdkZP98k0owvoEvj34YXGOri7R6OUfRuFiwoRynoiAin8MkHry3 Jrhu21n4calpLnp9wFQ8g06xlCys7gPRFXfBuMzYuuyr1LoMn6wGollEp imeXtTEnytSzHPw5ZuTpyYCKQUjlcVEkdvP/RolW5IuQYHFooazukUgMl FbkHfGumeQbnj+H/Rbd91c7LkSdqIQYx95DHiFNOqhZwAs8qjTilkcUdr vxF5U1ALKH5OE4nAhcuq4DPFewDzvwvtA2VjgQsIz30uDZFLAikEasMj3 A==; X-CSE-ConnectionGUID: A/2098pgSra/jLAh7rEEog== X-CSE-MsgGUID: ido3ZfKeSF6L3V1DtzVsSA== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="42731508" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="42731508" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:48 -0800 X-CSE-ConnectionGUID: s0iWqOyuQ7yiA7xXqqwSzg== X-CSE-MsgGUID: UK4kvM48Qx637a5UBpfwDQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="141138404" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa001.fm.intel.com with ESMTP; 03 Feb 2025 04:18:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 579E9399; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 2/7] gpio: 74x164: Simplify code with cleanup helpers Date: Mon, 3 Feb 2025 14:17:18 +0200 Message-ID: <20250203121843.3183991-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Use macros defined in linux/cleanup.h to automate resource lifetime control in the driver. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-74x164.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index fca6cd2eb1dd..70c662bbca7b 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -7,6 +7,7 @@ */ #include +#include #include #include #include @@ -43,13 +44,10 @@ static int gen_74x164_get_value(struct gpio_chip *gc, unsigned offset) struct gen_74x164_chip *chip = gpiochip_get_data(gc); u8 bank = chip->registers - 1 - offset / 8; u8 pin = offset % 8; - int ret; - mutex_lock(&chip->lock); - ret = (chip->buffer[bank] >> pin) & 0x1; - mutex_unlock(&chip->lock); + guard(mutex)(&chip->lock); - return ret; + return (chip->buffer[bank] >> pin) & 0x1; } static void gen_74x164_set_value(struct gpio_chip *gc, @@ -59,14 +57,14 @@ static void gen_74x164_set_value(struct gpio_chip *gc, u8 bank = chip->registers - 1 - offset / 8; u8 pin = offset % 8; - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); + if (val) chip->buffer[bank] |= (1 << pin); else chip->buffer[bank] &= ~(1 << pin); __gen_74x164_write_config(chip); - mutex_unlock(&chip->lock); } static void gen_74x164_set_multiple(struct gpio_chip *gc, unsigned long *mask, @@ -78,7 +76,8 @@ static void gen_74x164_set_multiple(struct gpio_chip *gc, unsigned long *mask, size_t bank; unsigned long bitmask; - mutex_lock(&chip->lock); + guard(mutex)(&chip->lock); + for_each_set_clump8(offset, bankmask, mask, chip->registers * 8) { bank = chip->registers - 1 - offset / 8; bitmask = bitmap_get_value8(bits, offset) & bankmask; @@ -87,7 +86,6 @@ static void gen_74x164_set_multiple(struct gpio_chip *gc, unsigned long *mask, chip->buffer[bank] |= bitmask; } __gen_74x164_write_config(chip); - mutex_unlock(&chip->lock); } static int gen_74x164_direction_output(struct gpio_chip *gc, From patchwork Mon Feb 3 12:17:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957356 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 558EE2036E1; Mon, 3 Feb 2025 12:18:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585129; cv=none; b=A3SZToee7y70h/mqTWoTglyou8xerpe2vVnIVMk2zDXpKAz9ldhWl/vDsGFBt4UtQhx8ZqzEBh1T57aitaWyo5e20vVnlWKAnmG3Dj+wOdmcOJ3kaH59pvcVc5pGoQSqYBzdBJjC3UWzBxIKwt41yQ2i1oBrrsdk8oFDym7SZaU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585129; c=relaxed/simple; bh=Hg+ZWkXcKMzpoi69OuZ67hZSAqFz2rwIYs4UrpX3Q1U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cGy2gCa2YIVwH9NEdiGdb4qb8ZjC0O3tzbssDYH3Q6EPXDD7x8vTrFP7DbJG/s6UXVe+psgpHbpRt79IhRdAtUL5ZWLrd7IS5IJTjZ4n+eul9hiHATTF/b/KQyJZF5gRUou1/lThLk4HyrqR5lBgQzj/ekvNSO2XF6wl2ajFyVM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=JGNVf+R5; arc=none smtp.client-ip=198.175.65.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="JGNVf+R5" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585129; x=1770121129; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Hg+ZWkXcKMzpoi69OuZ67hZSAqFz2rwIYs4UrpX3Q1U=; b=JGNVf+R5CUoZSxaDZFaj454feamTUn/2nr5C+aQ65qFIKbpxflv7TZF0 YpKMm2Vrxc1kR8MKfZ5Op31eDdjOc8nZOOd54morp5Duice4y4DdZfUMP wtXrPIcjJR/LefUOSUgPYUYL5cG9yePsAe949N1p+KYE550zvSXakiqaG MAiLucHkW8wpdS1WFu+XjMYXlzSV2CnWbVOhKoQP78ZnQSm/jbGS+/Rk9 rSUVwOGL3mN4POpTVTBI7na4cvThDAAhgHYUhcT3MlAIiqufgQV7ATBgs ZomkY9IXGTKQ0hZk6kGJ7Ypo9+XNyRrb7eJi5r0KeQehK4TpsR8WIKx6c Q==; X-CSE-ConnectionGUID: F9J0RjmZTySLRQPf7ibG8g== X-CSE-MsgGUID: ctdBajcsQ0iXSkLJ8iQRkg== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="56502983" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="56502983" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:48 -0800 X-CSE-ConnectionGUID: U/dc3eLMTaagZAXlvCZv4A== X-CSE-MsgGUID: jQ1GOZbLQXuXeAO0Tpr6Tw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="115279157" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa004.jf.intel.com with ESMTP; 03 Feb 2025 04:18:46 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 62D423A7; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 3/7] gpio: 74x164: Annotate buffer with __counted_by() Date: Mon, 3 Feb 2025 14:17:19 +0200 Message-ID: <20250203121843.3183991-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Add the __counted_by() compiler attribute to the flexible array member volumes to improve access bounds-checking via CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE. Use struct_size() instead of manually calculating the number of bytes to allocate the private structure with a buffer. Signed-off-by: Andy Shevchenko Reviewed-by: Gustavo A. R. Silva --- drivers/gpio/gpio-74x164.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 70c662bbca7b..7844f8a58834 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -30,7 +30,7 @@ struct gen_74x164_chip { * register at the end of the transfer. So, to have a logical * numbering, store the bytes in reverse order. */ - u8 buffer[]; + u8 buffer[] __counted_by(registers); }; static int __gen_74x164_write_config(struct gen_74x164_chip *chip) @@ -97,6 +97,7 @@ static int gen_74x164_direction_output(struct gpio_chip *gc, static int gen_74x164_probe(struct spi_device *spi) { + struct device *dev = &spi->dev; struct gen_74x164_chip *chip; u32 nregs; int ret; @@ -116,10 +117,12 @@ static int gen_74x164_probe(struct spi_device *spi) return -EINVAL; } - chip = devm_kzalloc(&spi->dev, sizeof(*chip) + nregs, GFP_KERNEL); + chip = devm_kzalloc(dev, struct_size(chip, buffer, nregs), GFP_KERNEL); if (!chip) return -ENOMEM; + chip->registers = nregs; + chip->gpiod_oe = devm_gpiod_get_optional(&spi->dev, "enable", GPIOD_OUT_LOW); if (IS_ERR(chip->gpiod_oe)) @@ -133,10 +136,7 @@ static int gen_74x164_probe(struct spi_device *spi) chip->gpio_chip.set = gen_74x164_set_value; chip->gpio_chip.set_multiple = gen_74x164_set_multiple; chip->gpio_chip.base = -1; - - chip->registers = nregs; chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers; - chip->gpio_chip.can_sleep = true; chip->gpio_chip.parent = &spi->dev; chip->gpio_chip.owner = THIS_MODULE; From patchwork Mon Feb 3 12:17:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957359 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB168204692; Mon, 3 Feb 2025 12:18:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585132; cv=none; b=LWjv4UB3fc7D1qDIrLbbCtwoxa6D6wFQrneTkU9V0aBXU7+iRtLgg+G8g1tOda3d6gBbDdUgHeRhaosq1Ar8LdgxoQMHVySq870RMhWezyHF3YlkCKSVYMsD07D2Bpw2i1he6KEUyiSxsirv5CmeyAYh6zqmo+DETj5OeJLUMIw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585132; c=relaxed/simple; bh=ENGCXMU4WTWaSHW6BE0m953OZ1GFz2d8DBXIDnt7ISw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bmVYxjE+O9W6hSBEFh1kALJNdj4JeCTpop+DaQnkNRXlrwCDxpKymkq3kQHRJ9UGUNIM33y3WtLxu3MiE9chJ/BkHiYuCmBboac363qkIAM24uTqcNaMtrhttBYC2qdfRASKyM96Lbhd+HfF1Q453rLLpSmP8hV8EdZLlTW4oLo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=L4ypDP4d; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="L4ypDP4d" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585131; x=1770121131; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ENGCXMU4WTWaSHW6BE0m953OZ1GFz2d8DBXIDnt7ISw=; b=L4ypDP4d9rQaaq0vIRZfFJCUCCcoO6a+SHUhPMgDPBPwdFT0BSfHR9Bn +aq8GuFTirAJWhQSCBH8Zd0mgLrzVPzlQAdnbC/jmndbvtH1LYYbo09F4 r2207g3M3Dz4P/8C1j2ayuOoGZ7IoHtm+qloiYRR1s+Q0i/lGNmeXEf8r 74Zf7XN73YbHiluUoFT0foQV2S62w+w7xtqJt041v8MTjeXqWCGF4/9e4 AINExDjKHc/s6Zo561eFVnY0rGDUAgonpZ4LXe+z+vtt9JL2JYXGp3ptq XZlFElXNWPl9YvQmm8YhdS5GIwB8YI8IVkoJ0TEyMoHQu0D+fH9lamGE1 A==; X-CSE-ConnectionGUID: D144BmzCRwqESdPBjdXo2w== X-CSE-MsgGUID: SXK7muM6TZao/4XHV1T7XQ== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="42731512" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="42731512" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:48 -0800 X-CSE-ConnectionGUID: E/ma+mbVQyOSoMnxIoiwRA== X-CSE-MsgGUID: gjnylqHBSYOYd/gIvaymng== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="141138406" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa001.fm.intel.com with ESMTP; 03 Feb 2025 04:18:45 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6835A353; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 4/7] gpio: 74x164: Make use of the macros from bits.h Date: Mon, 3 Feb 2025 14:17:20 +0200 Message-ID: <20250203121843.3183991-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Make use of BIT() and GENMASK() where it makes sense. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-74x164.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 7844f8a58834..0f720d539fa7 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -47,7 +47,7 @@ static int gen_74x164_get_value(struct gpio_chip *gc, unsigned offset) guard(mutex)(&chip->lock); - return (chip->buffer[bank] >> pin) & 0x1; + return !!(chip->buffer[bank] & BIT(pin)); } static void gen_74x164_set_value(struct gpio_chip *gc, @@ -60,9 +60,9 @@ static void gen_74x164_set_value(struct gpio_chip *gc, guard(mutex)(&chip->lock); if (val) - chip->buffer[bank] |= (1 << pin); + chip->buffer[bank] |= BIT(pin); else - chip->buffer[bank] &= ~(1 << pin); + chip->buffer[bank] &= ~BIT(pin); __gen_74x164_write_config(chip); } From patchwork Mon Feb 3 12:17:21 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957360 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23B14204698; Mon, 3 Feb 2025 12:18:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585132; cv=none; b=Fdgy0gCNAkGyDxiMhY9kEvn880GpGS2wwNKUAfCVLd6qH0ANomNxDLFpc6aYCyLNFeEXMu0Dev0zVK0hQEz6zWm+eJ6s+OnW9WyXZPPBBAPsfus3qBb3UZuBFRAWWlzdDQ/iWXinsRc0skj6VG8z7xVhzwmurRt8R/YRc5/RNEA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585132; c=relaxed/simple; bh=W8ihz+XdNBEMhRh6wz1AdgNj2Nb2oR3a6c8z4k8I6Us=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VMdAdI79M15LDu5xNcYg3AIbemda+xLpJYgiJZ3Eef7KAQcSRG6/NjlvTzJFgdefeDFqHPNog1WbKXtT8+PnBrBCSgFTndx6OZ6nsxTvF5gYOlIZMsLsreu+MX8HI9HKAU904/CG1wIvHSuFl3D7K0+b88QaVkR8Vn5TpmH+hQE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=BMdu3rf4; arc=none smtp.client-ip=198.175.65.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BMdu3rf4" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585132; x=1770121132; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=W8ihz+XdNBEMhRh6wz1AdgNj2Nb2oR3a6c8z4k8I6Us=; b=BMdu3rf4E0DvBm9As8eXyQotz7XhOB925kIiG2WHsAyIRr7LvYpv5dtm /WcTzUlgMAY8CM0/seesZNeuF8s3Jksb8vwqd6hx7e9EG+zSlk8QAGM43 kOLB4//kIsNDVzj3Ch2rg/2Oix61ysJnM2d0zB2CzsHQzBOQ9od7CfnAD YuG9f0FuuYqAnrcuYGX5/UUy01tsRtMLHZRpfvvi6LgycELLqBkk80a9v hOkesuMapvqKNgw+C+W8j4XHsypGbdz/Nbg0Kgpgd4jeb5zFOfJgrHjqi UFNYRufS12+OEWN4f0KYlp2HfmO+w/AwvjIMpPgc6xR3lzXXzCE61KOjS w==; X-CSE-ConnectionGUID: /3QI1rvbS0ubttlnFNX6ew== X-CSE-MsgGUID: 84vlLhgXRKeX7caQOZx46Q== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="56502993" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="56502993" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:51 -0800 X-CSE-ConnectionGUID: tsBsjCohQhWUZZq42TQLVA== X-CSE-MsgGUID: 3XhbaGU8Q7OYsTqs+ImJ3w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="115279163" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa004.jf.intel.com with ESMTP; 03 Feb 2025 04:18:49 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7B13649A; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 5/7] gpio: 74x164: Fully convert to use managed resources Date: Mon, 3 Feb 2025 14:17:21 +0200 Message-ID: <20250203121843.3183991-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Convert the driver probe stage to use managed resources. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-74x164.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 0f720d539fa7..920d3b9c1087 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -95,6 +95,19 @@ static int gen_74x164_direction_output(struct gpio_chip *gc, return 0; } +static void gen_74x164_deactivate(void *data) +{ + struct gen_74x164_chip *chip = data; + + gpiod_set_value_cansleep(chip->gpiod_oe, 0); +} + +static int gen_74x164_activate(struct device *dev, struct gen_74x164_chip *chip) +{ + gpiod_set_value_cansleep(chip->gpiod_oe, 1); + return devm_add_action_or_reset(dev, gen_74x164_deactivate, chip); +} + static int gen_74x164_probe(struct spi_device *spi) { struct device *dev = &spi->dev; @@ -128,8 +141,6 @@ static int gen_74x164_probe(struct spi_device *spi) if (IS_ERR(chip->gpiod_oe)) return PTR_ERR(chip->gpiod_oe); - spi_set_drvdata(spi, chip); - chip->gpio_chip.label = spi->modalias; chip->gpio_chip.direction_output = gen_74x164_direction_output; chip->gpio_chip.get = gen_74x164_get_value; @@ -149,7 +160,9 @@ static int gen_74x164_probe(struct spi_device *spi) if (ret) return dev_err_probe(&spi->dev, ret, "Config write failed\n"); - gpiod_set_value_cansleep(chip->gpiod_oe, 1); + ret = gen_74x164_activate(dev, chip); + if (ret) + return ret; return devm_gpiochip_add_data(&spi->dev, &chip->gpio_chip, chip); } @@ -181,7 +194,6 @@ static struct spi_driver gen_74x164_driver = { .of_match_table = gen_74x164_dt_ids, }, .probe = gen_74x164_probe, - .remove = gen_74x164_remove, .id_table = gen_74x164_spi_ids, }; module_spi_driver(gen_74x164_driver); From patchwork Mon Feb 3 12:17:22 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957363 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 842F6204C04; Mon, 3 Feb 2025 12:18:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.15 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585134; cv=none; b=pFyVDXrHWt5GFZ0JUeyHheLg8fbrzMNZdMF6gNHTNSUm5XCRhMuj04VPEexnFvIkUojBNZ/f2WCCRQRmcmxzlPwhvNbngcSP8A4q6fgfEnS+dSbrWFQd9OPjyMihSCE0BXtpw8Xxoqn7rGgM52vQcTM/5B2ftyuCNlhzrXZ6Ti0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585134; c=relaxed/simple; bh=AKEZmIwmmi49xx20Ic0IkNg47TcPP9PP5Xf66m4RXVA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nFD2ADqPTrqjHev3kfPkbymRpUeUiVWzrB4mjpmvYyjBoPGPqW7fbPbvTtL+KqmSunli6dxxISk5StBPxAiGr20R07FUizyF6nKxf1tj1yDniPuMMF098CRTF93/WqyS1CfiP6+dM5HpVaKXB7x2lwpV2QR38ByaJfB1chybAXA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=l78clTPJ; arc=none smtp.client-ip=198.175.65.15 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="l78clTPJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585133; x=1770121133; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=AKEZmIwmmi49xx20Ic0IkNg47TcPP9PP5Xf66m4RXVA=; b=l78clTPJR31VNxeBYfebQE+IwRSIGwsxEeDh2l5GByp2Sa0pgfNOprwG 9DTWhFPojXxM2QTWffyFMbLu4QodQ/B1jS3YSEz/nGqTmGhD/CjERhmes qG7ICSpIIZ1XOfVO96w4m+llYAdJRX399HYqZt7lpncr5haaZjRfr+d0H stoEJQcCBk5RwPIW/f7tdFb9Z7ndCcjantyhcCBHN5hUSfXvAMAFS7RCi zgWKAiYlqAyHik4ju55S0UqbmcBli+sy+0q9zWIOzPY31XGX6WfQloDR1 vy4oNkWc3XHfslwnvhmklTW5HKNjaJb9sdobESOF5IxGVb55myoexl6Tc Q==; X-CSE-ConnectionGUID: Tup2glKFSmGD7sK5aSaZJQ== X-CSE-MsgGUID: ozcYa+fOR+WeatdP1Z0y2w== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="42731528" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="42731528" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by orvoesa107.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:51 -0800 X-CSE-ConnectionGUID: im5GMaOTTzqjuSNCDD8+kg== X-CSE-MsgGUID: ijJD+OJ6R9ikHhe+Vsf9Tw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,224,1728975600"; d="scan'208";a="141138411" Received: from black.fi.intel.com ([10.237.72.28]) by fmviesa001.fm.intel.com with ESMTP; 03 Feb 2025 04:18:48 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 899593B1; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 6/7] gpio: 74x164: Switch to use dev_err_probe() Date: Mon, 3 Feb 2025 14:17:22 +0200 Message-ID: <20250203121843.3183991-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Switch to use dev_err_probe() to simplify the error path and unify a message template. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-74x164.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 920d3b9c1087..2cf77c0a5615 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -125,10 +125,8 @@ static int gen_74x164_probe(struct spi_device *spi) return ret; ret = device_property_read_u32(&spi->dev, "registers-number", &nregs); - if (ret) { - dev_err(&spi->dev, "Missing 'registers-number' property.\n"); - return -EINVAL; - } + if (ret) + return dev_err_probe(dev, ret, "Missing 'registers-number' property.\n"); chip = devm_kzalloc(dev, struct_size(chip, buffer, nregs), GFP_KERNEL); if (!chip) From patchwork Mon Feb 3 12:17:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13957361 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DE7782046A7; Mon, 3 Feb 2025 12:18:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.175.65.10 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585133; cv=none; b=Tx2WEqLiY3b45p4CEr45zNrIb5vAdW26u06k+fzwXUqq9oNcPSgjOuLyVdoRHCfojtW9ucXIx79cm5dRfMyGjG9VIp1529zNDDYmhFLL0lXRene512OT9zvBmotEyZTS2bhV1nVRH/9spXQ4kOnRyA1qrXBk1UrL9p65b7DkYIE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738585133; c=relaxed/simple; bh=3Xa6HMKAWIS6aboH1fJeVcudXNKu4nCD4u6LMxW++vk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QlDnVOzl/iB17BGyUwZYf9DYLWBJCSJN9W1PmujPiui1JwLQkmj26t/v4GmHhQRV7OAK6Igd5413q9lLrvAoca9ihUlVfNN80kBycb2MnToFhvw17yHVQb6TbRo0JCKQ0zBCebrijJ2n7pOZDwE8PRZlUwv+OXEKleIXLTYjEuk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=d7fE9+T8; arc=none smtp.client-ip=198.175.65.10 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="d7fE9+T8" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1738585132; x=1770121132; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3Xa6HMKAWIS6aboH1fJeVcudXNKu4nCD4u6LMxW++vk=; b=d7fE9+T87yn130ah14ImL9JmIBkpJIlXcZEXUZKO6jJxjimgF4I5mshl v+bGIwvA+lUeIEmcMpq1aZ0U7fDNQSIA6YSQBb1WAslBEy7yxuI4Ovy17 uH0mMsGHlzpCLfMcIXjMUoZuP2/kmF26dgq1RMheeSMA2FZ3BaoqeTyNi lJwkR5dI9r+P5jrx9LSzpVrcbvQCsfdsRfB4PZpGBPwrMuMYjuQUbbvYJ L2RvAwegebnxP6RmG5bXkBLFYMK0lgCXPfQN+PNa4x8yIOD0UAWZG/Moa j2EsBFO24CwopFpWmtZ7vxB9OEnCkjDqHgM/7xRSiVCr5lDqh/pPmLNjJ w==; X-CSE-ConnectionGUID: ZMRcs8vIQ3+85h6yYt9eZg== X-CSE-MsgGUID: XIlLF64DR2at5rxIBmWKZg== X-IronPort-AV: E=McAfee;i="6700,10204,11335"; a="56502997" X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="56502997" Received: from orviesa004.jf.intel.com ([10.64.159.144]) by orvoesa102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Feb 2025 04:18:52 -0800 X-CSE-ConnectionGUID: YfFmMB/6TySTviUT9zigyg== X-CSE-MsgGUID: MB1rznVkSyiwlVxzHOPQ6g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.13,255,1732608000"; d="scan'208";a="115279165" Received: from black.fi.intel.com ([10.237.72.28]) by orviesa004.jf.intel.com with ESMTP; 03 Feb 2025 04:18:49 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 9970657C; Mon, 03 Feb 2025 14:18:44 +0200 (EET) From: Andy Shevchenko To: Bartosz Golaszewski , Linus Walleij , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org Cc: Bartosz Golaszewski , Kees Cook , "Gustavo A. R. Silva" , Andy Shevchenko Subject: [PATCH v1 7/7] gpio: 74x164: Utilise temporary variable for struct device Date: Mon, 3 Feb 2025 14:17:23 +0200 Message-ID: <20250203121843.3183991-8-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.43.0.rc1.1336.g36b5255a03ac In-Reply-To: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> References: <20250203121843.3183991-1-andriy.shevchenko@linux.intel.com> Precedence: bulk X-Mailing-List: linux-hardening@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 We have a temporary variable to keep a pointer to struct device. Utilise it where it makes sense. Signed-off-by: Andy Shevchenko --- drivers/gpio/gpio-74x164.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpio/gpio-74x164.c b/drivers/gpio/gpio-74x164.c index 2cf77c0a5615..4f7837515e7a 100644 --- a/drivers/gpio/gpio-74x164.c +++ b/drivers/gpio/gpio-74x164.c @@ -124,7 +124,7 @@ static int gen_74x164_probe(struct spi_device *spi) if (ret < 0) return ret; - ret = device_property_read_u32(&spi->dev, "registers-number", &nregs); + ret = device_property_read_u32(dev, "registers-number", &nregs); if (ret) return dev_err_probe(dev, ret, "Missing 'registers-number' property.\n"); @@ -134,8 +134,7 @@ static int gen_74x164_probe(struct spi_device *spi) chip->registers = nregs; - chip->gpiod_oe = devm_gpiod_get_optional(&spi->dev, "enable", - GPIOD_OUT_LOW); + chip->gpiod_oe = devm_gpiod_get_optional(dev, "enable", GPIOD_OUT_LOW); if (IS_ERR(chip->gpiod_oe)) return PTR_ERR(chip->gpiod_oe); @@ -147,7 +146,7 @@ static int gen_74x164_probe(struct spi_device *spi) chip->gpio_chip.base = -1; chip->gpio_chip.ngpio = GEN_74X164_NUMBER_GPIOS * chip->registers; chip->gpio_chip.can_sleep = true; - chip->gpio_chip.parent = &spi->dev; + chip->gpio_chip.parent = dev; chip->gpio_chip.owner = THIS_MODULE; ret = devm_mutex_init(&spi->dev, &chip->lock);