summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccard
diff options
context:
space:
mode:
authorhosokawa <hosokawa@FreeBSD.org>2000-01-21 03:08:46 +0000
committerhosokawa <hosokawa@FreeBSD.org>2000-01-21 03:08:46 +0000
commit7ce7351da146d0eddcacf9714003c07a4369b00c (patch)
treee41abc40a42cdb05a522a6aeb9a55bf82c6c9101 /sys/dev/pccard
parentc6da76a1a6b1b60435d8df410d11a7a497db504a (diff)
downloadFreeBSD-src-7ce7351da146d0eddcacf9714003c07a4369b00c.zip
FreeBSD-src-7ce7351da146d0eddcacf9714003c07a4369b00c.tar.gz
Propagate MAC address in CIS tupple to dev/ed/ driver.
Many ed-based Ethernet PC-cards can't get correct MAC address without this patch. Submitted by: Takanori Watanabe <takawata@shidahara1.planet.sci.kobe-u.ac.jp> Reviewed by: Warner Losh <imp@village.org>
Diffstat (limited to 'sys/dev/pccard')
-rw-r--r--sys/dev/pccard/pccardvar.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/pccard/pccardvar.h b/sys/dev/pccard/pccardvar.h
index 3504f68..ed26e3f 100644
--- a/sys/dev/pccard/pccardvar.h
+++ b/sys/dev/pccard/pccardvar.h
@@ -269,3 +269,16 @@ void pccard_io_unmap(struct pccard_function *, int);
#define pccard_mem_unmap(pf, window) \
(pccard_chip_mem_unmap((pf)->sc->pct, (pf)->sc->pch, (window)))
+
+/* ivar interface */
+enum {
+ PCCARD_IVAR_ETHADDR, /* read ethernet address from CIS tupple */
+};
+
+/* read ethernet address from CIS tupple */
+__inline static int
+pccard_get_ether(device_t dev, u_char *enaddr)
+{
+ return BUS_READ_IVAR(device_get_parent(dev), dev,
+ PCCARD_IVAR_ETHADDR, (uintptr_t *)enaddr);
+}
OpenPOWER on IntegriCloud