diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-04-16 00:33:01 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-04-16 00:35:30 +0000 |
commit | a22701879d83c7d6a5d7c1b701ccba6e91b1702b (patch) | |
tree | 0b2f2eb1c9906456841bd89523b442768339b36b /debian/patches/libdde_phy.patch | |
parent | 351636be47c9d1b696b76658ffb98e2117bd153a (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.patch | 60 |
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); |