All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: separation of sysctl and tcp-window-tracking patch?
From: Brian J. Murrell @ 2002-12-12 14:14 UTC (permalink / raw)
  To: netfilter-devel

[-- Attachment #1: Type: text/plain, Size: 2332 bytes --]

On Thu, 2002-12-12 at 04:02, Jozsef Kadlecsik wrote: 
> On Thu, 12 Dec 2002, James Ralston wrote:
> 
> > (My specific need is related to DNS service: namely, in many cases, 30
> > seconds to establish a UDP session simply isn't enough time to permit
> > a reply to an outstanding DNS query.  I want to be able to up that
> > timeout to something closer to 60 or 120 seconds.)

I had this problem with the Amanda protocol, but it was with the UDP
streaming timeout.  It was not long enough to allow an Amanda client to
go do it's work and still respond to the server when it was done.

Fortunately (for this situation), the Amanda protocol requires a helper,
so I just upped the timeout on the connection in the helper.  But this
led me to think about UDP timeouts in general.

You might want to refer to this message:

http://lists.netfilter.org/pipermail/netfilter-devel/2002-September/009259.html

> Please note, that the timeout settings via /proc introduced in the
> tcp-window-tracking patch are global. You cannot raise the UDP timeout
> values just for DNS.

Indeed.  I had thought about this when I was doing my Amanda
modification for the UDP streaming timeout on it's connection.  For UDP
timeouts in general I had originally thought of doing this with
load-time module parameters.  Something along the lines of:

# insmod ip_conntrack.o udp_timeouts="53=60,123=10"

which would be added to a table already defined in
ip_conntrack_proto_udp.c with a set of common defaults.

This could be done via proc too however.  Maybe something like:

# cat /proc/sys/net/ipv4/netfilter/udp_timeout
default=30
53=60
123=10

to see the current timeout table and

# echo "default=45,520=30" > /proc/sys/net/ipv4/netfilter/udp_timeout

to set/modify entries in the table.

Of course we have two udp timeouts to deal with, initial UDP connection
setup timeout and the UDP streaming timeout.  Perhaps two different
/proc nodes.

> Also, we have to handle the backward compatibility issue of
> /proc/sys/net/ipv4/ip_conntrack_max, if the introduction of
> /proc/sys/net/ipv4/netfilter/ is accepted.

Right.  But let's not let this be a lone issue holding-up on moving
forward with general netfilter tunables via proc.

b.



-- 

Brian J. Murrell <netfilter@interlinx.bc.ca>

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply

* Re: [PATCH 2.5] SGI O2 framebuffer driver
From: Ralf Baechle @ 2002-12-12 14:07 UTC (permalink / raw)
  To: Dominic Sweetman; +Cc: Alan Cox, Vivien Chappelier, linux-mips, Ilya Volynets
In-Reply-To: <15864.34458.46732.218720@arsenal.algor.co.uk>

On Thu, Dec 12, 2002 at 12:52:42PM +0000, Dominic Sweetman wrote:

> > Flushes are very expensive operations, on the order of 16 cycles per
> > cacheline plus memory delay.
> 
> Hmm.  Not on most MIPS CPUs; the internal cost of running the
> writeback cache-op instructions is typically around 3 clocks per
> cache-line.  But this is misleading anyway... too CPU-centric.

Most MIPS manuals unfortunately do not document the execution time of
cache instructions at all.  This thread is specific to the SGI IP32 aka
O2 which comes with three processor options, the r5000, the R10000 and
the R12000; the R5000's timing should not be too far off from the R4600.

So you got me to dig out my super dusty R4600/R4700 manual ...  Hit_-
Writeback_D costs 7 cycles for a miss, 12 for a hit if the line is clean
and 14 if the line is dirty.  Add another 3 cycles if the store or response
buffers are busy, add even more if the writeback buffer was filled up.

> The associated memory operations are the slowest thing about cacheops,
> always.  Memory accesses (120ns is good) are much, much slower than an
> instruction time on a modern CPU (1-5ns).
> 
> So for your framebuffer, it's the write which does for you.  If you
> use uncached mode and write 32-bit words that's 120ns/word.  You can
> get a cacheline-sized burst of 8 words in and out in roughly the same
> amount of time.

Forgot the numbers but SGI's IP32 memory subsystem is rather fast even
though it's fairly old.

  Ralf

^ permalink raw reply

* [patch] kmalloc_percpu -- stripped down version
From: Ravikiran G Thirumalai @ 2002-12-12 14:19 UTC (permalink / raw)
  To: Andrew Morton; +Cc: dipankar, linux-kernel, Rusty Russell

Hi Andrew,
Here's a simpler kmalloc_percpu imlementation (minus the interlaced
allocator).  Hope this is acceptable....

Thanks,
Kiran

D: Name: kmalloc_percpu-2.5.51-1.patch
D: Author: Dipankar Sarma & Ravikiran Thirumalai
D: Description:  Dynamic per-cpu kernel memory allocator 

 include/linux/percpu.h |   61 +++++++++++++++++++++++++++++++++++++++++
 kernel/ksyms.c         |    4 ++
 mm/slab.c              |   72 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 137 insertions(+)


diff -X dontdiff -ruN linux-2.5.51/include/linux/percpu.h kmalloc_percpu-2.5.51/include/linux/percpu.h
--- linux-2.5.51/include/linux/percpu.h	Tue Dec 10 08:16:21 2002
+++ kmalloc_percpu-2.5.51/include/linux/percpu.h	Thu Dec 12 16:18:55 2002
@@ -1,10 +1,71 @@
 #ifndef __LINUX_PERCPU_H
 #define __LINUX_PERCPU_H
 #include <linux/spinlock.h> /* For preempt_disable() */
+#include <linux/slab.h> /* For kmalloc_percpu() */
 #include <asm/percpu.h>
 
 /* Must be an lvalue. */
 #define get_cpu_var(var) (*({ preempt_disable(); &__get_cpu_var(var); }))
 #define put_cpu_var(var) preempt_enable()
 
+#ifdef CONFIG_SMP
+
+struct percpu_data {
+	void *ptrs[NR_CPUS];
+	void *blkp;
+};
+
+/* 
+ * Use this to get to a cpu's version of the per-cpu object allocated using
+ * kmalloc_percpu.  If you want to get "this cpu's version", maybe you want
+ * to use get_cpu_ptr... 
+ */ 
+#define per_cpu_ptr(ptr, cpu)                   \
+({                                              \
+        struct percpu_data *__p = (struct percpu_data *)~(unsigned long)(ptr); \
+        (__typeof__(ptr))__p->ptrs[(cpu)];	\
+})
+
+extern void *kmalloc_percpu(size_t size, int flags);
+extern void kfree_percpu(const void *);
+extern void kmalloc_percpu_init(void);
+
+#else /* CONFIG_SMP */
+
+#define per_cpu_ptr(ptr, cpu) (ptr)
+
+static inline void *kmalloc_percpu(size_t size, int flags)
+{
+	return(kmalloc(size, flags));
+}
+static inline void kfree_percpu(const void *ptr)
+{	
+	kfree(ptr);
+}
+static inline void kmalloc_percpu_init(void) { }
+
+#endif /* CONFIG_SMP */
+
+/* 
+ * Use these with kmalloc_percpu. If
+ * 1. You want to operate on memory allocated by kmalloc_percpu (dereference
+ *    and read/modify/write)  AND 
+ * 2. You want "this cpu's version" of the object AND 
+ * 3. You want to do this safely since:
+ *    a. On multiprocessors, you don't want to switch between cpus after 
+ *    you've read the current processor id due to preemption -- this would 
+ *    take away the implicit  advantage to not have any kind of traditional 
+ *    serialization for per-cpu data
+ *    b. On uniprocessors, you don't want another kernel thread messing
+ *    up with the same per-cpu data due to preemption
+ *    
+ * So, Use get_cpu_ptr to disable preemption and get pointer to the 
+ * local cpu version of the per-cpu object. Use put_cpu_ptr to enable
+ * preemption.  Operations on per-cpu data between get_ and put_ is
+ * then considered to be safe. And ofcourse, "Thou shalt not sleep between 
+ * get_cpu_ptr and put_cpu_ptr"
+ */
+#define get_cpu_ptr(ptr) per_cpu_ptr(ptr, get_cpu())
+#define put_cpu_ptr(ptr) put_cpu()
+
 #endif /* __LINUX_PERCPU_H */
diff -X dontdiff -ruN linux-2.5.51/kernel/ksyms.c kmalloc_percpu-2.5.51/kernel/ksyms.c
--- linux-2.5.51/kernel/ksyms.c	Tue Dec 10 08:15:41 2002
+++ kmalloc_percpu-2.5.51/kernel/ksyms.c	Tue Dec 10 19:52:59 2002
@@ -98,6 +98,10 @@
 EXPORT_SYMBOL(remove_shrinker);
 EXPORT_SYMBOL(kmalloc);
 EXPORT_SYMBOL(kfree);
+#ifdef CONFIG_SMP
+EXPORT_SYMBOL(kmalloc_percpu);
+EXPORT_SYMBOL(kfree_percpu);
+#endif
 EXPORT_SYMBOL(vfree);
 EXPORT_SYMBOL(__vmalloc);
 EXPORT_SYMBOL(vmalloc);
diff -X dontdiff -ruN linux-2.5.51/mm/slab.c kmalloc_percpu-2.5.51/mm/slab.c
--- linux-2.5.51/mm/slab.c	Tue Dec 10 08:16:15 2002
+++ kmalloc_percpu-2.5.51/mm/slab.c	Wed Dec 11 17:16:23 2002
@@ -1826,6 +1826,56 @@
 	return NULL;
 }
 
+#ifdef CONFIG_SMP
+/**
+ * kmalloc_percpu - allocate one copy of the object for every present
+ * cpu in the system.
+ * Objects should be dereferenced using per_cpu_ptr/get_cpu_ptr
+ * macros only.
+ *
+ * @size: how many bytes of memory are required.
+ * @flags: the type of memory to allocate.
+ * The @flags argument may be one of:
+ *
+ * %GFP_USER - Allocate memory on behalf of user.  May sleep.
+ *
+ * %GFP_KERNEL - Allocate normal kernel ram.  May sleep.
+ *
+ * %GFP_ATOMIC - Allocation will not sleep.  Use inside interrupt handlers.
+ */
+void *
+kmalloc_percpu(size_t size, int flags)
+{
+	int i;
+	struct percpu_data *pdata = kmalloc(sizeof (*pdata), flags);
+
+	if (!pdata)
+		goto out_done;
+
+	for (i = 0; i < NR_CPUS; i++) {
+		if (!cpu_possible(i))
+			continue;
+		pdata->ptrs[i] = kmalloc(size, flags);
+		if (!pdata->ptrs[i])
+			goto unwind_oom;
+	}
+
+	/* Catch derefs w/o wrappers */
+	return (void *) (~(unsigned long) pdata);
+
+unwind_oom:
+	while (--i >= 0) {
+		if (!cpu_possible(i))
+			continue;
+		kfree(pdata->ptrs[i]);
+	}
+out:
+	kfree(pdata);
+out_done:
+	return NULL;
+}
+#endif
+
 /**
  * kmem_cache_free - Deallocate an object
  * @cachep: The cache the allocation was from.
@@ -1864,6 +1914,28 @@
 	local_irq_restore(flags);
 }
 
+#ifdef CONFIG_SMP
+/**
+ * kfree_percpu - free previously allocated percpu memory
+ * @objp: pointer returned by kmalloc_percpu.
+ *
+ * Don't free memory not originally allocated by kmalloc_percpu()
+ * The complemented objp is to check for that.
+ */
+void
+kfree_percpu(const void *objp)
+{
+	int i;
+	struct percpu_data *p = (struct percpu_data *) (~(unsigned long) objp);
+
+	for (i = 0; i < NR_CPUS; i++) {
+		if (!cpu_possible(i))
+			continue;
+		kfree(p->ptrs[i]);
+	}
+}
+#endif
+
 unsigned int kmem_cache_size(kmem_cache_t *cachep)
 {
 #if DEBUG

^ permalink raw reply

* Re: Cache routine patch
From: Ralf Baechle @ 2002-12-12 14:13 UTC (permalink / raw)
  To: Jun Sun; +Cc: Carsten Langgaard, linux-mips
In-Reply-To: <20021211090635.C6755@mvista.com>

On Wed, Dec 11, 2002 at 09:06:35AM -0800, Jun Sun wrote:

> Part of you patches fixes an off-by-one problem in flushing
> cache for a range of addresses.  I have a different version
> for that part which is a little more visually pleasing.
> 
> See attachment.

In case you were wondering why the whole loop construction is looking so
odd, take a look at the compiler output.  The loop construction I've
choosen is the only one that's producing bearable code.  Sad to see that
gcc is producing crap code from such a trivial loop ...

   Ralf

^ permalink raw reply

* RE: Filter by IP address problems
From: Damon Brinkley @ 2002-12-12 14:13 UTC (permalink / raw)
  To: stewart.thompson; +Cc: netfilter
In-Reply-To: <FLEKIPPLAEDMJMOOBBDPAEHJDLAA.stewart.thompson@shaw.ca>

Thanks Stu but I'm still doing something wrong.

Here's the rules I have now.

###############################

echo 0 > /proc/sys/net/ipv4/ip_forward

/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp

/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -X
/sbin/iptables -t nat -X

/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP

# INPUT CHAIN
# NONUSERS = 172.17.0.0/20
/sbin/iptables -A INPUT -s $NONUSERS -j ACCEPT

# FORWARD CHAIN
/sbin/iptables -A FORWARD -s $NONUSERS -j ACCEPT

# POSTROUTING
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward

######################################

This should give my laptop, IP 172.17.0.244, complete access but I get
Request timed out when pinging www.yahoo.com

Here's what I get when running iptables -nL

Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  172.17.0.0/20        0.0.0.0/0          

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  172.17.0.0/20        0.0.0.0/0          

Chain OUTPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          

Has there been a book written on iptables yet?  

Thanks for your help.

Damon

On Wed, 2002-12-11 at 18:26, Stewart Thompson wrote:
> Hi Damon:
> 
> 	Iptables is different than Ipchains. The forwarded
> Packets do not go through the Input or Output chains. If
> you want to deny certain packets from being forwarded,
> you have to put your deny rule in the forward chains.
> Have a look at the documentation at www.netfilter.org.
> They show a diagram there of the packet traversal.
> Hope that helps.
> 
> Stu.......
> 
> 
> -----Original Message-----
> From: netfilter-admin@lists.netfilter.org
> [mailto:netfilter-admin@lists.netfilter.org]On Behalf Of Damon Brinkley
> Sent: December 11, 2002 1:41 PM
> To: netfilter@lists.netfilter.org
> Subject: Filter by IP address problems
> 
> Hey everyone!  I'm getting extremely frustrated at iptables right now
> because it doesn't seem to follow the rules as ipchains did.  Basically
> I'm just trying to replace my ipchains server with a new computer that
> uses 2.4 and iptables.  This is a NAT/gateway machine and we filter our
> users by IP addresses.  The different ip blocks have certain access to
> certain services.  I've copied over my old script that's running right
> now and changed everything to work with iptables but it doesn't seem to
> deny anyone.
> 
> Here's the basic rules I have right now for testing.
> 
> ###################################
> 
> # disable ip forwarding while rules are applied
> echo 0 > /proc/sys/net/ipv4/ip_forward
> 
> /sbin/modprobe iptable_nat
> /sbin/modprobe ip_conntrack
> 
> /sbin/iptables -F
> /sbin/iptables -t nat -F
> /sbin/iptables -X
> /sbin/iptables -t nat -X
> 
> /sbin/iptables -P INPUT DROP
> /sbin/iptables -P OUTPUT DROP
> /sbin/iptables -P FORWARD DROP
> 
> # no access
> /sbin/iptables -A INPUT -s 172.17.0.0/20 -j DROP
> 
> # NAT
> /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
> /sbin/iptables -A FORWARD -j ACCEPT
> 
> # turn on ip forwarding
> echo 1 > /proc/sys/net/ipv4/ip_forward
> 
> ####################
> 
> If I change my laptop IP to 172.17.0.244 then I'm able to ping
> www.yahoo.com when the no access rule should deny then from doing
> anything.  This is all working on a machine that uses ipchains...what am
> I doing wrong?
> 
> Thanks
> Damon Brinkley
> 
> 
> 




^ permalink raw reply

* Re: bbram access problems
From: Thomas Gleixner @ 2002-12-12 14:40 UTC (permalink / raw)
  To: Geoffroy Stevenne, linux-mtd; +Cc: jch
In-Reply-To: <20021212140546.3607a3e0.geof@hellea.com>

On Thursday 12 December 2002 14:05, Geoffroy Stevenne wrote:
> Hi,
>
> We're trying to use BBRAM on a VersaLogic VSBC-6 m-b.  We use the slram
> driver and the 2.4.18 kernel.  The problem is that we can't acces the
> entire memory of the BBRAM, just the first 64k page.
>
> Other problem: we added to our lilo.conf:
>
> append="slram=BBRAM,0xE0000,+0x10000"
>
> We can write to the BBRAM but we noticed data corruption (not write
> operation was done) in this address range.  Is there a way to lock this
> memory area?  Is this the right thing to do?
>
> What we need is to mount a filesystem on the entire BBRAM, not just the
> first 64k. I can (and wish to) provide more information, test changes,
> report bugs, etc. I can read and understand C code but I don't feel
> competent in writing drivers on my own.

from slram.c
NOTE:
  With slram it's only possible to map a contigous memory region. 

So you can't access it with slram, as the BBSRAM is a device with paged 
access. All you have to do, is copy slram.c to bbram.c and add an additional 
parameter, which tells the driver the number of pages.available. Then modify 
the erase / read / write functions to do the page selection depending on the 
address you have to access. 
If you think this is out of your league, then hope, that somebody does this 
for you sometimes, or ask one of the experts to help you for a little fee 
immidiately :)

-- 
Thomas
____________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx@linutronix.de

^ permalink raw reply

* Re: pci-skeleton duplex check
From: Donald Becker @ 2002-12-12 14:11 UTC (permalink / raw)
  To: Roger Luethi; +Cc: netdev
In-Reply-To: <20021212132033.GA3224@k3.hellgate.ch>

On Thu, 12 Dec 2002, Roger Luethi wrote:
> On Wed, 11 Dec 2002 21:42:44 -0500, Donald Becker wrote:
> > Note that the second check ignores 100baseT4, despite it have priority
> > over 10baseT-*.  That was intentional to work around, "a specific issue"
> > with a transceiver.
> 
> That "specific issue" might be worth documenting. Information on such
> quirks is hardest to come by.

There are some quirks I'll refer to as bugs, and some as "issues".

When I get a documented, reliable work-around for a problem that doesn't
impact operation or performance, I consider that chip to be non-buggy.
I try very hard to avoid NDAs, but I'm willing to sign one when it's
clear on both sides what the limits of the NDA are.
Now, if I have to track down the problems myself I can't be certain if
I've found the full extent or correct fix for what is clearly a _bug_. 

[[ I don't know why I bother. The people that now control what goes into
the kernel would rather put in random patches from other people than
accept a correct fix from me. ]]

-- 
Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Scyld Beowulf cluster system
Annapolis MD 21403			410-990-9993

^ permalink raw reply

* Re: romfs
From: Miles Bader @ 2002-12-12 14:18 UTC (permalink / raw)
  To: Garst R. Reese; +Cc: linux-kernel
In-Reply-To: <3DF8929F.437F6858@isn.net>

On Thu, Dec 12, 2002 at 09:43:59AM -0400, Garst R. Reese wrote:
> >    http://romfs.sourceforge.net
> > 
> Thanks Miles,
> I tried that.

Hmmm, you might try asking the debian genromfs maintainer; I seem to recall
him being in contact with the author before:

   Juan Cespedes <cespedes@debian.org>

-Miles
-- 
[|nurgle|]  ddt- demonic? so quake will have an evil kinda setting? one that 
            will  make every christian in the world foamm at the mouth? 
[iddt]      nurg, that's the goal 

^ permalink raw reply

* Re: Success! TWO questions remain
From: cyberdoc @ 2002-12-12 14:09 UTC (permalink / raw)
  To: mvw; +Cc: linux-hams
In-Reply-To: <Pine.LNX.4.44.0212120813300.5835-100000@jeeves.mvw.net>


Hello,

You can firewall off port 23 on your internet interface... telnet won't be 
disabled, but the packets will never reach the daemon (service) for 
processing.  Turn off port 23 on all LAN based connections, and keep it 
open on the ax interfaces.

This means you need to run either ipchains or iptables.  I can help you 
with either if you wish.

Christian


On Thu, 12 Dec 2002 mvw@mvw.net wrote:

> Hello all,
> 
> Wonder if anyone saw my previous message?
> 
> In any case, another question. I want to be able to telnet into one
> machine from another using radio. Encryption is forbidden for amateur use
> so this means clear passwords. Not good. (Even though I will not use root, 
> of course).
> 
> BUT, compression _is_ allowed. How can I get the tcp/ip content to be 
> compressed, so it is at least not easily readable?
> 
> Thanks,
> Michael
> 
> PS plus, how can I get telnet to accept connections only on its radio 
> port? This is a generalLinux question but if anyone happens to know the 
> answer?
> 
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-hams" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


^ permalink raw reply

* Re: [PATCH] C99 initializers for drivers/scsi (1 of 4)
From: Christoph Hellwig @ 2002-12-12 14:15 UTC (permalink / raw)
  To: Art Haas; +Cc: linux-kernel
In-Reply-To: <20021212140441.GB1794@debian>

On Thu, Dec 12, 2002 at 08:04:41AM -0600, Art Haas wrote:
> Hi.
> 
> Here's a set of patches for converting drivers/scsi to use C99
> initializers. The patches are against 2.5.51.

That's pointless.  If you move them to C99 initializers also get rid of the
silly template defines at the same time.  There is no urge for the new
syntax, so do it properly if you touch the code.

And btw, scsi patches go to linux-scsi..


^ permalink raw reply

* RE: Is this going to be true ?
From: Adam H. Pendleton @ 2002-12-12 14:15 UTC (permalink / raw)
  To: hps, linux-kernel
In-Reply-To: <at8jcm$n8u$1@forge.intermeta.de>

 
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> There are no similar applications like the Exchange Server or the
> BizTalk server for Linux. I'd see them port all of the server portions
> of these applications to an *ix platform (be it MacOS X, *BSD or
> Linux) in quite short time. The management GUIs and application
> development tools will stay on Windows, however.
Not quite true.  Check out CommuniGate Pro from http://www.stalker.com.  When used with the MAPI connector, it looks and acts almost exactly like Exchange.

ahp

-----BEGIN PGP SIGNATURE-----
Version: PGP 8.0

iQA/AwUBPfiZ7d0rskLi2W+SEQKKWACfYNxrbnRL1+lOHahUhBbhvJwSMXYAn2q0
FyUuyS2y89kI3P3oL0VUFwT+
=N/uK
-----END PGP SIGNATURE-----



^ permalink raw reply

* Re: New error when running script on ReiserFS partition
From: Oleg Drokin @ 2002-12-12 14:07 UTC (permalink / raw)
  To: Alexandre Ratti; +Cc: reiserfs-list
