Re: [PATCH] raid6: altivec support
From: Olaf Hering <hidden>
Date: 2005-01-09 15:13:57
Also in:
lkml
On Sat, Jan 08, Linux Kernel Mailing List wrote:
ChangeSet 1.2347, 2005/01/08 14:02:27-08:00, hpa@zytor.com [PATCH] raid6: altivec support This patch adds Altivec support for RAID-6, if appropriately configured on the ppc or ppc64 architectures. Note that it changes the compile flags for ppc64 in order to handle -maltivec correctly; this change was vetted on the ppc64 mailing list and OK'd by paulus.
This fails to compile on ppc, enable_kernel_altivec() is an exported but undeclared function. cpu_features is also missing. drivers/md/raid6altivec1.c: In function `raid6_altivec1_gen_syndrome': drivers/md/raid6altivec1.c:99: warning: implicit declaration of function `enable_kernel_altivec' drivers/md/raid6altivec1.c: In function `raid6_have_altivec': drivers/md/raid6altivec1.c:111: error: request for member `cpu_features' in something not a structure or union drivers/md/raid6altivec2.c: In function `raid6_altivec2_gen_syndrome': drivers/md/raid6altivec2.c:110: warning: implicit declaration of function `enable_kernel_altivec' There are a few more exported symbols without declaration: __ashldi3 __ashrdi3 __lshrdi3 enable_kernel_spe fec_register_ph fec_unregister_ph idma_pci9_read idma_pci9_read_le local_irq_disable_end local_irq_enable_end local_irq_restore_end local_save_flags_ptr_end ocp_bus_type ppc4xx_set_dma_addr I'm not sure if the EXPORT_SYMBOL should be dropped for them, they have no users in the current kernel.
--- ../linux-2.6.10-bk12/include/asm-ppc/system.h 2004-12-24 22:34:32.000000000 +0100
+++ ./include/asm-ppc/system.h 2005-01-09 15:53:32.338569809 +0100@@ -76,6 +76,7 @@ extern void giveup_fpu(struct task_struc extern void enable_kernel_fp(void); extern void giveup_altivec(struct task_struct *); extern void load_up_altivec(struct task_struct *); +extern void enable_kernel_altivec(void); extern void giveup_spe(struct task_struct *); extern void load_up_spe(struct task_struct *); extern int fix_alignment(struct pt_regs *);