)]}'
{
  "commit": "4ba31ab33ac824635fcb49ac609070a9ebcab7f0",
  "tree": "4465058cdcbc4e554cd9e054385e1c2d67763866",
  "parents": [
    "cd77dd109c4a439519a78c32eddc42bdebc7a61f"
  ],
  "author": {
    "name": "Luigi \u0027Comio\u0027 Mantellini",
    "email": "luigi.mantellini@idf-hit.com",
    "time": "Sat Oct 10 12:42:20 2009 +0200"
  },
  "committer": {
    "name": "Ben Warren",
    "email": "biggerbadderben@gmail.com",
    "time": "Sat Oct 10 23:16:53 2009 -0700"
  },
  "message": "Rewrite the miiphybb (Bit-banged MII bus driver) in order to support an arbitrary number of mii buses.\n\nThis feature is useful when your board uses different mii buses for different\nphys and all (or a part) of these buses are implemented via bit-banging mode.\n\nThe driver requires that the following macros should be defined into the board\nconfiguration file:\n\nCONFIG_BITBANGMII       - Enable the miiphybb driver\nCONFIG_BITBANGMII_MULTI - Enable the multi bus support\n\nIf the CONFIG_BITBANGMII_MULTI is not defined, the board\u0027s config file needs\nto define at least the following macros:\n\nMII_INIT      - Generic code to enable the MII bus (optional)\nMDIO_DECLARE  - Declaration needed to access to the MDIO pin (optional)\nMDIO_ACTIVE   - Activate the MDIO pin as out pin\nMDIO_TRISTATE - Activate the MDIO pin as input/tristate pin\nMDIO_READ     - Read the MDIO pin\nMDIO(v)       - Write v on the MDIO pin\nMDC_DECLARE   - Declaration needed to access to the MDC pin (optional)\nMDC(v)        - Write v on the MDC pin\n\nThe previous macros make the driver compatible with the previous version\n(that didn\u0027t support the multi-bus).\n\nWhen the CONFIG_BITBANGMII_MULTI is also defined, the board code needs to fill\nthe bb_miiphy_buses[] array with a record for each required bus and declare\nthe bb_miiphy_buses_num variable with the number of mii buses.\nThe record (struct bb_miiphy_bus) has the following fields/callbacks (see\nmiiphy.h for details):\n\nchar name[]            - The symbolic name that must be equal to the MII bus\n                         registered name\nint (*init)()          - Initialization function called at startup time (just\n                         before the Ethernet initialization)\nint (*mdio_active)()   - Activate the MDIO pin as output\nint (*mdio_tristate)() - Activate the MDIO pin as input/tristate pin\nint (*set_mdio)()      - Write the MDIO pin\nint (*get_mdio)()      - Read the MDIO pin\nint (*set_mdc)()       - Write the MDC pin\nint (*delay)()         - Delay function\nvoid *priv             - Private data used by board specific code\n\nThe board code will look like:\n\nstruct bb_miiphy_bus bb_miiphy_buses[] \u003d {\n { .name \u003d miibus#1, .init \u003d b1_init, .mdio_active \u003d b1_mdio_active, ... },\n { .name \u003d miibus#2, .init \u003d b2_init, .mdio_active \u003d b2_mdio_active, ... },\n ...\nint bb_miiphy_buses_num \u003d sizeof(bb_miiphy_buses) /\n                          sizeof(bb_miiphy_buses[0]);\n\nSigned-off-by: Luigi \u0027Comio\u0027 Mantellini \u003cluigi.mantellini@idf-hit.com\u003e\nSigned-off-by: Ben Warren \u003cbiggerbadderben@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "edd085630f1e43c6b6e66ea0d72c07bb4084712c",
      "new_mode": 33188,
      "new_path": "doc/README.bitbangMII"
    },
    {
      "type": "modify",
      "old_id": "b77c917462ad654f53da93d9cf9eac3d0039ecb9",
      "old_mode": 33188,
      "old_path": "drivers/net/phy/miiphybb.c",
      "new_id": "44c45fa66b417da783b9b8701c850fa31d44bde1",
      "new_mode": 33188,
      "new_path": "drivers/net/phy/miiphybb.c"
    },
    {
      "type": "modify",
      "old_id": "fa33ec7f71d5a70b053f383534805db896e8ea3d",
      "old_mode": 33188,
      "old_path": "include/miiphy.h",
      "new_id": "53621252330f4923a43c0876745c3348a3e3637e",
      "new_mode": 33188,
      "new_path": "include/miiphy.h"
    }
  ]
}
