)]}'
{
  "commit": "93f9dcf9e8b8182e97aeb7965c687176cbd0b933",
  "tree": "90793882a7d90ce0401a151ba40bfd1ce2cbfede",
  "parents": [
    "cd21a458da20f62807fedbed86b65f2d59d6b611"
  ],
  "author": {
    "name": "Anton Vorontsov",
    "email": "avorontsov@ru.mvista.com",
    "time": "Wed Jun 10 00:25:27 2009 +0400"
  },
  "committer": {
    "name": "Wolfgang Denk",
    "email": "wd@denx.de",
    "time": "Thu Jul 16 22:23:53 2009 +0200"
  },
  "message": "Add simple hwconfig infrastructure\n\nThis patch implements simple hwconfig infrastructure: an\ninterface for software knobs to control a hardware.\n\nThis is very simple implementation, i.e. it is implemented\nvia `hwconfig\u0027 environment variable. Later we could write\nsome \"hwconfig \u003cenable|disable|list\u003e\" commands, ncurses\ninterface for Award BIOS-like interface, and frame-buffer\ninterface for AMI GUI[1] BIOS-like interface with mouse\nsupport[2].\n\nCurrent implementation details/limitations:\n\n1. Doesn\u0027t support options dependencies and mutual exclusion.\n   We can implement this by integrating apt-get[3] into the\n   u-boot. But I didn\u0027t bother yet.\n\n2. Since we don\u0027t implement hwconfig command, i.e. we\u0027re working\n   with the environement directly, there is no way to tell that\n   toggling a particular option will need a reboot to take\n   an effect. So, for now it\u0027s advised to always reboot the\n   target after modifying hwconfig variable.\n\n3. We support hwconfig options with arguments. For example,\n\n   set hwconfig dr_usb:mode\u003dperipheral,phy_type\u003dulpi\n\n   That means:\n   - dr_usb - enable Dual-Role USB controller;\n   - dr_usb:mode\u003dperipheral - USB in Function mode;\n   - dr_usb:phy_type\u003dulpi - USB should work with ULPI PHYs;\n\nThe purpose of this simple implementation is to define some\ninternal API and then we can continue improving user experience\nby adding more mature interface, like hwconfig command with\nbells and whistles. Or not adding, if we feel that current\ninterface fits its needs.\n\n[1] http://en.wikipedia.org/wiki/American_Megatrends\n[2] Regarding ncurses and GUI with mouse support -- I\u0027m just\n    kidding.\n[3] The comment regarding apt-get is also a joke, meaning that\n    dependency tracking could be non-trivial. For example, for\n    enabling HW feature X we may need to disable Y, and turn Z\n    into reduced mode (like RMII-only interface for ethernet,\n    no MII).\n\n    It\u0027s quite trivial to implement simple cases though.\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nAcked-by: Kim Phillips \u003ckim.phillips@freescale.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c8e5d26104399fb4ca3ee7e6c2536c3c8c2ba65f",
      "old_mode": 33188,
      "old_path": "common/Makefile",
      "new_id": "c8a997b0a4799284e0546a690bbf54dd03abadcd",
      "new_mode": 33188,
      "new_path": "common/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e5c60ba7a40a415d5bf10447f697336affd24058",
      "new_mode": 33188,
      "new_path": "common/hwconfig.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d517f782fd95c86cc151b935d218f40d731a0663",
      "new_mode": 33188,
      "new_path": "include/hwconfig.h"
    }
  ]
}