In-Reply-To: <4.3.2.7.2.20021212141046.00b5d640@mail.poulpe.net>

Hello!

On Thu, Dec 12, 2002 at 02:54:33PM +0100, Alexandre Ratti wrote:

> I got a new error when my backup script ran today. (See [1] for previous 
> message sent on Tuesday). This script runs on a large ReiserFS partition. 
> System is Debian Woody with recompiled 2.4.19 kernel. System did not crash.
> I saw with ps that the kupdated process was dead (defunct).
> I'm not sure this is ReiserFS-related, though these errors only seem to 
> happen when the script runs. Can someone confirm, based on this syslog 
> snippet?

While this is certainly a piece of reiserfs code, the crash address makes no
sence at all.
Can you please run memtest86 for some time to confirm that your memory is still
ok?

Bye,
    Oleg

^ permalink raw reply

* [ACPI] [2.5.51] Error on reading BAT1/state
From: Stefano Rivoir @ 2002-12-12 14:15 UTC (permalink / raw)
  To: linux-kernel; +Cc: Grover, Andrew


I have an HP Omnibook XE3L notebook, running kernel 2.5.51: everything
looks fine except for this messages when doing a cat on
/proc/acpi/battery/BAT1/state (note that alarm and info have no
problem):

  exfldio-0122 [28] Ex_setup_region       : Field [ACPW]
Base+Offset+Width 38+0+4 is beyond end of region [GPIO] (length 3B)
   psparse-1103: *** Error: Method execution failed
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c76755c8), AE_AML_REGION_LIMIT
   acpi_battery-0206 [12] acpi_battery_get_statu: Error evaluating _BST
   present:                 yes
   ERROR: Unable to read battery status
    exfldio-0122 [28] Ex_setup_region       : Field [ACPW]
Base+Offset+Width 38+0+4 is beyond end of region [GPIO] (length 3B)
     psparse-1103: *** Error: Method execution failed
[\_SB_.PCI0.LPCB.BAT1._BST] (Node c76755c8), AE_AML_REGION_LIMIT
     acpi_battery-0206 [12] acpi_battery_get_statu: Error evaluating _BST

(This is with ACPI debug kernel option)

Bye

-- 
Stefano RIVOIR



^ permalink raw reply

* 2.5.5[01]]: Xircom Cardbus broken (PCI resource collisions)
From: Alessandro Suardi @ 2002-12-12 14:10 UTC (permalink / raw)
  To: linux-kernel

As per subject - my RBEM56G-100BTX isn't usable due to the reasons
  printed in /var/log/messages. This has already been reported but
  I don't recall seeing patches or any debug stuff to be tried

[...]

NET4: Linux TCP/IP 1.0 for NET4.0
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
cs: cb_alloc(bus 2): vendor 0x115d, device 0x0003
PCI: Device 02:00.0 not available because of resource collisions
PCI: Device 02:00.1 not available because of resource collisions
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.

[...]

--alessandro

  "Seems that you can't get any more than half free"
        (Bruce Springsteen, "Straight Time")


^ permalink raw reply

* [PATCH] nforce2 dma enabled
From: Tim Krieglstein @ 2002-12-12 14:06 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1277 bytes --]

Hi 
I just got a new toy an epox EP-8RDA. Since there is an nforce2 chipset
onboard and only support for the nforce (whithout 2) in the 2.4.20-ac2
kernel. I just concluded that the new ide driver should be pretty
similar to the old one. i had absolutly no documentation! so be
careful! Personally i did an full backup *before* fiddling with the ide
driver :)

The patch just adds the pci id of the nforce ide controller and added a
new information block to the ide_pci_device_t structure. Also i added an
entry to pci_device_id.

This is my first public patch so suggestions or other feedback is very
welcome. I would also like to know why the lspci command still tells me
this is an unknown device after applying my patch seen below. Also if
someone has a hint why the usb-devices have no interrupt assigned and
thus are not available is very welcome (probably disable acpi?).

However currently i am runing with following settings enabled (by hand):
/dev/hda:
 multcount    = 16 (on)
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  1 (on)
 keepsettings =  1 (on)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 15505/240/63, sectors = 234441648, start = 0

Have fun
Tim

PS: Please CC me since im am currently not subscribed to the list

[-- Attachment #2: nforce2.patch --]
[-- Type: text/plain, Size: 1751 bytes --]

diff -r -C 2 ../linux-2.4.20/drivers/ide/pci/nvidia.c ./drivers/ide/pci/nvidia.c
*** ../linux-2.4.20/drivers/ide/pci/nvidia.c	Thu Dec 12 14:22:55 2002
--- ./drivers/ide/pci/nvidia.c	Thu Dec 12 13:53:11 2002
***************
*** 342,345 ****
--- 342,346 ----
  static struct pci_device_id nforce_pci_tbl[] __devinitdata = {
  	{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+ 	{ PCI_VENDOR_ID_NVIDIA, PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1},
  	{ 0, },
  };
diff -r -C 2 ../linux-2.4.20/drivers/ide/pci/nvidia.h ./drivers/ide/pci/nvidia.h
*** ../linux-2.4.20/drivers/ide/pci/nvidia.h	Thu Dec 12 14:22:55 2002
--- ./drivers/ide/pci/nvidia.h	Thu Dec 12 13:55:06 2002
***************
*** 44,47 ****
--- 44,62 ----
  		bootable:	ON_BOARD,
  		extra:		0,
+ 	},
+ 
+ 	{
+ 		vendor:		PCI_VENDOR_ID_NVIDIA,
+ 		device:		PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE,
+ 		name:		"NFORCE2",
+ 		init_chipset:	init_chipset_nforce,
+ 		init_iops:	NULL,
+ 		init_hwif:	init_hwif_nforce,
+ 		init_dma:	init_dma_nforce,
+ 		channels:	2,
+ 		autodma:	AUTODMA,
+ 		enablebits:	{{0x50,0x01,0x01}, {0x50,0x02,0x02}},
+ 		bootable:	ON_BOARD,
+ 		extra:		0,
  	}
  };
Only in ../linux-2.4.20/drivers/net/wan: hdlc.c
diff -r -C 2 ../linux-2.4.20/include/linux/pci_ids.h ./include/linux/pci_ids.h
*** ../linux-2.4.20/include/linux/pci_ids.h	Thu Dec 12 14:22:55 2002
--- ./include/linux/pci_ids.h	Thu Dec 12 13:38:56 2002
***************
*** 914,917 ****
--- 914,918 ----
  #define PCI_DEVICE_ID_NVIDIA_IGEFORCE2		0x01a0
  #define PCI_DEVICE_ID_NVIDIA_NFORCE_IDE		0x01bc
+ #define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE	0x0065
  #define PCI_DEVICE_ID_NVIDIA_GEFORCE3		0x0200
  #define PCI_DEVICE_ID_NVIDIA_GEFORCE3_1		0x0201

^ permalink raw reply

* [PATCH] C99 initializers for drivers/scsi (4 of 4)
From: Art Haas @ 2002-12-12 14:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

Hi.

Here's the last set of patches for converting drivers/scsi to C99
initializers. The patches are against 2.5.51.

Art Haas

--- linux-2.5.51/drivers/scsi/qla1280.h.old	2002-11-29 09:24:20.000000000 -0600
+++ linux-2.5.51/drivers/scsi/qla1280.h	2002-12-10 14:28:34.000000000 -0600
@@ -1325,25 +1325,25 @@
  */
 
 #define QLA1280_LINUX_TEMPLATE {				\
-	proc_info: qla1280_proc_info,				\
-	name: "Qlogic ISP 1280/12160",				\
-	detect: qla1280_detect,					\
-	release: qla1280_release,				\
-	info: qla1280_info,					\
-	queuecommand: qla1280_queuecommand,			\
+	.proc_info = qla1280_proc_info,				\
+	.name = "Qlogic ISP 1280/12160",				\
+	.detect = qla1280_detect,					\
+	.release = qla1280_release,				\
+	.info = qla1280_info,					\
+	.queuecommand = qla1280_queuecommand,			\
 /*	use_new_eh_code: 0, */					\
-	abort: qla1280_abort,					\
-	reset: qla1280_reset,					\
-	slave_configure: qla1280_slave_configure,		\
-	bios_param: qla1280_biosparam,				\
-	can_queue: 255,		/* max simultaneous cmds      */\
-	this_id: -1,		/* scsi id of host adapter    */\
-	sg_tablesize: SG_ALL,	/* max scatter-gather cmds    */\
-	cmd_per_lun: 3,		/* cmds per lun (linked cmds) */\
-	present: 0,		/* number of 1280's present   */\
-	unchecked_isa_dma: 0,	/* no memory DMA restrictions */\
-	use_clustering: ENABLE_CLUSTERING,			\
-	emulated: 0						\
+	.abort = qla1280_abort,					\
+	.reset = qla1280_reset,					\
+	.slave_configure = qla1280_slave_configure,		\
+	.bios_param = qla1280_biosparam,				\
+	.can_queue = 255,		/* max simultaneous cmds      */\
+	.this_id = -1,		/* scsi id of host adapter    */\
+	.sg_tablesize = SG_ALL,	/* max scatter-gather cmds    */\
+	.cmd_per_lun = 3,		/* cmds per lun (linked cmds) */\
+	.present = 0,		/* number of 1280's present   */\
+	.unchecked_isa_dma = 0,	/* no memory DMA restrictions */\
+	.use_clustering = ENABLE_CLUSTERING,			\
+	.emulated = 0						\
 }
 
 #endif				/* _IO_HBA_QLA1280_H */
--- linux-2.5.51/drivers/scsi/qlogicfas.h.old	2002-10-31 16:20:08.000000000 -0600
+++ linux-2.5.51/drivers/scsi/qlogicfas.h	2002-12-10 14:28:33.000000000 -0600
@@ -13,20 +13,20 @@
 			       sector_t, int[]);
 
 #define QLOGICFAS {						\
-	detect:         		qlogicfas_detect,	\
-	info:           		qlogicfas_info,		\
-	command:     			qlogicfas_command, 	\
-	queuecommand:			qlogicfas_queuecommand,	\
-	eh_abort_handler:          	qlogicfas_abort,	\
-	eh_bus_reset_handler:		qlogicfas_bus_reset,	\
-	eh_device_reset_handler:        qlogicfas_device_reset,	\
-	eh_host_reset_handler:          qlogicfas_host_reset,	\
-	bios_param:     qlogicfas_biosparam,			\
-	can_queue:      0,					\
-	this_id:        -1,					\
-	sg_tablesize:   SG_ALL,					\
-	cmd_per_lun:    1,					\
-	use_clustering: DISABLE_CLUSTERING			\
+	.detect         		= qlogicfas_detect,	\
+	.info           		= qlogicfas_info,		\
+	.command     			= qlogicfas_command, 	\
+	.queuecommand			= qlogicfas_queuecommand,	\
+	.eh_abort_handler          	= qlogicfas_abort,	\
+	.eh_bus_reset_handler		= qlogicfas_bus_reset,	\
+	.eh_device_reset_handler        = qlogicfas_device_reset,	\
+	.eh_host_reset_handler          = qlogicfas_host_reset,	\
+	.bios_param     = qlogicfas_biosparam,			\
+	.can_queue      = 0,					\
+	.this_id        = -1,					\
+	.sg_tablesize   = SG_ALL,					\
+	.cmd_per_lun    = 1,					\
+	.use_clustering = DISABLE_CLUSTERING			\
 }
 #endif /* _QLOGICFAS_H */
 
--- linux-2.5.51/drivers/scsi/qlogicfc.h.old	2002-10-31 16:20:08.000000000 -0600
+++ linux-2.5.51/drivers/scsi/qlogicfc.h	2002-12-10 14:28:33.000000000 -0600
@@ -83,20 +83,20 @@
 #endif
 
 #define QLOGICFC {							   \
-        detect:                 isp2x00_detect,                            \
-        release:                isp2x00_release,                           \
-        info:                   isp2x00_info,                              \
-        queuecommand:           isp2x00_queuecommand,                      \
-        eh_abort_handler:       isp2x00_abort,                             \
-        bios_param:             isp2x00_biosparam,                         \
-        can_queue:              QLOGICFC_REQ_QUEUE_LEN,                    \
-        this_id:                -1,                                        \
-        sg_tablesize:           QLOGICFC_MAX_SG(QLOGICFC_REQ_QUEUE_LEN),   \
-	cmd_per_lun:		QLOGICFC_CMD_PER_LUN, 			   \
-        present:                0,                                         \
-        unchecked_isa_dma:      0,                                         \
-        use_clustering:         ENABLE_CLUSTERING, 			   \
-	highmem_io:		1					   \
+        .detect                 = isp2x00_detect,                            \
+        .release                = isp2x00_release,                           \
+        .info                   = isp2x00_info,                              \
+        .queuecommand           = isp2x00_queuecommand,                      \
+        .eh_abort_handler       = isp2x00_abort,                             \
+        .bios_param             = isp2x00_biosparam,                         \
+        .can_queue              = QLOGICFC_REQ_QUEUE_LEN,                    \
+        .this_id                = -1,                                        \
+        .sg_tablesize           = QLOGICFC_MAX_SG(QLOGICFC_REQ_QUEUE_LEN),   \
+	.cmd_per_lun		= QLOGICFC_CMD_PER_LUN, 			   \
+        .present                = 0,                                         \
+        .unchecked_isa_dma      = 0,                                         \
+        .use_clustering         = ENABLE_CLUSTERING, 			   \
+	.highmem_io		= 1					   \
 }
 
 #endif /* _QLOGICFC_H */
--- linux-2.5.51/drivers/scsi/qlogicisp.h.old	2002-10-31 16:20:08.000000000 -0600
+++ linux-2.5.51/drivers/scsi/qlogicisp.h	2002-12-10 14:28:32.000000000 -0600
@@ -72,18 +72,18 @@
 #endif
 
 #define QLOGICISP {							   \
-	detect:			isp1020_detect,				   \
-	release:		isp1020_release,			   \
-	info:			isp1020_info,				   \
-	queuecommand:		isp1020_queuecommand,			   \
-	bios_param:		isp1020_biosparam,			   \
-	can_queue:		QLOGICISP_REQ_QUEUE_LEN,		   \
-	this_id:		-1,					   \
-	sg_tablesize:		QLOGICISP_MAX_SG(QLOGICISP_REQ_QUEUE_LEN), \
-	cmd_per_lun:		1,					   \
-	present:		0,					   \
-	unchecked_isa_dma:	0,					   \
-	use_clustering:		DISABLE_CLUSTERING			   \
+	.detect			= isp1020_detect,				   \
+	.release		= isp1020_release,			   \
+	.info			= isp1020_info,				   \
+	.queuecommand		= isp1020_queuecommand,			   \
+	.bios_param		= isp1020_biosparam,			   \
+	.can_queue		= QLOGICISP_REQ_QUEUE_LEN,		   \
+	.this_id		= -1,					   \
+	.sg_tablesize		= QLOGICISP_MAX_SG(QLOGICISP_REQ_QUEUE_LEN), \
+	.cmd_per_lun		= 1,					   \
+	.present		= 0,					   \
+	.unchecked_isa_dma	= 0,					   \
+	.use_clustering		= DISABLE_CLUSTERING			   \
 }
 
 #endif /* _QLOGICISP_H */
--- linux-2.5.51/drivers/scsi/scsi_debug.c.old	2002-12-10 09:34:02.000000000 -0600
+++ linux-2.5.51/drivers/scsi/scsi_debug.c	2002-12-10 14:28:32.000000000 -0600
@@ -1636,8 +1636,8 @@
 }
 
 static struct bus_type pseudo_lld_bus = {
-        name: "pseudo",
-        match: pseudo_lld_bus_match,
+        .name = "pseudo",
+        .match = pseudo_lld_bus_match,
 };
 
 int scsi_debug_register_driver(struct device_driver *dev_driver)
--- linux-2.5.51/drivers/scsi/seagate.h.old	2002-10-31 16:20:08.000000000 -0600
+++ linux-2.5.51/drivers/scsi/seagate.h	2002-12-10 14:28:33.000000000 -0600
@@ -19,19 +19,19 @@
 static int seagate_st0x_device_reset(Scsi_Cmnd *);
 static int seagate_st0x_host_reset(Scsi_Cmnd *);
 
-#define SEAGATE_ST0X  {  detect:         seagate_st0x_detect,			\
-			 release:        seagate_st0x_release,			\
-			 info:           seagate_st0x_info,			\
-			 command:        seagate_st0x_command,			\
-			 queuecommand:   seagate_st0x_queue_command,		\
-			 eh_abort_handler:	seagate_st0x_abort,		\
-			 eh_bus_reset_handler:  seagate_st0x_bus_reset,		\
-			 eh_host_reset_handler: seagate_st0x_host_reset,	\
-			 eh_device_reset_handler:seagate_st0x_device_reset,	\
-			 can_queue:      1,					\
-			 this_id:        7,					\
-			 sg_tablesize:   SG_ALL,				\
-			 cmd_per_lun:    1,					\
-			 use_clustering: DISABLE_CLUSTERING}
+#define SEAGATE_ST0X  {  .detect         = seagate_st0x_detect,			\
+			 .release        = seagate_st0x_release,			\
+			 .info           = seagate_st0x_info,			\
+			 .command        = seagate_st0x_command,			\
+			 .queuecommand   = seagate_st0x_queue_command,		\
+			 .eh_abort_handler	= seagate_st0x_abort,		\
+			 .eh_bus_reset_handler  = seagate_st0x_bus_reset,		\
+			 .eh_host_reset_handler = seagate_st0x_host_reset,	\
+			 .eh_device_reset_handler = seagate_st0x_device_reset,	\
+			 .can_queue      = 1,					\
+			 .this_id        = 7,					\
+			 .sg_tablesize   = SG_ALL,				\
+			 .cmd_per_lun    = 1,					\
+			 .use_clustering = DISABLE_CLUSTERING}
 
 #endif /* _SEAGATE_H */
--- linux-2.5.51/drivers/scsi/sgiwd93.h.old	2002-07-05 18:42:21.000000000 -0500
+++ linux-2.5.51/drivers/scsi/sgiwd93.h	2002-12-10 14:28:33.000000000 -0600
@@ -25,17 +25,17 @@
 int wd33c93_abort(Scsi_Cmnd *);
 int wd33c93_reset(Scsi_Cmnd *, unsigned int);
 
-#define SGIWD93_SCSI {proc_name:	   "SGIWD93", \
-		      name:                "SGI WD93", \
-		      detect:              sgiwd93_detect,    \
-		      release:             sgiwd93_release,   \
-		      queuecommand:        wd33c93_queuecommand, \
-		      abort:               wd33c93_abort,   \
-		      reset:               wd33c93_reset,   \
-		      can_queue:           CAN_QUEUE,       \
-		      this_id:             7,               \
-		      sg_tablesize:        SG_ALL,          \
-		      cmd_per_lun:	   CMD_PER_LUN,     \
-		      use_clustering:      DISABLE_CLUSTERING }
+#define SGIWD93_SCSI {.proc_name	   = "SGIWD93", \
+		      .name                = "SGI WD93", \
+		      .detect              = sgiwd93_detect,    \
+		      .release             = sgiwd93_release,   \
+		      .queuecommand        = wd33c93_queuecommand, \
+		      .abort               = wd33c93_abort,   \
+		      .reset               = wd33c93_reset,   \
+		      .can_queue           = CAN_QUEUE,       \
+		      .this_id             = 7,               \
+		      .sg_tablesize        = SG_ALL,          \
+		      .cmd_per_lun	   = CMD_PER_LUN,     \
+		      .use_clustering      = DISABLE_CLUSTERING }
 
 #endif /* !(_SGIWD93_H) */
--- linux-2.5.51/drivers/scsi/sim710.h.old	2002-12-10 09:34:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/sim710.h	2002-12-10 14:28:34.000000000 -0600
@@ -22,20 +22,20 @@
 
 #include <scsi/scsicam.h>
 
-#define SIM710_SCSI { proc_name:		"sim710",		\
-		      name:			"53c710",	 	\
-		      detect:			sim710_detect,		\
-		      release:			sim710_release,		\
-		      queuecommand:		sim710_queuecommand,	\
-		      eh_abort_handler:		sim710_abort,		\
-		      eh_device_reset_handler:	sim710_dev_reset,	\
-		      eh_bus_reset_handler:	sim710_bus_reset,	\
-		      eh_host_reset_handler:	sim710_host_reset,	\
-		      can_queue:		8,		 	\
-		      this_id:			7, 			\
-		      sg_tablesize:		128,		 	\
-		      cmd_per_lun:		1,		 	\
-		      use_clustering:		DISABLE_CLUSTERING }
+#define SIM710_SCSI { .proc_name		= "sim710",		\
+		      .name			= "53c710",	 	\
+		      .detect			= sim710_detect,		\
+		      .release			= sim710_release,		\
+		      .queuecommand		= sim710_queuecommand,	\
+		      .eh_abort_handler		= sim710_abort,		\
+		      .eh_device_reset_handler	= sim710_dev_reset,	\
+		      .eh_bus_reset_handler	= sim710_bus_reset,	\
+		      .eh_host_reset_handler	= sim710_host_reset,	\
+		      .can_queue		= 8,		 	\
+		      .this_id			= 7, 			\
+		      .sg_tablesize		= 128,		 	\
+		      .cmd_per_lun		= 1,		 	\
+		      .use_clustering		= DISABLE_CLUSTERING }
 
 #ifndef HOSTS_C
 
--- linux-2.5.51/drivers/scsi/sun3x_esp.h.old	2002-07-05 18:42:19.000000000 -0500
+++ linux-2.5.51/drivers/scsi/sun3x_esp.h	2002-12-10 14:28:33.000000000 -0600
@@ -21,19 +21,19 @@
 #define DMA_PORTS_P        (dregs->cond_reg & DMA_INT_ENAB)
 
 #define SCSI_SUN3X_ESP {                                        \
-		proc_name:      "esp",  			\
-		proc_info:      &esp_proc_info,			\
-		name:           "Sun ESP 100/100a/200",		\
-		detect:         sun3x_esp_detect,		\
-		info:           esp_info,			\
-		command:        esp_command,			\
-		queuecommand:   esp_queue,			\
-		abort:          esp_abort,			\
-		reset:          esp_reset,			\
-		can_queue:      7,				\
-		this_id:        7,				\
-		sg_tablesize:   SG_ALL,				\
-		cmd_per_lun:    1,				\
-		use_clustering: DISABLE_CLUSTERING, }
+		.proc_name      = "esp",  			\
+		.proc_info      = &esp_proc_info,			\
+		.name           = "Sun ESP 100/100a/200",		\
+		.detect         = sun3x_esp_detect,		\
+		.info           = esp_info,			\
+		.command        = esp_command,			\
+		.queuecommand   = esp_queue,			\
+		.abort          = esp_abort,			\
+		.reset          = esp_reset,			\
+		.can_queue      = 7,				\
+		.this_id        = 7,				\
+		.sg_tablesize   = SG_ALL,				\
+		.cmd_per_lun    = 1,				\
+		.use_clustering = DISABLE_CLUSTERING, }
 
 #endif /* !(_SUN3X_ESP_H) */
