All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver
@ 2019-12-11 12:56 Arnd Bergmann
  2019-12-11 12:56 ` [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev Arnd Bergmann
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Arnd Bergmann @ 2019-12-11 12:56 UTC (permalink / raw)
  To: David S. Miller
  Cc: Arnd Bergmann, Ilias Apalodimas, Murali Karicheri,
	Grygorii Strashko, Alexei Starovoitov, Daniel Borkmann,
	Jakub Kicinski, Jesper Dangaard Brouer, John Fastabend,
	Andrew Lunn, netdev, linux-kernel, bpf

The new driver misses a dependency:

drivers/net/ethernet/ti/cpsw_new.o: In function `cpsw_rx_handler':
cpsw_new.c:(.text+0x259c): undefined reference to `__page_pool_put_page'
cpsw_new.c:(.text+0x25d0): undefined reference to `page_pool_alloc_pages'
drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_fill_rx_channels':
cpsw_priv.c:(.text+0x22d8): undefined reference to `page_pool_alloc_pages'
cpsw_priv.c:(.text+0x2420): undefined reference to `__page_pool_put_page'
drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_create_xdp_rxqs':
cpsw_priv.c:(.text+0x2624): undefined reference to `page_pool_create'
drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_run_xdp':
cpsw_priv.c:(.text+0x2dc8): undefined reference to `__page_pool_put_page'

Other drivers use 'select' for PAGE_POOL, so do the same here.

