On 14/09/2019, kbuild test robot <[email protected]> wrote:
> Hi Vladimir,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on net-next/master]
>
> url:
> https://github.com/0day-ci/linux/commits/Vladimir-Oltean/tc-taprio-offload-for-SJA1105-DSA/20190914-154650
> config: i386-randconfig-b001-201936 (attached as .config)
> compiler: gcc-7 (Debian 7.4.0-11) 7.4.0
> reproduce:
>         # save the attached .config to linux build tree
>         make ARCH=i386
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <[email protected]>
>
> All error/warnings (new ones prefixed by >>):
>
>    In file included from drivers/net/dsa/sja1105/sja1105.h:23:0,
>                     from drivers/net/dsa/sja1105/sja1105_spi.c:8:
>>> drivers/net/dsa/sja1105/sja1105_tas.h:38:45: warning: 'struct
>>> sja1105_private' declared inside parameter list will not be visible
>>> outside of this definition or declaration

Oops, I didn't realize I need the "struct sja1105_private;"
forward-declaration even if CONFIG_NET_DSA_SJA1105_TAS is not defined.
Never mind, I'll just make all prototypes take "struct dsa_switch *ds"
so the forward-declaration won't be needed at all. I'll send out a v3
soon.

>     static inline void sja1105_tas_setup(struct sja1105_private *priv) { }
>                                                 ^~~~~~~~~~~~~~~
>    drivers/net/dsa/sja1105/sja1105_tas.h:40:48: warning: 'struct
> sja1105_private' declared inside parameter list will not be visible outside
> of this definition or declaration
>     static inline void sja1105_tas_teardown(struct sja1105_private *priv) {
> }
>                                                    ^~~~~~~~~~~~~~~
> --
>    In file included from drivers/net/dsa/sja1105/sja1105.h:23:0,
>                     from drivers/net/dsa/sja1105/sja1105_main.c:24:
>>> drivers/net/dsa/sja1105/sja1105_tas.h:38:45: warning: 'struct
>>> sja1105_private' declared inside parameter list will not be visible
>>> outside of this definition or declaration
>     static inline void sja1105_tas_setup(struct sja1105_private *priv) { }
>                                                 ^~~~~~~~~~~~~~~
>    drivers/net/dsa/sja1105/sja1105_tas.h:40:48: warning: 'struct
> sja1105_private' declared inside parameter list will not be visible outside
> of this definition or declaration
>     static inline void sja1105_tas_teardown(struct sja1105_private *priv) {
> }
>                                                    ^~~~~~~~~~~~~~~
>    drivers/net/dsa/sja1105/sja1105_main.c: In function 'sja1105_teardown':
>>> drivers/net/dsa/sja1105/sja1105_main.c:1731:23: error: passing argument 1
>>> of 'sja1105_tas_teardown' from incompatible pointer type
>>> [-Werror=incompatible-pointer-types]
>      sja1105_tas_teardown(priv);
>                           ^~~~
>    In file included from drivers/net/dsa/sja1105/sja1105.h:23:0,
>                     from drivers/net/dsa/sja1105/sja1105_main.c:24:
>    drivers/net/dsa/sja1105/sja1105_tas.h:40:20: note: expected 'struct
> sja1105_private *' but argument is of type 'struct sja1105_private *'
>     static inline void sja1105_tas_teardown(struct sja1105_private *priv) {
> }
>                        ^~~~~~~~~~~~~~~~~~~~
>    drivers/net/dsa/sja1105/sja1105_main.c: In function 'sja1105_probe':
>>> drivers/net/dsa/sja1105/sja1105_main.c:2215:20: error: passing argument 1
>>> of 'sja1105_tas_setup' from incompatible pointer type
>>> [-Werror=incompatible-pointer-types]
>      sja1105_tas_setup(priv);
>                        ^~~~
>    In file included from drivers/net/dsa/sja1105/sja1105.h:23:0,
>                     from drivers/net/dsa/sja1105/sja1105_main.c:24:
>    drivers/net/dsa/sja1105/sja1105_tas.h:38:20: note: expected 'struct
> sja1105_private *' but argument is of type 'struct sja1105_private *'
>     static inline void sja1105_tas_setup(struct sja1105_private *priv) { }
>                        ^~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
>
> vim +/sja1105_tas_teardown +1731 drivers/net/dsa/sja1105/sja1105_main.c
>
>   1726        
>   1727        static void sja1105_teardown(struct dsa_switch *ds)
>   1728        {
>   1729                struct sja1105_private *priv = ds->priv;
>   1730        
>> 1731         sja1105_tas_teardown(priv);
>   1732                cancel_work_sync(&priv->tagger_data.rxtstamp_work);
>   1733                skb_queue_purge(&priv->tagger_data.skb_rxtstamp_queue);
>   1734                sja1105_ptp_clock_unregister(priv);
>   1735                sja1105_static_config_free(&priv->static_config);
>   1736        }
>   1737        
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology
> Center
> https://lists.01.org/pipermail/kbuild-all                   Intel
> Corporation
>

Thanks,
-Vladimir

Reply via email to