mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: <linux-kernel@vger.kernel.org>
Cc: Paul Gortmaker <paul.gortmaker@windriver.com>,
	"James E.J. Bottomley" <jejb@parisc-linux.org>,
	Helge Deller <deller@gmx.de>, <linux-parisc@vger.kernel.org>
Subject: [PATCH 11/15] parisc64: don't use module_init for non-modular core perf code
Date: Thu, 28 May 2015 20:48:09 -0400	[thread overview]
Message-ID: <1432860493-23831-12-git-send-email-paul.gortmaker@windriver.com> (raw)
In-Reply-To: <1432860493-23831-1-git-send-email-paul.gortmaker@windriver.com>

The perf.c code depends on CONFIG_64BIT, so it is either built-in
or absent.  It will never be modular, so using module_init as an
alias for __initcall is rather misleading.

Fix this up now, so that we can relocate module_init from
init.h into module.h in the future.  If we don't do this, we'd
have to add module.h to obviously non-modular code, and that
would be a worse thing.  Aside from it not making sense, it also
causes a ~10% increase in CPP overhead due to module.h having a
large list of headers itself -- for example compare line counts:

 device_initcall() and <linux/init.h>
	20238 arch/parisc/kernel/perf.i

 module_init() and <linux/module.h>
	22194 arch/parisc/kernel/perf.i

Direct use of __initcall is discouraged, vs prioritized ones.
Use of device_initcall is consistent with what __initcall
maps onto, and hence does not change the init order, making the
impact of this change zero.   Should someone with real hardware
for boot testing want to change it later to arch_initcall or
something different, they can do that at a later date.

Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-parisc@vger.kernel.org
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
---
 arch/parisc/kernel/perf.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c
index ba0c053e25ae..518f4f5f1f43 100644
--- a/arch/parisc/kernel/perf.c
+++ b/arch/parisc/kernel/perf.c
@@ -543,6 +543,7 @@ static int __init perf_init(void)
 
 	return 0;
 }
+device_initcall(perf_init);
 
 /*
  * perf_start_counters(void)
@@ -847,5 +848,3 @@ printk("perf_rdr_write\n");
 	}
 printk("perf_rdr_write done\n");
 }
-
-module_init(perf_init);
-- 
2.2.1


  parent reply	other threads:[~2015-05-29  0:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-29  0:47 [PATCH 00/15] Replace module_init with device_initcall in non modules Paul Gortmaker
2015-05-29  0:47 ` [PATCH 01/15] x86: don't use module_init in non-modular intel_mid_vrtc.c Paul Gortmaker
2015-05-29  0:48 ` [PATCH 02/15] x86: don't use module_init in non-modular devicetree.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 03/15] powerpc: use device_initcall for registering rtc devices Paul Gortmaker
2015-05-29  0:48 ` [PATCH 04/15] powerpc: don't use module_init in non-modular 83xx suspend code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 05/15] arm: don't use module_init in non-modular mach-vexpress/spc.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 06/15] alpha: don't use module_init for non-modular core code Paul Gortmaker
2015-05-29  5:51   ` Matt Turner
2015-05-29 15:15     ` Paul Gortmaker
2015-05-29  0:48 ` [PATCH 07/15] ia64: don't use module_init for non-modular core kernel/mca.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 08/15] ia64: don't use module_init in non-modular sim/simscsi.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 09/15] cris: don't use module_init for non-modular core intmem.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 10/15] parisc: don't use module_init for non-modular core pdc_cons code Paul Gortmaker
2015-05-29  0:48 ` Paul Gortmaker [this message]
2015-05-29  0:48 ` [PATCH 12/15] mn10300: don't use module_init in non-modular flash.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 13/15] sh: don't use module_init in non-modular psw.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 14/15] xtensa: don't use module_init for non-modular core network.c code Paul Gortmaker
2015-05-29  0:48 ` [PATCH 15/15] drivers/clk: don't use module_init in clk-nomadik.c which is non-modular Paul Gortmaker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1432860493-23831-12-git-send-email-paul.gortmaker@windriver.com \
    --to=paul.gortmaker@windriver.com \
    --cc=deller@gmx.de \
    --cc=jejb@parisc-linux.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome