On Friday 26 of April 2013 11:48:50 Sylwester Nawrocki wrote:
On 04/26/2013 10:20 AM, Inki Dae wrote:
Exactly right. it's my mistake. But now it seems that __mode_of_device_table is multi defined at fimd and g2d side so there still is module build error. :(
Since all drivers seem to be linked into single a single module, you likely need to create a separate table of struct of_device_id just for the purpose of MODULE_DEVICE_TABLE(of, ...). This table would contain 'compatible' strings for all devices. Or choose of_device_id for just one device and define MODULE_DEVICE_TABLE() for it in some common place, e.g. exynos_drm_drv.c. I believe all devices should be listed though.
IMHO, the most proper solution would be to split the module into parent exynos_drm module and per-device submodules, which would depend on the parent module.
This way you would be able to load dynamically any submodule you want, without recompiling the modules.
Best regards, Tomasz