Date: Thu, 05 Dec 2002 22:54:14 +0000 From: Ian Dowse <iedowse@maths.tcd.ie> To: Soeren Schmidt <sos@spider.deepcore.dk> Cc: sos@FreeBSD.org, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-cbus.c ata-disk.c ata-dma.c ata-isa.c ata-pci.c atapi-fd.c Message-ID: <200212052254.aa76768@salmon.maths.tcd.ie> In-Reply-To: Your message of "Wed, 04 Dec 2002 19:56:52 %2B0100." <200212041856.gB4IuqsX064096@spider.deepcore.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <200212041856.gB4IuqsX064096@spider.deepcore.dk>, Soeren Schmidt wri
tes:
>> In article <200212032019.gB3KJcdf074276@repoman.freebsd.org>
>> Søren Schmidt <sos@FreeBSD.org> writes:
>>
>> > sos 2002/12/03 12:19:38 PST
>>
>> > Add support for the PC98 platform to the ATA driver.
>> > This mostly consists of functionality to serialize accesses to
>> > the two ATA channels (which can also be used to "fix" certain
>> > PCI based controllers).
This seems to break pccard CD-ROM drives, as `intr_func' and
`lock_func' are not set in ata-card.c. Something like the following
patch should fix it.
(the two pccard CD-ROM drives that I have access to need more patches
to work with NEWCARD, but I guess that is more Warner's territory:
the ata_pccard_probe routine needs to do a pccard_product_lookup
on a list of devices, and I've found that I need to comment out the
'else return ENOMEM' in the case where getting the alt IO resource
fails).
Ian
Index: ata-card.c
===================================================================
RCS file: /home/iedowse/CVS/src/sys/dev/ata/ata-card.c,v
retrieving revision 1.6
diff -u -r1.6 ata-card.c
--- ata-card.c 20 Sep 2002 18:08:57 -0000 1.6
+++ ata-card.c 5 Dec 2002 22:39:42 -0000
@@ -63,6 +63,17 @@
}
static int
+ata_pccard_intrnoop(struct ata_channel *ch)
+{
+ return 1;
+}
+
+static void
+ata_pccard_locknoop(struct ata_channel *ch, int type)
+{
+}
+
+static int
ata_pccard_probe(device_t dev)
{
struct ata_channel *ch = device_get_softc(dev);
@@ -106,6 +117,8 @@
ch->unit = 0;
ch->flags |= (ATA_USE_16BIT | ATA_NO_SLAVE);
+ ch->intr_func = ata_pccard_intrnoop;
+ ch->lock_func = ata_pccard_locknoop;
return ata_probe(dev);
}
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212052254.aa76768>
