9c74a58bacdad502c87882e5bc21a2b4130c1ae2
[openwrt/svn-archive/archive.git] / target / linux / brcm-2.4 / patches / 120-mii_ioctl.patch
1 diff -urN linux-2.4.35.4/include/linux/mii.h linux-2.4.35.4.new/include/linux/mii.h
2 --- linux-2.4.35.4/include/linux/mii.h 2007-11-17 18:23:15.000000000 +0100
3 +++ linux-2.4.35.4.new/include/linux/mii.h 2009-03-15 17:32:45.000000000 +0100
4 @@ -9,7 +9,6 @@
5 #define __LINUX_MII_H__
6
7 #include <linux/types.h>
8 -#include <linux/if.h>
9
10 /* Generic MII registers. */
11
12 @@ -104,6 +103,19 @@
13 #define NWAYTEST_LOOPBACK 0x0100 /* Enable loopback for N-way */
14 #define NWAYTEST_RESV2 0xfe00 /* Unused... */
15
16 +/* This structure is used in all SIOCxMIIxxx ioctl calls */
17 +struct mii_ioctl_data {
18 + __u16 phy_id;
19 + __u16 reg_num;
20 + __u16 val_in;
21 + __u16 val_out;
22 +};
23 +
24 +#ifdef __KERNEL__
25 +
26 +#include <linux/if.h>
27 +
28 +struct ethtool_cmd;
29
30 struct mii_if_info {
31 int phy_id;
32 @@ -119,9 +131,6 @@
33 void (*mdio_write) (struct net_device *dev, int phy_id, int location, int val);
34 };
35
36 -struct ethtool_cmd;
37 -struct mii_ioctl_data;
38 -
39 extern int mii_link_ok (struct mii_if_info *mii);
40 extern int mii_nway_restart (struct mii_if_info *mii);
41 extern int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd);
42 @@ -136,15 +145,6 @@
43
44
45
46 -/* This structure is used in all SIOCxMIIxxx ioctl calls */
47 -struct mii_ioctl_data {
48 - u16 phy_id;
49 - u16 reg_num;
50 - u16 val_in;
51 - u16 val_out;
52 -};
53 -
54 -
55 static inline struct mii_ioctl_data *if_mii(struct ifreq *rq)
56 {
57 return (struct mii_ioctl_data *) &rq->ifr_ifru;
58 @@ -202,5 +202,5 @@
59 return 0;
60 }
61
62 -
63 +#endif /* __KERNEL__ */
64 #endif /* __LINUX_MII_H__ */