Re: [PATCH net-next] drivers: net: cpsw: make cpsw_ale.c a module to allow re-use on Keystone

From: Murali Karicheri
Date: Fri Jan 30 2015 - 10:39:27 EST


On 01/29/2015 06:47 PM, Arnd Bergmann wrote:
On Thursday 29 January 2015 18:15:51 Murali Karicheri wrote:
NetCP on Keystone has cpsw ale function similar to other TI SoCs
and this driver is re-used. To allow both ti cpsw and keystone netcp
to re-use the driver, convert the cpsw ale to a module and configure
it through Kconfig option CONFIG_TI_CPSW_ALE. Currently it is statically
linked to both TI CPSW and NetCP and this causes issues when the above
drivers are built as dynamic modules. This patch addresses this issue

While at it, fix the Makefile and code to build both netcp_core and
netcp_ethss as dynamic modules. This is needed to support arm allmodconfig.
This also requires exporting of API calls provided by netcp_core so that
both the above can be dynamic modules.

Signed-off-by: Murali Karicheri<m-karicheri2@xxxxxx>
---
drivers/net/ethernet/ti/Kconfig | 19 +++++++++++++++++--
drivers/net/ethernet/ti/Makefile | 8 +++++---
drivers/net/ethernet/ti/cpsw_ale.c | 26 ++++++++++++++++++++++++--
drivers/net/ethernet/ti/netcp_core.c | 8 ++++++++
drivers/net/ethernet/ti/netcp_ethss.c | 5 +++++
5 files changed, 59 insertions(+), 7 deletions(-)

I was hoping there would be a way without exporting all those symbols, but
I also couldn't come up with a better solution. I'm putting this into the
randconfig build test for now, but I'm guessing it's fine.

Unless you hear something else from me tomorrow after the tests are through:

Acked-by: Arnd Bergmann<arnd@xxxxxxxx>
Arnd,

Oops! I think I have send v1 too soon with your Ack. Sorry for that. Hope nothing shows up bad in your test.

--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/