--- linux-2.5.51/drivers/scsi/sym53c8xx.h.old	2002-11-29 09:24:21.000000000 -0600
+++ linux-2.5.51/drivers/scsi/sym53c8xx.h	2002-12-10 14:28:33.000000000 -0600
@@ -85,21 +85,21 @@
 
 #if	LINUX_VERSION_CODE >= LinuxVersionCode(2,1,75)
 
-#define SYM53C8XX {     name:           "",			\
-			detect:         sym53c8xx_detect,	\
-			release:        sym53c8xx_release,	\
-			info:           sym53c8xx_info, 	\
-			queuecommand:   sym53c8xx_queue_command,\
-			slave_configure:sym53c8xx_slave_configure,\
-			abort:          sym53c8xx_abort,	\
-			reset:          sym53c8xx_reset,	\
-			can_queue:      SCSI_NCR_CAN_QUEUE,	\
-			this_id:        7,			\
-			sg_tablesize:   SCSI_NCR_SG_TABLESIZE,	\
-			cmd_per_lun:    SCSI_NCR_CMD_PER_LUN,	\
-			max_sectors:	MAX_HW_SEGMENTS*8,	\
-			use_clustering: DISABLE_CLUSTERING,	\
-			highmem_io:	1} 
+#define SYM53C8XX {     .name           = "",			\
+			.detect         = sym53c8xx_detect,	\
+			.release        = sym53c8xx_release,	\
+			.info           = sym53c8xx_info, 	\
+			.queuecommand   = sym53c8xx_queue_command,\
+			.slave_configure = sym53c8xx_slave_configure,\
+			.abort          = sym53c8xx_abort,	\
+			.reset          = sym53c8xx_reset,	\
+			.can_queue      = SCSI_NCR_CAN_QUEUE,	\
+			.this_id        = 7,			\
+			.sg_tablesize   = SCSI_NCR_SG_TABLESIZE,	\
+			.cmd_per_lun    = SCSI_NCR_CMD_PER_LUN,	\
+			.max_sectors	= MAX_HW_SEGMENTS*8,	\
+			.use_clustering = DISABLE_CLUSTERING,	\
+			.highmem_io	= 1} 
 
 #else
 
--- linux-2.5.51/drivers/scsi/t128.h.old	2002-10-31 16:20:09.000000000 -0600
+++ linux-2.5.51/drivers/scsi/t128.h	2002-12-10 14:28:33.000000000 -0600
@@ -121,19 +121,19 @@
  */
 
 #define TRANTOR_T128 {					\
-	name:           "Trantor T128/T128F/T228",	\
-	detect:         t128_detect,			\
-	queuecommand:   t128_queue_command,		\
-	eh_abort_handler: t128_abort,			\
-	eh_bus_reset_handler:    t128_bus_reset,	\
-	eh_host_reset_handler:   t128_host_reset,	\
-	eh_device_reset_handler: t128_device_reset,	\
-	bios_param:     t128_biosparam,			\
-	can_queue:      CAN_QUEUE,			\
-        this_id:        7,				\
-	sg_tablesize:   SG_ALL,				\
-	cmd_per_lun:    CMD_PER_LUN,			\
-	use_clustering: DISABLE_CLUSTERING}
+	.name           = "Trantor T128/T128F/T228",	\
+	.detect         = t128_detect,			\
+	.queuecommand   = t128_queue_command,		\
+	.eh_abort_handler = t128_abort,			\
+	.eh_bus_reset_handler    = t128_bus_reset,	\
+	.eh_host_reset_handler   = t128_host_reset,	\
+	.eh_device_reset_handler = t128_device_reset,	\
+	.bios_param     = t128_biosparam,			\
+	.can_queue      = CAN_QUEUE,			\
+        .this_id        = 7,				\
+	.sg_tablesize   = SG_ALL,				\
+	.cmd_per_lun    = CMD_PER_LUN,			\
+	.use_clustering = DISABLE_CLUSTERING}
 
 #ifndef HOSTS_C
 
--- linux-2.5.51/drivers/scsi/u14-34f.h.old	2002-11-29 09:24:22.000000000 -0600
+++ linux-2.5.51/drivers/scsi/u14-34f.h	2002-12-10 14:28:34.000000000 -0600
@@ -13,17 +13,17 @@
 #define U14_34F_VERSION "8.00.00"
 
 #define ULTRASTOR_14_34F {                                                   \
-                name:         "UltraStor 14F/34F rev. " U14_34F_VERSION " ", \
-                detect:                  u14_34f_detect,                     \
-                release:                 u14_34f_release,                    \
-                queuecommand:            u14_34f_queuecommand,               \
-                eh_abort_handler:        u14_34f_eh_abort,                   \
-                eh_device_reset_handler: NULL,                               \
-                eh_bus_reset_handler:    NULL,                               \
-                eh_host_reset_handler:   u14_34f_eh_host_reset,              \
-                bios_param:              u14_34f_bios_param,                 \
-                slave_configure:         u14_34f_slave_configure,            \
-                this_id:                 7,                                  \
-                unchecked_isa_dma:       1,                                  \
-                use_clustering:          ENABLE_CLUSTERING                   \
+                .name         = "UltraStor 14F/34F rev. " U14_34F_VERSION " ", \
+                .detect                  = u14_34f_detect,                     \
+                .release                 = u14_34f_release,                    \
+                .queuecommand            = u14_34f_queuecommand,               \
+                .eh_abort_handler        = u14_34f_eh_abort,                   \
+                .eh_device_reset_handler = NULL,                               \
+                .eh_bus_reset_handler    = NULL,                               \
+                .eh_host_reset_handler   = u14_34f_eh_host_reset,              \
+                .bios_param              = u14_34f_bios_param,                 \
+                .slave_configure         = u14_34f_slave_configure,            \
+                .this_id                 = 7,                                  \
+                .unchecked_isa_dma       = 1,                                  \
+                .use_clustering          = ENABLE_CLUSTERING                   \
                 }
--- linux-2.5.51/drivers/scsi/ultrastor.h.old	2002-11-11 07:14:47.000000000 -0600
+++ linux-2.5.51/drivers/scsi/ultrastor.h	2002-12-10 14:28:33.000000000 -0600
@@ -30,19 +30,19 @@
 #define ULTRASTOR_24F_PORT 0xC80
 
 
-#define ULTRASTOR_14F {   name:              "UltraStor 14F/24F/34F", 	\
-			  detect:            ultrastor_detect, 		\
-			  info:              ultrastor_info, 		\
-			  queuecommand:      ultrastor_queuecommand,	\
-			  eh_abort_handler:  ultrastor_abort, 		\
-			  eh_host_reset_handler:  ultrastor_host_reset,	\
-			  bios_param:        ultrastor_biosparam, 	\
-			  can_queue:         ULTRASTOR_MAX_CMDS,	\
-			  this_id:           0, 			\
-			  sg_tablesize:      ULTRASTOR_14F_MAX_SG, 	\
-			  cmd_per_lun:       ULTRASTOR_MAX_CMDS_PER_LUN,\
-			  unchecked_isa_dma: 1, 			\
-			  use_clustering:    ENABLE_CLUSTERING }
+#define ULTRASTOR_14F {   .name              = "UltraStor 14F/24F/34F", 	\
+			  .detect            = ultrastor_detect, 		\
+			  .info              = ultrastor_info, 		\
+			  .queuecommand      = ultrastor_queuecommand,	\
+			  .eh_abort_handler  = ultrastor_abort, 		\
+			  .eh_host_reset_handler  = ultrastor_host_reset,	\
+			  .bios_param        = ultrastor_biosparam, 	\
+			  .can_queue         = ULTRASTOR_MAX_CMDS,	\
+			  .this_id           = 0, 			\
+			  .sg_tablesize      = ULTRASTOR_14F_MAX_SG, 	\
+			  .cmd_per_lun       = ULTRASTOR_MAX_CMDS_PER_LUN,\
+			  .unchecked_isa_dma = 1, 			\
+			  .use_clustering    = ENABLE_CLUSTERING }
 
 
 #ifdef ULTRASTOR_PRIVATE
--- linux-2.5.51/drivers/scsi/wd7000.h.old	2002-10-31 16:20:10.000000000 -0600
+++ linux-2.5.51/drivers/scsi/wd7000.h	2002-12-10 14:28:34.000000000 -0600
@@ -44,21 +44,21 @@
 #define WD7000_SG   16
 
 #define WD7000 {						\
-	proc_name:		"wd7000",			\
-	proc_info:		wd7000_proc_info,		\
-	name:			"Western Digital WD-7000",	\
-	detect:			wd7000_detect,			\
-	command:		wd7000_command,			\
-	queuecommand:		wd7000_queuecommand,		\
-	eh_bus_reset_handler:	wd7000_bus_reset,		\
-	eh_device_reset_handler:wd7000_device_reset,		\
-	eh_host_reset_handler:	wd7000_host_reset,		\
-	bios_param:		wd7000_biosparam,		\
-	can_queue:		WD7000_Q,			\
-	this_id:		7,				\
-	sg_tablesize:		WD7000_SG,			\
-	cmd_per_lun:		1,				\
-	unchecked_isa_dma:	1,				\
-	use_clustering:		ENABLE_CLUSTERING,		\
+	.proc_name		= "wd7000",			\
+	.proc_info		= wd7000_proc_info,		\
+	.name			= "Western Digital WD-7000",	\
+	.detect			= wd7000_detect,			\
+	.command		= wd7000_command,			\
+	.queuecommand		= wd7000_queuecommand,		\
+	.eh_bus_reset_handler	= wd7000_bus_reset,		\
+	.eh_device_reset_handler = wd7000_device_reset,		\
+	.eh_host_reset_handler	= wd7000_host_reset,		\
+	.bios_param		= wd7000_biosparam,		\
+	.can_queue		= WD7000_Q,			\
+	.this_id		= 7,				\
+	.sg_tablesize		= WD7000_SG,			\
+	.cmd_per_lun		= 1,				\
+	.unchecked_isa_dma	= 1,				\
+	.use_clustering		= ENABLE_CLUSTERING,		\
 }
 #endif
-- 
They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety.
 -- Benjamin Franklin, Historical Review of Pennsylvania, 1759

^ permalink raw reply

* Re: Penetration testing.
From: Maciej Soltysiak @ 2002-12-12 14:00 UTC (permalink / raw)
  To: Paulo Andre; +Cc: netfilter
In-Reply-To: <1039684193.11114.59.camel@bigblue>

There are lots of tools, try:
- nmap
- hping2
- nemesis
- snort
- ntop has a feature to log suspicious packets

Regards,
Maciej Soltysiak



^ permalink raw reply

* [PATCH] C99 initializers for drivers/scsi (3 of 4)
From: Art Haas @ 2002-12-12 14:07 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

Hi.

Here are yet more patches for converting drivers/scsi to C99
initializers. The patches are against 2.5.51.

Art Haas

--- linux-2.5.51/drivers/scsi/jazz_esp.h.old	2002-07-05 18:42:37.000000000 -0500
+++ linux-2.5.51/drivers/scsi/jazz_esp.h	2002-12-10 14:28:34.000000000 -0600
@@ -21,19 +21,19 @@
 			 int hostno, int inout);
 
 #define SCSI_JAZZ_ESP {                                         \
-		proc_name:      "esp",				\
-		proc_info:      &esp_proc_info,			\
-		name:           "ESP 100/100a/200",		\
-		detect:         jazz_esp_detect,		\
-		info:           esp_info,			\
-		command:        esp_command,			\
-		queuecommand:   esp_queue,			\
-		abort:          esp_abort,			\
-		reset:          esp_reset,			\
-		can_queue:      7,				\
-		this_id:        7,				\
-		sg_tablesize:   SG_ALL,				\
-		cmd_per_lun:    1,				\
-		use_clustering: DISABLE_CLUSTERING, }
+		.proc_name      = "esp",				\
+		.proc_info      = &esp_proc_info,			\
+		.name           = "ESP 100/100a/200",		\
+		.detect         = jazz_esp_detect,		\
+		.info           = esp_info,			\
+		.command        = esp_command,			\
+		.queuecommand   = esp_queue,			\
+		.abort          = esp_abort,			\
+		.reset          = esp_reset,			\
+		.can_queue      = 7,				\
+		.this_id        = 7,				\
+		.sg_tablesize   = SG_ALL,				\
+		.cmd_per_lun    = 1,				\
+		.use_clustering = DISABLE_CLUSTERING, }
 
 #endif /* JAZZ_ESP_H */
--- linux-2.5.51/drivers/scsi/lasi700.h.old	2002-07-05 18:42:05.000000000 -0500
+++ linux-2.5.51/drivers/scsi/lasi700.h	2002-12-10 14:28:33.000000000 -0600
@@ -31,34 +31,34 @@
 
 
 #define LASI700_SCSI {				\
-	name:		"LASI SCSI 53c700",	\
-	proc_name:	"lasi700",		\
-	detect:		lasi700_detect,		\
-	release:	lasi700_release,	\
-	this_id:	7,			\
+	.name		= "LASI SCSI 53c700",	\
+	.proc_name	= "lasi700",		\
+	.detect		= lasi700_detect,		\
+	.release	= lasi700_release,	\
+	.this_id	= 7,			\
 }
 
 #define LASI_710_SVERSION	0x082
 #define LASI_700_SVERSION	0x071
 
 #define LASI700_ID_TABLE {			\
-	hw_type:	HPHW_FIO,		\
-	sversion:	LASI_700_SVERSION,	\
-	hversion:	HVERSION_ANY_ID,	\
-	hversion_rev:	HVERSION_REV_ANY_ID,	\
+	.hw_type	= HPHW_FIO,		\
+	.sversion	= LASI_700_SVERSION,	\
+	.hversion	= HVERSION_ANY_ID,	\
+	.hversion_rev	= HVERSION_REV_ANY_ID,	\
 }
 
 #define LASI710_ID_TABLE {			\
-	hw_type:	HPHW_FIO,		\
-	sversion:	LASI_710_SVERSION,	\
-	hversion:	HVERSION_ANY_ID,	\
-	hversion_rev:	HVERSION_REV_ANY_ID,	\
+	.hw_type	= HPHW_FIO,		\
+	.sversion	= LASI_710_SVERSION,	\
+	.hversion	= HVERSION_ANY_ID,	\
+	.hversion_rev	= HVERSION_REV_ANY_ID,	\
 }
 
 #define LASI700_DRIVER {			\
-	name:		"Lasi SCSI",		\
-	id_table:	lasi700_scsi_tbl,	\
-	probe:		lasi700_driver_callback,\
+	.name		= "Lasi SCSI",		\
+	.id_table	= lasi700_scsi_tbl,	\
+	.probe		= lasi700_driver_callback,\
 }
 
 #define LASI700_CLOCK	25
--- linux-2.5.51/drivers/scsi/mac53c94.h.old	2002-07-05 18:42:21.000000000 -0500
+++ linux-2.5.51/drivers/scsi/mac53c94.h	2002-12-10 14:28:33.000000000 -0600
@@ -15,19 +15,19 @@
 int mac53c94_reset(Scsi_Cmnd *, unsigned int);
 
 #define SCSI_MAC53C94 {					\
-	proc_name:	"53c94",			\
-	name:		"53C94",			\
-	detect:		mac53c94_detect,		\
-	release:	mac53c94_release,		\
-	command:	mac53c94_command,		\
-	queuecommand:	mac53c94_queue,			\
-	abort:		mac53c94_abort,			\
-	reset:		mac53c94_reset,			\
-	can_queue:	1,				\
-	this_id:	7,				\
-	sg_tablesize:	SG_ALL,				\
-	cmd_per_lun:	1,				\
-	use_clustering:	DISABLE_CLUSTERING,		\
+	.proc_name	= "53c94",			\
+	.name		= "53C94",			\
+	.detect		= mac53c94_detect,		\
+	.release	= mac53c94_release,		\
+	.command	= mac53c94_command,		\
+	.queuecommand	= mac53c94_queue,			\
+	.abort		= mac53c94_abort,			\
+	.reset		= mac53c94_reset,			\
+	.can_queue	= 1,				\
+	.this_id	= 7,				\
+	.sg_tablesize	= SG_ALL,				\
+	.cmd_per_lun	= 1,				\
+	.use_clustering	= DISABLE_CLUSTERING,		\
 }
 
 /*
--- linux-2.5.51/drivers/scsi/mac_esp.h.old	2002-07-05 18:42:22.000000000 -0500
+++ linux-2.5.51/drivers/scsi/mac_esp.h	2002-12-10 14:28:33.000000000 -0600
@@ -21,20 +21,20 @@
 extern int esp_reset(Scsi_Cmnd *, unsigned int);
 
 
-#define SCSI_MAC_ESP      { proc_name:		"esp", \
-			    name:		"Mac 53C9x SCSI", \
-			    detect:		mac_esp_detect, \
-			    release:		NULL, \
-			    info:		esp_info, \
+#define SCSI_MAC_ESP      { .proc_name		= "esp", \
+			    .name		= "Mac 53C9x SCSI", \
+			    .detect		= mac_esp_detect, \
+			    .release		= NULL, \
+			    .info		= esp_info, \
 			    /* command:		esp_command, */ \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    this_id:		7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-			    use_clustering:	DISABLE_CLUSTERING }
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .this_id		= 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+			    .use_clustering	= DISABLE_CLUSTERING }
 
 #endif /* MAC_ESP_H */
 
--- linux-2.5.51/drivers/scsi/mac_scsi.h.old	2002-10-31 16:20:05.000000000 -0600
+++ linux-2.5.51/drivers/scsi/mac_scsi.h	2002-12-10 14:28:34.000000000 -0600
@@ -65,19 +65,19 @@
 #include <scsi/scsicam.h>
 
 #define MAC_NCR5380 {						\
-name:			"Macintosh NCR5380 SCSI",			\
-detect:			macscsi_detect,					\
-release:		macscsi_release,	/* Release */		\
-info:			macscsi_info,					\
-queuecommand:		macscsi_queue_command,				\
-abort:			macscsi_abort,			 		\
-reset:			macscsi_reset,					\
-can_queue:		CAN_QUEUE,		/* can queue */		\
-this_id:		7,			/* id */		\
-sg_tablesize:		SG_ALL,			/* sg_tablesize */	\
-cmd_per_lun:		CMD_PER_LUN,		/* cmd per lun */	\
-unchecked_isa_dma:	0,			/* unchecked_isa_dma */	\
-use_clustering:		DISABLE_CLUSTERING				\
+.name			= "Macintosh NCR5380 SCSI",			\
+.detect			= macscsi_detect,					\
+.release		= macscsi_release,	/* Release */		\
+.info			= macscsi_info,					\
+.queuecommand		= macscsi_queue_command,				\
+.abort			= macscsi_abort,			 		\
+.reset			= macscsi_reset,					\
+.can_queue		= CAN_QUEUE,		/* can queue */		\
+.this_id		= 7,			/* id */		\
+.sg_tablesize		= SG_ALL,			/* sg_tablesize */	\
+.cmd_per_lun		= CMD_PER_LUN,		/* cmd per lun */	\
+.unchecked_isa_dma	= 0,			/* unchecked_isa_dma */	\
+.use_clustering		= DISABLE_CLUSTERING				\
 	}
 
 #ifndef HOSTS_C
--- linux-2.5.51/drivers/scsi/mca_53c9x.h.old	2002-07-05 18:42:19.000000000 -0500
+++ linux-2.5.51/drivers/scsi/mca_53c9x.h	2002-12-10 14:28:33.000000000 -0600
@@ -31,18 +31,18 @@
 			 int hostno, int inout);
 
 
-#define MCA_53C9X         { proc_name:		"esp", \
-			    name:		"NCR 53c9x SCSI", \
-			    detect:		mca_esp_detect, \
-			    release:		mca_esp_release, \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-                            unchecked_isa_dma:  1, \
-			    use_clustering:	DISABLE_CLUSTERING }
+#define MCA_53C9X         { .proc_name		= "esp", \
+			    .name		= "NCR 53c9x SCSI", \
+			    .detect		= mca_esp_detect, \
+			    .release		= mca_esp_release, \
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+                            .unchecked_isa_dma  = 1, \
+			    .use_clustering	= DISABLE_CLUSTERING }
 
 /* Ports the ncr's 53c94 can be put at; indexed by pos register value */
 
--- linux-2.5.51/drivers/scsi/megaraid.h.old	2002-11-29 09:24:19.000000000 -0600
+++ linux-2.5.51/drivers/scsi/megaraid.h	2002-12-10 14:28:34.000000000 -0600
@@ -207,22 +207,22 @@
 #else
 #define MEGARAID \
   {\
-    name:	    	"MegaRAID",		/* Driver Name			*/\
-    proc_info:		megaraid_proc_info,     /* /proc driver info		*/\
-    detect:		megaraid_detect,	/* Detect Host Adapter		*/\
-    release:	  	megaraid_release,	/* Release Host Adapter		*/\
-    info:	     	megaraid_info,	   	/* Driver Info Function		*/\
-    command:	  	megaraid_command,	/* Command Function		*/\
-    queuecommand:  	megaraid_queue,		/* Queue Command Function	*/\
-    bios_param:     	megaraid_biosparam, 	/* Disk BIOS Parameters		*/\
-    can_queue:		MAX_COMMANDS,	    	/* Can Queue			*/\
-    this_id:	  	7,		       	/* HBA Target ID		*/\
-    sg_tablesize:   	MAX_SGLIST,	  	/* Scatter/Gather Table Size	*/\
-    cmd_per_lun:    	MAX_CMD_PER_LUN,	/* SCSI Commands per LUN	*/\
-    present:	  	0,		       	/* Present			*/\
-    unchecked_isa_dma:	0,		       	/* Default Unchecked ISA DMA	*/\
-    use_clustering:   	ENABLE_CLUSTERING,  	/* Enable Clustering		*/\
-	highmem_io:		1,													\
+    .name	    	= "MegaRAID",		/* Driver Name			*/\
+    .proc_info		= megaraid_proc_info,     /* /proc driver info		*/\
+    .detect		= megaraid_detect,	/* Detect Host Adapter		*/\
+    .release	  	= megaraid_release,	/* Release Host Adapter		*/\
+    .info	     	= megaraid_info,	   	/* Driver Info Function		*/\
+    .command	  	= megaraid_command,	/* Command Function		*/\
+    .queuecommand  	= megaraid_queue,		/* Queue Command Function	*/\
+    .bios_param     	= megaraid_biosparam, 	/* Disk BIOS Parameters		*/\
+    .can_queue		= MAX_COMMANDS,	    	/* Can Queue			*/\
+    .this_id	  	= 7,		       	/* HBA Target ID		*/\
+    .sg_tablesize   	= MAX_SGLIST,	  	/* Scatter/Gather Table Size	*/\
+    .cmd_per_lun    	= MAX_CMD_PER_LUN,	/* SCSI Commands per LUN	*/\
+    .present	  	= 0,		       	/* Present			*/\
+    .unchecked_isa_dma	= 0,		       	/* Default Unchecked ISA DMA	*/\
+    .use_clustering   	= ENABLE_CLUSTERING,  	/* Enable Clustering		*/\
+	.highmem_io		= 1,													\
   }
 #endif
 
--- linux-2.5.51/drivers/scsi/mesh.h.old	2002-07-05 18:42:18.000000000 -0500
+++ linux-2.5.51/drivers/scsi/mesh.h	2002-12-10 14:28:33.000000000 -0600
@@ -14,21 +14,21 @@
 int mesh_host_reset(Scsi_Cmnd *);
 
 #define SCSI_MESH {						\
