Re: [RFC PATCH] net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support

From: Vladimir Oltean
Date: Tue Aug 01 2023 - 09:28:56 EST


On Tue, Aug 01, 2023 at 04:19:30PM +0300, Roger Quadros wrote:
> > Also:
> >
> > ../drivers/net/ethernet/ti/am65-cpsw-qos.c:173:6: warning: no previous prototype for function 'am65_cpsw_iet_change_preemptible_tcs' [-Wmissing-prototypes]
> > void am65_cpsw_iet_change_preemptible_tcs(struct am65_cpsw_port *port, u8 preemptible_tcs)
> > ^
> > ../drivers/net/ethernet/ti/am65-cpsw-qos.c:173:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
> > void am65_cpsw_iet_change_preemptible_tcs(struct am65_cpsw_port *port, u8 preemptible_tcs)
> > ^
> > static
> > ../drivers/net/ethernet/ti/am65-cpsw-qos.c:179:6: warning: no previous prototype for function 'am65_cpsw_iet_link_state_update' [-Wmissing-prototypes]
> > void am65_cpsw_iet_link_state_update(struct net_device *ndev)
> > ^
> > ../drivers/net/ethernet/ti/am65-cpsw-qos.c:179:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
> > void am65_cpsw_iet_link_state_update(struct net_device *ndev)
> > ^
> > static
> > ../drivers/net/ethernet/ti/am65-cpsw-qos.c:699:33: error: redefinition of 'taprio'
> > struct tc_taprio_qopt_offload *taprio = type_data;
> > ^
> > ../drivers/net/ethernet/ti/am65-cpsw-qos.c:697:33: note: previous definition is here
> > struct tc_taprio_qopt_offload *taprio = type_data;
> > ^
> > 2 warnings and 1 error generated.
> > make[7]: *** [../scripts/Makefile.build:243: drivers/net/ethernet/ti/am65-cpsw-qos.o] Error 1
> > make[7]: *** Waiting for unfinished jobs....
>
> I'm pretty sure there weren't any build errors for me.
> Did you have and resolve conflicts when applying this patch?

Yup, part of it (the error) is to blame due to an auto-merge (conflict
with 2d800bc500fb ("net/sched: taprio: replace tc_taprio_qopt_offload ::
enable with a "cmd" enum")) which failed to do the right thing in
am65_cpsw_setup_taprio():

$ git b4 0f18cf9e-9c5b-02dd-b396-729b9fecdfe7@xxxxxxxxxx
Looking up https://lore.kernel.org/r/0f18cf9e-9c5b-02dd-b396-729b9fecdfe7%40kernel.org
Grabbing thread from lore.kernel.org/all/0f18cf9e-9c5b-02dd-b396-729b9fecdfe7%40kernel.org/t.mbox.gz
Analyzing 5 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH RFC] net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support
---
✓ Signed: DKIM/kernel.org
---
Total patches: 1
---
Link: https://lore.kernel.org/r/20230725072338.20789-1-rogerq@xxxxxxxxxx
Base: not specified
Applying: net: ethernet: ti: am65-cpsw-qos: Add Frame Preemption MAC Merge support
Using index info to reconstruct a base tree...
M drivers/net/ethernet/ti/am65-cpsw-nuss.c
M drivers/net/ethernet/ti/am65-cpsw-qos.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/net/ethernet/ti/am65-cpsw-qos.c
Auto-merging drivers/net/ethernet/ti/am65-cpsw-nuss.c

But part of it is legit, and I saw it with a W=1 C=1 build.
am65_cpsw_iet_link_state_update() and am65_cpsw_iet_change_preemptible_tcs()
should be static.