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