diff -urN linux/arch/arm/kernel/dec21285.c linux-2.3.15-work/arch/arm/kernel/dec21285.c
--- linux/arch/arm/kernel/dec21285.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/arm/kernel/dec21285.c	Thu Aug 26 14:26:21 1999
@@ -129,7 +129,7 @@
 	return PCIBIOS_SUCCESSFUL;
 }
 
-__initfunc(void pci_set_cmd(struct pci_dev *dev, unsigned short clear, unsigned short set))
+void __init pci_set_cmd(struct pci_dev *dev, unsigned short clear, unsigned short set)
 {
 	unsigned short cmd;
 
@@ -138,7 +138,7 @@
 	pci_write_config_word(dev, PCI_COMMAND, cmd);
 }
 
-__initfunc(void pci_set_base_addr(struct pci_dev *dev, int idx, unsigned int addr))
+void __init pci_set_base_addr(struct pci_dev *dev, int idx, unsigned int addr)
 {
 	int reg = PCI_BASE_ADDRESS_0 + (idx << 2);
 
@@ -148,7 +148,7 @@
 	dev->base_address[idx] = addr;
 }
 
-__initfunc(void pcibios_fixup(void))
+void __init pcibios_fixup(void)
 {
 	struct pci_dev *dev;
 
@@ -167,7 +167,7 @@
 	hw_init();
 }
 
-__initfunc(void pcibios_init(void))
+void __init pcibios_init(void)
 {
 	unsigned int mem_size = (unsigned int)high_memory - PAGE_OFFSET;
 	unsigned long cntl;
@@ -242,11 +242,11 @@
 	printk(KERN_DEBUG"PCI: DEC21285 revision %02lX\n", *CSR_CLASSREV & 0xff);
 }
 
-__initfunc(void pcibios_fixup_bus(struct pci_bus *bus))
+void __init pcibios_fixup_bus(struct pci_bus *bus)
 {
 }
 
-__initfunc(char *pcibios_setup(char *str))
+char * __init pcibios_setup(char *str)
 {
 	return str;
 }
diff -urN linux/arch/arm/kernel/dma-a5k.c linux-2.3.15-work/arch/arm/kernel/dma-a5k.c
--- linux/arch/arm/kernel/dma-a5k.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma-a5k.c	Thu Aug 26 14:26:35 1999
@@ -91,7 +91,7 @@
 	return 0;
 }
 
-__initfunc(void arch_dma_init(dma_t *dma))
+void __init arch_dma_init(dma_t *dma)
 {
 	dma[DMA_VIRTUAL_FLOPPY].dma_irq = 64;
 }
diff -urN linux/arch/arm/kernel/dma-arc.c linux-2.3.15-work/arch/arm/kernel/dma-arc.c
--- linux/arch/arm/kernel/dma-arc.c	Mon Jul 19 17:52:57 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma-arc.c	Thu Aug 26 14:27:57 1999
@@ -139,7 +139,7 @@
 	return 0;
 }
 
-__initfunc(void arch_dma_init(dma_t *dma))
+void __init arch_dma_init(dma_t *dma)
 {
 	dma[DMA_VIRTUAL_FLOPPY0].dma_irq = 64;
 	dma[DMA_VIRTUAL_FLOPPY1].dma_irq = 65;
diff -urN linux/arch/arm/kernel/dma-dummy.c linux-2.3.15-work/arch/arm/kernel/dma-dummy.c
--- linux/arch/arm/kernel/dma-dummy.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma-dummy.c	Thu Aug 26 14:28:22 1999
@@ -27,6 +27,6 @@
 	return 0;
 }
 
-__initfunc(void init_dma(void))
+void __init init_dma(void)
 {
 }
diff -urN linux/arch/arm/kernel/dma-footbridge.c linux-2.3.15-work/arch/arm/kernel/dma-footbridge.c
--- linux/arch/arm/kernel/dma-footbridge.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma-footbridge.c	Thu Aug 26 14:28:34 1999
@@ -104,7 +104,7 @@
 	return 0;
 }
 
-__initfunc(void arch_dma_init(dma_t *dma))
+void __init arch_dma_init(dma_t *dma)
 {
 #ifdef CONFIG_ISA_DMA
 	has_isa_dma = isa_init_dma();
diff -urN linux/arch/arm/kernel/dma-isa.c linux-2.3.15-work/arch/arm/kernel/dma-isa.c
--- linux/arch/arm/kernel/dma-isa.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma-isa.c	Thu Aug 26 14:29:01 1999
@@ -125,7 +125,7 @@
 	outb(channel | 4, isa_dma_port[channel][ISA_DMA_MASK]);
 }
 
-__initfunc(int isa_init_dma(void))
+int __init isa_init_dma(void)
 {
 	int dmac_found;
 
diff -urN linux/arch/arm/kernel/dma-rpc.c linux-2.3.15-work/arch/arm/kernel/dma-rpc.c
--- linux/arch/arm/kernel/dma-rpc.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma-rpc.c	Thu Aug 26 14:26:48 1999
@@ -359,7 +359,7 @@
 	outb(tcr, IOMD_DMATCR);
 }
 
-__initfunc(void arch_dma_init(dma_t *dma))
+void __init arch_dma_init(dma_t *dma)
 {
 	outb(0, IOMD_IO0CR);
 	outb(0, IOMD_IO1CR);
diff -urN linux/arch/arm/kernel/dma.c linux-2.3.15-work/arch/arm/kernel/dma.c
--- linux/arch/arm/kernel/dma.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/dma.c	Thu Aug 26 14:25:04 1999
@@ -221,7 +221,7 @@
 EXPORT_SYMBOL(set_dma_sg);
 EXPORT_SYMBOL(set_dma_speed);
 
-__initfunc(void init_dma(void))
+void __init init_dma(void)
 {
 	arch_dma_init(dma_chan);
 }
diff -urN linux/arch/arm/kernel/ecard.c linux-2.3.15-work/arch/arm/kernel/ecard.c
--- linux/arch/arm/kernel/ecard.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/ecard.c	Thu Aug 26 14:25:30 1999
@@ -721,8 +721,8 @@
 		printk(KERN_WARNING "Wild interrupt from backplane (masks)\n");
 }
 
