Date: Sun, 07 Jan 2001 05:33:46 -0800 From: Peter Wemm <peter@netplex.com.au> To: Warner Losh <imp@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/pccard card_if.m pccard.c src/sys/dev/pccbb pccbb.c Message-ID: <200101071333.f07DXlt11106@mobile.wemm.org> In-Reply-To: <200101070808.f0788tW31080@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Warner Losh wrote: > imp 2001/01/07 00:08:54 PST > > Modified files: > sys/dev/pccard card_if.m pccard.c > sys/dev/pccbb pccbb.c > Log: > Undo the interface change to CARD_GET_MEMORY_OFFSET. It wasn't tested > by even a compile of the OLDCARD code, was unapproved by me the keeper > of OLDCARD and broke OLDCARD and the ray driver. > > Adjust new code to cope with the older interface. But this is incomplete and cannot work. :-( You are calling methods that do not exist. (there is no CARD_GET_MEMORY_OFFSET() in pccbb yet). For what it is worth, this is all that would have been required to get ray and oldcard to work without breaking newcard: Index: dev/ray/if_ray.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ray/if_ray.c,v retrieving revision 1.47 diff -u -2 -r1.47 if_ray.c --- dev/ray/if_ray.c 2001/01/02 20:29:25 1.47 +++ dev/ray/if_ray.c 2001/01/07 13:06:41 @@ -3367,5 +3367,5 @@ offset); error = CARD_SET_MEMORY_OFFSET(device_get_parent(sc->dev), - sc->dev, sc->am_rid, 0); + sc->dev, sc->am_rid, 0, NULL); if (error) { RAY_PRINTF(sc, "CARD_SET_MEMORY_OFFSET returned 0x%0x", @@ -3455,5 +3455,5 @@ offset); error = CARD_SET_MEMORY_OFFSET(device_get_parent(sc->dev), - sc->dev, sc->cm_rid, 0); + sc->dev, sc->cm_rid, 0, NULL); if (error) { RAY_PRINTF(sc, "CARD_SET_MEMORY_OFFSET returned 0x%0x", Index: pccard/pccard_nbk.c =================================================================== RCS file: /home/ncvs/src/sys/pccard/pccard_nbk.c,v retrieving revision 1.23 diff -u -2 -r1.23 pccard_nbk.c --- pccard/pccard_nbk.c 2000/09/28 07:22:30 1.23 +++ pccard/pccard_nbk.c 2001/01/07 13:08:00 @@ -306,8 +306,8 @@ static int pccard_set_memory_offset(device_t bus, device_t child, int rid, - u_int32_t offset) + u_int32_t offset, u_int32_t *offsetp) { return CARD_SET_MEMORY_OFFSET(device_get_parent(bus), child, rid, - offset); + offset, offsetp); } Index: pccard/pcic.c =================================================================== RCS file: /home/ncvs/src/sys/pccard/pcic.c,v retrieving revision 1.100 diff -u -2 -r1.100 pcic.c --- pccard/pcic.c 2000/12/11 15:02:50 1.100 +++ pccard/pcic.c 2001/01/07 13:08:27 @@ -978,5 +978,6 @@ static int -pcic_set_memory_offset(device_t bus, device_t child, int rid, u_int32_t offset) +pcic_set_memory_offset(device_t bus, device_t child, int rid, u_int32_t offset, + u_int32_t *offsetp) { struct pccard_devinfo *devi = device_get_ivars(child); @@ -984,4 +985,6 @@ mp->card = offset; + if (offsetp) + *offsetp = offset; return (pcic_memory(devi->slt, rid)); This is pretty trivial and is essentially a NOP for the existing drivers. Anyway, I am running just happily with this commit backed out and with the above patch. All of the modules and drivers compile. pccbb0: <RF5C478 PCI-CardBus Bridge> at device 12.0 on pci0 cardbus0: <Cardbus bus (newcard)> on pccbb0 pccard0: <16-bit PCCard bus> on pccbb0 pccbb1: <RF5C478 PCI-CardBus Bridge> at device 12.1 on pci0 cardbus1: <Cardbus bus (newcard)> on pccbb1 pccard1: <16-bit PCCard bus> on pccbb1 ... dc0: <Abocom FE2500 10/100BaseTX> port 0x3000-0x30ff mem 0x44020000-0x4403ffff,0x44002000-0x440023ff irq 9 at device 0.0 on cardbus0 dc0: Ethernet address: 00:e0:98:8e:e5:d0 miibus0: <MII bus> on dc0 ukphy0: <Generic IEEE 802.3u media interface> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ed0: <Kingston KNE-PC2 Ethernet> at port 0x300-0x31f irq 9 function 0 config 32 on pccard1 ed0: address 38:ff:90:c8:c6:df, type NE2000 (16 bit) dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.0.0.5 netmask 0xffffff00 broadcast 10.0.0.255 ether 00:e0:98:8e:e5:d0 media: autoselect (100baseTX <full-duplex>) status: active supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP none ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 10.1.1.2 netmask 0xffffff00 broadcast 10.1.1.255 ether 38:ff:90:c8:c6:df Cheers, -Peter -- Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au "All of this is for nothing if we don't go to the stars" - JMS/B5 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?200101071333.f07DXlt11106>