Re: [PATCH] drm/exynos: fix multiple definition build error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/26/2013 09:42 PM, Tomasz Figa wrote:
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.

Yes, this is how it would have been in a perfect world. Probably something
worth to consider for the future, it likely implies a lot of work.

OTOH if there is one device for which the driver will always be present
in the main module it should be enough to make a single entry
MODULE_DEVICE_TABLE including its compatible string to ensure the driver
is properly loaded, shouldn't it ?

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux