2.3.3[4-8] bttv compile problem [patch]

From: Arnd Bergmann (arnd@itreff.de)
Date: Fri Jan 07 2000 - 17:15:51 EST


Hi!

I used to compile bttv support into the main kernel, not
as a module. Since 2.3.34, that does not work any more,
because of a small problem in tda8425.c, tda9855.c and
tea6300.c, where the function tda????_init is defined
twice.

The subtle fix to rename the functions lets me compile
a working driver without errors, but my card (miro pctv)
containes neither of the tda* devices anyway.

When I try to insert the module bttv.o while using the
statically linked driver, the original driver stops
working but does not cause an Oops or a crash or
something.

Arnd <><

--- tda8425.c.bak Fri Jan 7 21:54:38 2000
+++ tda8425.c Fri Jan 7 21:54:47 2000
@@ -104,7 +104,7 @@
        tda8425_write(client, TDA8425_TR, tda->treble>>12|0xF0);
 }

-static void tda8425_init(struct i2c_client *client)
+static void _tda8425_init(struct i2c_client *client)
 {
        struct tda8425 *tda = client->data;

@@ -152,7 +152,7 @@
        if (!tda)
                return -ENOMEM;
        memset(tda,0,sizeof *tda);
- tda8425_init(client);
+ _tda8425_init(client);
        MOD_INC_USE_COUNT;
        strcpy(client->name,"TDA8425");
        printk(KERN_INFO "tda8425: init\n");
@@ -173,7 +173,7 @@
 {
        struct tda8425 *tda = client->data;

- tda8425_init(client);
+ _tda8425_init(client);
        i2c_detach_client(client);

        kfree(tda);
--- tda9855.c.bak Fri Jan 7 21:55:03 2000
+++ tda9855.c Fri Jan 7 21:55:37 2000
@@ -194,7 +194,7 @@
        return 0;
 }

-static void tda9855_init(struct i2c_client *client)
+static void _tda9855_init(struct i2c_client *client)
 {
        struct tda9855 *t = client->data;

@@ -235,7 +235,7 @@
        if (!t)
                return -ENOMEM;
        memset(t,0,sizeof *t);
- tda9855_init(client);
+ _tda9855_init(client);
        MOD_INC_USE_COUNT;
        strcpy(client->name,"TDA9855");
        printk(KERN_INFO "tda9855: init\n");
@@ -255,7 +255,7 @@
 {
        struct tda9855 *t = client->data;

- tda9855_init(client);
+ _tda9855_init(client);
        i2c_detach_client(client);

        kfree(t);
--- tea6300.c.bak Fri Jan 7 21:55:11 2000
+++ tea6300.c Fri Jan 7 21:56:10 2000
@@ -111,7 +111,7 @@
        tea6300_write(client, TEA6300_TR, tea->treble>>12);
 }

-static void tea6300_init(struct i2c_client *client)
+static void _tea6300_init(struct i2c_client *client)
 {
        struct tea6300 *tea = client->data;

@@ -173,7 +173,7 @@
        if (!tea)
                return -ENOMEM;
        memset(tea,0,sizeof *tea);
- tea6300_init(client);
+ _tea6300_init(client);

        MOD_INC_USE_COUNT;
        strcpy(client->name,"TEA6300T");
@@ -194,7 +194,7 @@
 {
        struct tea6300 *tea = client->data;

- tea6300_init(client);
+ _tea6300_init(client);
        i2c_detach_client(client);

        kfree(tea);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jan 15 2000 - 21:00:11 EST