Re: MODULE_MAINTAINER

From: Rene Herman
Date: Mon Apr 23 2007 - 08:36:00 EST


On 04/23/2007 01:52 PM, Robert P. J. Day wrote:

On Mon, 23 Apr 2007, Rusty Russell wrote:

Valid points have been made on both sides. I suggest:

#define MODULE_MAINTAINER(_maintainer) \
MODULE_AUTHOR("(Maintained by) "_maintainer)

why bring MODULE_AUTHOR into it? just define it in terms of
MODULE_INFO:

#define MODULE_MAINTAINER(_m) MODULE_INFO(_m, "(Maintained by)" \
maintainer)

technically, the maintainer is not the same as the author so why
confuse the issue with an extra unnecessary macro expansion?

Swap arguments to MODULE_INFO, but yes, other than the extra "(Maintained by)" that's what was originally submitted:

http://lkml.org/lkml/2007/4/4/170

If you're going to be using a "maintainer" tag anyway as both that and yours above does, the "(Maintained by)" becomes superfluous, so we're back at the original.

I must say I'm not particularly sure either why reusing MODULE_AUTHOR would be better if MODULE_AUTHOR also remains (as Alan Cox pointed out might be desirable for legal reasons if nothing else). As fas as I'm aware, the other trivial patch I posted to init-module-tools:

http://lkml.org/lkml/2007/4/4/171

is all that's needed to make it useful.

But, I also really only care about being able to add MODULE_MAINTAINER() to some drivers that have outlived their authors and from that viewpoint there is no difference, so if Rusty feels this is better, so be it.

Andrew, mind if I submit this to you?

===
Provide MODULE_MAINTAINER() as a convenient place to stick a name and email address both for drivers having multiple (current and non-current) authors and for when someone who wants to maintain a driver isn't so much an author.

Signed-off-by: Rene Herman <rene.herman@xxxxxxxxx>
===

Rene.

diff --git a/include/linux/module.h b/include/linux/module.h
index 10f771a..3c54774 100644
--- a/include/linux/module.h
+++ b/include/linux/module.h
@@ -128,6 +128,10 @@ extern struct module __this_module;
/* Author, ideally of form NAME <EMAIL>[, NAME <EMAIL>]*[ and NAME <EMAIL>] */
#define MODULE_AUTHOR(_author) MODULE_INFO(author, _author)

+/* Maintainer, ideally of form NAME <EMAIL> */
+#define MODULE_MAINTAINER(_maintainer) \
+ MODULE_AUTHOR("(Maintained by) "_maintainer)
+
/* What your module does. */
#define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description)