-	proc_name:			"mesh",			\
-	name:				"MESH",			\
-	detect:				mesh_detect,		\
-	release:			mesh_release,		\
-	command:			NULL,			\
-	queuecommand:			mesh_queue,		\
-	eh_abort_handler:		mesh_abort,		\
-	eh_device_reset_handler:	NULL,			\
-	eh_bus_reset_handler:		NULL,			\
-	eh_host_reset_handler:		mesh_host_reset,	\
-	can_queue:			20,			\
-	this_id:			7,			\
-	sg_tablesize:			SG_ALL,			\
-	cmd_per_lun:			2,			\
-	use_clustering:			DISABLE_CLUSTERING,	\
+	.proc_name			= "mesh",			\
+	.name				= "MESH",			\
+	.detect				= mesh_detect,		\
+	.release			= mesh_release,		\
+	.command			= NULL,			\
+	.queuecommand			= mesh_queue,		\
+	.eh_abort_handler		= mesh_abort,		\
+	.eh_device_reset_handler	= NULL,			\
+	.eh_bus_reset_handler		= NULL,			\
+	.eh_host_reset_handler		= mesh_host_reset,	\
+	.can_queue			= 20,			\
+	.this_id			= 7,			\
+	.sg_tablesize			= SG_ALL,			\
+	.cmd_per_lun			= 2,			\
+	.use_clustering			= DISABLE_CLUSTERING,	\
 }
 
 /*
--- linux-2.5.51/drivers/scsi/mvme147.h.old	2002-07-05 18:42:04.000000000 -0500
+++ linux-2.5.51/drivers/scsi/mvme147.h	2002-12-10 14:28:33.000000000 -0600
@@ -31,19 +31,19 @@
 
 #ifdef HOSTS_C
 
-#define MVME147_SCSI {proc_name:	   "MVME147",			\
-		      proc_info:           NULL,			\
-		      name:                "MVME147 built-in SCSI",	\
-		      detect:              mvme147_detect,		\
-		      release:             mvme147_release,		\
-		      queuecommand:        wd33c93_queuecommand,	\
-		      abort:               wd33c93_abort,		\
-		      reset:               wd33c93_reset,		\
-		      can_queue:           CAN_QUEUE,			\
-		      this_id:             7,				\
-		      sg_tablesize:        SG_ALL,			\
-		      cmd_per_lun:	   CMD_PER_LUN,			\
-		      use_clustering:      ENABLE_CLUSTERING }
+#define MVME147_SCSI {.proc_name	   = "MVME147",			\
+		      .proc_info           = NULL,			\
+		      .name                = "MVME147 built-in SCSI",	\
+		      .detect              = mvme147_detect,		\
+		      .release             = mvme147_release,		\
+		      .queuecommand        = wd33c93_queuecommand,	\
+		      .abort               = wd33c93_abort,		\
+		      .reset               = wd33c93_reset,		\
+		      .can_queue           = CAN_QUEUE,			\
+		      .this_id             = 7,				\
+		      .sg_tablesize        = SG_ALL,			\
+		      .cmd_per_lun	   = CMD_PER_LUN,			\
+		      .use_clustering      = ENABLE_CLUSTERING }
 
 #endif /* else def HOSTS_C */
 
--- linux-2.5.51/drivers/scsi/mvme16x.h.old	2002-10-31 16:20:05.000000000 -0600
+++ linux-2.5.51/drivers/scsi/mvme16x.h	2002-12-10 14:28:34.000000000 -0600
@@ -25,15 +25,15 @@
 
 #include <scsi/scsicam.h>
 
-#define MVME16x_SCSI  {name:                "MVME16x NCR53c710 SCSI", \
-		       detect:              mvme16x_scsi_detect,    \
-		       queuecommand:        NCR53c7xx_queue_command, \
-		       abort:               NCR53c7xx_abort,   \
-		       reset:               NCR53c7xx_reset,   \
-		       can_queue:           24,       \
-		       this_id:             7,               \
-		       sg_tablesize:        63,          \
-		       cmd_per_lun:	    3,     \
-		       use_clustering:      DISABLE_CLUSTERING }
+#define MVME16x_SCSI  {.name                = "MVME16x NCR53c710 SCSI", \
+		       .detect              = mvme16x_scsi_detect,    \
+		       .queuecommand        = NCR53c7xx_queue_command, \
+		       .abort               = NCR53c7xx_abort,   \
+		       .reset               = NCR53c7xx_reset,   \
+		       .can_queue           = 24,       \
+		       .this_id             = 7,               \
+		       .sg_tablesize        = 63,          \
+		       .cmd_per_lun	    = 3,     \
+		       .use_clustering      = DISABLE_CLUSTERING }
 
 #endif /* MVME16x_SCSI_H */
--- linux-2.5.51/drivers/scsi/ncr53c8xx.h.old	2002-11-29 09:24:19.000000000 -0600
+++ linux-2.5.51/drivers/scsi/ncr53c8xx.h	2002-12-10 14:28:33.000000000 -0600
@@ -70,19 +70,19 @@
 
 #if	LINUX_VERSION_CODE >= LinuxVersionCode(2,1,75)
 
-#define NCR53C8XX {     name:           "",			\
-			detect:         ncr53c8xx_detect,	\
-			release:        ncr53c8xx_release,	\
-			info:           ncr53c8xx_info, 	\
-			queuecommand:   ncr53c8xx_queue_command,\
-			slave_configure:ncr53c8xx_slave_configure,\
-			abort:          ncr53c8xx_abort,	\
-			reset:          ncr53c8xx_reset,	\
-			can_queue:      SCSI_NCR_CAN_QUEUE,	\
-			this_id:        7,			\
-			sg_tablesize:   SCSI_NCR_SG_TABLESIZE,	\
-			cmd_per_lun:    SCSI_NCR_CMD_PER_LUN,	\
-			use_clustering: DISABLE_CLUSTERING} 
+#define NCR53C8XX {     .name           = "",			\
+			.detect         = ncr53c8xx_detect,	\
+			.release        = ncr53c8xx_release,	\
+			.info           = ncr53c8xx_info, 	\
+			.queuecommand   = ncr53c8xx_queue_command,\
+			.slave_configure = ncr53c8xx_slave_configure,\
+			.abort          = ncr53c8xx_abort,	\
+			.reset          = ncr53c8xx_reset,	\
+			.can_queue      = SCSI_NCR_CAN_QUEUE,	\
+			.this_id        = 7,			\
+			.sg_tablesize   = SCSI_NCR_SG_TABLESIZE,	\
+			.cmd_per_lun    = SCSI_NCR_CMD_PER_LUN,	\
+			.use_clustering = DISABLE_CLUSTERING} 
 
 #else
 
--- linux-2.5.51/drivers/scsi/oktagon_esp.h.old	2002-07-05 18:42:19.000000000 -0500
+++ linux-2.5.51/drivers/scsi/oktagon_esp.h	2002-12-10 14:28:33.000000000 -0600
@@ -40,18 +40,18 @@
 			int hostno, int inout);
 
 #define SCSI_OKTAGON_ESP {                       \
-   proc_name:           "esp-oktagon",           \
-   proc_info:           &esp_proc_info,          \
-   name:                "BSC Oktagon SCSI",      \
-   detect:              oktagon_esp_detect,      \
-   release:             oktagon_esp_release,     \
-   queuecommand:        esp_queue,               \
-   abort:               esp_abort,               \
-   reset:               esp_reset,               \
-   can_queue:           7,                       \
-   this_id:             7,                       \
-   sg_tablesize:        SG_ALL,                  \
-   cmd_per_lun:         1,                       \
-   use_clustering:      ENABLE_CLUSTERING }
+   .proc_name           = "esp-oktagon",           \
+   .proc_info           = &esp_proc_info,          \
+   .name                = "BSC Oktagon SCSI",      \
+   .detect              = oktagon_esp_detect,      \
+   .release             = oktagon_esp_release,     \
+   .queuecommand        = esp_queue,               \
+   .abort               = esp_abort,               \
+   .reset               = esp_reset,               \
+   .can_queue           = 7,                       \
+   .this_id             = 7,                       \
+   .sg_tablesize        = SG_ALL,                  \
+   .cmd_per_lun         = 1,                       \
+   .use_clustering      = ENABLE_CLUSTERING }
 
 #endif /* OKTAGON_ESP_H */
--- linux-2.5.51/drivers/scsi/pas16.h.old	2002-10-31 16:20:06.000000000 -0600
+++ linux-2.5.51/drivers/scsi/pas16.h	2002-12-10 14:28:34.000000000 -0600
@@ -144,19 +144,19 @@
  */
 
 #define MV_PAS16 {					\
-	name:           "Pro Audio Spectrum-16 SCSI", 	\
-	detect:         pas16_detect, 			\
-	queuecommand:   pas16_queue_command,		\
-	eh_abort_handler: pas16_abort,			\
-	eh_bus_reset_handler: pas16_bus_reset,		\
-	eh_device_reset_handler: pas16_device_reset,	\
-	eh_host_reset_handler: pas16_host_reset,	\
-	bios_param:     pas16_biosparam, 		\
-	can_queue:      CAN_QUEUE,			\
-	this_id:        7,				\
-	sg_tablesize:   SG_ALL,				\
-	cmd_per_lun:    CMD_PER_LUN ,			\
-	use_clustering: DISABLE_CLUSTERING}
+	.name           = "Pro Audio Spectrum-16 SCSI", 	\
+	.detect         = pas16_detect, 			\
+	.queuecommand   = pas16_queue_command,		\
+	.eh_abort_handler = pas16_abort,			\
+	.eh_bus_reset_handler = pas16_bus_reset,		\
+	.eh_device_reset_handler = pas16_device_reset,	\
+	.eh_host_reset_handler = pas16_host_reset,	\
+	.bios_param     = pas16_biosparam, 		\
+	.can_queue      = CAN_QUEUE,			\
+	.this_id        = 7,				\
+	.sg_tablesize   = SG_ALL,				\
+	.cmd_per_lun    = CMD_PER_LUN ,			\
+	.use_clustering = DISABLE_CLUSTERING}
 
 #ifndef HOSTS_C
 
--- linux-2.5.51/drivers/scsi/pci2000.h.old	2002-10-31 16:20:06.000000000 -0600
+++ linux-2.5.51/drivers/scsi/pci2000.h	2002-12-10 14:28:33.000000000 -0600
@@ -203,22 +203,22 @@
 
 /* screen is 80 columns wide, damnit! */
 #define PCI2000 {				\
-	proc_name:	"pci2000",					\
-	name:		"PCI-2000 SCSI Intelligent Disk Controller",	\
-	detect:		Pci2000_Detect,					\
-	release:	Pci2000_Release,				\
-	command:	Pci2000_Command,				\
-	queuecommand:	Pci2000_QueueCommand,				\
-	abort:		Pci2000_Abort,					\
-	reset:		Pci2000_Reset,					\
-	bios_param:	Pci2000_BiosParam,				\
-	can_queue:	16,						\
-	this_id:	-1,						\
-	sg_tablesize:	16,						\
-	cmd_per_lun:	1,						\
-	present:	0,						\
-	unchecked_isa_dma:0,						\
-	use_clustering:	DISABLE_CLUSTERING,				\
+	.proc_name	= "pci2000",					\
+	.name		= "PCI-2000 SCSI Intelligent Disk Controller",	\
+	.detect		= Pci2000_Detect,					\
+	.release	= Pci2000_Release,				\
+	.command	= Pci2000_Command,				\
+	.queuecommand	= Pci2000_QueueCommand,				\
+	.abort		= Pci2000_Abort,					\
+	.reset		= Pci2000_Reset,					\
+	.bios_param	= Pci2000_BiosParam,				\
+	.can_queue	= 16,						\
+	.this_id	= -1,						\
+	.sg_tablesize	= 16,						\
+	.cmd_per_lun	= 1,						\
+	.present	= 0,						\
+	.unchecked_isa_dma = 0,						\
+	.use_clustering	= DISABLE_CLUSTERING,				\
 }
 
 #endif
--- linux-2.5.51/drivers/scsi/pci2220i.h.old	2002-10-31 16:20:06.000000000 -0600
+++ linux-2.5.51/drivers/scsi/pci2220i.h	2002-12-10 14:28:34.000000000 -0600
@@ -42,21 +42,21 @@
 #endif
 
 #define PCI2220I {					\
-	proc_name:		"pci2220i",		\
-	name:			"PCI-2220I/PCI-2240I",	\
-	detect:			Pci2220i_Detect,	\
-	release:		Pci2220i_Release,	\
-	command:		Pci2220i_Command,	\
-	queuecommand:		Pci2220i_QueueCommand,	\
-	abort:			Pci2220i_Abort,		\
-	reset:			Pci2220i_Reset,		\
-	bios_param:		Pci2220i_BiosParam,	\
-	can_queue:		1,			\
-	this_id:		-1,			\
-	sg_tablesize:		SG_ALL,			\
-	cmd_per_lun:		1,			\
-	present:		0,			\
-	unchecked_isa_dma:	0,			\
-	use_clustering:		DISABLE_CLUSTERING,	\
+	.proc_name		= "pci2220i",		\
+	.name			= "PCI-2220I/PCI-2240I",	\
+	.detect			= Pci2220i_Detect,	\
+	.release		= Pci2220i_Release,	\
+	.command		= Pci2220i_Command,	\
+	.queuecommand		= Pci2220i_QueueCommand,	\
+	.abort			= Pci2220i_Abort,		\
+	.reset			= Pci2220i_Reset,		\
+	.bios_param		= Pci2220i_BiosParam,	\
+	.can_queue		= 1,			\
+	.this_id		= -1,			\
+	.sg_tablesize		= SG_ALL,			\
+	.cmd_per_lun		= 1,			\
+	.present		= 0,			\
+	.unchecked_isa_dma	= 0,			\
+	.use_clustering		= DISABLE_CLUSTERING,	\
 }
 #endif
--- linux-2.5.51/drivers/scsi/pluto.h.old	2002-11-29 09:24:20.000000000 -0600
+++ linux-2.5.51/drivers/scsi/pluto.h	2002-12-10 14:28:34.000000000 -0600
@@ -44,21 +44,21 @@
 int pluto_slave_configure(Scsi_Device *);
 
 #define PLUTO {							\
-	name:			"Sparc Storage Array 100/200",	\
-	detect:			pluto_detect,			\
-	release:		pluto_release,			\
-	info:			pluto_info,			\
-	queuecommand:		fcp_scsi_queuecommand,		\
-	slave_configure:	pluto_slave_configure,		\
-	can_queue:		PLUTO_CAN_QUEUE,		\
-	this_id:		-1,				\
-	sg_tablesize:		1,				\
-	cmd_per_lun:		1,				\
-	use_clustering:		ENABLE_CLUSTERING,		\
-	eh_abort_handler:	fcp_scsi_abort,			\
-	eh_device_reset_handler:fcp_scsi_dev_reset,		\
-	eh_bus_reset_handler:	fcp_scsi_bus_reset,		\
-	eh_host_reset_handler:	fcp_scsi_host_reset,		\
+	.name			= "Sparc Storage Array 100/200",	\
+	.detect			= pluto_detect,			\
+	.release		= pluto_release,			\
+	.info			= pluto_info,			\
+	.queuecommand		= fcp_scsi_queuecommand,		\
+	.slave_configure	= pluto_slave_configure,		\
+	.can_queue		= PLUTO_CAN_QUEUE,		\
+	.this_id		= -1,				\
+	.sg_tablesize		= 1,				\
+	.cmd_per_lun		= 1,				\
+	.use_clustering		= ENABLE_CLUSTERING,		\
+	.eh_abort_handler	= fcp_scsi_abort,			\
+	.eh_device_reset_handler = fcp_scsi_dev_reset,		\
+	.eh_bus_reset_handler	= fcp_scsi_bus_reset,		\
+	.eh_host_reset_handler	= fcp_scsi_host_reset,		\
 }	
 
 #endif /* !(_PLUTO_H) */
--- linux-2.5.51/drivers/scsi/ppa.h.old	2002-10-31 16:20:07.000000000 -0600
+++ linux-2.5.51/drivers/scsi/ppa.h	2002-12-10 14:28:33.000000000 -0600
@@ -171,21 +171,21 @@
 int ppa_biosparam(struct scsi_device *, struct block_device *,
 		sector_t, int *);
 
-#define PPA {	proc_name:			"ppa",		\
-		proc_info:			ppa_proc_info,		\
-		name:				"Iomega VPI0 (ppa) interface",\
-		detect:				ppa_detect,		\
-		release:			ppa_release,		\
-		command:			ppa_command,		\
-		queuecommand:			ppa_queuecommand,	\
-		eh_abort_handler:		ppa_abort,		\
-		eh_device_reset_handler:	NULL,			\
-		eh_bus_reset_handler:		ppa_reset,		\
-		eh_host_reset_handler:		ppa_reset,		\
-		bios_param:			ppa_biosparam,		\
-		this_id:			-1,			\
-		sg_tablesize:			SG_ALL,			\
-		cmd_per_lun:			1,			\
-		use_clustering:			ENABLE_CLUSTERING	\
+#define PPA {	.proc_name			= "ppa",		\
+		.proc_info			= ppa_proc_info,		\
+		.name				= "Iomega VPI0 (ppa) interface",\
+		.detect				= ppa_detect,		\
+		.release			= ppa_release,		\
+		.command			= ppa_command,		\
+		.queuecommand			= ppa_queuecommand,	\
+		.eh_abort_handler		= ppa_abort,		\
+		.eh_device_reset_handler	= NULL,			\
+		.eh_bus_reset_handler		= ppa_reset,		\
+		.eh_host_reset_handler		= ppa_reset,		\
+		.bios_param			= ppa_biosparam,		\
+		.this_id			= -1,			\
+		.sg_tablesize			= SG_ALL,			\
+		.cmd_per_lun			= 1,			\
+		.use_clustering			= ENABLE_CLUSTERING	\
 }
 #endif				/* _PPA_H */
--- linux-2.5.51/drivers/scsi/psi240i.h.old	2002-10-31 16:20:07.000000000 -0600
+++ linux-2.5.51/drivers/scsi/psi240i.h	2002-12-10 14:28:33.000000000 -0600
@@ -321,18 +321,18 @@
 	#define NULL 0
 #endif
 
-#define PSI240I { proc_name:      "psi240i", \
-		  name:           "PSI-240I EIDE Disk Controller",\
-		  detect:         Psi240i_Detect,			\
-		  command:	  Psi240i_Command,			\
-		  queuecommand:	  Psi240i_QueueCommand,		\
-		  abort:	  Psi240i_Abort,			\
-		  reset:	  Psi240i_Reset,			\
-		  bios_param:	  Psi240i_BiosParam,                 	\
-		  can_queue:	  1, 					\
-		  this_id:	  -1, 					\
-		  sg_tablesize:	  SG_NONE,		 		\
-		  cmd_per_lun:	  1, 					\
-		  use_clustering: DISABLE_CLUSTERING }
+#define PSI240I { .proc_name      = "psi240i", \
+		  .name           = "PSI-240I EIDE Disk Controller",\
+		  .detect         = Psi240i_Detect,			\
+		  .command	  = Psi240i_Command,			\
+		  .queuecommand	  = Psi240i_QueueCommand,		\
+		  .abort	  = Psi240i_Abort,			\
+		  .reset	  = Psi240i_Reset,			\
+		  .bios_param	  = Psi240i_BiosParam,                 	\
+		  .can_queue	  = 1, 					\
+		  .this_id	  = -1, 					\
+		  .sg_tablesize	  = SG_NONE,		 		\
+		  .cmd_per_lun	  = 1, 					\
+		  .use_clustering = DISABLE_CLUSTERING }
 
 #endif
-- 
They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety.
 -- Benjamin Franklin, Historical Review of Pennsylvania, 1759

^ permalink raw reply

* Re: MPC850 Pinout Description?
From: Frank Robbins @ 2002-12-12 13:59 UTC (permalink / raw)
  To: Donald MacArthur; +Cc: linuxppc-embedded
In-Reply-To: <NDBBIHDFKLJKGJJGMFJOKEJACGAA.dmacarth@ufl.edu>


The manual?

 look at www.mot-sps.com  and then at the network communication processors

Frank
----- Original Message -----
From: "Donald MacArthur" <dmacarth@ufl.edu>
To: <linuxppc-embedded@lists.linuxppc.org>
Sent: Thursday, December 12, 2002 1:57 PM
Subject: MPC850 Pinout Description?


>
> Does anyone know of a concise document which describes the pinouts and
> functions of the MPC850?
>
> Thank You
> Donald MacArthur
> dmacarth@ufl.edu
>
> Graduate Fellow
> Center for Intelligent Machines and Robotics
> Mechanical Engineering
> MEB300
> University of Florida
> Gainesville, Fla
> 32611
>
>
>


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply

* [PATCH] C99 initializers for drivers/scsi (2 of 4)
From: Art Haas @ 2002-12-12 14:06 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

Hi.

Here are some more patches for converting drivers/scsi to use C99
initializers. The patches are all against 2.5.51.

Art Haas

--- linux-2.5.51/drivers/scsi/dc390.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/dc390.h	2002-12-10 14:28:33.000000000 -0600
@@ -52,41 +52,41 @@
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,30)
 #define DC390_T    {					\
-   proc_name:      "tmscsim",                           \
-   proc_info:      DC390_proc_info,			\
-   name:           DC390_BANNER " V" DC390_VERSION,	\
-   detect:         DC390_detect,			\
-   release:        DC390_release,			\
-   queuecommand:   DC390_queue_command,			\
-   abort:          DC390_abort,				\
-   reset:          DC390_reset,				\
-   bios_param:     DC390_bios_param,			\
-   can_queue:      42,					\
-   this_id:        7,					\
-   sg_tablesize:   SG_ALL,				\
-   cmd_per_lun:    16,					\
-   unchecked_isa_dma: 0,				\
-   use_clustering: DISABLE_CLUSTERING			\
+   .proc_name      = "tmscsim",                           \
+   .proc_info      = DC390_proc_info,			\
+   .name           = DC390_BANNER " V" DC390_VERSION,	\
+   .detect         = DC390_detect,			\
+   .release        = DC390_release,			\
+   .queuecommand   = DC390_queue_command,			\
+   .abort          = DC390_abort,				\
+   .reset          = DC390_reset,				\
+   .bios_param     = DC390_bios_param,			\
+   .can_queue      = 42,					\
+   .this_id        = 7,					\
+   .sg_tablesize   = SG_ALL,				\
+   .cmd_per_lun    = 16,					\
+   .unchecked_isa_dma = 0,				\
+   .use_clustering = DISABLE_CLUSTERING			\
    }
 #else
 extern struct proc_dir_entry DC390_proc_scsi_tmscsim;
 #define DC390_T    {					\
