* [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> @ 2014-01-21 21:22 Paul Gortmaker 2014-01-21 21:22 ` [PATCH 04/73] netfilter: don't use module_init/exit in core IPV4 code Paul Gortmaker ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Paul Gortmaker @ 2014-01-21 21:22 UTC (permalink / raw) To: linux-kernel Cc: linux-arch, Paul Gortmaker, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linuxppc-dev, linux-s390, sparclinux, x86, netdev, kvm, sfr, rusty, gregkh, akpm, torvalds TL;DR - We removed cpuinit and devinit, which left ~2000 instances of include <linux/init.h> that were no longer needed. To fully enable this removal/cleanup, we relocate module_init() from init.h into module.h. Multi arch/multi config build testing on linux-next has been used to find and fix any implicit header dependencies prior to deploying the actual init.h --> module.h move, to preserve bisection. Additional details beyond TL;DR: module_init/module_exit and friends moved to module.h ===================================================== Aside from enabling this init.h cleanup to extend into modular files, it actually does make sense. For all modules will use some form of our initfunc processing/categorization, but not all initfunc users will be necessarily using modular functionality. So we move these module related macros to module.h and ensure module.h sources init.h module_init in non modular code: ================================ This series uncovered that we are enabling people to use module_init in non-modular code. While that works fine, there are at least three reasons why it probably should not be encouraged: 1) it makes a casual reader of the code assume the code is modular even though it is obj-y (builtin) or controlled by a bool Kconfig. 2) it makes it too easy to add dead code in a function that is handed to module_exit() -- [more on that below] 3) it breaks our ability to use priority sorted initcalls properly [more on that below.] After this change, a new coder who tries to make use of module_init in non modular code would find themselves also needing to include the module.h header. At which point the odds are greater that they would ask themselves "Am I doing this right? I shouldn't need this." Note that existing non-modular code that already includes module.h and uses module_init doesn't get fixed here, since they already build w/o errors triggered by this change; we'll have to hunt them down later. module_init and initcall ordering: ================================== We have a group of about ten priority sorted initcalls, that are called in init/main.c after most of the hard coded/direct calls have been processed. These serve the purpose of avoiding everyone poking at init/main.c to hook in their init sequence. The bins are: pure_initcall 0 core_initcall 1 postcore_initcall 2 arch_initcall 3 subsys_initcall 4 fs_initcall 5 device_initcall 6 late_initcall 7 These are meant to eventually replace users of the non specific priority "__initcall" which currently maps onto device_initcall. This is of interest, because in non-modular code, cpp does this: module_init --> __initcall --> device_initcall So all module_init() land in the device_initcall bucket, rather late in the sequence. That makes sense, since if it was a module, the init could be real late (days, weeks after boot). But now imagine you add support for some non-modular bus/arch/infrastructure (say for e.g. PCI) and you use module_init for it. That means anybody else who wants to use your subsystem can't do so if they use an initcall of 0 --> 5 priority. For a real world example of this, see patch #1 in this series: https://lkml.org/lkml/2014/1/14/809 We don't want to force code that is clearly arch or subsys or fs specific to have to use the device_initcall just because something else has been mistakenly put (or left) in that bucket. So a couple of changes do actually change the initcall level where it is inevitably appropriate to do so. Those are called out explicitly in their respective commit logs. module_exit and dead code ========================= Built in code will never have an opportunity to call functions that are registered with module_exit(), so any cases of that uncovered in this series delete that dead code. Note that any built-in code that was already including module.h and using module_exit won't have shown up as breakage on the build coverage of this series, so we'll have to find those independently later. It looks like there may be quite a few that are invisibly created via module_platform_driver -- a macro that creates module_init and module_exit automatically. We may want to consider relocating module_platform_driver into module.h later... cpuinit ======= To finalize the removal of cpuinit, which was done several releases ago, we remove the remaining stub functions from init.h in this series. We've seen one or two "users" try to creep back in, so this will close the door on that chapter and prevent creep. When, what and where? ===================== When: Ideally, barring any objections or massive oversights on my part, this will go in at or around rc1, i.e. in about 2wks. In the meantime I will continue daily re-test on linux-next across ~10 different arch, using allyesconfig, allmodconfig and arch specific defconfigs for things like mips/arm/powerpc; as I have been doing for a while. Where: This work exists as a queue of patches that I apply to linux-next; since the changes are fixing some things that currently can only be found there. The patch series can be found at: http://git.kernel.org/cgit/linux/kernel/git/paulg/init.git git://git.kernel.org/pub/scm/linux/kernel/git/paulg/init.git The patches are not in strict chronological order, since when I've found a header change causes a build regression that is due to an implicit dependency/inclusion, I place the dependency fix before the header change that caused it, so that bisection is preserved. I've avoided annoying Stephen with another queue of patches for linux-next while the development content was in flux, but now that the merge window has opened, and new additions are fewer, perhaps he wouldn't mind tacking it on the end... Stephen? In order to reduce the size of the overall queue here, I have already put some dependency-free changes through maintainer trees after re-testing them on whatever their development baseline was. That made sense for the larger ones (drivers/[net,usb,input] some arch trees...) and for the kernel/ mm/ and fs/ ones where the changes were less trivial and an earlier review was desired. But that independent treatment doesn't scale for handling all the commits -- hence ~1400 of the full ~2k of init.h removals remain here in this series. What: The audit for removal of extra init.h lines has covered drivers/, all of the main architectures (and some of the more fringe ones), and core dirs like mm/ fs/ and kernel/ too. The removals from include/ itself are probably the most valuable, in terms of reducing the amount of stuff we needlessly feed CPP. There is probably more fringe ones to be found, but this covers the majority of them. Additional ones can be fed in later (through the trivial tree perhaps) as desired. Build coverage (from memory) has included, but is not limited to: allyesconfig, allmodconfig: x86, x86_64, ia64, s390, arm, mips, sparc, powerpc arch specifc arch/<name>/config/*config files: arm, mips, powerpc defconfig: (all of the above), c6x, parisc, uml, tile, c6x, blackfin, ... and it will continue to take place for the next ~2wks, until I can reliably apply the queue to master and submit a pull request. Thanks for reading this far, and thanks to those who have merged init.h cleanup commits already! Additional comments, reviews and acks welcomed. Paul. --- Cc: linux-alpha@vger.kernel.org Cc: linux-arch@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-ia64@vger.kernel.org Cc: linux-m68k@lists.linux-m68k.org Cc: linux-mips@linux-mips.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-s390@vger.kernel.org Cc: sparclinux@vger.kernel.org Cc: x86@kernel.org Cc: netdev@vger.kernel.org Cc: kvm@vger.kernel.org Cc: sfr@canb.auug.org.au Cc: rusty@rustcorp.com.au Cc: gregkh@linuxfoundation.org Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Paul Gortmaker (73): init: delete the __cpuinit related stubs mm: replace module_init usages with subsys_initcall in nommu.c fs/notify: don't use module_init for non-modular inotify_user code netfilter: don't use module_init/exit in core IPV4 code x86: don't use module_init in non-modular intel_mid_vrtc.c x86: don't use module_init for non-modular core bootflag code x86: replace __init_or_module with __init in non-modular vsmp_64.c drivers/tty/hvc: don't use module_init in non-modular hyp. console code staging: don't use module_init in non-modular ion_dummy_driver.c powerpc: use device_initcall for registering rtc devices powerpc: book3s KVM can be modular so it should use module.h powerpc: kvm e500/44x is not modular, so don't use module_init powerpc: use subsys_initcall for Freescale Local Bus powerpc: don't use module_init for non-modular core hugetlb code powerpc: don't use module_init in non-modular 83xx suspend code arm: include module.h in drivers/bus/omap_l3_smx.c arm: fix implicit module.h use in mach-at91 gpio.h arm: fix implicit #include <linux/init.h> in entry asm. arm: mach-s3c64xx mach-crag6410-module.c is not modular arm: use subsys_initcall in non-modular pl320 IPC code arm: don't use module_init in non-modular mach-vexpress/spc.c code alpha: don't use module_init for non-modular core code sparc: don't use module_init in non-modular pci.c code m68k: don't use module_init in non-modular mvme16x/rtc.c code ia64: don't use module_init for non-modular core kernel/mca.c code ia64: don't use module_init in non-modular sim/simscsi.c code drivers/clk: don't use module_init in clk-nomadik.c which is non-modular cpuidle: don't use modular platform register in non-modular ARM drivers drivers/platform: don't use modular register in non-modular pdev_bus.c drivers/i2c: busses/i2c-acorn.c is tristate and should use module.h module: relocate module_init from init.h to module.h logo: emit "#include <linux/init.h> in autogenerated C file arm: delete non-required instances of include <linux/init.h> mips: delete non-required instances of include <linux/init.h> sparc: delete non-required instances of include <linux/init.h> s390: delete non-required instances of include <linux/init.h> alpha: delete non-required instances of <linux/init.h> blackfin: delete non-required instances of <linux/init.h> powerpc: delete another unrequired instance of <linux/init.h> watchdog: delete non-required instances of include <linux/init.h> video: delete non-required instances of include <linux/init.h> rtc: delete non-required instances of include <linux/init.h> scsi: delete non-required instances of include <linux/init.h> spi: delete non-required instances of include <linux/init.h> acpi: delete non-required instances of include <linux/init.h> drivers/power: delete non-required instances of include <linux/init.h> drivers/media: delete non-required instances of include <linux/init.h> drivers/ata: delete non-required instances of include <linux/init.h> drivers/mtd: delete non-required instances of include <linux/init.h> drivers/hwmon: delete non-required instances of include <linux/init.h> drivers/i2c: delete non-required instances of include <linux/init.h> drivers/pinctrl: delete non-required instances of include <linux/init.h> drivers/isdn: delete non-required instances of include <linux/init.h> drivers/leds: delete non-required instances of include <linux/init.h> drivers/pcmcia: delete non-required instances of include <linux/init.h> drivers/char: delete non-required instances of include <linux/init.h> drivers/infiniband: delete non-required instances of include <linux/init.h> drivers/mfd: delete non-required instances of include <linux/init.h> drivers/gpio: delete non-required instances of include <linux/init.h> drivers/bluetooth: delete non-required instances of include <linux/init.h> drivers/mmc: delete non-required instances of include <linux/init.h> drivers/crypto: delete non-required instances of include <linux/init.h> drivers/platform: delete non-required instances of include <linux/init.h> drivers/misc: delete non-required instances of include <linux/init.h> drivers/edac: delete non-required instances of include <linux/init.h> drivers/macintosh: delete non-required instances of include <linux/init.h> drivers/base: delete non-required instances of include <linux/init.h> drivers/cpufreq: delete non-required instances of <linux/init.h> drivers/pci: delete non-required instances of <linux/init.h> drivers/dma: delete non-required instances of <linux/init.h> drivers/gpu: delete non-required instances of <linux/init.h> drivers: delete remaining non-required instances of <linux/init.h> include: remove needless instances of <linux/init.h> arch/alpha/kernel/err_ev6.c | 1 - arch/alpha/kernel/irq.c | 1 - arch/alpha/kernel/srmcons.c | 3 +- arch/alpha/kernel/traps.c | 1 - arch/alpha/oprofile/op_model_ev4.c | 1 - arch/alpha/oprofile/op_model_ev5.c | 1 - arch/alpha/oprofile/op_model_ev6.c | 1 - arch/alpha/oprofile/op_model_ev67.c | 1 - arch/arm/common/dmabounce.c | 1 - arch/arm/firmware/trusted_foundations.c | 1 - arch/arm/include/asm/arch_timer.h | 1 - arch/arm/kernel/entry-armv.S | 2 + arch/arm/kernel/entry-header.S | 1 - arch/arm/kernel/hyp-stub.S | 1 - arch/arm/kernel/suspend.c | 1 - arch/arm/kernel/unwind.c | 1 - arch/arm/mach-at91/include/mach/gpio.h | 1 + arch/arm/mach-cns3xxx/pm.c | 1 - arch/arm/mach-exynos/headsmp.S | 1 - arch/arm/mach-footbridge/personal.c | 1 - arch/arm/mach-imx/headsmp.S | 1 - arch/arm/mach-imx/iomux-v3.c | 1 - [.... snip ~1300 lines ...] drivers/watchdog/stmp3xxx_rtc_wdt.c | 1 - drivers/watchdog/wdt_pci.c | 1 - drivers/xen/xen-stub.c | 1 - fs/notify/inotify/inotify_user.c | 4 +- include/drm/drmP.h | 2 +- include/linux/fb.h | 1 - include/linux/ide.h | 1 - include/linux/init.h | 77 ---------------------- include/linux/kdb.h | 1 - include/linux/linux_logo.h | 3 - include/linux/lsm_audit.h | 1 - include/linux/module.h | 72 ++++++++++++++++++++ include/linux/moduleparam.h | 1 - include/linux/netfilter.h | 1 - include/linux/nls.h | 2 +- include/linux/percpu_ida.h | 1 - include/linux/profile.h | 1 - include/linux/pstore_ram.h | 1 - include/linux/usb/gadget.h | 1 - include/linux/zorro.h | 1 - include/xen/xenbus.h | 1 - mm/nommu.c | 4 +- net/ipv4/netfilter.c | 9 +-- scripts/pnmtologo.c | 1 + scripts/tags.sh | 2 +- 1254 files changed, 131 insertions(+), 1431 deletions(-) mode change 100755 => 100644 scripts/tags.sh -- 1.8.4.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 04/73] netfilter: don't use module_init/exit in core IPV4 code 2014-01-21 21:22 [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Paul Gortmaker @ 2014-01-21 21:22 ` Paul Gortmaker 2014-01-21 21:22 ` [PATCH 53/73] drivers/isdn: delete non-required instances of include <linux/init.h> Paul Gortmaker 2014-01-22 7:00 ` [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Stephen Rothwell 2 siblings, 0 replies; 8+ messages in thread From: Paul Gortmaker @ 2014-01-21 21:22 UTC (permalink / raw) To: linux-kernel Cc: linux-arch, Paul Gortmaker, Pablo Neira Ayuso, Patrick McHardy, Jozsef Kadlecsik, David S. Miller, netfilter-devel, netdev The file net/ipv4/netfilter.o is created based on whether CONFIG_NETFILTER is set. However that is defined as a bool, and hence this file with the core netfilter hooks will never be modular. So using module_init as an alias for __initcall can be somewhat 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. Also add an inclusion of init.h, as that was previously implicit here in the netfilter.c file. Note that direct use of __initcall is discouraged, vs. one of the priority categorized subgroups. As __initcall gets mapped onto device_initcall, our use of subsys_initcall (which seems to make sense for netfilter code) will thus change this registration from level 6-device to level 4-subsys (i.e. slightly earlier). However no observable impact of that small difference has been observed during testing, or is expected. (i.e. the location of the netfilter messages in dmesg remains unchanged with respect to all the other surrounding messages.) As for the module_exit, rather than replace it with __exitcall, we simply remove it, since it appears only UML does anything with those, and even for UML, there is no relevant cleanup to be done here. Cc: Pablo Neira Ayuso <pablo@netfilter.org> Cc: Patrick McHardy <kaber@trash.net> Cc: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: netfilter-devel@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- net/ipv4/netfilter.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/net/ipv4/netfilter.c b/net/ipv4/netfilter.c index c3e0ade..31abf96 100644 --- a/net/ipv4/netfilter.c +++ b/net/ipv4/netfilter.c @@ -197,11 +197,4 @@ static int __init ipv4_netfilter_init(void) { return nf_register_afinfo(&nf_ip_afinfo); } - -static void __exit ipv4_netfilter_fini(void) -{ - nf_unregister_afinfo(&nf_ip_afinfo); -} - -module_init(ipv4_netfilter_init); -module_exit(ipv4_netfilter_fini); +device_initcall(ipv4_netfilter_init); -- 1.8.4.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH 53/73] drivers/isdn: delete non-required instances of include <linux/init.h> 2014-01-21 21:22 [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Paul Gortmaker 2014-01-21 21:22 ` [PATCH 04/73] netfilter: don't use module_init/exit in core IPV4 code Paul Gortmaker @ 2014-01-21 21:22 ` Paul Gortmaker 2014-01-21 22:35 ` David Miller 2014-01-22 7:00 ` [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Stephen Rothwell 2 siblings, 1 reply; 8+ messages in thread From: Paul Gortmaker @ 2014-01-21 21:22 UTC (permalink / raw) To: linux-kernel Cc: linux-arch, Paul Gortmaker, Karsten Keil, Armin Schindler, netdev None of these files are actually using any __init type directives and hence don't need to include <linux/init.h>. Most are just a left over from __devinit and __cpuinit removal, or simply due to code getting copied from one driver to the next. Cc: Karsten Keil <isdn@linux-pingi.de> Cc: Armin Schindler <mac@melware.de> (maintainer:ISDN SUBSYSTEM Cc: netdev@vger.kernel.org Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> --- drivers/isdn/hardware/avm/avm_cs.c | 1 - drivers/isdn/hardware/eicon/platform.h | 1 - drivers/isdn/hisax/amd7930_fn.c | 1 - drivers/isdn/hisax/asuscom.c | 1 - drivers/isdn/hisax/avm_a1.c | 1 - drivers/isdn/hisax/avm_a1p.c | 1 - drivers/isdn/hisax/avma1_cs.c | 1 - drivers/isdn/hisax/bkm_a4t.c | 1 - drivers/isdn/hisax/bkm_a8.c | 1 - drivers/isdn/hisax/diva.c | 1 - drivers/isdn/hisax/elsa.c | 1 - drivers/isdn/hisax/elsa_cs.c | 1 - drivers/isdn/hisax/enternow_pci.c | 1 - drivers/isdn/hisax/fsm.c | 1 - drivers/isdn/hisax/gazel.c | 1 - drivers/isdn/hisax/hfc_2bds0.c | 1 - drivers/isdn/hisax/hfc_2bs0.c | 1 - drivers/isdn/hisax/hfc_pci.c | 1 - drivers/isdn/hisax/hfc_sx.c | 1 - drivers/isdn/hisax/hfcscard.c | 1 - drivers/isdn/hisax/hscx.c | 1 - drivers/isdn/hisax/icc.c | 1 - drivers/isdn/hisax/ipacx.c | 1 - drivers/isdn/hisax/isac.c | 1 - drivers/isdn/hisax/isar.c | 1 - drivers/isdn/hisax/isurf.c | 1 - drivers/isdn/hisax/ix1_micro.c | 1 - drivers/isdn/hisax/jade.c | 1 - drivers/isdn/hisax/mic.c | 1 - drivers/isdn/hisax/netjet.c | 1 - drivers/isdn/hisax/niccy.c | 1 - drivers/isdn/hisax/nj_s.c | 1 - drivers/isdn/hisax/nj_u.c | 1 - drivers/isdn/hisax/s0box.c | 1 - drivers/isdn/hisax/saphir.c | 1 - drivers/isdn/hisax/sedlbauer.c | 1 - drivers/isdn/hisax/sedlbauer_cs.c | 1 - drivers/isdn/hisax/sportster.c | 1 - drivers/isdn/hisax/st5481_b.c | 1 - drivers/isdn/hisax/st5481_usb.c | 1 - drivers/isdn/hisax/teleint.c | 1 - drivers/isdn/hisax/teles0.c | 1 - drivers/isdn/hisax/teles3.c | 1 - drivers/isdn/hisax/teles_cs.c | 1 - drivers/isdn/hisax/telespci.c | 1 - drivers/isdn/hisax/w6692.c | 1 - drivers/isdn/i4l/isdnhdlc.c | 1 - 47 files changed, 47 deletions(-) diff --git a/drivers/isdn/hardware/avm/avm_cs.c b/drivers/isdn/hardware/avm/avm_cs.c index 62b8030..4332bd8 100644 --- a/drivers/isdn/hardware/avm/avm_cs.c +++ b/drivers/isdn/hardware/avm/avm_cs.c @@ -11,7 +11,6 @@ #include <linux/module.h> #include <linux/kernel.h> -#include <linux/init.h> #include <linux/ptrace.h> #include <linux/string.h> #include <linux/tty.h> diff --git a/drivers/isdn/hardware/eicon/platform.h b/drivers/isdn/hardware/eicon/platform.h index b2edb75..b034ac1 100644 --- a/drivers/isdn/hardware/eicon/platform.h +++ b/drivers/isdn/hardware/eicon/platform.h @@ -19,7 +19,6 @@ #endif #include <linux/module.h> -#include <linux/init.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/skbuff.h> diff --git a/drivers/isdn/hisax/amd7930_fn.c b/drivers/isdn/hisax/amd7930_fn.c index 36817e0..4d437f2 100644 --- a/drivers/isdn/hisax/amd7930_fn.c +++ b/drivers/isdn/hisax/amd7930_fn.c @@ -58,7 +58,6 @@ #include "isac.h" #include "amd7930_fn.h" #include <linux/interrupt.h> -#include <linux/init.h> #include <linux/gfp.h> static void Amd7930_new_ph(struct IsdnCardState *cs); diff --git a/drivers/isdn/hisax/asuscom.c b/drivers/isdn/hisax/asuscom.c index 62f9c43..cdbbec7 100644 --- a/drivers/isdn/hisax/asuscom.c +++ b/drivers/isdn/hisax/asuscom.c @@ -12,7 +12,6 @@ * */ -#include <linux/init.h> #include <linux/isapnp.h> #include "hisax.h" #include "isac.h" diff --git a/drivers/isdn/hisax/avm_a1.c b/drivers/isdn/hisax/avm_a1.c index 7dd7408..d3dbf02 100644 --- a/drivers/isdn/hisax/avm_a1.c +++ b/drivers/isdn/hisax/avm_a1.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/avm_a1p.c b/drivers/isdn/hisax/avm_a1p.c index bc52d54..50f1b1a 100644 --- a/drivers/isdn/hisax/avm_a1p.c +++ b/drivers/isdn/hisax/avm_a1p.c @@ -13,7 +13,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/avma1_cs.c b/drivers/isdn/hisax/avma1_cs.c index baad94e..cf305b5 100644 --- a/drivers/isdn/hisax/avma1_cs.c +++ b/drivers/isdn/hisax/avma1_cs.c @@ -13,7 +13,6 @@ #include <linux/kernel.h> -#include <linux/init.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/string.h> diff --git a/drivers/isdn/hisax/bkm_a4t.c b/drivers/isdn/hisax/bkm_a4t.c index c360164..8ac171b 100644 --- a/drivers/isdn/hisax/bkm_a4t.c +++ b/drivers/isdn/hisax/bkm_a4t.c @@ -11,7 +11,6 @@ */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c index dd663ea..20ad1f7 100644 --- a/drivers/isdn/hisax/bkm_a8.c +++ b/drivers/isdn/hisax/bkm_a8.c @@ -11,7 +11,6 @@ */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "ipac.h" diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c index 4fc90de..c8d2682 100644 --- a/drivers/isdn/hisax/diva.c +++ b/drivers/isdn/hisax/diva.c @@ -15,7 +15,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c index 2be1c8a..bdf952b 100644 --- a/drivers/isdn/hisax/elsa.c +++ b/drivers/isdn/hisax/elsa.c @@ -18,7 +18,6 @@ * */ -#include <linux/init.h> #include <linux/slab.h> #include "hisax.h" #include "arcofi.h" diff --git a/drivers/isdn/hisax/elsa_cs.c b/drivers/isdn/hisax/elsa_cs.c index 40f6fad..ca35784 100644 --- a/drivers/isdn/hisax/elsa_cs.c +++ b/drivers/isdn/hisax/elsa_cs.c @@ -37,7 +37,6 @@ #include <linux/module.h> #include <linux/kernel.h> -#include <linux/init.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/string.h> diff --git a/drivers/isdn/hisax/enternow_pci.c b/drivers/isdn/hisax/enternow_pci.c index e8d431a..2fd3886 100644 --- a/drivers/isdn/hisax/enternow_pci.c +++ b/drivers/isdn/hisax/enternow_pci.c @@ -67,7 +67,6 @@ #include <linux/interrupt.h> #include <linux/ppp_defs.h> #include <linux/pci.h> -#include <linux/init.h> #include "netjet.h" diff --git a/drivers/isdn/hisax/fsm.c b/drivers/isdn/hisax/fsm.c index c7a9471..61db6fa 100644 --- a/drivers/isdn/hisax/fsm.c +++ b/drivers/isdn/hisax/fsm.c @@ -16,7 +16,6 @@ #include <linux/module.h> #include <linux/slab.h> -#include <linux/init.h> #include "hisax.h" #define FSM_TIMER_DEBUG 0 diff --git a/drivers/isdn/hisax/gazel.c b/drivers/isdn/hisax/gazel.c index 35c6df6..5157ac7 100644 --- a/drivers/isdn/hisax/gazel.c +++ b/drivers/isdn/hisax/gazel.c @@ -11,7 +11,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/hfc_2bds0.c b/drivers/isdn/hisax/hfc_2bds0.c index a756e5c..17fcbbd 100644 --- a/drivers/isdn/hisax/hfc_2bds0.c +++ b/drivers/isdn/hisax/hfc_2bds0.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include <linux/sched.h> #include <linux/slab.h> #include "hisax.h" diff --git a/drivers/isdn/hisax/hfc_2bs0.c b/drivers/isdn/hisax/hfc_2bs0.c index 838531b..2e2c319 100644 --- a/drivers/isdn/hisax/hfc_2bs0.c +++ b/drivers/isdn/hisax/hfc_2bs0.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "hfc_2bs0.h" #include "isac.h" diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c index 4a48255..5d8a1c7 100644 --- a/drivers/isdn/hisax/hfc_pci.c +++ b/drivers/isdn/hisax/hfc_pci.c @@ -15,7 +15,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "hfc_pci.h" #include "isdnl1.h" diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c index fa1fefd..99c7f09 100644 --- a/drivers/isdn/hisax/hfc_sx.c +++ b/drivers/isdn/hisax/hfc_sx.c @@ -11,7 +11,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "hfc_sx.h" #include "isdnl1.h" diff --git a/drivers/isdn/hisax/hfcscard.c b/drivers/isdn/hisax/hfcscard.c index 394da64..1b69f0c 100644 --- a/drivers/isdn/hisax/hfcscard.c +++ b/drivers/isdn/hisax/hfcscard.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include <linux/isapnp.h> #include "hisax.h" #include "hfc_2bds0.h" diff --git a/drivers/isdn/hisax/hscx.c b/drivers/isdn/hisax/hscx.c index 3e305fe..8c237dc 100644 --- a/drivers/isdn/hisax/hscx.c +++ b/drivers/isdn/hisax/hscx.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "hscx.h" #include "isac.h" diff --git a/drivers/isdn/hisax/icc.c b/drivers/isdn/hisax/icc.c index 51dae91..575700f 100644 --- a/drivers/isdn/hisax/icc.c +++ b/drivers/isdn/hisax/icc.c @@ -14,7 +14,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "icc.h" // #include "arcofi.h" diff --git a/drivers/isdn/hisax/ipacx.c b/drivers/isdn/hisax/ipacx.c index 5faa5de..d522dfb 100644 --- a/drivers/isdn/hisax/ipacx.c +++ b/drivers/isdn/hisax/ipacx.c @@ -11,7 +11,6 @@ */ #include <linux/kernel.h> #include <linux/slab.h> -#include <linux/init.h> #include "hisax_if.h" #include "hisax.h" #include "isdnl1.h" diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c index 7fdf78f..e671728 100644 --- a/drivers/isdn/hisax/isac.c +++ b/drivers/isdn/hisax/isac.c @@ -19,7 +19,6 @@ #include "isdnl1.h" #include <linux/interrupt.h> #include <linux/slab.h> -#include <linux/init.h> #define DBUSY_TIMER_VALUE 80 #define ARCOFI_USE 1 diff --git a/drivers/isdn/hisax/isar.c b/drivers/isdn/hisax/isar.c index f4956c7..993c6f3 100644 --- a/drivers/isdn/hisax/isar.c +++ b/drivers/isdn/hisax/isar.c @@ -8,7 +8,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isar.h" #include "isdnl1.h" diff --git a/drivers/isdn/hisax/isurf.c b/drivers/isdn/hisax/isurf.c index 1399ddd..0d5849f 100644 --- a/drivers/isdn/hisax/isurf.c +++ b/drivers/isdn/hisax/isurf.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "isar.h" diff --git a/drivers/isdn/hisax/ix1_micro.c b/drivers/isdn/hisax/ix1_micro.c index 7ae39f5..7d3b35c 100644 --- a/drivers/isdn/hisax/ix1_micro.c +++ b/drivers/isdn/hisax/ix1_micro.c @@ -17,7 +17,6 @@ * Germany */ -#include <linux/init.h> #include <linux/isapnp.h> #include "hisax.h" #include "isac.h" diff --git a/drivers/isdn/hisax/jade.c b/drivers/isdn/hisax/jade.c index e2ae787..f2c24f7 100644 --- a/drivers/isdn/hisax/jade.c +++ b/drivers/isdn/hisax/jade.c @@ -11,7 +11,6 @@ */ -#include <linux/init.h> #include "hisax.h" #include "hscx.h" #include "jade.h" diff --git a/drivers/isdn/hisax/mic.c b/drivers/isdn/hisax/mic.c index 9339867..6cf1367 100644 --- a/drivers/isdn/hisax/mic.c +++ b/drivers/isdn/hisax/mic.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/netjet.c b/drivers/isdn/hisax/netjet.c index 233e432..93b10a5 100644 --- a/drivers/isdn/hisax/netjet.c +++ b/drivers/isdn/hisax/netjet.c @@ -14,7 +14,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/niccy.c b/drivers/isdn/hisax/niccy.c index e4c33cf..480cc66 100644 --- a/drivers/isdn/hisax/niccy.c +++ b/drivers/isdn/hisax/niccy.c @@ -13,7 +13,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/nj_s.c b/drivers/isdn/hisax/nj_s.c index 32b4bbd..3c43f52 100644 --- a/drivers/isdn/hisax/nj_s.c +++ b/drivers/isdn/hisax/nj_s.c @@ -5,7 +5,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "isdnl1.h" diff --git a/drivers/isdn/hisax/nj_u.c b/drivers/isdn/hisax/nj_u.c index 4e8adbe..9f6eaab 100644 --- a/drivers/isdn/hisax/nj_u.c +++ b/drivers/isdn/hisax/nj_u.c @@ -5,7 +5,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "icc.h" #include "isdnl1.h" diff --git a/drivers/isdn/hisax/s0box.c b/drivers/isdn/hisax/s0box.c index 4e7d0aa..3749b09 100644 --- a/drivers/isdn/hisax/s0box.c +++ b/drivers/isdn/hisax/s0box.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/saphir.c b/drivers/isdn/hisax/saphir.c index 6b2d0ec..dc36783 100644 --- a/drivers/isdn/hisax/saphir.c +++ b/drivers/isdn/hisax/saphir.c @@ -12,7 +12,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/sedlbauer.c b/drivers/isdn/hisax/sedlbauer.c index f16a47b..1b9459f 100644 --- a/drivers/isdn/hisax/sedlbauer.c +++ b/drivers/isdn/hisax/sedlbauer.c @@ -38,7 +38,6 @@ * For example: hisaxctrl <DriverID> 9 ISAR.BIN */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "ipac.h" diff --git a/drivers/isdn/hisax/sedlbauer_cs.c b/drivers/isdn/hisax/sedlbauer_cs.c index 92ef62d..f738f26 100644 --- a/drivers/isdn/hisax/sedlbauer_cs.c +++ b/drivers/isdn/hisax/sedlbauer_cs.c @@ -37,7 +37,6 @@ #include <linux/kernel.h> #include <linux/module.h> -#include <linux/init.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/string.h> diff --git a/drivers/isdn/hisax/sportster.c b/drivers/isdn/hisax/sportster.c index 18cee63..943a186 100644 --- a/drivers/isdn/hisax/sportster.c +++ b/drivers/isdn/hisax/sportster.c @@ -12,7 +12,6 @@ * * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/st5481_b.c b/drivers/isdn/hisax/st5481_b.c index 4098491..ca141d6 100644 --- a/drivers/isdn/hisax/st5481_b.c +++ b/drivers/isdn/hisax/st5481_b.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include <linux/gfp.h> #include <linux/usb.h> #include <linux/netdevice.h> diff --git a/drivers/isdn/hisax/st5481_usb.c b/drivers/isdn/hisax/st5481_usb.c index ead0a4f..ee78014 100644 --- a/drivers/isdn/hisax/st5481_usb.c +++ b/drivers/isdn/hisax/st5481_usb.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include <linux/usb.h> #include <linux/slab.h> #include "st5481.h" diff --git a/drivers/isdn/hisax/teleint.c b/drivers/isdn/hisax/teleint.c index bf64754..d947abc 100644 --- a/drivers/isdn/hisax/teleint.c +++ b/drivers/isdn/hisax/teleint.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hfc_2bs0.h" diff --git a/drivers/isdn/hisax/teles0.c b/drivers/isdn/hisax/teles0.c index ce9eabd..bd439a9 100644 --- a/drivers/isdn/hisax/teles0.c +++ b/drivers/isdn/hisax/teles0.c @@ -15,7 +15,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isdnl1.h" #include "isac.h" diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c index 38fb2c1..c608d80 100644 --- a/drivers/isdn/hisax/teles3.c +++ b/drivers/isdn/hisax/teles3.c @@ -13,7 +13,6 @@ * Beat Doebeli * */ -#include <linux/init.h> #include <linux/isapnp.h> #include "hisax.h" #include "isac.h" diff --git a/drivers/isdn/hisax/teles_cs.c b/drivers/isdn/hisax/teles_cs.c index b8dd149..c0e532e 100644 --- a/drivers/isdn/hisax/teles_cs.c +++ b/drivers/isdn/hisax/teles_cs.c @@ -18,7 +18,6 @@ #include <linux/kernel.h> #include <linux/module.h> -#include <linux/init.h> #include <linux/ptrace.h> #include <linux/slab.h> #include <linux/string.h> diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c index 33eeb46..f9b2169 100644 --- a/drivers/isdn/hisax/telespci.c +++ b/drivers/isdn/hisax/telespci.c @@ -12,7 +12,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "isac.h" #include "hscx.h" diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c index a858955..7e0c60c 100644 --- a/drivers/isdn/hisax/w6692.c +++ b/drivers/isdn/hisax/w6692.c @@ -10,7 +10,6 @@ * */ -#include <linux/init.h> #include "hisax.h" #include "w6692.h" #include "isdnl1.h" diff --git a/drivers/isdn/i4l/isdnhdlc.c b/drivers/isdn/i4l/isdnhdlc.c index 027d1c5..5daace1 100644 --- a/drivers/isdn/i4l/isdnhdlc.c +++ b/drivers/isdn/i4l/isdnhdlc.c @@ -23,7 +23,6 @@ */ #include <linux/module.h> -#include <linux/init.h> #include <linux/crc-ccitt.h> #include <linux/isdn/hdlc.h> #include <linux/bitrev.h> -- 1.8.4.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 53/73] drivers/isdn: delete non-required instances of include <linux/init.h> 2014-01-21 21:22 ` [PATCH 53/73] drivers/isdn: delete non-required instances of include <linux/init.h> Paul Gortmaker @ 2014-01-21 22:35 ` David Miller 0 siblings, 0 replies; 8+ messages in thread From: David Miller @ 2014-01-21 22:35 UTC (permalink / raw) To: paul.gortmaker; +Cc: linux-kernel, linux-arch, isdn, mac, netdev From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Tue, 21 Jan 2014 16:22:56 -0500 > None of these files are actually using any __init type directives > and hence don't need to include <linux/init.h>. Most are just a > left over from __devinit and __cpuinit removal, or simply due to > code getting copied from one driver to the next. > > Cc: Karsten Keil <isdn@linux-pingi.de> > Cc: Armin Schindler <mac@melware.de> (maintainer:ISDN SUBSYSTEM > Cc: netdev@vger.kernel.org > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Acked-by: David S. Miller <davem@davemloft.net> ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> 2014-01-21 21:22 [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Paul Gortmaker 2014-01-21 21:22 ` [PATCH 04/73] netfilter: don't use module_init/exit in core IPV4 code Paul Gortmaker 2014-01-21 21:22 ` [PATCH 53/73] drivers/isdn: delete non-required instances of include <linux/init.h> Paul Gortmaker @ 2014-01-22 7:00 ` Stephen Rothwell 2014-01-23 0:38 ` Paul Gortmaker 2 siblings, 1 reply; 8+ messages in thread From: Stephen Rothwell @ 2014-01-22 7:00 UTC (permalink / raw) To: Paul Gortmaker Cc: linux-kernel, linux-arch, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linuxppc-dev, linux-s390, sparclinux, x86, netdev, kvm, rusty, gregkh, akpm, torvalds [-- Attachment #1: Type: text/plain, Size: 2351 bytes --] Hi Paul, On Tue, 21 Jan 2014 16:22:03 -0500 Paul Gortmaker <paul.gortmaker@windriver.com> wrote: > > Where: This work exists as a queue of patches that I apply to > linux-next; since the changes are fixing some things that currently > can only be found there. The patch series can be found at: > > http://git.kernel.org/cgit/linux/kernel/git/paulg/init.git > git://git.kernel.org/pub/scm/linux/kernel/git/paulg/init.git > > I've avoided annoying Stephen with another queue of patches for > linux-next while the development content was in flux, but now that > the merge window has opened, and new additions are fewer, perhaps he > wouldn't mind tacking it on the end... Stephen? OK, I have added this to the end of linux-next today - we will see how we go. It is called "init". Thanks for adding your subsystem tree as a participant of linux-next. As you may know, this is not a judgment of your code. The purpose of linux-next is for integration testing and to lower the impact of conflicts between subsystems in the next merge window. You will need to ensure that the patches/commits in your tree/series have been: * submitted under GPL v2 (or later) and include the Contributor's Signed-off-by, * posted to the relevant mailing list, * reviewed by you (or another maintainer of your subsystem tree), * successfully unit tested, and * destined for the current or next Linux merge window. Basically, this should be just what you would send to Linus (or ask him to fetch). It is allowed to be rebased if you deem it necessary. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au Legal Stuff: By participating in linux-next, your subsystem tree contributions are public and will be included in the linux-next trees. You may be sent e-mail messages indicating errors or other issues when the patches/commits from your subsystem tree are merged and tested in linux-next. These messages may also be cross-posted to the linux-next mailing list, the linux-kernel mailing list, etc. The linux-next tree project and IBM (my employer) make no warranties regarding the linux-next project, the testing procedures, the results, the e-mails, etc. If you don't agree to these ground rules, let me know and I'll remove your tree from participation in linux-next. [-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> 2014-01-22 7:00 ` [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Stephen Rothwell @ 2014-01-23 0:38 ` Paul Gortmaker 2014-01-28 3:13 ` Benjamin Herrenschmidt 0 siblings, 1 reply; 8+ messages in thread From: Paul Gortmaker @ 2014-01-23 0:38 UTC (permalink / raw) To: Stephen Rothwell Cc: linux-kernel, linux-arch, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linuxppc-dev, linux-s390, sparclinux, x86, netdev, kvm, rusty, gregkh, akpm, torvalds [Re: [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h>] On 22/01/2014 (Wed 18:00) Stephen Rothwell wrote: > Hi Paul, > > On Tue, 21 Jan 2014 16:22:03 -0500 Paul Gortmaker <paul.gortmaker@windriver.com> wrote: > > > > Where: This work exists as a queue of patches that I apply to > > linux-next; since the changes are fixing some things that currently > > can only be found there. The patch series can be found at: > > > > http://git.kernel.org/cgit/linux/kernel/git/paulg/init.git > > git://git.kernel.org/pub/scm/linux/kernel/git/paulg/init.git > > > > I've avoided annoying Stephen with another queue of patches for > > linux-next while the development content was in flux, but now that > > the merge window has opened, and new additions are fewer, perhaps he > > wouldn't mind tacking it on the end... Stephen? > > OK, I have added this to the end of linux-next today - we will see how we > go. It is called "init". Thanks, it was a great help as it uncovered a few issues in fringe arch that I didn't have toolchains for, and I've fixed all of those up. I've noticed that powerpc has been un-buildable for a while now; I have used this hack patch locally so I could run the ppc defconfigs to check that I didn't break anything. Maybe useful for linux-next in the interim? It is a hack patch -- Not-Signed-off-by: Paul Gortmaker. :) Paul. -- diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h index d27960c89a71..d0f070a2b395 100644 --- a/arch/powerpc/include/asm/pgtable-ppc64.h +++ b/arch/powerpc/include/asm/pgtable-ppc64.h @@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, pmd_t *pmdp); #define pmd_move_must_withdraw pmd_move_must_withdraw -typedef struct spinlock spinlock_t; -static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl, - spinlock_t *old_pmd_ptl) +struct spinlock; +static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl, + struct spinlock *old_pmd_ptl) { /* * Archs like ppc64 use pgtable to store per pmd ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> 2014-01-23 0:38 ` Paul Gortmaker @ 2014-01-28 3:13 ` Benjamin Herrenschmidt 2014-01-28 16:21 ` Paul Gortmaker 0 siblings, 1 reply; 8+ messages in thread From: Benjamin Herrenschmidt @ 2014-01-28 3:13 UTC (permalink / raw) To: Paul Gortmaker Cc: Stephen Rothwell, linux-arch, linux-mips, linux-m68k, rusty, linux-ia64, kvm, linux-s390, netdev, x86, linux-kernel, torvalds, gregkh, linux-alpha, sparclinux, akpm, linuxppc-dev, linux-arm-kernel On Wed, 2014-01-22 at 19:38 -0500, Paul Gortmaker wrote: > Thanks, it was a great help as it uncovered a few issues in fringe arch > that I didn't have toolchains for, and I've fixed all of those up. > > I've noticed that powerpc has been un-buildable for a while now; I have > used this hack patch locally so I could run the ppc defconfigs to check > that I didn't break anything. Maybe useful for linux-next in the > interim? It is a hack patch -- Not-Signed-off-by: Paul Gortmaker. :) Can you and/or Aneesh submit that as a proper patch (with S-O-B etc...) ? Thanks ! Cheers, Ben. > Paul. > -- > > diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h > index d27960c89a71..d0f070a2b395 100644 > --- a/arch/powerpc/include/asm/pgtable-ppc64.h > +++ b/arch/powerpc/include/asm/pgtable-ppc64.h > @@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, > pmd_t *pmdp); > > #define pmd_move_must_withdraw pmd_move_must_withdraw > -typedef struct spinlock spinlock_t; > -static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl, > - spinlock_t *old_pmd_ptl) > +struct spinlock; > +static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl, > + struct spinlock *old_pmd_ptl) > { > /* > * Archs like ppc64 use pgtable to store per pmd > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> 2014-01-28 3:13 ` Benjamin Herrenschmidt @ 2014-01-28 16:21 ` Paul Gortmaker 0 siblings, 0 replies; 8+ messages in thread From: Paul Gortmaker @ 2014-01-28 16:21 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: Stephen Rothwell, linux-arch, linux-mips, linux-m68k, rusty, linux-ia64, kvm, linux-s390, netdev, x86, linux-kernel, torvalds, gregkh, linux-alpha, sparclinux, akpm, linuxppc-dev, linux-arm-kernel On 14-01-27 10:13 PM, Benjamin Herrenschmidt wrote: > On Wed, 2014-01-22 at 19:38 -0500, Paul Gortmaker wrote: > >> Thanks, it was a great help as it uncovered a few issues in fringe arch >> that I didn't have toolchains for, and I've fixed all of those up. >> >> I've noticed that powerpc has been un-buildable for a while now; I have >> used this hack patch locally so I could run the ppc defconfigs to check >> that I didn't break anything. Maybe useful for linux-next in the >> interim? It is a hack patch -- Not-Signed-off-by: Paul Gortmaker. :) > > Can you and/or Aneesh submit that as a proper patch (with S-O-B > etc...) ? I'd updated toolchains and didn't realize it was still broken. Patch sent. http://patchwork.ozlabs.org/patch/314749/ Paul. -- > > Thanks ! > > Cheers, > Ben. > >> Paul. >> -- >> >> diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h >> index d27960c89a71..d0f070a2b395 100644 >> --- a/arch/powerpc/include/asm/pgtable-ppc64.h >> +++ b/arch/powerpc/include/asm/pgtable-ppc64.h >> @@ -560,9 +560,9 @@ extern void pmdp_invalidate(struct vm_area_struct *vma, unsigned long address, >> pmd_t *pmdp); >> >> #define pmd_move_must_withdraw pmd_move_must_withdraw >> -typedef struct spinlock spinlock_t; >> -static inline int pmd_move_must_withdraw(spinlock_t *new_pmd_ptl, >> - spinlock_t *old_pmd_ptl) >> +struct spinlock; >> +static inline int pmd_move_must_withdraw(struct spinlock *new_pmd_ptl, >> + struct spinlock *old_pmd_ptl) >> { >> /* >> * Archs like ppc64 use pgtable to store per pmd >> >> _______________________________________________ >> Linuxppc-dev mailing list >> Linuxppc-dev@lists.ozlabs.org >> https://lists.ozlabs.org/listinfo/linuxppc-dev > > ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-01-28 16:21 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-01-21 21:22 [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Paul Gortmaker 2014-01-21 21:22 ` [PATCH 04/73] netfilter: don't use module_init/exit in core IPV4 code Paul Gortmaker 2014-01-21 21:22 ` [PATCH 53/73] drivers/isdn: delete non-required instances of include <linux/init.h> Paul Gortmaker 2014-01-21 22:35 ` David Miller 2014-01-22 7:00 ` [PATCH RFC 00/73] tree-wide: clean up some no longer required #include <linux/init.h> Stephen Rothwell 2014-01-23 0:38 ` Paul Gortmaker 2014-01-28 3:13 ` Benjamin Herrenschmidt 2014-01-28 16:21 ` Paul Gortmaker
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).