summaryrefslogtreecommitdiff
path: root/debian/patches/libdde_phy.patch
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-04-16 00:33:01 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-04-16 00:35:30 +0000
commita22701879d83c7d6a5d7c1b701ccba6e91b1702b (patch)
tree0b2f2eb1c9906456841bd89523b442768339b36b /debian/patches/libdde_phy.patch
parent351636be47c9d1b696b76658ffb98e2117bd153a (diff)
Upgrade libdde_linux26 layer to 2.6.32 compatibility
* debian/patches/libdde_{addr_fix,addr_list,config,devres,dma_head,ethoc, ethtool,fixes,group_addr,mdio,netdev_tx_t,pci-needs_freset,pci_ids.h,phy, pr_cont,rcu,rculist,rx_queue,trans_start,ucast_list,workqueue}: New patches to upgrade the libdde_linux26 layer to 2.6.32 compatibility.
Diffstat (limited to 'debian/patches/libdde_phy.patch')
-rw-r--r--debian/patches/libdde_phy.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/debian/patches/libdde_phy.patch b/debian/patches/libdde_phy.patch
new file mode 100644
index 00000000..b7385122
--- /dev/null
+++ b/debian/patches/libdde_phy.patch
@@ -0,0 +1,60 @@
+--- a/libdde_linux26/contrib/include/linux/phy.h 2012-04-15 20:31:32.000000000 +0000
++++ b/libdde_linux26/contrib/include/linux/phy.h 2012-03-17 10:14:52.000000000 +0000
+@@ -79,7 +79,7 @@
+ * Need to be a little smaller than phydev->dev.bus_id to leave room
+ * for the ":%02x"
+ */
+-#define MII_BUS_ID_SIZE (BUS_ID_SIZE - 3)
++#define MII_BUS_ID_SIZE (20 - 3)
+
+ /*
+ * The Bus class for PHYs. Devices which provide access to
+@@ -315,8 +315,7 @@
+
+ /* Interrupt and Polling infrastructure */
+ struct work_struct phy_queue;
+- struct work_struct state_queue;
+- struct timer_list phy_timer;
++ struct delayed_work state_queue;
+ atomic_t irq_disable;
+
+ struct mutex lock;
+@@ -389,6 +388,12 @@
+ /* Enables or disables interrupts */
+ int (*config_intr)(struct phy_device *phydev);
+
++ /*
++ * Checks if the PHY generated an interrupt.
++ * For multi-PHY devices with shared PHY interrupt pin
++ */
++ int (*did_interrupt)(struct phy_device *phydev);
++
+ /* Clears up any memory if needed */
+ void (*remove)(struct phy_device *phydev);
+
+@@ -402,7 +407,7 @@
+ /* A Structure for boards to register fixups with the PHY Lib */
+ struct phy_fixup {
+ struct list_head list;
+- char bus_id[BUS_ID_SIZE];
++ char bus_id[20];
+ u32 phy_uid;
+ u32 phy_uid_mask;
+ int (*run)(struct phy_device *phydev);
+@@ -439,10 +444,16 @@
+
+ int get_phy_id(struct mii_bus *bus, int addr, u32 *phy_id);
+ struct phy_device* get_phy_device(struct mii_bus *bus, int addr);
++int phy_device_register(struct phy_device *phy);
+ int phy_clear_interrupt(struct phy_device *phydev);
+ int phy_config_interrupt(struct phy_device *phydev, u32 interrupts);
++int phy_attach_direct(struct net_device *dev, struct phy_device *phydev,
++ u32 flags, phy_interface_t interface);
+ struct phy_device * phy_attach(struct net_device *dev,
+ const char *bus_id, u32 flags, phy_interface_t interface);
++int phy_connect_direct(struct net_device *dev, struct phy_device *phydev,
++ void (*handler)(struct net_device *), u32 flags,
++ phy_interface_t interface);
+ struct phy_device * phy_connect(struct net_device *dev, const char *bus_id,
+ void (*handler)(struct net_device *), u32 flags,
+ phy_interface_t interface);