> > This is wrong -- read_lock must be a private variable for that driver (it
> > used to be a macro, but is now an inline function to help catch certain
> > bugs in code using spinlocks). Could you rename it to something else (say
> > pc110_lock) everywhere within that driver?
>
> I've fixed it properly and sent Linus a patch.
This is the patch to get 2.3.30pre5 compiling. This one is fixed too, but
e.g. sonicvibes.c fix looks wrong to me. I can't test the driver myself, but
it at least does compile... N.B. All drivers are built as modules (except
those which are not modularized), maximal configuration (all the things
which do make sense and possibly could be used by distribution consumers are
in), initial initrd is ON (with
http://www.ocston.org/~tigran/patches/other/bde-ramdisk-2.3.29-p1.patch),
modified devfs patch (received yesterday from Richard) applied. Kernel built
with gcc-2.95.2. hp100.c thing is questionable, but 2.95.2 refuses to build
it as is.
=== Cut ===
diff -urN linux-2.3.30pre5.orig/drivers/block/ide-features.c linux-2.3.30pre5/drivers/block/ide-features.c
--- linux-2.3.30pre5.orig/drivers/block/ide-features.c Fri Dec 3 13:03:07 1999
+++ linux-2.3.30pre5/drivers/block/ide-features.c Fri Dec 3 13:06:20 1999
@@ -13,6 +13,7 @@
* Gadi Oxman <gadio@netvision.net.il>
*/
+#define __NO_VERSION__
#include <linux/module.h>
#include <linux/types.h>
#include <linux/string.h>
diff -urN linux-2.3.30pre5.orig/drivers/char/pc110pad.c linux-2.3.30pre5/drivers/char/pc110pad.c
--- linux-2.3.30pre5.orig/drivers/char/pc110pad.c Mon Oct 11 20:10:19 1999
+++ linux-2.3.30pre5/drivers/char/pc110pad.c Fri Dec 3 13:08:32 1999
@@ -53,7 +53,7 @@
static wait_queue_head_t queue;
static struct fasync_struct *asyncptr;
static int active=0; /* number of concurrent open()s */
-static struct semaphore read_lock;
+static struct semaphore pc110pad_read_lock;
/*
* Utility to reset a timer to go off some time in the future.
@@ -561,7 +561,7 @@
{
int r;
- down(&read_lock);
+ down(&pc110pad_read_lock);
for(r=0; r<count; r++)
{
if(!read_byte_count)
@@ -573,7 +573,7 @@
}
read_byte_count = (read_byte_count+1)%3;
}
- up(&read_lock);
+ up(&pc110pad_read_lock);
return r;
}
@@ -691,7 +691,7 @@
int init_module(void)
{
- init_MUTEX(&read_lock);
+ init_MUTEX(&pc110pad_read_lock);
return pc110pad_init();
}
diff -urN linux-2.3.30pre5.orig/drivers/net/hp100.c linux-2.3.30pre5/drivers/net/hp100.c
--- linux-2.3.30pre5.orig/drivers/net/hp100.c Fri Dec 3 12:52:16 1999
+++ linux-2.3.30pre5/drivers/net/hp100.c Fri Dec 3 13:46:31 1999
@@ -1677,7 +1677,8 @@
{
int thistime = jiffies;
static int delaytime = 10*HZ;
- static int lasttime = thistime - delaytime;
+ static int lasttime;
+ lasttime = thistime - delaytime;
// We don't worry about rollover
if(thistime >= (lasttime + delaytime)) {
printk( "hp100: %s: no connection found - check wire\n", dev->name );
diff -urN linux-2.3.30pre5.orig/drivers/scsi/aic7xxx.c linux-2.3.30pre5/drivers/scsi/aic7xxx.c
--- linux-2.3.30pre5.orig/drivers/scsi/aic7xxx.c Fri Dec 3 12:52:16 1999
+++ linux-2.3.30pre5/drivers/scsi/aic7xxx.c Fri Dec 3 14:01:00 1999
@@ -9083,7 +9083,7 @@
* aic7xxx_setup
*/
if(aic7xxx)
- aic7xxx_setup(aic7xxx, NULL);
+ aic7xxx_setup(aic7xxx);
if(dummy_buffer[0] != 'P')
printk(KERN_WARNING "aic7xxx: Please read the file /usr/src/linux/drivers"
"/scsi/README.aic7xxx\n"
diff -urN linux-2.3.30pre5.orig/drivers/sound/sonicvibes.c linux-2.3.30pre5/drivers/sound/sonicvibes.c
--- linux-2.3.30pre5.orig/drivers/sound/sonicvibes.c Fri Dec 3 12:52:16 1999
+++ linux-2.3.30pre5/drivers/sound/sonicvibes.c Fri Dec 3 13:54:13 1999
@@ -2458,7 +2458,7 @@
memcpy(ddmaname, sv_ddma_name, ddmanamelen);
pcidev->resource[RESOURCE_DDMA].name = ddmaname;
if (allocate_resource(&ioport_resource, pcidev->resource+RESOURCE_DDMA,
- 2*SV_EXTENT_DMA, 0x1000, 0x10000-2*SV_EXTENT_DMA, 1024, pcidev)) {
+ 2*SV_EXTENT_DMA, 0x1000, 0x10000-2*SV_EXTENT_DMA, 1024, pcidev, NULL)) {
pcidev->resource[RESOURCE_DDMA].name = NULL;
kfree(ddmaname);
printk(KERN_ERR "sv: cannot allocate DDMA controller io ports\n");
=== Cut ===
===========================================================================
Sergey Kubushin aka the Tamer < > The impossible we do immediately.
e-mail: ksi@ksi-linux.com SK320-RIPE < > Miracles require 24-hour notice.
===========================================================================
-
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/