-   proc_dir:       &DC390_proc_scsi_tmscsim,		\
-   proc_info:      DC390_proc_info,			\
-   name:           DC390_BANNER " V" DC390_VERSION,	\
-   detect:         DC390_detect,			\
-   release:        DC390_release,			\
-   queuecommand:   DC390_queue_command,			\
-   abort:          DC390_abort,				\
-   reset:          DC390_reset,				\
-   bios_param:     DC390_bios_param,			\
-   can_queue:      42,					\
-   this_id:        7,					\
-   sg_tablesize:   SG_ALL,				\
-   cmd_per_lun:    16,					\
+   .proc_dir       = &DC390_proc_scsi_tmscsim,		\
+   .proc_info      = DC390_proc_info,			\
+   .name           = DC390_BANNER " V" DC390_VERSION,	\
+   .detect         = DC390_detect,			\
+   .release        = DC390_release,			\
+   .queuecommand   = DC390_queue_command,			\
+   .abort          = DC390_abort,				\
+   .reset          = DC390_reset,				\
+   .bios_param     = DC390_bios_param,			\
+   .can_queue      = 42,					\
+   .this_id        = 7,					\
+   .sg_tablesize   = SG_ALL,				\
+   .cmd_per_lun    = 16,					\
    NEW_EH						\
-   unchecked_isa_dma: 0,				\
-   use_clustering: DISABLE_CLUSTERING			\
+   .unchecked_isa_dma = 0,				\
+   .use_clustering = DISABLE_CLUSTERING			\
    }
 #endif
 #endif /* defined(HOSTS_C) || defined(MODULE) */
--- linux-2.5.51/drivers/scsi/dec_esp.h.old	2002-07-05 18:42:05.000000000 -0500
+++ linux-2.5.51/drivers/scsi/dec_esp.h	2002-12-10 14:28:33.000000000 -0600
@@ -27,19 +27,19 @@
 			 int hostno, int inout);
 
 #define SCSI_DEC_ESP {                                         \
-		proc_name:      "esp",				\
-		proc_info:      &esp_proc_info,			\
-		name:           "NCR53C94",			\
-		detect:         dec_esp_detect,			\
-		info:           esp_info,			\
-		command:        esp_command,			\
-		queuecommand:   esp_queue,			\
-		abort:          esp_abort,			\
-		reset:          esp_reset,			\
-		can_queue:      7,				\
-		this_id:        7,				\
-		sg_tablesize:   SG_ALL,				\
-		cmd_per_lun:    1,				\
-		use_clustering: DISABLE_CLUSTERING, }
+		.proc_name      = "esp",				\
+		.proc_info      = &esp_proc_info,			\
+		.name           = "NCR53C94",			\
+		.detect         = dec_esp_detect,			\
+		.info           = esp_info,			\
+		.command        = esp_command,			\
+		.queuecommand   = esp_queue,			\
+		.abort          = esp_abort,			\
+		.reset          = esp_reset,			\
+		.can_queue      = 7,				\
+		.this_id        = 7,				\
+		.sg_tablesize   = SG_ALL,				\
+		.cmd_per_lun    = 1,				\
+		.use_clustering = DISABLE_CLUSTERING, }
 
 #endif /* DEC_ESP_H */
--- linux-2.5.51/drivers/scsi/dmx3191d.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/dmx3191d.h	2002-12-10 14:28:34.000000000 -0600
@@ -32,22 +32,22 @@
 
 
 #define DMX3191D {				\
-	proc_info:	dmx3191d_proc_info,		\
-	name:		"Domex DMX3191D",		\
-	detect:		dmx3191d_detect,		\
-	release:	dmx3191d_release_resources,	\
-	info:		dmx3191d_info,			\
-	queuecommand:	dmx3191d_queue_command,		\
-	eh_abort_handler:	dmx3191d_abort,		\
-	eh_bus_reset_handler:	dmx3191d_bus_reset, 	\
-	eh_device_reset_handler:dmx3191d_device_reset, 	\
-	eh_host_reset_handler:	dmx3191d_host_reset, 	\
-	bios_param:	NULL,				\
-	can_queue:	32,				\
-        this_id:	7,				\
-        sg_tablesize:	SG_ALL,				\
-	cmd_per_lun:	2,				\
-        use_clustering:	DISABLE_CLUSTERING		\
+	.proc_info	= dmx3191d_proc_info,		\
+	.name		= "Domex DMX3191D",		\
+	.detect		= dmx3191d_detect,		\
+	.release	= dmx3191d_release_resources,	\
+	.info		= dmx3191d_info,			\
+	.queuecommand	= dmx3191d_queue_command,		\
+	.eh_abort_handler	= dmx3191d_abort,		\
+	.eh_bus_reset_handler	= dmx3191d_bus_reset, 	\
+	.eh_device_reset_handler = dmx3191d_device_reset, 	\
+	.eh_host_reset_handler	= dmx3191d_host_reset, 	\
+	.bios_param	= NULL,				\
+	.can_queue	= 32,				\
+        .this_id	= 7,				\
+        .sg_tablesize	= SG_ALL,				\
+	.cmd_per_lun	= 2,				\
+        .use_clustering	= DISABLE_CLUSTERING		\
 }
 
 
--- linux-2.5.51/drivers/scsi/dpti.h.old	2002-11-29 09:24:17.000000000 -0600
+++ linux-2.5.51/drivers/scsi/dpti.h	2002-12-10 14:28:32.000000000 -0600
@@ -62,44 +62,44 @@
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,3,00)
 #define DPT_I2O { \
-	proc_info: adpt_proc_info,					\
-	detect: adpt_detect,						\
-	release: adpt_release,						\
-	info: adpt_info,						\
-	queuecommand: adpt_queue,					\
-	eh_abort_handler: adpt_abort,					\
-	eh_device_reset_handler: adpt_device_reset,			\
-	eh_bus_reset_handler: adpt_bus_reset,				\
-	eh_host_reset_handler: adpt_reset,				\
-	bios_param: adpt_bios_param,					\
-	can_queue: MAX_TO_IOP_MESSAGES ,/* max simultaneous cmds      */\
-	this_id: 7,			/* scsi id of host adapter    */\
-	sg_tablesize: 0,		/* max scatter-gather cmds    */\
-	cmd_per_lun: 256,		/* cmds per lun (linked cmds) */\
-	use_clustering: ENABLE_CLUSTERING,				\
-	use_new_eh_code: 1						\
+	.proc_info = adpt_proc_info,					\
+	.detect = adpt_detect,						\
+	.release = adpt_release,						\
+	.info = adpt_info,						\
+	.queuecommand = adpt_queue,					\
+	.eh_abort_handler = adpt_abort,					\
+	.eh_device_reset_handler = adpt_device_reset,			\
+	.eh_bus_reset_handler = adpt_bus_reset,				\
+	.eh_host_reset_handler = adpt_reset,				\
+	.bios_param = adpt_bios_param,					\
+	.can_queue = MAX_TO_IOP_MESSAGES ,/* max simultaneous cmds      */\
+	.this_id = 7,			/* scsi id of host adapter    */\
+	.sg_tablesize = 0,		/* max scatter-gather cmds    */\
+	.cmd_per_lun = 256,		/* cmds per lun (linked cmds) */\
+	.use_clustering = ENABLE_CLUSTERING,				\
+	.use_new_eh_code = 1						\
 }
 
 #else				/* KERNEL_VERSION > 2.2.16 */
 
 #define DPT_I2O { \
-	proc_info: adpt_proc_info,					\
-	detect: adpt_detect,						\
-	release: adpt_release,						\
-	info: adpt_info,						\
-	queuecommand: adpt_queue,					\
-	eh_abort_handler: adpt_abort,					\
-	eh_device_reset_handler: adpt_device_reset,			\
-	eh_bus_reset_handler: adpt_bus_reset,				\
-	eh_host_reset_handler: adpt_reset,				\
-	bios_param: adpt_bios_param,					\
-	slave_configure: adpt_slave_configure,				\
-	can_queue: MAX_TO_IOP_MESSAGES,	/* max simultaneous cmds      */\
-	this_id: 7,			/* scsi id of host adapter    */\
-	sg_tablesize: 0,		/* max scatter-gather cmds    */\
-	cmd_per_lun: 1,			/* cmds per lun (linked cmds) */\
-	use_clustering: ENABLE_CLUSTERING,				\
-	proc_name: "dpt_i2o"	/* this is the name of our proc node*/	\
+	.proc_info = adpt_proc_info,					\
+	.detect = adpt_detect,						\
+	.release = adpt_release,						\
+	.info = adpt_info,						\
+	.queuecommand = adpt_queue,					\
+	.eh_abort_handler = adpt_abort,					\
+	.eh_device_reset_handler = adpt_device_reset,			\
+	.eh_bus_reset_handler = adpt_bus_reset,				\
+	.eh_host_reset_handler = adpt_reset,				\
+	.bios_param = adpt_bios_param,					\
+	.slave_configure = adpt_slave_configure,				\
+	.can_queue = MAX_TO_IOP_MESSAGES,	/* max simultaneous cmds      */\
+	.this_id = 7,			/* scsi id of host adapter    */\
+	.sg_tablesize = 0,		/* max scatter-gather cmds    */\
+	.cmd_per_lun = 1,			/* cmds per lun (linked cmds) */\
+	.use_clustering = ENABLE_CLUSTERING,				\
+	.proc_name = "dpt_i2o"	/* this is the name of our proc node*/	\
 }
 #endif
 
--- linux-2.5.51/drivers/scsi/dtc.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/dtc.h	2002-12-10 14:28:33.000000000 -0600
@@ -54,19 +54,19 @@
  */
 
 #define DTC3x80 {						\
-	name:				"DTC 3180/3280 ",	\
-	detect:				dtc_detect,		\
-	queuecommand:			dtc_queue_command,	\
-	eh_abort_handler:		dtc_abort,		\
-	eh_bus_reset_handler:		dtc_bus_reset,		\
-	eh_device_reset_handler:	dtc_device_reset,	\
-	eh_host_reset_handler:          dtc_host_reset,		\
-	bios_param:     dtc_biosparam,				\
-	can_queue:      CAN_QUEUE,				\
-	this_id:        7,					\
-	sg_tablesize:   SG_ALL,					\
-	cmd_per_lun:    CMD_PER_LUN ,				\
-	use_clustering: DISABLE_CLUSTERING}
+	.name				= "DTC 3180/3280 ",	\
+	.detect				= dtc_detect,		\
+	.queuecommand			= dtc_queue_command,	\
+	.eh_abort_handler		= dtc_abort,		\
+	.eh_bus_reset_handler		= dtc_bus_reset,		\
+	.eh_device_reset_handler	= dtc_device_reset,	\
+	.eh_host_reset_handler          = dtc_host_reset,		\
+	.bios_param     = dtc_biosparam,				\
+	.can_queue      = CAN_QUEUE,				\
+	.this_id        = 7,					\
+	.sg_tablesize   = SG_ALL,					\
+	.cmd_per_lun    = CMD_PER_LUN ,				\
+	.use_clustering = DISABLE_CLUSTERING}
 
 #define NCR5380_implementation_fields \
     unsigned int base
--- linux-2.5.51/drivers/scsi/eata.h.old	2002-11-29 09:24:17.000000000 -0600
+++ linux-2.5.51/drivers/scsi/eata.h	2002-12-10 14:28:33.000000000 -0600
@@ -14,17 +14,17 @@
 #define EATA_VERSION "8.00.00"
 
 #define EATA {                                                               \
-                name:              "EATA/DMA 2.0x rev. " EATA_VERSION " ",   \
-                detect:                  eata2x_detect,                      \
-                release:                 eata2x_release,                     \
-                queuecommand:            eata2x_queuecommand,                \
-                eh_abort_handler:        eata2x_eh_abort,                    \
-                eh_device_reset_handler: NULL,                               \
-                eh_bus_reset_handler:    NULL,                               \
-                eh_host_reset_handler:   eata2x_eh_host_reset,               \
-                bios_param:              eata2x_bios_param,                  \
-		slave_configure:	 eata2x_slave_configure,	     \
-                this_id:                 7,                                  \
-                unchecked_isa_dma:       1,                                  \
-                use_clustering:          ENABLE_CLUSTERING                   \
+                .name              = "EATA/DMA 2.0x rev. " EATA_VERSION " ",   \
+                .detect                  = eata2x_detect,                      \
+                .release                 = eata2x_release,                     \
+                .queuecommand            = eata2x_queuecommand,                \
+                .eh_abort_handler        = eata2x_eh_abort,                    \
+                .eh_device_reset_handler = NULL,                               \
+                .eh_bus_reset_handler    = NULL,                               \
+                .eh_host_reset_handler   = eata2x_eh_host_reset,               \
+                .bios_param              = eata2x_bios_param,                  \
+		.slave_configure	 = eata2x_slave_configure,	     \
+                .this_id                 = 7,                                  \
+                .unchecked_isa_dma       = 1,                                  \
+                .use_clustering          = ENABLE_CLUSTERING                   \
              }
--- linux-2.5.51/drivers/scsi/eata_dma.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/eata_dma.h	2002-12-10 14:28:35.000000000 -0600
@@ -81,15 +81,15 @@
 #include <scsi/scsicam.h>
 
 #define EATA_DMA {                                      \
-        proc_info:         eata_proc_info,     /* procinfo       */ \
-        name:              "EATA (Extended Attachment) HBA driver", \
-        detect:            eata_detect,                 \
-        release:           eata_release,                \
-	queuecommand:      eata_queue,                  \
-	abort:             eata_abort,                  \
-	reset:             eata_reset,                  \
-	unchecked_isa_dma: 1,      /* True if ISA  */   \
-	use_clustering:    ENABLE_CLUSTERING }
+        .proc_info         = eata_proc_info,     /* procinfo       */ \
+        .name              = "EATA (Extended Attachment) HBA driver", \
+        .detect            = eata_detect,                 \
+        .release           = eata_release,                \
+	.queuecommand      = eata_queue,                  \
+	.abort             = eata_abort,                  \
+	.reset             = eata_reset,                  \
+	.unchecked_isa_dma = 1,      /* True if ISA  */   \
+	.use_clustering    = ENABLE_CLUSTERING }
 
 
 #endif /* _EATA_DMA_H */
--- linux-2.5.51/drivers/scsi/eata_pio.h.old	2002-11-11 07:14:45.000000000 -0600
+++ linux-2.5.51/drivers/scsi/eata_pio.h	2002-12-10 14:28:35.000000000 -0600
@@ -65,14 +65,14 @@
 static int eata_pio_release(struct Scsi_Host *);
 
 #define EATA_PIO {							\
-	proc_info:         	eata_pio_proc_info, /* procinfo	  */	\
-	name:              	"EATA (Extended Attachment) PIO driver",\
-	detect:            	eata_pio_detect,			\
-	release:           	eata_pio_release,			\
-	queuecommand:      	eata_pio_queue,				\
-	eh_abort_handler:  	eata_pio_abort,				\
-	eh_host_reset_handler:	eata_pio_host_reset,			\
-	use_clustering:    	ENABLE_CLUSTERING 			\
+	.proc_info         	= eata_pio_proc_info, /* procinfo	  */	\
+	.name              	= "EATA (Extended Attachment) PIO driver",\
+	.detect            	= eata_pio_detect,			\
+	.release           	= eata_pio_release,			\
+	.queuecommand      	= eata_pio_queue,				\
+	.eh_abort_handler  	= eata_pio_abort,				\
+	.eh_host_reset_handler	= eata_pio_host_reset,			\
+	.use_clustering    	= ENABLE_CLUSTERING 			\
 }
 
 #endif				/* _EATA_PIO_H */
--- linux-2.5.51/drivers/scsi/fastlane.h.old	2002-07-05 18:42:03.000000000 -0500
+++ linux-2.5.51/drivers/scsi/fastlane.h	2002-12-10 14:28:32.000000000 -0600
@@ -48,18 +48,18 @@
 extern int esp_proc_info(char *buffer, char **start, off_t offset, int length,
 			 int hostno, int inout);
 
-#define SCSI_FASTLANE     { proc_name:		"esp-fastlane", \
-			    proc_info:		esp_proc_info, \
-			    name:		"Fastlane SCSI", \
-			    detect:		fastlane_esp_detect, \
-			    release:		fastlane_esp_release, \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    this_id:		7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-			    use_clustering:	ENABLE_CLUSTERING }
+#define SCSI_FASTLANE     { .proc_name		= "esp-fastlane", \
+			    .proc_info		= esp_proc_info, \
+			    .name		= "Fastlane SCSI", \
+			    .detect		= fastlane_esp_detect, \
+			    .release		= fastlane_esp_release, \
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .this_id		= 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+			    .use_clustering	= ENABLE_CLUSTERING }
 
 #endif /* FASTLANE_H */
--- linux-2.5.51/drivers/scsi/fcal.h.old	2002-11-29 09:24:18.000000000 -0600
+++ linux-2.5.51/drivers/scsi/fcal.h	2002-12-10 14:28:32.000000000 -0600
@@ -26,21 +26,21 @@
 int fcal_slave_configure(Scsi_Device *);
 
 #define FCAL {							\
-	name:			"Fibre Channel Arbitrated Loop",\
-	detect:			fcal_detect,			\
-	release:		fcal_release,			\
-	proc_info:		fcal_proc_info,			\
-	queuecommand:		fcp_scsi_queuecommand,		\
-	slave_configure:	fcal_slave_configure,		\
-	can_queue:		FCAL_CAN_QUEUE,			\
-	this_id:		-1,				\
-	sg_tablesize:		1,				\
-	cmd_per_lun:		1,				\
-	use_clustering:		ENABLE_CLUSTERING,		\
-	eh_abort_handler:	fcp_scsi_abort,			\
-	eh_device_reset_handler:fcp_scsi_dev_reset,		\
-	eh_bus_reset_handler:	fcp_scsi_bus_reset,		\
-	eh_host_reset_handler:	fcp_scsi_host_reset,		\
+	.name			= "Fibre Channel Arbitrated Loop",\
+	.detect			= fcal_detect,			\
+	.release		= fcal_release,			\
+	.proc_info		= fcal_proc_info,			\
+	.queuecommand		= fcp_scsi_queuecommand,		\
+	.slave_configure	= fcal_slave_configure,		\
+	.can_queue		= FCAL_CAN_QUEUE,			\
+	.this_id		= -1,				\
+	.sg_tablesize		= 1,				\
+	.cmd_per_lun		= 1,				\
+	.use_clustering		= ENABLE_CLUSTERING,		\
+	.eh_abort_handler	= fcp_scsi_abort,			\
+	.eh_device_reset_handler = fcp_scsi_dev_reset,		\
+	.eh_bus_reset_handler	= fcp_scsi_bus_reset,		\
+	.eh_host_reset_handler	= fcp_scsi_host_reset,		\
 }	
 
 #endif /* !(_FCAL_H) */
--- linux-2.5.51/drivers/scsi/fd_mcs.h.old	2002-11-11 07:14:46.000000000 -0600
+++ linux-2.5.51/drivers/scsi/fd_mcs.h	2002-12-10 14:28:33.000000000 -0600
@@ -36,23 +36,23 @@
 static const char *fd_mcs_info(struct Scsi_Host *);
 
 #define FD_MCS {\
-                    proc_name:			"fd_mcs",		\
-                    proc_info:			fd_mcs_proc_info,	\
-		    detect:			fd_mcs_detect,		\
-		    release:			fd_mcs_release,		\
-		    info:			fd_mcs_info,		\
-		    command:			fd_mcs_command,		\
-		    queuecommand:   		fd_mcs_queue,           \
-		    eh_abort_handler:		fd_mcs_abort,           \
-		    eh_bus_reset_handler:	fd_mcs_bus_reset,       \
-		    eh_host_reset_handler:	fd_mcs_host_reset,      \
-		    eh_device_reset_handler:	fd_mcs_device_reset,    \
-		    bios_param:     		fd_mcs_biosparam,       \
-		    can_queue:      		1, 			\
-		    this_id:        		7, 			\
-		    sg_tablesize:   		64, 			\
-		    cmd_per_lun:    		1, 			\
-		    use_clustering: 		DISABLE_CLUSTERING	\
+                    .proc_name			= "fd_mcs",		\
+                    .proc_info			= fd_mcs_proc_info,	\
+		    .detect			= fd_mcs_detect,		\
+		    .release			= fd_mcs_release,		\
+		    .info			= fd_mcs_info,		\
+		    .command			= fd_mcs_command,		\
+		    .queuecommand   		= fd_mcs_queue,           \
+		    .eh_abort_handler		= fd_mcs_abort,           \
+		    .eh_bus_reset_handler	= fd_mcs_bus_reset,       \
+		    .eh_host_reset_handler	= fd_mcs_host_reset,      \
+		    .eh_device_reset_handler	= fd_mcs_device_reset,    \
+		    .bios_param     		= fd_mcs_biosparam,       \
+		    .can_queue      		= 1, 			\
+		    .this_id        		= 7, 			\
+		    .sg_tablesize   		= 64, 			\
+		    .cmd_per_lun    		= 1, 			\
+		    .use_clustering 		= DISABLE_CLUSTERING	\
 		}
 
 #endif				/* _FD_MCS_H */
--- linux-2.5.51/drivers/scsi/fdomain.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/fdomain.h	2002-12-10 14:28:33.000000000 -0600
@@ -39,21 +39,21 @@
 				   int length, int hostno, int inout );
 static int        fdomain_16x0_release(struct Scsi_Host *shpnt);
 
-#define FDOMAIN_16X0 { proc_info:      		fdomain_16x0_proc_info,           \
-		       detect:         		fdomain_16x0_detect,              \
-		       info:           		fdomain_16x0_info,                \
-		       command:        		fdomain_16x0_command,             \
-		       queuecommand:   		fdomain_16x0_queue,               \
-		       eh_abort_handler:	fdomain_16x0_abort,               \
-		       eh_bus_reset_handler:	fdomain_16x0_bus_reset,           \
-		       eh_device_reset_handler:	fdomain_16x0_device_reset,        \
-		       eh_host_reset_handler:	fdomain_16x0_host_reset,          \
-		       bios_param:		fdomain_16x0_biosparam,           \
-		       release:			fdomain_16x0_release,		  \
-		       can_queue:		1, 				  \
-		       this_id:  		6, 				  \
-		       sg_tablesize:		64, 				  \
-		       cmd_per_lun:		1, 				  \
-		       use_clustering:		DISABLE_CLUSTERING		  \
+#define FDOMAIN_16X0 { .proc_info      		= fdomain_16x0_proc_info,           \
+		       .detect         		= fdomain_16x0_detect,              \
+		       .info           		= fdomain_16x0_info,                \
+		       .command        		= fdomain_16x0_command,             \
+		       .queuecommand   		= fdomain_16x0_queue,               \
+		       .eh_abort_handler	= fdomain_16x0_abort,               \
+		       .eh_bus_reset_handler	= fdomain_16x0_bus_reset,           \
+		       .eh_device_reset_handler	= fdomain_16x0_device_reset,        \
+		       .eh_host_reset_handler	= fdomain_16x0_host_reset,          \
+		       .bios_param		= fdomain_16x0_biosparam,           \
+		       .release			= fdomain_16x0_release,		  \
+		       .can_queue		= 1, 				  \
+		       .this_id  		= 6, 				  \
+		       .sg_tablesize		= 64, 				  \
+		       .cmd_per_lun		= 1, 				  \
+		       .use_clustering		= DISABLE_CLUSTERING		  \
 }
 #endif
--- linux-2.5.51/drivers/scsi/g_NCR5380.h.old	2002-11-11 07:14:46.000000000 -0600
+++ linux-2.5.51/drivers/scsi/g_NCR5380.h	2002-12-10 14:28:32.000000000 -0600
@@ -66,22 +66,22 @@
 #endif
 
 #define GENERIC_NCR5380 {						\
