)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
