lkml.org 
[lkml]   [1999]   [May]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
SubjectMuted MSP3400 - Bugfix
Patch for infinitely muted TV-cards
-------------------------------------

Problem:
The sound of my video board was muted and there was no possibility to
unmute it, so I began to hack...
TV-Board: Terratec TV+
Soundboard: Miro PCM10 (MAD16, for the case this is of any interest)
Graph.b.: Matrox Millenium G200 (PCI code 0x0521, sits on AGP)
no Frame Buffer device activated in kernel
XFree: 3.3.3.1
Kernel: 2.2.5 and 2.2.8
Compiler: egcs-2.91.66

Solvage:
Seems that this patch works around a gcc vs. egcs problem...
I simply removed the &'s at below "static struct file_operations ...",
I don't know why both compilers accepted them (shouldn't give back any
useful information) and why they didn't warn about incompatible
pointers, even more: why gcc gave the correct pointers...
My problem: func() is a call, func is the pointer, but &func a pointer
on a inlined pointer ... still there are wonders and mysts...
BTW: my congratulations to the author of the VFS, it kept stable even
with these nifty pointers...

Patches:
msp3400.patch.kern228
a patch againts drivers/char/msp3400.c in the 2.2.8 kernel
msp3400.patch.064
against driver/msp3400.c in the external bttv 0.6.4 release

Warning:
This was the first time I ever hacked into the kernel, although the
Linux kernel is the most readable code I ever read (and modified) I
recommend that one of the "gurus" validates my patches.

happy hacking,
Konrad--- msp3400.c.old Sat May 15 13:08:06 1999
+++ msp3400.c Sat May 15 13:08:08 1999
@@ -993,16 +993,16 @@
}

static /*const*/ struct file_operations msp3400c_mixer_fops = {
- &msp3400c_mixer_llseek,
+ msp3400c_mixer_llseek,
NULL, /* read */
NULL, /* write */
NULL, /* readdir */
NULL, /* poll */
- &msp3400c_mixer_ioctl,
+ msp3400c_mixer_ioctl,
NULL, /* mmap */
- &msp3400c_mixer_open,
+ msp3400c_mixer_open,
NULL,
- &msp3400c_mixer_release,
+ msp3400c_mixer_release,
NULL, /* fsync */
NULL, /* fasync */
NULL, /* check_media_change */--- msp3400.c.old Sat May 15 13:11:21 1999
+++ msp3400.c Sat May 15 13:11:47 1999
@@ -1172,16 +1172,16 @@
}

static /*const*/ struct file_operations msp3400c_mixer_fops = {
- &msp3400c_mixer_llseek,
+ msp3400c_mixer_llseek,
NULL, /* read */
NULL, /* write */
NULL, /* readdir */
NULL, /* poll */
- &msp3400c_mixer_ioctl,
+ msp3400c_mixer_ioctl,
NULL, /* mmap */
- &msp3400c_mixer_open,
+ msp3400c_mixer_open,
NULL,
- &msp3400c_mixer_release,
+ msp3400c_mixer_release,
NULL, /* fsync */
NULL, /* fasync */
NULL, /* check_media_change */
\
 
 \ /
  Last update: 2005-03-22 13:51    [W:0.058 / U:0.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site