[7636] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

RE: Linux SCSI seagate (TMC-950) driver help

daemon@ATHENA.MIT.EDU (Egbert Eich)
Mon Dec 6 15:07:10 1999

From: Egbert Eich <eich@hilbert.ikp.physik.tu-darmstadt.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <14411.63435.750557.984928@hilbert.ikp.physik.tu-darmstadt.de>
Date:   Mon, 6 Dec 1999 18:52:11 +0100 (MET)
To: "Christian Jullien" <eligis@wanadoo.fr>
Cc: "Marc SCHAEFER" <schaefer@alphanet.ch>,
	<linux-scsi@vger.rutgers.edu>
In-Reply-To: eligis@wanadoo.fr wrote on Monday, 6 December 1999 at 18:02:11 +0100 

Christian Jullien writes:
 > It seems to be fixed with the following patch (from kernel 2.3.29) many
 > thanks for your help. I believe in Santa-Claus once again.
 > 
 > Where can I post this fix to be integrated in next kernel ?

Be careful! You are disabling disconnect/reconnect for all
TMC-950. The fact that noone has reported this problem
yet suggests that there might be another problem.
For a reconnect you need to see an interrupt. Maybe
you are not getting this - Maybe you have selected the
wrong irq line. However disabling the disconnect/reconnect
~feature will make all other people with a TMC unhappy
as this decreases performance considerably.
An this on the slowest SCSI controller that has
ever been build.

