summaryrefslogtreecommitdiffstats
path: root/sys/dev/ed/if_edvar.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2005-09-18 20:51:34 +0000
committerimp <imp@FreeBSD.org>2005-09-18 20:51:34 +0000
commit0fa86d9cb5a02270dc33ae4359c756ad82b6d43e (patch)
tree1473f976a8ea5fd0c3df4189e61390ca888762c4 /sys/dev/ed/if_edvar.h
parentcbeddbcc36a506db16de76f805b78fab65f5311a (diff)
downloadFreeBSD-src-0fa86d9cb5a02270dc33ae4359c756ad82b6d43e.zip
FreeBSD-src-0fa86d9cb5a02270dc33ae4359c756ad82b6d43e.tar.gz
MFp4:
o eliminate the ED_NO_MIIBUS option. Now, you need miibus to use ed with pccard. If you have an old ISA or PCI card w/o a miibus, then you'll still be able to use the ed driver w/o miibus in the kernel. If you have pccard you'll need mii now. Most pccards these days have miibus, and many cards have ISSUES if you don't attach miibus. issues I don't want to constantly rediagnose. - Add new media_ioctl, mediachg and tick function pointers. The core driver will call these if they aren't NULL, or return an error if they are. - migrate remaining mii code into if_ed_pccard. o include some notes from my datasheet fishing. this may allow us to get media status from some pccards. o Fix one bug that's common to many drivers. call if_free(ifp) after we tear down the interrupt. ed_intr() depends on ifp being there and freeing it while interrupts can still happen is, ummm, bad.
Diffstat (limited to 'sys/dev/ed/if_edvar.h')
-rw-r--r--sys/dev/ed/if_edvar.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/ed/if_edvar.h b/sys/dev/ed/if_edvar.h
index f03b385..4e8afe8 100644
--- a/sys/dev/ed/if_edvar.h
+++ b/sys/dev/ed/if_edvar.h
@@ -61,10 +61,14 @@ struct ed_softc {
struct resource* irq_res; /* resource for irq */
void* irq_handle; /* handle for irq handler */
int modem_rid; /* resource ID for modem part of device */
+ int (*sc_media_ioctl)(struct ed_softc *sc, struct ifreq *ifr,
+ u_long command);
+ void (*sc_mediachg)(struct ed_softc *);
device_t miibus; /* MII bus for cards with MII. */
void (*mii_writebits)(struct ed_softc *, u_int, int);
u_int (*mii_readbits)(struct ed_softc *, int);
struct callout tick_ch;
+ void (*sc_tick)(void *);
void (*readmem)(struct ed_softc *sc, bus_size_t src, uint8_t *dst,
uint16_t amount);
@@ -212,11 +216,6 @@ void ed_shmem_readmem16(struct ed_softc *, bus_size_t, uint8_t *, uint16_t);
void ed_shmem_readmem8(struct ed_softc *, bus_size_t, uint8_t *, uint16_t);
void ed_pio_readmem(struct ed_softc *, bus_size_t, uint8_t *, uint16_t);
void ed_pio_writemem(struct ed_softc *, uint8_t *, uint16_t, uint16_t);
-#ifndef ED_NO_MIIBUS
-int ed_ifmedia_upd(struct ifnet *);
-void ed_ifmedia_sts(struct ifnet *, struct ifmediareq *);
-void ed_child_detached(device_t, device_t);
-#endif
/* The following is unsatisfying XXX */
#ifdef ED_HPP
OpenPOWER on IntegriCloud