At Fri, 23 Jan 2009 15:08:50 +0100, Krzysztof Helt wrote:
On Fri, 23 Jan 2009 08:42:39 +0100 Takashi Iwai tiwai@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@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.
Takashi