)]}'
{
  "log": [
    {
      "commit": "d5bf9071e71a4db85a0eea6236ef94a29fc3eec9",
      "tree": "cf91cd107a5eda19dc8a1024b0c9b2115edf4988",
      "parents": [
        "567990cfccafc580b03b1fb501adf63132c12dcc"
      ],
      "author": {
        "name": "Christian Hohnstaedt",
        "email": "chohnstaedt@innominate.com",
        "time": "Wed Jul 04 05:44:34 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 09 00:10:56 2012 -0700"
      },
      "message": "phylib: Support registering a bunch of drivers\n\nIf registering of one of them fails, all already registered drivers\nof this module will be unregistered.\n\nUse the new register/unregister functions in all drivers\nregistering more than one driver.\n\namd.c, realtek.c: Simplify: directly return registration result.\n\nTested with broadcom.c\nAll others compile-tested.\n\nSigned-off-by: Christian Hohnstaedt \u003cchohnstaedt@innominate.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a59a4d1921664da63d801ba477950114c71c88c9",
      "tree": "a1b5557c8a70aa35bb98822fabae543dc15ae62a",
      "parents": [
        "d765955d2ae0b88781a0db3a5bacfe4241925e09"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Wed Jun 27 21:14:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 01 03:34:50 2012 -0700"
      },
      "message": "phy: add the EEE support and the way to access to the MMD registers.\n\nThis patch adds the support for the Energy-Efficient Ethernet (EEE)\nto the Physical Abstraction Layer.\nTo support the EEE we have to access to the MMD registers 3.20 and\n7.60/61. So two new functions have been added to read/write the MMD\nregisters (clause 45).\n\nAn Ethernet driver (I tested the stmmac) can invoke the phy_init_eee to properly\ncheck if the EEE is supported by the PHYs and it can also set the clock\nstop enable bit in the 3.0 register.\nThe phy_get_eee_err can be used for reporting the number of time where\nthe PHY failed to complete its normal wake sequence.\n\nIn the end, this patch also adds the EEE ethtool support implementing:\n o phy_ethtool_set_eee\n o phy_ethtool_get_eee\n\nv1: initial patch\nv2: fixed some errors especially on naming convention\nv3: renamed again the mmd read/write functions thank to Ben\u0027s feedback\nv4: moved file to phy.c and added the ethtool support.\nv5: fixed phy_adv_to_eee, phy_eee_to_supported, phy_eee_to_adv return\n    values according to ethtool API (thanks to Ben\u0027s feedback).\n    Renamed some macros to avoid too long names.\nv6: fixed kernel-doc comments to be properly parsed.\n    Fixed the phy_init_eee function: we need to check which link mode\n    was autonegotiated and then the corresponding bits in 7.60 and 7.61\n    registers.\nv7: reviewed the way to get the negotiated settings.\nv8: fixed a problem in the phy_init_eee return value erroneously added\n    when included the phy_read_status call.\nv9: do not remove the MDIO_AN_EEE_ADV_100TX and MDIO_AN_EEE_ADV_1000T\n    and fixed the eee_{cap,lp,adv} declaration as \"int\" instead of u16.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a30e2c1891296b5ee8de48430a07fdf8b818c661",
      "tree": "3d66f111e7e5e467774eca749f6a1833b85f85b8",
      "parents": [
        "6bd47ac2e434611e52027155438d7b4ad3c76bdb"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Wed Jun 27 07:33:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 27 21:23:25 2012 -0700"
      },
      "message": "netdev/phy/of: Add more methods for binding PHY devices to drivers.\n\nAllow PHY drivers to supply their own device matching function\n(match_phy_device()), or to be matched OF compatible properties.\n\nPHYs following IEEE802.3 clause 45 have more than one device\nidentifier constants, which breaks the default device matching code.\nOther 10G PHYs don\u0027t follow the standard manufacturer/device\nidentifier register layout standards, but they do use the standard\nMDIO bus protocols for register access.  Both of these require\nadjustments to the PHY driver to device matching code.\n\nIf the there is an of_node associated with such a PHY, we can match it\nto its driver using the \"compatible\" properties, just as we do with\ncertain platform devices.  If the \"compatible\" property match fails,\nfirst check if there is a driver supplied matching function, and if\nnot fall back to the existing identifier matching rules.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ac28b9f8cd66d6bc54f8063df59e99abd62173a4",
      "tree": "9a837eafeead399aebad03fb891654ddeff37513",
      "parents": [
        "a3caad0a160c03b7238a2518fa89abda78adef1e"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Wed Jun 27 07:33:35 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 27 21:23:24 2012 -0700"
      },
      "message": "netdev/phy: Handle IEEE802.3 clause 45 Ethernet PHYs\n\nThe IEEE802.3 clause 45 MDIO bus protocol allows for directly\naddressing PHY registers using a 21 bit address, and is used by many\n10G Ethernet PHYS.  Already existing is the ability of MDIO bus\ndrivers to use clause 45, with the MII_ADDR_C45 flag.  Here we add\nstruct phy_c45_device_ids to hold the device identifier registers\npresent in clause 45. struct phy_device gets a couple of new fields:\nc45_ids to hold the identifiers and is_c45 to signal that it is clause\n45.\n\nget_phy_device() gets a new parameter is_c45 to indicate that the PHY\ndevice should use the clause 45 protocol, and its callers are adjusted\nto pass false.  The follow-on patch to of_mdio.c will pass true where\nappropriate.\n\nEXPORT phy_device_create() so that the follow-on patch to of_mdio.c\ncan use it to create phy devices for PHYs, that have non-standard\ndevice identifier registers, based on the device tree bindings.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82251de2a2b7b84987dde104d48a765b63170149",
      "tree": "904a0301adabc84939483373f9bbc496c4209417",
      "parents": [
        "eb71d0d63fdd04b1f63243917a6fad7427827ee7"
      ],
      "author": {
        "name": "David Daney",
        "email": "david.daney@cavium.com",
        "time": "Tue May 15 10:46:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 16 00:59:12 2012 -0400"
      },
      "message": "netdev/phy: Make get_phy_id() static and quit EXPORTing it.\n\nThis function is only referenced from within phy_device.c, so there is\nno reason to export it.  In fact, we can make it static.\n\nSigned-off-by: David Daney \u003cdavid.daney@cavium.com\u003e\nAcked-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8f3a8c31069137fe0100e6920558f1a7487ef3c",
      "tree": "891303875fcca8c8110c949955b87e1447dbcdfc",
      "parents": [
        "995a9090b2b7dc734351f3ac0ba8d913ffb87001"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Tue Apr 03 22:59:17 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 04 05:28:45 2012 -0400"
      },
      "message": "ethtool: Introduce a method for getting time stamping capabilities.\n\nThis commit adds a new ethtool ioctl that exposes the SO_TIMESTAMPING\ncapabilities of a network interface. In addition, user space programs\ncan use this ioctl to discover the PTP Hardware Clock (PHC) device\nassociated with the interface.\n\nSince software receive time stamps are handled by the stack, the generic\nethtool code can answer the query correctly in case the MAC or PHY\ndrivers lack special time stamping features.\n\nSigned-off-by: Richard Cochran \u003crichardcochran@gmail.com\u003e\nReviewed-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "313162d0b83836e2f57e51b9b8650fb4b9c396ea",
      "tree": "8f39f20515a924d392cf9a72db0918fda07a34c7",
      "parents": [
        "51990e825431089747f8896244b5c17d3a6423f1"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Mon Jan 30 11:46:54 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Fri Mar 16 10:38:24 2012 -0400"
      },
      "message": "device.h: audit and cleanup users in main include dir\n\nThe \u003clinux/device.h\u003e header includes a lot of stuff, and\nit in turn gets a lot of use just for the basic \"struct device\"\nwhich appears so often.\n\nClean up the users as follows:\n\n1) For those headers only needing \"struct device\" as a pointer\nin fcn args, replace the include with exactly that.\n\n2) For headers not really using anything from device.h, simply\ndelete the include altogether.\n\n3) For headers relying on getting device.h implicitly before\nbeing included themselves, now explicitly include device.h\n\n4) For files in which doing #1 or #2 uncovers an implicit\ndependency on some other header, fix by explicitly adding\nthe required header(s).\n\nAny C files that were implicitly relying on device.h to be\npresent have already been dealt with in advance.\n\nTotal removals from #1 and #2: 51.  Total additions coming\nfrom #3: 9.  Total other implicit dependencies from #4: 7.\n\nAs of 3.3-rc1, there were 110, so a net removal of 42 gives\nabout a 38% reduction in device.h presence in include/*\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "eb8a54a78e974e1af3e17fa38bb74d3747c5c1bd",
      "tree": "d3642783d7470c26815b7d3c14ea5d5949d7dcdb",
      "parents": [
        "1398eee08222a038fa5f017900f387e81f6e3ff4"
      ],
      "author": {
        "name": "Timur Tabi",
        "email": "timur@freescale.com",
        "time": "Thu Jan 12 15:23:04 2012 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 12 15:23:04 2012 -0800"
      },
      "message": "phylib: introduce mdiobus_alloc_size()\n\nIntroduce function mdiobus_alloc_size() as an alternative to mdiobus_alloc().\nMost callers of mdiobus_alloc() also allocate a private data structure, and\nthen manually point bus-\u003epriv to this object.  mdiobus_alloc_size()\ncombines the two operations into one, which simplifies memory management.\n\nThe original mdiobus_alloc() now just calls mdiobus_alloc_size(0).\n\nSigned-off-by: Timur Tabi \u003ctimur@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "da92b194cc36b5dc1fbd85206aeeffd80bee0c39",
      "tree": "375ead604156d8a8afc5ecef8d76415e999ce903",
      "parents": [
        "f7ff19871bb4a3451e1ca2cf660bf633018cfbec"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Fri Oct 21 00:49:15 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 02:54:50 2011 -0400"
      },
      "message": "net: hold sock reference while processing tx timestamps\n\nThe pair of functions,\n\n * skb_clone_tx_timestamp()\n * skb_complete_tx_timestamp()\n\nwere designed to allow timestamping in PHY devices. The first\nfunction, called during the MAC driver\u0027s hard_xmit method, identifies\nPTP protocol packets, clones them, and gives them to the PHY device\ndriver. The PHY driver may hold onto the packet and deliver it at a\nlater time using the second function, which adds the packet to the\nsocket\u0027s error queue.\n\nAs pointed out by Johannes, nothing prevents the socket from\ndisappearing while the cloned packet is sitting in the PHY driver\nawaiting a timestamp. This patch fixes the issue by taking a reference\non the socket for each such packet. In addition, the comments\nregarding the usage of these function are expanded to highlight the\nrule that PHY drivers must use skb_complete_tx_timestamp() to release\nthe packet, in order to release the socket reference, too.\n\nThese functions first appeared in v2.6.36.\n\nReported-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nReviewed-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4157ef1b8779b34581ee8b9dc8f7f95188008eca",
      "tree": "6be8331bc24c59d9fea27a256a681c570c3dfdee",
      "parents": [
        "6ca1a113791eb09dac8c48b2b264c4d72aab410f"
      ],
      "author": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Tue Jul 05 16:42:09 2011 +0800"
      },
      "committer": {
        "name": "Shawn Guo",
        "email": "shawn.guo@linaro.org",
        "time": "Wed Jul 27 09:31:02 2011 +0800"
      },
      "message": "net: ibm_newemac: convert it to use of_get_phy_mode\n\nThe patch extends \u0027enum phy_interface_t\u0027 and of_get_phy_mode a little\nbit with PHY_INTERFACE_MODE_NA and PHY_INTERFACE_MODE_SMII added,\nand then converts ibm_newemac net driver to use of_get_phy_mode\ngetting phy mode from device tree.\n\nIt also resolves the namespace conflict on phy_read/write between\ncommon mdiobus interface and ibm_newemac private one.\n\nSigned-off-by: Shawn Guo \u003cshawn.guo@linaro.org\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: David Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "89ff05ec553f3e70b8773c501da01bf7ad952cab",
      "tree": "d0c32c8095015aa92b047d27460d24cfcfd34421",
      "parents": [
        "ff2d8d6c1921242cd119395173ef46e2629bcdb2"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Oct 21 08:37:41 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 24 15:07:11 2010 -0700"
      },
      "message": "phylib: make local function static\n\nThe following functions are not used directly by any drivers:\n    phy_attach_direct\n    phy_device_create\n    phy_prepare_link\n    genphy_config_advert\n    genphy_setup_forced\n    phy_config_interrupt\n    phy_clear_interrypt\n    phy_sanitize_settings\n    phy_enable_interrupts\n    phy_disable_interrupts\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c68839963426d42bdb2c915b435f9860d060e645",
      "tree": "b7ade0bcf08dc6c2a8465cb78bec556079c7c963",
      "parents": [
        "8ed2163ff3b6abc5143d46dea73e523b22a6f987"
      ],
      "author": {
        "name": "Peter Meerwald",
        "email": "pmeerw@pmeerw.net",
        "time": "Thu Sep 02 04:06:24 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 02 10:12:05 2010 -0700"
      },
      "message": "net: Improve comments in include/linux/phy.h\n\nCorrect state range of PHY bus addresses (i.e. 0-31) in comment,\nmake spelling of PHY consistent in comments.\n\nSigned-off-by: Peter Meerwald \u003cpmeerw@pmeerw.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1f19b51d1d87f3e3bb7e6648f43f7d57ed2da6b",
      "tree": "d9525359409e3493b48e8676717cc11ed69b640a",
      "parents": [
        "15f0127d1d189fda3294b7823e3e654afca54055"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Sat Jul 17 08:49:36 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 18 19:15:26 2010 -0700"
      },
      "message": "net: support time stamping in phy devices.\n\nThis patch adds a new networking option to allow hardware time stamps\nfrom PHY devices. When enabled, likely candidates among incoming and\noutgoing network packets are offered to the PHY driver for possible\ntime stamping. When accepted by the PHY driver, incoming packets are\ndeferred for later delivery by the driver.\n\nThe patch also adds phylib driver methods for the SIOCSHWTSTAMP ioctl\nand callbacks for transmit and receive time stamping. Drivers may\noptionally implement these functions.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "28b041139e344ecd0f144d6205b004ae354cfa1e",
      "tree": "7fc0e05d01717da0410a7b3252b0cac3fc8db81d",
      "parents": [
        "4507a71507d4ff37e9a499c4241b7701ed1feab4"
      ],
      "author": {
        "name": "Richard Cochran",
        "email": "richardcochran@gmail.com",
        "time": "Sat Jul 17 08:48:55 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 18 19:15:25 2010 -0700"
      },
      "message": "net: preserve ifreq parameter when calling generic phy_mii_ioctl().\n\nThe phy_mii_ioctl() function unnecessarily throws away the original ifreq.\nWe need access to the ifreq in order to support PHYs that can perform\nhardware time stamping.\n\nTwo maverick drivers filter the ioctl commands passed to phy_mii_ioctl().\nThis is unnecessary since phylib will check the command in any case.\n\nSigned-off-by: Richard Cochran \u003crichard.cochran@omicron.at\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8626d3b4328061f5b82b11ae1d6918a0c3602f42",
      "tree": "be2b509a0d47903ff2ac1d10255a760ade82daca",
      "parents": [
        "9092c658bab215b2752fa59d2a36c05b74d1e9e9"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Apr 02 01:05:27 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 02 14:30:39 2010 -0700"
      },
      "message": "phylib: Support phy module autoloading\n\nWe don\u0027t use the normal hotplug mechanism because it doesn\u0027t work. It will\nload the module some time after the device appears, but that\u0027s not good\nenough for us -- we need the driver loaded _immediately_ because otherwise\nthe NIC driver may just abort and then the phy \u0027device\u0027 goes away.\n\n[bwh: s/phy/mdio/ in module alias, kerneldoc for struct mdio_device_id]\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Ben Hutchings \u003cben@decadent.org.uk\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abf35df21513c51d7761c41fa6d3b819cdf4103e",
      "tree": "3152b04190035149aba67936ef0cff81cc6af3a0",
      "parents": [
        "23606cf5d1192c2b17912cb2ef6e62f9b11de133"
      ],
      "author": {
        "name": "Jason Gunthorpe",
        "email": "jgunthorpe@obsidianresearch.com",
        "time": "Tue Mar 09 09:17:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 16 21:23:42 2010 -0700"
      },
      "message": "NET: Support clause 45 MDIO commands at the MDIO bus level\n\nIEEE 802.3ae clause 45 specifies a somewhat modified MDIO protocol\nfor use by 10GIGE phys. The main change is a 21 bit address split into\na 5 bit device ID and a 16 bit register offset. The definition is designed\nso that normal and extended devices can run on the same MDIO bus.\n\nExtend mdio-bitbang to do the new protocol. At the MDIO bus level the\nprotocol is requested by or\u0027ing MII_ADDR_C45 into the register offset.\n\nMake phy_read/phy_write/etc pass a full 32 bit register offset.\n\nThis does not attempt to make the phy layer support C45 style PHYs, just\nto provide the MDIO bus support.\n\nTested against a Broadcom 10GE phy with ID 0x206034, and several\nBroadcom 10/100/1000 Phys in normal mode.\n\nSigned-off-by: Jason Gunthorpe \u003cjgunthorpe@obsidianresearch.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8f76db1db369f3a130ac3fd33e2eee5f1610d9c",
      "tree": "808ba0be71bc55335afca100fc857d7f4e937b46",
      "parents": [
        "6683ece36e3531fc8c75f69e7165c5f20930be88"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Thu Feb 04 10:23:02 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 04 10:23:02 2010 -0800"
      },
      "message": "libphy: add phy_find_first function\n\nMany drivers do this in them manually. Now they can use this function.\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4f9c85a1b03bfa5c0a0d8488a3a7766f3c9fb756",
      "tree": "33e56a2d442274aeb0baa2f2b61f7bb5759dd17b",
      "parents": [
        "de4ef86cfce60d2250111f34f8a084e769f23b16"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Mon Jan 18 05:37:16 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 19 01:59:02 2010 -0800"
      },
      "message": "phylib: Move workqueue initialization to a proper place\n\ncommit 541cd3ee00a4fe975b22fac6a3bc846bacef37f7 (\"phylib: Fix deadlock\non resume\") caused TI DaVinci EMAC ethernet driver to oops upon resume:\n\n PM: resume of devices complete after 237.098 msecs\n Restarting tasks ... done.\n kernel BUG at kernel/workqueue.c:354!\n Unable to handle kernel NULL pointer dereference at virtual address 00000000\n [...]\n Backtrace:\n [\u003cc002c598\u003e] (__bug+0x0/0x2c) from [\u003cc0052a54\u003e] (queue_delayed_work_on+0x74/0xf8)\n [\u003cc00529e0\u003e] (queue_delayed_work_on+0x0/0xf8) from [\u003cc0052b30\u003e] (queue_delayed_work+0x2c/0x30)\n\nThe oops pops up because TI DaVinci EMAC driver detaches PHY on\nsuspend and attaches it back on resume. Attaching makes phylib call\nphy_start_machine() that initializes a workqueue. On the other hand,\nPHY\u0027s resume routine will call phy_start_machine() again, and that\nwill cause the oops since we just destroyed the already scheduled\nworkqueue.\n\nThis patch fixes the issue by moving workqueue initialization to\nphy_device_create().\n\np.s. We don\u0027t see this oops with ucc_geth and gianfar drivers because\nthey perform a fine-grained suspend, i.e. they just stop the PHYs\nwithout detaching.\n\nReported-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nTested-by: Sekhar Nori \u003cnsekhar@ti.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f5cb43406d0b29b96248f5328a14a6f6abf8ae6",
      "tree": "f43e017599e590a9fbff22e2973dd77e2bc4fb41",
      "parents": [
        "541cd3ee00a4fe975b22fac6a3bc846bacef37f7"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Wed Dec 30 08:23:30 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 30 22:03:42 2009 -0800"
      },
      "message": "phylib: Properly reinitialize PHYs after hibernation\n\nSince hibernation assumes power loss, we should fully reinitialize\nPHYs (including platform fixups), as if PHYs were just attached.\n\nThis patch factors phy_init_hw() out of phy_attach_direct(), then\nconverts mdio_bus to dev_pm_ops and adds an appropriate restore()\ncallback.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e401eccd3a62fb57f117bb09b7c1fc70ab19e8c",
      "tree": "89eb19cdf9a4df45729f8b90fa9538a25b659ed7",
      "parents": [
        "079e24ed80c8a91dd2884b88820bac6f340aaa83"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 26 21:16:25 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 26 21:16:25 2009 -0700"
      },
      "message": "phy: Eliminate references to BUS_ID_SIZE.\n\nJust use the constant 20 to keep things working.\n\nIf someone is so motivated, this can be converted over to\ndynamic strings.  I tried and it\u0027s a lot of work.\n\nBut for now this is good enough.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fa94f6d93c5382810ff41f010f12ca8698fc775e",
      "tree": "177e38a91f53221e0b15f8b5ed6b0ae66f6ffc52",
      "parents": [
        "4dea547fef1ba23f9d23f5e7f5218187a7dcf1b3"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Apr 25 12:52:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 02:53:46 2009 -0700"
      },
      "message": "phylib: add *_direct() variants of phy_connect and phy_attach functions\n\nAdd phy_connect_direct() and phy_attach_direct() functions so that\ndrivers can use a pointer to the phy_device instead of trying to determine\nthe phy\u0027s bus_id string.\n\nThis patch is useful for OF device tree descriptions of phy devices where\nthe driver doesn\u0027t need or know what the bus_id value in order to get a\nphy_device pointer.\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dea547fef1ba23f9d23f5e7f5218187a7dcf1b3",
      "tree": "5d3ef6350d21c5a8ad952ef6f89f7d47099caf0a",
      "parents": [
        "739649c53d7f78f5bf41bdfd1a858ee90c7a687a"
      ],
      "author": {
        "name": "Grant Likely",
        "email": "grant.likely@secretlab.ca",
        "time": "Sat Apr 25 12:52:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 02:53:45 2009 -0700"
      },
      "message": "phylib: rework to prepare for OF registration of PHYs\n\nThis patch makes changes in preparation for supporting open firmware\ndevice tree descriptions of MDIO busses.  Changes include:\n- Cleanup handling of phy_map[] entries; they are already NULLed when\n  registering and so don\u0027t need to be re-cleared, and it is good practice\n  to clear them out when unregistering.\n- Split phy_device registration out into a new function so that the\n  OF helpers can do two stage registration (separate allocation and\n  registration steps).\n\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a8729eb302a5b5da8b0b4d29582c42648a2e0f12",
      "tree": "88af13216c6c7ae1b7a802e65996f6a0db447a4b",
      "parents": [
        "140bc92903287cff4545e358c1651e4b7312cbd3"
      ],
      "author": {
        "name": "Anatolij Gustschin",
        "email": "agust@denx.de",
        "time": "Tue Apr 07 02:01:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 13 14:51:23 2009 -0700"
      },
      "message": "phylib: Allow early-out in phy_change\n\nMarvell 88E1121R Dual PHY device can be hardware-configured\nto use shared interrupt pin for both PHY ports. For such\nPHY configurations using shared PHY interrupt phy_interrupt()\nhandler will also schedule a work for PHY port which didn\u0027t\ncause an interrupt.\n\nThis patch adds a possibility for PHY drivers to provide\ndid_interrupt() function which reports if the PHY (or a PHY\nport in a multi-PHY device) generated an interrupt. This\nfunction is called in phy_change() as phy_change() shouldn\u0027t\nproceed if it is invoked for a PHY which didn\u0027t cause an\ninterrupt. So check for interrupt originator in phy_change()\nto allow early-out.\n\nSigned-off-by: Anatolij Gustschin \u003cagust@denx.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a390d1f379cf821248b735f43d2e1147ebb8241d",
      "tree": "8011cb8a5056055bedb4a9f4948929e2543a727d",
      "parents": [
        "34cd347cec6dba8075ceca06efd4fb0c6574cb75"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Fri Mar 13 15:41:19 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 13 15:41:19 2009 -0700"
      },
      "message": "phylib: convert state_queue work to delayed_work\n\nIt closes a race in phy_stop_machine when reprogramming of phy_timer\n(from phy_state_machine) happens between del_timer_sync and cancel_work_sync.\n\nWithout this change it could lead to crash if phy_device would be freed after\nphy_stop_machine (timer would fire and schedule freed work).\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0f0ca340e57bd7446855fefd07a64249acf81223",
      "tree": "9a3af0f86f8bcce9eb86a38bf4dd5f4a2c5da2d1",
      "parents": [
        "914804b95caa61c633431262044034ab05c78ba4"
      ],
      "author": {
        "name": "Giuseppe Cavallaro",
        "email": "peppe.cavallaro@st.com",
        "time": "Fri Nov 28 16:24:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 16:24:56 2008 -0800"
      },
      "message": "phy: power management support\n\nThis patch adds the power management support into the physical\nabstraction layer.\n\nSuspend and resume functions respectively turns on/off the bit 11\ninto the PHY Basic mode control register.\nGeneric PHY device starts supporting PM.\n\nIn order to support the wake-on LAN and avoid to put in power down\nthe PHY device, the MDIO is aware of what the Ethernet device wants to do.\n\nVoluntary, no CONFIG_PM defines were added into the sources.\nAlso generic suspend/resume functions are exported to allow\nother drivers use them (such as genphy_config_aneg etc.).\n\nWithin the phy_driver_register function, we need to remove the\nmemset. It overrides the device driver owner and it is not good.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2e888103295f47b8fcbf7e9bb8c5da97dd2ecd76",
      "tree": "210943ed285496352078124fd2a43443b1e5b265",
      "parents": [
        "46abc02175b3c246dd5141d878f565a8725060c9"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Mon Sep 29 17:12:35 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 16:38:41 2008 -0700"
      },
      "message": "phylib: add mdiobus_{read,write}\n\nAdd mdiobus_{read,write} routines to allow direct reading/writing\nof registers on an mii bus without having to go through the PHY\nabstraction, and make phy_{read,write} use these primitives.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46abc02175b3c246dd5141d878f565a8725060c9",
      "tree": "a777a25a6613b1187244c3bd5a22e451028fccbe",
      "parents": [
        "298cf9beb9679522de995e249eccbd82f7c51999"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@marvell.com",
        "time": "Wed Oct 08 16:33:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 16:33:40 2008 -0700"
      },
      "message": "phylib: give mdio buses a device tree presence\n\nIntroduce the mdio_bus class, and give each \u0027struct mii_bus\u0027 its own\n\u0027struct device\u0027, so that mii_bus objects are represented in the device\ntree and can be found by querying the device tree.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "298cf9beb9679522de995e249eccbd82f7c51999",
      "tree": "cabbc9c696a063982aea9a24d8caa667daa33a1a",
      "parents": [
        "18ee49ddb0d242ed1d0e273038d5e4f6de7379d3"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@marvell.com",
        "time": "Wed Oct 08 16:29:57 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 16:29:57 2008 -0700"
      },
      "message": "phylib: move to dynamic allocation of struct mii_bus\n\nThis patch introduces mdiobus_alloc() and mdiobus_free(), and\nmakes all mdio bus drivers use these functions to allocate their\nstruct mii_bus\u0027es dynamically.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\n"
    },
    {
      "commit": "18ee49ddb0d242ed1d0e273038d5e4f6de7379d3",
      "tree": "8d935cda154204171628cee535f83a992aa66ef9",
      "parents": [
        "236bb5e649c2a7e8398b87df5e643368408afb4a"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Wed Oct 01 15:41:33 2008 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 08 16:27:49 2008 -0700"
      },
      "message": "phylib: rename mii_bus::dev to mii_bus::parent\n\nIn preparation of giving mii_bus objects a device tree presence of\ntheir own, rename struct mii_bus\u0027s -\u003edev argument to -\u003eparent, since\nhaving a \u0027struct device *dev\u0027 that points to our parent device\nconflicts with introducing a \u0027struct device dev\u0027 representing our own\ndevice.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\n"
    },
    {
      "commit": "4fd5f812c23c7deee6425f4a318e85c317cd1d6c",
      "tree": "c554d67d67921e66516d978afc58878286b02966",
      "parents": [
        "4ff3495a51c7226376d8013c5742d1d5e54876a7"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Tue Aug 26 13:08:46 2008 +0200"
      },
      "committer": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@marvell.com",
        "time": "Fri Sep 19 05:13:54 2008 +0200"
      },
      "message": "phylib: allow incremental scanning of an mii bus\n\nThis patch splits the bus scanning code in mdiobus_register() off\ninto a separate function, and makes this function available for\ncalling from external code.  This allows incrementally scanning an\nmii bus, e.g. as information about which addresses are \u0027safe\u0027 to\nscan becomes available.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\n"
    },
    {
      "commit": "9b9a8bfc8dfbe09dc57f274e32e8b06151abbad7",
      "tree": "e866ac5c30d2156c1c7a0c42d1a46886b3a6db05",
      "parents": [
        "f162b9d58273a9a5747211133c8ccb2de5cf5ff2"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Fri May 02 13:00:51 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Tue May 06 12:01:41 2008 -0400"
      },
      "message": "phylib: Fix some sparse warnings\n\nDeclared some things static, declared some things in the header.\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "f62220d3a9ccb879c3f90f845ae57b724b7bbb62",
      "tree": "72697d5d0b7bfdebaf0fd74bea07212c9820a6df",
      "parents": [
        "8ec7226a93dcd4a314e2387d1033aef01145061b"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Fri Apr 18 17:29:54 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Apr 25 02:08:52 2008 -0400"
      },
      "message": "phylib: Add support for board-level PHY fixups\n\nSometimes the specific interaction between the platform and the PHY\nrequires special handling.  For instance, to change where the PHY\u0027s\nclock input is, or to add a delay to account for latency issues in the\ndata path.  We add a mechanism for registering a callback with the PHY\nLib to be called on matching PHYs when they are brought up, or reset.\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "cac1f3c8a80f3fc0b4489d1d3ba29214677ffab2",
      "tree": "a4bd716695f61d11f588f5145c879cefa42d6900",
      "parents": [
        "b1394f961a90a7195ea177ee56d54fe5c37181ca"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Apr 15 12:49:21 2008 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Apr 17 15:31:33 2008 -0400"
      },
      "message": "phylib: factor out get_phy_id from within get_phy_device\n\nWe were already doing what amounts to a get_phy_id from within\nget_phy_device, and rather than duplicate this for the TBIPA\nprobing, we might as well just factor it out and make it available\ninstead.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "c5e38a949bfa11d10f73927fbf4fe66b73bc3001",
      "tree": "fab958be46c87f31fa3841937a8b9d2b1db73a49",
      "parents": [
        "9d9326d3bc0ea9a8bbe40bf3e5e66c7b9858caa0"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Wed Apr 09 19:38:27 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Apr 16 20:09:35 2008 -0400"
      },
      "message": "phy: Clean up header style\n\nMulti-line comments weren\u0027t all CodingStyle compliant\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9d9326d3bc0ea9a8bbe40bf3e5e66c7b9858caa0",
      "tree": "51b2ee6bfa87bbd6faac0bc00a787354e1fb72a0",
      "parents": [
        "d080cd6301e107e79c6a0fc654319f8979f70549"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Wed Apr 09 19:38:13 2008 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Wed Apr 16 20:09:35 2008 -0400"
      },
      "message": "phy: Change mii_bus id field to a string\n\nHaving the id field be an int was making more complex bus topologies\nexcessively difficult.  For now, just convert it to a string, and\nchange all instances of \"bus-\u003eid \u003d val\" to\nsnprintf(id, MII_BUS_ID_LEN, \"%x\", val).\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "35b5f6b1a82b5c586e0b24c711dc6ba944e88ef1",
      "tree": "cf08793802ce8f91f13e262c3b6cdcf0a01d95e9",
      "parents": [
        "2b91213064bd882c3adf35f028c6d12fab3269ec"
      ],
      "author": {
        "name": "Nate Case",
        "email": "ncase@xes-inc.com",
        "time": "Tue Jan 29 10:05:09 2008 -0600"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 03 04:28:41 2008 -0800"
      },
      "message": "PHYLIB: Locking fixes for PHY I/O potentially sleeping\n\nPHY read/write functions can potentially sleep (e.g., a PHY accessed\nvia I2C).  The following changes were made to account for this:\n\n    * Change spin locks to mutex locks\n    * Add a BUG_ON() to phy_read() phy_write() to warn against\n      calling them from an interrupt context.\n    * Use work queue for PHY state machine handling since\n      it can potentially sleep\n    * Change phydev lock from spinlock to mutex\n\nSigned-off-by: Nate Case \u003cncase@xes-inc.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f4a7f4183bdbd02741dcd8edbd10b8628acc5d5",
      "tree": "b160036cc645c4658c577a12b99902028a3885df",
      "parents": [
        "f9663aea2a938f9dc60dbfef34b9e7847a69c947"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Tue Dec 04 16:17:33 2007 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Tue Dec 04 15:06:33 2007 -0500"
      },
      "message": "PHY: Add the phy_device_release device method.\n\nLately I\u0027ve got this nice badness on mdio bus removal:\n\nDevice \u0027e0103120:06\u0027 does not have a release() function, it is broken and must be fixed.\n------------[ cut here ]------------\nBadness at drivers/base/core.c:107\nNIP: c015c1a8 LR: c015c1a8 CTR: c0157488\nREGS: c34bdcf0 TRAP: 0700   Not tainted  (2.6.23-rc5-g9ebadfbb-dirty)\nMSR: 00029032 \u003cEE,ME,IR,DR\u003e  CR: 24088422  XER: 00000000\n...\n[c34bdda0] [c015c1a8] device_release+0x78/0x80 (unreliable)\n[c34bddb0] [c01354cc] kobject_cleanup+0x80/0xbc\n[c34bddd0] [c01365f0] kref_put+0x54/0x6c\n[c34bdde0] [c013543c] kobject_put+0x24/0x34\n[c34bddf0] [c015c384] put_device+0x1c/0x2c\n[c34bde00] [c0180e84] mdiobus_unregister+0x2c/0x58\n...\n\nThough actually there is nothing broken, it just device\nsubsystem core expects another \"pattern\" of resource managment.\n\nThis patch implement phy device\u0027s release function, thus\nwe\u0027re getting rid of this badness.\n\nAlso small hidden bug fixed, hope none other introduced. ;-)\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7d400a4c589749bf5b5e544aee07b3c489b54d02",
      "tree": "74e2539a09abbbd6bc8c6ac4e8667acc4bbf59b6",
      "parents": [
        "1a8098be987d3fa00c9fe9d2b68154675df49112"
      ],
      "author": {
        "name": "Kim Phillips",
        "email": "kim.phillips@freescale.com",
        "time": "Mon Nov 26 16:17:48 2007 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 01 16:32:30 2007 -0500"
      },
      "message": "phylib: add PHY interface modes for internal delay for tx and rx only\n\nAllow phylib specification of cases where hardware needs to configure\nPHYs for Internal Delay only on either RX or TX (not both).\n\nSigned-off-by: Kim Phillips \u003ckim.phillips@freescale.com\u003e\nTested-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Li Yang \u003cleoli@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0ac49527318bc388a881152d60f49d7951606024",
      "tree": "64b99a7543c913ff17344259b3938d6a5702ef69",
      "parents": [
        "f7ab697d328b0a417d9e3cb891d45693ea89e83d"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Fri Sep 28 22:42:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:55 2007 -0700"
      },
      "message": "PHYLIB: IRQ event workqueue handling fixes\n\nKeep track of disable_irq_nosync() invocations and call enable_irq() the\nright number of times if work has been cancelled that would include them.\n\nNow that the call to flush_work_keventd() (problematic because of\nrtnl_mutex being held) has been replaced by cancel_work_sync() another\nissue has arisen and been left unresolved.  As the MDIO bus cannot be\naccessed from the interrupt context the PHY interrupt handler uses\ndisable_irq_nosync() to prevent from looping and schedules some work to be\ndone as a softirq, which, apart from handling the state change of the\noriginating PHY, is responsible for reenabling the interrupt.  Now if the\ninterrupt line is shared by another device and a call to the softirq\nhandler has been cancelled, that call to enable_irq() never happens and the\nother device cannot use its interrupt anymore as its stuck disabled.\n\nI decided to use a counter rather than a flag because there may be more\nthan one call to phy_change() cancelled in the queue -- a real one and a\nfake one triggered by free_irq() if DEBUG_SHIRQ is used, if nothing else.\nTherefore because of its nesting property enable_irq() has to be called the\nright number of times to match the number disable_irq_nosync() was called\nand restore the original state.  This DEBUG_SHIRQ feature is also the\nreason why free_irq() has to be called before cancel_work_sync().\n\nWhile at it I updated the comment about phy_stop_interrupts() being called\nfrom `keventd\u0027 -- this is no longer relevant as the use of\ncancel_work_sync() makes such an approach unnecessary.  OTOH a similar\ncomment referring to flush_scheduled_work() in phy_stop() still applies as\nusing cancel_work_sync() there would be dangerous.\n\nChecked with checkpatch.pl and at the run time (with and without\nDEBUG_SHIRQ).\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Andy Fleming \u003cafleming@freescale.com\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a999589ccaae16472531e0616f23826ad097aa40",
      "tree": "bea3f20a970a47fa3cf3fdc721d760d77742c088",
      "parents": [
        "aeb998c124786e8c7fbd6eab347230469e911872"
      ],
      "author": {
        "name": "Kim Phillips",
        "email": "kim.phillips@freescale.com",
        "time": "Fri Apr 13 01:25:57 2007 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Apr 28 11:01:04 2007 -0400"
      },
      "message": "phylib: add RGMII-ID interface mode definition\n\nThe RGMII spec allows compliance for devices that implement an internal\ndelay on TXC or RXC inside the transmitter.  This patch adds an RGMII_ID\ndefinition to support RGMII-ID devices in the phylib.\n\nSigned-off-by: Kim Phillips \u003ckim.phillips@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "e8a2b6a4207332a2d59628a12cece9e8c1d769e4",
      "tree": "31028a18413517ed3024450c20cd2e919441b437",
      "parents": [
        "cabdfb373ae74036225826ce260c16a8e260eb0b"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Fri Dec 01 12:01:06 2006 -0600"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 02 00:33:11 2006 -0500"
      },
      "message": "[PATCH] PHY: Add support for configuring the PHY connection interface\n\nMost PHYs connect to an ethernet controller over a GMII or MII\ninterface.  However, a growing number are connected over\ndifferent interfaces, such as RGMII or SGMII.\n\nThe ethernet driver will tell the PHY what type of connection it\nis by setting it manually, or passing it in through phy_connect\n(or phy_attach).\n\nChanges include:\n* Updates to documentation\n* Updates to PHY Lib consumers\n* Changes to PHY Lib to add interface support\n* Some minor changes to whitespace in phy.h\n* gianfar driver now detects interface and passes appropriate\n  value to PHY Lib\nSigned-off-by: Andrew Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "13df29f69749a61b5209d52b71fcbf7300e5d6fb",
      "tree": "b504f310983ed02dea77d6e4d6e815e44405bf39",
      "parents": [
        "c4b41c9f077392803cd548000f3a2312dcd4a122"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Tue Oct 03 16:18:28 2006 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Dec 02 00:11:55 2006 -0500"
      },
      "message": "[PATCH] 2.6.18: sb1250-mac: Missing inclusions from \u003clinux/phy.h\u003e\n\n The \u003clinux/phy.h\u003e uses some types and macros defined in\n\u003clinux/ethtool.h\u003e, \u003clinux/mii.h\u003e, \u003clinux/timer.h\u003e and \u003clinux/workqueue.h\u003e,\nbut fails to include these headers.\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\n\npatch-mips-2.6.18-20060920-include-phy-16\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "11b0bacd717c285c94dbb56505a28434b34f0639",
      "tree": "d98e1576210a258d3b412809dfe0177f028575be",
      "parents": [
        "ec42cdb624059bb9d9d1accca5ed4345bf8f5fda"
      ],
      "author": {
        "name": "Vitaly Bordug",
        "email": "vbordug@ru.mvista.com",
        "time": "Mon Aug 14 23:00:29 2006 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Sat Aug 19 17:44:31 2006 -0400"
      },
      "message": "[PATCH] PAL: Support of the fixed PHY\n\nThis makes it possible for HW PHY-less boards to utilize PAL goodies.  Generic\nroutines to connect to fixed PHY are provided, as well as ability to specify\nsoftware callback that fills up link, speed, etc.  information into PHY\ndescriptor (the latter feature not tested so far).\n\nSigned-off-by: Vitaly Bordug \u003cvbordug@ru.mvista.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "a4d00f179fcec7065fe5742e9cebd6500886070f",
      "tree": "1d0fea6521276122c2e767db52bc821241849f8e",
      "parents": [
        "1d5326774c9245fef77334a9e0f11cd4f8aa7b4e"
      ],
      "author": {
        "name": "Kumar Gala",
        "email": "galak@gate.crashing.org",
        "time": "Wed Jan 11 11:27:33 2006 -0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Jan 12 16:31:52 2006 -0500"
      },
      "message": "[PATCH] phy: Added a macro to represent the string format used to match a phy device\n\nAdd the PHY_ID_FMT macro to ensure that the format of the id string used by a\ndriver to match to its specific phy is consistent between the mdio_bus and the\ndriver.\n\nSigned-off-by: Kumar Gala \u003cgalak@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "f896424cbc61225e8f029fe23e5aae3e32103229",
      "tree": "abfc35832b8bbd3a66b38db6dfc5d6705103436f",
      "parents": [
        "4371dc6c60705815dcfe0c2979f68a26d0b27bd4"
      ],
      "author": {
        "name": "Matt Porter",
        "email": "mporter@kernel.crashing.org",
        "time": "Wed Nov 02 16:13:06 2005 -0700"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Nov 05 14:40:55 2005 -0500"
      },
      "message": "[PATCH] phy address mask support for generic phy layer\n\nAdds a phy_mask field to struct mii_bus and uses it.  This field\nindicates each phy address to be ignored when probing the mdio bus.\n\nThis support is needed for the fs_enet and ibm_emac drivers to be\nconverted to the generic phy layer among other drivers. Many systems\nlock up on probing certain phy addresses or probing doesn\u0027t return\n0xffff when nothing is found at the address. A new driver I\u0027m\nworking on also makes use of this mask.\n\nSigned-off-by: Matt Porter \u003cmporter@kernel.crashing.org\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "e13934563db047043ccead26412f552375cea90c",
      "tree": "4013ca99f718559447315370c9d5e220e71d99d5",
      "parents": [
        "86f0cd505781e42000763821ec6f70127a6abaae"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Wed Aug 24 18:46:21 2005 -0500"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sun Aug 28 20:28:25 2005 -0400"
      },
      "message": "[PATCH] PHY Layer fixup\n\nThis patch adds back the code that was taken out, thus re-enabling:\n\n* The PHY Layer to initialize without crashing\n* Drivers to actually connect to PHYs\n* The entire PHY Control Layer\n\nThis patch is used by the gianfar driver, and other drivers which are in\ndevelopment.\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    },
    {
      "commit": "2bf69b5fe90b3246ab50064c5a690a363e8c53e2",
      "tree": "fcae64d1ea5670ca8cb33d5711e181708927e883",
      "parents": [
        "67c4f3fa25502ce7ed82fb0307e09cf36f1f81da"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Aug 11 02:47:54 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Aug 11 02:47:54 2005 -0400"
      },
      "message": "phy subsystem: more cleanups\n\n- unexport symbols never used outside of home module\n- remove dead code\n- remove CONFIG_PHYCONTROL, make it unconditionally enabled\n"
    },
    {
      "commit": "67c4f3fa25502ce7ed82fb0307e09cf36f1f81da",
      "tree": "d368d796618d52361f6aced3dcf2c1beb26ceec3",
      "parents": [
        "303bcb4b675d7284a1097dd1c18c995c0179883a"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Aug 11 02:07:25 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Thu Aug 11 02:07:25 2005 -0400"
      },
      "message": "Fix numerous minor problems with new phy subsystem.\n\nIncludes fixes for problems noted by Adrian Bunk, Andrew Morton,\nand one other person lost in the annals of history (and email folders).\n"
    },
    {
      "commit": "00db8189d984d6c51226dafbbe4a667ce9b7d5da",
      "tree": "f19468548c938523e3519670f8554e7a1b9c0c31",
      "parents": [
        "b0825488a642cadcf39709961dde61440cb0731c"
      ],
      "author": {
        "name": "Andy Fleming",
        "email": "afleming@freescale.com",
        "time": "Sat Jul 30 19:31:23 2005 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@pobox.com",
        "time": "Sat Jul 30 19:31:23 2005 -0400"
      },
      "message": "This patch adds a PHY Abstraction Layer to the Linux Kernel, enabling\nethernet drivers to remain as ignorant as is reasonable of the connected\nPHY\u0027s design and operation details.\n\nSigned-off-by: Andy Fleming \u003cafleming@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@pobox.com\u003e\n"
    }
  ]
}
