On 03/19/2010 03:56 PM, Randy Dunlap wrote:
On 03/19/10 12:51, Justin P. Mattock wrote:After doing some things on a small issue, I noticed through web surfing, that there were patches submitted pertaining that __initcall is deprecated, and device_initcall should be used.Where was this discussion? Do you have any pointers to it?
The best info on this is scripts/checkpatch.pl line #2664 when I found this I just did a quick search of __initcall (which gives hits here and there) https://patchwork.kernel.org/patch/23344/ (also found others at around 2008 or so)
I don't see any mention of __initcall being deprecated in Linus' mainline git tree, or in linux-next, or in mmotm. Where are those patches?
I don't know(I'm out of the social pipeline when it comes to Linux news, and updates)..
like in the explanation part of the patch I was looking into something else, then ran into this, so as a break(from what I was originally doing) decided to do this and submit.
So as a change of subject(since what I was looking at was frustrating me),I decided to grep the whole tree and make the change(partially). Currently I'm running this patch on my system, kernel compiles without any errors or warnings.(thought there would be a speed increase but didn't see much(if any)).No, __initcall(x) is just a shorthand version of typing device_initcall(x). They do the same thing.
yep, that's what I found out as well(reason for the cosmetic in the subject line).
Biggest problem I have though is testing this on other hardware types (I only have a macbook,and an iMac). So please if you have the access to other arch/hardware types please test. Now what I mean by partially is the __initcall function is still there, so(if any) userspace apps/libs depend on this it's there so they dont break and/or any other subsystem, that needs time to make the changes.The only thing that might be affected is building out-of-tree drivers, but those are easy to fix.
alright..main concern is making sure things don't break in the kernel(even though things do).
I can have a go at the header files, submit then if it's something people agree they want to do, then they can go from there(if not it's fine as well).
Note: the remaining files that still have __initcall in them are: (according to grep) arch/um/include/shared/init.h include/linux/init.h scripts/checkpatch.pl either I or somebody else, can change this(although a bit concerned about breaking things). Signed-off-by: Justin P. Mattock<justinmattock@xxxxxxxxx> --- Documentation/DocBook/kernel-hacking.tmpl | 4 ++-- Documentation/cpu-freq/cpu-drivers.txt | 2 +- Documentation/kbuild/makefiles.txt | 2 +- arch/arm/mach-at91/leds.c | 2 +- arch/arm/mach-clps711x/p720t.c | 2 +- arch/arm/mach-ebsa110/leds.c | 2 +- arch/arm/mach-footbridge/cats-hw.c | 2 +- arch/arm/mach-footbridge/ebsa285-leds.c | 2 +- arch/arm/mach-footbridge/netwinder-hw.c | 2 +- arch/arm/mach-footbridge/netwinder-leds.c | 2 +- arch/arm/mach-ks8695/leds.c | 2 +- arch/arm/mach-omap1/leds.c | 2 +- arch/arm/mach-omap1/pm.c | 2 +- arch/arm/mach-orion5x/db88f5281-setup.c | 2 +- arch/arm/mach-orion5x/rd88f5182-setup.c | 2 +- arch/arm/mach-pxa/generic.c | 2 +- arch/arm/mach-pxa/pxa25x.c | 2 +- arch/arm/mach-shark/leds.c | 2 +- arch/blackfin/kernel/bfin_gpio.c | 2 +- arch/blackfin/mach-common/pm.c | 2 +- arch/cris/arch-v10/kernel/debugport.c | 2 +- arch/cris/arch-v10/kernel/fasttimer.c | 2 +- arch/cris/arch-v10/mm/init.c | 2 +- arch/cris/arch-v32/kernel/fasttimer.c | 2 +- arch/cris/arch-v32/kernel/pinmux.c | 2 +- arch/cris/arch-v32/kernel/signal.c | 2 +- arch/cris/arch-v32/mach-a3/io.c | 2 +- arch/cris/arch-v32/mach-a3/pinmux.c | 2 +- arch/cris/arch-v32/mach-fs/io.c | 2 +- arch/cris/arch-v32/mach-fs/pinmux.c | 2 +- arch/cris/kernel/profile.c | 2 +- arch/cris/kernel/time.c | 2 +- arch/cris/kernel/traps.c | 2 +- arch/frv/kernel/gdb-stub.c | 2 +- arch/frv/kernel/pm-mb93093.c | 2 +- arch/frv/kernel/pm.c | 2 +- arch/frv/kernel/sysctl.c | 2 +- arch/h8300/kernel/gpio.c | 2 +- arch/ia64/hp/sim/simeth.c | 2 +- arch/ia64/hp/sim/simserial.c | 2 +- arch/ia64/kernel/audit.c | 2 +- arch/ia64/kernel/crash.c | 2 +- arch/ia64/kernel/cyclone.c | 2 +- arch/ia64/kernel/perfmon.c | 2 +- arch/ia64/kernel/setup.c | 2 +- arch/ia64/kernel/uncached.c | 2 +- arch/ia64/kernel/unwind.c | 2 +- arch/ia64/mm/init.c | 2 +- arch/mips/Makefile | 2 +- arch/mips/kernel/unaligned.c | 2 +- arch/mips/lasat/sysctl.c | 2 +- arch/mips/math-emu/cp1emu.c | 2 +- arch/mips/nxp/pnx8550/common/proc.c | 2 +- arch/mips/sibyte/sb1250/bus_watcher.c | 2 +- arch/mn10300/kernel/gdb-stub.c | 2 +- arch/mn10300/kernel/mn10300-serial.c | 2 +- arch/mn10300/kernel/profile.c | 2 +- arch/parisc/kernel/pci-dma.c | 2 +- arch/parisc/kernel/pdc_chassis.c | 2 +- arch/powerpc/kernel/audit.c | 2 +- arch/powerpc/kernel/idle.c | 2 +- arch/powerpc/kernel/irq.c | 2 +- arch/powerpc/kernel/proc_powerpc.c | 2 +- arch/powerpc/kernel/prom.c | 4 ++-- arch/powerpc/kernel/rtas-proc.c | 2 +- arch/powerpc/kernel/rtasd.c | 2 +- arch/powerpc/kernel/sysfs.c | 2 +- arch/powerpc/kernel/tau_6xx.c | 2 +- arch/powerpc/kernel/vio.c | 2 +- arch/powerpc/platforms/iseries/lpevents.c | 2 +- arch/powerpc/platforms/iseries/mf.c | 2 +- arch/powerpc/platforms/iseries/proc.c | 2 +- arch/powerpc/platforms/iseries/viopath.c | 2 +- arch/powerpc/platforms/pseries/eeh.c | 2 +- arch/powerpc/platforms/pseries/hvCall_inst.c | 2 +- arch/powerpc/platforms/pseries/power.c | 2 +- arch/powerpc/platforms/pseries/ras.c | 2 +- arch/powerpc/platforms/pseries/reconfig.c | 2 +- arch/powerpc/xmon/xmon.c | 2 +- arch/s390/appldata/appldata_base.c | 2 +- arch/s390/kernel/audit.c | 2 +- arch/s390/kernel/compat_exec_domain.c | 2 +- arch/s390/kernel/ipl.c | 2 +- arch/s390/kernel/topology.c | 2 +- arch/sh/boards/board-edosk7760.c | 2 +- arch/sh/boards/board-sh7785lcr.c | 2 +- arch/sh/boards/mach-cayman/setup.c | 2 +- arch/sh/boards/mach-landisk/setup.c | 2 +- arch/sh/boards/mach-r2d/setup.c | 2 +- arch/sh/boards/mach-sdk7786/setup.c | 2 +- arch/sh/boards/mach-se/7206/setup.c | 2 +- arch/sh/boards/mach-se/7751/setup.c | 2 +- arch/sh/boards/mach-sh03/setup.c | 2 +- arch/sh/kernel/traps_64.c | 2 +- arch/sparc/kernel/apc.c | 2 +- arch/sparc/kernel/audit.c | 2 +- arch/sparc/kernel/mdesc.c | 2 +- arch/sparc/kernel/pmc.c | 2 +- arch/um/drivers/mconsole_kern.c | 8 ++++---- arch/um/drivers/net_kern.c | 2 +- arch/um/drivers/stderr_console.c | 2 +- arch/um/drivers/ubd_kern.c | 4 ++-- arch/um/kernel/exitcode.c | 2 +- arch/um/kernel/physmem.c | 2 +- arch/um/os-Linux/aio.c | 4 ++-- arch/um/os-Linux/skas/mem.c | 2 +- arch/um/os-Linux/skas/process.c | 2 +- arch/um/os-Linux/umid.c | 2 +- arch/um/sys-i386/tls.c | 2 +- arch/x86/kernel/audit_64.c | 2 +- arch/x86/kernel/tlb_uv.c | 4 ++-- arch/x86/kernel/vsyscall_64.c | 4 ++-- arch/x86/mm/dump_pagetables.c | 2 +- arch/x86/vdso/vdso32-setup.c | 4 ++-- arch/x86/vdso/vma.c | 2 +- arch/xtensa/platforms/iss/console.c | 2 +- drivers/net/arm/am79c961a.c | 2 +- drivers/net/hamradio/baycom_epp.c | 1 + drivers/net/hamradio/baycom_par.c | 1 + drivers/net/hamradio/baycom_ser_fdx.c | 1 + drivers/net/hamradio/baycom_ser_hdx.c | 1 + drivers/s390/char/sclp_cmd.c | 2 +- drivers/s390/char/sclp_config.c | 2 +- drivers/s390/char/sclp_cpi_sys.c | 2 +- drivers/s390/char/sclp_vt220.c | 2 +- drivers/s390/cio/blacklist.c | 2 +- drivers/staging/rtl8192u/ieee80211/api.c | 2 +- fs/aio.c | 2 +- fs/compat_ioctl.c | 2 +- ipc/ipc_sysctl.c | 2 +- ipc/mqueue.c | 2 +- ipc/util.c | 2 +- kernel/audit.c | 2 +- kernel/audit_tree.c | 2 +- kernel/dma.c | 2 +- kernel/futex.c | 2 +- kernel/lockdep_proc.c | 2 +- kernel/pid_namespace.c | 2 +- kernel/posix-cpu-timers.c | 2 +- kernel/posix-timers.c | 2 +- kernel/resource.c | 2 +- kernel/sched_debug.c | 2 +- kernel/time/timer_list.c | 2 +- kernel/time/timer_stats.c | 2 +- kernel/tracepoint.c | 2 +- kernel/utsname_sysctl.c | 2 +- lib/audit.c | 2 +- lib/debugobjects.c | 2 +- mm/bounce.c | 2 +- mm/memory.c | 2 +- mm/mm_init.c | 2 +- mm/slab.c | 2 +- mm/slub.c | 2 +- mm/swapfile.c | 2 +- net/ipv4/syncookies.c | 2 +- net/ipv4/sysctl_net_ipv4.c | 2 +- security/keys/proc.c | 2 +- security/selinux/hooks.c | 2 +- security/selinux/netif.c | 2 +- security/selinux/netlink.c | 2 +- security/selinux/netnode.c | 2 +- security/selinux/netport.c | 2 +- security/selinux/selinuxfs.c | 2 +- security/selinux/ss/services.c | 2 +- security/smack/smackfs.c | 2 +- sound/last.c | 2 +- 166 files changed, 176 insertions(+), 172 deletions(-)
-- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |