[alsa-devel] [PATCH 2/2] sis7019: add support for pre-2.6 kernels

Dave Dillow dave at thedillows.org
Mon Dec 10 15:24:43 CET 2007


On Mon, 2007-12-10 at 08:53 +0100, Clemens Ladisch wrote:
> Dave Dillow wrote:
> > The sis7019 driver uses __ffs(), which is available in 2.6 kernels, but
> > not in most earlier ones. This patches the driver to use a local version
> > assembly version, as the hardware is SiS 55x only (i486/Pentium-ish).
> > 
> > ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
> > ++static inline unsigned long sis_ffs(unsigned long word)
> > ++{
> > ++	__asm__("bsfl %1,%0"
> > ++		:"=r" (word)
> > ++		:"rm" (word));
> > ++	return word;
> > ++}
> > ++#endif
> 
> This should go into alsa-driver/include/adriver.h.

I'm not sure -- there's no other inline assembly there, and if I provide
an x86 _ffs() fallback, then it'll break on other architectures...

I suppose I could put a generic implementation there, but I'd rather
take advantage of the hardware I'm on -- which will always be x86 for
this driver.

Dave


More information about the Alsa-devel mailing list