linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Staging: nvec: Change container_of macro to an inline function.
@ 2023-03-18 17:05 Sumitra Sharma
  2023-03-18 17:14 ` Julia Lawall
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Sumitra Sharma @ 2023-03-18 17:05 UTC (permalink / raw)
  To: Marc Dietrich, Greg Kroah-Hartman, ac100, linux-tegra,
	linux-staging, linux-kernel, outreachy

The macro has the drawback that one cannot determine
what type it applies to by looking at the definition.
Hence this macro definition is not type-safe.

The inline function gives the same benefits as the
macro and only accepts the specific type of arguments.
Use static because the definition only requires it to be
visible in the current file.

Signed-off-by: Sumitra Sharma <sumitraartsy@gmail.com>
---
 drivers/staging/nvec/nvec_paz00.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/nvec/nvec_paz00.c b/drivers/staging/nvec/nvec_paz00.c
index 8b4da95081c8..9573ba762cdd 100644
--- a/drivers/staging/nvec/nvec_paz00.c
+++ b/drivers/staging/nvec/nvec_paz00.c
@@ -14,8 +14,10 @@
 #include <linux/platform_device.h>
 #include "nvec.h"
 
-#define to_nvec_led(led_cdev) \
-	container_of(led_cdev, struct nvec_led, cdev)
+static inline struct nvec_led *to_nvec_led(struct led_classdev *led_cdev)
+{
+	return container_of(led_cdev, struct nvec_led, cdev);
+}
 
 #define NVEC_LED_REQ {'\x0d', '\x10', '\x45', '\x10', '\x00'}
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-03-20 21:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-18 17:05 [PATCH] Staging: nvec: Change container_of macro to an inline function Sumitra Sharma
2023-03-18 17:14 ` Julia Lawall
2023-03-18 17:55   ` Sumitra Sharma
2023-03-20 21:10     ` Ira Weiny
2023-03-18 18:55 ` kernel test robot
2023-03-18 20:48 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).