Regards,
	Egbert.

 > 
 > *** seagate.c	Mon Dec 06 17:46:30 1999
 > --- seagate.new	Mon Dec 06 17:53:12 1999
 > ***************
 > *** 18,23
 >    *
 >    * 1998-jul-29 - created DPRINTK macros and made it work under
 >    * linux 2.1.112, simplified some #defines etc. <pavel@ucw.cz>
 >    */
 > 
 >   /*
 > 
 > --- 18,26 -----
 >    *
 >    * 1998-jul-29 - created DPRINTK macros and made it work under
 >    * linux 2.1.112, simplified some #defines etc. <pavel@ucw.cz>
 > +  *
 > +  * 1999-dec-06 - fix broken driver for TMC 950/9C50 by Christian Jullien.
 > +  * Works on linux 2.3.29 <jullien@eligis.com>
 >    */
 > 
 >   /*
 > ***************
 > *** 308,313
 >     {"FUTURE DOMAIN CORP. (C) 1992 V8.00.004/02/92", 5, 44, FD},
 >     {"IBM F1 BIOS V1.1004/30/92", 5, 25, FD},
 >     {"FUTURE DOMAIN TMC-950", 5, 21, FD},
 >   };
 > 
 >   #define NUM_SIGNATURES (sizeof(signatures) / sizeof(Signature))
 > 
 > --- 311,317 -----
 >     {"FUTURE DOMAIN CORP. (C) 1992 V8.00.004/02/92", 5, 44, FD},
 >     {"IBM F1 BIOS V1.1004/30/92", 5, 25, FD},
 >     {"FUTURE DOMAIN TMC-950", 5, 21, FD},
 > +   {"Future Domain Corp. V1.0008/18/93", 5, 33, FD},
 >   };
 > 
 >   #define NUM_SIGNATURES (sizeof(signatures) / sizeof(Signature))
 > ***************
 > *** 1478,1484
 >             switch (reselect)
 >             {
 >               case CAN_RECONNECT:
 > !               WRITE_DATA (IDENTIFY (1, lun));
 > 
 >                 DPRINTK (PHASE_RESELECT | PHASE_MSGOUT, "scsi%d : sent
 > IDENTIFY message.\n", hostno);
 >                 break;
 > 
 > --- 1482,1489 -----
 >             switch (reselect)
 >             {
 >               case CAN_RECONNECT:
 > !               /* disconnect does not work with TMC 9C50/950 driver */
 > !               WRITE_DATA (IDENTIFY (((controller_type==SEAGATE) ? 1 : 0),
 > lun));
 > 
 >                 DPRINTK (PHASE_RESELECT | PHASE_MSGOUT, "scsi%d : sent
 > IDENTIFY message.\n", hostno);
 >                 break;
 > 
 > 
 >  > -----Original Message-----
 >  > From: Marc SCHAEFER [mailto:schaefer@alphanet.ch]
 >  > Sent: lundi 6 decembre 1999 10:44
 >  > To: Christian Jullien
 >  > Cc: linux-scsi@vger.rutgers.edu
 >  > Subject: RE: Linux SCSI seagate (TMC-950) driver help
 >  >
 >  >
 >  > On Mon, 6 Dec 1999, Christian Jullien wrote:
 >  >
 >  > > Where is the "official" way to do this ?
 >  >
 >  > The SCSI standard way is to select with a message without the disconnect
 >  > bit set (ie 0x80 instead of 0xC0), or, worse, without any ATN/message.
 >  >
 >  > If you are lucky, the TMC-950 is a very low-level driver, and handles
 >  > the messaging by itself. If yes, try to find:
 >  >
 >  >    - identify message
 >  >    - 0xc0
 >  >    - anything to do with ATN.
 >  >
 >  >
 >  >
 > 
 > 
 > -
 > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
 > the body of a message to majordomo@vger.rutgers.edu
 > 
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" nil nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "???" "???" nil nil "" "^From:" nil nil nil nil nil ("U   : ???     \n") nil nil]
 > 	nil)
 > From owner-linux-kernel-outgoing@vger.rutgers.edu  Mon Dec  6 18:35:20 1999
 > X-VM-v5-Data: ([nil t nil nil nil nil nil nil nil]
 > 	[nil nil nil nil nil nil nil "Richard Gooch" "rgooch@ras.ucalgary.ca" nil nil "Re: MAX_FB: maximum number of fbdevs" nil nil nil nil nil nil ("U   : Richard Gooch     Re: MAX_FB: maximum number of fbdevs\n") nil nil]
 > 	nil)
 > Return-Path: <owner-linux-kernel-outgoing@vger.rutgers.edu>
 > Received: from mailserver2.hrz.tu-darmstadt.de (root@mailserver2.hrz.tu-darmstadt.de [130.83.22.129])
 > 	by hilbert.ikp.physik.tu-darmstadt.de (8.8.8/8.8.8) with ESMTP id SAA14373
 > 	for <eich@hilbert.ikp.physik.tu-darmstadt.de>; Mon, 6 Dec 1999 18:35:20 +0100
 > Received: from source.rfc822.org (source.rfc822.org [193.189.224.13])
 > 	by mailserver2.hrz.tu-darmstadt.de (8.9.1a/8.9.1) with ESMTP id SAA19762
 > 	for <eich@hilbert.ikp.physik.tu-darmstadt.de>; Mon, 6 Dec 1999 18:34:50 +0100 (MET)
 > Received: from vger.rutgers.edu (vger.rutgers.edu [128.6.190.2])
 > 	by source.rfc822.org (Postfix) with ESMTP
 > 	id 14B8B16023; Mon,  6 Dec 1999 18:21:56 +0100 (CET)
 > Received: by vger.rutgers.edu via listexpand id <S156391AbPLFRP6>;
 > 	Mon, 6 Dec 1999 12:15:58 -0500
 > Received: by vger.rutgers.edu id <S156321AbPLFREd>;
 > 	Mon, 6 Dec 1999 12:04:33 -0500
 > Received: from vindaloo.ras.ucalgary.ca ([136.159.55.21]:38466 "HELO
 >         vindaloo.ras.ucalgary.ca") by vger.rutgers.edu with SMTP
 > 	id <S156403AbPLFRD5>; Mon, 6 Dec 1999 12:03:57 -0500
 > Received: (from rgooch@localhost) by vindaloo.ras.ucalgary.ca (8.6.12/8.6.12) id KAA32356; Mon, 6 Dec 1999 10:03:45 -0700
 > Date:   Mon, 6 Dec 1999 10:03:45 -0700
 > Message-Id: <199912061703.KAA32356@vindaloo.ras.ucalgary.ca>
 > From: Richard Gooch <rgooch@ras.ucalgary.ca>
 > To: Geert Uytterhoeven <geert@linux-m68k.org>
 > Cc: Linux Frame Buffer Device Development <linux-fbdev@vuser.vu.union.edu>,
 >         Linux kernel <linux-kernel@vger.rutgers.edu>
 > Subject: Re: MAX_FB: maximum number of fbdevs
 > In-Reply-To: <Pine.LNX.4.05.9912060907190.16234-100000@callisto.of.borg>
 > References: <Pine.LNX.4.05.9912060907190.16234-100000@callisto.of.borg>
 > Sender: owner-linux-kernel@vger.rutgers.edu
 > Precedence: bulk
 > X-Loop: majordomo@vger.rutgers.edu
 > X-Orcpt: rfc822;linux-kernel-outgoing-dig
 > 
 > Geert Uytterhoeven writes:
 > > 
 > > Because of historical reasons[*], the minor numbering for special device nodes
 > > for frame buffer devices contains gaps:
 > > 
 > >                   0 = /dev/fb0          First frame buffer
 > >                  32 = /dev/fb1          Second frame buffer
 > > 		 64 = /dev/fb2          Third frame buffer
 > > 		 ...
 > >  1. Remove the gaps and number the device nodes naturally:
 > > 
 > >                   0 = /dev/fb0          First frame buffer
 > >                   1 = /dev/fb1          Second frame buffer
 > > 		  2 = /dev/fb2          Third frame buffer
 > > 		 ...
 > > 
 > >     Disadvantages:
 > >       - Not 100% backwards compatible: requires recreating special device nodes
 > >         /dev/fb* other than /dev/fb0.
 > 
 > <smirk>This is no problem for those of us running devfs</smirk>.
 > 
 > 				Regards,
 > 
 > 					Richard....
 > Permanent: rgooch@atnf.csiro.au
 > Current:   rgooch@ras.ucalgary.ca
 > 
 > 
 > -
 > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
 > the body of a message to majordomo@vger.rutgers.edu
 > Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu

home help back first fref pref prev next nref lref last post