-__initfunc(static void
-ecard_probeirqhw(void))
+static void __init
+ecard_probeirqhw(void)
 {
 	ecard_t *ec;
 	int found;
@@ -872,8 +872,8 @@
  * If bit 1 of the first byte of the card is set, then the
  * card does not exist.
  */
-__initfunc(static int
-ecard_probe(int slot, card_type_t type))
+static int __init
+ecard_probe(int slot, card_type_t type)
 {
 	ecard_t **ecp;
 	ecard_t *ec;
@@ -1009,7 +1009,7 @@
 	return finding_pos;
 }
 
-__initfunc(static void ecard_free_all(void))
+static void __init ecard_free_all(void)
 {
 	ecard_t *ec, *ecn;
 
@@ -1029,7 +1029,7 @@
  * Locate all hardware - interrupt management and
  * actual cards.
  */
-__initfunc(void ecard_init(void))
+void __init ecard_init(void)
 {
 	int slot;
 
diff -urN linux/arch/arm/kernel/fiq.c linux-2.3.15-work/arch/arm/kernel/fiq.c
--- linux/arch/arm/kernel/fiq.c	Mon Aug  2 18:19:52 1999
+++ linux-2.3.15-work/arch/arm/kernel/fiq.c	Thu Aug 26 14:28:48 1999
@@ -213,7 +213,7 @@
 	while (current_fiq->fiq_op(current_fiq->dev_id, 0));
 }
 
-__initfunc(void init_FIQ(void))
+void __init init_FIQ(void)
 {
 	no_fiq_insn = *(unsigned long *)FIQ_VECTOR;
 	set_fs(get_fs());
diff -urN linux/arch/arm/kernel/hw-footbridge.c linux-2.3.15-work/arch/arm/kernel/hw-footbridge.c
--- linux/arch/arm/kernel/hw-footbridge.c	Mon Jul 19 17:52:57 1999
+++ linux-2.3.15-work/arch/arm/kernel/hw-footbridge.c	Thu Aug 26 14:29:57 1999
@@ -44,7 +44,7 @@
 
 static int irqmap_ebsa[] __initdata = { IRQ_IN1, IRQ_IN0, IRQ_PCI, IRQ_IN3 };
 
-__initfunc(static int ebsa_irqval(struct pci_dev *dev))
+static int __init ebsa_irqval(struct pci_dev *dev)
 {
 	unsigned char pin;
 	
@@ -59,7 +59,7 @@
 #ifdef CONFIG_CATS
 static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 };
 
-__initfunc(static int cats_irqval(struct pci_dev *dev))
+static int __init cats_irqval(struct pci_dev *dev)
 {
 	if (dev->irq >= 128)
 		return 16 + (dev->irq & 0x1f);
@@ -80,7 +80,7 @@
 }
 #endif
 
-__initfunc(void pcibios_fixup_ebsa285(struct pci_dev *dev))
+void __init pcibios_fixup_ebsa285(struct pci_dev *dev)
 {
 	/* Latency timer of 32 */
 	pci_write_config_byte(dev, PCI_LATENCY_TIMER, 32);
@@ -284,7 +284,7 @@
 	irq_pci_err, SA_INTERRUPT, 0, "PCI error", NULL, NULL
 };
 
-__initfunc(void pcibios_init_ebsa285(void))
+void __init pcibios_init_ebsa285(void)
 {
 	setup_arm_irq(IRQ_PCI_ERR, &irq_pci_error);
 }
@@ -592,7 +592,7 @@
 /*
  * Initialise the Winbond W83977F chip.
  */
-__initfunc(static void wb977_init(void))
+static void __init wb977_init(void)
 {
 	request_region(0x370, 2, "W83977AF configuration");
 
@@ -642,7 +642,7 @@
 	gpio_modify_op(GPIO_IOLOAD, 0);
 }
 
-__initfunc(static void cpld_init(void))
+static void __init cpld_init(void)
 {
 	unsigned long flags;
 
@@ -842,7 +842,7 @@
 	outb(1, 0x38b);
 }
 
-__initfunc(static void rwa010_init(void))
+static void __init rwa010_init(void)
 {
 	rwa010_unlock();
 	rwa010_read_ident();
@@ -918,7 +918,7 @@
 
 #endif
 
-__initfunc(void hw_init(void))
+void __init hw_init(void)
 {
 	extern void register_isa_ports(unsigned int, unsigned int, 
 				       unsigned int);
diff -urN linux/arch/arm/kernel/irq.c linux-2.3.15-work/arch/arm/kernel/irq.c
--- linux/arch/arm/kernel/irq.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/arch/arm/kernel/irq.c	Thu Aug 26 14:24:51 1999
@@ -479,7 +479,7 @@
 	return irq_found;
 }
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
 	extern void init_dma(void);
 	int irq;
diff -urN linux/arch/arm/kernel/isa.c linux-2.3.15-work/arch/arm/kernel/isa.c
--- linux/arch/arm/kernel/isa.c	Mon Jul 19 17:52:57 1999
+++ linux-2.3.15-work/arch/arm/kernel/isa.c	Thu Aug 26 14:30:25 1999
@@ -37,8 +37,8 @@
 static ctl_table ctl_bus[2] = {{CTL_BUS, "bus", NULL, 0, 0555, ctl_isa},
 			       {0}};
 
-__initfunc(void
-register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int portshift))
+void __init
+register_isa_ports(unsigned int membase, unsigned int portbase, unsigned int portshift)
 {
 	isa_membase = membase;
 	isa_portbase = portbase;
diff -urN linux/arch/arm/kernel/leds-footbridge.c linux-2.3.15-work/arch/arm/kernel/leds-footbridge.c
--- linux/arch/arm/kernel/leds-footbridge.c	Mon Jul 19 17:52:57 1999
+++ linux-2.3.15-work/arch/arm/kernel/leds-footbridge.c	Thu Aug 26 14:30:11 1999
@@ -223,8 +223,8 @@
 {
 }
 
-__initfunc(void
-init_leds_event(led_event_t evt))
+void __init
+init_leds_event(led_event_t evt)
 {
 	switch (machine_arch_type) {
 #ifdef CONFIG_FOOTBRIDGE
diff -urN linux/arch/arm/kernel/process.c linux-2.3.15-work/arch/arm/kernel/process.c
--- linux/arch/arm/kernel/process.c	Mon Aug  2 18:19:52 1999
+++ linux-2.3.15-work/arch/arm/kernel/process.c	Thu Aug 26 14:28:09 1999
@@ -73,7 +73,7 @@
 
 static char reboot_mode = 'h';
 
-__initfunc(void reboot_setup(char *str, int *ints))
+void __init reboot_setup(char *str, int *ints)
 {
 	reboot_mode = str[0];
 }
diff -urN linux/arch/arm/kernel/setup.c linux-2.3.15-work/arch/arm/kernel/setup.c
--- linux/arch/arm/kernel/setup.c	Fri Jul 23 20:20:23 1999
+++ linux-2.3.15-work/arch/arm/kernel/setup.c	Thu Aug 26 14:27:30 1999
@@ -152,8 +152,8 @@
  * initial ram disk
  */
 #ifdef CONFIG_BLK_DEV_INITRD
-__initfunc(static void
-check_initrd(unsigned long mem_start, unsigned long mem_end))
+static void __init
+check_initrd(unsigned long mem_start, unsigned long mem_end)
 {
 	if (initrd_end > mem_end) {
 		printk ("initrd extends beyond end of memory "
@@ -167,8 +167,8 @@
 #define check_initrd(ms,me)
 #endif
 
-__initfunc(void
-setup_processor(void))
+void __init
+setup_processor(void)
 {
 	armidindex = 0;
 
@@ -187,8 +187,8 @@
 static char command_line[COMMAND_LINE_SIZE] = { 0, };
        char saved_command_line[COMMAND_LINE_SIZE];
 
-__initfunc(static void
-setup_mem(char *cmd_line, unsigned long *mem_start, unsigned long *mem_sz))
+static void __init
+setup_mem(char *cmd_line, unsigned long *mem_start, unsigned long *mem_sz)
 {
 	char c = ' ', *to = command_line;
 	int len = 0;
@@ -233,8 +233,8 @@
 		*to = '\0';
 }
 
-__initfunc(static void
-setup_ram(int doload, int prompt, int image_start))
+static void __init
+setup_ram(int doload, int prompt, int image_start)
 {
 #ifdef CONFIG_BLK_DEV_RAM
 	extern int rd_doload;
@@ -250,8 +250,8 @@
 /*
  * initial ram disk
  */
-__initfunc(static void
-setup_initrd(unsigned int start, unsigned int size))
+static void __init
+setup_initrd(unsigned int start, unsigned int size)
 {
 #ifdef CONFIG_BLK_DEV_INITRD
 	if (start) {
@@ -277,8 +277,8 @@
 static union { char c[4]; unsigned long l; } endian_test __initdata = { { 'l', '?', '?', 'b' } };
 #define ENDIANNESS ((char)endian_test.l)
 
-__initfunc(void
-setup_arch(char **cmdline_p, unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init
+setup_arch(char **cmdline_p, unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	struct param_struct *params = (struct param_struct *)PARAMS_BASE;
 	static unsigned char smptrap;
diff -urN linux/arch/arm/kernel/time.c linux-2.3.15-work/arch/arm/kernel/time.c
--- linux/arch/arm/kernel/time.c	Mon Jul 19 17:52:57 1999
+++ linux-2.3.15-work/arch/arm/kernel/time.c	Thu Aug 26 14:27:43 1999
@@ -149,7 +149,7 @@
 	sti();
 }
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
 	xtime.tv_usec = 0;
 
diff -urN linux/arch/arm/mm/init.c linux-2.3.15-work/arch/arm/mm/init.c
--- linux/arch/arm/mm/init.c	Mon Jul 19 17:52:57 1999
+++ linux-2.3.15-work/arch/arm/mm/init.c	Thu Aug 26 14:30:44 1999
@@ -123,7 +123,7 @@
 /*
  * paging_init() sets up the page tables...
  */
-__initfunc(unsigned long paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	extern unsigned long free_area_init(unsigned long, unsigned long);
 
@@ -156,7 +156,7 @@
  * memory is free.  This is done after various parts of the system have
  * claimed their memory after the kernel image.
  */
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	extern void sound_init(void);
 	int codepages = 0;
diff -urN linux/arch/arm/mm/mm-armv.c linux-2.3.15-work/arch/arm/mm/mm-armv.c
--- linux/arch/arm/mm/mm-armv.c	Sat May  8 19:06:57 1999
+++ linux-2.3.15-work/arch/arm/mm/mm-armv.c	Thu Aug 26 14:30:58 1999
@@ -25,7 +25,7 @@
 
 #define SIZEOFMAP (sizeof(mapping) / sizeof(mapping[0]))
 
-__initfunc(unsigned long setup_io_pagetables(unsigned long start_mem))
+unsigned long __init setup_io_pagetables(unsigned long start_mem)
 {
 	const struct mapping *mp;
 	int i;
diff -urN linux/arch/arm/mm/mm-rpc.c linux-2.3.15-work/arch/arm/mm/mm-rpc.c
--- linux/arch/arm/mm/mm-rpc.c	Mon Aug  2 18:19:52 1999
+++ linux-2.3.15-work/arch/arm/mm/mm-rpc.c	Thu Aug 26 14:31:09 1999
@@ -68,8 +68,8 @@
 	return phys + rambank[bank].phys_offset;
 }
 
-__initfunc(void
-init_dram_banks(struct param_struct *params))
+void __init
+init_dram_banks(struct param_struct *params)
 {
 	unsigned int bank;
 	unsigned int bytes = 0;
diff -urN linux/arch/i386/mm/init.c linux-2.3.15-work/arch/i386/mm/init.c
--- linux/arch/i386/mm/init.c	Wed Aug 25 22:54:07 1999
+++ linux-2.3.15-work/arch/i386/mm/init.c	Thu Aug 26 12:32:18 1999
@@ -238,7 +238,7 @@
  * This routines also unmaps the page at virtual kernel address 0, so
  * that we can trap those pesky NULL-reference errors in the kernel.
  */
-__initfunc(unsigned long paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	pgd_t * pg_dir;
 	pte_t * pg_table;
@@ -324,7 +324,7 @@
  * before and after the test are here to work-around some nasty CPU bugs.
  */
 
-__initfunc(void test_wp_bit(void))
+void __init test_wp_bit(void)
 {
 	unsigned char tmp_reg;
 	unsigned long old = pg0[0];
@@ -353,7 +353,7 @@
 		printk(".\n");
 }
 
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	unsigned long start_low_mem = PAGE_SIZE;
 	int codepages = 0;
diff -urN linux/arch/m68k/amiga/amisound.c linux-2.3.15-work/arch/m68k/amiga/amisound.c
--- linux/arch/m68k/amiga/amisound.c	Tue Jun 17 00:35:53 1997
+++ linux-2.3.15-work/arch/m68k/amiga/amisound.c	Thu Aug 26 14:09:37 1999
@@ -40,7 +40,7 @@
 
 static u_long clock_constant;
 
-__initfunc(void amiga_init_sound(void))
+void __init amiga_init_sound(void)
 {
 	snd_data = amiga_chip_alloc(sizeof(sine_data));
 	if (!snd_data) {
diff -urN linux/arch/m68k/amiga/chipram.c linux-2.3.15-work/arch/m68k/amiga/chipram.c
--- linux/arch/m68k/amiga/chipram.c	Thu Aug 19 18:54:10 1999
+++ linux-2.3.15-work/arch/m68k/amiga/chipram.c	Thu Aug 26 14:09:51 1999
@@ -32,7 +32,7 @@
 }
 
 
-__initfunc(void amiga_chip_init (void))
+void __init amiga_chip_init (void)
 {
   struct chip_desc *dp;
 
diff -urN linux/arch/m68k/atari/ataints.c linux-2.3.15-work/arch/m68k/atari/ataints.c
--- linux/arch/m68k/atari/ataints.c	Mon Oct  5 21:54:39 1998
+++ linux-2.3.15-work/arch/m68k/atari/ataints.c	Thu Aug 26 14:10:04 1999
@@ -327,7 +327,7 @@
  * the atari IRQ handling routines.
  */
 
-__initfunc(void atari_init_IRQ(void))
+void __init atari_init_IRQ(void)
 {
 	int i;
 
diff -urN linux/arch/m68k/atari/atakeyb.c linux-2.3.15-work/arch/m68k/atari/atakeyb.c
--- linux/arch/m68k/atari/atakeyb.c	Mon Apr 26 21:35:34 1999
+++ linux-2.3.15-work/arch/m68k/atari/atakeyb.c	Thu Aug 26 14:10:19 1999
@@ -762,7 +762,7 @@
  * Martin Rogge, 20 Aug 1995
  */
  
-__initfunc(int atari_keyb_init(void))
+int __init atari_keyb_init(void)
 {
     /* setup key map */
     memcpy(key_maps[0], ataplain_map, sizeof(plain_map));
diff -urN linux/arch/m68k/atari/config.c linux-2.3.15-work/arch/m68k/atari/config.c
--- linux/arch/m68k/atari/config.c	Tue Jan 19 18:58:26 1999
+++ linux-2.3.15-work/arch/m68k/atari/config.c	Thu Aug 26 14:10:53 1999
@@ -111,8 +111,8 @@
  */
   
 #if 0
-__initfunc(static int
-hwreg_present_bywrite(volatile void *regp, unsigned char val))
+static int __init
+hwreg_present_bywrite(volatile void *regp, unsigned char val)
 {
     int		ret;
     long	save_sp, save_vbr;
@@ -150,7 +150,7 @@
  * should be readable without trouble (from channel A!).
  */
 
-__initfunc(static int scc_test( volatile char *ctla ))
+static int __init scc_test( volatile char *ctla )
 {
 	if (!hwreg_present( ctla ))
 		return( 0 );
@@ -177,7 +177,7 @@
      *  Parse an Atari-specific record in the bootinfo
      */
 
-__initfunc(int atari_parse_bootinfo(const struct bi_record *record))
+int __init atari_parse_bootinfo(const struct bi_record *record)
 {
     int unknown = 0;
     const u_long *data = record->data;
@@ -197,7 +197,7 @@
 
 
 /* Parse the Atari-specific switches= option. */
-__initfunc(void atari_switches_setup( const char *str, unsigned len ))
+void __init atari_switches_setup( const char *str, unsigned len )
 {
     char switches[len+1];
     char *p;
@@ -238,7 +238,7 @@
      *  Setup the Atari configuration info
      */
 
-__initfunc(void config_atari(void))
+void __init config_atari(void)
 {
     unsigned short tos_version;
 
diff -urN linux/arch/m68k/atari/debug.c linux-2.3.15-work/arch/m68k/atari/debug.c
--- linux/arch/m68k/atari/debug.c	Fri Feb 13 00:30:12 1998
+++ linux-2.3.15-work/arch/m68k/atari/debug.c	Thu Aug 26 14:12:09 1999
@@ -168,7 +168,7 @@
  * SCC serial ports. They're used by the debugging interface, kgdb, and the
  * serial console code. */
 #ifndef CONFIG_SERIAL_CONSOLE
-__initfunc(static void atari_init_mfp_port( int cflag ))
+static void __init atari_init_mfp_port( int cflag )
 #else
 void atari_init_mfp_port( int cflag )
 #endif
@@ -214,7 +214,7 @@
     } while(0)
     
 #ifndef CONFIG_SERIAL_CONSOLE
-__initfunc(static void atari_init_scc_port( int cflag ))
+static void __init atari_init_scc_port( int cflag )
 #else
 void atari_init_scc_port( int cflag )
 #endif
@@ -281,7 +281,7 @@
 }
 
 #ifndef CONFIG_SERIAL_CONSOLE 
-__initfunc(static void atari_init_midi_port( int cflag ))
+static void __init atari_init_midi_port( int cflag )
 #else
 void atari_init_midi_port( int cflag )
 #endif
@@ -309,7 +309,7 @@
 		     ACIA_RHTID : ACIA_RLTID);
 }
 
-__initfunc(void atari_debug_init(void))
+void __init atari_debug_init(void)
 {
 #ifdef CONFIG_KGDB
     /* the m68k_debug_device is used by the GDB stub, do nothing here */
diff -urN linux/arch/m68k/atari/joystick.c linux-2.3.15-work/arch/m68k/atari/joystick.c
--- linux/arch/m68k/atari/joystick.c	Mon Aug  9 20:27:30 1999
+++ linux-2.3.15-work/arch/m68k/atari/joystick.c	Thu Aug 26 14:11:07 1999
@@ -130,7 +130,7 @@
 	release_joystick
 };
 
-__initfunc(int atari_joystick_init(void))
+int __init atari_joystick_init(void)
 {
     joystick[0].active = joystick[1].active = 0;
     joystick[0].ready = joystick[1].ready = 0;
diff -urN linux/arch/m68k/atari/stdma.c linux-2.3.15-work/arch/m68k/atari/stdma.c
--- linux/arch/m68k/atari/stdma.c	Sat May 15 23:05:35 1999
+++ linux-2.3.15-work/arch/m68k/atari/stdma.c	Thu Aug 26 14:11:21 1999
@@ -171,7 +171,7 @@
  *
  */
 
-__initfunc(void stdma_init(void))
+void __init stdma_init(void)
 {
 	stdma_isr = NULL;
 	request_irq(IRQ_MFP_FDC, stdma_int, IRQ_TYPE_SLOW,
diff -urN linux/arch/m68k/atari/time.c linux-2.3.15-work/arch/m68k/atari/time.c
--- linux/arch/m68k/atari/time.c	Thu Nov  5 17:58:29 1998
+++ linux-2.3.15-work/arch/m68k/atari/time.c	Thu Aug 26 14:11:35 1999
@@ -17,8 +17,8 @@
 #include <linux/init.h>
 
 
-__initfunc(void
-atari_sched_init(void (*timer_routine)(int, void *, struct pt_regs *)))
+void __init
+atari_sched_init(void (*timer_routine)(int, void *, struct pt_regs *))
 {
     /* set Timer C data Register */
     mfp.tim_dt_c = INT_TICKS;
diff -urN linux/arch/m68k/bvme6000/config.c linux-2.3.15-work/arch/m68k/bvme6000/config.c
--- linux/arch/m68k/bvme6000/config.c	Mon Aug  9 20:27:30 1999
+++ linux-2.3.15-work/arch/m68k/bvme6000/config.c	Thu Aug 26 14:14:52 1999
@@ -103,7 +103,7 @@
 }
 
 
-__initfunc(void config_bvme6000(void))
+void __init config_bvme6000(void)
 {
     volatile PitRegsPtr pit = (PitRegsPtr)BVME_PIT_BASE;
 
diff -urN linux/arch/m68k/bvme6000/rtc.c linux-2.3.15-work/arch/m68k/bvme6000/rtc.c
--- linux/arch/m68k/bvme6000/rtc.c	Mon Aug 24 21:14:10 1998
+++ linux-2.3.15-work/arch/m68k/bvme6000/rtc.c	Thu Aug 26 14:15:06 1999
@@ -164,7 +164,7 @@
 	&rtc_fops
 };
 
-__initfunc(int rtc_DP8570A_init(void))
+int __init rtc_DP8570A_init(void)
 {
 	if (!MACH_IS_BVME6000)
 		return -ENODEV;
diff -urN linux/arch/m68k/hp300/config.c linux-2.3.15-work/arch/m68k/hp300/config.c
--- linux/arch/m68k/hp300/config.c	Tue Jan 19 18:58:26 1999
+++ linux-2.3.15-work/arch/m68k/hp300/config.c	Thu Aug 26 14:15:24 1999
@@ -31,7 +31,7 @@
 extern int hp300_keyb_init(void);
 #else
 /* Dummy function for when there is no keyboard. */
-__initfunc(int hp300_keyb_init(void))
+int __init hp300_keyb_init(void)
 {
 }
 #endif
@@ -60,7 +60,7 @@
   strcpy(model, "HP9000/300");
 }
 
-__initfunc(void config_hp300(void))
+void __init config_hp300(void)
 {
   mach_sched_init      = hp300_sched_init;
   mach_keyb_init       = hp300_keyb_init;
diff -urN linux/arch/m68k/hp300/hil.c linux-2.3.15-work/arch/m68k/hp300/hil.c
--- linux/arch/m68k/hp300/hil.c	Mon Apr 26 21:37:14 1999
+++ linux-2.3.15-work/arch/m68k/hp300/hil.c	Thu Aug 26 14:15:52 1999
@@ -304,7 +304,7 @@
  * Initialise HIL. 
  */
 
-__initfunc(int hp300_keyb_init(void))
+int __init hp300_keyb_init(void)
 {
   unsigned char s, c, kbid;
   unsigned int n = 0;
diff -urN linux/arch/m68k/hp300/ints.c linux-2.3.15-work/arch/m68k/hp300/ints.c
--- linux/arch/m68k/hp300/ints.c	Wed Sep  2 17:39:18 1998
+++ linux-2.3.15-work/arch/m68k/hp300/ints.c	Thu Aug 26 14:15:39 1999
@@ -153,7 +153,7 @@
 	return 0;
 }
 
-__initfunc(void hp300_init_IRQ(void))
+void __init hp300_init_IRQ(void)
 {
 	spin_lock_init(&irqlist_lock);
 }
diff -urN linux/arch/m68k/hp300/time.c linux-2.3.15-work/arch/m68k/hp300/time.c
--- linux/arch/m68k/hp300/time.c	Wed Sep  2 17:39:18 1998
+++ linux-2.3.15-work/arch/m68k/hp300/time.c	Thu Aug 26 14:16:06 1999
@@ -61,7 +61,7 @@
   return (USECS_PER_JIFFY * ticks) / INTVAL;
 }
 
-__initfunc(void hp300_sched_init(void (*vector)(int, void *, struct pt_regs *)))
+void __init hp300_sched_init(void (*vector)(int, void *, struct pt_regs *))
 {
   writeb(0x1, CLOCKBASE + CLKCR2);		/* select CR1 */
   writeb(0x1, CLOCKBASE + CLKCR1);		/* reset */
diff -urN linux/arch/m68k/kernel/bios32.c linux-2.3.15-work/arch/m68k/kernel/bios32.c
--- linux/arch/m68k/kernel/bios32.c	Sat Jul 18 22:02:10 1998
+++ linux-2.3.15-work/arch/m68k/kernel/bios32.c	Thu Aug 26 14:13:42 1999
@@ -240,7 +240,7 @@
  * accesses.
  */
 
-__initfunc(static void disable_dev(struct pci_dev *dev))
+static void __init disable_dev(struct pci_dev *dev)
 {
 	struct pci_bus *bus;
 	unsigned short cmd;
@@ -263,8 +263,8 @@
 
 #define MAX(val1, val2) ( ((val1) > (val2)) ? val1 : val2)
 
-__initfunc(static void layout_dev(struct pci_dev *dev, unsigned long pci_mem_base,
-								  unsigned long pci_io_base))
+static void __init layout_dev(struct pci_dev *dev, unsigned long pci_mem_base,
+								  unsigned long pci_io_base)
 {
 	struct pci_bus *bus;
 	unsigned short cmd;
@@ -400,8 +400,8 @@
 		  bus->number, PCI_SLOT(dev->devfn), dev->vendor, dev->device, dev->class));
 }
 
-__initfunc(static void layout_bus(struct pci_bus *bus, unsigned long pci_mem_base,
-								  unsigned long pci_io_base))
+static void __init layout_bus(struct pci_bus *bus, unsigned long pci_mem_base,
+								  unsigned long pci_io_base)
 {
 	struct pci_dev *dev;
 
@@ -512,7 +512,7 @@
 		return 0;
 }
 
-__initfunc(void pcibios_init(void))
+void __init pcibios_init(void)
 {
 	printk("Linux/m68k PCI BIOS32 revision %x.%02x\n", MAJOR_REV, MINOR_REV);
 
@@ -531,7 +531,7 @@
  * of the PCI cards.
  */
 
-__initfunc(static inline void hades_fixup(void))
+static inline void __init hades_fixup(void)
 {
 	char irq_tab[4] = {
 			    IRQ_TT_MFP_IO0,	/* Slot 0. */
@@ -560,7 +560,7 @@
 	}
 }
 
-__initfunc(void pcibios_fixup(void))
+void __init pcibios_fixup(void)
 {
 #if PCI_MODIFY
 	unsigned long orig_mem_base, orig_io_base;
@@ -587,11 +587,11 @@
 	hades_fixup();
 }
 
-__initfunc(void pcibios_fixup_bus(struct pci_bus *bus))
+void __init pcibios_fixup_bus(struct pci_bus *bus)
 {
 }
 
-__initfunc(char *pcibios_setup(char *str))
+char * __init pcibios_setup(char *str)
 {
 	return str;
 }
diff -urN linux/arch/m68k/kernel/setup.c linux-2.3.15-work/arch/m68k/kernel/setup.c
--- linux/arch/m68k/kernel/setup.c	Fri Jul 23 20:20:23 1999
+++ linux-2.3.15-work/arch/m68k/kernel/setup.c	Thu Aug 26 14:12:37 1999
@@ -130,7 +130,7 @@
 #define MASK_256K 0xfffc0000
 
 
-__initfunc(static void m68k_parse_bootinfo(const struct bi_record *record))
+static void __init m68k_parse_bootinfo(const struct bi_record *record)
 {
     while (record->tag != BI_LAST) {
 	int unknown = 0;
@@ -190,8 +190,8 @@
 #endif
 }
 
-__initfunc(void setup_arch(char **cmdline_p, unsigned long * memory_start_p,
-			   unsigned long * memory_end_p))
+void __init setup_arch(char **cmdline_p, unsigned long * memory_start_p,
+			   unsigned long * memory_end_p)
 {
 	extern int _etext, _edata, _end;
 	int i;
@@ -467,7 +467,7 @@
 #endif
 
 #if defined(CONFIG_AMIGA_FLOPPY) || defined(CONFIG_ATARI_FLOPPY) || defined(CONFIG_BLK_DEV_FD)
-__initfunc(void floppy_setup(char *str, int *ints))
+void __init floppy_setup(char *str, int *ints)
 {
 	if (mach_floppy_setup)
 		mach_floppy_setup (str, ints);
@@ -481,7 +481,7 @@
 #endif
 
 /* for "kbd-reset" cmdline param */
-__initfunc(void kbd_reset_setup(char *str, int *ints))
+void __init kbd_reset_setup(char *str, int *ints)
 {
 }
 
diff -urN linux/arch/m68k/mac/config.c linux-2.3.15-work/arch/m68k/mac/config.c
--- linux/arch/m68k/mac/config.c	Tue Jan 19 18:58:34 1999
+++ linux-2.3.15-work/arch/m68k/mac/config.c	Thu Aug 26 14:16:24 1999
@@ -227,7 +227,7 @@
      *  Parse a Macintosh-specific record in the bootinfo
      */
 
-__initfunc(int mac_parse_bootinfo(const struct bi_record *record))
+int __init mac_parse_bootinfo(const struct bi_record *record)
 {
     int unknown = 0;
     const u_long *data = record->data;
@@ -288,7 +288,7 @@
 	restore_flags(flags);
 }
 
-__initfunc(void config_mac(void))
+void __init config_mac(void)
 {
 
     if (!MACH_IS_MAC) {
diff -urN linux/arch/m68k/mac/debug.c linux-2.3.15-work/arch/m68k/mac/debug.c
--- linux/arch/m68k/mac/debug.c	Tue Jan 19 18:58:34 1999
+++ linux-2.3.15-work/arch/m68k/mac/debug.c	Thu Aug 26 14:17:01 1999
@@ -305,7 +305,7 @@
     } while(0)
     
 #ifndef CONFIG_SERIAL_CONSOLE
-__initfunc(static void mac_init_scc_port( int cflag, int port ))
+static void __init mac_init_scc_port( int cflag, int port )
 #else
 void mac_init_scc_port( int cflag, int port )
 #endif
@@ -385,7 +385,7 @@
 }
 #endif /* DEBUG_SERIAL */
 
-__initfunc(void mac_debug_init(void))
+void __init mac_debug_init(void)
 {
 #ifdef CONFIG_KGDB
     /* the m68k_debug_device is used by the GDB stub, do nothing here */
diff -urN linux/arch/m68k/mac/mackeyb.c linux-2.3.15-work/arch/m68k/mac/mackeyb.c
--- linux/arch/m68k/mac/mackeyb.c	Mon Apr 26 21:38:03 1999
+++ linux-2.3.15-work/arch/m68k/mac/mackeyb.c	Thu Aug 26 14:16:37 1999
@@ -613,7 +613,7 @@
 	return 0;
 }
 
-__initfunc(int mac_keyb_init(void))
+int __init mac_keyb_init(void)
 {
 	static struct adb_request autopoll_req, confcod_req, mouse_req, readkey_req;
 	volatile int ct;
diff -urN linux/arch/m68k/mm/init.c linux-2.3.15-work/arch/m68k/mm/init.c
--- linux/arch/m68k/mm/init.c	Mon Aug  9 20:27:30 1999
+++ linux-2.3.15-work/arch/m68k/mm/init.c	Thu Aug 26 14:14:24 1999
@@ -120,7 +120,7 @@
 unsigned long mm_cachebits = 0;
 #endif
 
-__initfunc(static pte_t * kernel_page_table(unsigned long *memavailp))
+static pte_t * __init kernel_page_table(unsigned long *memavailp)
 {
 	pte_t *ptablep;
 
@@ -138,7 +138,7 @@
 static pmd_t *last_pgtable __initdata = NULL;
 static pmd_t *zero_pgtable __initdata = NULL;
 
-__initfunc(static pmd_t * kernel_ptr_table(unsigned long *memavailp))
+static pmd_t * __init kernel_ptr_table(unsigned long *memavailp)
 {
 	if (!last_pgtable) {
 		unsigned long pmd, last;
@@ -177,8 +177,8 @@
 	return last_pgtable;
 }
 
-__initfunc(static unsigned long
-map_chunk (unsigned long addr, long size, unsigned long *memavailp))
+static unsigned long __init
+map_chunk (unsigned long addr, long size, unsigned long *memavailp)
 {
 #define PTRTREESIZE (256*1024)
 #define ROOTTREESIZE (32*1024*1024)
@@ -285,8 +285,8 @@
  * paging_init() continues the virtual memory environment setup which
  * was begun by the code in arch/head.S.
  */
-__initfunc(unsigned long paging_init(unsigned long start_mem,
-				     unsigned long end_mem))
+unsigned long __init paging_init(unsigned long start_mem,
+				     unsigned long end_mem)
 {
 	int chunk;
 	unsigned long mem_avail = 0;
@@ -363,7 +363,7 @@
 	return PAGE_ALIGN(free_area_init(start_mem, end_mem));
 }
 
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	int codepages = 0;
 	int datapages = 0;
diff -urN linux/arch/m68k/mm/memory.c linux-2.3.15-work/arch/m68k/mm/memory.c
--- linux/arch/m68k/mm/memory.c	Mon Aug  9 20:27:30 1999
+++ linux-2.3.15-work/arch/m68k/mm/memory.c	Thu Aug 26 14:14:38 1999
@@ -98,7 +98,7 @@
 
 #define PTABLE_SIZE (PTRS_PER_PMD * sizeof(pmd_t))
 
-__initfunc(void init_pointer_table(unsigned long ptable))
+void __init init_pointer_table(unsigned long ptable)
 {
 	ptable_desc *dp;
 	unsigned long page = ptable & PAGE_MASK;
diff -urN linux/arch/m68k/mvme147/config.c linux-2.3.15-work/arch/m68k/mvme147/config.c
--- linux/arch/m68k/mvme147/config.c	Mon Aug  9 20:27:30 1999
+++ linux-2.3.15-work/arch/m68k/mvme147/config.c	Thu Aug 26 14:17:44 1999
@@ -90,7 +90,7 @@
 }
 
 
-__initfunc(void config_mvme147(void))
+void __init config_mvme147(void)
 {
 	mach_sched_init		= mvme147_sched_init;
 	mach_keyb_init		= mvme147_keyb_init;
diff -urN linux/arch/m68k/mvme16x/config.c linux-2.3.15-work/arch/m68k/mvme16x/config.c
--- linux/arch/m68k/mvme16x/config.c	Mon Aug  9 20:27:30 1999
+++ linux-2.3.15-work/arch/m68k/mvme16x/config.c	Thu Aug 26 14:17:15 1999
@@ -131,7 +131,7 @@
 #define PccSCCTICR	0x1e
 #define PccSCCRICR	0x1f
 
-__initfunc(void config_mvme16x(void))
+void __init config_mvme16x(void)
 {
     p_bdid p = (p_bdid)mvme_bdid_ptr;
     char id[40];
diff -urN linux/arch/m68k/mvme16x/rtc.c linux-2.3.15-work/arch/m68k/mvme16x/rtc.c
--- linux/arch/m68k/mvme16x/rtc.c	Mon Aug 24 21:14:10 1998
+++ linux-2.3.15-work/arch/m68k/mvme16x/rtc.c	Thu Aug 26 14:17:30 1999
@@ -155,7 +155,7 @@
 	&rtc_fops
 };
 
-__initfunc(int rtc_MK48T08_init(void))
+int __init rtc_MK48T08_init(void)
 {
 	if (!MACH_IS_MVME16x)
 		return -ENODEV;
diff -urN linux/arch/m68k/q40/config.c linux-2.3.15-work/arch/m68k/q40/config.c
--- linux/arch/m68k/q40/config.c	Sun Aug 15 19:47:29 1999
+++ linux-2.3.15-work/arch/m68k/q40/config.c	Thu Aug 26 14:17:56 1999
@@ -157,7 +157,7 @@
 }
 
 
-__initfunc(void config_q40(void))
+void __init config_q40(void)
 {
     mach_sched_init      = q40_sched_init;           /* ok */
     /*mach_kbdrate         = q40_kbdrate;*/          /* unneeded ?*/
diff -urN linux/arch/m68k/sun3x/config.c linux-2.3.15-work/arch/m68k/sun3x/config.c
--- linux/arch/m68k/sun3x/config.c	Tue May 11 17:57:14 1999
+++ linux-2.3.15-work/arch/m68k/sun3x/config.c	Thu Aug 26 14:18:20 1999
@@ -39,7 +39,7 @@
     asm ("reset");
 }
 
-__initfunc(int sun3x_keyb_init(void))
+int __init sun3x_keyb_init(void)
 {
     return 0;
 }
@@ -75,7 +75,7 @@
     *sun3x_intreg &= ~(1 << irq);
 }
 
-__initfunc(void sun3x_init_IRQ(void))
+void __init sun3x_init_IRQ(void)
 {
     /* disable all interrupts initially */
     *sun3x_intreg = 1;  /* master enable only */
@@ -89,7 +89,7 @@
 /*
  *  Setup the sun3x configuration info
  */
-__initfunc(void config_sun3x(void))
+void __init config_sun3x(void)
 {
     mach_get_irq_list	 = sun3x_get_irq_list;
     mach_max_dma_address = 0xffffffff; /* we can DMA anywhere, whee */
diff -urN linux/arch/m68k/sun3x/sbus.c linux-2.3.15-work/arch/m68k/sun3x/sbus.c
--- linux/arch/m68k/sun3x/sbus.c	Tue May 11 17:57:14 1999
+++ linux-2.3.15-work/arch/m68k/sun3x/sbus.c	Thu Aug 26 14:18:49 1999
@@ -12,7 +12,7 @@
 #include <linux/types.h>
 #include <linux/init.h>
 
-__initfunc(void sbus_init(void))
+void __init sbus_init(void)
 {
 
 }
diff -urN linux/arch/m68k/sun3x/time.c linux-2.3.15-work/arch/m68k/sun3x/time.c
--- linux/arch/m68k/sun3x/time.c	Wed May 12 16:50:00 1999
+++ linux-2.3.15-work/arch/m68k/sun3x/time.c	Thu Aug 26 14:19:05 1999
@@ -72,7 +72,7 @@
     vector(irq, NULL, regs);
 }
 
-__initfunc(void sun3x_sched_init(void (*vector)(int, void *, struct pt_regs *)))
+void __init sun3x_sched_init(void (*vector)(int, void *, struct pt_regs *))
 {
     sys_request_irq(5, sun3x_timer_tick, IRQ_FLG_STD, "timer tick", vector);
 
diff -urN linux/arch/mips/arc/cmdline.c linux-2.3.15-work/arch/mips/arc/cmdline.c
--- linux/arch/mips/arc/cmdline.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/cmdline.c	Thu Aug 26 13:42:18 1999
@@ -16,7 +16,7 @@
 
 char arcs_cmdline[CL_SIZE];
 
-__initfunc(char *prom_getcmdline(void))
+char * __init prom_getcmdline(void)
 {
 	return &(arcs_cmdline[0]);
 }
@@ -31,7 +31,7 @@
 };
 #define NENTS(foo) ((sizeof((foo)) / (sizeof((foo[0])))))
 
-__initfunc(void prom_init_cmdline(void))
+void __init prom_init_cmdline(void)
 {
 	char *cp;
 	int actr, i;
diff -urN linux/arch/mips/arc/console.c linux-2.3.15-work/arch/mips/arc/console.c
--- linux/arch/mips/arc/console.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/arc/console.c	Thu Aug 26 13:42:38 1999
@@ -23,7 +23,7 @@
 #ifdef CONFIG_SGI_PROM_CONSOLE
 void prom_putchar(char c)
 #else
-__initfunc(void prom_putchar(char c))
+void __init prom_putchar(char c)
 #endif
 {
 	long cnt;
@@ -37,7 +37,7 @@
 #ifdef CONFIG_SGI_PROM_CONSOLE
 char prom_getchar(void)
 #else
-__initfunc(char prom_getchar(void))
+char __init prom_getchar(void)
 #endif
 {
 	long cnt;
diff -urN linux/arch/mips/arc/env.c linux-2.3.15-work/arch/mips/arc/env.c
--- linux/arch/mips/arc/env.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/env.c	Thu Aug 26 13:42:58 1999
@@ -11,12 +11,12 @@
 
 #include <asm/sgialib.h>
 
-__initfunc(char *prom_getenv(char *name))
+char * __init prom_getenv(char *name)
 {
 	return romvec->get_evar(name);
 }
 
-__initfunc(long prom_setenv(char *name, char *value))
+long __init prom_setenv(char *name, char *value)
 {
 	return romvec->set_evar(name, value);
 }
diff -urN linux/arch/mips/arc/file.c linux-2.3.15-work/arch/mips/arc/file.c
--- linux/arch/mips/arc/file.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/file.c	Thu Aug 26 13:43:57 1999
@@ -8,52 +8,52 @@
 #include <linux/init.h>
 #include <asm/sgialib.h>
 
-__initfunc(long prom_getvdirent(unsigned long fd, struct linux_vdirent *ent, unsigned long num, unsigned long *cnt))
+long __init prom_getvdirent(unsigned long fd, struct linux_vdirent *ent, unsigned long num, unsigned long *cnt)
 {
 	return romvec->get_vdirent(fd, ent, num, cnt);
 }
 
-__initfunc(long prom_open(char *name, enum linux_omode md, unsigned long *fd))
+long __init prom_open(char *name, enum linux_omode md, unsigned long *fd)
 {
 	return romvec->open(name, md, fd);
 }
 
-__initfunc(long prom_close(unsigned long fd))
+long __init prom_close(unsigned long fd)
 {
 	return romvec->close(fd);
 }
 
-__initfunc(long prom_read(unsigned long fd, void *buf, unsigned long num, unsigned long *cnt))
+long __init prom_read(unsigned long fd, void *buf, unsigned long num, unsigned long *cnt)
 {
 	return romvec->read(fd, buf, num, cnt);
 }
 
-__initfunc(long prom_getrstatus(unsigned long fd))
+long __init prom_getrstatus(unsigned long fd)
 {
 	return romvec->get_rstatus(fd);
 }
 
-__initfunc(long prom_write(unsigned long fd, void *buf, unsigned long num, unsigned long *cnt))
+long __init prom_write(unsigned long fd, void *buf, unsigned long num, unsigned long *cnt)
 {
 	return romvec->write(fd, buf, num, cnt);
 }
 
-__initfunc(long prom_seek(unsigned long fd, struct linux_bigint *off, enum linux_seekmode sm))
+long __init prom_seek(unsigned long fd, struct linux_bigint *off, enum linux_seekmode sm)
 {
 	return romvec->seek(fd, off, sm);
 }
 
-__initfunc(long prom_mount(char *name, enum linux_mountops op))
+long __init prom_mount(char *name, enum linux_mountops op)
 {
 	return romvec->mount(name, op);
 }
 
-__initfunc(long prom_getfinfo(unsigned long fd, struct linux_finfo *buf))
+long __init prom_getfinfo(unsigned long fd, struct linux_finfo *buf)
 {
 	return romvec->get_finfo(fd, buf);
 }
 
-__initfunc(long prom_setfinfo(unsigned long fd, unsigned long flags, unsigned long msk))
+long __init prom_setfinfo(unsigned long fd, unsigned long flags, unsigned long msk)
 {
 	return romvec->set_finfo(fd, flags, msk);
 }
diff -urN linux/arch/mips/arc/init.c linux-2.3.15-work/arch/mips/arc/init.c
--- linux/arch/mips/arc/init.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/init.c	Thu Aug 26 13:44:16 1999
@@ -22,7 +22,7 @@
 
 extern void prom_testtree(void);
 
-__initfunc(int prom_init(int argc, char **argv, char **envp))
+int __init prom_init(int argc, char **argv, char **envp)
 {
 	struct linux_promblock *pb;
 
diff -urN linux/arch/mips/arc/memory.c linux-2.3.15-work/arch/mips/arc/memory.c
--- linux/arch/mips/arc/memory.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/arc/memory.c	Thu Aug 26 13:46:26 1999
@@ -20,7 +20,7 @@
 
 /* #define DEBUG */
 
-__initfunc(struct linux_mdesc *prom_getmdesc(struct linux_mdesc *curr))
+struct linux_mdesc * __init prom_getmdesc(struct linux_mdesc *curr)
 {
 	return romvec->get_mdesc(curr);
 }
@@ -52,7 +52,7 @@
 
 static struct prom_pmemblock prom_pblocks[PROM_MAX_PMEMBLOCKS];
 
-__initfunc(struct prom_pmemblock *prom_getpblock_array(void))
+struct prom_pmemblock * __init prom_getpblock_array(void)
 {
 	return &prom_pblocks[0];
 }
@@ -89,7 +89,7 @@
     }
 }
 
-__initfunc(static void prom_setup_memupper(void))
+static void __init prom_setup_memupper(void)
 {
 	struct prom_pmemblock *p, *highest;
 
@@ -106,7 +106,7 @@
 #endif
 }
 
-__initfunc(void prom_meminit(void))
+void __init prom_meminit(void)
 {
 	struct linux_mdesc *p;
 	int totram;
@@ -162,7 +162,7 @@
 }
 
 /* Called from mem_init() to fixup the mem_map page settings. */
-__initfunc(void prom_fixup_mem_map(unsigned long start, unsigned long end))
+void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
 {
 	struct prom_pmemblock *p;
 	int i, nents;
diff -urN linux/arch/mips/arc/misc.c linux-2.3.15-work/arch/mips/arc/misc.c
--- linux/arch/mips/arc/misc.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/misc.c	Thu Aug 26 13:47:04 1999
@@ -78,7 +78,7 @@
 	return romvec->get_sysid();
 }
 
-__initfunc(void prom_cacheflush(void))
+void __init prom_cacheflush(void)
 {
 	romvec->cache_flush();
 }
diff -urN linux/arch/mips/arc/printf.c linux-2.3.15-work/arch/mips/arc/printf.c
--- linux/arch/mips/arc/printf.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/arc/printf.c	Thu Aug 26 13:47:18 1999
@@ -17,7 +17,7 @@
 #ifdef CONFIG_SGI_PROM_CONSOLE
 void prom_printf(char *fmt, ...)
 #else
-__initfunc(void prom_printf(char *fmt, ...))
+void __init prom_printf(char *fmt, ...)
 #endif
 {
 	va_list args;
diff -urN linux/arch/mips/arc/salone.c linux-2.3.15-work/arch/mips/arc/salone.c
--- linux/arch/mips/arc/salone.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/salone.c	Thu Aug 26 13:47:45 1999
@@ -9,17 +9,17 @@
 #include <linux/init.h>
 #include <asm/sgialib.h>
 
-__initfunc(long prom_load(char *name, unsigned long end, unsigned long *pc, unsigned long *eaddr))
+long __init prom_load(char *name, unsigned long end, unsigned long *pc, unsigned long *eaddr)
 {
 	return romvec->load(name, end, pc, eaddr);
 }
 
-__initfunc(long prom_invoke(unsigned long pc, unsigned long sp, long argc, char **argv, char **envp))
+long __init prom_invoke(unsigned long pc, unsigned long sp, long argc, char **argv, char **envp)
 {
 	return romvec->invoke(pc, sp, argc, argv, envp);
 }
 
-__initfunc(long prom_exec(char *name, long argc, char **argv, char **envp))
+long __init prom_exec(char *name, long argc, char **argv, char **envp)
 {
 	return romvec->exec(name, argc, argv, envp);
 }
diff -urN linux/arch/mips/arc/time.c linux-2.3.15-work/arch/mips/arc/time.c
--- linux/arch/mips/arc/time.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/time.c	Thu Aug 26 13:48:13 1999
@@ -8,12 +8,12 @@
 #include <linux/init.h>
 #include <asm/sgialib.h>
 
-__initfunc(struct linux_tinfo *prom_gettinfo(void))
+struct linux_tinfo * __init prom_gettinfo(void)
 {
 	return romvec->get_tinfo();
 }
 
-__initfunc(unsigned long prom_getrtime(void))
+unsigned long __init prom_getrtime(void)
 {
 	return romvec->get_rtime();
 }
diff -urN linux/arch/mips/arc/tree.c linux-2.3.15-work/arch/mips/arc/tree.c
--- linux/arch/mips/arc/tree.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/arc/tree.c	Thu Aug 26 13:49:15 1999
@@ -10,41 +10,41 @@
 
 #define DEBUG_PROM_TREE
 
-__initfunc(pcomponent *prom_getsibling(pcomponent *this))
+pcomponent * __init prom_getsibling(pcomponent *this)
 {
 	if(this == PROM_NULL_COMPONENT)
 		return PROM_NULL_COMPONENT;
 	return romvec->next_component(this);
 }
 
-__initfunc(pcomponent *prom_getchild(pcomponent *this))
+pcomponent * __init prom_getchild(pcomponent *this)
 {
 	return romvec->child_component(this);
 }
 
-__initfunc(pcomponent *prom_getparent(pcomponent *child))
+pcomponent * __init prom_getparent(pcomponent *child)
 {
 	if(child == PROM_NULL_COMPONENT)
 		return PROM_NULL_COMPONENT;
 	return romvec->parent_component(child);
 }
 
-__initfunc(long prom_getcdata(void *buffer, pcomponent *this))
+long __init prom_getcdata(void *buffer, pcomponent *this)
 {
 	return romvec->component_data(buffer, this);
 }
 
-__initfunc(pcomponent *prom_childadd(pcomponent *this, pcomponent *tmp, void *data))
+pcomponent * __init prom_childadd(pcomponent *this, pcomponent *tmp, void *data)
 {
 	return romvec->child_add(this, tmp, data);
 }
 
-__initfunc(long prom_delcomponent(pcomponent *this))
+long __init prom_delcomponent(pcomponent *this)
 {
 	return romvec->comp_del(this);
 }
 
-__initfunc(pcomponent *prom_componentbypath(char *path))
+pcomponent * __init prom_componentbypath(char *path)
 {
 	return romvec->component_by_path(path);
 }
@@ -74,7 +74,7 @@
 	"input", "output"
 };
 
-__initfunc(static void dump_component(pcomponent *p))
+static void __init dump_component(pcomponent *p)
 {
 	prom_printf("[%p]:class<%s>type<%s>flags<%s>ver<%d>rev<%d>",
 		    p, classes[p->class], types[p->type],
@@ -83,7 +83,7 @@
 		    p->key, p->amask, (int)p->cdsize, (int)p->ilen, p->iname);
 }
 
-__initfunc(static void traverse(pcomponent *p, int op))
+static void __init traverse(pcomponent *p, int op)
 {
 	dump_component(p);
 	if(prom_getchild(p))
@@ -92,7 +92,7 @@
 		traverse(prom_getsibling(p), 1);
 }
 
-__initfunc(void prom_testtree(void))
+void __init prom_testtree(void)
 {
 	pcomponent *p;
 
diff -urN linux/arch/mips/baget/irq.c linux-2.3.15-work/arch/mips/baget/irq.c
--- linux/arch/mips/baget/irq.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/baget/irq.c	Thu Aug 26 13:49:30 1999
@@ -422,7 +422,7 @@
 	*(volatile char*) BAGET_WRERR_ACK = 0;
 }
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
 	irq_setup();
 
diff -urN linux/arch/mips/baget/print.c linux-2.3.15-work/arch/mips/baget/print.c
--- linux/arch/mips/baget/print.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/baget/print.c	Thu Aug 26 13:49:53 1999
@@ -76,7 +76,7 @@
         outs( s );
 }
 
-__initfunc(void balo_printf( char *f, ... )) 
+void __init balo_printf( char *f, ... )
 {
         int *arg = (int*)&f + 1;
         char c; 
@@ -111,7 +111,7 @@
         }
 }
 
-__initfunc(void balo_hungup(void))
+void __init balo_hungup(void)
 { 
         outs("Hunging up.\n");
         while(1); 
diff -urN linux/arch/mips/baget/prom/init.c linux-2.3.15-work/arch/mips/baget/prom/init.c
--- linux/arch/mips/baget/prom/init.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/baget/prom/init.c	Thu Aug 26 13:50:05 1999
@@ -10,7 +10,7 @@
 
 char arcs_cmdline[CL_SIZE];
 
-__initfunc(int prom_init(unsigned int mem_upper))
+int __init prom_init(unsigned int mem_upper)
 {
 	mips_memory_upper = mem_upper;
 	mips_machgroup  = MACH_GROUP_UNKNOWN;
diff -urN linux/arch/mips/baget/setup.c linux-2.3.15-work/arch/mips/baget/setup.c
--- linux/arch/mips/baget/setup.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/baget/setup.c	Thu Aug 26 13:50:49 1999
@@ -21,7 +21,7 @@
 #define CACHEABLE_STR(val) ((val) ? "not cached" : "cached")
 #define MIN(a,b)           (((a)<(b)) ? (a):(b)) 
 		
-__initfunc(static void vac_show(void))
+static void __init vac_show(void)
 { 
 	int i;
 	unsigned short val, decode = vac_inw(VAC_DECODE_CTRL);
@@ -172,7 +172,7 @@
 	       (VAC_CTRL_DELAY_IOSELI_VAL(val)&1) ? ".5" : "");
 }
 
-__initfunc(static void vac_init(void))
+static void __init vac_init(void)
 {
 	unsigned short mem_limit = ((mips_memory_upper-KSEG0) >> 16);
 
@@ -283,7 +283,7 @@
         vac_show();
 }
 
-__initfunc(static void vac_start(void))
+static void __init vac_start(void)
 {
 	vac_outw(0, VAC_ID);
 	vac_outw(VAC_INT_CTRL_TIMER_DISABLE|
@@ -305,7 +305,7 @@
 	vac_outw((500000/(384*16))<<8,VAC_CPU_CLK_DIV); 
 }
 
-__initfunc(static void vic_show(void))
+static void __init vic_show(void)
 {
 	unsigned char val;
 	char *timeout[]  = { "4", "16", "32", "64", "128", "256", "disabled" };
@@ -364,7 +364,7 @@
 	
 }
 
-__initfunc(static void vic_init(void))
+static void __init vic_init(void)
 {
 	 unsigned char id = vic_inb(VIC_ID);
 	 if ((id & 0xf0) != 0xf0)
@@ -463,7 +463,7 @@
 		 VIC_INT_ENABLE, VIC_LINT7);
 }
 
-__initfunc(void baget_irq_setup(void))
+void __init baget_irq_setup(void)
 {
 	extern void bagetIRQ(void);
 
@@ -475,7 +475,7 @@
 extern void baget_machine_halt(void);
 extern void baget_machine_power_off(void);
  
-__initfunc(void baget_setup(void))
+void __init baget_setup(void)
 {
 	printk("BT23/63-201n found.\n");
 	*BAGET_WRERR_ACK = 0;
diff -urN linux/arch/mips/baget/time.c linux-2.3.15-work/arch/mips/baget/time.c
--- linux/arch/mips/baget/time.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/baget/time.c	Thu Aug 26 13:51:08 1999
@@ -52,7 +52,7 @@
 	}
 }
 
-__initfunc(static void timer_enable(void))
+static void __init timer_enable(void)
 {
 	unsigned char ss0cr0 = vic_inb(VIC_SS0CR0);
 	ss0cr0 &= ~VIC_SS0CR0_TIMER_FREQ_MASK;
@@ -63,7 +63,7 @@
 		 VIC_INT_LOW|VIC_INT_ENABLE, VIC_LINT2); 
 }
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
 	if (request_irq(BAGET_VIC_TIMER_IRQ, timer_interrupt, 
 			SA_INTERRUPT|SA_STATIC_ALLOC, "timer", NULL) < 0) 
diff -urN linux/arch/mips/baget/vacserial.c linux-2.3.15-work/arch/mips/baget/vacserial.c
--- linux/arch/mips/baget/vacserial.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/baget/vacserial.c	Thu Aug 26 13:51:34 1999
@@ -2302,7 +2302,7 @@
 /*
  * The serial driver boot-time initialization code!
  */
-__initfunc(int rs_init(void))
+int __init rs_init(void)
 {
 	int i;
 	struct serial_state * state;
@@ -2666,7 +2666,7 @@
  *	- initialize the serial port
  *	Return non-zero if we didn't find a serial port.
  */
-__initfunc(static int serial_console_setup(struct console *co, char *options))
+static int __init serial_console_setup(struct console *co, char *options)
 {
 	struct serial_state *ser;
 	unsigned cval;
@@ -2821,7 +2821,7 @@
 /*
  *	Register console.
  */
-__initfunc (long serial_console_init(long kmem_start, long kmem_end))
+long __init serial_console_init(long kmem_start, long kmem_end)
 {
 	register_console(&sercons);
 	return kmem_start;
diff -urN linux/arch/mips/baget/wbflush.c linux-2.3.15-work/arch/mips/baget/wbflush.c
--- linux/arch/mips/baget/wbflush.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/baget/wbflush.c	Thu Aug 26 13:51:50 1999
@@ -11,7 +11,7 @@
 
 static void wbflush_baget(void);
 
-__initfunc(void wbflush_setup(void))
+void __init wbflush_setup(void)
 {
 	__wbflush = wbflush_baget;
 }
diff -urN linux/arch/mips/dec/irq.c linux-2.3.15-work/arch/mips/dec/irq.c
--- linux/arch/mips/dec/irq.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/dec/irq.c	Thu Aug 26 13:52:04 1999
@@ -263,7 +263,7 @@
     return 0;
 }
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
     irq_setup();
 }
diff -urN linux/arch/mips/dec/prom/cmdline.c linux-2.3.15-work/arch/mips/dec/prom/cmdline.c
--- linux/arch/mips/dec/prom/cmdline.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/dec/prom/cmdline.c	Thu Aug 26 13:52:19 1999
@@ -21,7 +21,7 @@
 
 char arcs_cmdline[CL_SIZE];
 
-__initfunc(void prom_init_cmdline(int argc, char **argv, unsigned long magic))
+void __init prom_init_cmdline(int argc, char **argv, unsigned long magic)
 {
 	int start_arg, i;
 
diff -urN linux/arch/mips/dec/prom/identify.c linux-2.3.15-work/arch/mips/dec/prom/identify.c
--- linux/arch/mips/dec/prom/identify.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/dec/prom/identify.c	Thu Aug 26 13:52:32 1999
@@ -21,7 +21,7 @@
 extern unsigned long mips_machgroup;
 extern unsigned long mips_machtype;
 
-__initfunc(void prom_identify_arch (unsigned int magic))
+void __init prom_identify_arch (unsigned int magic)
 {
 	unsigned char dec_cpunum, dec_firmrev, dec_etc;
 	int dec_systype;
diff -urN linux/arch/mips/dec/prom/init.c linux-2.3.15-work/arch/mips/dec/prom/init.c
--- linux/arch/mips/dec/prom/init.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/dec/prom/init.c	Thu Aug 26 13:52:50 1999
@@ -41,7 +41,7 @@
  * Detect which PROM's the DECSTATION has, and set the callback vectors
  * appropriately.
  */
-__initfunc(void which_prom(unsigned long magic, int *prom_vec))
+void __init which_prom(unsigned long magic, int *prom_vec)
 {
 	/*
 	 * No sign of the REX PROM's magic number means we assume a non-REX
@@ -78,8 +78,8 @@
 	}
 } 
 
-__initfunc(int prom_init(int argc, char **argv,
-	       unsigned long magic, int *prom_vec))
+int __init prom_init(int argc, char **argv,
+	       unsigned long magic, int *prom_vec)
 {
 	/* Determine which PROM's we have (and therefore which machine we're on!) */
 	which_prom(magic, prom_vec);
diff -urN linux/arch/mips/dec/prom/memory.c linux-2.3.15-work/arch/mips/dec/prom/memory.c
--- linux/arch/mips/dec/prom/memory.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/dec/prom/memory.c	Thu Aug 26 13:53:19 1999
@@ -34,7 +34,7 @@
 
 #define CHUNK_SIZE 0x400000
 
-__initfunc(unsigned long pmax_get_memory_size(void))
+unsigned long __init pmax_get_memory_size(void)
 {
 	volatile unsigned char *memory_page, dummy;
 	char	old_handler[0x80];
@@ -62,7 +62,7 @@
  * Use the REX prom calls to get hold of the memory bitmap, and thence
  * determine memory size.
  */
-__initfunc(unsigned long rex_get_memory_size(void))
+unsigned long __init rex_get_memory_size(void)
 {
 	int i, bitmap_size;
 	unsigned long mem_size = 0;
@@ -81,7 +81,7 @@
 	return (mem_size);
 }
 
-__initfunc(void prom_meminit(unsigned int magic))
+void __init prom_meminit(unsigned int magic)
 {
 	if (magic != REX_PROM_MAGIC)
 		mips_memory_upper = KSEG0 + pmax_get_memory_size();
@@ -94,7 +94,7 @@
 }
 
 /* Called from mem_init() to fixup the mem_map page settings. */
-__initfunc(void prom_fixup_mem_map(unsigned long start, unsigned long end))
+void __init prom_fixup_mem_map(unsigned long start, unsigned long end)
 {
 }
 
diff -urN linux/arch/mips/dec/promcon.c linux-2.3.15-work/arch/mips/dec/promcon.c
--- linux/arch/mips/dec/promcon.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/dec/promcon.c	Thu Aug 26 13:53:38 1999
@@ -35,7 +35,7 @@
     return prom_getchar();
 }
 
-__initfunc(static int prom_console_setup(struct console *co, char *options))
+static int __init prom_console_setup(struct console *co, char *options)
 {
     return 0;
 }
@@ -64,7 +64,7 @@
  *    Register console.
  */
 
-__initfunc(long prom_console_init(long kmem_start, long kmem_end))
+long __init prom_console_init(long kmem_start, long kmem_end)
 {
     register_console(&sercons);
     return kmem_start;
diff -urN linux/arch/mips/dec/serial.c linux-2.3.15-work/arch/mips/dec/serial.c
--- linux/arch/mips/dec/serial.c	Thu Aug  5 00:36:41 1999
+++ linux-2.3.15-work/arch/mips/dec/serial.c	Thu Aug 26 13:54:04 1999
@@ -45,7 +45,7 @@
 
 #ifdef CONFIG_SERIAL
 
-__initfunc(int rs_init(void))
+int __init rs_init(void)
 {
 
 #if defined(CONFIG_ZS) && defined(CONFIG_DZ)
@@ -73,7 +73,7 @@
 /* serial_console_init handles the special case of starting
  *   up the console on the serial port
  */
-__initfunc(long serial_console_init(long kmem_start, long kmem_end))
+long __init serial_console_init(long kmem_start, long kmem_end)
 {
 #if defined(CONFIG_ZS) && defined(CONFIG_DZ)
     if (IOASIC)
diff -urN linux/arch/mips/dec/setup.c linux-2.3.15-work/arch/mips/dec/setup.c
--- linux/arch/mips/dec/setup.c	Thu Aug  5 00:36:41 1999
+++ linux-2.3.15-work/arch/mips/dec/setup.c	Thu Aug 26 13:54:58 1999
@@ -60,7 +60,7 @@
 
 void (*board_time_init) (struct irqaction * irq);
 
-__initfunc(static void dec_irq_setup(void))
+static void __init dec_irq_setup(void)
 {
     switch (mips_machtype) {
     case MACH_DS23100:
@@ -97,7 +97,7 @@
 /*
  * enable the periodic interrupts
  */
-__initfunc(static void dec_time_init(struct irqaction *irq))
+static void __init dec_time_init(struct irqaction *irq)
 {
     /*
      * Here we go, enable periodic rtc interrupts.
@@ -112,7 +112,7 @@
     setup_dec_irq(CLOCK, irq);
 }
 
-__initfunc(void decstation_setup(void))
+void __init decstation_setup(void)
 {
     irq_setup = dec_irq_setup;
     board_time_init = dec_time_init;
@@ -130,7 +130,7 @@
  * Machine-specific initialisation for kn01, aka Pmax, aka DS2100, DS3100,
  * and possibly also the DS5100.
  */
-__initfunc(void dec_init_kn01(void))
+void __init dec_init_kn01(void)
 {
     /*
      * Setup some memory addresses.
@@ -176,7 +176,7 @@
  *
  * There are a lot of experiments to do, this is definitely incomplete.
  */
-__initfunc(void dec_init_kn230(void))
+void __init dec_init_kn230(void)
 {
     /*
      * Setup some memory addresses.
@@ -200,7 +200,7 @@
 /*
  * Machine-specific initialisation for kn02, aka 3max, aka DS5000/2xx.
  */
-__initfunc(void dec_init_kn02(void))
+void __init dec_init_kn02(void)
 {
     /*
      * Setup some memory addresses. FIXME: probably incomplete!
@@ -270,7 +270,7 @@
 /*
  * Machine-specific initialisation for kn02ba, aka 3min, aka DS5000/1xx.
  */
-__initfunc(void dec_init_kn02ba(void))
+void __init dec_init_kn02ba(void)
 {
     /*
      * Setup some memory addresses.
@@ -350,7 +350,7 @@
 /*
  * Machine-specific initialisation for kn02ca, aka maxine, aka DS5000/2x.
  */
-__initfunc(void dec_init_kn02ca(void))
+void __init dec_init_kn02ca(void)
 {
     /*
      * Setup some memory addresses. FIXME: probably incomplete!
@@ -425,7 +425,7 @@
 /*
  * Machine-specific initialisation for kn03, aka 3max+, aka DS5000/240.
  */
-__initfunc(void dec_init_kn03(void))
+void __init dec_init_kn03(void)
 {
     /*
      * Setup some memory addresses. FIXME: probably incomplete!
diff -urN linux/arch/mips/dec/time.c linux-2.3.15-work/arch/mips/dec/time.c
--- linux/arch/mips/dec/time.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/dec/time.c	Thu Aug 26 13:55:11 1999
@@ -385,7 +385,7 @@
 
 void (*board_time_init) (struct irqaction * irq);
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
     unsigned int year, mon, day, hour, min, sec;
     int i;
diff -urN linux/arch/mips/dec/wbflush.c linux-2.3.15-work/arch/mips/dec/wbflush.c
--- linux/arch/mips/dec/wbflush.c	Thu Aug  5 00:36:41 1999
+++ linux-2.3.15-work/arch/mips/dec/wbflush.c	Thu Aug 26 13:55:24 1999
@@ -23,7 +23,7 @@
 
 void (*__wbflush) (void);
 
-__initfunc(void wbflush_setup(void))
+void __init wbflush_setup(void)
 {
 	switch (mips_machtype) {
 	case MACH_DS23100:
diff -urN linux/arch/mips/jazz/setup.c linux-2.3.15-work/arch/mips/jazz/setup.c
--- linux/arch/mips/jazz/setup.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/jazz/setup.c	Thu Aug 26 13:35:40 1999
@@ -52,14 +52,14 @@
 
 void (*board_time_init)(struct irqaction *irq);
 
-__initfunc(static void jazz_time_init(struct irqaction *irq))
+static void __init jazz_time_init(struct irqaction *irq)
 {
         /* set the clock to 100 Hz */
         r4030_write_reg32(JAZZ_TIMER_INTERVAL, 9);
         i8259_setup_irq(JAZZ_TIMER_IRQ, irq);
 }
 
-__initfunc(static void jazz_irq_setup(void))
+static void __init jazz_irq_setup(void)
 {
         set_except_vector(0, jazz_handle_int);
 	r4030_write_reg16(JAZZ_IO_IRQ_ENABLE,
@@ -79,7 +79,7 @@
 	i8259_setup_irq(2, &irq2);
 }
 
-__initfunc(void jazz_setup(void))
+void __init jazz_setup(void)
 {
 	add_wired_entry (0x02000017, 0x03c00017, 0xe0000000, PM_64K);
 	add_wired_entry (0x02400017, 0x02440017, 0xe2000000, PM_16M);
diff -urN linux/arch/mips/kernel/irixinv.c linux-2.3.15-work/arch/mips/kernel/irixinv.c
--- linux/arch/mips/kernel/irixinv.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/kernel/irixinv.c	Thu Aug 26 13:35:17 1999
@@ -53,7 +53,7 @@
 	return inventory_items * sizeof (inventory_t);
 }
 
-__initfunc(void init_inventory (void))
+void __init init_inventory (void)
 {
 	/* gross hack while we put the right bits all over the kernel
 	 * most likely this will not let just anyone run the X server
diff -urN linux/arch/mips/kernel/irq.c linux-2.3.15-work/arch/mips/kernel/irq.c
--- linux/arch/mips/kernel/irq.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/kernel/irq.c	Thu Aug 26 13:34:09 1999
@@ -356,7 +356,7 @@
 	return ((irq == 2) ? 9 : irq);
 }
 
-__initfunc(static void i8259_init(void))
+static void __init i8259_init(void)
 {
 	/* Init master interrupt controller */
 	outb(0x11, 0x20); /* Start init sequence */
@@ -376,7 +376,7 @@
 	outb(cached_21, 0x21);
 }
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
 	irq_cannonicalize = i8259_irq_cannonicalize;
 	/* i8259_init(); */
diff -urN linux/arch/mips/kernel/pci.c linux-2.3.15-work/arch/mips/kernel/pci.c
--- linux/arch/mips/kernel/pci.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/kernel/pci.c	Thu Aug 26 13:35:03 1999
@@ -22,7 +22,7 @@
 /*
  * BIOS32 replacement.
  */
-__initfunc(void pcibios_init(void))
+void __init pcibios_init(void)
 {
 }
 
@@ -81,12 +81,12 @@
 	return pci_ops->pcibios_write_config_dword(bus, dev_fn, where, val);
 }
 
-__initfunc(char *pcibios_setup(char *str))
+char * __init pcibios_setup(char *str)
 {
 	return str;
 }
 
-__initfunc(void pcibios_fixup_bus(struct pci_bus *bus))
+void __init pcibios_fixup_bus(struct pci_bus *bus)
 {
 }
 
diff -urN linux/arch/mips/kernel/setup.c linux-2.3.15-work/arch/mips/kernel/setup.c
--- linux/arch/mips/kernel/setup.c	Tue Jul  6 04:35:17 1999
+++ linux-2.3.15-work/arch/mips/kernel/setup.c	Thu Aug 26 13:33:49 1999
@@ -135,13 +135,13 @@
  */
 unsigned long isa_slot_offset;
 
-__initfunc(static void default_irq_setup(void))
+static void __init default_irq_setup(void)
 {
 	panic("Unknown machtype in init_IRQ");
 }
 
-__initfunc(void setup_arch(char **cmdline_p,
-           unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init setup_arch(char **cmdline_p,
+           unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	unsigned long memory_end;
 #ifdef CONFIG_BLK_DEV_INITRD
diff -urN linux/arch/mips/kernel/time.c linux-2.3.15-work/arch/mips/kernel/time.c
--- linux/arch/mips/kernel/time.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/kernel/time.c	Thu Aug 26 13:34:37 1999
@@ -479,7 +479,7 @@
 
 void (*board_time_init)(struct irqaction *irq);
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
 	unsigned int epoch, year, mon, day, hour, min, sec;
 	int i;
diff -urN linux/arch/mips/kernel/traps.c linux-2.3.15-work/arch/mips/kernel/traps.c
--- linux/arch/mips/kernel/traps.c	Sat Jun 26 01:40:12 1999
+++ linux-2.3.15-work/arch/mips/kernel/traps.c	Thu Aug 26 13:34:23 1999
@@ -467,7 +467,7 @@
 extern asmlinkage void *r4xx0_resume(void *last, void *next);
 extern asmlinkage void *r2300_resume(void *last, void *next);
 
-__initfunc(void trap_init(void))
+void __init trap_init(void)
 {
 	extern char except_vec0_nevada, except_vec0_r4000;
 	extern char except_vec0_r4600, except_vec0_r2300;
diff -urN linux/arch/mips/mm/andes.c linux-2.3.15-work/arch/mips/mm/andes.c
--- linux/arch/mips/mm/andes.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/mm/andes.c	Thu Aug 26 13:31:03 1999
@@ -91,7 +91,7 @@
 	return (regs->cp0_status & ST0_KSU) == KSU_USER;
 }
 
-__initfunc(void ld_mmu_andes(void))
+void __init ld_mmu_andes(void)
 {
 	flush_cache_all = andes_flush_cache_all;
 	flush_cache_mm = andes_flush_cache_mm;
diff -urN linux/arch/mips/mm/init.c linux-2.3.15-work/arch/mips/mm/init.c
--- linux/arch/mips/mm/init.c	Tue Jun 29 17:22:08 1999
+++ linux-2.3.15-work/arch/mips/mm/init.c	Thu Aug 26 13:30:44 1999
@@ -272,7 +272,7 @@
 
 extern unsigned long free_area_init(unsigned long, unsigned long);
 
-__initfunc(unsigned long paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	/* Initialize the entire pgd.  */
 	pgd_init((unsigned long)swapper_pg_dir);
@@ -280,7 +280,7 @@
 	return free_area_init(start_mem, end_mem);
 }
 
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	int codepages = 0;
 	int datapages = 0;
@@ -383,8 +383,8 @@
 }
 
 /* Fixup an immediate instruction  */
-__initfunc(static void __i_insn_fixup(unsigned int **start, unsigned int **stop,
-                         unsigned int i_const))
+static void __init __i_insn_fixup(unsigned int **start, unsigned int **stop,
+                         unsigned int i_const)
 {
 	unsigned int **p, *ip;
 
@@ -402,9 +402,9 @@
 } while(0)
 
 /* Caller is assumed to flush the caches before the first context switch.  */
-__initfunc(void __asid_setup(unsigned int inc, unsigned int mask,
+void __init __asid_setup(unsigned int inc, unsigned int mask,
                              unsigned int version_mask,
-                             unsigned int first_version))
+                             unsigned int first_version)
 {
 	i_insn_fixup(__asid_inc, inc);
 	i_insn_fixup(__asid_mask, mask);
diff -urN linux/arch/mips/mm/loadmmu.c linux-2.3.15-work/arch/mips/mm/loadmmu.c
--- linux/arch/mips/mm/loadmmu.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/mm/loadmmu.c	Thu Aug 26 13:33:03 1999
@@ -62,7 +62,7 @@
 extern void ld_mmu_tfp(void);
 extern void ld_mmu_andes(void);
 
-__initfunc(void loadmmu(void))
+void __init loadmmu(void)
 {
 	switch(mips_cputype) {
 	case CPU_R2000:
diff -urN linux/arch/mips/mm/r2300.c linux-2.3.15-work/arch/mips/mm/r2300.c
--- linux/arch/mips/mm/r2300.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/mm/r2300.c	Thu Aug 26 13:31:44 1999
@@ -127,7 +127,7 @@
 		 "I" (PAGE_SIZE));
 }
 
-__initfunc(static unsigned long size_cache(unsigned long ca_flags))
+static unsigned long __init size_cache(unsigned long ca_flags)
 {
 	unsigned long flags, status, dummy, size;
 	volatile unsigned long *p;
@@ -161,13 +161,13 @@
 	return size * sizeof(*p);
 }
 
-__initfunc(static void probe_dcache(void))
+static void __init probe_dcache(void)
 {
 	dcache.size = size_cache(dcache.ca_flags = ST0_DE);
 	printk("Data cache %dkb\n", dcache.size >> 10);
 }
 
-__initfunc(static void probe_icache(void))
+static void __init probe_icache(void)
 {
 	icache.size = size_cache(icache.ca_flags = ST0_DE|ST0_CE);
 	printk("Instruction cache %dkb\n", icache.size >> 10);
@@ -683,7 +683,7 @@
 	return !(regs->cp0_status & ST0_KUP);
 }
 
-__initfunc(void ld_mmu_r2300(void))
+void __init ld_mmu_r2300(void)
 {
 	printk("CPU revision is: %08x\n", read_32bit_cp0_register(CP0_PRID));
 
diff -urN linux/arch/mips/mm/r4xx0.c linux-2.3.15-work/arch/mips/mm/r4xx0.c
--- linux/arch/mips/mm/r4xx0.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/mm/r4xx0.c	Thu Aug 26 13:32:49 1999
@@ -2516,7 +2516,7 @@
 }
 
 /* Detect and size the various r4k caches. */
-__initfunc(static void probe_icache(unsigned long config))
+static void __init probe_icache(unsigned long config)
 {
 	icache_size = 1 << (12 + ((config >> 9) & 7));
 	ic_lsize = 16 << ((config >> 5) & 1);
@@ -2525,7 +2525,7 @@
 	       icache_size >> 10, ic_lsize);
 }
 
-__initfunc(static void probe_dcache(unsigned long config))
+static void __init probe_dcache(unsigned long config)
 {
 	dcache_size = 1 << (12 + ((config >> 6) & 7));
 	dc_lsize = 16 << ((config >> 4) & 1);
@@ -2540,7 +2540,7 @@
  * the cache sizing loop that executes in KSEG1 space or else
  * you will crash and burn badly.  You have been warned.
  */
-__initfunc(static int probe_scache(unsigned long config))
+static int __init probe_scache(unsigned long config)
 {
 	extern unsigned long stext;
 	unsigned long flags, addr, begin, end, pow2;
@@ -2624,7 +2624,7 @@
 	return 1;
 }
 
-__initfunc(static void setup_noscache_funcs(void))
+static void __init setup_noscache_funcs(void)
 {
 	unsigned int prid;
 
@@ -2662,7 +2662,7 @@
 	dma_cache_inv = r4k_dma_cache_inv_pc;
 }
 
-__initfunc(static void setup_scache_funcs(void))
+static void __init setup_scache_funcs(void)
 {
 	switch(sc_lsize) {
 	case 16:
@@ -2748,7 +2748,7 @@
 
 typedef int (*probe_func_t)(unsigned long);
 
-__initfunc(static inline void setup_scache(unsigned int config))
+static inline void __init setup_scache(unsigned int config)
 {
 	probe_func_t probe_scache_kseg1;
 	int sc_present = 0;
@@ -2770,7 +2770,7 @@
 	return (regs->cp0_status & ST0_KSU) == KSU_USER;
 }
 
-__initfunc(void ld_mmu_r4xx0(void))
+void __init ld_mmu_r4xx0(void)
 {
 	unsigned long config = read_32bit_cp0_register(CP0_CONFIG);
 
diff -urN linux/arch/mips/mm/r6000.c linux-2.3.15-work/arch/mips/mm/r6000.c
--- linux/arch/mips/mm/r6000.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/mm/r6000.c	Thu Aug 26 13:33:17 1999
@@ -169,7 +169,7 @@
 	return !(regs->cp0_status & 0x4);
 }
 
-__initfunc(void ld_mmu_r6000(void))
+void __init ld_mmu_r6000(void)
 {
 	flush_cache_all = r6000_flush_cache_all;
 	flush_cache_mm = r6000_flush_cache_mm;
diff -urN linux/arch/mips/mm/tfp.c linux-2.3.15-work/arch/mips/mm/tfp.c
--- linux/arch/mips/mm/tfp.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/mm/tfp.c	Thu Aug 26 13:33:30 1999
@@ -93,7 +93,7 @@
 	return (regs->cp0_status & ST0_KSU) == KSU_USER;
 }
 
-__initfunc(void ld_mmu_tfp(void))
+void __init ld_mmu_tfp(void)
 {
 	flush_cache_all = tfp_flush_cache_all;
 	flush_cache_mm = tfp_flush_cache_mm;
diff -urN linux/arch/mips/sgi/kernel/indy_hpc.c linux-2.3.15-work/arch/mips/sgi/kernel/indy_hpc.c
--- linux/arch/mips/sgi/kernel/indy_hpc.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/indy_hpc.c	Thu Aug 26 13:36:21 1999
@@ -25,7 +25,7 @@
 int sgi_guiness = 0;
 int sgi_boardid;
 
-__initfunc(void sgihpc_init(void))
+void __init sgihpc_init(void)
 {
 	unsigned long sid, crev, brev;
 
diff -urN linux/arch/mips/sgi/kernel/indy_int.c linux-2.3.15-work/arch/mips/sgi/kernel/indy_int.c
--- linux/arch/mips/sgi/kernel/indy_int.c	Wed Jun 30 19:24:54 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/indy_int.c	Thu Aug 26 13:36:03 1999
@@ -422,7 +422,7 @@
 	return irq;	/* Sane hardware, sane code ... */
 }
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
 	irq_cannonicalize = indy_irq_cannonicalize;
 	irq_setup();
@@ -527,7 +527,7 @@
 	return 0;
 }
 
-__initfunc(void sgint_init(void))
+void __init sgint_init(void)
 {
 	int i;
 
diff -urN linux/arch/mips/sgi/kernel/indy_mc.c linux-2.3.15-work/arch/mips/sgi/kernel/indy_mc.c
--- linux/arch/mips/sgi/kernel/indy_mc.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/indy_mc.c	Thu Aug 26 13:36:54 1999
@@ -47,7 +47,7 @@
 	};
 }
 
-__initfunc(void sgimc_init(void))
+void __init sgimc_init(void)
 {
 	unsigned long tmpreg;
 
diff -urN linux/arch/mips/sgi/kernel/indy_sc.c linux-2.3.15-work/arch/mips/sgi/kernel/indy_sc.c
--- linux/arch/mips/sgi/kernel/indy_sc.c	Thu Jul  1 18:45:57 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/indy_sc.c	Thu Aug 26 13:38:17 1999
@@ -150,7 +150,7 @@
         " : "=r" (tmp1), "=r" (tmp2), "=r" (tmp3));
 }
 
-__initfunc(static inline int indy_sc_probe(void))
+static inline int __init indy_sc_probe(void)
 {
 	volatile unsigned int *cpu_control;
 	unsigned short cmd = 0xc220;
@@ -219,7 +219,7 @@
 	indy_sc_wback_invalidate
 };
 
-__initfunc(void indy_sc_init(void))
+void __init indy_sc_init(void)
 {
 	if (indy_sc_probe()) {
 		indy_sc_enable();
diff -urN linux/arch/mips/sgi/kernel/indy_timer.c linux-2.3.15-work/arch/mips/sgi/kernel/indy_timer.c
--- linux/arch/mips/sgi/kernel/indy_timer.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/indy_timer.c	Thu Aug 26 13:36:39 1999
@@ -176,7 +176,7 @@
 	  )*60 + sec; /* finally seconds */
 }
 
-__initfunc(static unsigned long get_indy_time(void))
+static unsigned long __init get_indy_time(void)
 {
 	struct indy_clock *clock = (struct indy_clock *)INDY_CLOCK_REGS;
 	unsigned int year, mon, day, hour, min, sec;
@@ -221,7 +221,7 @@
 
 #define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5)
 
-__initfunc(void indy_timer_init(void))
+void __init indy_timer_init(void)
 {
 	struct sgi_ioc_timers *p;
 	volatile unsigned char *tcwp, *tc2p;
diff -urN linux/arch/mips/sgi/kernel/promcon.c linux-2.3.15-work/arch/mips/sgi/kernel/promcon.c
--- linux/arch/mips/sgi/kernel/promcon.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/promcon.c	Thu Aug 26 13:41:18 1999
@@ -37,7 +37,7 @@
     return prom_getchar();
 }
 
-__initfunc(static int prom_console_setup(struct console *co, char *options))
+static int __init prom_console_setup(struct console *co, char *options)
 {
     return 0;
 }
@@ -66,7 +66,7 @@
  *    Register console.
  */
 
-__initfunc(long sgi_prom_console_init(long kmem_start, long kmem_end))
+long __init sgi_prom_console_init(long kmem_start, long kmem_end)
 {
     register_console(&sercons);
     return kmem_start;
diff -urN linux/arch/mips/sgi/kernel/setup.c linux-2.3.15-work/arch/mips/sgi/kernel/setup.c
--- linux/arch/mips/sgi/kernel/setup.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/setup.c	Thu Aug 26 13:37:13 1999
@@ -118,7 +118,7 @@
 	sgi_read_status
 };
 
-__initfunc(static void sgi_irq_setup(void))
+static void __init sgi_irq_setup(void)
 {
 	sgint_init();
 
@@ -129,7 +129,7 @@
 #endif
 }
 
-__initfunc(void sgi_setup(void))
+void __init sgi_setup(void)
 {
 #ifdef CONFIG_SERIAL_CONSOLE
 	char *ctype;
diff -urN linux/arch/mips/sgi/kernel/system.c linux-2.3.15-work/arch/mips/sgi/kernel/system.c
--- linux/arch/mips/sgi/kernel/system.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/system.c	Thu Aug 26 13:37:42 1999
@@ -35,7 +35,7 @@
 
 #define NUM_CPUS 9 /* for now */
 
-__initfunc(static int string_to_cpu(char *s))
+static int __init string_to_cpu(char *s)
 {
 	int i;
 
@@ -54,7 +54,7 @@
  * We' call this early before loadmmu().  If we do the other way around
  * the firmware will crash and burn.
  */
-__initfunc(void sgi_sysinit(void))
+void __init sgi_sysinit(void)
 {
 	pcomponent *p, *toplev, *cpup = 0;
 	int cputype = -1;
diff -urN linux/arch/mips/sgi/kernel/time.c linux-2.3.15-work/arch/mips/sgi/kernel/time.c
--- linux/arch/mips/sgi/kernel/time.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sgi/kernel/time.c	Thu Aug 26 13:37:58 1999
@@ -8,7 +8,7 @@
 
 extern void indy_timer_init(void);
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
 	/* XXX assume INDY for now XXX */
 	indy_timer_init();
diff -urN linux/arch/mips/sni/pcimt_scache.c linux-2.3.15-work/arch/mips/sni/pcimt_scache.c
--- linux/arch/mips/sni/pcimt_scache.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sni/pcimt_scache.c	Thu Aug 26 13:41:59 1999
@@ -16,7 +16,7 @@
 #define cacheconf (*(volatile unsigned int *)PCIMT_CACHECONF)
 #define invspace (*(volatile unsigned int *)PCIMT_INVSPACE)
 
-__initfunc(void sni_pcimt_sc_init(void))
+void __init sni_pcimt_sc_init(void)
 {
 	unsigned int scsiz, sc_size;
 
diff -urN linux/arch/mips/sni/setup.c linux-2.3.15-work/arch/mips/sni/setup.c
--- linux/arch/mips/sni/setup.c	Sat Jun 26 01:40:13 1999
+++ linux-2.3.15-work/arch/mips/sni/setup.c	Thu Aug 26 13:41:45 1999
@@ -53,7 +53,7 @@
 extern struct rtc_ops std_rtc_ops;
 extern struct kbd_ops std_kbd_ops;
 
-__initfunc(static void sni_irq_setup(void))
+static void __init sni_irq_setup(void)
 {
 	set_except_vector(0, sni_rm200_pci_handle_int);
 	request_region(0x20,0x20, "pic1");
@@ -69,7 +69,7 @@
 
 void (*board_time_init)(struct irqaction *irq);
 
-__initfunc(static void sni_rm200_pci_time_init(struct irqaction *irq))
+static void __init sni_rm200_pci_time_init(struct irqaction *irq)
 {
 	/* set the clock to 100 Hz */
 	outb_p(0x34,0x43);		/* binary, mode 2, LSB/MSB, ch 0 */
@@ -104,7 +104,7 @@
 	printk("%s.\n", boardtype);
 }
 
-__initfunc(void sni_rm200_pci_setup(void))
+void __init sni_rm200_pci_setup(void)
 {
 	tag *atag;
 
diff -urN linux/arch/ppc/8xx_io/fec.c linux-2.3.15-work/arch/ppc/8xx_io/fec.c
--- linux/arch/ppc/8xx_io/fec.c	Wed Aug 18 19:39:01 1999
+++ linux-2.3.15-work/arch/ppc/8xx_io/fec.c	Thu Aug 26 14:07:57 1999
@@ -790,7 +790,7 @@
 
 /* Initialize the FECC Ethernet on 860T.
  */
-__initfunc(int m8xx_enet_init(void))
+int __init m8xx_enet_init(void)
 {
 	struct net_device *dev;
 	struct fec_enet_private *fep;
diff -urN linux/arch/ppc/8xx_io/uart.c linux-2.3.15-work/arch/ppc/8xx_io/uart.c
--- linux/arch/ppc/8xx_io/uart.c	Sat May 15 23:05:35 1999
+++ linux-2.3.15-work/arch/ppc/8xx_io/uart.c	Thu Aug 26 14:07:44 1999
@@ -2243,7 +2243,7 @@
 /*
  *	Register console.
  */
-__initfunc (long console_8xx_init(long kmem_start, long kmem_end))
+long __init console_8xx_init(long kmem_start, long kmem_end)
 {
 	register_console(&sercons);
 	return kmem_start;
@@ -2254,7 +2254,7 @@
 /*
  * The serial driver boot-time initialization code!
  */
-__initfunc(int rs_8xx_init(void))
+int __init rs_8xx_init(void)
 {
 	struct serial_state * state;
 	ser_info_t	*info;
@@ -2596,7 +2596,7 @@
 /* This must always be called before the rs_8xx_init() function, otherwise
  * it blows away the port control information.
 */
-__initfunc(static int serial_console_setup(struct console *co, char *options))
+static int __init serial_console_setup(struct console *co, char *options)
 {
 	struct		serial_state *ser;
 	uint		mem_addr, dp_addr;
diff -urN linux/arch/ppc/amiga/amiints.c linux-2.3.15-work/arch/ppc/amiga/amiints.c
--- linux/arch/ppc/amiga/amiints.c	Mon Jul 12 23:12:55 1999
+++ linux-2.3.15-work/arch/ppc/amiga/amiints.c	Thu Aug 26 14:08:11 1999
@@ -79,7 +79,7 @@
  * the amiga IRQ handling routines.
  */
 
-__initfunc(void amiga_init_IRQ(void))
+void __init amiga_init_IRQ(void)
 {
 	int i;
 
diff -urN linux/arch/ppc/amiga/bootinfo.c linux-2.3.15-work/arch/ppc/amiga/bootinfo.c
--- linux/arch/ppc/amiga/bootinfo.c	Mon Dec 21 16:37:20 1998
+++ linux-2.3.15-work/arch/ppc/amiga/bootinfo.c	Thu Aug 26 14:08:24 1999
@@ -24,7 +24,7 @@
 extern int atari_parse_bootinfo(const struct bi_record *);
 extern int mac_parse_bootinfo(const struct bi_record *);
 
-__initfunc(void parse_bootinfo(const struct bi_record *record))
+void __init parse_bootinfo(const struct bi_record *record)
 {
     while (record->tag != BI_LAST) {
 	int unknown = 0;
diff -urN linux/arch/ppc/amiga/config.c linux-2.3.15-work/arch/ppc/amiga/config.c
--- linux/arch/ppc/amiga/config.c	Tue Jul 13 10:29:35 1999
+++ linux-2.3.15-work/arch/ppc/amiga/config.c	Thu Aug 26 14:08:54 1999
@@ -183,7 +183,7 @@
      *  Identify builtin hardware
      */
 
-__initfunc(static void amiga_identify(void))
+static void __init amiga_identify(void)
 {
   /* Fill in some default values, if necessary */
   if (amiga_eclock == 0)
@@ -344,7 +344,7 @@
      *  Setup the Amiga configuration info
      */
 
-__initfunc(void config_amiga(void))
+void __init config_amiga(void)
 {
   amiga_debug_init();
   amiga_identify();
@@ -437,8 +437,8 @@
 
 static unsigned short jiffy_ticks;
 
-__initfunc(static void amiga_sched_init(void (*timer_routine)(int, void *,
-					struct pt_regs *)))
+static void __init amiga_sched_init(void (*timer_routine)(int, void *,
+					struct pt_regs *))
 {
 	jiffy_ticks = (amiga_eclock+HZ/2)/HZ;
 
@@ -819,7 +819,7 @@
 }
 #endif
 
-__initfunc(static void amiga_debug_init(void))
+static void __init amiga_debug_init(void)
 {
 	if (!strcmp( m68k_debug_device, "ser" )) {
 		/* no initialization required (?) */
diff -urN linux/arch/ppc/amiga/ints.c linux-2.3.15-work/arch/ppc/amiga/ints.c
--- linux/arch/ppc/amiga/ints.c	Wed Aug  5 00:06:36 1998
+++ linux-2.3.15-work/arch/ppc/amiga/ints.c	Thu Aug 26 14:09:10 1999
@@ -42,7 +42,7 @@
  * the IRQ handling routines.
  */
 
-__initfunc(void apus_init_IRQ(void))
+void __init apus_init_IRQ(void)
 {
 	int i;
 
diff -urN linux/arch/ppc/kernel/apus_setup.c linux-2.3.15-work/arch/ppc/kernel/apus_setup.c
--- linux/arch/ppc/kernel/apus_setup.c	Mon Aug  9 20:32:28 1999
+++ linux-2.3.15-work/arch/ppc/kernel/apus_setup.c	Thu Aug 26 14:05:07 1999
@@ -103,8 +103,8 @@
 
 /*********************************************************** SETUP */
 /* From arch/m68k/kernel/setup.c. */
-__initfunc(void apus_setup_arch(unsigned long * memory_start_p,
-				unsigned long * memory_end_p))
+void __init apus_setup_arch(unsigned long * memory_start_p,
+				unsigned long * memory_end_p)
 {
 	extern char cmd_line[];
 	int i;
@@ -245,7 +245,7 @@
 
 /*********************************************************** FLOPPY */
 #if defined(CONFIG_AMIGA_FLOPPY) || defined(CONFIG_ATARI_FLOPPY)
-__initfunc(void floppy_setup(char *str, int *ints))
+void __init floppy_setup(char *str, int *ints)
 {
 	if (mach_floppy_setup)
 		mach_floppy_setup (str, ints);
@@ -560,24 +560,24 @@
         m68k_ide_fix_driveid(id);
 }
 
-__initfunc(void
-apus_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq))
+void __init
+apus_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq)
 {
         m68k_ide_init_hwif_ports(hw, data_port, ctrl_port, irq);
 }
 #endif
 
-__initfunc(void
-apus_local_init_IRQ(void))
+void __init
+apus_local_init_IRQ(void)
 {
 	ppc_md.mask_irq = amiga_disable_irq;
 	ppc_md.unmask_irq = amiga_enable_irq;
 	apus_init_IRQ();
 }
 
-__initfunc(void
+void __init
 apus_init(unsigned long r3, unsigned long r4, unsigned long r5,
-	  unsigned long r6, unsigned long r7))
+	  unsigned long r6, unsigned long r7)
 {
 	/* Parse bootinfo. The bootinfo is located right after
            the kernel bss */
diff -urN linux/arch/ppc/kernel/chrp_setup.c linux-2.3.15-work/arch/ppc/kernel/chrp_setup.c
--- linux/arch/ppc/kernel/chrp_setup.c	Mon Jul 12 23:12:55 1999
+++ linux-2.3.15-work/arch/ppc/kernel/chrp_setup.c	Thu Aug 26 13:59:01 1999
@@ -191,20 +191,20 @@
      *  for keyboard and mouse
      */
 
-__initfunc(static inline void sio_write(u8 val, u8 index))
+static inline void __init sio_write(u8 val, u8 index)
 {
 	outb(index, 0x15c);
 	outb(val, 0x15d);
 }
 
-__initfunc(static inline u8 sio_read(u8 index))
+static inline u8 __init sio_read(u8 index)
 {
 	outb(index, 0x15c);
 	return inb(0x15d);
 }
 
-__initfunc(static void sio_fixup_irq(const char *name, u8 device, u8 level,
-				     u8 type))
+static void __init sio_fixup_irq(const char *name, u8 device, u8 level,
+				     u8 type)
 {
 	u8 level0, type0, active;
 
@@ -226,7 +226,7 @@
 
 }
 
-__initfunc(static void sio_init(void))
+static void __init sio_init(void)
 {
 	/* logical device 0 (KBC/Keyboard) */
 	sio_fixup_irq("keyboard", 0, 1, 2);
@@ -235,8 +235,8 @@
 }
 
 
-__initfunc(void
-	   chrp_setup_arch(unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init
+	   chrp_setup_arch(unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	extern char cmd_line[];
 	struct device_node *device;
@@ -434,8 +434,8 @@
                 openpic_eoi(0);
 }
 
-__initfunc(void
-	   chrp_init_IRQ(void))
+void __init
+	   chrp_init_IRQ(void)
 {
 	struct device_node *np;
 	int i;
@@ -468,8 +468,8 @@
 #endif	/* __SMP__ */
 }
 
-__initfunc(void
-	   chrp_init2(void))
+void __init
+	   chrp_init2(void)
 {
 	adb_init();
 
@@ -584,9 +584,9 @@
 
 #endif
 
-__initfunc(void
+void __init
 	   chrp_init(unsigned long r3, unsigned long r4, unsigned long r5,
-		     unsigned long r6, unsigned long r7))
+		     unsigned long r6, unsigned long r7)
 {
 	chrp_setup_pci_ptrs();
 #ifdef CONFIG_BLK_DEV_INITRD
diff -urN linux/arch/ppc/kernel/chrp_time.c linux-2.3.15-work/arch/ppc/kernel/chrp_time.c
--- linux/arch/ppc/kernel/chrp_time.c	Fri Mar 19 18:50:03 1999
+++ linux-2.3.15-work/arch/ppc/kernel/chrp_time.c	Thu Aug 26 13:59:24 1999
@@ -31,7 +31,7 @@
 static int nvram_as0 = NVRAM_AS0;
 static int nvram_data = NVRAM_DATA;
 
-__initfunc(void chrp_time_init(void))
+void __init chrp_time_init(void)
 {
 	struct device_node *rtcs;
 	int base;
@@ -151,7 +151,7 @@
 }
 
 
-__initfunc(void chrp_calibrate_decr(void))
+void __init chrp_calibrate_decr(void)
 {
 	struct device_node *cpu;
 	int *fp, divisor;
diff -urN linux/arch/ppc/kernel/mbx_pci.c linux-2.3.15-work/arch/ppc/kernel/mbx_pci.c
--- linux/arch/ppc/kernel/mbx_pci.c	Thu Apr 29 20:39:01 1999
+++ linux-2.3.15-work/arch/ppc/kernel/mbx_pci.c	Thu Aug 26 14:05:42 1999
@@ -253,16 +253,14 @@
     return PCIBIOS_DEVICE_NOT_FOUND;
 }
 
-__initfunc(
-void
-mbx_pcibios_fixup(void))
+void __init
+mbx_pcibios_fixup(void)
 {
    /* Nothing to do here? */
 }
 
-__initfunc(
-void
-mbx_setup_pci_ptrs(void))
+void __init
+mbx_setup_pci_ptrs(void)
 {
 	set_config_access_method(mbx);
 
diff -urN linux/arch/ppc/kernel/mbx_setup.c linux-2.3.15-work/arch/ppc/kernel/mbx_setup.c
--- linux/arch/ppc/kernel/mbx_setup.c	Mon Jun 28 21:40:39 1999
+++ linux-2.3.15-work/arch/ppc/kernel/mbx_setup.c	Thu Aug 26 14:06:09 1999
@@ -75,8 +75,8 @@
 {
 }
 
-__initfunc(void
-mbx_setup_arch(unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init
+mbx_setup_arch(unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	int	cpm_page;
 	extern char cmd_line[];
@@ -141,7 +141,7 @@
  * sixteen, or external oscillator divided by four.  Currently, we only
  * support the MBX, which is system clock divided by sixteen.
  */
-__initfunc(void mbx_calibrate_decr(void))
+void __init mbx_calibrate_decr(void)
 {
 	bd_t	*binfo = (bd_t *)&res;
 	int freq, fp, divisor;
@@ -310,8 +310,8 @@
  * interrupts can be either edge or level triggered, but there is no
  * reason for us to change the EPPC-bug values (it would not work if we did).
  */
-__initfunc(void
-mbx_init_IRQ(void))
+void __init
+mbx_init_IRQ(void)
 {
 	int i;
 
@@ -413,9 +413,9 @@
 }
 #endif
 
-__initfunc(void
+void __init
 mbx_init(unsigned long r3, unsigned long r4, unsigned long r5,
-	 unsigned long r6, unsigned long r7))
+	 unsigned long r6, unsigned long r7)
 {
 
 	if ( r3 )
diff -urN linux/arch/ppc/kernel/openpic.c linux-2.3.15-work/arch/ppc/kernel/openpic.c
--- linux/arch/ppc/kernel/openpic.c	Mon Jul 12 23:12:55 1999
+++ linux-2.3.15-work/arch/ppc/kernel/openpic.c	Thu Aug 26 13:59:37 1999
@@ -173,7 +173,7 @@
      *  Initialize the OpenPIC
      */
 
-__initfunc(void openpic_init(int main_pic))
+void __init openpic_init(int main_pic)
 {
     u_int t, i;
     u_int timerfreq;
diff -urN linux/arch/ppc/kernel/pmac_pci.c linux-2.3.15-work/arch/ppc/kernel/pmac_pci.c
--- linux/arch/ppc/kernel/pmac_pci.c	Thu Apr 29 20:39:01 1999
+++ linux-2.3.15-work/arch/ppc/kernel/pmac_pci.c	Thu Aug 26 14:02:28 1999
@@ -315,7 +315,7 @@
  * N.B. we can't use pcibios_*_config_* here because bridges[]
  * is not initialized yet.
  */
-__initfunc(static void init_bandit(struct bridge_data *bp))
+static void __init init_bandit(struct bridge_data *bp)
 {
 	unsigned int vendev, magic;
 	int rev;
@@ -360,7 +360,7 @@
 	       bp->io_base);
 }
 
-__initfunc(unsigned long pmac_find_bridges(unsigned long mem_start, unsigned long mem_end))
+unsigned long __init pmac_find_bridges(unsigned long mem_start, unsigned long mem_end)
 {
 	int bus;
 	struct bridge_data *bridge;
@@ -385,7 +385,7 @@
  * "pci" (a MPC106) and no bandit or chaos bridges, and contrariwise,
  * if we have one or more bandit or chaos bridges, we don't have a MPC106.
  */
-__initfunc(static void add_bridges(struct device_node *dev, unsigned long *mem_ptr))
+static void __init add_bridges(struct device_node *dev, unsigned long *mem_ptr)
 {
 	int *bus_range;
 	int len;
@@ -442,9 +442,8 @@
 	}
 }
 
-__initfunc(
-void
-pmac_pcibios_fixup(void))
+void __init
+pmac_pcibios_fixup(void)
 {
 	struct pci_dev *dev;
 	
@@ -472,9 +471,8 @@
 	}
 }
 
-__initfunc(
-void
-pmac_setup_pci_ptrs(void))
+void __init
+pmac_setup_pci_ptrs(void)
 {
 	if (find_devices("pci") != 0) {
 		/* looks like a G3 powermac */
diff -urN linux/arch/ppc/kernel/pmac_pic.c linux-2.3.15-work/arch/ppc/kernel/pmac_pic.c
--- linux/arch/ppc/kernel/pmac_pic.c	Wed May 12 16:50:00 1999
+++ linux-2.3.15-work/arch/ppc/kernel/pmac_pic.c	Thu Aug 26 14:06:22 1999
@@ -290,8 +290,8 @@
 	}
 }
 
-__initfunc(void
-pmac_pic_init(void))
+void __init
+pmac_pic_init(void)
 {
         int i;
         struct device_node *irqctrler;
diff -urN linux/arch/ppc/kernel/pmac_setup.c linux-2.3.15-work/arch/ppc/kernel/pmac_setup.c
--- linux/arch/ppc/kernel/pmac_setup.c	Mon Jul 12 23:12:55 1999
+++ linux-2.3.15-work/arch/ppc/kernel/pmac_setup.c	Thu Aug 26 14:00:52 1999
@@ -227,8 +227,8 @@
 
 static volatile u32 *sysctrl_regs;
 
-__initfunc(void
-pmac_setup_arch(unsigned long *memory_start_p, unsigned long *memory_end_p))
+void __init
+pmac_setup_arch(unsigned long *memory_start_p, unsigned long *memory_end_p)
 {
 	struct device_node *cpu;
 	int *fp;
@@ -308,7 +308,7 @@
 /*
  * Tweak the PCI-PCI bridge chip on the blue & white G3s.
  */
-__initfunc(static void init_p2pbridge(void))
+static void __init init_p2pbridge(void)
 {
 	struct device_node *p2pbridge;
 	unsigned char bus, devfn;
@@ -330,7 +330,7 @@
 	pcibios_read_config_word(bus, devfn, PCI_BRIDGE_CONTROL, &val);
 }
 
-__initfunc(static void ohare_init(void))
+static void __init ohare_init(void)
 {
 	/*
 	 * Turn on the L2 cache.
@@ -355,8 +355,8 @@
 int boot_part;
 kdev_t boot_dev;
 
-__initfunc(void
-pmac_init2(void))
+void __init
+pmac_init2(void)
 {
 	adb_init();
 	pmac_nvram_init();
@@ -364,8 +364,8 @@
 }
 
 #ifdef CONFIG_SCSI
-__initfunc(void
-note_scsi_host(struct device_node *node, void *host))
+void __init
+note_scsi_host(struct device_node *node, void *host)
 {
 	int l;
 	char *p;
@@ -399,7 +399,7 @@
 extern struct device_node *pmac_ide_node[];
 static int ide_majors[] = { 3, 22, 33, 34, 56, 57, 88, 89 };
 
-__initfunc(kdev_t find_ide_boot(void))
+kdev_t __init find_ide_boot(void)
 {
 	char *p;
 	int i, n;
@@ -426,7 +426,7 @@
 }
 #endif /* CONFIG_BLK_DEV_IDE_PMAC */
 
-__initfunc(void find_boot_device(void))
+void __init find_boot_device(void)
 {
 #ifdef CONFIG_SCSI
 	if (boot_host != NULL) {
@@ -589,9 +589,9 @@
 #endif
 #endif
 
-__initfunc(void
+void __init
 pmac_init(unsigned long r3, unsigned long r4, unsigned long r5,
-	  unsigned long r6, unsigned long r7))
+	  unsigned long r6, unsigned long r7)
 {
 	pmac_setup_pci_ptrs();
 
diff -urN linux/arch/ppc/kernel/pmac_time.c linux-2.3.15-work/arch/ppc/kernel/pmac_time.c
--- linux/arch/ppc/kernel/pmac_time.c	Wed Aug  5 07:57:51 1998
+++ linux-2.3.15-work/arch/ppc/kernel/pmac_time.c	Thu Aug 26 14:01:46 1999
@@ -91,7 +91,7 @@
  * Calibrate the decrementer register using VIA timer 1.
  * This is used both on powermacs and CHRP machines.
  */
-__initfunc(int via_calibrate_decr(void))
+int __init via_calibrate_decr(void)
 {
 	struct device_node *vias;
 	volatile unsigned char *via;
@@ -168,7 +168,7 @@
  * This was taken from the pmac time_init() when merging the prep/pmac
  * time functions.
  */
-__initfunc(void pmac_calibrate_decr(void))
+void __init pmac_calibrate_decr(void)
 {
 	struct device_node *cpu;
 	int freq, *fp, divisor;
diff -urN linux/arch/ppc/kernel/prep_nvram.c linux-2.3.15-work/arch/ppc/kernel/prep_nvram.c
--- linux/arch/ppc/kernel/prep_nvram.c	Thu Apr 29 20:39:01 1999
+++ linux-2.3.15-work/arch/ppc/kernel/prep_nvram.c	Thu Aug 26 14:06:36 1999
@@ -57,7 +57,7 @@
 	rs_pcNvRAM[addr]=val;
 }
   
-__initfunc(void init_prep_nvram(void))
+void __init init_prep_nvram(void)
 {
 	unsigned char *nvp;
 	int  i;
diff -urN linux/arch/ppc/kernel/prep_pci.c linux-2.3.15-work/arch/ppc/kernel/prep_pci.c
--- linux/arch/ppc/kernel/prep_pci.c	Sat May 22 21:03:00 1999
+++ linux-2.3.15-work/arch/ppc/kernel/prep_pci.c	Thu Aug 26 14:03:17 1999
@@ -685,7 +685,7 @@
 int prep_keybd_present = 1;
 int MotMPIC = 0;
 
-__initfunc(int raven_init(void))
+int __init raven_init(void)
 {
 	unsigned int	devid;
 	unsigned int	pci_membase;
@@ -788,7 +788,7 @@
 	{0x000, 0x00, 0x00, "",					NULL,			NULL}
 };
 
-__initfunc(unsigned long prep_route_pci_interrupts(void))
+unsigned long __init prep_route_pci_interrupts(void)
 {
 	unsigned char *ibc_pirq = (unsigned char *)0x80800860;
 	unsigned char *ibc_pcicon = (unsigned char *)0x80800840;
@@ -976,9 +976,8 @@
 	return 0;
 }
 
-__initfunc(
-void
-prep_pcibios_fixup(void))
+void __init
+prep_pcibios_fixup(void)
 {
         struct pci_dev *dev;
         extern unsigned char *Motherboard_map;
@@ -1044,9 +1043,8 @@
 
 decl_config_access_method(indirect);
 
-__initfunc(
-void
-prep_setup_pci_ptrs(void))
+void __init
+prep_setup_pci_ptrs(void)
 {
 	PPC_DEVICE *hostbridge;
 
diff -urN linux/arch/ppc/kernel/prep_setup.c linux-2.3.15-work/arch/ppc/kernel/prep_setup.c
--- linux/arch/ppc/kernel/prep_setup.c	Tue Jul 13 10:29:35 1999
+++ linux-2.3.15-work/arch/ppc/kernel/prep_setup.c	Thu Aug 26 14:04:30 1999
@@ -211,8 +211,8 @@
 	return len;
 }
 
-__initfunc(void
-prep_setup_arch(unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init
+prep_setup_arch(unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	extern char cmd_line[];
 	unsigned char reg;
@@ -365,7 +365,7 @@
  * This allows for a faster boot as we do not need to calibrate the
  * decrementer against another clock. This is important for embedded systems.
  */
-__initfunc(void prep_res_calibrate_decr(void))
+void __init prep_res_calibrate_decr(void)
 {
 	int freq, divisor;
 
@@ -386,10 +386,10 @@
 int calibrate_done = 0;
 volatile int *done_ptr = &calibrate_done;
 
-__initfunc(void
+void __init
 prep_calibrate_decr_handler(int            irq,
 			    void           *dev,
-			    struct pt_regs *regs))
+			    struct pt_regs *regs)
 {
 	unsigned long freq, divisor;
 	static unsigned long t1 = 0, t2 = 0;
@@ -412,7 +412,7 @@
 	}
 }
 
-__initfunc(void prep_calibrate_decr(void))
+void __init prep_calibrate_decr(void)
 {
 	unsigned long flags;
 
@@ -437,7 +437,7 @@
 
 
 /* We use the NVRAM RTC to time a second to calibrate the decrementer. */
-__initfunc(void mk48t59_calibrate_decr(void))
+void __init mk48t59_calibrate_decr(void)
 {
 	unsigned long freq, divisor;
 	unsigned long t1, t2;
@@ -603,8 +603,8 @@
         ppc_irq_dispatch_handler( regs, irq );
 }		
 
-__initfunc(void
-prep_init_IRQ(void))
+void __init
+prep_init_IRQ(void)
 {
 	int i;
 
@@ -691,8 +691,8 @@
 {
 }
 
-__initfunc(void
-prep_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq))
+void __init
+prep_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq)
 {
 	ide_ioreg_t reg = data_port;
 	int i;
@@ -711,9 +711,9 @@
 }
 #endif
 
-__initfunc(void
+void __init
 prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
-	  unsigned long r6, unsigned long r7))
+	  unsigned long r6, unsigned long r7)
 {
 	/* make a copy of residual data */
 	if ( r3 )
diff -urN linux/arch/ppc/kernel/process.c linux-2.3.15-work/arch/ppc/kernel/process.c
--- linux/arch/ppc/kernel/process.c	Tue Jul 27 06:41:09 1999
+++ linux-2.3.15-work/arch/ppc/kernel/process.c	Thu Aug 26 13:58:09 1999
@@ -453,7 +453,7 @@
 /*
  * Low level print for debugging - Cort
  */
-__initfunc(int ll_printk(const char *fmt, ...))
+int __init ll_printk(const char *fmt, ...)
 {
         va_list args;
 	char buf[256];
@@ -482,7 +482,7 @@
 	prom_print(buf);
 }
 
-__initfunc(void ll_puts(const char *s))
+void __init ll_puts(const char *s)
 {
 	int x,y;
 	char *vidmem = (char *)/*(_ISA_MEM_BASE + 0xB8000) */0xD00B8000;
diff -urN linux/arch/ppc/kernel/setup.c linux-2.3.15-work/arch/ppc/kernel/setup.c
--- linux/arch/ppc/kernel/setup.c	Fri Jul 23 20:20:23 1999
+++ linux-2.3.15-work/arch/ppc/kernel/setup.c	Thu Aug 26 14:01:27 1999
@@ -121,11 +121,11 @@
 /*
  * I really need to add multiple-console support... -- Cort
  */
-__initfunc(int pmac_display_supported(char *name))
+int __init pmac_display_supported(char *name)
 {
 	return 0;
 }
-__initfunc(void pmac_find_display(void))
+void __init pmac_find_display(void)
 {
 }
 
@@ -500,16 +500,16 @@
 	}
 }
 
-__initfunc(void
-	   ppc_init(void))
+void __init
+	   ppc_init(void)
 {
 	if (ppc_md.init != NULL) {
 		ppc_md.init();
 	}
 }
 
-__initfunc(void setup_arch(char **cmdline_p,
-			   unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init setup_arch(char **cmdline_p,
+			   unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	extern int panic_timeout;
 	extern char _etext[], _edata[];
diff -urN linux/arch/ppc/kernel/time.c linux-2.3.15-work/arch/ppc/kernel/time.c
--- linux/arch/ppc/kernel/time.c	Mon Jun 28 21:40:39 1999
+++ linux-2.3.15-work/arch/ppc/kernel/time.c	Thu Aug 26 14:02:43 1999
@@ -176,7 +176,7 @@
 }
 
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
         if (ppc_md.time_init != NULL)
         {
diff -urN linux/arch/ppc/kernel/totalmp.c linux-2.3.15-work/arch/ppc/kernel/totalmp.c
--- linux/arch/ppc/kernel/totalmp.c	Wed Sep 30 18:14:17 1998
+++ linux-2.3.15-work/arch/ppc/kernel/totalmp.c	Thu Aug 26 14:05:22 1999
@@ -25,7 +25,7 @@
 
 extern inline void openpic_writefield(volatile u_int *addr, u_int mask,
 				      u_int field);
-__initfunc(void totalmp_init(void))
+void __init totalmp_init(void)
 {
 	struct pci_dev *dev;
 	u32 val;
diff -urN linux/arch/ppc/kernel/traps.c linux-2.3.15-work/arch/ppc/kernel/traps.c
--- linux/arch/ppc/kernel/traps.c	Sat May 22 21:03:00 1999
+++ linux-2.3.15-work/arch/ppc/kernel/traps.c	Thu Aug 26 13:57:47 1999
@@ -259,6 +259,6 @@
 	       regs->nip, regs->msr, regs->trap);
 }
 
-__initfunc(void trap_init(void))
+void __init trap_init(void)
 {
 }
diff -urN linux/arch/ppc/mm/init.c linux-2.3.15-work/arch/ppc/mm/init.c
--- linux/arch/ppc/mm/init.c	Sun Jul 25 21:45:25 1999
+++ linux-2.3.15-work/arch/ppc/mm/init.c	Thu Aug 26 13:57:27 1999
@@ -606,8 +606,8 @@
 /*
  * Scan a region for a piece of a given size with the required alignment.
  */
-__initfunc(void *
-find_mem_piece(unsigned size, unsigned align))
+void * __init
+find_mem_piece(unsigned size, unsigned align)
 {
 	int i;
 	unsigned a, e;
@@ -630,9 +630,9 @@
 /*
  * Remove some memory from an array of pieces
  */
-__initfunc(static void
+static void __init
 remove_mem_piece(struct mem_pieces *mp, unsigned start, unsigned size,
-		 int must_exist))
+		 int must_exist)
 {
 	int i, j;
 	unsigned end, rs, re;
@@ -686,7 +686,7 @@
 	}
 }
 
-__initfunc(static void print_mem_pieces(struct mem_pieces *mp))
+static void __init print_mem_pieces(struct mem_pieces *mp)
 {
 	int i;
 
@@ -699,8 +699,8 @@
 /*
  * Add some memory to an array of pieces
  */
-__initfunc(static void
-	   append_mem_piece(struct mem_pieces *mp, unsigned start, unsigned size))
+static void __init
+	   append_mem_piece(struct mem_pieces *mp, unsigned start, unsigned size)
 {
 	struct reg_property *rp;
 
@@ -744,7 +744,7 @@
 	return 0;
 }
 
-__initfunc(static void sort_mem_pieces(struct mem_pieces *mp))
+static void __init sort_mem_pieces(struct mem_pieces *mp)
 {
 	unsigned long a, s;
 	int i, j;
@@ -762,7 +762,7 @@
 	}
 }
 
-__initfunc(static void coalesce_mem_pieces(struct mem_pieces *mp))
+static void __init coalesce_mem_pieces(struct mem_pieces *mp)
 {
 	unsigned long a, s, ns;
 	int i, j, d;
@@ -788,7 +788,7 @@
  * Read in a property describing some pieces of memory.
  */
 
-__initfunc(static void get_mem_prop(char *name, struct mem_pieces *mp))
+static void __init get_mem_prop(char *name, struct mem_pieces *mp)
 {
 	struct reg_property *rp;
 	int s;
@@ -815,8 +815,8 @@
  * The parameters are not checked; in particular size must be a power
  * of 2 between 128k and 256M.
  */
-__initfunc(void setbat(int index, unsigned long virt, unsigned long phys,
-       unsigned int size, int flags))
+void __init setbat(int index, unsigned long virt, unsigned long phys,
+       unsigned int size, int flags)
 {
 	unsigned int bl;
 	int wimgxpp;
@@ -870,7 +870,7 @@
  */
 #define PAGE_KERNEL_RO	__pgprot(_PAGE_PRESENT | _PAGE_ACCESSED)
 
-__initfunc(static void mapin_ram(void))
+static void __init mapin_ram(void)
 {
 	int i;
 	unsigned long v, p, s, f;
@@ -966,7 +966,7 @@
 	return p;
 }
 
-__initfunc(void free_initmem(void))
+void __init free_initmem(void)
 {
 	unsigned long a;
 	unsigned long num_freed_pages = 0, num_prep_pages = 0,
@@ -1022,7 +1022,7 @@
  * still be merged.
  * -- Cort
  */
-__initfunc(void MMU_init(void))
+void __init MMU_init(void)
 {
 #ifdef __SMP__
 	if ( first_cpu_booted ) return;
@@ -1114,7 +1114,7 @@
  * that setup_arch returns, making sure that there are at
  * least 32 pages unused before this for MMU_get_page to use.
  */
-__initfunc(unsigned long find_available_memory(void))
+unsigned long __init find_available_memory(void)
 {
 	int i, rn;
 	unsigned long a, free;
@@ -1150,7 +1150,7 @@
 /*
  * paging_init() sets up the page tables - in fact we've already done this.
  */
-__initfunc(unsigned long paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	extern unsigned long free_area_init(unsigned long, unsigned long);
 	/*
@@ -1166,7 +1166,7 @@
 	return start_mem;
 }
 
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	unsigned long addr;
 	int i;
@@ -1262,7 +1262,7 @@
  * functions in the image just to get prom_init, all we really need right
  * now is the initialization of the physical memory region.
  */
-__initfunc(unsigned long *mbx_find_end_of_memory(void))
+unsigned long * __init mbx_find_end_of_memory(void)
 {
 	unsigned long kstart, ksize;
 	bd_t	*binfo;
@@ -1307,7 +1307,7 @@
  * Our text, data, bss use something over 1MB, starting at 0.
  * Open Firmware may be using 1MB at the 4MB point.
  */
-__initfunc(unsigned long *pmac_find_end_of_memory(void))
+unsigned long * __init pmac_find_end_of_memory(void)
 {
 	unsigned long a, total;
 	unsigned long kstart, ksize;
@@ -1399,7 +1399,7 @@
  * this will likely stay separate from the pmac.
  * -- Cort
  */
-__initfunc(unsigned long *prep_find_end_of_memory(void))
+unsigned long * __init prep_find_end_of_memory(void)
 {
 	unsigned long kstart, ksize;
 	unsigned long total;
@@ -1427,7 +1427,7 @@
 
 #ifdef CONFIG_APUS
 #define HARDWARE_MAPPED_SIZE (512*1024)
-__initfunc(unsigned long *apus_find_end_of_memory(void))
+unsigned long * __init apus_find_end_of_memory(void)
 {
 	int shadow = 0;
 
@@ -1505,7 +1505,7 @@
 /*
  * Initialize the hash table and patch the instructions in head.S.
  */
-__initfunc(static void hash_init(void))
+static void __init hash_init(void)
 {
 	int Hash_bits;
 	unsigned long h, ramsize;
diff -urN linux/arch/sparc/ap1000/apmmu.c linux-2.3.15-work/arch/sparc/ap1000/apmmu.c
--- linux/arch/sparc/ap1000/apmmu.c	Fri Jul 23 20:20:23 1999
+++ linux-2.3.15-work/arch/sparc/ap1000/apmmu.c	Thu Aug 26 13:30:12 1999
@@ -775,7 +775,7 @@
 	return (pte_t *) apmmu_early_pmd_page(*dir) + ((address >> PAGE_SHIFT) & (APMMU_PTRS_PER_PTE - 1));
 }
 
-__initfunc(static inline void apmmu_allocate_ptable_skeleton(unsigned long start, unsigned long end))
+static inline void __init apmmu_allocate_ptable_skeleton(unsigned long start, unsigned long end)
 {
 	pgd_t *pgdp;
 	pmd_t *pmdp;
@@ -797,7 +797,7 @@
 }
 
 
-__initfunc(static void make_page(unsigned virt_page, unsigned phys_page, unsigned prot))
+static void __init make_page(unsigned virt_page, unsigned phys_page, unsigned prot)
 {
 	pgd_t *pgdp;
 	pmd_t *pmdp;
@@ -819,7 +819,7 @@
 }
 
 
-__initfunc(static void make_large_page(unsigned virt_page, unsigned phys_page, unsigned prot))
+static void __init make_large_page(unsigned virt_page, unsigned phys_page, unsigned prot)
 {
 	pgd_t *pgdp;
 	unsigned start = virt_page<<12;
@@ -829,7 +829,7 @@
 }
 
 
-__initfunc(static void ap_setup_mappings(void))
+static void __init ap_setup_mappings(void)
 {
 	unsigned Srwe = APMMU_PRIV | APMMU_VALID;
 	unsigned SrweUr = 0x14 | APMMU_VALID; /* weird! */
@@ -897,7 +897,7 @@
 	make_page(MSC_REMREPLY_DIRECT_END>>PAGE_SHIFT, 0xa0c004,Srwe);
 }
 
-__initfunc(static void map_kernel(void))
+static void __init map_kernel(void)
 {
 	int phys;
 
@@ -917,7 +917,7 @@
 extern int physmem_mapped_contig;
 extern int linux_num_cpus;
 
-__initfunc(unsigned long apmmu_paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init apmmu_paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	int i;
 
@@ -979,7 +979,7 @@
 {
 }
 
-__initfunc(static void poke_viking(void))
+static void __init poke_viking(void)
 {
 	unsigned long mreg = apmmu_get_mmureg();
 
@@ -991,7 +991,7 @@
 	apmmu_set_mmureg(mreg);
 }
 
-__initfunc(static void init_viking(void))
+static void __init init_viking(void)
 {
 	apmmu_name = "TI Viking/AP1000";
 
@@ -1024,7 +1024,7 @@
 		*iaddr = SPARC_BRANCH((unsigned long) daddr, (unsigned long) iaddr); \
 	} while(0);
 
-__initfunc(static void patch_window_trap_handlers(void))
+static void __init patch_window_trap_handlers(void)
 {
 	unsigned long *iaddr, *daddr;
 	
@@ -1038,7 +1038,7 @@
 }
 
 /* Load up routines and constants for apmmu */
-__initfunc(void ld_mmu_apmmu(void))
+void __init ld_mmu_apmmu(void)
 {
 	/* First the constants */
 	BTFIXUPSET_SIMM13(pmd_shift, APMMU_PMD_SHIFT);
diff -urN linux/arch/sparc/kernel/auxio.c linux-2.3.15-work/arch/sparc/kernel/auxio.c
--- linux/arch/sparc/kernel/auxio.c	Sun Oct  4 18:22:42 1998
+++ linux-2.3.15-work/arch/sparc/kernel/auxio.c	Thu Aug 26 12:34:25 1999
@@ -13,7 +13,7 @@
 /* Probe and map in the Auxiliary I/O register */
 unsigned char *auxio_register;
 
-__initfunc(void auxio_probe(void))
+void __init auxio_probe(void)
 {
 	int node, auxio_nd;
 	struct linux_prom_registers auxregs[1];
@@ -68,7 +68,7 @@
 
 volatile unsigned char * auxio_power_register = NULL;
 
-__initfunc(void auxio_power_probe(void))
+void __init auxio_power_probe(void)
 {
 	struct linux_prom_registers regs;
 	int node;
diff -urN linux/arch/sparc/kernel/cpu.c linux-2.3.15-work/arch/sparc/kernel/cpu.c
--- linux/arch/sparc/kernel/cpu.c	Wed Apr 15 01:44:18 1998
+++ linux-2.3.15-work/arch/sparc/kernel/cpu.c	Thu Aug 26 12:34:40 1999
@@ -123,7 +123,7 @@
 
 unsigned int fsr_storage;
 
-__initfunc(void cpu_probe(void))
+void __init cpu_probe(void)
 {
 	int psr_impl, psr_vers, fpu_vers;
 	int i, cpuid, psr;
diff -urN linux/arch/sparc/kernel/devices.c linux-2.3.15-work/arch/sparc/kernel/devices.c
--- linux/arch/sparc/kernel/devices.c	Thu Mar 11 00:53:36 1999
+++ linux-2.3.15-work/arch/sparc/kernel/devices.c	Thu Aug 26 12:34:57 1999
@@ -21,8 +21,8 @@
 extern void clock_stop_probe(void); /* tadpole.c */
 extern void sun4c_probe_memerr_reg(void);
 
-__initfunc(unsigned long
-device_scan(unsigned long mem_start))
+unsigned long __init
+device_scan(unsigned long mem_start)
 {
 	char node_str[128];
 	int thismid;
diff -urN linux/arch/sparc/kernel/ebus.c linux-2.3.15-work/arch/sparc/kernel/ebus.c
--- linux/arch/sparc/kernel/ebus.c	Wed Jun  9 22:44:25 1999
+++ linux-2.3.15-work/arch/sparc/kernel/ebus.c	Thu Aug 26 12:40:15 1999
@@ -57,8 +57,8 @@
 	return (unsigned long)kmalloc(size, GFP_ATOMIC);
 }
 
-__initfunc(void fill_ebus_child(int node, struct linux_prom_registers *preg,
-				struct linux_ebus_child *dev))
+void __init fill_ebus_child(int node, struct linux_prom_registers *preg,
+				struct linux_ebus_child *dev)
 {
 	int regs[PROMREG_MAX];
 	int irqs[PROMREG_MAX];
@@ -128,7 +128,7 @@
 #endif
 }
 
-__initfunc(void fill_ebus_device(int node, struct linux_ebus_device *dev))
+void __init fill_ebus_device(int node, struct linux_ebus_device *dev)
 {
 	struct linux_prom_registers regs[PROMREG_MAX];
 	struct linux_ebus_child *child;
@@ -255,7 +255,7 @@
 	}
 }
 
-__initfunc(void ebus_init(void))
+void __init ebus_init(void)
 {
 	struct linux_prom_pci_registers regs[PROMREG_MAX];
 	struct linux_pbm_info *pbm;
diff -urN linux/arch/sparc/kernel/idprom.c linux-2.3.15-work/arch/sparc/kernel/idprom.c
--- linux/arch/sparc/kernel/idprom.c	Wed Aug  5 00:03:34 1998
+++ linux-2.3.15-work/arch/sparc/kernel/idprom.c	Thu Aug 26 12:32:51 1999
@@ -46,7 +46,7 @@
 /* One entry for the OBP arch's which are sun4d, sun4e, and newer sun4m's */
 { "Sun4M OBP based system", (SM_SUN4M_OBP | 0x0) } };
 
-__initfunc(static void display_system_type(unsigned char machtype))
+static void __init display_system_type(unsigned char machtype)
 {
 	char sysname[128];
 	register int i;
@@ -69,7 +69,7 @@
 }
 
 /* Calculate the IDPROM checksum (xor of the data bytes). */
-__initfunc(static unsigned char calc_idprom_cksum(struct idprom *idprom))
+static unsigned char __init calc_idprom_cksum(struct idprom *idprom)
 {
 	unsigned char cksum, i, *ptr = (unsigned char *)idprom;
 
@@ -80,7 +80,7 @@
 }
 
 /* Create a local IDPROM copy, verify integrity, and display information. */
-__initfunc(void idprom_init(void))
+void __init idprom_init(void)
 {
 	prom_get_idprom((char *) &idprom_buffer, sizeof(idprom_buffer));
 
diff -urN linux/arch/sparc/kernel/irq.c linux-2.3.15-work/arch/sparc/kernel/irq.c
--- linux/arch/sparc/kernel/irq.c	Sat May 29 19:09:04 1999
+++ linux-2.3.15-work/arch/sparc/kernel/irq.c	Thu Aug 26 12:33:09 1999
@@ -711,7 +711,7 @@
  *
  */
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
 	extern void sun4c_init_IRQ( void );
 	extern void sun4m_init_IRQ( void );
diff -urN linux/arch/sparc/kernel/pcic.c linux-2.3.15-work/arch/sparc/kernel/pcic.c
--- linux/arch/sparc/kernel/pcic.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc/kernel/pcic.c	Thu Aug 26 12:41:23 1999
@@ -167,7 +167,7 @@
 static void pci_do_gettimeofday(struct timeval *tv);
 static void pci_do_settimeofday(struct timeval *tv);
 
-__initfunc(void pcic_probe(void))
+void __init pcic_probe(void)
 {
 	struct linux_prom_registers regs[PROMREG_MAX];
 	struct linux_pbm_info* pbm;
@@ -274,7 +274,7 @@
 	}
 }
 
-__initfunc(void pcibios_init(void))
+void __init pcibios_init(void)
 {
 	/*
 	 * PCIC should be initialized at start of the timer.
@@ -309,8 +309,8 @@
 	return pcic != NULL;
 }
 
-__initfunc(static int pdev_to_pnode(struct linux_pbm_info *pbm, 
-				    struct pci_dev *pdev))
+static int __init pdev_to_pnode(struct linux_pbm_info *pbm, 
+				    struct pci_dev *pdev)
 {
 	struct linux_prom_pci_registers regs[PROMREG_MAX];
 	int err;
@@ -506,7 +506,7 @@
 /*
  * Stolen from both i386 and sparc64 branch 
  */
-__initfunc(void pcibios_fixup(void))
+void __init pcibios_fixup(void)
 {
   struct pci_dev *dev;
   int i, has_io, has_mem;
@@ -611,7 +611,7 @@
 #define USECS_PER_JIFFY  10000  /* We have 100HZ "standard" timer for sparc */
 #define TICK_TIMER_LIMIT ((100*1000000/4)/100)
 
-__initfunc(void pci_time_init(void))
+void __init pci_time_init(void)
 {
 	unsigned long v;
 	int timer_irq, irq;
@@ -802,7 +802,7 @@
 	return PCIBIOS_SUCCESSFUL;
 }
 
-__initfunc(char *pcibios_setup(char *str))
+char * __init pcibios_setup(char *str)
 {
 	return str;
 }
@@ -973,7 +973,7 @@
 	writel(get_irqmask(pil), pcic->pcic_regs+PCI_SYS_INT_TARGET_MASK_CLEAR);
 }
 
-__initfunc(void sun4m_pci_init_IRQ(void))
+void __init sun4m_pci_init_IRQ(void)
 {
 	BTFIXUPSET_CALL(enable_irq, pcic_enable_irq, BTFIXUPCALL_NORM);
 	BTFIXUPSET_CALL(disable_irq, pcic_disable_irq, BTFIXUPCALL_NORM);
@@ -985,7 +985,7 @@
 	BTFIXUPSET_CALL(__irq_itoa, pcic_irq_itoa, BTFIXUPCALL_NORM);
 }
 
-__initfunc(void pcibios_fixup_bus(struct pci_bus *bus))
+void __init pcibios_fixup_bus(struct pci_bus *bus)
 {
 }
 
diff -urN linux/arch/sparc/kernel/setup.c linux-2.3.15-work/arch/sparc/kernel/setup.c
--- linux/arch/sparc/kernel/setup.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc/kernel/setup.c	Thu Aug 26 12:33:41 1999
@@ -153,7 +153,7 @@
  * Process kernel command line switches that are specific to the
  * SPARC or that require special low-level processing.
  */
-__initfunc(static void process_switch(char c))
+static void __init process_switch(char c)
 {
 	switch (c) {
 	case 'd':
@@ -172,7 +172,7 @@
 	}
 }
 
-__initfunc(static void boot_flags_init(char *commands))
+static void __init boot_flags_init(char *commands)
 {
 	while (*commands) {
 		/* Move to the start of the next "argument". */
@@ -297,8 +297,8 @@
 	"PROM", prom_cons_write, 0, 0, 0, 0, 0, CON_PRINTBUFFER, 0, 0, 0
 };
 
-__initfunc(void setup_arch(char **cmdline_p,
-	unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init setup_arch(char **cmdline_p,
+	unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	int total, i, packed;
 
diff -urN linux/arch/sparc/kernel/smp.c linux-2.3.15-work/arch/sparc/kernel/smp.c
--- linux/arch/sparc/kernel/smp.c	Thu Mar 11 00:53:36 1999
+++ linux-2.3.15-work/arch/sparc/kernel/smp.c	Thu Aug 26 12:35:37 1999
@@ -74,7 +74,7 @@
 volatile int smp_commenced = 0;
 
 /* Not supported on Sparc yet. */
-__initfunc(void smp_setup(char *str, int *ints))
+void __init smp_setup(char *str, int *ints)
 {
 }
 
@@ -83,12 +83,12 @@
  *	a given CPU
  */
 
-__initfunc(void smp_store_cpu_info(int id))
+void __init smp_store_cpu_info(int id)
 {
 	cpu_data[id].udelay_val = loops_per_sec; /* this is it on sparc. */
 }
 
-__initfunc(void smp_commence(void))
+void __init smp_commence(void)
 {
 	/*
 	 *	Lets the callin's below out of their loop.
@@ -103,7 +103,7 @@
 /* Only broken Intel needs this, thus it should not even be referenced
  * globally...
  */
-__initfunc(void initialize_secondary(void))
+void __init initialize_secondary(void)
 {
 }
 
@@ -129,7 +129,7 @@
 extern struct prom_cpuinfo linux_cpus[NR_CPUS];
 struct linux_prom_registers smp_penguin_ctable __initdata = { 0 };
 
-__initfunc(void smp_boot_cpus(void))
+void __init smp_boot_cpus(void)
 {
 	extern void smp4m_boot_cpus(void);
 	extern void smp4d_boot_cpus(void);
diff -urN linux/arch/sparc/kernel/sun4c_irq.c linux-2.3.15-work/arch/sparc/kernel/sun4c_irq.c
--- linux/arch/sparc/kernel/sun4c_irq.c	Sun Oct  4 18:22:42 1998
+++ linux-2.3.15-work/arch/sparc/kernel/sun4c_irq.c	Thu Aug 26 12:36:45 1999
@@ -138,7 +138,7 @@
 	/* Errm.. not sure how to do this.. */
 }
 
-__initfunc(static void sun4c_init_timers(void (*counter_fn)(int, void *, struct pt_regs *)))
+static void __init sun4c_init_timers(void (*counter_fn)(int, void *, struct pt_regs *))
 {
 	int irq;
 
@@ -184,7 +184,7 @@
 
 extern char *sun4m_irq_itoa(unsigned int irq);
 
-__initfunc(void sun4c_init_IRQ(void))
+void __init sun4c_init_IRQ(void)
 {
 	struct linux_prom_registers int_regs[2];
 	int ie_node;
diff -urN linux/arch/sparc/kernel/sun4d_irq.c linux-2.3.15-work/arch/sparc/kernel/sun4d_irq.c
--- linux/arch/sparc/kernel/sun4d_irq.c	Fri Apr 23 03:24:51 1999
+++ linux-2.3.15-work/arch/sparc/kernel/sun4d_irq.c	Thu Aug 26 12:37:42 1999
@@ -366,7 +366,7 @@
 }
 
 /* Setup IRQ distribution scheme. */
-__initfunc(void sun4d_distribute_irqs(void))
+void __init sun4d_distribute_irqs(void)
 {
 #ifdef DISTRIBUTE_IRQS
 	struct linux_sbus *sbus;
@@ -431,7 +431,7 @@
 	bw_set_prof_limit(cpu, limit);
 }
 
-__initfunc(static void sun4d_init_timers(void (*counter_fn)(int, void *, struct pt_regs *)))
+static void __init sun4d_init_timers(void (*counter_fn)(int, void *, struct pt_regs *))
 {
 	int irq;
 	extern struct prom_cpuinfo linux_cpus[NR_CPUS];
@@ -492,7 +492,7 @@
 #endif
 }
 
-__initfunc(void sun4d_init_sbi_irq(void))
+void __init sun4d_init_sbi_irq(void)
 {
 	struct linux_sbus *sbus;
 	unsigned mask;
@@ -529,7 +529,7 @@
 	return buff;
 }
 
-__initfunc(void sun4d_init_IRQ(void))
+void __init sun4d_init_IRQ(void)
 {
 	__cli();
 
diff -urN linux/arch/sparc/kernel/sun4d_smp.c linux-2.3.15-work/arch/sparc/kernel/sun4d_smp.c
--- linux/arch/sparc/kernel/sun4d_smp.c	Fri Jul 23 20:20:23 1999
+++ linux-2.3.15-work/arch/sparc/kernel/sun4d_smp.c	Thu Aug 26 12:38:35 1999
@@ -83,7 +83,7 @@
 extern void cpu_probe(void);
 extern void sun4d_distribute_irqs(void);
 
-__initfunc(void smp4d_callin(void))
+void __init smp4d_callin(void)
 {
 	int cpuid = hard_smp4d_processor_id();
 	extern spinlock_t sun4d_imsk_lock;
@@ -161,7 +161,7 @@
 extern unsigned long trapbase_cpu2[];
 extern unsigned long trapbase_cpu3[];
 
-__initfunc(void smp4d_boot_cpus(void))
+void __init smp4d_boot_cpus(void)
 {
 	int cpucount = 0;
 	int i = 0;
@@ -499,7 +499,7 @@
 
 extern unsigned int lvl14_resolution;
 
-__initfunc(static void smp_setup_percpu_timer(void))
+static void __init smp_setup_percpu_timer(void)
 {
 	int cpu = hard_smp4d_processor_id();
 
@@ -507,7 +507,7 @@
 	load_profile_irq(cpu, lvl14_resolution);
 }
 
-__initfunc(void smp4d_blackbox_id(unsigned *addr))
+void __init smp4d_blackbox_id(unsigned *addr)
 {
 	int rd = *addr & 0x3e000000;
 	
@@ -516,7 +516,7 @@
 	addr[2] = 0x01000000;    		/* nop */
 }
 
-__initfunc(void smp4d_blackbox_current(unsigned *addr))
+void __init smp4d_blackbox_current(unsigned *addr)
 {
 	/* We have a nice Linux current register :) */
 	int rd = addr[1] & 0x3e000000;
@@ -525,7 +525,7 @@
 	addr[1] = 0xc0800820 | rd;		/* lda [%g0] ASI_M_VIKING_TMP2, reg */
 }
 
-__initfunc(void sun4d_init_smp(void))
+void __init sun4d_init_smp(void)
 {
 	int i;
 	extern unsigned int patchme_store_new_current[];
diff -urN linux/arch/sparc/kernel/sun4m_irq.c linux-2.3.15-work/arch/sparc/kernel/sun4m_irq.c
--- linux/arch/sparc/kernel/sun4m_irq.c	Fri Apr 23 03:24:51 1999
+++ linux-2.3.15-work/arch/sparc/kernel/sun4m_irq.c	Thu Aug 26 12:36:11 1999
@@ -220,7 +220,7 @@
 	return buff;
 }
 
-__initfunc(static void sun4m_init_timers(void (*counter_fn)(int, void *, struct pt_regs *)))
+static void __init sun4m_init_timers(void (*counter_fn)(int, void *, struct pt_regs *))
 {
 	int reg_count, irq, cpu;
 	struct linux_prom_registers cnt_regs[PROMREG_MAX];
@@ -303,7 +303,7 @@
 #endif
 }
 
-__initfunc(void sun4m_init_IRQ(void))
+void __init sun4m_init_IRQ(void)
 {
 	int ie_node,i;
 	struct linux_prom_registers int_regs[PROMREG_MAX];
diff -urN linux/arch/sparc/kernel/sun4m_smp.c linux-2.3.15-work/arch/sparc/kernel/sun4m_smp.c
--- linux/arch/sparc/kernel/sun4m_smp.c	Fri Jul 23 20:20:23 1999
+++ linux-2.3.15-work/arch/sparc/kernel/sun4m_smp.c	Thu Aug 26 12:39:21 1999
@@ -77,7 +77,7 @@
 static void smp_setup_percpu_timer(void);
 extern void cpu_probe(void);
 
-__initfunc(void smp4m_callin(void))
+void __init smp4m_callin(void)
 {
 	int cpuid = hard_smp_processor_id();
 
@@ -135,7 +135,7 @@
 extern unsigned long trapbase_cpu2[];
 extern unsigned long trapbase_cpu3[];
 
-__initfunc(void smp4m_boot_cpus(void))
+void __init smp4m_boot_cpus(void)
 {
 	int cpucount = 0;
 	int i = 0;
@@ -479,7 +479,7 @@
 
 extern unsigned int lvl14_resolution;
 
-__initfunc(static void smp_setup_percpu_timer(void))
+static void __init smp_setup_percpu_timer(void)
 {
 	int cpu = smp_processor_id();
 
@@ -490,7 +490,7 @@
 		enable_pil_irq(14);
 }
 
-__initfunc(void smp4m_blackbox_id(unsigned *addr))
+void __init smp4m_blackbox_id(unsigned *addr)
 {
 	int rd = *addr & 0x3e000000;
 	int rs1 = rd >> 11;
@@ -500,7 +500,7 @@
 	addr[2] = 0x80082003 | rd | rs1;	/* and reg, 3, reg */
 }
 
-__initfunc(void smp4m_blackbox_current(unsigned *addr))
+void __init smp4m_blackbox_current(unsigned *addr)
 {
 	int rd = *addr & 0x3e000000;
 	int rs1 = rd >> 11;
@@ -510,7 +510,7 @@
 	addr[4] = 0x8008200c | rd | rs1;	/* and reg, 3, reg */
 }
 
-__initfunc(void sun4m_init_smp(void))
+void __init sun4m_init_smp(void)
 {
 	BTFIXUPSET_BLACKBOX(smp_processor_id, smp4m_blackbox_id);
 	BTFIXUPSET_BLACKBOX(load_current, smp4m_blackbox_current);
diff -urN linux/arch/sparc/kernel/sun4setup.c linux-2.3.15-work/arch/sparc/kernel/sun4setup.c
--- linux/arch/sparc/kernel/sun4setup.c	Wed Aug  5 07:57:51 1998
+++ linux-2.3.15-work/arch/sparc/kernel/sun4setup.c	Thu Aug 26 12:39:50 1999
@@ -23,7 +23,7 @@
 int sun4_esp_physaddr;
 int sun4_ie_physaddr; 
 
-__initfunc(void sun4setup())
+void __init sun4setup(void)
 {
 	printk("Sun4 Hardware Setup v1.0 18/May/98 Chris Davis (cdavis@cois.on.ca). ");
 	/*
diff -urN linux/arch/sparc/kernel/tadpole.c linux-2.3.15-work/arch/sparc/kernel/tadpole.c
--- linux/arch/sparc/kernel/tadpole.c	Wed Apr 15 01:44:19 1998
+++ linux-2.3.15-work/arch/sparc/kernel/tadpole.c	Thu Aug 26 12:35:52 1999
@@ -95,7 +95,7 @@
 	clk_ctrl[0] = 0;
 }
 
-__initfunc(void clock_stop_probe(void))
+void __init clock_stop_probe(void)
 {
 	unsigned int node, clk_nd;
 	char name[20];
diff -urN linux/arch/sparc/kernel/time.c linux-2.3.15-work/arch/sparc/kernel/time.c
--- linux/arch/sparc/kernel/time.c	Tue Mar 16 00:10:43 1999
+++ linux-2.3.15-work/arch/sparc/kernel/time.c	Thu Aug 26 12:34:05 1999
@@ -140,7 +140,7 @@
 }
 
 /* Kick start a stopped clock (procedure from the Sun NVRAM/hostid FAQ). */
-__initfunc(static void kick_start_clock(void))
+static void __init kick_start_clock(void)
 {
 	register struct mostek48t02 *regs = mstk48t02_regs;
 	unsigned char sec;
@@ -334,7 +334,7 @@
 		kick_start_clock();
 }
 
-__initfunc(void sbus_time_init(void))
+void __init sbus_time_init(void)
 {
 	unsigned int year, mon, day, hour, min, sec;
 	struct mostek48t02 *mregs;
@@ -416,7 +416,7 @@
 	__sti();
 }
 
-__initfunc(void time_init(void))
+void __init time_init(void)
 {
 #ifdef CONFIG_PCI
 	extern void pci_time_init(void);
diff -urN linux/arch/sparc/mm/btfixup.c linux-2.3.15-work/arch/sparc/mm/btfixup.c
--- linux/arch/sparc/mm/btfixup.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/mm/btfixup.c	Thu Aug 26 12:47:49 1999
@@ -48,7 +48,7 @@
 static char wrong_setaddr[] __initdata = "Garbled CALL/INT patch at %p[%08x,%08x,%08x]=%08x\n";
 
 #ifdef BTFIXUP_OPTIMIZE_OTHER
-__initfunc(static void set_addr(unsigned int *addr, unsigned int q1, int fmangled, unsigned int value))
+static void __init set_addr(unsigned int *addr, unsigned int q1, int fmangled, unsigned int value)
 {
 	if (!fmangled)
 		*addr = value;
@@ -74,7 +74,7 @@
 }
 #endif
 
-__initfunc(void btfixup(void))
+void __init btfixup(void)
 {
 	unsigned int *p, *q;
 	int type, count;
diff -urN linux/arch/sparc/mm/init.c linux-2.3.15-work/arch/sparc/mm/init.c
--- linux/arch/sparc/mm/init.c	Tue Jun 29 17:22:08 1999
+++ linux-2.3.15-work/arch/sparc/mm/init.c	Thu Aug 26 12:42:09 1999
@@ -113,7 +113,7 @@
 
 extern pgprot_t protection_map[16];
 
-__initfunc(unsigned long sparc_context_init(unsigned long start_mem, int numctx))
+unsigned long __init sparc_context_init(unsigned long start_mem, int numctx)
 {
 	int ctx;
 
@@ -142,8 +142,8 @@
 extern unsigned long srmmu_paging_init(unsigned long, unsigned long);
 extern unsigned long device_scan(unsigned long);
 
-__initfunc(unsigned long 
-paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init
+paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	switch(sparc_cpu_model) {
 	case sun4c:
@@ -202,7 +202,7 @@
 
 int physmem_mapped_contig __initdata = 1;
 
-__initfunc(static void taint_real_pages(unsigned long start_mem, unsigned long end_mem))
+static void __init taint_real_pages(unsigned long start_mem, unsigned long end_mem)
 {
 	unsigned long addr, tmp2 = 0;
 
@@ -234,7 +234,7 @@
 	}
 }
 
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	int codepages = 0;
 	int datapages = 0;
diff -urN linux/arch/sparc/mm/io-unit.c linux-2.3.15-work/arch/sparc/mm/io-unit.c
--- linux/arch/sparc/mm/io-unit.c	Sun Jul 25 21:45:25 1999
+++ linux-2.3.15-work/arch/sparc/mm/io-unit.c	Thu Aug 26 12:48:09 1999
@@ -26,8 +26,8 @@
 #define IOPERM        (IOUPTE_CACHE | IOUPTE_WRITE | IOUPTE_VALID)
 #define MKIOPTE(phys) __iopte((((phys)>>4) & IOUPTE_PAGE) | IOPERM)
 
-__initfunc(void
-iounit_init(int sbi_node, int io_node, struct linux_sbus *sbus))
+void __init
+iounit_init(int sbi_node, int io_node, struct linux_sbus *sbus)
 {
 	iopte_t *xpt, *xptend;
 	struct iounit_struct *iounit;
@@ -217,7 +217,7 @@
 /* FIXME: Write this */
 }
 
-__initfunc(void ld_mmu_iounit(void))
+void __init ld_mmu_iounit(void)
 {
 	BTFIXUPSET_CALL(mmu_lockarea, iounit_lockarea, BTFIXUPCALL_RETO0);
 	BTFIXUPSET_CALL(mmu_unlockarea, iounit_unlockarea, BTFIXUPCALL_NOP);
diff -urN linux/arch/sparc/mm/iommu.c linux-2.3.15-work/arch/sparc/mm/iommu.c
--- linux/arch/sparc/mm/iommu.c	Sun Jul 25 21:45:25 1999
+++ linux-2.3.15-work/arch/sparc/mm/iommu.c	Thu Aug 26 12:49:33 1999
@@ -44,8 +44,8 @@
 	}
 }
 
-__initfunc(void
-iommu_init(int iommund, struct linux_sbus *sbus))
+void __init
+iommu_init(int iommund, struct linux_sbus *sbus)
 {
 	unsigned int impl, vers, ptsize;
 	unsigned long tmp;
@@ -264,7 +264,7 @@
 {
 }
 
-__initfunc(void ld_mmu_iommu(void))
+void __init ld_mmu_iommu(void)
 {
 	viking_flush = (BTFIXUPVAL_CALL(flush_page_for_dma) == (unsigned long)viking_flush_page);
 	BTFIXUPSET_CALL(mmu_lockarea, iommu_lockarea, BTFIXUPCALL_RETO0);
diff -urN linux/arch/sparc/mm/loadmmu.c linux-2.3.15-work/arch/sparc/mm/loadmmu.c
--- linux/arch/sparc/mm/loadmmu.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/mm/loadmmu.c	Thu Aug 26 12:42:24 1999
@@ -31,7 +31,7 @@
 extern void ld_mmu_sun4c(void);
 extern void ld_mmu_srmmu(void);
 
-__initfunc(void load_mmu(void))
+void __init load_mmu(void)
 {
 	switch(sparc_cpu_model) {
 	case sun4c:
diff -urN linux/arch/sparc/mm/nosrmmu.c linux-2.3.15-work/arch/sparc/mm/nosrmmu.c
--- linux/arch/sparc/mm/nosrmmu.c	Fri Apr 23 03:24:51 1999
+++ linux-2.3.15-work/arch/sparc/mm/nosrmmu.c	Thu Aug 26 12:50:15 1999
@@ -14,24 +14,24 @@
 
 enum mbus_module srmmu_modtype;
 
-__initfunc(static void should_not_happen(void))
+static void __init should_not_happen(void)
 {
 	prom_printf(shouldnothappen);
 	prom_halt();
 }
 
-__initfunc(void srmmu_frob_mem_map(unsigned long start_mem))
+void __init srmmu_frob_mem_map(unsigned long start_mem)
 {
 	should_not_happen();
 }
 
-__initfunc(unsigned long srmmu_paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init srmmu_paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	should_not_happen();
 	return 0;
 }
 
-__initfunc(void ld_mmu_srmmu(void))
+void __init ld_mmu_srmmu(void)
 {
 	should_not_happen();
 }
@@ -44,7 +44,7 @@
 {
 }
 
-__initfunc(void srmmu_end_memory(unsigned long memory_size, unsigned long *mem_end_p))
+void __init srmmu_end_memory(unsigned long memory_size, unsigned long *mem_end_p)
 {
 	return 0;
 }
diff -urN linux/arch/sparc/mm/nosun4c.c linux-2.3.15-work/arch/sparc/mm/nosun4c.c
--- linux/arch/sparc/mm/nosun4c.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/mm/nosun4c.c	Thu Aug 26 12:50:58 1999
@@ -23,19 +23,19 @@
 unsigned long sun4c_kernel_faults;
 unsigned long *sun4c_memerr_reg;
 
-__initfunc(static void should_not_happen(void))
+static void __init should_not_happen(void)
 {
 	prom_printf(shouldnothappen);
 	prom_halt();
 }
 
-__initfunc(unsigned long sun4c_paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init sun4c_paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	should_not_happen();
 	return 0;
 }
 
-__initfunc(void ld_mmu_sun4c(void))
+void __init ld_mmu_sun4c(void)
 {
 	should_not_happen();
 }
@@ -66,12 +66,12 @@
 {
 }
 
-__initfunc(void sun4c_probe_vac(void))
+void __init sun4c_probe_vac(void)
 {
 	should_not_happen();
 }
 
-__initfunc(void sun4c_probe_memerr_reg(void))
+void __init sun4c_probe_memerr_reg(void)
 {
 	should_not_happen();
 }
diff -urN linux/arch/sparc/mm/srmmu.c linux-2.3.15-work/arch/sparc/mm/srmmu.c
--- linux/arch/sparc/mm/srmmu.c	Mon Aug  9 19:29:37 1999
+++ linux-2.3.15-work/arch/sparc/mm/srmmu.c	Thu Aug 26 12:45:20 1999
@@ -204,7 +204,7 @@
 #define PGSKIP_DEBUG(from,to) do { } while (0)
 #endif
 
-__initfunc(void srmmu_frob_mem_map(unsigned long start_mem))
+void __init srmmu_frob_mem_map(unsigned long start_mem)
 {
 	unsigned long bank_start, bank_end = 0;
 	unsigned long addr;
@@ -1503,7 +1503,7 @@
  * looking at the prom's page table directly which is what most
  * other OS's do.  Yuck... this is much better.
  */
-__initfunc(void srmmu_inherit_prom_mappings(unsigned long start,unsigned long end))
+void __init srmmu_inherit_prom_mappings(unsigned long start,unsigned long end)
 {
 	pgd_t *pgdp;
 	pmd_t *pmdp;
@@ -1571,7 +1571,7 @@
 static int srmmu_low_pa __initdata = 0;
 static unsigned long end_of_phys_memory __initdata = 0;
 
-__initfunc(void srmmu_end_memory(unsigned long memory_size, unsigned long *end_mem_p))
+void __init srmmu_end_memory(unsigned long memory_size, unsigned long *end_mem_p)
 {
 	unsigned int sum = 0;
 	unsigned long last = 0xff000000;
@@ -1633,7 +1633,7 @@
 #define KERNEL_PTE(page_shifted) ((page_shifted)|SRMMU_CACHE|SRMMU_PRIV|SRMMU_VALID)
 
 /* Create a third-level SRMMU 16MB page mapping. */
-__initfunc(static void do_large_mapping(unsigned long vaddr, unsigned long phys_base))
+static void __init do_large_mapping(unsigned long vaddr, unsigned long phys_base)
 {
 	pgd_t *pgdp = srmmu_pgd_offset(&init_mm, vaddr);
 	unsigned long big_pte;
@@ -1664,7 +1664,7 @@
  * array of char's, each member indicating if that spbank is mapped
  * yet or not.
  */
-__initfunc(static int find_free_spbank(char *taken_vector))
+static int __init find_free_spbank(char *taken_vector)
 {
 	int entry;
 
@@ -1678,7 +1678,7 @@
 
 /* Map sp_bank entry SP_ENTRY, starting at virtual address VBASE.
  */
-__initfunc(static unsigned long map_spbank(unsigned long vbase, int sp_entry))
+static unsigned long __init map_spbank(unsigned long vbase, int sp_entry)
 {
 	unsigned long pstart = (sp_banks[sp_entry].base_addr & SRMMU_PGDIR_MASK);
 	unsigned long vstart = (vbase & SRMMU_PGDIR_MASK);
@@ -1943,7 +1943,7 @@
 
 void (*poke_srmmu)(void) __initdata = NULL;
 
-__initfunc(unsigned long srmmu_paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init srmmu_paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	unsigned long ptables_start;
 	int i, cpunode;
@@ -2157,13 +2157,13 @@
 }
 
 /* Init various srmmu chip types. */
-__initfunc(static void srmmu_is_bad(void))
+static void __init srmmu_is_bad(void)
 {
 	prom_printf("Could not determine SRMMU chip type.\n");
 	prom_halt();
 }
 
-__initfunc(static void init_vac_layout(void))
+static void __init init_vac_layout(void)
 {
 	int nd, cache_lines;
 	char node_str[128];
@@ -2217,7 +2217,7 @@
 	       (int)vac_cache_size, (int)vac_line_size);
 }
 
-__initfunc(static void poke_hypersparc(void))
+static void __init poke_hypersparc(void)
 {
 	volatile unsigned long clear;
 	unsigned long mreg = srmmu_get_mmureg();
@@ -2240,7 +2240,7 @@
 	clear = srmmu_get_fstatus();
 }
 
-__initfunc(static void init_hypersparc(void))
+static void __init init_hypersparc(void)
 {
 	srmmu_name = "ROSS HyperSparc";
 
@@ -2277,7 +2277,7 @@
 	hypersparc_setup_blockops();
 }
 
-__initfunc(static void poke_cypress(void))
+static void __init poke_cypress(void)
 {
 	unsigned long mreg = srmmu_get_mmureg();
 	unsigned long faddr, tagval;
@@ -2316,7 +2316,7 @@
 	srmmu_set_mmureg(mreg);
 }
 
-__initfunc(static void init_cypress_common(void))
+static void __init init_cypress_common(void)
 {
 	init_vac_layout();
 
@@ -2345,14 +2345,14 @@
 	poke_srmmu = poke_cypress;
 }
 
-__initfunc(static void init_cypress_604(void))
+static void __init init_cypress_604(void)
 {
 	srmmu_name = "ROSS Cypress-604(UP)";
 	srmmu_modtype = Cypress;
 	init_cypress_common();
 }
 
-__initfunc(static void init_cypress_605(unsigned long mrev))
+static void __init init_cypress_605(unsigned long mrev)
 {
 	srmmu_name = "ROSS Cypress-605(MP)";
 	if(mrev == 0xe) {
@@ -2369,7 +2369,7 @@
 	init_cypress_common();
 }
 
-__initfunc(static void poke_swift(void))
+static void __init poke_swift(void)
 {
 	unsigned long mreg = srmmu_get_mmureg();
 
@@ -2390,7 +2390,7 @@
 }
 
 #define SWIFT_MASKID_ADDR  0x10003018
-__initfunc(static void init_swift(void))
+static void __init init_swift(void)
 {
 	unsigned long swift_rev;
 
@@ -2552,7 +2552,7 @@
 }
 
 
-__initfunc(static void poke_turbosparc(void))
+static void __init poke_turbosparc(void)
 {
 	unsigned long mreg = srmmu_get_mmureg();
 	unsigned long ccreg;
@@ -2592,7 +2592,7 @@
 	srmmu_set_mmureg(mreg);
 }
 
-__initfunc(static void init_turbosparc(void))
+static void __init init_turbosparc(void)
 {
 	srmmu_name = "Fujitsu TurboSparc";
 	srmmu_modtype = TurboSparc;
@@ -2616,7 +2616,7 @@
 	poke_srmmu = poke_turbosparc;
 }
 
-__initfunc(static void poke_tsunami(void))
+static void __init poke_tsunami(void)
 {
 	unsigned long mreg = srmmu_get_mmureg();
 
@@ -2627,7 +2627,7 @@
 	srmmu_set_mmureg(mreg);
 }
 
-__initfunc(static void init_tsunami(void))
+static void __init init_tsunami(void)
 {
 	/* Tsunami's pretty sane, Sun and TI actually got it
 	 * somewhat right this time.  Fujitsu should have
@@ -2656,7 +2656,7 @@
 	poke_srmmu = poke_tsunami;
 }
 
-__initfunc(static void poke_viking(void))
+static void __init poke_viking(void)
 {
 	unsigned long mreg = srmmu_get_mmureg();
 	static int smp_catch = 0;
@@ -2711,7 +2711,7 @@
 #endif
 }
 
-__initfunc(static void init_viking(void))
+static void __init init_viking(void)
 {
 	unsigned long mreg = srmmu_get_mmureg();
 
@@ -2776,7 +2776,7 @@
 }
 
 /* Probe for the srmmu chip version. */
-__initfunc(static void get_srmmu_type(void))
+static void __init get_srmmu_type(void)
 {
 	unsigned long mreg, psr;
 	unsigned long mod_typ, mod_rev, psr_typ, psr_vers;
@@ -2942,7 +2942,7 @@
 		*iaddr = SPARC_BRANCH((unsigned long) daddr, (unsigned long) iaddr); \
 	} while(0);
 
-__initfunc(static void patch_window_trap_handlers(void))
+static void __init patch_window_trap_handlers(void)
 {
 	unsigned long *iaddr, *daddr;
 	
@@ -2965,7 +2965,7 @@
 #endif
 
 /* Load up routines and constants for sun4m and sun4d mmu */
-__initfunc(void ld_mmu_srmmu(void))
+void __init ld_mmu_srmmu(void)
 {
 	extern void ld_mmu_iommu(void);
 	extern void ld_mmu_iounit(void);
diff -urN linux/arch/sparc/mm/sun4c.c linux-2.3.15-work/arch/sparc/mm/sun4c.c
--- linux/arch/sparc/mm/sun4c.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc/mm/sun4c.c	Thu Aug 26 12:47:00 1999
@@ -437,7 +437,7 @@
 	sun4c_set_context(savectx);
 }
 
-__initfunc(void sun4c_probe_vac(void))
+void __init sun4c_probe_vac(void)
 {
 	sun4c_disable_vac();
 
@@ -601,7 +601,7 @@
 	}
 }
 
-__initfunc(static void sun4c_probe_mmu(void))
+static void __init sun4c_probe_mmu(void)
 {
 	if (ARCH_SUN4) {
 		switch(idprom->id_machtype) {
@@ -652,7 +652,7 @@
 
 volatile unsigned long *sun4c_memerr_reg = 0;
 
-__initfunc(void sun4c_probe_memerr_reg(void))
+void __init sun4c_probe_memerr_reg(void)
 {
 	int node;
 	struct linux_prom_registers regs[1];
@@ -730,7 +730,7 @@
 
 static struct sun4c_mmu_entry mmu_entry_pool[SUN4C_MAX_SEGMAPS];
 
-__initfunc(static void sun4c_init_mmu_entry_pool(void))
+static void __init sun4c_init_mmu_entry_pool(void)
 {
 	int i;
 
@@ -788,7 +788,7 @@
 	}
 }
 
-__initfunc(static void sun4c_init_lock_area(unsigned long start, unsigned long end))
+static void __init sun4c_init_lock_area(unsigned long start, unsigned long end)
 {
 	int i, ctx;
 
@@ -897,7 +897,7 @@
         add_ring(&sun4c_kfree_ring, entry);
 }
 
-__initfunc(static void sun4c_init_fill_kernel_ring(int howmany))
+static void __init sun4c_init_fill_kernel_ring(int howmany)
 {
 	int i;
 
@@ -912,7 +912,7 @@
 	}
 }
 
-__initfunc(static void sun4c_init_fill_user_ring(void))
+static void __init sun4c_init_fill_user_ring(void)
 {
 	int i;
 
@@ -1372,7 +1372,7 @@
 	garbage_collect(entry);
 }
 
-__initfunc(static void sun4c_init_buckets(void))
+static void __init sun4c_init_buckets(void)
 {
 	int entry;
 
@@ -1534,7 +1534,7 @@
 
 struct vm_area_struct sun4c_kstack_vma;
 
-__initfunc(static unsigned long sun4c_init_lock_areas(unsigned long start_mem))
+static unsigned long __init sun4c_init_lock_areas(unsigned long start_mem)
 {
 	unsigned long sun4c_taskstack_start;
 	unsigned long sun4c_taskstack_end;
@@ -2745,7 +2745,7 @@
 extern unsigned long sparc_context_init(unsigned long, int);
 extern unsigned long end;
 
-__initfunc(unsigned long sun4c_paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init sun4c_paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	int i, cnt;
 	unsigned long kernel_end, vaddr;
@@ -2798,7 +2798,7 @@
 }
 
 /* Load up routines and constants for sun4c mmu */
-__initfunc(void ld_mmu_sun4c(void))
+void __init ld_mmu_sun4c(void)
 {
 	extern void ___xchg32_sun4c(void);
 	
diff -urN linux/arch/sparc/prom/bootstr.c linux-2.3.15-work/arch/sparc/prom/bootstr.c
--- linux/arch/sparc/prom/bootstr.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/prom/bootstr.c	Thu Aug 26 12:51:18 1999
@@ -16,8 +16,8 @@
 
 extern linux_sun4_romvec *sun4_romvec;
 
-__initfunc(char *
-prom_getbootargs(void))
+char * __init
+prom_getbootargs(void)
 {
 	int iter;
 	char *cp, *arg;
diff -urN linux/arch/sparc/prom/init.c linux-2.3.15-work/arch/sparc/prom/init.c
--- linux/arch/sparc/prom/init.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/prom/init.c	Thu Aug 26 12:51:34 1999
@@ -35,7 +35,7 @@
 extern void prom_meminit(void);
 extern void prom_ranges_init(void);
 
-__initfunc(void prom_init(struct linux_romvec *rp))
+void __init prom_init(struct linux_romvec *rp)
 {
 #ifdef CONFIG_SUN4
 	extern struct linux_romvec *sun4_prom_init(void);
diff -urN linux/arch/sparc/prom/memory.c linux-2.3.15-work/arch/sparc/prom/memory.c
--- linux/arch/sparc/prom/memory.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/prom/memory.c	Thu Aug 26 12:51:56 1999
@@ -39,8 +39,8 @@
 /* Internal Prom library routine to sort a linux_mlist_v0 memory
  * list.  Used below in initialization.
  */
-__initfunc(static void
-prom_sortmemlist(struct linux_mlist_v0 *thislist))
+static void __init
+prom_sortmemlist(struct linux_mlist_v0 *thislist)
 {
 	int swapi = 0;
 	int i, mitr, tmpsize;
@@ -69,7 +69,7 @@
 }
 
 /* Initialize the memory lists based upon the prom version. */
-__initfunc(void prom_meminit(void))
+void __init prom_meminit(void)
 {
 	int node = 0;
 	unsigned int iter, num_regs;
diff -urN linux/arch/sparc/prom/ranges.c linux-2.3.15-work/arch/sparc/prom/ranges.c
--- linux/arch/sparc/prom/ranges.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/prom/ranges.c	Thu Aug 26 13:28:28 1999
@@ -82,7 +82,7 @@
 	}
 }
 
-__initfunc(void prom_ranges_init(void))
+void __init prom_ranges_init(void)
 {
 	int node, obio_node;
 	int success;
@@ -107,7 +107,7 @@
 	return;
 }
 
-__initfunc(void prom_sbus_ranges_init(int parentnd, struct linux_sbus *sbus))
+void __init prom_sbus_ranges_init(int parentnd, struct linux_sbus *sbus)
 {
 	int success;
 	
diff -urN linux/arch/sparc/prom/sun4prom.c linux-2.3.15-work/arch/sparc/prom/sun4prom.c
--- linux/arch/sparc/prom/sun4prom.c	Wed Apr 15 01:44:20 1998
+++ linux-2.3.15-work/arch/sparc/prom/sun4prom.c	Thu Aug 26 13:28:39 1999
@@ -114,7 +114,7 @@
 	
 static int synch_hook;
 
-__initfunc(struct linux_romvec *sun4_prom_init(void))
+struct linux_romvec * __init sun4_prom_init(void)
 {
 	int i;
 	unsigned char x;
diff -urN linux/arch/sparc64/kernel/auxio.c linux-2.3.15-work/arch/sparc64/kernel/auxio.c
--- linux/arch/sparc64/kernel/auxio.c	Wed Aug  5 00:03:35 1998
+++ linux-2.3.15-work/arch/sparc64/kernel/auxio.c	Thu Aug 26 14:19:53 1999
@@ -22,7 +22,7 @@
 /* Probe and map in the Auxiliary I/O register */
 unsigned char *auxio_register;
 
-__initfunc(void auxio_probe(void))
+void __init auxio_probe(void)
 {
         struct linux_sbus *bus;
         struct linux_sbus_device *sdev = 0;
diff -urN linux/arch/sparc64/kernel/binfmt_aout32.c linux-2.3.15-work/arch/sparc64/kernel/binfmt_aout32.c
--- linux/arch/sparc64/kernel/binfmt_aout32.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc64/kernel/binfmt_aout32.c	Thu Aug 26 14:21:15 1999
@@ -453,7 +453,7 @@
 }
 
 
-__initfunc(int init_aout32_binfmt(void))
+int __init init_aout32_binfmt(void)
 {
 	return register_binfmt(&aout32_format);
 }
diff -urN linux/arch/sparc64/kernel/cpu.c linux-2.3.15-work/arch/sparc64/kernel/cpu.c
--- linux/arch/sparc64/kernel/cpu.c	Tue May 11 16:24:31 1999
+++ linux-2.3.15-work/arch/sparc64/kernel/cpu.c	Thu Aug 26 14:20:06 1999
@@ -58,7 +58,7 @@
 
 unsigned int fsr_storage;
 
-__initfunc(void cpu_probe(void))
+void __init cpu_probe(void)
 {
 	int manuf, impl;
 	unsigned i, cpuid;
diff -urN linux/arch/sparc64/kernel/devices.c linux-2.3.15-work/arch/sparc64/kernel/devices.c
--- linux/arch/sparc64/kernel/devices.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc64/kernel/devices.c	Thu Aug 26 14:20:19 1999
@@ -21,8 +21,8 @@
 extern void cpu_probe(void);
 extern unsigned long central_probe(unsigned long);
 
-__initfunc(unsigned long
-device_scan(unsigned long mem_start))
+unsigned long __init
+device_scan(unsigned long mem_start)
 {
 	char node_str[128];
 	int nd, prom_node_cpu, thismid;
diff -urN linux/arch/sparc64/kernel/idprom.c linux-2.3.15-work/arch/sparc64/kernel/idprom.c
--- linux/arch/sparc64/kernel/idprom.c	Thu Apr 24 03:01:16 1997
+++ linux-2.3.15-work/arch/sparc64/kernel/idprom.c	Thu Aug 26 14:19:38 1999
@@ -16,7 +16,7 @@
 static struct idprom idprom_buffer;
 
 /* Calculate the IDPROM checksum (xor of the data bytes). */
-__initfunc(static unsigned char calc_idprom_cksum(struct idprom *idprom))
+static unsigned char __init calc_idprom_cksum(struct idprom *idprom)
 {
 	unsigned char cksum, i, *ptr = (unsigned char *)idprom;
 
@@ -27,7 +27,7 @@
 }
 
 /* Create a local IDPROM copy and verify integrity. */
-__initfunc(void idprom_init(void))
+void __init idprom_init(void)
 {
 	prom_get_idprom((char *) &idprom_buffer, sizeof(idprom_buffer));
 
diff -urN linux/arch/sparc64/kernel/irq.c linux-2.3.15-work/arch/sparc64/kernel/irq.c
--- linux/arch/sparc64/kernel/irq.c	Fri Apr 23 03:24:51 1999
+++ linux-2.3.15-work/arch/sparc64/kernel/irq.c	Thu Aug 26 14:20:34 1999
@@ -1399,7 +1399,7 @@
 	prom_timers->count0 = 0;
 }
 
-__initfunc(void init_IRQ(void))
+void __init init_IRQ(void)
 {
 	static int called = 0;
 
diff -urN linux/arch/sparc64/kernel/setup.c linux-2.3.15-work/arch/sparc64/kernel/setup.c
--- linux/arch/sparc64/kernel/setup.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc64/kernel/setup.c	Thu Aug 26 14:20:59 1999
@@ -316,7 +316,7 @@
  * Process kernel command line switches that are specific to the
  * SPARC or that require special low-level processing.
  */
-__initfunc(static void process_switch(char c))
+static void __init process_switch(char c)
 {
 	switch (c) {
 	case 'd':
@@ -335,7 +335,7 @@
 	}
 }
 
-__initfunc(static void boot_flags_init(char *commands))
+static void __init boot_flags_init(char *commands)
 {
 	while (*commands) {
 		/* Move to the start of the next "argument". */
@@ -438,8 +438,8 @@
 
 extern struct consw sun_serial_con;
 
-__initfunc(void setup_arch(char **cmdline_p,
-	unsigned long * memory_start_p, unsigned long * memory_end_p))
+void __init setup_arch(char **cmdline_p,
+	unsigned long * memory_start_p, unsigned long * memory_end_p)
 {
 	extern int serial_console;  /* in console.c, of course */
 	unsigned long lowest_paddr, end_of_phys_memory = 0;
diff -urN linux/arch/sparc64/kernel/smp.c linux-2.3.15-work/arch/sparc64/kernel/smp.c
--- linux/arch/sparc64/kernel/smp.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc64/kernel/smp.c	Thu Aug 26 14:22:01 1999
@@ -83,7 +83,7 @@
 	return len;
 }
 
-__initfunc(void smp_store_cpu_info(int id))
+void __init smp_store_cpu_info(int id)
 {
 	int i;
 
@@ -103,7 +103,7 @@
 		cpu_data[id].irq_worklists[i] = 0;
 }
 
-__initfunc(void smp_commence(void))
+void __init smp_commence(void)
 {
 }
 
@@ -115,7 +115,7 @@
 extern void inherit_locked_prom_mappings(int save_p);
 extern void cpu_probe(void);
 
-__initfunc(void smp_callin(void))
+void __init smp_callin(void)
 {
 	int cpuid = hard_smp_processor_id();
 
@@ -192,7 +192,7 @@
  */
 static struct task_struct *cpu_new_task = NULL;
 
-__initfunc(void smp_boot_cpus(void))
+void __init smp_boot_cpus(void)
 {
 	int cpucount = 0, i;
 
@@ -647,7 +647,7 @@
 	} while (tick >= compare);
 }
 
-__initfunc(static void smp_setup_percpu_timer(void))
+static void __init smp_setup_percpu_timer(void)
 {
 	int cpu = smp_processor_id();
 
@@ -661,7 +661,7 @@
 			     : "g1");
 }
 
-__initfunc(void smp_tick_init(void))
+void __init smp_tick_init(void)
 {
 	int i;
 	
@@ -707,7 +707,7 @@
 
 cycles_t cacheflush_time;
 
-__initfunc(static void smp_tune_scheduling (void))
+static void __init smp_tune_scheduling (void)
 {
 	unsigned long flush_base, flags, *p;
 	unsigned int ecache_size;
diff -urN linux/arch/sparc64/mm/init.c linux-2.3.15-work/arch/sparc64/mm/init.c
--- linux/arch/sparc64/mm/init.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc64/mm/init.c	Thu Aug 26 14:22:42 1999
@@ -166,7 +166,7 @@
 static unsigned long dvmaiobase = 0;
 static unsigned long dvmaiosz __initdata = 0;
 
-__initfunc(void dvmaio_init(void))
+void __init dvmaio_init(void)
 {
 	long i;
 	
@@ -187,7 +187,7 @@
 	}
 }
 
-__initfunc(void iommu_init(int iommu_node, struct linux_sbus *sbus))
+void __init iommu_init(int iommu_node, struct linux_sbus *sbus)
 {
 	extern int this_is_starfire;
 	extern void *starfire_hookup(int);
@@ -1044,8 +1044,8 @@
 	return NULL;
 }
 
-__initfunc(static void
-allocate_ptable_skeleton(unsigned long start, unsigned long end))
+static void __init
+allocate_ptable_skeleton(unsigned long start, unsigned long end)
 {
 	pgd_t *pgdp;
 	pmd_t *pmdp;
@@ -1142,8 +1142,8 @@
 extern unsigned long free_area_init(unsigned long, unsigned long);
 extern unsigned long sun_serial_setup(unsigned long);
 
-__initfunc(unsigned long 
-paging_init(unsigned long start_mem, unsigned long end_mem))
+unsigned long __init
+paging_init(unsigned long start_mem, unsigned long end_mem)
 {
 	extern pmd_t swapper_pmd_dir[1024];
 	extern unsigned int sparc64_vpte_patchme1[1];
@@ -1262,7 +1262,7 @@
 	return device_scan (PAGE_ALIGN (start_mem));
 }
 
-__initfunc(static void taint_real_pages(unsigned long start_mem, unsigned long end_mem))
+static void __init taint_real_pages(unsigned long start_mem, unsigned long end_mem)
 {
 	unsigned long tmp = 0, paddr, endaddr;
 	unsigned long end = __pa(end_mem);
@@ -1308,7 +1308,7 @@
 	}
 }
 
-__initfunc(void mem_init(unsigned long start_mem, unsigned long end_mem))
+void __init mem_init(unsigned long start_mem, unsigned long end_mem)
 {
 	int codepages = 0;
 	int datapages = 0;
diff -urN linux/arch/sparc64/prom/bootstr.c linux-2.3.15-work/arch/sparc64/prom/bootstr.c
--- linux/arch/sparc64/prom/bootstr.c	Wed Apr 15 01:44:21 1998
+++ linux-2.3.15-work/arch/sparc64/prom/bootstr.c	Thu Aug 26 14:22:55 1999
@@ -14,8 +14,8 @@
 static int bootstr_valid = 0;
 static char bootstr_buf[BARG_LEN] = { 0 };
 
-__initfunc(char *
-prom_getbootargs(void))
+char * __init
+prom_getbootargs(void)
 {
 	/* This check saves us from a panic when bootfd patches args. */
 	if (bootstr_valid) return bootstr_buf;
diff -urN linux/arch/sparc64/prom/init.c linux-2.3.15-work/arch/sparc64/prom/init.c
--- linux/arch/sparc64/prom/init.c	Wed Apr 15 01:44:21 1998
+++ linux-2.3.15-work/arch/sparc64/prom/init.c	Thu Aug 26 14:23:08 1999
@@ -31,7 +31,7 @@
 extern void prom_ranges_init(void);
 extern void prom_cif_init(void *, void *);
 
-__initfunc(void prom_init(void *cif_handler, void *cif_stack))
+void __init prom_init(void *cif_handler, void *cif_stack)
 {
 	char buffer[80], *p;
 	int ints[3];
diff -urN linux/arch/sparc64/prom/memory.c linux-2.3.15-work/arch/sparc64/prom/memory.c
--- linux/arch/sparc64/prom/memory.c	Thu Mar 11 00:53:37 1999
+++ linux-2.3.15-work/arch/sparc64/prom/memory.c	Thu Aug 26 14:24:22 1999
@@ -37,8 +37,8 @@
 /* Internal Prom library routine to sort a linux_mlist_p1275 memory
  * list.  Used below in initialization.
  */
-__initfunc(static void
-prom_sortmemlist(struct linux_mlist_p1275 *thislist))
+static void __init
+prom_sortmemlist(struct linux_mlist_p1275 *thislist)
 {
 	int swapi = 0;
 	int i, mitr;
@@ -65,7 +65,7 @@
 }
 
 /* Initialize the memory lists based upon the prom version. */
-__initfunc(void prom_meminit(void))
+void __init prom_meminit(void)
 {
 	int node = 0;
 	unsigned int iter, num_regs;
diff -urN linux/arch/sparc64/prom/ranges.c linux-2.3.15-work/arch/sparc64/prom/ranges.c
--- linux/arch/sparc64/prom/ranges.c	Wed Apr 15 01:44:21 1998
+++ linux-2.3.15-work/arch/sparc64/prom/ranges.c	Thu Aug 26 14:23:56 1999
@@ -87,11 +87,11 @@
 				 central->num_central_ranges);
 }
 
-__initfunc(void prom_ranges_init(void))
+void __init prom_ranges_init(void)
 {
 }
 
-__initfunc(void prom_sbus_ranges_init(int iommund, struct linux_sbus *sbus))
+void __init prom_sbus_ranges_init(int iommund, struct linux_sbus *sbus)
 {
 	int success;
 	
@@ -103,7 +103,7 @@
 		sbus->num_sbus_ranges = (success/sizeof(struct linux_prom_ranges));
 }
 
-__initfunc(void prom_central_ranges_init(int cnode, struct linux_central *central))
+void __init prom_central_ranges_init(int cnode, struct linux_central *central)
 {
 	int success;
 	
@@ -115,7 +115,7 @@
 		central->num_central_ranges = (success/sizeof(struct linux_prom_ranges));
 }
 
-__initfunc(void prom_fhc_ranges_init(int fnode, struct linux_fhc *fhc))
+void __init prom_fhc_ranges_init(int fnode, struct linux_fhc *fhc)
 {
 	int success;
 	
@@ -128,7 +128,7 @@
 }
 
 #ifdef CONFIG_PCI
-__initfunc(void prom_ebus_ranges_init(struct linux_ebus *ebus))
+void __init prom_ebus_ranges_init(struct linux_ebus *ebus)
 {
 	int success;
 
@@ -140,7 +140,7 @@
 		ebus->num_ebus_ranges = (success/sizeof(struct linux_prom_ebus_ranges));
 }
 
-__initfunc(void prom_ebus_intmap_init(struct linux_ebus *ebus))
+void __init prom_ebus_intmap_init(struct linux_ebus *ebus)
 {
 	int success;
 
@@ -162,7 +162,7 @@
 	}
 }
 
-__initfunc(void prom_pbm_ranges_init(int pnode, struct linux_pbm_info *pbm))
+void __init prom_pbm_ranges_init(int pnode, struct linux_pbm_info *pbm)
 {
 	int success;
 
@@ -174,7 +174,7 @@
 		pbm->num_pbm_ranges = (success/sizeof(struct linux_prom_pci_ranges));
 }
 
-__initfunc(void prom_pbm_intmap_init(int pnode, struct linux_pbm_info *pbm))
+void __init prom_pbm_intmap_init(int pnode, struct linux_pbm_info *pbm)
 {
 	int success;
 
diff -urN linux/arch/sparc64/solaris/socksys.c linux-2.3.15-work/arch/sparc64/solaris/socksys.c
--- linux/arch/sparc64/solaris/socksys.c	Tue Aug  3 06:07:16 1999
+++ linux-2.3.15-work/arch/sparc64/solaris/socksys.c	Thu Aug 26 14:24:37 1999
@@ -174,8 +174,8 @@
 	socksys_release,/* release */
 };
 
-__initfunc(int
-init_socksys(void))
+int __init
+init_socksys(void)
 {
 	int ret;
 	struct file * file;
diff -urN linux/drivers/acorn/char/keyb_arc.c linux-2.3.15-work/drivers/acorn/char/keyb_arc.c
--- linux/drivers/acorn/char/keyb_arc.c	Tue Jul  6 04:35:18 1999
+++ linux-2.3.15-work/drivers/acorn/char/keyb_arc.c	Thu Aug 26 12:25:58 1999
@@ -419,7 +419,7 @@
 };
 #endif
 
-__initfunc(void a5kkbd_init_hw (void))
+void __init a5kkbd_init_hw (void)
 {
 	unsigned long flags;
 
diff -urN linux/drivers/acorn/char/keyb_ps2.c linux-2.3.15-work/drivers/acorn/char/keyb_ps2.c
--- linux/drivers/acorn/char/keyb_ps2.c	Thu Jun 17 09:11:35 1999
+++ linux-2.3.15-work/drivers/acorn/char/keyb_ps2.c	Thu Aug 26 12:25:43 1999
@@ -325,7 +325,7 @@
 {
 }
 
-__initfunc(int ps2kbd_init_hw(void))
+int __init ps2kbd_init_hw(void)
 {
 	unsigned long flags;
 
diff -urN linux/drivers/acorn/net/ether1.c linux-2.3.15-work/drivers/acorn/net/ether1.c
--- linux/drivers/acorn/net/ether1.c	Wed Aug 18 19:38:59 1999
+++ linux-2.3.15-work/drivers/acorn/net/ether1.c	Thu Aug 26 12:23:43 1999
@@ -254,8 +254,8 @@
 	}
 }
 
-__initfunc(static int
-ether1_ramtest (struct net_device *dev, unsigned char byte))
+static int __init
+ether1_ramtest (struct net_device *dev, unsigned char byte)
 {
 	unsigned char *buffer = kmalloc (BUFFER_SIZE, GFP_KERNEL);
 	int i, ret = BUFFER_SIZE;
@@ -308,8 +308,8 @@
 	return BUS_16;
 }
 
-__initfunc(static int
-ether1_init_2 (struct net_device *dev))
+static int __init
+ether1_init_2 (struct net_device *dev)
 {
 	int i;
 	dev->mem_start = 0;
@@ -612,8 +612,8 @@
 	return failures ? 1 : 0;
 }
 
-__initfunc(static int
-ether1_probe1 (struct net_device *dev))
+static int __init
+ether1_probe1 (struct net_device *dev)
 {
 	static unsigned int version_printed = 0;
 	struct ether1_priv *priv;
@@ -664,8 +664,8 @@
     
 /* ------------------------------------------------------------------------- */
 
-__initfunc(static void
-ether1_addr (struct net_device *dev))
+static void __init
+ether1_addr (struct net_device *dev)
 {
 	int i;
     
@@ -673,8 +673,8 @@
 		dev->dev_addr[i] = inb (IDPROM_ADDRESS + i);
 }
 
-__initfunc(int
-ether1_probe (struct net_device *dev))
+int __init
+ether1_probe (struct net_device *dev)
 {
 #ifndef MODULE
 	struct expansion_card *ec;
diff -urN linux/drivers/acorn/net/ether3.c linux-2.3.15-work/drivers/acorn/net/ether3.c
--- linux/drivers/acorn/net/ether3.c	Wed Aug 18 19:38:59 1999
+++ linux-2.3.15-work/drivers/acorn/net/ether3.c	Thu Aug 26 12:24:26 1999
@@ -199,8 +199,8 @@
  * Read the ethernet address string from the on board rom.
  * This is an ascii string!!!
  */
-__initfunc(static void
-ether3_addr(char *addr, struct expansion_card *ec))
+static void __init
+ether3_addr(char *addr, struct expansion_card *ec)
 {
 	struct in_chunk_dir cd;
 	char *s;
@@ -224,8 +224,8 @@
 
 /* --------------------------------------------------------------------------- */
 
-__initfunc(static int
-ether3_ramtest(struct net_device *dev, unsigned char byte))
+static int __init
+ether3_ramtest(struct net_device *dev, unsigned char byte)
 {
 	unsigned char *buffer = kmalloc(RX_END, GFP_KERNEL);
 	int i,ret = 0;
@@ -273,8 +273,8 @@
 
 /* ------------------------------------------------------------------------------- */
 
-__initfunc(static int
-ether3_init_2(struct net_device *dev))
+static int __init
+ether3_init_2(struct net_device *dev)
 {
 	struct dev_priv *priv = (struct dev_priv *)dev->priv;
 	int i;
@@ -400,8 +400,8 @@
 /*
  * This is the real probe routine.
  */
-__initfunc(static int
-ether3_probe1(struct net_device *dev))
+static int __init
+ether3_probe1(struct net_device *dev)
 {
 	static unsigned version_printed = 0;
 	struct dev_priv *priv;
@@ -478,8 +478,8 @@
 	return error;
 }
 
-__initfunc(static void
-ether3_get_dev(struct net_device *dev, struct expansion_card *ec))
+static void __init
+ether3_get_dev(struct net_device *dev, struct expansion_card *ec)
 {
 	ecard_claim(ec);
 
@@ -498,8 +498,8 @@
 }
 
 #ifndef MODULE
-__initfunc(int
-ether3_probe(struct net_device *dev))
+int __init
+ether3_probe(struct net_device *dev)
 {
 	struct expansion_card *ec;
 
diff -urN linux/drivers/acorn/net/etherh.c linux-2.3.15-work/drivers/acorn/net/etherh.c
--- linux/drivers/acorn/net/etherh.c	Wed Aug 18 19:38:59 1999
+++ linux-2.3.15-work/drivers/acorn/net/etherh.c	Thu Aug 26 12:25:06 1999
@@ -84,8 +84,8 @@
  * Read the ethernet address string from the on board rom.
  * This is an ascii string...
  */
-__initfunc(static int
-etherh_addr(char *addr, struct expansion_card *ec))
+static int __init
+etherh_addr(char *addr, struct expansion_card *ec)
 {
 	struct in_chunk_dir cd;
 	char *s;
@@ -352,8 +352,8 @@
 /*
  * This is the real probe routine.
  */
-__initfunc(static int
-etherh_probe1(struct net_device *dev))
+static int __init
+etherh_probe1(struct net_device *dev)
 {
 	static int version_printed;
 	unsigned int addr, i, reg0, tmp;
@@ -463,8 +463,8 @@
 	NULL
 };
 
-__initfunc(static void
-etherh_initdev(ecard_t *ec, struct net_device *dev))
+static void __init
+etherh_initdev(ecard_t *ec, struct net_device *dev)
 {
 	ecard_claim (ec);
 	
@@ -496,8 +496,8 @@
 }
 
 #ifndef MODULE
-__initfunc(int
-etherh_probe(struct net_device *dev))
+int __init
+etherh_probe(struct net_device *dev)
 {
 	if (!dev)
 		return ENODEV;
diff -urN linux/drivers/acorn/net/net-probe.c linux-2.3.15-work/drivers/acorn/net/net-probe.c
--- linux/drivers/acorn/net/net-probe.c	Wed Aug 18 19:38:59 1999
+++ linux-2.3.15-work/drivers/acorn/net/net-probe.c	Thu Aug 26 12:25:28 1999
@@ -12,7 +12,7 @@
 extern int ether3_probe (struct net_device *dev);
 extern int etherh_probe (struct net_device *dev);
 
-__initfunc(int acorn_ethif_probe(struct net_device *dev))
+int __init acorn_ethif_probe(struct net_device *dev)
 {
 	if (1
 #ifdef CONFIG_ARM_ETHERH
diff -urN linux/drivers/atm/atmdev_init.c linux-2.3.15-work/drivers/atm/atmdev_init.c
--- linux/drivers/atm/atmdev_init.c	Mon Aug 23 17:56:31 1999
+++ linux-2.3.15-work/drivers/atm/atmdev_init.c	Thu Aug 26 12:28:47 1999
@@ -30,7 +30,7 @@
 #endif
 
 
-__initfunc(int atmdev_init(void))
+int __init atmdev_init(void)
 {
 	int devs;
 
diff -urN linux/drivers/atm/eni.c linux-2.3.15-work/drivers/atm/eni.c
--- linux/drivers/atm/eni.c	Mon Aug 23 17:56:31 1999
+++ linux-2.3.15-work/drivers/atm/eni.c	Thu Aug 26 12:29:22 1999
@@ -1548,7 +1548,7 @@
   } })
 
 
-__initfunc(static int get_esi_asic(struct atm_dev *dev))
+static int __init get_esi_asic(struct atm_dev *dev)
 {
 	struct eni_dev *eni_dev;
 	unsigned char tonga;
@@ -1640,7 +1640,7 @@
 #undef GET_SEPROM
 
 
-__initfunc(static int get_esi_fpga(struct atm_dev *dev,unsigned long base))
+static int __init get_esi_fpga(struct atm_dev *dev,unsigned long base)
 {
 	unsigned long mac_base;
 	int i;
@@ -1651,7 +1651,7 @@
 }
 
 
-__initfunc(static int eni_init(struct atm_dev *dev))
+static int __init eni_init(struct atm_dev *dev)
 {
 	struct midway_eprom *eprom;
 	struct eni_dev *eni_dev;
@@ -1740,7 +1740,7 @@
 }
 
 
-__initfunc(static int eni_start(struct atm_dev *dev))
+static int __init eni_start(struct atm_dev *dev)
 {
 	struct eni_dev *eni_dev;
 	unsigned long buf,buffer_mem;
@@ -2190,7 +2190,7 @@
 };
 
 
-__initfunc(int eni_detect(void))
+int __init eni_detect(void)
 {
 	struct atm_dev *dev;
 	struct eni_dev *eni_dev;
diff -urN linux/drivers/atm/nicstar.c linux-2.3.15-work/drivers/atm/nicstar.c
--- linux/drivers/atm/nicstar.c	Mon Aug 23 17:56:31 1999
+++ linux-2.3.15-work/drivers/atm/nicstar.c	Thu Aug 26 12:29:39 1999
@@ -344,7 +344,7 @@
 
 #else
 
-__initfunc(int nicstar_detect(void))
+int __init nicstar_detect(void)
 {
    int i;
    unsigned error = 0;	/* Initialized to remove compile warning */
diff -urN linux/drivers/atm/suni.c linux-2.3.15-work/drivers/atm/suni.c
--- linux/drivers/atm/suni.c	Mon Aug 23 21:44:03 1999
+++ linux-2.3.15-work/drivers/atm/suni.c	Thu Aug 26 12:29:55 1999
@@ -264,7 +264,7 @@
 };
 
 
-__initfunc(int suni_init(struct atm_dev *dev))
+int __init suni_init(struct atm_dev *dev)
 {
 	unsigned char mri;
 
diff -urN linux/drivers/atm/uPD98402.c linux-2.3.15-work/drivers/atm/uPD98402.c
--- linux/drivers/atm/uPD98402.c	Mon Aug 23 21:44:03 1999
+++ linux-2.3.15-work/drivers/atm/uPD98402.c	Thu Aug 26 12:30:09 1999
@@ -196,7 +196,7 @@
 };
 
 
-__initfunc(int uPD98402_init(struct atm_dev *dev))
+int __init uPD98402_init(struct atm_dev *dev)
 {
 DPRINTK("phy_init\n");
 	dev->phy = &uPD98402_ops;
diff -urN linux/drivers/atm/zatm.c linux-2.3.15-work/drivers/atm/zatm.c
--- linux/drivers/atm/zatm.c	Mon Aug 23 21:44:03 1999
+++ linux-2.3.15-work/drivers/atm/zatm.c	Thu Aug 26 12:31:33 1999
@@ -460,7 +460,7 @@
 }
 
 
-__initfunc(static void zatm_clock_init(struct zatm_dev *zatm_dev))
+static void __init zatm_clock_init(struct zatm_dev *zatm_dev)
 {
 	static int start_timer = 1;
 	unsigned long flags;
@@ -1289,8 +1289,8 @@
 /*----------------------------- (E)EPROM access -----------------------------*/
 
 
-__initfunc(static void eprom_set(struct zatm_dev *zatm_dev,unsigned long value,
-    unsigned short cmd))
+static void __init eprom_set(struct zatm_dev *zatm_dev,unsigned long value,
+    unsigned short cmd)
 {
 	int error;
 
@@ -1300,8 +1300,8 @@
 }
 
 
-__initfunc(static unsigned long eprom_get(struct zatm_dev *zatm_dev,
-    unsigned short cmd))
+static unsigned long __init eprom_get(struct zatm_dev *zatm_dev,
+    unsigned short cmd)
 {
 	unsigned int value;
 	int error;
@@ -1313,8 +1313,8 @@
 }
 
 
-__initfunc(static void eprom_put_bits(struct zatm_dev *zatm_dev,
-    unsigned long data,int bits,unsigned short cmd))
+static void __init eprom_put_bits(struct zatm_dev *zatm_dev,
+    unsigned long data,int bits,unsigned short cmd)
 {
 	unsigned long value;
 	int i;
@@ -1328,8 +1328,8 @@
 }
 
 
-__initfunc(static void eprom_get_byte(struct zatm_dev *zatm_dev,
-    unsigned char *byte,unsigned short cmd))
+static void __init eprom_get_byte(struct zatm_dev *zatm_dev,
+    unsigned char *byte,unsigned short cmd)
 {
 	int i;
 
@@ -1344,8 +1344,8 @@
 }
 
 
-__initfunc(static unsigned char eprom_try_esi(struct atm_dev *dev,
-    unsigned short cmd,int offset,int swap))
+static unsigned char __init eprom_try_esi(struct atm_dev *dev,
+    unsigned short cmd,int offset,int swap)
 {
 	unsigned char buf[ZEPROM_SIZE];
 	struct zatm_dev *zatm_dev;
@@ -1365,7 +1365,7 @@
 }
 
 
-__initfunc(static void eprom_get_esi(struct atm_dev *dev))
+static void __init eprom_get_esi(struct atm_dev *dev)
 {
 	if (eprom_try_esi(dev,ZEPROM_V1_REG,ZEPROM_V1_ESI_OFF,1)) return;
 	(void) eprom_try_esi(dev,ZEPROM_V2_REG,ZEPROM_V2_ESI_OFF,0);
@@ -1375,7 +1375,7 @@
 /*--------------------------------- entries ---------------------------------*/
 
 
-__initfunc(static int zatm_init(struct atm_dev *dev))
+static int __init zatm_init(struct atm_dev *dev)
 {
 	struct zatm_dev *zatm_dev;
 	struct pci_dev *pci_dev;
@@ -1457,7 +1457,7 @@
 }
 
 
-__initfunc(static int zatm_start(struct atm_dev *dev))
+static int __init zatm_start(struct atm_dev *dev)
 {
 	struct zatm_dev *zatm_dev;
 	unsigned long curr;
@@ -1816,7 +1816,7 @@
 };
 
 
-__initfunc(int zatm_detect(void))
+int __init zatm_detect(void)
 {
 	struct atm_dev *dev;
 	struct zatm_dev *zatm_dev;
diff -urN linux/drivers/parport/parport_mfc3.c linux-2.3.15-work/drivers/parport/parport_mfc3.c
--- linux/drivers/parport/parport_mfc3.c	Sun Aug 15 19:48:32 1999
+++ linux-2.3.15-work/drivers/parport/parport_mfc3.c	Thu Aug 26 12:31:51 1999
@@ -313,7 +313,7 @@
 
 /* ----------- Initialisation code --------------------------------- */
 
-__initfunc(int parport_mfc3_init(void))
+int __init parport_mfc3_init(void)
 {
 	struct parport *p;
 	int pias = 0;
diff -urN linux/drivers/tc/tc.c linux-2.3.15-work/drivers/tc/tc.c
--- linux/drivers/tc/tc.c	Thu Aug  5 00:36:45 1999
+++ linux-2.3.15-work/drivers/tc/tc.c	Thu Aug 26 12:27:37 1999
@@ -92,12 +92,12 @@
 /*
  * Probing for TURBOchannel modules
  */
-__initfunc(static void my_dbe_handler(struct pt_regs *regs))
+static void __init my_dbe_handler(struct pt_regs *regs)
 {
 	regs->cp0_epc += 4;
 }
 
-__initfunc(static void tc_probe(unsigned long startaddr, unsigned long size, int max_slot))
+static void __init tc_probe(unsigned long startaddr, unsigned long size, int max_slot)
 {
 	int i, slot;
 	long offset;
@@ -164,7 +164,7 @@
 /*
  * the main entry
  */
-__initfunc(void tc_init(void))
+void __init tc_init(void)
 {
 	int tc_clock;
 	int i;
diff -urN linux/drivers/tc/zs.c linux-2.3.15-work/drivers/tc/zs.c
--- linux/drivers/tc/zs.c	Sat Jun 26 01:38:40 1999
+++ linux-2.3.15-work/drivers/tc/zs.c	Thu Aug 26 12:28:30 1999
@@ -1564,7 +1564,7 @@
 
 /* Finally, routines used to initialize the serial driver. */
 
-__initfunc(static void show_serial_version(void))
+static void __init show_serial_version(void)
 {
 	printk("DECstation Z8530 serial driver version 0.03\n");
 }
@@ -1572,7 +1572,7 @@
 /*  Initialize Z8530s zs_channels
  */
 
-__initfunc(static void probe_sccs(void))
+static void __init probe_sccs(void)
 {
 	struct dec_serial **pp;
 	int i, n, n_chips = 0, n_channels, chip, channel;
@@ -1654,7 +1654,7 @@
 }
 
 /* zs_init inits the driver */
-__initfunc(int zs_init(void))
+int __init zs_init(void)
 {
 	int channel, i;
 	unsigned long flags;
@@ -1886,7 +1886,7 @@
  *	- initialize the serial port
  *	Return non-zero if we didn't find a serial port.
  */
-__initfunc(static int serial_console_setup(struct console *co, char *options))
+static int __init serial_console_setup(struct console *co, char *options)
 {
 	struct dec_serial *info;
 	int	baud = 9600;
@@ -2022,7 +2022,7 @@
 /*
  *	Register console.
  */
-__initfunc (long zs_serial_console_init(long kmem_start, long kmem_end))
+long __init zs_serial_console_init(long kmem_start, long kmem_end)
 {
 	register_console(&sercons);
 	return kmem_start;
@@ -2087,7 +2087,7 @@
  * for /dev/ttyb which is determined in setup_arch() from the
  * boot command line flags.
  */
-__initfunc(void zs_kgdb_hook(int tty_num))
+void __init zs_kgdb_hook(int tty_num)
 {
 	/* Find out how many Z8530 SCCs we have */
 	if (zs_chain == 0)
diff -urN linux/drivers/usb/proc_usb.c linux-2.3.15-work/drivers/usb/proc_usb.c
--- linux/drivers/usb/proc_usb.c	Wed Aug 25 23:03:54 1999
+++ linux-2.3.15-work/drivers/usb/proc_usb.c	Thu Aug 26 12:27:01 1999
@@ -191,7 +191,7 @@
  *    which ones are active, if any)
  * 2. Add proc_usb_init() call from usb-core.c.
  * 3. proc_usb as a MODULE ?
- * 4. use __initfunc() ?
+ * 4. use __init ?
  * 5. add <halted> status to each endpoint line
  */
 
diff -urN linux/drivers/zorro/proc.c linux-2.3.15-work/drivers/zorro/proc.c
--- linux/drivers/zorro/proc.c	Sun Jun 27 18:10:41 1999
+++ linux-2.3.15-work/drivers/zorro/proc.c	Thu Aug 26 12:26:20 1999
@@ -143,7 +143,7 @@
 
 static struct proc_dir_entry *proc_bus_zorro_dir;
 
-__initfunc(static int zorro_proc_attach_device(u_int slot))
+static int __init zorro_proc_attach_device(u_int slot)
 {
 	struct proc_dir_entry *entry;
 	char name[4];
@@ -158,7 +158,7 @@
 	return 0;
 }
 
-__initfunc(void zorro_proc_init(void))
+void __init zorro_proc_init(void)
 {
 	u_int slot;
 
diff -urN linux/drivers/zorro/zorro.c linux-2.3.15-work/drivers/zorro/zorro.c
--- linux/drivers/zorro/zorro.c	Mon Oct  5 21:48:05 1998
+++ linux-2.3.15-work/drivers/zorro/zorro.c	Thu Aug 26 12:26:42 1999
@@ -153,7 +153,7 @@
 u32 zorro_unused_z2ram[4] = { 0, 0, 0, 0 };
 
 
-__initfunc(static void mark_region(u32 addr, u_int size, int flag))
+static void __init mark_region(u32 addr, u_int size, int flag)
 {
     u32 start, end;
 
@@ -183,7 +183,7 @@
      *  Initialization
      */
 
-__initfunc(void zorro_init(void))
+void __init zorro_init(void)
 {
     u_int i;
 
