backport mii_ioctl_data fix to make wpa-supplicant roboswitch driver work (#1862)
authorFlorian Fainelli <florian@openwrt.org>
Sun, 15 Mar 2009 16:40:42 +0000 (16:40 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Sun, 15 Mar 2009 16:40:42 +0000 (16:40 +0000)
SVN-Revision: 14891

target/linux/brcm-2.4/patches/120-mii_ioctl.patch [new file with mode: 0644]

diff --git a/target/linux/brcm-2.4/patches/120-mii_ioctl.patch b/target/linux/brcm-2.4/patches/120-mii_ioctl.patch
new file mode 100644 (file)
index 0000000..9c74a58
--- /dev/null
@@ -0,0 +1,64 @@
+diff -urN linux-2.4.35.4/include/linux/mii.h linux-2.4.35.4.new/include/linux/mii.h
+--- linux-2.4.35.4/include/linux/mii.h 2007-11-17 18:23:15.000000000 +0100
++++ linux-2.4.35.4.new/include/linux/mii.h     2009-03-15 17:32:45.000000000 +0100
+@@ -9,7 +9,6 @@
+ #define __LINUX_MII_H__
+ #include <linux/types.h>
+-#include <linux/if.h>
+ /* Generic MII registers. */
+@@ -104,6 +103,19 @@
+ #define NWAYTEST_LOOPBACK       0x0100  /* Enable loopback for N-way   */
+ #define NWAYTEST_RESV2          0xfe00  /* Unused...                   */
++/* This structure is used in all SIOCxMIIxxx ioctl calls */
++struct mii_ioctl_data {
++      __u16           phy_id;
++      __u16           reg_num;
++      __u16           val_in;
++      __u16           val_out;
++};
++
++#ifdef __KERNEL__
++
++#include <linux/if.h>
++
++struct ethtool_cmd;
+ struct mii_if_info {
+       int phy_id;
+@@ -119,9 +131,6 @@
+       void (*mdio_write) (struct net_device *dev, int phy_id, int location, int val);
+ };
+-struct ethtool_cmd;
+-struct mii_ioctl_data;
+-
+ extern int mii_link_ok (struct mii_if_info *mii);
+ extern int mii_nway_restart (struct mii_if_info *mii);
+ extern int mii_ethtool_gset(struct mii_if_info *mii, struct ethtool_cmd *ecmd);
+@@ -136,15 +145,6 @@
+-/* This structure is used in all SIOCxMIIxxx ioctl calls */
+-struct mii_ioctl_data {
+-      u16             phy_id;
+-      u16             reg_num;
+-      u16             val_in;
+-      u16             val_out;
+-};
+-
+-
+ static inline struct mii_ioctl_data *if_mii(struct ifreq *rq)
+ {
+       return (struct mii_ioctl_data *) &rq->ifr_ifru;
+@@ -202,5 +202,5 @@
+       return 0;
+ }
+-
++#endif /* __KERNEL__ */
+ #endif /* __LINUX_MII_H__ */