diff options
author | hosokawa <hosokawa@FreeBSD.org> | 2000-01-21 03:08:46 +0000 |
---|---|---|
committer | hosokawa <hosokawa@FreeBSD.org> | 2000-01-21 03:08:46 +0000 |
commit | 7ce7351da146d0eddcacf9714003c07a4369b00c (patch) | |
tree | e41abc40a42cdb05a522a6aeb9a55bf82c6c9101 /sys/pccard/pccard_nbk.c | |
parent | c6da76a1a6b1b60435d8df410d11a7a497db504a (diff) | |
download | FreeBSD-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/pccard/pccard_nbk.c')
-rw-r--r-- | sys/pccard/pccard_nbk.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/pccard/pccard_nbk.c b/sys/pccard/pccard_nbk.c index ec374de..28da49f 100644 --- a/sys/pccard/pccard_nbk.c +++ b/sys/pccard/pccard_nbk.c @@ -70,6 +70,9 @@ #include <pccard/slot.h> #include <pccard/pccard_nbk.h> +#include <dev/pccard/pccardvar.h> +#include <net/ethernet.h> + devclass_t pccard_devclass; #define PCCARD_NPORT 2 @@ -252,6 +255,19 @@ pccard_release_resource(device_t bus, device_t child, int type, int rid, return resource_list_release(rl, bus, child, type, rid, r); } +static int +pccard_read_ivar(device_t bus, device_t child, int which, u_char *result) +{ + struct pccard_devinfo *devi = PCCARD_DEVINFO(child); + + switch (which) { + case PCCARD_IVAR_ETHADDR: + bcopy(devi->misc, result, ETHER_ADDR_LEN); + return 0; + } + return ENOENT; +} + static device_method_t pccard_methods[] = { /* Device interface */ DEVMETHOD(device_probe, pccard_probe), @@ -272,6 +288,7 @@ static device_method_t pccard_methods[] = { DEVMETHOD(bus_set_resource, pccard_set_resource), DEVMETHOD(bus_get_resource, pccard_get_resource), DEVMETHOD(bus_delete_resource, pccard_delete_resource), + DEVMETHOD(bus_read_ivar, pccard_read_ivar), { 0, 0 } }; |