-	proc_info:      generic_NCR5380_proc_info,			\
-	name:           "Generic NCR5380/NCR53C400 Scsi Driver",	\
-	detect:         generic_NCR5380_detect,				\
-	release:        generic_NCR5380_release_resources,		\
-	info:           (void *)generic_NCR5380_info,			\
-	queuecommand:   generic_NCR5380_queue_command,			\
-	eh_abort_handler:generic_NCR5380_abort,				\
-	eh_bus_reset_handler:generic_NCR5380_bus_reset,			\
-	eh_device_reset_handler:generic_NCR5380_device_reset,		\
-	eh_host_reset_handler:generic_NCR5380_host_reset,			\
-	bios_param:     NCR5380_BIOSPARAM,				\
-	can_queue:      CAN_QUEUE,					\
-        this_id:        7,						\
-        sg_tablesize:   SG_ALL,						\
-	cmd_per_lun:    CMD_PER_LUN ,					\
-        use_clustering: DISABLE_CLUSTERING}
+	.proc_info      = generic_NCR5380_proc_info,			\
+	.name           = "Generic NCR5380/NCR53C400 Scsi Driver",	\
+	.detect         = generic_NCR5380_detect,				\
+	.release        = generic_NCR5380_release_resources,		\
+	.info           = (void *)generic_NCR5380_info,			\
+	.queuecommand   = generic_NCR5380_queue_command,			\
+	.eh_abort_handler = generic_NCR5380_abort,				\
+	.eh_bus_reset_handler = generic_NCR5380_bus_reset,			\
+	.eh_device_reset_handler = generic_NCR5380_device_reset,		\
+	.eh_host_reset_handler = generic_NCR5380_host_reset,			\
+	.bios_param     = NCR5380_BIOSPARAM,				\
+	.can_queue      = CAN_QUEUE,					\
+        .this_id        = 7,						\
+        .sg_tablesize   = SG_ALL,						\
+	.cmd_per_lun    = CMD_PER_LUN ,					\
+        .use_clustering = DISABLE_CLUSTERING}
 
 #ifndef HOSTS_C
 
--- linux-2.5.51/drivers/scsi/gdth.h.old	2002-10-31 16:20:05.000000000 -0600
+++ linux-2.5.51/drivers/scsi/gdth.h	2002-12-10 14:28:33.000000000 -0600
@@ -1037,28 +1037,28 @@
 int gdth_eh_device_reset(Scsi_Cmnd *scp);
 int gdth_eh_bus_reset(Scsi_Cmnd *scp);
 int gdth_eh_host_reset(Scsi_Cmnd *scp);
-#define GDTH { proc_name:       "gdth",                          \
-               proc_info:       gdth_proc_info,                  \
-               name:            "GDT SCSI Disk Array Controller",\
-               detect:          gdth_detect,                     \
-               release:         gdth_release,                    \
-               info:            gdth_info,                       \
-               command:         NULL,                            \
-               queuecommand:    gdth_queuecommand,               \
-               eh_abort_handler: gdth_eh_abort,                  \
-               eh_device_reset_handler: gdth_eh_device_reset,    \
-               eh_bus_reset_handler: gdth_eh_bus_reset,          \
-               eh_host_reset_handler: gdth_eh_host_reset,        \
-               abort:           gdth_abort,                      \
-               reset:           gdth_reset,                      \
-               bios_param:      gdth_bios_param,                 \
-               can_queue:       GDTH_MAXCMDS,                    \
-               this_id:         -1,                              \
-               sg_tablesize:    GDTH_MAXSG,                      \
-               cmd_per_lun:     GDTH_MAXC_P_L,                   \
-               present:         0,                               \
-               unchecked_isa_dma: 1,                             \
-               use_clustering:  ENABLE_CLUSTERING }
+#define GDTH { .proc_name       = "gdth",                          \
+               .proc_info       = gdth_proc_info,                  \
+               .name            = "GDT SCSI Disk Array Controller",\
+               .detect          = gdth_detect,                     \
+               .release         = gdth_release,                    \
+               .info            = gdth_info,                       \
+               .command         = NULL,                            \
+               .queuecommand    = gdth_queuecommand,               \
+               .eh_abort_handler = gdth_eh_abort,                  \
+               .eh_device_reset_handler = gdth_eh_device_reset,    \
+               .eh_bus_reset_handler = gdth_eh_bus_reset,          \
+               .eh_host_reset_handler = gdth_eh_host_reset,        \
+               .abort           = gdth_abort,                      \
+               .reset           = gdth_reset,                      \
+               .bios_param      = gdth_bios_param,                 \
+               .can_queue       = GDTH_MAXCMDS,                    \
+               .this_id         = -1,                              \
+               .sg_tablesize    = GDTH_MAXSG,                      \
+               .cmd_per_lun     = GDTH_MAXC_P_L,                   \
+               .present         = 0,                               \
+               .unchecked_isa_dma = 1,                             \
+               .use_clustering  = ENABLE_CLUSTERING }
 
 #endif
 
--- linux-2.5.51/drivers/scsi/gvp11.h.old	2002-07-05 18:42:33.000000000 -0500
+++ linux-2.5.51/drivers/scsi/gvp11.h	2002-12-10 14:28:34.000000000 -0600
@@ -32,18 +32,18 @@
 
 #ifdef HOSTS_C
 
-#define GVP11_SCSI {  proc_name:	   "GVP11", \
-		      name:                "GVP Series II SCSI", \
-		      detect:              gvp11_detect,    \
-		      release:             gvp11_release,   \
-		      queuecommand:        wd33c93_queuecommand, \
-		      abort:               wd33c93_abort,   \
-		      reset:               wd33c93_reset,   \
-		      can_queue:           CAN_QUEUE,       \
-		      this_id:             7,               \
-		      sg_tablesize:        SG_ALL,          \
-		      cmd_per_lun:	   CMD_PER_LUN,     \
-		      use_clustering:      DISABLE_CLUSTERING }
+#define GVP11_SCSI {  .proc_name	   = "GVP11", \
+		      .name                = "GVP Series II SCSI", \
+		      .detect              = gvp11_detect,    \
+		      .release             = gvp11_release,   \
+		      .queuecommand        = wd33c93_queuecommand, \
+		      .abort               = wd33c93_abort,   \
+		      .reset               = wd33c93_reset,   \
+		      .can_queue           = CAN_QUEUE,       \
+		      .this_id             = 7,               \
+		      .sg_tablesize        = SG_ALL,          \
+		      .cmd_per_lun	   = CMD_PER_LUN,     \
+		      .use_clustering      = DISABLE_CLUSTERING }
 #else
 
 /*
--- linux-2.5.51/drivers/scsi/ibmmca.h.old	2002-11-18 01:02:09.000000000 -0600
+++ linux-2.5.51/drivers/scsi/ibmmca.h	2002-12-10 14:28:33.000000000 -0600
@@ -27,22 +27,22 @@
  * about this, but it will break things in the future.
  */
 #define IBMMCA {                                                      \
-          proc_name:      "ibmmca",             /*proc_name*/         \
-	  proc_info:	  ibmmca_proc_info,     /*proc info fn*/      \
-          name:           "IBM SCSI-Subsystem", /*name*/              \
-          detect:         ibmmca_detect,        /*detect fn*/         \
-          release:        ibmmca_release,       /*release fn*/        \
-          command:        ibmmca_command,       /*command fn*/        \
-          queuecommand:   ibmmca_queuecommand,  /*queuecommand fn*/   \
-	  eh_abort_handler:ibmmca_abort,         /*abort fn*/          \
-	  eh_host_reset_handler:ibmmca_host_reset,         /*reset fn*/          \
-          bios_param:     ibmmca_biosparam,     /*bios fn*/           \
-          can_queue:      16,                   /*can_queue*/         \
-          this_id:        7,                    /*set by detect*/     \
-          sg_tablesize:   16,                   /*sg_tablesize*/      \
-          cmd_per_lun:    1,                    /*cmd_per_lun*/       \
-          unchecked_isa_dma: 0,                 /*32-Bit Busmaster */ \
-          use_clustering: ENABLE_CLUSTERING     /*use_clustering*/    \
+          .proc_name      = "ibmmca",             /*proc_name*/         \
+	  .proc_info	  = ibmmca_proc_info,     /*proc info fn*/      \
+          .name           = "IBM SCSI-Subsystem", /*name*/              \
+          .detect         = ibmmca_detect,        /*detect fn*/         \
+          .release        = ibmmca_release,       /*release fn*/        \
+          .command        = ibmmca_command,       /*command fn*/        \
+          .queuecommand   = ibmmca_queuecommand,  /*queuecommand fn*/   \
+	  .eh_abort_handler = ibmmca_abort,         /*abort fn*/          \
+	  .eh_host_reset_handler = ibmmca_host_reset,         /*reset fn*/          \
+          .bios_param     = ibmmca_biosparam,     /*bios fn*/           \
+          .can_queue      = 16,                   /*can_queue*/         \
+          .this_id        = 7,                    /*set by detect*/     \
+          .sg_tablesize   = 16,                   /*sg_tablesize*/      \
+          .cmd_per_lun    = 1,                    /*cmd_per_lun*/       \
+          .unchecked_isa_dma = 0,                 /*32-Bit Busmaster */ \
+          .use_clustering = ENABLE_CLUSTERING     /*use_clustering*/    \
           }
 
 #endif /* _IBMMCA_H */
--- linux-2.5.51/drivers/scsi/imm.h.old	2002-10-31 16:20:05.000000000 -0600
+++ linux-2.5.51/drivers/scsi/imm.h	2002-12-10 14:28:32.000000000 -0600
@@ -163,21 +163,21 @@
 int imm_biosparam(struct scsi_device *, struct block_device *,
 		sector_t, int *);
 
-#define IMM {	proc_name:			"imm",			\
-		proc_info:			imm_proc_info,		\
-		name:				"Iomega VPI2 (imm) interface",\
-		detect:				imm_detect,		\
-		release:			imm_release,		\
-		command:			imm_command,		\
-		queuecommand:			imm_queuecommand,	\
-                eh_abort_handler:               imm_abort,              \
-                eh_device_reset_handler:        NULL,                   \
-                eh_bus_reset_handler:           imm_reset,              \
-                eh_host_reset_handler:          imm_reset,              \
-		bios_param:		        imm_biosparam,		\
-		this_id:			7,			\
-		sg_tablesize:			SG_ALL,			\
-		cmd_per_lun:			1,			\
-		use_clustering:			ENABLE_CLUSTERING	\
+#define IMM {	.proc_name			= "imm",			\
+		.proc_info			= imm_proc_info,		\
+		.name				= "Iomega VPI2 (imm) interface",\
+		.detect				= imm_detect,		\
+		.release			= imm_release,		\
+		.command			= imm_command,		\
+		.queuecommand			= imm_queuecommand,	\
+                .eh_abort_handler               = imm_abort,              \
+                .eh_device_reset_handler        = NULL,                   \
+                .eh_bus_reset_handler           = imm_reset,              \
+                .eh_host_reset_handler          = imm_reset,              \
+		.bios_param		        = imm_biosparam,		\
+		.this_id			= 7,			\
+		.sg_tablesize			= SG_ALL,			\
+		.cmd_per_lun			= 1,			\
+		.use_clustering			= ENABLE_CLUSTERING	\
 }
 #endif				/* _IMM_H */
--- linux-2.5.51/drivers/scsi/in2000.h.old	2002-10-31 16:20:05.000000000 -0600
+++ linux-2.5.51/drivers/scsi/in2000.h	2002-12-10 14:28:32.000000000 -0600
@@ -414,22 +414,22 @@
 #define IN2000_CPL      2
 #define IN2000_HOST_ID  7
 
-#define IN2000 {  proc_name:       		"in2000",	     /* name of /proc/scsi directory entry */ \
-                  proc_info:       		in2000_proc_info,    /* pointer to proc info function */ \
-                  name:            		"Always IN2000",     /* device name */ \
-                  detect:          		in2000_detect,       /* returns number of in2000's found */ \
-                  release:			in2000_release,	     /* release the in2000 controller */ \
-                  queuecommand:    		in2000_queuecommand, /* queue scsi command, don't wait */ \
-                  eh_abort_handler:		in2000_abort,        /* abort current command */ \
-                  eh_bus_reset_handler:		in2000_bus_reset,    /* reset scsi bus */ \
-                  eh_device_reset_handler:	in2000_device_reset, /* reset scsi device */ \
-                  eh_host_reset_handler:	in2000_host_reset,   /* reset scsi hba */ \
-                  bios_param:      		in2000_biosparam,    /* figures out BIOS parameters for lilo, etc */ \
-                  can_queue:       		IN2000_CAN_Q,        /* max commands we can queue up */ \
-                  this_id:         		IN2000_HOST_ID,      /* host-adapter scsi id */ \
-                  sg_tablesize:    		IN2000_SG,           /* scatter-gather table size */ \
-                  cmd_per_lun:     		IN2000_CPL,          /* commands per lun */ \
-                  use_clustering:  		DISABLE_CLUSTERING,  /* ENABLE_CLUSTERING may speed things up */ \
+#define IN2000 {  .proc_name       		= "in2000",	     /* name of /proc/scsi directory entry */ \
+                  .proc_info       		= in2000_proc_info,    /* pointer to proc info function */ \
+                  .name            		= "Always IN2000",     /* device name */ \
+                  .detect          		= in2000_detect,       /* returns number of in2000's found */ \
+                  .release			= in2000_release,	     /* release the in2000 controller */ \
+                  .queuecommand    		= in2000_queuecommand, /* queue scsi command, don't wait */ \
+                  .eh_abort_handler		= in2000_abort,        /* abort current command */ \
+                  .eh_bus_reset_handler		= in2000_bus_reset,    /* reset scsi bus */ \
+                  .eh_device_reset_handler	= in2000_device_reset, /* reset scsi device */ \
+                  .eh_host_reset_handler	= in2000_host_reset,   /* reset scsi hba */ \
+                  .bios_param      		= in2000_biosparam,    /* figures out BIOS parameters for lilo, etc */ \
+                  .can_queue       		= IN2000_CAN_Q,        /* max commands we can queue up */ \
+                  .this_id         		= IN2000_HOST_ID,      /* host-adapter scsi id */ \
+                  .sg_tablesize    		= IN2000_SG,           /* scatter-gather table size */ \
+                  .cmd_per_lun     		= IN2000_CPL,          /* commands per lun */ \
+                  .use_clustering  		= DISABLE_CLUSTERING,  /* ENABLE_CLUSTERING may speed things up */ \
                 }
 
 #endif /* IN2000_H */
--- linux-2.5.51/drivers/scsi/ini9100u.h.old	2002-11-29 09:24:18.000000000 -0600
+++ linux-2.5.51/drivers/scsi/ini9100u.h	2002-12-10 14:28:34.000000000 -0600
@@ -88,31 +88,31 @@
 #define i91u_REVID "Initio INI-9X00U/UW SCSI device driver; Revision: 1.03g"
 
 #define INI9100U	{ \
-	next:		NULL,						\
-	module:		NULL,						\
-	proc_name:	"INI9100U", \
-	proc_info:	NULL,				\
-	name:		i91u_REVID, \
-	detect:		i91u_detect, \
-	release:	i91u_release, \
-	info:		NULL,					\
-	command:	i91u_command, \
-	queuecommand:	i91u_queue, \
- 	eh_strategy_handler: NULL, \
- 	eh_abort_handler: NULL, \
- 	eh_device_reset_handler: NULL, \
- 	eh_bus_reset_handler: NULL, \
- 	eh_host_reset_handler: NULL, \
-	abort:		i91u_abort, \
-	reset:		i91u_reset, \
-	bios_param:	i91u_biosparam, \
-	can_queue:	1, \
-	this_id:	1, \
-	sg_tablesize:	SG_ALL, \
-	cmd_per_lun: 	1, \
-	present:	0, \
-	unchecked_isa_dma: 0, \
-	use_clustering:	ENABLE_CLUSTERING, \
+	.next		= NULL,						\
+	.module		= NULL,						\
+	.proc_name	= "INI9100U", \
+	.proc_info	= NULL,				\
+	.name		= i91u_REVID, \
+	.detect		= i91u_detect, \
+	.release	= i91u_release, \
+	.info		= NULL,					\
+	.command	= i91u_command, \
+	.queuecommand	= i91u_queue, \
+ 	.eh_strategy_handler = NULL, \
+ 	.eh_abort_handler = NULL, \
+ 	.eh_device_reset_handler = NULL, \
+ 	.eh_bus_reset_handler = NULL, \
+ 	.eh_host_reset_handler = NULL, \
+	.abort		= i91u_abort, \
+	.reset		= i91u_reset, \
+	.bios_param	= i91u_biosparam, \
+	.can_queue	= 1, \
+	.this_id	= 1, \
+	.sg_tablesize	= SG_ALL, \
+	.cmd_per_lun 	= 1, \
+	.present	= 0, \
+	.unchecked_isa_dma = 0, \
+	.use_clustering	= ENABLE_CLUSTERING, \
 }
 
 #define VIRT_TO_BUS(i)  (unsigned int) virt_to_bus((void *)(i))
--- linux-2.5.51/drivers/scsi/inia100.h.old	2002-11-29 09:24:18.000000000 -0600
+++ linux-2.5.51/drivers/scsi/inia100.h	2002-12-10 14:28:32.000000000 -0600
@@ -85,21 +85,21 @@
 #define inia100_REVID "Initio INI-A100U2W SCSI device driver; Revision: 1.02d"
 
 #define INIA100	{ \
-	proc_name:	"inia100", \
-	name:		inia100_REVID, \
-	detect:		inia100_detect, \
-	release:	inia100_release, \
-	queuecommand:	inia100_queue, \
-	eh_abort_handler:inia100_abort, \
-	eh_bus_reset_handler:	inia100_bus_reset, \
-	eh_device_reset_handler:inia100_device_reset, \
-	can_queue:	1, \
-	this_id:	1, \
-	sg_tablesize:	SG_ALL, \
-	cmd_per_lun: 	1, \
-	present:	0, \
-	unchecked_isa_dma: 0, \
-	use_clustering:	ENABLE_CLUSTERING, \
+	.proc_name	= "inia100", \
+	.name		= inia100_REVID, \
+	.detect		= inia100_detect, \
+	.release	= inia100_release, \
+	.queuecommand	= inia100_queue, \
+	.eh_abort_handler = inia100_abort, \
+	.eh_bus_reset_handler	= inia100_bus_reset, \
+	.eh_device_reset_handler = inia100_device_reset, \
+	.can_queue	= 1, \
+	.this_id	= 1, \
+	.sg_tablesize	= SG_ALL, \
+	.cmd_per_lun 	= 1, \
+	.present	= 0, \
+	.unchecked_isa_dma = 0, \
+	.use_clustering	= ENABLE_CLUSTERING, \
 }
 
 #define ULONG   unsigned long
--- linux-2.5.51/drivers/scsi/ips.h.old	2002-11-29 09:24:19.000000000 -0600
+++ linux-2.5.51/drivers/scsi/ips.h	2002-12-10 14:28:33.000000000 -0600
@@ -407,80 +407,80 @@
     * Scsi_Host Template
     */
 #if LINUX_VERSION_CODE < LinuxVersionCode(2,4,0)
- #define IPS {                            \
-    module : NULL,                        \
-    proc_info : NULL,                     \
-    proc_dir : NULL,                      \
-    name : NULL,                          \
-    detect : ips_detect,                  \
-    release : ips_release,                \
-    info : ips_info,                      \
-    command : NULL,                       \
-    queuecommand : ips_queue,             \
-    eh_strategy_handler : NULL,           \
-    eh_abort_handler : ips_eh_abort,      \
-    eh_device_reset_handler : NULL,       \
-    eh_bus_reset_handler : NULL,          \
-    eh_host_reset_handler : ips_eh_reset, \
-    abort : NULL,                         \
-    reset : NULL,                         \
-    slave_attach : NULL,                  \
-    bios_param : ips_biosparam,           \
-    can_queue : 0,                        \
-    this_id: -1,                          \
-    sg_tablesize : IPS_MAX_SG,            \
-    cmd_per_lun: 3,                       \
-    present : 0,                          \
-    unchecked_isa_dma : 0,                \
-    use_clustering : ENABLE_CLUSTERING,   \
-    use_new_eh_code : 1                   \
+#define IPS {	\
+	.module				= NULL,		\
+	.proc_info			= NULL,		\
+	.proc_dir			= NULL,		\
+	.name				= NULL,		\
+	.detect				= ips_detect,	\
+	.release			= ips_release,	\
+	.info				= ips_info,	\
+	.command			= NULL,		\
+	.queuecommand			= ips_queue,	\
+	.eh_strategy_handler		= NULL,		\
+	.eh_abort_handler		= ips_eh_abort,	\
+	.eh_device_reset_handler	= NULL,		\
+	.eh_bus_reset_handler		= NULL,		\
+	.eh_host_reset_handler		= ips_eh_reset,	\
+	.abort				= NULL,		\
+	.reset				= NULL,		\
+	.slave_attach			= NULL,		\
+	.bios_param			= ips_biosparam,\
+	.can_queue			= 0,		\
+	.this_id			= -1,		\
+	.sg_tablesize			= IPS_MAX_SG,	\
+	.cmd_per_lun			= 3,		\
+	.present			= 0,		\
+	.unchecked_isa_dma		= 0,		\
+	.use_clustering			= ENABLE_CLUSTERING,	\
+	.use_new_eh_code		= 1 \
 }
 #elif LINUX_VERSION_CODE < LinuxVersionCode(2,5,0)
- #define IPS {                            \
-    module : NULL,                        \
-    proc_info : NULL,                     \
-    name : NULL,                          \
-    detect : ips_detect,                  \
-    release : ips_release,                \
-    info : ips_info,                      \
-    command : NULL,                       \
-    queuecommand : ips_queue,             \
-    eh_strategy_handler : NULL,           \
-    eh_abort_handler : ips_eh_abort,      \
-    eh_device_reset_handler : NULL,       \
-    eh_bus_reset_handler : NULL,          \
-    eh_host_reset_handler : ips_eh_reset, \
-    abort : NULL,                         \
-    reset : NULL,                         \
-    slave_attach : NULL,                  \
-    bios_param : ips_biosparam,           \
-    can_queue : 0,                        \
-    this_id: -1,                          \
-    sg_tablesize : IPS_MAX_SG,            \
-    cmd_per_lun: 3,                       \
-    present : 0,                          \
-    unchecked_isa_dma : 0,                \
-    use_clustering : ENABLE_CLUSTERING,   \
-    use_new_eh_code : 1                   \
+#define IPS{	\
+	.module				= NULL,		\
+	.proc_info			= NULL,		\
+	.name				= NULL,		\
+	.detect				= ips_detect,	\
+	.release			= ips_release,	\
+	.info				= ips_info,	\
+	.command			= NULL,		\
+	.queuecommand			= ips_queue,	\
+	.eh_strategy_handler		= NULL,		\
+	.eh_abort_handler		= ips_eh_abort,	\
+	.eh_device_reset_handler	= NULL,		\
+	.eh_bus_reset_handler		= NULL,		\
+	.eh_host_reset_handler		= ips_eh_reset,	\
+	.abort				= NULL,		\
+	.reset				= NULL,		\
+	.slave_attach			= NULL,		\
+	.bios_param			= ips_biosparam,\
+	.can_queue			= 0,		\
+	.this_id			= -1,		\
+	.sg_tablesize			= IPS_MAX_SG,	\
+	.cmd_per_lun			= 3,		\
+	.present			= 0,		\
+	.unchecked_isa_dma		= 0,		\
+	.use_clustering			= ENABLE_CLUSTERING,\
+	.use_new_eh_code		= 1 \
 }
 #else
