[alsa-devel] [PATCH] Turtle Beach Multisound Classic/Pinnacle driver (3rd rev)
tiwai at suse.de
Fri Jan 23 15:11:24 CET 2009
At Fri, 23 Jan 2009 15:08:50 +0100,
Krzysztof Helt wrote:
> On Fri, 23 Jan 2009 08:42:39 +0100
> Takashi Iwai <tiwai at suse.de> wrote:
> > At Thu, 22 Jan 2009 21:52:37 +0100,
> > Krzysztof Helt wrote:
> > > + .rate_min = 8000,
> > > + .rate_max = 48000,
> > > + .channels_min = 1,
> > > + .channels_max = 2,
> > > + .buffer_bytes_max = 0x3000,
> > > + .period_bytes_min = 0x40,
> > > + .period_bytes_max = 0x1800,
> > > + .periods_min = 2,
> > > + .periods_max = 3,
> > Wow, I didn't notice this restriction... Really up to 3 periods?
> I have to check but probably it is.
> > > --- linux-rc5/sound/isa/msnd/msnd.h 1970-01-01 01:00:00.000000000 +0100
> > > +++ linux-git/sound/isa/msnd/msnd.h 2009-01-22 21:17:09.125632934 +0100
> > ...
> > > +#ifdef SLOWIO
> > > +# undef outb
> > > +# undef inb
> > > +# define outb outb_p
> > > +# define inb inb_p
> > > +#endif
> > This is too hackish. If SLOWIO is only for alpha, and the driver is
> > configured to be X86-only, I'd suggest to get rid of this hack.
> I would leave it as it allows Alpha guys to fix it later (if ever).
Well, OK if you insist...
> > > --- linux-rc5/sound/isa/msnd/msnd_midi.c 1970-01-01 01:00:00.000000000 +0100
> > > +++ linux-git/sound/isa/msnd/msnd_midi.c 2009-01-22 18:35:00.942072608 +0100
> > > @@ -0,0 +1,179 @@
> > > +/*
> > > + * Copyright (c) by Jaroslav Kysela <perex at perex.cz>
> > > + * Routines for control of MPU-401 in UART mode
> > Better to put your name here and there, too...
> I can put my name along as the file is almost a strict copy
> of the mpu401 code.
If it's a stricy copy, you don't need to copy but use the standard
mpu401_uart as module. Is it feasible?
> It was put this way in the Kirsten's driver
> and I did only cut some code from there.
If any change was done by you, you can put your name there...
It gives also the code reader (without git) a bit clue, who to ask.
> > > +static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
> > > +static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
> > > +
> > > +module_param_array(index, int, NULL, S_IRUGO);
> > > +MODULE_PARM_DESC(index, "Index value for msnd_pinnacle soundcard.");
> > > +module_param_array(id, charp, NULL, S_IRUGO);
> > > +MODULE_PARM_DESC(id, "ID string for msnd_pinnacle soundcard.");
> > > +
> > > +static long io[SNDRV_CARDS] __devinitdata = SNDRV_DEFAULT_PORT;
> > > +static int irq[SNDRV_CARDS] __devinitdata = SNDRV_DEFAULT_IRQ;
> > > +static long mem[SNDRV_CARDS] __devinitdata = SNDRV_DEFAULT_PORT;
> > > +
> > > +static long cfg[SNDRV_CARDS] __devinitdata = SNDRV_DEFAULT_PORT;
> > The modules parameters aren't __devinitdata. Remove these
> > annotations.
> I haven't known that. Could you explain?
The module parameters are exposed to sysfs.
You can even change them on the fly if you set the permission.
More information about the Alsa-devel