At Sat, 17 Jun 2006 23:14:51 +0400, Sergey Vlasov wrote: > > On Thu, May 18, 2006 at 05:43:45PM +0200, Takashi Iwai wrote: > > At Thu, 18 May 2006 11:29:14 -0400, > > Lee Revell wrote: > > > > > > Someone pointed out on IRC that this driver has bitrotted and doesn't > > > compile with recent kernels. > > > > > > alsa/alsa-driver-1.0.11/isa/msnd/msnd_pinnacle.c:117: error: expected ) > > > before string constant > > > > > > I think it's due to use of MODULE_PARM which seems to have been removed? > > > > Already fixed on HG repo. > > With this fix the driver seems to compile, but won't load because of > undefined symbols - trying to compile it for 2.6.17-rc6-git7 gives > these warnings: > > CC [M] .../isa/msnd/msnd.o > .../isa/msnd/msnd.c: In function `snd_msnd_init_queue': > .../isa/msnd/msnd.c:134: warning: implicit declaration of function `isa_writew' (snip) > Apparently the isa_* functions were removed from kernel: > > http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=57f3ebccaa560d1eeb40b5c719773bed5cb0df46 Try the patch below. > > > I also notice that this driver is not in the kernel. Could it be added? > > > It would allow the OSS driver to be deprecated. > > > > No, the driver code is too ugly to include to kernel tree. > > Does someone really maintain this driver? Not really. Let me know if someone can test this driver. Takashi diff -r 173a7e861761 isa/msnd/msnd.h --- a/isa/msnd/msnd.h Fri Jun 09 15:27:09 2006 +0200 +++ b/isa/msnd/msnd.h Mon Jun 19 15:42:13 2006 +0200 @@ -280,4 +280,81 @@ int snd_msndmidi_new(struct snd_card *ca int snd_msndmidi_new(struct snd_card *card, int device, multisound_dev_t *dev); void snd_msndmidi_input_read( void * mpu); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 17) +static inline u8 +isa_readb(unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 1); + u8 ret = readb(addr); + iounmap(addr); + return ret; +} + +static inline u16 +isa_readw(unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + u16 ret = readw(addr); + iounmap(addr); + return ret; +} + +static inline u32 +isa_readl(unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 4); + u32 ret = readl(addr); + iounmap(addr); + return ret; +} + +static inline void +isa_writeb(u8 b, unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + writeb(b, addr); + iounmap(addr); +} + +static inline void +isa_writew(u16 w, unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 2); + writew(w, addr); + iounmap(addr); +} + +static inline void +isa_writel(u32 l, unsigned long offset) +{ + void __iomem *addr = ioremap(offset, 4); + writel(l, addr); + iounmap(addr); +} + +static inline void +isa_memset_io(unsigned long offset, u8 val, long n) +{ + void __iomem *addr = ioremap(offset, n); + memset_io(addr, val, n); + iounmap(addr); +} + +static inline void +isa_memcpy_fromio(void *dest, unsigned long offset, long n) +{ + void __iomem *addr = ioremap(offset, n); + memcpy_fromio(dest, addr, n); + iounmap(addr); +} + +static inline void +isa_memcpy_toio(unsigned long offset, const void *src, long n) +{ + void __iomem *addr = ioremap(offset, n); + memcpy_toio(addr, src, n); + iounmap(addr); +} +#endif + #endif /* __MSND_H */ _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-devel