Re: [PATCH 056/493] edac: remove use of __devexit_p
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2012-11-23 16:39:10
On Fri, Nov 23, 2012 at 11:06:35AM +0100, Borislav Petkov wrote:
On Thu, Nov 22, 2012 at 10:22:22AM -0800, Greg KH wrote:quoted
On Thu, Nov 22, 2012 at 02:44:51PM +0100, Borislav Petkov wrote:quoted
On Mon, Nov 19, 2012 at 01:20:05PM -0500, Bill Pemberton wrote:quoted
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed.Erm, I don't understand. __devexit_p is defined also for modules not only for CONFIG_HOTPLUG: #if defined(MODULE) || defined(CONFIG_HOTPLUG) #define __devexit_p(x) x #else #define __devexit_p(x) NULL #endif AFAICT, we cannot remove it yet no?If MODULE is defined, it defaults to nothing. And now that CONFIG_HOTPLUG is always set to Y, this always defaults to nothing.Huh, if MODULE is defined, __devexit_p(x) evaluates to the function name 'x' itself, AFAICT.
Yes, sorry, that is what I was trying to say here, I meant "nothing" in that the macro did not do anything, not that it was setting it to NULL.
So, if MODULE is defined and we have a reference from retained sections to a discarded section (I'm rereading the comment over __devexit_p in <include/linux/init.h> btw) then we'll get linker errors so we'd still need the ifdef thing, no?
No, as there will not be any discarded sections anymore because CONFIG_HOTPLUG is always enabled. We will just delete this whole #if/#endif section once all users of __devexit_p() are gone from the tree. Does that help out? thanks, greg k-h