Re: [PATCH 056/493] edac: remove use of __devexit_p
On Fri, Nov 23, 2012 at 08:40:24AM -0800, Greg KH wrote: 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? Yes, I missed the fact that there won't be any discarded sections anymore. Btw, in that case, you'd probably need to remove all those #ifdef CONFIG_HOTPLUG ... #endif stanzas surrounding different places in the kernel (I see 40ish currenty) now that HOTPLUG is def_bool y and if you haven't done so yet. Thanks for explaining. Btw, you can have my Acked-by: Borislav Petkov b...@alien8.de for the amd64_edac pieces. -- Regards/Gruss, Boris. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 056/493] edac: remove use of __devexit_p
On Sat, Nov 24, 2012 at 10:14:53AM +0100, Borislav Petkov wrote: On Fri, Nov 23, 2012 at 08:40:24AM -0800, Greg KH wrote: 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? Yes, I missed the fact that there won't be any discarded sections anymore. Btw, in that case, you'd probably need to remove all those #ifdef CONFIG_HOTPLUG ... #endif stanzas surrounding different places in the kernel (I see 40ish currenty) now that HOTPLUG is def_bool y and if you haven't done so yet. That removal was done as part of this 493 patches long patchset :) Thanks for explaining. Btw, you can have my Acked-by: Borislav Petkov b...@alien8.de for the amd64_edac pieces. Thanks, I will add it there, greg k-h ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 056/493] edac: remove use of __devexit_p
On Thu, Nov 22, 2012 at 10:22:22AM -0800, Greg KH wrote: On Thu, Nov 22, 2012 at 02:44:51PM +0100, Borislav Petkov wrote: On Mon, Nov 19, 2012 at 01:20:05PM -0500, Bill Pemberton wrote: 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. 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? What am I missing? Thanks. -- Regards/Gruss, Boris. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 056/493] edac: remove use of __devexit_p
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: On Thu, Nov 22, 2012 at 02:44:51PM +0100, Borislav Petkov wrote: On Mon, Nov 19, 2012 at 01:20:05PM -0500, Bill Pemberton wrote: 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 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 056/493] edac: remove use of __devexit_p
On Mon, Nov 19, 2012 at 01:20:05PM -0500, Bill Pemberton wrote: 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? Thanks. -- Regards/Gruss, Boris. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 056/493] edac: remove use of __devexit_p
On Thu, Nov 22, 2012 at 02:44:51PM +0100, Borislav Petkov wrote: On Mon, Nov 19, 2012 at 01:20:05PM -0500, Bill Pemberton wrote: 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. So it's not set to anything anymore, so it can be removed and then this whole define chunk can be removed. thanks, greg k-h ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 056/493] edac: remove use of __devexit_p
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer needed. Signed-off-by: Bill Pemberton wf...@virginia.edu Cc: Doug Thompson dougthomp...@xmission.com Cc: Borislav Petkov b...@alien8.de Cc: Mark Gross mark.gr...@intel.com Cc: Jason Uhlenkott juhle...@akamai.com Cc: Mauro Carvalho Chehab mche...@redhat.com Cc: Tim Small t...@buttersideup.com Cc: Ranganathan Desikan r...@jetztechnologies.com Cc: Arvind R. arvin...@gmail.com Cc: Egor Martovetsky e...@pasemi.com Cc: Olof Johansson o...@lixom.net Cc: linux-e...@vger.kernel.org Cc: linuxppc-dev@lists.ozlabs.org --- drivers/edac/amd64_edac.c | 2 +- drivers/edac/amd76x_edac.c | 2 +- drivers/edac/cell_edac.c | 2 +- drivers/edac/e752x_edac.c | 2 +- drivers/edac/e7xxx_edac.c | 2 +- drivers/edac/i3000_edac.c | 2 +- drivers/edac/i3200_edac.c | 2 +- drivers/edac/i5000_edac.c | 2 +- drivers/edac/i5100_edac.c | 2 +- drivers/edac/i5400_edac.c | 2 +- drivers/edac/i7300_edac.c | 2 +- drivers/edac/i7core_edac.c | 2 +- drivers/edac/i82443bxgx_edac.c | 2 +- drivers/edac/i82860_edac.c | 2 +- drivers/edac/i82875p_edac.c| 2 +- drivers/edac/i82975x_edac.c| 2 +- drivers/edac/mv64x60_edac.c| 2 +- drivers/edac/pasemi_edac.c | 2 +- drivers/edac/r82600_edac.c | 2 +- drivers/edac/sb_edac.c | 2 +- drivers/edac/tile_edac.c | 2 +- drivers/edac/x38_edac.c| 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index f74a684..c147e1e 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -2686,7 +2686,7 @@ MODULE_DEVICE_TABLE(pci, amd64_pci_table); static struct pci_driver amd64_pci_driver = { .name = EDAC_MOD_STR, .probe = amd64_probe_one_instance, - .remove = __devexit_p(amd64_remove_one_instance), + .remove = amd64_remove_one_instance, .id_table = amd64_pci_table, }; diff --git a/drivers/edac/amd76x_edac.c b/drivers/edac/amd76x_edac.c index 29eeb68..0430c35 100644 --- a/drivers/edac/amd76x_edac.c +++ b/drivers/edac/amd76x_edac.c @@ -350,7 +350,7 @@ MODULE_DEVICE_TABLE(pci, amd76x_pci_tbl); static struct pci_driver amd76x_driver = { .name = EDAC_MOD_STR, .probe = amd76x_init_one, - .remove = __devexit_p(amd76x_remove_one), + .remove = amd76x_remove_one, .id_table = amd76x_pci_tbl, }; diff --git a/drivers/edac/cell_edac.c b/drivers/edac/cell_edac.c index a1bbd8e..b99bf19 100644 --- a/drivers/edac/cell_edac.c +++ b/drivers/edac/cell_edac.c @@ -247,7 +247,7 @@ static struct platform_driver cell_edac_driver = { .owner = THIS_MODULE, }, .probe = cell_edac_probe, - .remove = __devexit_p(cell_edac_remove), + .remove = cell_edac_remove, }; static int __init cell_edac_init(void) diff --git a/drivers/edac/e752x_edac.c b/drivers/edac/e752x_edac.c index a5ed6b7..697acd5 100644 --- a/drivers/edac/e752x_edac.c +++ b/drivers/edac/e752x_edac.c @@ -1445,7 +1445,7 @@ MODULE_DEVICE_TABLE(pci, e752x_pci_tbl); static struct pci_driver e752x_driver = { .name = EDAC_MOD_STR, .probe = e752x_init_one, - .remove = __devexit_p(e752x_remove_one), + .remove = e752x_remove_one, .id_table = e752x_pci_tbl, }; diff --git a/drivers/edac/e7xxx_edac.c b/drivers/edac/e7xxx_edac.c index 9ff57f3..2b401ef 100644 --- a/drivers/edac/e7xxx_edac.c +++ b/drivers/edac/e7xxx_edac.c @@ -579,7 +579,7 @@ MODULE_DEVICE_TABLE(pci, e7xxx_pci_tbl); static struct pci_driver e7xxx_driver = { .name = EDAC_MOD_STR, .probe = e7xxx_init_one, - .remove = __devexit_p(e7xxx_remove_one), + .remove = e7xxx_remove_one, .id_table = e7xxx_pci_tbl, }; diff --git a/drivers/edac/i3000_edac.c b/drivers/edac/i3000_edac.c index d3d19cc..22d43a0 100644 --- a/drivers/edac/i3000_edac.c +++ b/drivers/edac/i3000_edac.c @@ -502,7 +502,7 @@ MODULE_DEVICE_TABLE(pci, i3000_pci_tbl); static struct pci_driver i3000_driver = { .name = EDAC_MOD_STR, .probe = i3000_init_one, - .remove = __devexit_p(i3000_remove_one), + .remove = i3000_remove_one, .id_table = i3000_pci_tbl, }; diff --git a/drivers/edac/i3200_edac.c b/drivers/edac/i3200_edac.c index b6653a6..532fabb 100644 --- a/drivers/edac/i3200_edac.c +++ b/drivers/edac/i3200_edac.c @@ -467,7 +467,7 @@ MODULE_DEVICE_TABLE(pci, i3200_pci_tbl); static struct pci_driver i3200_driver = { .name = EDAC_MOD_STR, .probe = i3200_init_one, - .remove = __devexit_p(i3200_remove_one), + .remove = i3200_remove_one, .id_table = i3200_pci_tbl, }; diff --git a/drivers/edac/i5000_edac.c b/drivers/edac/i5000_edac.c index 6a49dd0..782b2880e 100644 --- a/drivers/edac/i5000_edac.c +++ b/drivers/edac/i5000_edac.c @@ -1547,7 +1547,7 @@