2023-09-16 15:05:22

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH] net: ti: icss-iep: add dependency for PTP

When CONFIG_PTP_1588_CLOCK=m and CONFIG_TI_ICSS_IEP=y,
there are build errors when referencing PTP functions.
Fix this by making TI_ICSS_IEP depend on PTP_1588_CLOCK_OPTIONAL.
Also, since TI_ICSSG_PRUETH selects TI_ICSS_IEP and selects don't
follow dependencies, make the former also depend on
PTP_1588_CLOCK_OPTIONAL.

Fixes these build errors:

aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_get_ptp_clock_idx':
icss_iep.c:(.text+0x234): undefined reference to `ptp_clock_index'
aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_exit':
icss_iep.c:(.text+0x634): undefined reference to `ptp_clock_unregister'
aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_init':
icss_iep.c:(.text+0x1848): undefined reference to `ptp_clock_register'

Fixes: c1e0230eeaab ("net: ti: icss-iep: Add IEP driver")
Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kernel test robot <[email protected]>
Closes: lore.kernel.org/r/[email protected]
Cc: Roger Quadros <[email protected]>
Cc: Md Danish Anwar <[email protected]>
Cc: "David S. Miller" <[email protected]>
Cc: Eric Dumazet <[email protected]>
Cc: Jakub Kicinski <[email protected]>
Cc: Paolo Abeni <[email protected]>
Cc: [email protected]
---
drivers/net/ethernet/ti/Kconfig | 2 ++
1 file changed, 2 insertions(+)

diff -- a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -189,6 +189,7 @@ config TI_ICSSG_PRUETH
select TI_ICSS_IEP
depends on PRU_REMOTEPROC
depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
+ depends on PTP_1588_CLOCK_OPTIONAL
help
Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
This subsystem is available starting with the AM65 platform.
@@ -200,6 +201,7 @@ config TI_ICSSG_PRUETH
config TI_ICSS_IEP
tristate "TI PRU ICSS IEP driver"
depends on TI_PRUSS
+ depends on PTP_1588_CLOCK_OPTIONAL
default TI_PRUSS
help
This driver enables support for the PRU-ICSS Industrial Ethernet


2023-09-18 17:20:42

by Roger Quadros

[permalink] [raw]
Subject: Re: [PATCH] net: ti: icss-iep: add dependency for PTP



On 16.9.2023 8.07, Randy Dunlap wrote:
> When CONFIG_PTP_1588_CLOCK=m and CONFIG_TI_ICSS_IEP=y,
> there are build errors when referencing PTP functions.
> Fix this by making TI_ICSS_IEP depend on PTP_1588_CLOCK_OPTIONAL.
> Also, since TI_ICSSG_PRUETH selects TI_ICSS_IEP and selects don't
> follow dependencies, make the former also depend on
> PTP_1588_CLOCK_OPTIONAL.
>
> Fixes these build errors:
>
> aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_get_ptp_clock_idx':
> icss_iep.c:(.text+0x234): undefined reference to `ptp_clock_index'
> aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_exit':
> icss_iep.c:(.text+0x634): undefined reference to `ptp_clock_unregister'
> aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_init':
> icss_iep.c:(.text+0x1848): undefined reference to `ptp_clock_register'
>
> Fixes: c1e0230eeaab ("net: ti: icss-iep: Add IEP driver")
> Signed-off-by: Randy Dunlap <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Closes: lore.kernel.org/r/[email protected]
> Cc: Roger Quadros <[email protected]>
> Cc: Md Danish Anwar <[email protected]>
> Cc: "David S. Miller" <[email protected]>
> Cc: Eric Dumazet <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: Paolo Abeni <[email protected]>
> Cc: [email protected]

Reviewed-by: Roger Quadros <[email protected]>

2023-09-19 18:48:21

by MD Danish Anwar

[permalink] [raw]
Subject: [PATCH] net: ti: icss-iep: add dependency for PTP

On 16/09/23 10:37, Randy Dunlap wrote:
> When CONFIG_PTP_1588_CLOCK=m and CONFIG_TI_ICSS_IEP=y,
> there are build errors when referencing PTP functions.
> Fix this by making TI_ICSS_IEP depend on PTP_1588_CLOCK_OPTIONAL.
> Also, since TI_ICSSG_PRUETH selects TI_ICSS_IEP and selects don't
> follow dependencies, make the former also depend on
> PTP_1588_CLOCK_OPTIONAL.
>
> Fixes these build errors:
>
> aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_get_ptp_clock_idx':
> icss_iep.c:(.text+0x234): undefined reference to `ptp_clock_index'
> aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_exit':
> icss_iep.c:(.text+0x634): undefined reference to `ptp_clock_unregister'
> aarch64-linux-ld: drivers/net/ethernet/ti/icssg/icss_iep.o: in function `icss_iep_init':
> icss_iep.c:(.text+0x1848): undefined reference to `ptp_clock_register'
>
> Fixes: c1e0230eeaab ("net: ti: icss-iep: Add IEP driver")
> Signed-off-by: Randy Dunlap <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Closes: lore.kernel.org/r/[email protected]
> Cc: Roger Quadros <[email protected]>
> Cc: Md Danish Anwar <[email protected]>
> Cc: "David S. Miller" <[email protected]>
> Cc: Eric Dumazet <[email protected]>
> Cc: Jakub Kicinski <[email protected]>
> Cc: Paolo Abeni <[email protected]>
> Cc: [email protected]
> ---
> drivers/net/ethernet/ti/Kconfig | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff -- a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -189,6 +189,7 @@ config TI_ICSSG_PRUETH
> select TI_ICSS_IEP
> depends on PRU_REMOTEPROC
> depends on ARCH_K3 && OF && TI_K3_UDMA_GLUE_LAYER
> + depends on PTP_1588_CLOCK_OPTIONAL
> help
> Support dual Gigabit Ethernet ports over the ICSSG PRU Subsystem.
> This subsystem is available starting with the AM65 platform.
> @@ -200,6 +201,7 @@ config TI_ICSSG_PRUETH
> config TI_ICSS_IEP
> tristate "TI PRU ICSS IEP driver"
> depends on TI_PRUSS
> + depends on PTP_1588_CLOCK_OPTIONAL
> default TI_PRUSS
> help
> This driver enables support for the PRU-ICSS Industrial Ethernet

This doesn't apply cleanly on netdev/net (using git am) as the
dependency on PTP_1588_CLOCK_OPTIONAL in TI_ICSS_IEP is already added by
[1]. However the dependency on PTP_1588_CLOCK_OPTIONAL in
TI_ICSSG_PRUETH is not added yet and can be added by this patch.

With this,
Reviewed-by: MD Danish Anwar <[email protected]>

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=a8f367f7e131

--
Thanks and Regards,
Danish