RapidIO subsystem and modularity

From: Jean Delvare
Date: Wed May 22 2013 - 08:40:46 EST


Hi Matt, Alexandre, Andrew,

At the moment all pieces of the RapidIO subsystem are defined as bool
and thus cannot be built as modules. This is a problem for distribution
kernels, which are left with only two choices: disable RapidIO
altogether (too bad if any user actually needed it), or enable it all
(and waste memory and initialization time for every user without the
hardware - most users as I understand it.)

I don't even know what RapidIO is good for. I read about it on the web
but I have to admit I still have no clear idea, what systems use this
technology.

This leads me to two questions:

1* Is there a fundamental reason why (at least the device-specific parts
of) RapidIO can't be modularized?

FWIW I tried making the device drivers (tsi721) modular and it builds
and links OK, but I suppose one would have implement a proper remove
function, otherwise module unloading will break.

I also tried making the switch drivers (tsi57x etc.) modular, all build
just fine without any change, but there seems to be some initialization
magic which may not work when the code is built as modules.

2* What systems are expected to use RapidIO? It is enabled in the i386,
x86_64, ppc and ppc64 generic openSUSE kernel configurations. If someone
tells me that some or all of these generic kernels would never be used
on systems which need RapidIO support, I would be happy to disable
RapidIO support from these kernels, to make them smaller and decrease
boot times.

Thanks for any insight,
--
Jean Delvare
Suse L3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/