Adrian Bunk <bunk@xxxxxxxxx> wrote:> (why on earth does i2o put semicolons after its function definitions?)static inline functions mustn't be exported.Actually, exports of static inlines work OK. The compiler will emit an
out-of-line copy to satisfy EXPORT_SYMBOL's reference and the module
namespace is separate from the compiler&linker's namespace.
Of course, things will screw up when we're using the compiler&linker
namespace (ie: the driver is statically linked).
--- linux-2.6.17-rc1-mm2-full/drivers/message/i2o/iop.c.old 2006-04-13 17:30:41.000000000 +0200It depends whether Markus thinks this symbol is something which the driver
+++ linux-2.6.17-rc1-mm2-full/drivers/message/i2o/iop.c 2006-04-13 17:30:57.000000000 +0200
@@ -1243,7 +1243,6 @@
EXPORT_SYMBOL(i2o_cntxt_list_get_ptr);
#endif
EXPORT_SYMBOL(i2o_msg_get_wait);
-EXPORT_SYMBOL(i2o_msg_nop);
EXPORT_SYMBOL(i2o_find_iop);
EXPORT_SYMBOL(i2o_iop_find_device);
EXPORT_SYMBOL(i2o_event_register);
should be exporting. If so, we should uninline i2o_msg_nop(). But given
that it's in a header, nobody should be linking to it anyway...