- #define IPS {                            \
-    detect : ips_detect,                  \
-    release : ips_release,                \
-    info : ips_info,                      \
-    queuecommand : ips_queue,             \
-    eh_abort_handler : ips_eh_abort,      \
-    eh_host_reset_handler : ips_eh_reset, \
-    slave_configure : ips_slave_configure,\
-    bios_param : ips_biosparam,           \
-    can_queue : 0,                        \
-    this_id: -1,                          \
-    sg_tablesize : IPS_MAX_SG,            \
-    cmd_per_lun: 3,                       \
-    present : 0,                          \
-    unchecked_isa_dma : 0,                \
-    use_clustering : ENABLE_CLUSTERING,   \
-    highmem_io : 1                        \
+#define IPS {	\
+	.detect			= ips_detect,		\
+	.release		= ips_release,		\
+	.info			= ips_info,		\
+	.queuecommand		= ips_queue,		\
+	.eh_abort_handler	= ips_eh_abort,		\
+	.eh_host_reset_handler	= ips_eh_reset,		\
+	.slave_configure	= ips_slave_configure,	\
+	.bios_param		= ips_biosparam,	\
+	.can_queue		= 0,			\
+	.this_id		= -1,			\
+	.sg_tablesize		= IPS_MAX_SG,		\
+	.cmd_per_lun		= 3,			\
+	.present		= 0,			\
+	.unchecked_isa_dma	= 0,			\
+	.use_clustering		= ENABLE_CLUSTERING,	\
+	.highmem_io		= 1 \
 }
 #endif
 
-- 
They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety.
 -- Benjamin Franklin, Historical Review of Pennsylvania, 1759

^ permalink raw reply

* Re: [PATCH] declare and export scsi_bus_type
From: James Bottomley @ 2002-12-12 13:58 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Matt Domsch, linux-scsi, mochel
In-Reply-To: <20021212091203.A21539@infradead.org>

hch@infradead.org said:
> I'm very unhappy with exporting random parts of the scsi midlayer.  In
> what way do you need it?  How does your code work with modular scsi? 

Convention tends to be that these bus types are exported.  That's certainly 
true for pci and mca.

However, perhaps we should have a better way of finding them than by direct 
export of the symbol.  Since each bus is required to have a unique name, and 
the sysfs system has an internal list of bus_types, we could have a function 
which takes the name and returns a pointer to the bus_type if it exists?

James



^ permalink raw reply

* [PATCH] C99 initializers for drivers/scsi (1 of 4)
From: Art Haas @ 2002-12-12 14:04 UTC (permalink / raw)
  To: linux-kernel

Hi.

Here's a set of patches for converting drivers/scsi to use C99
initializers. The patches are against 2.5.51.

Art Haas

--- linux-2.5.51/drivers/scsi/3w-xxxx.h.old	2002-11-05 09:33:42.000000000 -0600
+++ linux-2.5.51/drivers/scsi/3w-xxxx.h	2002-12-10 14:28:33.000000000 -0600
@@ -474,23 +474,23 @@
 
 /* Scsi_Host_Template Initializer */
 #define TWXXXX {					\
-	proc_name : "3w-xxxx",				\
-	proc_info : tw_scsi_proc_info,			\
-	name : "3ware Storage Controller",		\
-	detect : tw_scsi_detect,			\
-	release : tw_scsi_release,			\
-	queuecommand : tw_scsi_queue,			\
-	eh_abort_handler : tw_scsi_eh_abort,		\
-	eh_host_reset_handler : tw_scsi_eh_reset,	\
-	bios_param : tw_scsi_biosparam,			\
-	can_queue : TW_Q_LENGTH-1,			\
-	this_id: -1,					\
-	sg_tablesize : TW_MAX_SGL_LENGTH,		\
-	cmd_per_lun: TW_MAX_CMDS_PER_LUN,		\
-	present : 0,					\
-	unchecked_isa_dma : 0,				\
-	use_clustering : ENABLE_CLUSTERING,		\
-	emulated : 1,					\
-	highmem_io : 1					\
+	.proc_name	= "3w-xxxx",			\
+	.proc_info	= tw_scsi_proc_info,		\
+	.name		= "3ware Storage Controller",	\
+	.detect		= tw_scsi_detect,		\
+	.release	= tw_scsi_release,		\
+	.queuecommand	= tw_scsi_queue,		\
+	.eh_abort_handler	= tw_scsi_eh_abort,	\
+	.eh_host_reset_handler	= tw_scsi_eh_reset,	\
+	.bios_param	= tw_scsi_biosparam,		\
+	.can_queue	= TW_Q_LENGTH-1,		\
+	.this_id	= -1,				\
+	.sg_tablesize	= TW_MAX_SGL_LENGTH,		\
+	.cmd_per_lun	= TW_MAX_CMDS_PER_LUN,		\
+	.present	= 0,				\
+	.unchecked_isa_dma	= 0,			\
+	.use_clustering	= ENABLE_CLUSTERING,		\
+	.emulated	= 1,				\
+	.highmem_io	= 1				\
 }
 #endif /* _3W_XXXX_H */
--- linux-2.5.51/drivers/scsi/53c7,8xx.h.old	2002-10-31 16:20:00.000000000 -0600
+++ linux-2.5.51/drivers/scsi/53c7,8xx.h	2002-12-10 14:28:34.000000000 -0600
@@ -59,16 +59,16 @@
 #endif
 
 #define NCR53c7xx {					\
-          name:           "NCR53c{7,8}xx (rel 17)",	\
-	  detect:         NCR53c7xx_detect,		\
-	  queuecommand:   NCR53c7xx_queue_command,	\
-	  abort:          NCR53c7xx_abort,		\
-	  reset:          NCR53c7xx_reset,		\
-	  can_queue:      24,				\
-	  this_id:        7,				\
-	  sg_tablesize:   127,				\
-	  cmd_per_lun:    3,				\
-	  use_clustering: DISABLE_CLUSTERING} 
+          .name           = "NCR53c{7,8}xx (rel 17)",	\
+	  .detect         = NCR53c7xx_detect,		\
+	  .queuecommand   = NCR53c7xx_queue_command,	\
+	  .abort          = NCR53c7xx_abort,		\
+	  .reset          = NCR53c7xx_reset,		\
+	  .can_queue      = 24,				\
+	  .this_id        = 7,				\
+	  .sg_tablesize   = 127,				\
+	  .cmd_per_lun    = 3,				\
+	  .use_clustering = DISABLE_CLUSTERING} 
 
 #ifndef HOSTS_C
 
--- linux-2.5.51/drivers/scsi/AM53C974.h.old	2002-10-31 16:20:00.000000000 -0600
+++ linux-2.5.51/drivers/scsi/AM53C974.h	2002-12-10 14:28:34.000000000 -0600
@@ -51,20 +51,20 @@
 };
 
 #define AM53C974 {				  \
-    proc_name:      "am53c974",    	          \
-    name:           "AM53C974",        		  \
-    detect:         AM53C974_pci_detect,	  \
-    release:        AM53C974_release,		  \
-    info:           AM53C974_info,     		  \
-    command:        AM53C974_command,  		  \
-    queuecommand:   AM53C974_queue_command,	  \
-    abort:          AM53C974_abort,    		  \
-    reset:          AM53C974_reset,    		  \
-    can_queue:      12,                 	  \
-    this_id:        -1,                           \
-    sg_tablesize:   SG_ALL,            		  \
-    cmd_per_lun:    1,                 		  \
-    use_clustering: DISABLE_CLUSTERING 		  \
+    .proc_name      = "am53c974",    	          \
+    .name           = "AM53C974",        		  \
+    .detect         = AM53C974_pci_detect,	  \
+    .release        = AM53C974_release,		  \
+    .info           = AM53C974_info,     		  \
+    .command        = AM53C974_command,  		  \
+    .queuecommand   = AM53C974_queue_command,	  \
+    .abort          = AM53C974_abort,    		  \
+    .reset          = AM53C974_reset,    		  \
+    .can_queue      = 12,                 	  \
+    .this_id        = -1,                           \
+    .sg_tablesize   = SG_ALL,            		  \
+    .cmd_per_lun    = 1,                 		  \
+    .use_clustering = DISABLE_CLUSTERING 		  \
     }
 
 static int AM53C974_pci_detect(Scsi_Host_Template * tpnt);
--- linux-2.5.51/drivers/scsi/BusLogic.h.old	2002-11-29 09:24:15.000000000 -0600
+++ linux-2.5.51/drivers/scsi/BusLogic.h	2002-12-10 14:28:34.000000000 -0600
@@ -65,18 +65,18 @@
 */
 
 #define BUSLOGIC							       \
-  { proc_name:      "BusLogic",			  /* ProcFS Directory Entry */ \
-    proc_info:      BusLogic_ProcDirectoryInfo,	  /* ProcFS Info Function   */ \
-    name:           "BusLogic",			  /* Driver Name            */ \
-    detect:         BusLogic_DetectHostAdapter,	  /* Detect Host Adapter    */ \
-    release:        BusLogic_ReleaseHostAdapter,  /* Release Host Adapter   */ \
-    info:           BusLogic_DriverInfo,	  /* Driver Info Function   */ \
-    queuecommand:   BusLogic_QueueCommand,	  /* Queue Command Function */ \
-    slave_configure:BusLogic_SlaveConfigure,	  /* Configure a SCSI_Device*/ \
-    bios_param:     BusLogic_BIOSDiskParameters,  /* BIOS Disk Parameters   */ \
-    unchecked_isa_dma: 1,			  /* Default Initial Value  */ \
-    max_sectors:    128,			  /* I/O queue len limit    */ \
-    use_clustering: ENABLE_CLUSTERING }		  /* Enable Clustering	    */
+  { .proc_name      = "BusLogic",			  /* ProcFS Directory Entry */ \
+    .proc_info      = BusLogic_ProcDirectoryInfo,	  /* ProcFS Info Function   */ \
+    .name           = "BusLogic",			  /* Driver Name            */ \
+    .detect         = BusLogic_DetectHostAdapter,	  /* Detect Host Adapter    */ \
+    .release        = BusLogic_ReleaseHostAdapter,  /* Release Host Adapter   */ \
+    .info           = BusLogic_DriverInfo,	  /* Driver Info Function   */ \
+    .queuecommand   = BusLogic_QueueCommand,	  /* Queue Command Function */ \
+    .slave_configure = BusLogic_SlaveConfigure,	  /* Configure a SCSI_Device*/ \
+    .bios_param     = BusLogic_BIOSDiskParameters,  /* BIOS Disk Parameters   */ \
+    .unchecked_isa_dma = 1,			  /* Default Initial Value  */ \
+    .max_sectors    = 128,			  /* I/O queue len limit    */ \
+    .use_clustering = ENABLE_CLUSTERING }		  /* Enable Clustering	    */
 
 
 /*
--- linux-2.5.51/drivers/scsi/a2091.h.old	2002-07-05 18:42:05.000000000 -0500
+++ linux-2.5.51/drivers/scsi/a2091.h	2002-12-10 14:28:33.000000000 -0600
@@ -30,18 +30,18 @@
 #define CAN_QUEUE 16
 #endif
 
-#define A2091_SCSI {  proc_name:	   "A2901", \
-		      name:                "Commodore A2091/A590 SCSI", \
-		      detect:              a2091_detect,    \
-		      release:             a2091_release,   \
-		      queuecommand:        wd33c93_queuecommand, \
-		      abort:               wd33c93_abort,   \
-		      reset:               wd33c93_reset,   \
-		      can_queue:           CAN_QUEUE,       \
-		      this_id:             7,               \
-		      sg_tablesize:        SG_ALL,          \
-		      cmd_per_lun:	   CMD_PER_LUN,     \
-		      use_clustering:      DISABLE_CLUSTERING }
+#define A2091_SCSI {  .proc_name	   = "A2901", \
+		      .name                = "Commodore A2091/A590 SCSI", \
+		      .detect              = a2091_detect,    \
+		      .release             = a2091_release,   \
+		      .queuecommand        = wd33c93_queuecommand, \
+		      .abort               = wd33c93_abort,   \
+		      .reset               = wd33c93_reset,   \
+		      .can_queue           = CAN_QUEUE,       \
+		      .this_id             = 7,               \
+		      .sg_tablesize        = SG_ALL,          \
+		      .cmd_per_lun	   = CMD_PER_LUN,     \
+		      .use_clustering      = DISABLE_CLUSTERING }
 
 /*
  * if the transfer address ANDed with this results in a non-zero
--- linux-2.5.51/drivers/scsi/a3000.h.old	2002-07-05 18:42:18.000000000 -0500
+++ linux-2.5.51/drivers/scsi/a3000.h	2002-12-10 14:28:33.000000000 -0600
@@ -30,19 +30,19 @@
 #define CAN_QUEUE 16
 #endif
 
-#define _A3000_SCSI { proc_name:	   "A3000",			\
-		      proc_info:           NULL,			\
-		      name:                "Amiga 3000 built-in SCSI",	\
-		      detect:              a3000_detect,		\
-		      release:             a3000_release,		\
-		      queuecommand:        wd33c93_queuecommand,	\
-		      abort:               wd33c93_abort,		\
-		      reset:               wd33c93_reset,		\
-		      can_queue:           CAN_QUEUE,			\
-		      this_id:             7,				\
-		      sg_tablesize:        SG_ALL,			\
-		      cmd_per_lun:	   CMD_PER_LUN,			\
-		      use_clustering:      ENABLE_CLUSTERING }
+#define _A3000_SCSI { .proc_name	   = "A3000",			\
+		      .proc_info           = NULL,			\
+		      .name                = "Amiga 3000 built-in SCSI",	\
+		      .detect              = a3000_detect,		\
+		      .release             = a3000_release,		\
+		      .queuecommand        = wd33c93_queuecommand,	\
+		      .abort               = wd33c93_abort,		\
+		      .reset               = wd33c93_reset,		\
+		      .can_queue           = CAN_QUEUE,			\
+		      .this_id             = 7,				\
+		      .sg_tablesize        = SG_ALL,			\
+		      .cmd_per_lun	   = CMD_PER_LUN,			\
+		      .use_clustering      = ENABLE_CLUSTERING }
 
 /*
  * if the transfer address ANDed with this results in a non-zero
--- linux-2.5.51/drivers/scsi/advansys.h.old	2002-11-29 09:24:16.000000000 -0600
+++ linux-2.5.51/drivers/scsi/advansys.h	2002-12-10 14:28:34.000000000 -0600
@@ -72,22 +72,22 @@
  */
 #if ASC_LINUX_KERNEL24
 #define ADVANSYS { \
-    proc_name:                  "advansys", \
-    proc_info:                  advansys_proc_info, \
-    name:                       "advansys", \
-    detect:                     advansys_detect, \
-    release:                    advansys_release, \
-    info:                       advansys_info, \
-    queuecommand:               advansys_queuecommand, \
-    eh_bus_reset_handler:	advansys_reset, \
-    bios_param:                 advansys_biosparam, \
-    slave_configure:		advansys_slave_configure, \
+    .proc_name                  = "advansys", \
+    .proc_info                  = advansys_proc_info, \
+    .name                       = "advansys", \
+    .detect                     = advansys_detect, \
+    .release                    = advansys_release, \
+    .info                       = advansys_info, \
+    .queuecommand               = advansys_queuecommand, \
+    .eh_bus_reset_handler	= advansys_reset, \
+    .bios_param                 = advansys_biosparam, \
+    .slave_configure		= advansys_slave_configure, \
     /* \
      * Because the driver may control an ISA adapter 'unchecked_isa_dma' \
      * must be set. The flag will be cleared in advansys_detect for non-ISA \
      * adapters. Refer to the comment in scsi_module.c for more information. \
      */ \
-    unchecked_isa_dma:          1, \
+    .unchecked_isa_dma          = 1, \
     /* \
      * All adapters controlled by this driver are capable of large \
      * scatter-gather lists. According to the mid-level SCSI documentation \
@@ -95,25 +95,25 @@
      * 'use_clustering'. But empirically while CPU utilization is increased \
      * by enabling clustering, I/O throughput increases as well. \
      */ \
-    use_clustering:             ENABLE_CLUSTERING, \
+    .use_clustering             = ENABLE_CLUSTERING, \
 }
 #elif ASC_LINUX_KERNEL22
 #define ADVANSYS { \
-    proc_info:                  advansys_proc_info, \
-    name:                       "advansys", \
-    detect:                     advansys_detect, \
-    release:                    advansys_release, \
-    info:                       advansys_info, \
-    queuecommand:               advansys_queuecommand, \
-    use_new_eh_code:		1, \
-    eh_bus_reset_handler:	advansys_reset, \
-    bios_param:                 advansys_biosparam, \
+    .proc_info                  = advansys_proc_info, \
+    .name                       = "advansys", \
+    .detect                     = advansys_detect, \
+    .release                    = advansys_release, \
+    .info                       = advansys_info, \
+    .queuecommand               = advansys_queuecommand, \
+    .use_new_eh_code		= 1, \
+    .eh_bus_reset_handler	= advansys_reset, \
+    .bios_param                 = advansys_biosparam, \
     /* \
      * Because the driver may control an ISA adapter 'unchecked_isa_dma' \
      * must be set. The flag will be cleared in advansys_detect for non-ISA \
      * adapters. Refer to the comment in scsi_module.c for more information. \
      */ \
-    unchecked_isa_dma:          1, \
+    .unchecked_isa_dma          = 1, \
     /* \
      * All adapters controlled by this driver are capable of large \
      * scatter-gather lists. According to the mid-level SCSI documentation \
@@ -121,7 +121,7 @@
      * 'use_clustering'. But empirically while CPU utilization is increased \
      * by enabling clustering, I/O throughput increases as well. \
      */ \
-    use_clustering:             ENABLE_CLUSTERING, \
+    .use_clustering             = ENABLE_CLUSTERING, \
 }
 #endif
 #endif /* _ADVANSYS_H */
--- linux-2.5.51/drivers/scsi/aha152x.h.old	2002-11-29 09:24:16.000000000 -0600
+++ linux-2.5.51/drivers/scsi/aha152x.h	2002-12-10 14:28:34.000000000 -0600
@@ -31,25 +31,25 @@
 #define AHA152X_REVID "Adaptec 152x SCSI driver; $Revision: 2.5 $"
 
 /* Initial value of Scsi_Host entry */
-#define AHA152X { proc_name:			"aha152x",		\
-                  proc_info:			aha152x_proc_info,	\
-                  name:				AHA152X_REVID,		\
-                  detect:			aha152x_detect,		\
-                  command:			aha152x_command,	\
-                  queuecommand:			aha152x_queue,		\
-		  eh_abort_handler:		aha152x_abort,		\
-		  eh_device_reset_handler:	aha152x_device_reset,	\
-		  eh_bus_reset_handler:		aha152x_bus_reset,	\
-		  eh_host_reset_handler:	aha152x_host_reset,	\
-                  release:			aha152x_release,	\
-                  bios_param:			aha152x_biosparam,	\
-                  can_queue:			1,			\
-                  this_id:			7,			\
-                  sg_tablesize:			SG_ALL,			\
-                  cmd_per_lun:			1,			\
-                  present:			0,			\
-                  unchecked_isa_dma:		0,			\
-                  use_clustering:		DISABLE_CLUSTERING }
+#define AHA152X { .proc_name			= "aha152x",		\
+                  .proc_info			= aha152x_proc_info,	\
+                  .name				= AHA152X_REVID,		\
+                  .detect			= aha152x_detect,		\
+                  .command			= aha152x_command,	\
+                  .queuecommand			= aha152x_queue,		\
+		  .eh_abort_handler		= aha152x_abort,		\
+		  .eh_device_reset_handler	= aha152x_device_reset,	\
+		  .eh_bus_reset_handler		= aha152x_bus_reset,	\
+		  .eh_host_reset_handler	= aha152x_host_reset,	\
+                  .release			= aha152x_release,	\
+                  .bios_param			= aha152x_biosparam,	\
+                  .can_queue			= 1,			\
+                  .this_id			= 7,			\
+                  .sg_tablesize			= SG_ALL,			\
+                  .cmd_per_lun			= 1,			\
+                  .present			= 0,			\
+                  .unchecked_isa_dma		= 0,			\
+                  .use_clustering		= DISABLE_CLUSTERING }
 #endif
 
 
--- linux-2.5.51/drivers/scsi/aha1542.h.old	2002-10-31 16:20:03.000000000 -0600
+++ linux-2.5.51/drivers/scsi/aha1542.h	2002-12-10 14:28:33.000000000 -0600
@@ -151,21 +151,21 @@
 	#define NULL 0
 #endif
 
-#define AHA1542 {    proc_name:			"aha1542",		\
-		     name:			"Adaptec 1542", 	\
-		     detect:			aha1542_detect,		\
-		     command:			aha1542_command,	\
-		     queuecommand:		aha1542_queuecommand,	\
-		     eh_abort_handler:		aha1542_abort,		\
-		     eh_device_reset_handler:	aha1542_dev_reset,	\
-		     eh_bus_reset_handler:	aha1542_bus_reset,	\
-		     eh_host_reset_handler:	aha1542_host_reset,	\
-		     bios_param:		aha1542_biosparam,      \
-		     can_queue:			AHA1542_MAILBOXES, 	\
-		     this_id:			7, 			\
-		     sg_tablesize:		AHA1542_SCATTER, 	\
-		     cmd_per_lun:		AHA1542_CMDLUN, 	\
-		     unchecked_isa_dma:		1, 			\
-		     use_clustering:		ENABLE_CLUSTERING	\
+#define AHA1542 {    .proc_name			= "aha1542",		\
+		     .name			= "Adaptec 1542", 	\
+		     .detect			= aha1542_detect,		\
+		     .command			= aha1542_command,	\
+		     .queuecommand		= aha1542_queuecommand,	\
+		     .eh_abort_handler		= aha1542_abort,		\
+		     .eh_device_reset_handler	= aha1542_dev_reset,	\
+		     .eh_bus_reset_handler	= aha1542_bus_reset,	\
+		     .eh_host_reset_handler	= aha1542_host_reset,	\
+		     .bios_param		= aha1542_biosparam,      \
+		     .can_queue			= AHA1542_MAILBOXES, 	\
+		     .this_id			= 7, 			\
+		     .sg_tablesize		= AHA1542_SCATTER, 	\
+		     .cmd_per_lun		= AHA1542_CMDLUN, 	\
+		     .unchecked_isa_dma		= 1, 			\
+		     .use_clustering		= ENABLE_CLUSTERING	\
 }
 #endif
