Re: Mis-use of BUS_PASS_ORDER_MIDDLE

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 18 Apr 2016 10:43:17 -0700
On Monday, April 18, 2016 11:10:12 PM Howard Su wrote:
> I noticed several places there are code like this, especially in some arm
> low level drivers.
> EARLY_DRIVER_MODULE(aw_ccu, simplebus, aw_ccu_driver, aw_ccu_devclass,
>     0, 0, BUS_PASS_BUS + BUS_PASS_ORDER_MIDDLE);
> 
> ​I feel the usage of BUS_PASS_ORDER_MIDDLE is misused. There are another
> macro EARLY_DRIVER_MODULE_ORDERED, which take an additional parameter
> "order". I believe BUS_PASS_ORDER_xxx is used for that parameter.

No, this is actually correct.  The _ORDERED variants actually accept a
SI_ORDER_* value to determine how drivers contained in a single .ko file
are registered (in particular if you have several drivers in a .ko file
you typically want the "top-most" driver to attach last so that all the
other drivers are ready once the actual device is attached).

-- 
John Baldwin
Received on Mon Apr 18 2016 - 16:53:49 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:04 UTC