* Re: [PATCH] drm/exynos: fix multiple definition build error
[not found] ` <CAAQKjZPQ4LWTka0rfgPypsh+a-B5gzBv5hEbRYdkrry_C5J6Hg@mail.gmail.com>
@ 2013-04-26 9:48 ` Sylwester Nawrocki
2013-04-26 19:42 ` Tomasz Figa
0 siblings, 1 reply; 5+ messages in thread
From: Sylwester Nawrocki @ 2013-04-26 9:48 UTC (permalink / raw)
To: Inki Dae
Cc: Tomasz Figa, Kyungmin Park, linux-samsung-soc, Seung-Woo Kim,
DRI mailing list, devicetree-discuss
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.
Thanks,
Sylwester
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/exynos: fix multiple definition build error
2013-04-26 9:48 ` [PATCH] drm/exynos: fix multiple definition build error Sylwester Nawrocki
@ 2013-04-26 19:42 ` Tomasz Figa
2013-04-26 20:00 ` Sylwester Nawrocki
2013-04-28 12:52 ` Inki Dae
0 siblings, 2 replies; 5+ messages in thread
From: Tomasz Figa @ 2013-04-26 19:42 UTC (permalink / raw)
To: Sylwester Nawrocki
Cc: Inki Dae, Kyungmin Park, linux-samsung-soc, Seung-Woo Kim,
DRI mailing list, devicetree-discuss
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
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/exynos: fix multiple definition build error
2013-04-26 19:42 ` Tomasz Figa
@ 2013-04-26 20:00 ` Sylwester Nawrocki
[not found] ` <517ADCDB.3040101-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-04-28 12:52 ` Inki Dae
1 sibling, 1 reply; 5+ messages in thread
From: Sylwester Nawrocki @ 2013-04-26 20:00 UTC (permalink / raw)
To: Tomasz Figa
Cc: Sylwester Nawrocki, Inki Dae, Kyungmin Park, linux-samsung-soc,
Seung-Woo Kim, DRI mailing list, devicetree-discuss
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 ?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/exynos: fix multiple definition build error
2013-04-26 19:42 ` Tomasz Figa
2013-04-26 20:00 ` Sylwester Nawrocki
@ 2013-04-28 12:52 ` Inki Dae
1 sibling, 0 replies; 5+ messages in thread
From: Inki Dae @ 2013-04-28 12:52 UTC (permalink / raw)
To: Tomasz Figa
Cc: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, devicetree-discuss,
Seung-Woo Kim, DRI mailing list, Kyungmin Park,
Sylwester Nawrocki
[-- Attachment #1.1: Type: text/plain, Size: 1444 bytes --]
2013/4/27 Tomasz Figa <tomasz.figa-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 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 had already been used a long time ago and there was some probing
issues so we made exynos drm framework to be one module.
>
This way you would be able to load dynamically any submodule you want,
> without recompiling the modules.
>
> Best regards,
> Tomasz
>
> _______________________________________________
> dri-devel mailing list
> dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
[-- Attachment #1.2: Type: text/html, Size: 2764 bytes --]
[-- Attachment #2: Type: text/plain, Size: 192 bytes --]
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/exynos: fix multiple definition build error
[not found] ` <517ADCDB.3040101-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
@ 2013-04-28 13:24 ` Inki Dae
0 siblings, 0 replies; 5+ messages in thread
From: Inki Dae @ 2013-04-28 13:24 UTC (permalink / raw)
To: Sylwester Nawrocki
Cc: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, devicetree-discuss,
Seung-Woo Kim, Tomasz Figa, DRI mailing list, Kyungmin Park,
Sylwester Nawrocki
[-- Attachment #1.1: Type: text/plain, Size: 2323 bytes --]
2013/4/27 Sylwester Nawrocki <sylvester.nawrocki-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> 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.
>
>
For now, exynos drm framework has a problem to module support with device
tree. And for this, going back to previous style might be a right way but
this also still has the probing issue. Frankly spreaking, I don't really
want back to previous style because that way not only still has a probing
issue but also makes exynos drm framework so complicated(there are many
things to consider every time framework updating). So I'd like to resolve
this issue as is first.
>
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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/**majordomo-info.html<http://vger.kernel.org/majordomo-info.html>
>
[-- Attachment #1.2: Type: text/html, Size: 4064 bytes --]
[-- Attachment #2: Type: text/plain, Size: 192 bytes --]
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-04-28 13:24 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1366952590-11652-1-git-send-email-inki.dae@samsung.com>
[not found] ` <1835608.J1o7g8oiCZ@flatron>
[not found] ` <CAAQKjZPQ4LWTka0rfgPypsh+a-B5gzBv5hEbRYdkrry_C5J6Hg@mail.gmail.com>
2013-04-26 9:48 ` [PATCH] drm/exynos: fix multiple definition build error Sylwester Nawrocki
2013-04-26 19:42 ` Tomasz Figa
2013-04-26 20:00 ` Sylwester Nawrocki
[not found] ` <517ADCDB.3040101-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-04-28 13:24 ` Inki Dae
2013-04-28 12:52 ` Inki Dae
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).