--- linux-2.5.51/drivers/scsi/aha1740.h.old	2002-11-11 07:14:43.000000000 -0600
+++ linux-2.5.51/drivers/scsi/aha1740.h	2002-12-10 14:28:33.000000000 -0600
@@ -162,17 +162,17 @@
 #define AHA1740_SCATTER 16
 #define AHA1740_CMDLUN 1
 
-#define AHA1740 {  proc_name:      "aha1740",				\
-		   proc_info:      aha1740_proc_info,	                \
-		   name:           "Adaptec 174x (EISA)",		\
-		   detect:         aha1740_detect,			\
-		   command:        aha1740_command,			\
-		   queuecommand:   aha1740_queuecommand,		\
-		   bios_param:     aha1740_biosparam,                   \
-		   can_queue:      AHA1740_ECBS, 			\
-		   this_id:        7, 					\
-		   sg_tablesize:   AHA1740_SCATTER, 			\
-		   cmd_per_lun:    AHA1740_CMDLUN, 			\
-		   use_clustering: ENABLE_CLUSTERING}
+#define AHA1740 {  .proc_name      = "aha1740",				\
+		   .proc_info      = aha1740_proc_info,	                \
+		   .name           = "Adaptec 174x (EISA)",		\
+		   .detect         = aha1740_detect,			\
+		   .command        = aha1740_command,			\
+		   .queuecommand   = aha1740_queuecommand,		\
+		   .bios_param     = aha1740_biosparam,                   \
+		   .can_queue      = AHA1740_ECBS, 			\
+		   .this_id        = 7, 					\
+		   .sg_tablesize   = AHA1740_SCATTER, 			\
+		   .cmd_per_lun    = AHA1740_CMDLUN, 			\
+		   .use_clustering = ENABLE_CLUSTERING}
 
 #endif
--- linux-2.5.51/drivers/scsi/amiga7xx.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/amiga7xx.h	2002-12-10 14:28:34.000000000 -0600
@@ -24,15 +24,15 @@
 
 #include <scsi/scsicam.h>
 
-#define AMIGA7XX_SCSI {name:                "Amiga NCR53c710 SCSI", \
-		       detect:              amiga7xx_detect,    \
-		       queuecommand:        NCR53c7xx_queue_command, \
-		       abort:               NCR53c7xx_abort,   \
-		       reset:               NCR53c7xx_reset,   \
-		       can_queue:           24,       \
-		       this_id:             7,               \
-		       sg_tablesize:        63,          \
-		       cmd_per_lun:	    3,     \
-		       use_clustering:      DISABLE_CLUSTERING }
+#define AMIGA7XX_SCSI {.name                = "Amiga NCR53c710 SCSI", \
+		       .detect              = amiga7xx_detect,    \
+		       .queuecommand        = NCR53c7xx_queue_command, \
+		       .abort               = NCR53c7xx_abort,   \
+		       .reset               = NCR53c7xx_reset,   \
+		       .can_queue           = 24,       \
+		       .this_id             = 7,               \
+		       .sg_tablesize        = 63,          \
+		       .cmd_per_lun	    = 3,     \
+		       .use_clustering      = DISABLE_CLUSTERING }
 
 #endif /* AMIGA7XX_H */
--- linux-2.5.51/drivers/scsi/atari_scsi.h.old	2002-07-24 19:42:28.000000000 -0500
+++ linux-2.5.51/drivers/scsi/atari_scsi.h	2002-12-10 14:28:34.000000000 -0600
@@ -51,19 +51,19 @@
 #define	DEFAULT_USE_TAGGED_QUEUING	0
 
 
-#define ATARI_SCSI {    proc_info:         atari_scsi_proc_info,	\
-			name:              "Atari native SCSI",		\
-			detect:            atari_scsi_detect,		\
-			release:           atari_scsi_release,		\
-			info:              atari_scsi_info,		\
-			queuecommand:      atari_scsi_queue_command,	\
-			abort:             atari_scsi_abort,		\
-			reset:             atari_scsi_reset,		\
-			can_queue:         0, /* initialized at run-time */	\
-			this_id:           0, /* initialized at run-time */	\
-			sg_tablesize:      0, /* initialized at run-time */	\
-			cmd_per_lun:       0, /* initialized at run-time */	\
-			use_clustering:	   DISABLE_CLUSTERING }
+#define ATARI_SCSI {    .proc_info         = atari_scsi_proc_info,	\
+			.name              = "Atari native SCSI",		\
+			.detect            = atari_scsi_detect,		\
+			.release           = atari_scsi_release,		\
+			.info              = atari_scsi_info,		\
+			.queuecommand      = atari_scsi_queue_command,	\
+			.abort             = atari_scsi_abort,		\
+			.reset             = atari_scsi_reset,		\
+			.can_queue         = 0, /* initialized at run-time */	\
+			.this_id           = 0, /* initialized at run-time */	\
+			.sg_tablesize      = 0, /* initialized at run-time */	\
+			.cmd_per_lun       = 0, /* initialized at run-time */	\
+			.use_clustering	   = DISABLE_CLUSTERING }
 
 #define	NCR5380_implementation_fields	/* none */
 
--- linux-2.5.51/drivers/scsi/atp870u.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/atp870u.h	2002-12-10 14:28:32.000000000 -0600
@@ -38,21 +38,21 @@
 extern int atp870u_proc_info(char *, char **, off_t, int, int, int);
 
 #define ATP870U {						\
-	proc_info: atp870u_proc_info,				\
-	detect: atp870u_detect, 				\
-	release: atp870u_release,				\
-	info: atp870u_info,					\
-	command: atp870u_command,				\
-	queuecommand: atp870u_queuecommand,			\
-	eh_abort_handler: atp870u_abort, 			\
-	bios_param: atp870u_biosparam,				\
-	can_queue: qcnt,	 /* max simultaneous cmds      */\
-	this_id: 7,	       /* scsi id of host adapter    */\
-	sg_tablesize: ATP870U_SCATTER,	/* max scatter-gather cmds    */\
-	cmd_per_lun: ATP870U_CMDLUN,	/* cmds per lun (linked cmds) */\
-	present: 0,		/* number of 7xxx's present   */\
-	unchecked_isa_dma: 0,	/* no memory DMA restrictions */\
-	use_clustering: ENABLE_CLUSTERING,			\
+	.proc_info = atp870u_proc_info,				\
+	.detect = atp870u_detect, 				\
+	.release = atp870u_release,				\
+	.info = atp870u_info,					\
+	.command = atp870u_command,				\
+	.queuecommand = atp870u_queuecommand,			\
+	.eh_abort_handler = atp870u_abort, 			\
+	.bios_param = atp870u_biosparam,				\
+	.can_queue = qcnt,	 /* max simultaneous cmds      */\
+	.this_id = 7,	       /* scsi id of host adapter    */\
+	.sg_tablesize = ATP870U_SCATTER,	/* max scatter-gather cmds    */\
+	.cmd_per_lun = ATP870U_CMDLUN,	/* cmds per lun (linked cmds) */\
+	.present = 0,		/* number of 7xxx's present   */\
+	.unchecked_isa_dma = 0,	/* no memory DMA restrictions */\
+	.use_clustering = ENABLE_CLUSTERING,			\
 }
 
 #endif
--- linux-2.5.51/drivers/scsi/blz1230.h.old	2002-07-05 18:42:33.000000000 -0500
+++ linux-2.5.51/drivers/scsi/blz1230.h	2002-12-10 14:28:34.000000000 -0600
@@ -57,19 +57,19 @@
 extern int esp_proc_info(char *buffer, char **start, off_t offset, int length,
 			 int hostno, int inout);
 
-#define SCSI_BLZ1230      { proc_name:		"esp-blz1230", \
-			    proc_info:		esp_proc_info, \
-			    name:		"Blizzard1230 SCSI IV", \
-			    detect:		blz1230_esp_detect, \
-			    release:		blz1230_esp_release, \
-			    command:		esp_command, \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    this_id:		7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-			    use_clustering:	ENABLE_CLUSTERING }
+#define SCSI_BLZ1230      { .proc_name		= "esp-blz1230", \
+			    .proc_info		= esp_proc_info, \
+			    .name		= "Blizzard1230 SCSI IV", \
+			    .detect		= blz1230_esp_detect, \
+			    .release		= blz1230_esp_release, \
+			    .command		= esp_command, \
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .this_id		= 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+			    .use_clustering	= ENABLE_CLUSTERING }
 
 #endif /* BLZ1230_H */
--- linux-2.5.51/drivers/scsi/blz2060.h.old	2002-07-05 18:42:23.000000000 -0500
+++ linux-2.5.51/drivers/scsi/blz2060.h	2002-12-10 14:28:34.000000000 -0600
@@ -53,18 +53,18 @@
 extern int esp_proc_info(char *buffer, char **start, off_t offset, int length,
 			 int hostno, int inout);
 
-#define SCSI_BLZ2060      { proc_name:		"esp-blz2060", \
-			    proc_info:		esp_proc_info, \
-			    name:		"Blizzard2060 SCSI", \
-			    detect:		blz2060_esp_detect, \
-			    release:		blz2060_esp_release, \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    this_id:		7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-			    use_clustering:	ENABLE_CLUSTERING }
+#define SCSI_BLZ2060      { .proc_name		= "esp-blz2060", \
+			    .proc_info		= esp_proc_info, \
+			    .name		= "Blizzard2060 SCSI", \
+			    .detect		= blz2060_esp_detect, \
+			    .release		= blz2060_esp_release, \
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .this_id		= 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+			    .use_clustering	= ENABLE_CLUSTERING }
 
 #endif /* BLZ2060_H */
--- linux-2.5.51/drivers/scsi/bvme6000.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/bvme6000.h	2002-12-10 14:28:34.000000000 -0600
@@ -25,15 +25,15 @@
 
 #include <scsi/scsicam.h>
 
-#define BVME6000_SCSI  {name:                "BVME6000 NCR53c710 SCSI", \
-		       detect:              bvme6000_scsi_detect,    \
-		       queuecommand:        NCR53c7xx_queue_command, \
-		       abort:               NCR53c7xx_abort,   \
-		       reset:               NCR53c7xx_reset,   \
-		       can_queue:           24,       \
-		       this_id:             7,               \
-		       sg_tablesize:        63,          \
-		       cmd_per_lun:	    3,     \
-		       use_clustering:      DISABLE_CLUSTERING }
+#define BVME6000_SCSI  {.name                = "BVME6000 NCR53c710 SCSI", \
+		       .detect              = bvme6000_scsi_detect,    \
+		       .queuecommand        = NCR53c7xx_queue_command, \
+		       .abort               = NCR53c7xx_abort,   \
+		       .reset               = NCR53c7xx_reset,   \
+		       .can_queue           = 24,       \
+		       .this_id             = 7,               \
+		       .sg_tablesize        = 63,          \
+		       .cmd_per_lun	    = 3,     \
+		       .use_clustering      = DISABLE_CLUSTERING }
 
 #endif /* BVME6000_SCSI_H */
--- linux-2.5.51/drivers/scsi/cpqfcTS.h.old	2002-10-31 16:20:04.000000000 -0600
+++ linux-2.5.51/drivers/scsi/cpqfcTS.h	2002-12-10 14:28:33.000000000 -0600
@@ -21,22 +21,22 @@
 // limited only by available physical memory) we use SG_ALL.
 
 #define CPQFCTS {                                \
- detect:                 cpqfcTS_detect,         \
- release:                cpqfcTS_release,        \
- info:                   cpqfcTS_info,           \
- proc_info:              cpqfcTS_proc_info,      \
- ioctl:                  cpqfcTS_ioctl,          \
- queuecommand:           cpqfcTS_queuecommand,   \
- eh_device_reset_handler:   cpqfcTS_eh_device_reset,   \
- eh_abort_handler:       cpqfcTS_eh_abort,       \
- bios_param:             cpqfcTS_biosparam,      \
- can_queue:              CPQFCTS_REQ_QUEUE_LEN,  \
- this_id:                -1,                     \
- sg_tablesize:           SG_ALL,                 \
- cmd_per_lun:            CPQFCTS_CMD_PER_LUN,    \
- present:                0,                      \
- unchecked_isa_dma:      0,                      \
- use_clustering:         ENABLE_CLUSTERING,      \
+ .detect                 = cpqfcTS_detect,         \
+ .release                = cpqfcTS_release,        \
+ .info                   = cpqfcTS_info,           \
+ .proc_info              = cpqfcTS_proc_info,      \
+ .ioctl                  = cpqfcTS_ioctl,          \
+ .queuecommand           = cpqfcTS_queuecommand,   \
+ .eh_device_reset_handler   = cpqfcTS_eh_device_reset,   \
+ .eh_abort_handler       = cpqfcTS_eh_abort,       \
+ .bios_param             = cpqfcTS_biosparam,      \
+ .can_queue              = CPQFCTS_REQ_QUEUE_LEN,  \
+ .this_id                = -1,                     \
+ .sg_tablesize           = SG_ALL,                 \
+ .cmd_per_lun            = CPQFCTS_CMD_PER_LUN,    \
+ .present                = 0,                      \
+ .unchecked_isa_dma      = 0,                      \
+ .use_clustering         = ENABLE_CLUSTERING,      \
 }
 
 #endif /* CPQFCTS_H */ 
--- linux-2.5.51/drivers/scsi/cyberstorm.h.old	2002-07-05 18:42:14.000000000 -0500
+++ linux-2.5.51/drivers/scsi/cyberstorm.h	2002-12-10 14:28:33.000000000 -0600
@@ -56,18 +56,18 @@
 			 int hostno, int inout);
 
 
-#define SCSI_CYBERSTORM   { proc_name:		"esp-cyberstorm", \
-			    proc_info:		esp_proc_info, \
-			    name:		"CyberStorm SCSI", \
-			    detect:		cyber_esp_detect, \
-			    release:		cyber_esp_release, \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    this_id:		7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-			    use_clustering:	ENABLE_CLUSTERING }
+#define SCSI_CYBERSTORM   { .proc_name		= "esp-cyberstorm", \
+			    .proc_info		= esp_proc_info, \
+			    .name		= "CyberStorm SCSI", \
+			    .detect		= cyber_esp_detect, \
+			    .release		= cyber_esp_release, \
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .this_id		= 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+			    .use_clustering	= ENABLE_CLUSTERING }
 
 #endif /* CYBER_ESP_H */
--- linux-2.5.51/drivers/scsi/cyberstormII.h.old	2002-07-05 18:42:19.000000000 -0500
+++ linux-2.5.51/drivers/scsi/cyberstormII.h	2002-12-10 14:28:33.000000000 -0600
@@ -43,18 +43,18 @@
 extern int esp_proc_info(char *buffer, char **start, off_t offset, int length,
 			 int hostno, int inout);
 
-#define SCSI_CYBERSTORMII { proc_name:		"esp-cyberstormII", \
-			    proc_info:		esp_proc_info, \
-			    name:		"CyberStorm Mk II SCSI", \
-			    detect:		cyberII_esp_detect, \
-			    release:		cyberII_esp_release, \
-			    queuecommand:	esp_queue, \
-			    abort:		esp_abort, \
-			    reset:		esp_reset, \
-			    can_queue:          7, \
-			    this_id:		7, \
-			    sg_tablesize:	SG_ALL, \
-			    cmd_per_lun:	1, \
-			    use_clustering:	ENABLE_CLUSTERING }
+#define SCSI_CYBERSTORMII { .proc_name		= "esp-cyberstormII", \
+			    .proc_info		= esp_proc_info, \
+			    .name		= "CyberStorm Mk II SCSI", \
+			    .detect		= cyberII_esp_detect, \
+			    .release		= cyberII_esp_release, \
+			    .queuecommand	= esp_queue, \
+			    .abort		= esp_abort, \
+			    .reset		= esp_reset, \
+			    .can_queue          = 7, \
+			    .this_id		= 7, \
+			    .sg_tablesize	= SG_ALL, \
+			    .cmd_per_lun	= 1, \
+			    .use_clustering	= ENABLE_CLUSTERING }
 
 #endif /* CYBERII_ESP_H */
-- 
They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety.
 -- Benjamin Franklin, Historical Review of Pennsylvania, 1759

^ permalink raw reply

* MPC850 Pinout Description?
From: Donald MacArthur @ 2002-12-12 13:57 UTC (permalink / raw)
  To: linuxppc-embedded


Does anyone know of a concise document which describes the pinouts and
functions of the MPC850?

Thank You
Donald MacArthur
dmacarth@ufl.edu

Graduate Fellow
Center for Intelligent Machines and Robotics
Mechanical Engineering
MEB300
University of Florida
Gainesville, Fla
32611


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply

* New error when running script on ReiserFS partition
From: Alexandre Ratti @ 2002-12-12 13:54 UTC (permalink / raw)
  To: reiserfs-list

Hello,


I got a new error when my backup script ran today. (See [1] for previous 
message sent on Tuesday). This script runs on a large ReiserFS partition. 
System is Debian Woody with recompiled 2.4.19 kernel. System did not crash.

[1] http://marc.theaimsgroup.com/?t=103955025600002&r=1&w=2

I saw with ps that the kupdated process was dead (defunct).

I'm not sure this is ReiserFS-related, though these errors only seem to 
happen when the script runs. Can someone confirm, based on this syslog snippet?


Thanks.

Alexandre

----------
Dec 12 13:10:01 p120 /USR/SBIN/CRON[1612]: (backup) CMD 
(/usr/local/bin/roller.py)
Dec 12 13:15:01 p120 kernel: Unable to handle kernel paging request at 
virtual address 0002dd4c
Dec 12 13:15:01 p120 kernel:  printing eip:
Dec 12 13:15:01 p120 kernel: c0186f77
Dec 12 13:15:01 p120 kernel: *pde = 00000000
Dec 12 13:15:01 p120 kernel: Oops: 0000
Dec 12 13:15:01 p120 kernel: CPU:    0
Dec 12 13:15:02 p120 kernel: EIP:    0010:[can_dirty+87/144]    Not tainted
Dec 12 13:15:02 p120 kernel: EFLAGS: 00010206
Dec 12 13:15:02 p120 kernel: eax: 0002dd48   ebx: c383c75c   ecx: 
00000001   edx: c38713ec
Dec 12 13:15:02 p120 kernel: esi: 0001fe7e   edi: 00001601   ebp: 
c38193bc   esp: c10e9f3c
Dec 12 13:15:02 p120 kernel: ds: 0018   es: 0018   ss: 0018
Dec 12 13:15:02 p120 kernel: Process kupdated (pid: 7, stackpage=c10e9000)
Dec 12 13:15:02 p120 kernel: Stack: c383c75c 00000004 00000000 c0184f29 
c383c75c
  c38193bc 00000004 00000005
Dec 12 13:15:02 p120 kernel:        00000000 00000001 c38193fc 00000000 
00000000 c01850da c2c89000 c38193bc
Dec 12 13:15:02 p120 kernel:        c10e9fa4 c2c89000 00000004 3df87dc2 
c0187178 c2c89000 c2c89000 c2c89044
Dec 12 13:15:02 p120 kernel: Call Trace: [kupdate_one_transaction+177/508] 
[reiserfs_journal_kupdate+102/148] [flush_old_commits+320/336] 
[reiserfs_write_sup
er+21/32] [sync_supers+188/240]
Dec 12 13:15:02 p120 kernel:   [sync_old_buffers+12/68] [kupdate+217/252] 
[kernel_thread+40/56]
Dec 12 13:15:02 p120 kernel:
Dec 12 13:15:02 p120 kernel: Code: 83 78 04 00 74 1f 8b 40 0c 85 c0 7e 18 
83 3a 00 74 13 8b 42
----------


>Date: Wed, 11 Dec 2002 11:28:25 +0100
>To: Oleg Drokin <green@namesys.com>
>From: Alexandre Ratti <alex@gabuzomeu.net>
>Subject: Re: "get_cnode failed" error
>Cc: reiserfs-list@namesys.com, mason@namesys.com

>At 10:26 11/12/2002 +0300, Oleg Drokin wrote:
>>On Tue, Dec 10, 2002 at 08:55:08PM +0100, Alexandre Ratti wrote:
>> > The FS looks OK, but I'm curious. What does this error mean? It is 
>> serious?
>>
>>This error means there was some journaling code screwup. So FS panicked 
>>before it could do any harm to on-disk data.
>>What does your script does with cp? Do you have at least some aproximate 
>>ideas on what it copied and from where to where?
>
>Yes, this is a backup script in Python. It first duplicate an existing 
>directory tree into a new tree using hard links, then it synchronise the 
>new tree with files located on another server using rsync. This create an 
>incremental backup. See [1] for theory and [2] for code.
>
>[1] http://www.mikerubel.org/computers/rsync_snapshots/
>[2] http://web2.airmail.net/lelie/roller.py
>
>I think the script was running "cp -al old_dir new_dir" to duplicate a 
>directory tree (16 GB) on the same partition. This is a large (120 GB) 
>partition I use to back up files; it is 30% full.
>
>The script ran 99 times without any glitch. Yesterday, after the error, I 
>upgraded the system to 2.4.19 and I ran the script again; it ran with no 
>error.



^ permalink raw reply

* [PATCH][2.4.21-pre1] check_nmi_watchdog() excessive stack usage
From: Mikael Pettersson @ 2002-12-12 14:02 UTC (permalink / raw)
  To: marcelo; +Cc: linux-kernel

Marcelo,

This patch fixes a problem with excessive stack usage in
arch/i386/kernel/nmi.c:check_nmi_watchdog(). It's a backport
of a fix that has been in the 2.5 kernel for quite a while.
There are no behavioural changes.

The problem is that the code copies NR_CPUS irq_cpustat_t values
to the stack, even though only NR_CPUS ints actually are needed.
irq_cpustat_t values are 24 bytes large, but they are also
____cacheline_aligned, which makes them blow up to 128 bytes
on P4s. That's 128*32 == 4 kilobytes of stack on a P4 SMP kernel,
when 4*32 == 128 bytes suffices.

/Mikael

diff -ruN linux-2.4.21-pre1/arch/i386/kernel/nmi.c linux-2.4.21-pre1.check_nmi/arch/i386/kernel/nmi.c
--- linux-2.4.21-pre1/arch/i386/kernel/nmi.c	2002-08-07 00:52:18.000000000 +0200
+++ linux-2.4.21-pre1.check_nmi/arch/i386/kernel/nmi.c	2002-12-12 14:19:10.000000000 +0100
@@ -72,18 +72,21 @@
 
 int __init check_nmi_watchdog (void)
 {
-	irq_cpustat_t tmp[NR_CPUS];
+	unsigned int prev_nmi_count[NR_CPUS];
 	int j, cpu;
 
 	printk(KERN_INFO "testing NMI watchdog ... ");
 
-	memcpy(tmp, irq_stat, sizeof(tmp));
+	for (j = 0; j < smp_num_cpus; j++) {
+		cpu = cpu_logical_map(j);
+		prev_nmi_count[cpu] = irq_stat[cpu].__nmi_count;
+	}
 	sti();
 	mdelay((10*1000)/nmi_hz); // wait 10 ticks
 
 	for (j = 0; j < smp_num_cpus; j++) {
 		cpu = cpu_logical_map(j);
-		if (nmi_count(cpu) - tmp[cpu].__nmi_count <= 5) {
+		if (nmi_count(cpu) - prev_nmi_count[cpu] <= 5) {
 			printk("CPU#%d: NMI appears to be stuck!\n", cpu);
 			return -1;
 		}

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.