At Wed, 16 Apr 2008 19:53:14 +0300, Risto Suominen wrote: > > From: Risto Suominen <Risto.Suominen@xxxxxxxxx> > > Allow to compile snd-powermac on older kernels. > > Signed-off-by: Risto Suominen <Risto.Suominen@xxxxxxxxx> OK, applied both patches to alsa-driver HG tree. Thanks! Takashi > --- > Kernel version < 2.6.16 > > --- ppc/pmac_old.c.orig 2008-02-05 11:23:23.000000000 +0200 > +++ ppc/pmac_old.c 2008-04-15 20:05:56.000000000 +0300 > @@ -997,12 +997,14 @@ static int __init snd_pmac_detect(struct > chip->can_byte_swap = 0; /* FIXME: check this */ > chip->control_mask = MASK_IEPC | 0x11;/* disable IEE */ > break; > +#ifdef SND_POWERMAC_SUPPORT_TOONIE > case 0x3a: > chip->num_freqs = ARRAY_SIZE(tumbler_freqs); > chip->model = PMAC_TOONIE; > chip->can_byte_swap = 0; /* FIXME: check this */ > chip->control_mask = MASK_IEPC | 0x11;/* disable IEE */ > break; > +#endif > } > } > prop = (unsigned int *)get_property(sound, "device-id", NULL); > @@ -1019,6 +1021,10 @@ static int __init snd_pmac_detect(struct > else { > struct pci_dev *pdev = NULL; > > +#ifndef for_each_pci_dev > +#define for_each_pci_dev(d) \ > + while ((d = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, d)) != NULL) > +#endif > for_each_pci_dev(pdev) { > struct device_node *np = pci_device_to_OF_node(pdev); > if (np && np == macio->of_node) { > --- alsa-kernel/ppc/pmac.h.orig 2008-02-05 11:23:24.000000000 +0200 > +++ alsa-kernel/ppc/pmac.h 2008-03-31 23:45:36.000000000 +0300 > @@ -207,4 +207,11 @@ > > int snd_pmac_add_automute(struct snd_pmac *chip); > > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 16) > +#define of_device_is_compatible(dev, s) device_is_compatible(dev, s) > +#define input_get_drvdata(dev) (dev->private) > +#define i2c_smbus_write_i2c_block_data(client, cmd, len, vals) \ > + i2c_smbus_write_block_data(client, cmd, len, vals) > +#endif > + > #endif /* __PMAC_H */ > --- acore/memory.c.orig 2008-02-05 11:23:23.000000000 +0200 > +++ acore/memory.c 2008-03-31 23:45:36.000000000 +0300 > @@ -21,6 +21,9 @@ > #ifndef __safe > #define __safe > #endif > +#ifndef __bitwise > +#define __bitwise > +#endif > #endif > > #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) > --- ppc/beep.patch.orig 2008-02-05 11:23:23.000000000 +0200 > +++ ppc/beep.patch 2008-03-31 23:45:37.000000000 +0300 > @@ -1,5 +1,5 @@ > ---- ../alsa-kernel/ppc/beep.c 2007-12-20 11:47:37.000000000 +0100 > -+++ beep.c 2007-12-20 12:23:31.000000000 +0100 > +--- ../alsa-kernel/ppc/beep.c 2008-02-05 11:23:24.000000000 +0200 > ++++ beep.c 2008-03-27 11:56:01.482564272 +0200 > @@ -1,3 +1,10 @@ > +#define __NO_VERSION__ > +#include "adriver.h" > @@ -39,7 +39,18 @@ > > beep->dev = input_dev; > beep->buf = dmabuf; > -@@ -263,7 +281,12 @@ > +@@ -256,14 +274,23 @@ > + > + chip->beep = beep; > + > ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 15) > + err = input_register_device(beep->dev); > + if (err) > + goto fail2; > ++#else > ++ input_register_device(beep->dev); > ++#endif > + > return 0; > > fail2: snd_ctl_remove(chip->card, beep_ctl); > @@ -53,14 +64,15 @@ > if (dmabuf) > dma_free_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4, > dmabuf, beep->addr); > -@@ -275,9 +298,15 @@ > +@@ -275,9 +302,16 @@ > { > if (chip->beep) { > input_unregister_device(chip->beep->dev); > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 15) > + kfree(chip->beep->dev); > -+#endif > ++#else > + input_free_device(chip->beep->dev); > ++#endif > dma_free_coherent(&chip->pdev->dev, BEEP_BUFLEN * 4, > chip->beep->buf, chip->beep->addr); > kfree(chip->beep); _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel