[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2021acc6-bcf6-4dba-b7ce-ca1b3ca86088@lunn.ch>
Date: Wed, 13 Sep 2023 03:32:48 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Parthiban.Veerasooran@...rochip.com
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, conor+dt@...nel.org,
corbet@....net, Steen.Hegelund@...rochip.com, rdunlap@...radead.org,
horms@...nel.org, casper.casan@...il.com, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org, Horatiu.Vultur@...rochip.com,
Woojung.Huh@...rochip.com, Nicolas.Ferre@...rochip.com,
UNGLinuxDriver@...rochip.com, Thorsten.Kummermehr@...rochip.com
Subject: Re: [RFC PATCH net-next 1/6] net: ethernet: implement OPEN Alliance
control transaction interface
> If I understand you correctly, this framework has to include the module
> initialization as well using the below APIs and has to be compiled as a
> loadable module so that other vendors module can make use of this, isn't it?
>
> module_init(oa_tc6_init);
> module_exit(oa_tc6_exit);
You should not need these, unless there is actions which need to be
taken when the module is loaded. If there are no actions, it is purely
a library, don't have them. The module dependency tracking code will
see that the MAC driver modules has dependencies on symbols in this
library module, and will load it first. The MAC driver is then loaded,
and the kernel linker will resolve the missing symbols in the MAC
driver to those in the library. It also means that there is only ever
one copy of the library in the kernel, even if there is multiple MAC
drivers using it.
Andrew
Powered by blists - more mailing lists