[7636] in linux-scsi channel archive
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