summaryrefslogtreecommitdiffstats
path: root/sys/dev/fxp
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2012-05-11 02:40:40 +0000
committermarius <marius@FreeBSD.org>2012-05-11 02:40:40 +0000
commit8abe2314ae85e655915788fd072f42fbfa247733 (patch)
treeb31b70f628f5070c2436173586ad3581fe39e033 /sys/dev/fxp
parent56245e656edfc8f0ae3786833dd045adc3352069 (diff)
downloadFreeBSD-src-8abe2314ae85e655915788fd072f42fbfa247733.zip
FreeBSD-src-8abe2314ae85e655915788fd072f42fbfa247733.tar.gz
- Change the module order of these MAC drivers to be last so they are
deterministically handled after the corresponding PHY drivers when loaded as modules. Otherwise, when these MAC/PHY driver pairs are compiled into a single module probing the PHY driver may fail. This makes r151438 and r226154 actually work. [1] Reported and tested by: yongari (fxp(4)) - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers. Submitted by: jhb [1] MFC after: 3 days
Diffstat (limited to 'sys/dev/fxp')
-rw-r--r--sys/dev/fxp/if_fxp.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c
index f8154c6..3dc1e19 100644
--- a/sys/dev/fxp/if_fxp.c
+++ b/sys/dev/fxp/if_fxp.c
@@ -290,7 +290,7 @@ static device_method_t fxp_methods[] = {
DEVMETHOD(miibus_writereg, fxp_miibus_writereg),
DEVMETHOD(miibus_statchg, fxp_miibus_statchg),
- { 0, 0 }
+ DEVMETHOD_END
};
static driver_t fxp_driver = {
@@ -301,8 +301,9 @@ static driver_t fxp_driver = {
static devclass_t fxp_devclass;
-DRIVER_MODULE(fxp, pci, fxp_driver, fxp_devclass, 0, 0);
-DRIVER_MODULE(miibus, fxp, miibus_driver, miibus_devclass, 0, 0);
+DRIVER_MODULE_ORDERED(fxp, pci, fxp_driver, fxp_devclass, NULL, NULL,
+ SI_ORDER_ANY);
+DRIVER_MODULE(miibus, fxp, miibus_driver, miibus_devclass, NULL, NULL);
static struct resource_spec fxp_res_spec_mem[] = {
{ SYS_RES_MEMORY, FXP_PCI_MMBA, RF_ACTIVE },
OpenPOWER on IntegriCloud