Fixes: ed3525eda4c4 ("net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/net/ethernet/ti/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index a46f4189fde3..bf98e0fa7d8b 100644
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -63,6 +63,7 @@ config TI_CPSW_SWITCHDEV
 	tristate "TI CPSW Switch Support with switchdev"
 	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
 	depends on NET_SWITCHDEV
+	select PAGE_POOL
 	select TI_DAVINCI_MDIO
 	select MFD_SYSCON
 	select REGMAP
-- 
2.20.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev
  2019-12-11 12:56 [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Arnd Bergmann
@ 2019-12-11 12:56 ` Arnd Bergmann
  2019-12-11 13:19   ` Grygorii Strashko
  2019-12-11 13:05 ` [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Ilias Apalodimas
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 7+ messages in thread
From: Arnd Bergmann @ 2019-12-11 12:56 UTC (permalink / raw)
  To: David S. Miller
  Cc: Arnd Bergmann, Ilias Apalodimas, Murali Karicheri,
	Grygorii Strashko, Andrew Lunn, netdev, linux-kernel

Without the common part of the driver, the new file fails to link:

drivers/net/ethernet/ti/cpsw_new.o: In function `cpsw_probe':
cpsw_new.c:(.text+0x312c): undefined reference to `ti_cm_get_macid'

Use the same Makefile hack as before, and build cpsw-common.o for
any driver that needs it.

Fixes: ed3525eda4c4 ("net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/net/ethernet/ti/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/ti/Makefile b/drivers/net/ethernet/ti/Makefile
index d34df8e5cf94..ecf776ad8689 100644
--- a/drivers/net/ethernet/ti/Makefile
+++ b/drivers/net/ethernet/ti/Makefile
@@ -5,6 +5,7 @@
 
 obj-$(CONFIG_TI_CPSW) += cpsw-common.o
 obj-$(CONFIG_TI_DAVINCI_EMAC) += cpsw-common.o
+obj-$(CONFIG_TI_CPSW_SWITCHDEV) += cpsw-common.o
 
 obj-$(CONFIG_TLAN) += tlan.o
 obj-$(CONFIG_CPMAC) += cpmac.o
-- 
2.20.0


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver
  2019-12-11 12:56 [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Arnd Bergmann
  2019-12-11 12:56 ` [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev Arnd Bergmann
@ 2019-12-11 13:05 ` Ilias Apalodimas
  2019-12-11 13:17 ` Jesper Dangaard Brouer
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Ilias Apalodimas @ 2019-12-11 13:05 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: David S. Miller, Murali Karicheri, Grygorii Strashko,
	Alexei Starovoitov, Daniel Borkmann, Jakub Kicinski,
	Jesper Dangaard Brouer, John Fastabend, Andrew Lunn, netdev,
	linux-kernel, bpf

On Wed, Dec 11, 2019 at 01:56:09PM +0100, Arnd Bergmann wrote:
> The new driver misses a dependency:
> 
> drivers/net/ethernet/ti/cpsw_new.o: In function `cpsw_rx_handler':
> cpsw_new.c:(.text+0x259c): undefined reference to `__page_pool_put_page'
> cpsw_new.c:(.text+0x25d0): undefined reference to `page_pool_alloc_pages'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_fill_rx_channels':
> cpsw_priv.c:(.text+0x22d8): undefined reference to `page_pool_alloc_pages'
> cpsw_priv.c:(.text+0x2420): undefined reference to `__page_pool_put_page'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_create_xdp_rxqs':
> cpsw_priv.c:(.text+0x2624): undefined reference to `page_pool_create'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_run_xdp':
> cpsw_priv.c:(.text+0x2dc8): undefined reference to `__page_pool_put_page'
> 
> Other drivers use 'select' for PAGE_POOL, so do the same here.
> 
> Fixes: ed3525eda4c4 ("net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/net/ethernet/ti/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> index a46f4189fde3..bf98e0fa7d8b 100644
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -63,6 +63,7 @@ config TI_CPSW_SWITCHDEV
>  	tristate "TI CPSW Switch Support with switchdev"
>  	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
>  	depends on NET_SWITCHDEV
> +	select PAGE_POOL
>  	select TI_DAVINCI_MDIO
>  	select MFD_SYSCON
>  	select REGMAP
> -- 
> 2.20.0
> 

Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver
  2019-12-11 12:56 [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Arnd Bergmann
  2019-12-11 12:56 ` [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev Arnd Bergmann
  2019-12-11 13:05 ` [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Ilias Apalodimas
@ 2019-12-11 13:17 ` Jesper Dangaard Brouer
  2019-12-11 13:19 ` Grygorii Strashko
  2019-12-14 20:53 ` Jakub Kicinski
  4 siblings, 0 replies; 7+ messages in thread
From: Jesper Dangaard Brouer @ 2019-12-11 13:17 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: brouer, David S. Miller, Ilias Apalodimas, Murali Karicheri,
	Grygorii Strashko, Alexei Starovoitov, Daniel Borkmann,
	Jakub Kicinski, Jesper Dangaard Brouer, John Fastabend,
	Andrew Lunn, netdev, linux-kernel, bpf

On Wed, 11 Dec 2019 13:56:09 +0100
Arnd Bergmann <arnd@arndb.de> wrote:

> The new driver misses a dependency:
> 
> drivers/net/ethernet/ti/cpsw_new.o: In function `cpsw_rx_handler':
> cpsw_new.c:(.text+0x259c): undefined reference to `__page_pool_put_page'
> cpsw_new.c:(.text+0x25d0): undefined reference to `page_pool_alloc_pages'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_fill_rx_channels':
> cpsw_priv.c:(.text+0x22d8): undefined reference to `page_pool_alloc_pages'
> cpsw_priv.c:(.text+0x2420): undefined reference to `__page_pool_put_page'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_create_xdp_rxqs':
> cpsw_priv.c:(.text+0x2624): undefined reference to `page_pool_create'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_run_xdp':
> cpsw_priv.c:(.text+0x2dc8): undefined reference to `__page_pool_put_page'
> 
> Other drivers use 'select' for PAGE_POOL, so do the same here.
> 
> Fixes: ed3525eda4c4 ("net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>

Thanks for fixing this.

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver
  2019-12-11 12:56 [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Arnd Bergmann
                   ` (2 preceding siblings ...)
  2019-12-11 13:17 ` Jesper Dangaard Brouer
@ 2019-12-11 13:19 ` Grygorii Strashko
  2019-12-14 20:53 ` Jakub Kicinski
  4 siblings, 0 replies; 7+ messages in thread
From: Grygorii Strashko @ 2019-12-11 13:19 UTC (permalink / raw)
  To: Arnd Bergmann, David S. Miller
  Cc: Ilias Apalodimas, Murali Karicheri, Alexei Starovoitov,
	Daniel Borkmann, Jakub Kicinski, Jesper Dangaard Brouer,
	John Fastabend, Andrew Lunn, netdev, linux-kernel, bpf



On 11/12/2019 14:56, Arnd Bergmann wrote:
> The new driver misses a dependency:
> 
> drivers/net/ethernet/ti/cpsw_new.o: In function `cpsw_rx_handler':
> cpsw_new.c:(.text+0x259c): undefined reference to `__page_pool_put_page'
> cpsw_new.c:(.text+0x25d0): undefined reference to `page_pool_alloc_pages'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_fill_rx_channels':
> cpsw_priv.c:(.text+0x22d8): undefined reference to `page_pool_alloc_pages'
> cpsw_priv.c:(.text+0x2420): undefined reference to `__page_pool_put_page'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_create_xdp_rxqs':
> cpsw_priv.c:(.text+0x2624): undefined reference to `page_pool_create'
> drivers/net/ethernet/ti/cpsw_priv.o: In function `cpsw_run_xdp':
> cpsw_priv.c:(.text+0x2dc8): undefined reference to `__page_pool_put_page'
> 
> Other drivers use 'select' for PAGE_POOL, so do the same here.
> 
> Fixes: ed3525eda4c4 ("net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   drivers/net/ethernet/ti/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> index a46f4189fde3..bf98e0fa7d8b 100644
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -63,6 +63,7 @@ config TI_CPSW_SWITCHDEV
>   	tristate "TI CPSW Switch Support with switchdev"
>   	depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || COMPILE_TEST
>   	depends on NET_SWITCHDEV
> +	select PAGE_POOL
>   	select TI_DAVINCI_MDIO
>   	select MFD_SYSCON
>   	select REGMAP
> 

Thank you.
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>

-- 
Best regards,
grygorii

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev
  2019-12-11 12:56 ` [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev Arnd Bergmann
@ 2019-12-11 13:19   ` Grygorii Strashko
  0 siblings, 0 replies; 7+ messages in thread
From: Grygorii Strashko @ 2019-12-11 13:19 UTC (permalink / raw)
  To: Arnd Bergmann, David S. Miller
  Cc: Ilias Apalodimas, Murali Karicheri, Andrew Lunn, netdev, linux-kernel



On 11/12/2019 14:56, Arnd Bergmann wrote:
> Without the common part of the driver, the new file fails to link:
> 
> drivers/net/ethernet/ti/cpsw_new.o: In function `cpsw_probe':
> cpsw_new.c:(.text+0x312c): undefined reference to `ti_cm_get_macid'
> 
> Use the same Makefile hack as before, and build cpsw-common.o for
> any driver that needs it.
> 
> Fixes: ed3525eda4c4 ("net: ethernet: ti: introduce cpsw switchdev based driver part 1 - dual-emac")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>   drivers/net/ethernet/ti/Makefile | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/ethernet/ti/Makefile b/drivers/net/ethernet/ti/Makefile
> index d34df8e5cf94..ecf776ad8689 100644
> --- a/drivers/net/ethernet/ti/Makefile
> +++ b/drivers/net/ethernet/ti/Makefile
> @@ -5,6 +5,7 @@
>   
>   obj-$(CONFIG_TI_CPSW) += cpsw-common.o
>   obj-$(CONFIG_TI_DAVINCI_EMAC) += cpsw-common.o
> +obj-$(CONFIG_TI_CPSW_SWITCHDEV) += cpsw-common.o
>   
>   obj-$(CONFIG_TLAN) += tlan.o
>   obj-$(CONFIG_CPMAC) += cpmac.o
> 

Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>

-- 
Best regards,
grygorii

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver
  2019-12-11 12:56 [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Arnd Bergmann
                   ` (3 preceding siblings ...)
  2019-12-11 13:19 ` Grygorii Strashko
@ 2019-12-14 20:53 ` Jakub Kicinski
  4 siblings, 0 replies; 7+ messages in thread
From: Jakub Kicinski @ 2019-12-14 20:53 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: David S. Miller, Ilias Apalodimas, Murali Karicheri,
	Grygorii Strashko, Alexei Starovoitov, Daniel Borkmann,
	Jesper Dangaard Brouer, John Fastabend, Andrew Lunn, netdev,
	linux-kernel, bpf

On Wed, 11 Dec 2019 13:56:09 +0100, Arnd Bergmann wrote:
> The new driver misses a dependency:

Applied both, thank you!

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-14 20:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-11 12:56 [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Arnd Bergmann
2019-12-11 12:56 ` [PATCH 2/2] net: ethernet: ti: build cpsw-common for switchdev Arnd Bergmann
2019-12-11 13:19   ` Grygorii Strashko
2019-12-11 13:05 ` [PATCH 1/2] net: ethernet: ti: select PAGE_POOL for switchdev driver Ilias Apalodimas
2019-12-11 13:17 ` Jesper Dangaard Brouer
2019-12-11 13:19 ` Grygorii Strashko
2019-12-14 20:53 ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.