Hello,
In our project we want to load mxc_ipuv3_fb driver as a module and unload it when it is not used. We have no problem with loading it (for example to work with ldb driver), but when we are trying to unload, it shows:
# modprobe -r mxc_ipuv3_fb
modprobe: can't unload module mxc_ipuv3_fb: Resource temporarily unavailable
# lsmod
Module Size Used by Tainted: P
mxc_ipuv3_fb 44938 1
ldb 9401 0
mxc_dispdrv 1705 2 mxc_ipuv3_fb,ldb
My question is, how to stop mxc_ipuv3_fb and unload it properly?
Basically, we want to do this because we need to register two drivers to one Display Interface (more specifically, we want to connect HDMI driver and CVBS driver to IPU0 DI1, and let the userspace application choose between them). Is there any other way to do this (without reloading display module)?
Solved! Go to Solution.
Thanks, Igor.
The only way to unload the module was to build kernel with CONFIG_MODULE_FORCE_UNLOAD option and then use command: rmmod -f mxc_ipuv3_fb.
But loading the HDMI driver as a kernel module seemed to be too complicated, so we changed our project's plans.
Hi jotes
resource can be used by other ipu drivers described
in sect.6.3 Source Code Structure attached Linux Manual and
one can try to analyze their dependencies and first unload driver which uses
mxc_ipuv3_fb.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks, Igor.
The only way to unload the module was to build kernel with CONFIG_MODULE_FORCE_UNLOAD option and then use command: rmmod -f mxc_ipuv3_fb.
But loading the HDMI driver as a kernel module seemed to be too complicated, so we changed our project's plans.