[parisc-linux-cvs] linux deller

Helge Deller deller@gmx.de
Sun, 19 Aug 2001 17:53:58 +0200


On Sunday 19 August 2001 17:21, Helge Deller wrote:
> CVSROOT:	/home/cvs/parisc
> Module name:	linux
> Changes by:	deller	01/08/19 09:21:12
>
> Modified files:
> 	.              : Makefile
> 	drivers/sound  : harmony.c
>
> Log message:
> - EXTRAVERSION -pa3
> - harmony.c: support all kinds of 712/715 machines again
> - harmony.c: add kind of dummy SNDCTL_DSP_SETFRAGMENT ioctl
> - harmony.c: added AFMT_S16_LE, AFMT_S16_BE and AFMT_U16_LE as
> available formats

Index: Makefile
===================================================================
RCS file: /home/cvs/parisc/linux/Makefile,v
retrieving revision 1.114
diff -u -r1.114 Makefile
--- Makefile	2001/08/17 20:08:53	1.114
+++ Makefile	2001/08/19 15:17:33
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 9
-EXTRAVERSION = -pa2
+EXTRAVERSION = -pa3
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
Index: drivers/sound/harmony.c
===================================================================
RCS file: /home/cvs/parisc/linux/drivers/sound/harmony.c,v
retrieving revision 1.12
diff -u -r1.12 harmony.c
--- harmony.c	2001/08/14 16:54:58	1.12
+++ harmony.c	2001/08/19 15:17:33
@@ -702,6 +702,9 @@
 			switch (ival) {
 				case AFMT_MU_LAW:	new_format = HARMONY_DF_8BIT_ULAW; break;
 				case AFMT_A_LAW:	new_format = HARMONY_DF_8BIT_ALAW; break;
+				case AFMT_S16_LE:	/* fall through */
+				case AFMT_S16_BE:	/* fall through, not sure. */
+				case AFMT_U16_LE:	/* fall through */
 				case AFMT_U16_BE:	new_format = HARMONY_DF_16BIT_LINEAR; break; 
 				default: {
 					DPRINTK("%s: Invalid sound format %d\n",
@@ -720,6 +723,13 @@
 		}
 		return put_user(ival, (int *) arg);
 
+	case SNDCTL_DSP_SETFRAGMENT:	/* _SIOWR('P',10, int) */
+		if (get_user(ival, (int *)arg))
+			return -EFAULT;
+		if ((ival & 0xffff)*((ival>>16)&0xffff) > (MAX_BUFS*HARMONY_BUF_SIZE))
+			return -EINVAL;
+		return 0;
+
 	default:
 		return -EINVAL;
 	}
@@ -1209,7 +1219,7 @@
 
 
 static struct parisc_device_id harmony_tbl[] = {
-	{ HPHW_FIO, HVERSION_REV_ANY_ID, 0x01B, 0x0007B },
+	{ HPHW_FIO, HVERSION_REV_ANY_ID, HVERSION_ANY_ID, 0x0007B },
 	{ 0, }
 };