svn commit: r261424 - head/sys/dev/mmc

John Baldwin jhb at freebsd.org
Tue Feb 4 00:09:40 UTC 2014


On Monday, February 03, 2014 02:57:52 PM Ian Lepore wrote:
> On Mon, 2014-02-03 at 16:33 -0500, John Baldwin wrote:
> > On Monday, February 03, 2014 01:07:39 PM Ian Lepore wrote:
> > > On Mon, 2014-02-03 at 09:03 -0800, John-Mark Gurney wrote:
> > > > Ian Lepore wrote this message on Mon, Feb 03, 2014 at 02:56 +0000:
> > > > > Author: ian
> > > > > Date: Mon Feb  3 02:56:23 2014
> > > > > New Revision: 261424
> > > > > URL: http://svnweb.freebsd.org/changeset/base/261424
> > > > > 
> > > > > Log:
> > > > >   Sort the list.
> > > > > 
> > > > > Modified:
> > > > >   head/sys/dev/mmc/mmc.c
> > > > > 
> > > > > Modified: head/sys/dev/mmc/mmc.c
> > > > > ====================================================================
> > > > > ====
> > > > > ====== --- head/sys/dev/mmc/mmc.c	Mon Feb  3 02:52:07 2014	
(r261423)
> > > > > +++ head/sys/dev/mmc/mmc.c	Mon Feb  3 02:56:23 2014	(r261424)
> > > > > @@ -1756,10 +1756,11 @@ static driver_t mmc_driver = {
> > > > > 
> > > > >  };
> > > > >  static devclass_t mmc_devclass;
> > > > > 
> > > > > -DRIVER_MODULE(mmc, ti_mmchs, mmc_driver, mmc_devclass, NULL, NULL);
> > > > > 
> > > > >  DRIVER_MODULE(mmc, at91_mci, mmc_driver, mmc_devclass, NULL, NULL);
> > > > > 
> > > > > -DRIVER_MODULE(mmc, sdhci_pci, mmc_driver, mmc_devclass, NULL,
> > > > > NULL);
> > > > > 
> > > > >  DRIVER_MODULE(mmc, sdhci_bcm, mmc_driver, mmc_devclass, NULL,
> > > > >  NULL);
> > > > >  DRIVER_MODULE(mmc, sdhci_fdt, mmc_driver, mmc_devclass, NULL,
> > > > >  NULL);
> > > > > 
> > > > > -DRIVER_MODULE(mmc, sdhci_ti, mmc_driver, mmc_devclass, NULL, NULL);
> > > > > 
> > > > >  DRIVER_MODULE(mmc, sdhci_imx, mmc_driver, mmc_devclass, NULL,
> > > > >  NULL);
> > > > > 
> > > > > +DRIVER_MODULE(mmc, sdhci_pci, mmc_driver, mmc_devclass, NULL,
> > > > > NULL);
> > > > > +DRIVER_MODULE(mmc, sdhci_ti, mmc_driver, mmc_devclass, NULL, NULL);
> > > > > +DRIVER_MODULE(mmc, ti_mmchs, mmc_driver, mmc_devclass, NULL, NULL);
> > > > > +
> > > > 
> > > > Is there a reason we don't make mmc_driver/mmc_devclass global and put
> > > > all of these defines in their respective file instead of poluting an
> > > > MI
> > > > file w/ MD info?
> > > 
> > > I don't think that's an option.  Part of what that macro does is create
> > > metadata that says "this module contains a driver that is a child of bus
> > > <whatever>" and I think for that to work right, it has to be in the
> > > module itself, not elsewhere (at least in the .ko case; maybe it doesn't
> > > matter when it's compiled into the kernel).
> > 
> > No, it can be anywhere.  It's not voodoo magic, it's just a struct and a
> > SYSINIT.  John-Mark's suggestion is correct (and I thought the same thing
> > when I saw this commit).  You just have to make mmc_driver global.  You
> > should make mmc_devclass as well for now.
> > 
> > (Side note: the devclass argument to DRIVER_MODULE() is useless in 99.9%
> > of the cases and should be axed entirely.  The very few drivers that want
> > to find their devclass can use devclass_find() at runtime instead.)
> > 
> > Too bad cpp doesn't support macro overloading, then we could make that
> > change seamlessly. :)
> 
> Interesting, I had no idea.  Do we have examples of doing it this other
> way in the tree now?

Search for smbus_driver.

-- 
John Baldwin


More information about the svn-src-all mailing list