diff mbox

[net-next,3/6] net: remove dsa.h include from linux/netdevice.h

Message ID 1444261711-1829-4-git-send-email-vivien.didelot@savoirfairelinux.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Vivien Didelot Oct. 7, 2015, 11:48 p.m. UTC
Forward declare struct dsa_switch_tree in netdevice.h instead of
including the dsa.h header.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
---
 include/linux/netdevice.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

kernel test robot Oct. 8, 2015, 9:04 a.m. UTC | #1
Hi Vivien,

[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]

config: arm64-allyesconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=arm64 

All errors (new ones prefixed by >>):

   In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
     phy_interface_t phy_if;
     ^

vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h

6fe6611f huangdaode 2015-09-17  449  struct hnae_ae_dev {
6fe6611f huangdaode 2015-09-17  450  	struct device cls_dev; /* the class dev */
6fe6611f huangdaode 2015-09-17  451  	struct device *dev; /* the presented dev */
6fe6611f huangdaode 2015-09-17  452  	struct hnae_ae_ops *ops;
6fe6611f huangdaode 2015-09-17  453  	struct list_head node;
6fe6611f huangdaode 2015-09-17  454  	struct module *owner; /* the module who provides this dev */
6fe6611f huangdaode 2015-09-17  455  	int id;
6fe6611f huangdaode 2015-09-17  456  	char name[AE_NAME_SIZE];
6fe6611f huangdaode 2015-09-17  457  	struct list_head handle_list;
6fe6611f huangdaode 2015-09-17  458  	spinlock_t lock; /* lock to protect the handle_list */
6fe6611f huangdaode 2015-09-17  459  };
6fe6611f huangdaode 2015-09-17  460  
6fe6611f huangdaode 2015-09-17  461  struct hnae_handle {
6fe6611f huangdaode 2015-09-17  462  	struct device *owner_dev; /* the device which make use of this handle */
6fe6611f huangdaode 2015-09-17  463  	struct hnae_ae_dev *dev;  /* the device who provides this handle */
6fe6611f huangdaode 2015-09-17  464  	struct device_node *phy_node;
6fe6611f huangdaode 2015-09-17 @465  	phy_interface_t phy_if;
6fe6611f huangdaode 2015-09-17  466  	u32 if_support;
6fe6611f huangdaode 2015-09-17  467  	int q_num;
6fe6611f huangdaode 2015-09-17  468  	int vf_id;
6fe6611f huangdaode 2015-09-17  469  	u32 eport_id;
6fe6611f huangdaode 2015-09-17  470  	enum hnae_port_type port_type;
6fe6611f huangdaode 2015-09-17  471  	struct list_head node;    /* list to hnae_ae_dev->handle_list */
6fe6611f huangdaode 2015-09-17  472  	struct hnae_buf_ops *bops; /* operation for the buffer */
6fe6611f huangdaode 2015-09-17  473  	struct hnae_queue **qs;  /* array base of all queues */

:::::: The code at line 465 was first introduced by commit
:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support

:::::: TO: huangdaode <huangdaode@hisilicon.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Jiri Pirko Oct. 8, 2015, 9:18 a.m. UTC | #2
Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>Hi Vivien,
>
>[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>
>config: arm64-allyesconfig (attached as .config)
>reproduce:
>        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>        chmod +x ~/bin/make.cross
>        # save the attached .config to linux build tree
>        make.cross ARCH=arm64 
>
>All errors (new ones prefixed by >>):
>
>   In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>     phy_interface_t phy_if;
>     ^
>
>vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h


Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
Cc'ing maintainer.


>
>6fe6611f huangdaode 2015-09-17  449  struct hnae_ae_dev {
>6fe6611f huangdaode 2015-09-17  450  	struct device cls_dev; /* the class dev */
>6fe6611f huangdaode 2015-09-17  451  	struct device *dev; /* the presented dev */
>6fe6611f huangdaode 2015-09-17  452  	struct hnae_ae_ops *ops;
>6fe6611f huangdaode 2015-09-17  453  	struct list_head node;
>6fe6611f huangdaode 2015-09-17  454  	struct module *owner; /* the module who provides this dev */
>6fe6611f huangdaode 2015-09-17  455  	int id;
>6fe6611f huangdaode 2015-09-17  456  	char name[AE_NAME_SIZE];
>6fe6611f huangdaode 2015-09-17  457  	struct list_head handle_list;
>6fe6611f huangdaode 2015-09-17  458  	spinlock_t lock; /* lock to protect the handle_list */
>6fe6611f huangdaode 2015-09-17  459  };
>6fe6611f huangdaode 2015-09-17  460  
>6fe6611f huangdaode 2015-09-17  461  struct hnae_handle {
>6fe6611f huangdaode 2015-09-17  462  	struct device *owner_dev; /* the device which make use of this handle */
>6fe6611f huangdaode 2015-09-17  463  	struct hnae_ae_dev *dev;  /* the device who provides this handle */
>6fe6611f huangdaode 2015-09-17  464  	struct device_node *phy_node;
>6fe6611f huangdaode 2015-09-17 @465  	phy_interface_t phy_if;
>6fe6611f huangdaode 2015-09-17  466  	u32 if_support;
>6fe6611f huangdaode 2015-09-17  467  	int q_num;
>6fe6611f huangdaode 2015-09-17  468  	int vf_id;
>6fe6611f huangdaode 2015-09-17  469  	u32 eport_id;
>6fe6611f huangdaode 2015-09-17  470  	enum hnae_port_type port_type;
>6fe6611f huangdaode 2015-09-17  471  	struct list_head node;    /* list to hnae_ae_dev->handle_list */
>6fe6611f huangdaode 2015-09-17  472  	struct hnae_buf_ops *bops; /* operation for the buffer */
>6fe6611f huangdaode 2015-09-17  473  	struct hnae_queue **qs;  /* array base of all queues */
>
>:::::: The code at line 465 was first introduced by commit
>:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>
>:::::: TO: huangdaode <huangdaode@hisilicon.com>
>:::::: CC: David S. Miller <davem@davemloft.net>
>
>---
>0-DAY kernel test infrastructure                Open Source Technology Center
>https://lists.01.org/pipermail/kbuild-all                   Intel Corporation


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Wei Xu Oct. 8, 2015, 10:37 a.m. UTC | #3
On 10/8/2015 10:18 AM, Jiri Pirko wrote:
> Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>> Hi Vivien,
>>
>> [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>>
>> config: arm64-allyesconfig (attached as .config)
>> reproduce:
>>        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>>        chmod +x ~/bin/make.cross
>>        # save the attached .config to linux build tree
>>        make.cross ARCH=arm64 
>>
>> All errors (new ones prefixed by >>):
>>
>>   In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>>     phy_interface_t phy_if;
>>     ^
>>
>> vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
> 
> 

Hi Jiri,

> Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
> Cc'ing maintainer.
> 

Thanks!
We will send the fix patch soon.

Best Regards,
Wei

> 
>>
>> 6fe6611f huangdaode 2015-09-17  449  struct hnae_ae_dev {
>> 6fe6611f huangdaode 2015-09-17  450  	struct device cls_dev; /* the class dev */
>> 6fe6611f huangdaode 2015-09-17  451  	struct device *dev; /* the presented dev */
>> 6fe6611f huangdaode 2015-09-17  452  	struct hnae_ae_ops *ops;
>> 6fe6611f huangdaode 2015-09-17  453  	struct list_head node;
>> 6fe6611f huangdaode 2015-09-17  454  	struct module *owner; /* the module who provides this dev */
>> 6fe6611f huangdaode 2015-09-17  455  	int id;
>> 6fe6611f huangdaode 2015-09-17  456  	char name[AE_NAME_SIZE];
>> 6fe6611f huangdaode 2015-09-17  457  	struct list_head handle_list;
>> 6fe6611f huangdaode 2015-09-17  458  	spinlock_t lock; /* lock to protect the handle_list */
>> 6fe6611f huangdaode 2015-09-17  459  };
>> 6fe6611f huangdaode 2015-09-17  460  
>> 6fe6611f huangdaode 2015-09-17  461  struct hnae_handle {
>> 6fe6611f huangdaode 2015-09-17  462  	struct device *owner_dev; /* the device which make use of this handle */
>> 6fe6611f huangdaode 2015-09-17  463  	struct hnae_ae_dev *dev;  /* the device who provides this handle */
>> 6fe6611f huangdaode 2015-09-17  464  	struct device_node *phy_node;
>> 6fe6611f huangdaode 2015-09-17 @465  	phy_interface_t phy_if;
>> 6fe6611f huangdaode 2015-09-17  466  	u32 if_support;
>> 6fe6611f huangdaode 2015-09-17  467  	int q_num;
>> 6fe6611f huangdaode 2015-09-17  468  	int vf_id;
>> 6fe6611f huangdaode 2015-09-17  469  	u32 eport_id;
>> 6fe6611f huangdaode 2015-09-17  470  	enum hnae_port_type port_type;
>> 6fe6611f huangdaode 2015-09-17  471  	struct list_head node;    /* list to hnae_ae_dev->handle_list */
>> 6fe6611f huangdaode 2015-09-17  472  	struct hnae_buf_ops *bops; /* operation for the buffer */
>> 6fe6611f huangdaode 2015-09-17  473  	struct hnae_queue **qs;  /* array base of all queues */
>>
>> :::::: The code at line 465 was first introduced by commit
>> :::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>>
>> :::::: TO: huangdaode <huangdaode@hisilicon.com>
>> :::::: CC: David S. Miller <davem@davemloft.net>
>>
>> ---
>> 0-DAY kernel test infrastructure                Open Source Technology Center
>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> 
> 
> 
> .
> 

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Pirko Oct. 8, 2015, 12:18 p.m. UTC | #4
Thu, Oct 08, 2015 at 02:11:11PM CEST, huangdaode@hisilicon.com wrote:
>On 2015/10/8 17:18, Jiri Pirko wrote:
>>Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>>>Hi Vivien,
>>>
>>>[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>>>
>>>config: arm64-allyesconfig (attached as .config)
>>>reproduce:
>>>        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>>>        chmod +x ~/bin/make.cross
>>>        # save the attached .config to linux build tree
>>>        make.cross ARCH=arm64
>>>
>>>All errors (new ones prefixed by >>):
>>>
>>>   In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>>>>drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>>>     phy_interface_t phy_if;
>>>     ^
>>>
>>>vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
>>
>>Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
>>Cc'ing maintainer.
>>
>>
>>>6fe6611f huangdaode 2015-09-17  449  struct hnae_ae_dev {
>>>6fe6611f huangdaode 2015-09-17  450  	struct device cls_dev; /* the class dev */
>>>6fe6611f huangdaode 2015-09-17  451  	struct device *dev; /* the presented dev */
>>>6fe6611f huangdaode 2015-09-17  452  	struct hnae_ae_ops *ops;
>>>6fe6611f huangdaode 2015-09-17  453  	struct list_head node;
>>>6fe6611f huangdaode 2015-09-17  454  	struct module *owner; /* the module who provides this dev */
>>>6fe6611f huangdaode 2015-09-17  455  	int id;
>>>6fe6611f huangdaode 2015-09-17  456  	char name[AE_NAME_SIZE];
>>>6fe6611f huangdaode 2015-09-17  457  	struct list_head handle_list;
>>>6fe6611f huangdaode 2015-09-17  458  	spinlock_t lock; /* lock to protect the handle_list */
>>>6fe6611f huangdaode 2015-09-17  459  };
>>>6fe6611f huangdaode 2015-09-17  460
>>>6fe6611f huangdaode 2015-09-17  461  struct hnae_handle {
>>>6fe6611f huangdaode 2015-09-17  462  	struct device *owner_dev; /* the device which make use of this handle */
>>>6fe6611f huangdaode 2015-09-17  463  	struct hnae_ae_dev *dev;  /* the device who provides this handle */
>>>6fe6611f huangdaode 2015-09-17  464  	struct device_node *phy_node;
>>>6fe6611f huangdaode 2015-09-17 @465  	phy_interface_t phy_if;
>>>6fe6611f huangdaode 2015-09-17  466  	u32 if_support;
>>>6fe6611f huangdaode 2015-09-17  467  	int q_num;
>>>6fe6611f huangdaode 2015-09-17  468  	int vf_id;
>>>6fe6611f huangdaode 2015-09-17  469  	u32 eport_id;
>>>6fe6611f huangdaode 2015-09-17  470  	enum hnae_port_type port_type;
>>>6fe6611f huangdaode 2015-09-17  471  	struct list_head node;    /* list to hnae_ae_dev->handle_list */
>>>6fe6611f huangdaode 2015-09-17  472  	struct hnae_buf_ops *bops; /* operation for the buffer */
>>>6fe6611f huangdaode 2015-09-17  473  	struct hnae_queue **qs;  /* array base of all queues */
>>>
>>>:::::: The code at line 465 was first introduced by commit
>>>:::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>>>
>>>:::::: TO: huangdaode <huangdaode@hisilicon.com>
>>>:::::: CC: David S. Miller <davem@davemloft.net>
>>>
>>>---
>>>0-DAY kernel test infrastructure                Open Source Technology Center
>>>https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>>
>>--
>>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>Please read the FAQ at  http://www.tux.org/lkml/
>>
>>.
>>
>Hi Jiri
>thanks for your information. i have compiled the latest net-next repo using
>your config file, but don't find the error you mentioned.
>the attachment is the build log and the  config file.
>
>also, i used the following command to compile, but still fail to reproduce
>your issue.
>/  daode@Turing-Arch-b:~/work/net-next$ cat build.sh //
>//        export ARCH=arm64 //
>//        export CROSS_COMPILE=aarch64-linux-gnu-//
>//        make allyesconfig//
>//        make -j16 //
>////daode@Turing-Arch-b:~/work/net-next$ /
>
>so could you please help me to reproduce the issue.

The patch is not in tree. That does not change the fact that you should
include linux/phy.h directly. Please send the patch adding that. Thanks!


--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
huangdaode Oct. 8, 2015, 12:36 p.m. UTC | #5
On 2015/10/8 20:18, Jiri Pirko wrote:
> Thu, Oct 08, 2015 at 02:11:11PM CEST, huangdaode@hisilicon.com wrote:
>> On 2015/10/8 17:18, Jiri Pirko wrote:
>>> Thu, Oct 08, 2015 at 11:04:48AM CEST, lkp@intel.com wrote:
>>>> Hi Vivien,
>>>>
>>>> [auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]
>>>>
>>>> config: arm64-allyesconfig (attached as .config)
>>>> reproduce:
>>>>         wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>>>>         chmod +x ~/bin/make.cross
>>>>         # save the attached .config to linux build tree
>>>>         make.cross ARCH=arm64
>>>>
>>>> All errors (new ones prefixed by >>):
>>>>
>>>>    In file included from drivers/net/ethernet/hisilicon/hns/hnae.c:15:0:
>>>>>> drivers/net/ethernet/hisilicon/hns/hnae.h:465:2: error: unknown type name 'phy_interface_t'
>>>>      phy_interface_t phy_if;
>>>>      ^
>>>>
>>>> vim +/phy_interface_t +465 drivers/net/ethernet/hisilicon/hns/hnae.h
>>> Looks like hnae.c needs to do "#include <linux/phy.h>" directly.
>>> Cc'ing maintainer.
>>>
>>>
>>>> 6fe6611f huangdaode 2015-09-17  449  struct hnae_ae_dev {
>>>> 6fe6611f huangdaode 2015-09-17  450  	struct device cls_dev; /* the class dev */
>>>> 6fe6611f huangdaode 2015-09-17  451  	struct device *dev; /* the presented dev */
>>>> 6fe6611f huangdaode 2015-09-17  452  	struct hnae_ae_ops *ops;
>>>> 6fe6611f huangdaode 2015-09-17  453  	struct list_head node;
>>>> 6fe6611f huangdaode 2015-09-17  454  	struct module *owner; /* the module who provides this dev */
>>>> 6fe6611f huangdaode 2015-09-17  455  	int id;
>>>> 6fe6611f huangdaode 2015-09-17  456  	char name[AE_NAME_SIZE];
>>>> 6fe6611f huangdaode 2015-09-17  457  	struct list_head handle_list;
>>>> 6fe6611f huangdaode 2015-09-17  458  	spinlock_t lock; /* lock to protect the handle_list */
>>>> 6fe6611f huangdaode 2015-09-17  459  };
>>>> 6fe6611f huangdaode 2015-09-17  460
>>>> 6fe6611f huangdaode 2015-09-17  461  struct hnae_handle {
>>>> 6fe6611f huangdaode 2015-09-17  462  	struct device *owner_dev; /* the device which make use of this handle */
>>>> 6fe6611f huangdaode 2015-09-17  463  	struct hnae_ae_dev *dev;  /* the device who provides this handle */
>>>> 6fe6611f huangdaode 2015-09-17  464  	struct device_node *phy_node;
>>>> 6fe6611f huangdaode 2015-09-17 @465  	phy_interface_t phy_if;
>>>> 6fe6611f huangdaode 2015-09-17  466  	u32 if_support;
>>>> 6fe6611f huangdaode 2015-09-17  467  	int q_num;
>>>> 6fe6611f huangdaode 2015-09-17  468  	int vf_id;
>>>> 6fe6611f huangdaode 2015-09-17  469  	u32 eport_id;
>>>> 6fe6611f huangdaode 2015-09-17  470  	enum hnae_port_type port_type;
>>>> 6fe6611f huangdaode 2015-09-17  471  	struct list_head node;    /* list to hnae_ae_dev->handle_list */
>>>> 6fe6611f huangdaode 2015-09-17  472  	struct hnae_buf_ops *bops; /* operation for the buffer */
>>>> 6fe6611f huangdaode 2015-09-17  473  	struct hnae_queue **qs;  /* array base of all queues */
>>>>
>>>> :::::: The code at line 465 was first introduced by commit
>>>> :::::: 6fe6611ff275522a4e4c0359e2f46cdd07780d2f net: add Hisilicon Network Subsystem hnae framework support
>>>>
>>>> :::::: TO: huangdaode <huangdaode@hisilicon.com>
>>>> :::::: CC: David S. Miller <davem@davemloft.net>
>>>>
>>>> ---
>>>> 0-DAY kernel test infrastructure                Open Source Technology Center
>>>> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> Please read the FAQ at  http://www.tux.org/lkml/
>>>
>>> .
>>>
>> Hi Jiri
>> thanks for your information. i have compiled the latest net-next repo using
>> your config file, but don't find the error you mentioned.
>> the attachment is the build log and the  config file.
>>
>> also, i used the following command to compile, but still fail to reproduce
>> your issue.
>> /  daode@Turing-Arch-b:~/work/net-next$ cat build.sh //
>> //        export ARCH=arm64 //
>> //        export CROSS_COMPILE=aarch64-linux-gnu-//
>> //        make allyesconfig//
>> //        make -j16 //
>> ////daode@Turing-Arch-b:~/work/net-next$ /
>>
>> so could you please help me to reproduce the issue.
> The patch is not in tree. That does not change the fact that you should
> include linux/phy.h directly. Please send the patch adding that. Thanks!
>
>
>
> .
>
ok,
thanks!
kernel test robot Oct. 10, 2015, 11:35 p.m. UTC | #6
Hi Vivien,

[auto build test ERROR on net-next/master -- if it's inappropriate base, please ignore]

config: x86_64-randconfig-n0-10110700 (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/net/usb/lan78xx.c: In function 'lan78xx_link_reset':
>> drivers/net/usb/lan78xx.c:841:8: error: implicit declaration of function 'phy_read' [-Werror=implicit-function-declaration]
     ret = phy_read(phydev, LAN88XX_INT_STS);
           ^
>> drivers/net/usb/lan78xx.c:850:2: error: implicit declaration of function 'phy_read_status' [-Werror=implicit-function-declaration]
     phy_read_status(phydev);
     ^
>> drivers/net/usb/lan78xx.c:852:13: error: dereferencing pointer to incomplete type 'struct phy_device'
     if (!phydev->link && dev->link_on) {
                ^
>> drivers/net/usb/lan78xx.c:867:3: error: implicit declaration of function 'phy_ethtool_gset' [-Werror=implicit-function-declaration]
      phy_ethtool_gset(phydev, &ecmd);
      ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_set_wol':
>> drivers/net/usb/lan78xx.c:1067:2: error: implicit declaration of function 'phy_ethtool_set_wol' [-Werror=implicit-function-declaration]
     phy_ethtool_set_wol(netdev->phydev, wol);
     ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_get_eee':
>> drivers/net/usb/lan78xx.c:1085:8: error: implicit declaration of function 'phy_ethtool_get_eee' [-Werror=implicit-function-declaration]
     ret = phy_ethtool_get_eee(phydev, edata);
           ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_set_eee':
>> drivers/net/usb/lan78xx.c:1127:3: error: implicit declaration of function 'phy_ethtool_set_eee' [-Werror=implicit-function-declaration]
      phy_ethtool_set_eee(net->phydev, edata);
      ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_nway_reset':
>> drivers/net/usb/lan78xx.c:1151:9: error: implicit declaration of function 'phy_start_aneg' [-Werror=implicit-function-declaration]
     return phy_start_aneg(net->phydev);
            ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_get_mdix_status':
>> drivers/net/usb/lan78xx.c:1183:2: error: implicit declaration of function 'phy_write' [-Werror=implicit-function-declaration]
     phy_write(phydev, LAN88XX_EXT_PAGE_ACCESS, LAN88XX_EXT_PAGE_SPACE_1);
     ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_set_settings':
>> drivers/net/usb/lan78xx.c:1275:8: error: implicit declaration of function 'phy_ethtool_sset' [-Werror=implicit-function-declaration]
     ret = phy_ethtool_sset(phydev, cmd);
           ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_ioctl':
>> drivers/net/usb/lan78xx.c:1315:9: error: implicit declaration of function 'phy_mii_ioctl' [-Werror=implicit-function-declaration]
     return phy_mii_ioctl(netdev->phydev, rq, cmd);
            ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_mdiobus_read':
>> drivers/net/usb/lan78xx.c:1374:31: error: dereferencing pointer to incomplete type 'struct mii_bus'
     struct lan78xx_net *dev = bus->priv;
                                  ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_mdio_init':
>> drivers/net/usb/lan78xx.c:1447:17: error: implicit declaration of function 'mdiobus_alloc' [-Werror=implicit-function-declaration]
     dev->mdiobus = mdiobus_alloc();
                    ^
   drivers/net/usb/lan78xx.c:1447:15: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     dev->mdiobus = mdiobus_alloc();
                  ^
>> drivers/net/usb/lan78xx.c:1458:29: error: 'MII_BUS_ID_SIZE' undeclared (first use in this function)
     snprintf(dev->mdiobus->id, MII_BUS_ID_SIZE, "usb-%03d:%03d",
                                ^
   drivers/net/usb/lan78xx.c:1458:29: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/usb/lan78xx.c:1461:44: error: 'PHY_MAX_ADDR' undeclared (first use in this function)
     dev->mdiobus->irq = kzalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
                                               ^
>> drivers/net/usb/lan78xx.c:1469:26: error: 'PHY_IGNORE_INTERRUPT' undeclared (first use in this function)
      dev->mdiobus->irq[i] = PHY_IGNORE_INTERRUPT;
                             ^
>> drivers/net/usb/lan78xx.c:1479:8: error: implicit declaration of function 'mdiobus_register' [-Werror=implicit-function-declaration]
     ret = mdiobus_register(dev->mdiobus);
           ^
>> drivers/net/usb/lan78xx.c:1490:2: error: implicit declaration of function 'mdiobus_free' [-Werror=implicit-function-declaration]
     mdiobus_free(dev->mdiobus);
     ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_remove_mdio':
>> drivers/net/usb/lan78xx.c:1496:2: error: implicit declaration of function 'mdiobus_unregister' [-Werror=implicit-function-declaration]
     mdiobus_unregister(dev->mdiobus);
     ^
   drivers/net/usb/lan78xx.c: In function 'lan78xx_phy_init':
>> drivers/net/usb/lan78xx.c:1511:11: error: implicit declaration of function 'phy_find_first' [-Werror=implicit-function-declaration]
     phydev = phy_find_first(dev->mdiobus);
              ^
   drivers/net/usb/lan78xx.c:1511:9: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     phydev = phy_find_first(dev->mdiobus);
            ^

vim +/phy_read +841 drivers/net/usb/lan78xx.c

ce85e13ad Woojung.Huh@microchip.com 2015-09-16  835  	struct phy_device *phydev = dev->net->phydev;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  836  	struct ethtool_cmd ecmd = { .cmd = ETHTOOL_GSET };
99c79eceb Geert Uytterhoeven        2015-09-04  837  	int ladv, radv, ret;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  838  	u32 buf;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  839  
55d7de9de Woojung.Huh@microchip.com 2015-07-30  840  	/* clear PHY interrupt status */
bdfba55e0 Woojung.Huh@microchip.com 2015-09-16 @841  	ret = phy_read(phydev, LAN88XX_INT_STS);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  842  	if (unlikely(ret < 0))
55d7de9de Woojung.Huh@microchip.com 2015-07-30  843  		return -EIO;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  844  
55d7de9de Woojung.Huh@microchip.com 2015-07-30  845  	/* clear LAN78xx interrupt status */
55d7de9de Woojung.Huh@microchip.com 2015-07-30  846  	ret = lan78xx_write_reg(dev, INT_STS, INT_STS_PHY_INT_);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  847  	if (unlikely(ret < 0))
55d7de9de Woojung.Huh@microchip.com 2015-07-30  848  		return -EIO;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  849  
ce85e13ad Woojung.Huh@microchip.com 2015-09-16 @850  	phy_read_status(phydev);
ce85e13ad Woojung.Huh@microchip.com 2015-09-16  851  
ce85e13ad Woojung.Huh@microchip.com 2015-09-16 @852  	if (!phydev->link && dev->link_on) {
55d7de9de Woojung.Huh@microchip.com 2015-07-30  853  		dev->link_on = false;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  854  		netif_carrier_off(dev->net);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  855  
55d7de9de Woojung.Huh@microchip.com 2015-07-30  856  		/* reset MAC */
55d7de9de Woojung.Huh@microchip.com 2015-07-30  857  		ret = lan78xx_read_reg(dev, MAC_CR, &buf);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  858  		if (unlikely(ret < 0))
55d7de9de Woojung.Huh@microchip.com 2015-07-30  859  			return -EIO;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  860  		buf |= MAC_CR_RST_;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  861  		ret = lan78xx_write_reg(dev, MAC_CR, buf);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  862  		if (unlikely(ret < 0))
55d7de9de Woojung.Huh@microchip.com 2015-07-30  863  			return -EIO;
ce85e13ad Woojung.Huh@microchip.com 2015-09-16  864  	} else if (phydev->link && !dev->link_on) {
55d7de9de Woojung.Huh@microchip.com 2015-07-30  865  		dev->link_on = true;
55d7de9de Woojung.Huh@microchip.com 2015-07-30  866  
ce85e13ad Woojung.Huh@microchip.com 2015-09-16 @867  		phy_ethtool_gset(phydev, &ecmd);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  868  
bdfba55e0 Woojung.Huh@microchip.com 2015-09-16  869  		ret = phy_read(phydev, LAN88XX_INT_STS);
55d7de9de Woojung.Huh@microchip.com 2015-07-30  870  

:::::: The code at line 841 was first introduced by commit
:::::: bdfba55e0d541a9547d737573ae11db7ed72e2bb lan78xx: Remove phy defines in lan78xx.h and use defines in include/linux/microchipphy.h

:::::: TO: Woojung.Huh@microchip.com <Woojung.Huh@microchip.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 73f0510..d0bcabb 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -41,7 +41,6 @@ 
 
 #include <linux/ethtool.h>
 #include <net/net_namespace.h>
-#include <net/dsa.h>
 #ifdef CONFIG_DCB
 #include <net/dcbnl.h>
 #endif
@@ -60,6 +59,8 @@  struct wireless_dev;
 /* 802.15.4 specific */
 struct wpan_dev;
 struct mpls_dev;
+/* DSA specific */
+struct dsa_switch_tree;
 
 void netdev_set_default_ethtool_ops(struct net_device *dev,
 				    const struct ethtool_ops *ops);