Date: Wed, 4 Aug 2021 11:18:02 -0700 From: John Baldwin <jhb@FreeBSD.org> To: Marcin Wojtas <mw@FreeBSD.org>, src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 5ad6d28cbe6b - main - enetc: Support building the driver as a loadable module. Message-ID: <f6e8065a-47fb-f055-1d14-f65fc739c09d@FreeBSD.org> In-Reply-To: <202108031008.173A83HA096670@gitrepo.freebsd.org> References: <202108031008.173A83HA096670@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 8/3/21 3:08 AM, Marcin Wojtas wrote: > The branch main has been updated by mw: > > URL: https://cgit.FreeBSD.org/src/commit/?id=5ad6d28cbe6b3ff85e49607a7e04cb68db3ed6df > > commit 5ad6d28cbe6b3ff85e49607a7e04cb68db3ed6df > Author: Kornel Duleba <mindal@semihalf.com> > AuthorDate: 2021-07-28 09:23:23 +0000 > Commit: Marcin Wojtas <mw@FreeBSD.org> > CommitDate: 2021-08-03 10:07:49 +0000 > > enetc: Support building the driver as a loadable module. > > Function level reset has to be done in attach in order to put the > hardware in a known state before configuring it. > The order of DRIVER_MODULEs was changed to ensure that the miibus driver > is loaded when mii_attach is called. > > Obtained from: Semihalf > Sponsored by: Alstom Group > --- > sys/dev/enetc/if_enetc.c | 6 +++++- > sys/modules/Makefile | 2 ++ > sys/modules/enetc/Makefile | 8 ++++++++ > 3 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/sys/dev/enetc/if_enetc.c b/sys/dev/enetc/if_enetc.c > index 54cdc6ea9ad4..46327eb419bf 100644 > --- a/sys/dev/enetc/if_enetc.c > +++ b/sys/dev/enetc/if_enetc.c > @@ -158,8 +158,8 @@ static driver_t enetc_driver = { > }; > > static devclass_t enetc_devclass; > -DRIVER_MODULE(enetc, pci, enetc_driver, enetc_devclass, NULL, NULL); > DRIVER_MODULE(miibus, enetc, miibus_driver, miibus_devclass, NULL, NULL); > +DRIVER_MODULE(enetc, pci, enetc_driver, enetc_devclass, NULL, NULL); > MODULE_VERSION(enetc, 1); This is not the right way to fix this as the toolchain is free to reorder symbols. You should instead use 'DRIVER_MODULE_ORDERED(..., SI_ORDER_LAST)' for enetc so that the miibus driver is registered first. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f6e8065a-47fb-f055-1d14-f65fc739c09d>