[PATCH] [3/4] Introduce _SYSDEV_ATTR

Olof Johansson olof at lixom.net
Mon Jan 29 14:24:57 EST 2007


Introduce _SYSDEV_ATTR(), to be used to just define the struct, and not a
named variable with the attribute. Useful for arrays of sysdev_attributes.

Signed-off-by: Olof Johansson <olof at lixom.net>
Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>                                              


Index: merge/include/linux/sysdev.h
===================================================================
--- merge.orig/include/linux/sysdev.h
+++ merge/include/linux/sysdev.h
@@ -98,12 +98,16 @@ struct sysdev_attribute { 
 };
 
 
-#define SYSDEV_ATTR(_name,_mode,_show,_store) 		\
-struct sysdev_attribute attr_##_name = { 			\
-	.attr = {.name = __stringify(_name), .mode = _mode },	\
+#define _SYSDEV_ATTR(_name,_mode,_show,_store)			\
+{								\
+	.attr = { .name = __stringify(_name), .mode = _mode,	\
+		 .owner = THIS_MODULE },			\
 	.show	= _show,					\
 	.store	= _store,					\
-};
+}
+
+#define SYSDEV_ATTR(_name,_mode,_show,_store)		\
+struct sysdev_attribute attr_##_name = _SYSDEV_ATTR(_name,_mode,_show,_store);
 
 extern int sysdev_create_file(struct sys_device *, struct sysdev_attribute *);
 extern void sysdev_remove_file(struct sys_device *, struct sysdev_attribute *);



More information about the Linuxppc-dev mailing list