RFC: MPC5200 PSC AC97 driver

Peter Czanik pczanik at fang.fa.gau.hu
Sat Apr 19 01:43:58 EST 2008


Hello,

Juergen Beisert írta:
> Hi,
>
> if someone is interested: Here the full patch to get sound support for
> MPC5200b and a current 2.6.25 kernel.
>   
First of all, thanks for fixing the driver. I just tested it on the 
EFIKA, it (almost) works. In its current state loading the kernel module 
results in a segfault and oops. The fix is to add a missing line to the 
device-tree. The forth version of the EFIKA fix works fine (taken from 
http://www.powerdeveloper.org/platforms/efika/devicetree ):

efika:~ # cat /mnt/sound.forth
\ FORTH

s" /builtin/sound" find-device
        \ Audio is on PSC2, just for informational purposes
        1 encode-int s" cell-index" property
device-end
efika:~ #

But trying to fix it up from prom_init.c does not seem to work, the 
missing 'cell-index' property does not show up. Please let me know, how 
to add it properly. Here is what I tried:

factory:/usr/src/linux-2.6.25 # diff -u 
arch/powerpc/kernel/prom_init.c.orig arch/powerpc/kernel/prom_init.c
--- arch/powerpc/kernel/prom_init.c.orig        2008-04-18 
13:55:07.000000000 +0200
+++ arch/powerpc/kernel/prom_init.c     2008-04-18 16:26:51.000000000 +0200
@@ -2212,6 +2212,7 @@

 static void __init fixup_device_tree_efika(void)
 {
+       int sound_ci = 1;
        int sound_irq[3] = { 2, 2, 0 };
        int bcomm_irq[3*16] = { 3,0,0, 3,1,0, 3,2,0, 3,3,0,
                                3,4,0, 3,5,0, 3,6,0, 3,7,0,
@@ -2257,6 +2258,8 @@
                rv = prom_getprop(node, "interrupts", prop, sizeof(prop));
                if (rv == PROM_ERROR) {
                        prom_printf("Adding sound interrupts property\n");
+                        prom_setprop(node, "/builtin/sound", "cell-index",
+                                     &sound_ci, sizeof(int));
                        prom_setprop(node, "/builtin/sound", "interrupts",
                                     sound_irq, sizeof(sound_irq));
                }
factory:/usr/src/linux-2.6.25 #

Bye,
CzP



More information about the Linuxppc-dev mailing list