global date via module howto
M. Warner Losh
imp at bsdimp.com
Mon Aug 21 04:03:57 UTC 2006
In message: <44E87CCD.30105 at inse.ru>
Roman Kurakin <rik at inse.ru> writes:
: I have the following problem:
: module A
: int x;
:
: module B
: extern int x;
:
: Module A is loaded, module B can't be loaded cause of unknow 'x'.
: What should I do to make x global?
Better to make module B depend on module A. Making it global is
generally a bad idea.
in module A:
MODULE_VERSION(A, 1);
In module B:
MODULE_DEPEND(B, A, 1, 1, 1);
Warner
: PS. I am working on porting irda support for USB devices from NetBSD.
: The current model consists of two layers hw and sw. hw is the usb device
: driver. sw is some software layer the same for all device and it is a
: child on top of hw 'bus'. To make this working I need to add
: DRIVER_MODULE for each 'bus'. To make sw independent from the
: bus I need to export _driver and _class structures and put DRIVER_MODULE
: in 'bus' code instead of 'child'.
Are you sure that you need to do this? I'm pretty sure that you can
create a base class irdabus and then derive all the hw modules that
implement irdabus from than and all the children will automatically
probe. No need to export the driver/class structures.
Warner
More information about the freebsd-hackers
mailing list