)]}'
{
  "commit": "a05a6db83320e20757b4e29062e06a60dc65add7",
  "tree": "4166a5ce6432f4891d250629f2ef73ae394bce25",
  "parents": [
    "834c42cb83f36b19d23f2f514eb53cc6deafcf07"
  ],
  "author": {
    "name": "Zixun LI",
    "email": "admin@hifiphile.com",
    "time": "Thu Oct 08 07:13:41 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Oct 08 12:13:41 2026 +0700"
  },
  "message": "docs: add per-class device and host reference (#3806)\n\nReplace class_drivers.rst with docs/reference/class/, one page per class\ncovering configuration, APIs and callbacks, checked against the drivers.\nNote which callbacks run outside tud_task()/tuh_task().\n\nDriver bugs found along the way: #4135-#4144.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "70ea17ed452b969ba4da9802eb5e8f94dec64a29",
      "old_mode": 33188,
      "old_path": "docs/reference/architecture.rst",
      "new_id": "6eb002171499752b6a9235b8a4f5957316aacd12",
      "new_mode": 33188,
      "new_path": "docs/reference/architecture.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f2ca5178b2c37d4f9335d665507911fdceb19203",
      "new_mode": 33188,
      "new_path": "docs/reference/class/audio.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ad6a22af6004186d0fe14590e708594b7895ab91",
      "new_mode": 33188,
      "new_path": "docs/reference/class/bluetooth.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "138ebdf3f5e35923c9a6e9298780e856d10d63db",
      "new_mode": 33188,
      "new_path": "docs/reference/class/cdc.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ebc317259af767aa73fe94f554e23b96db0c4674",
      "new_mode": 33188,
      "new_path": "docs/reference/class/device.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9e397996283117c0ea364caf8e698ba6d98ff6e3",
      "new_mode": 33188,
      "new_path": "docs/reference/class/dfu.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "346bc1b30551d1281cb8d3abf5028079c8a8ee29",
      "new_mode": 33188,
      "new_path": "docs/reference/class/hid.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "11da6f07741fd68d054670c46a1f4b4ab55b60c1",
      "new_mode": 33188,
      "new_path": "docs/reference/class/host.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dff38aa26c886396d91125de3123daea4eb5bd5a",
      "new_mode": 33188,
      "new_path": "docs/reference/class/index.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d8a42d646325b6d6940cb51a9c6bac2ba1b55f80",
      "new_mode": 33188,
      "new_path": "docs/reference/class/midi.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "25020dd3a688ab9a3af7d53c5a15f3bf45d93209",
      "new_mode": 33188,
      "new_path": "docs/reference/class/msc.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "683b9fc5e1bab3757adb184c5c0d05835bd8d391",
      "new_mode": 33188,
      "new_path": "docs/reference/class/mtp.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0645fbc8cc5848671e37647f23e9c54ecc1ebaf9",
      "new_mode": 33188,
      "new_path": "docs/reference/class/network.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2f638bc247ddb9b21656632f8cd0a4597b1ad949",
      "new_mode": 33188,
      "new_path": "docs/reference/class/printer.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "35a03a09560f615177086e95dfb5929bf4a48b9d",
      "new_mode": 33188,
      "new_path": "docs/reference/class/usbtmc.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "21eb3380bdddf0c6669c16bf696c2f8224a0941d",
      "new_mode": 33188,
      "new_path": "docs/reference/class/vendor.rst"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3b53ed6d3a969afa5172bbbde86fef85b2476e37",
      "new_mode": 33188,
      "new_path": "docs/reference/class/video.rst"
    },
    {
      "type": "delete",
      "old_id": "4a101fabcf93928d64776dddd85e540c62b38088",
      "old_mode": 33188,
      "old_path": "docs/reference/class_drivers.rst",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "99e7e7b700f3728876a49e9b53de1cdce79b93ee",
      "old_mode": 33188,
      "old_path": "docs/reference/concurrency.rst",
      "new_id": "a64a28f15e998ae704f1dbfe42b03c2501b9ca2f",
      "new_mode": 33188,
      "new_path": "docs/reference/concurrency.rst"
    },
    {
      "type": "modify",
      "old_id": "85fd767eae99fa9f99da6c2a1f48d13b0cb1671f",
      "old_mode": 33188,
      "old_path": "docs/reference/index.rst",
      "new_id": "53fe77eda6f250eccbc71b1b195b4f2be5610b5a",
      "new_mode": 33188,
      "new_path": "docs/reference/index.rst"
    },
    {
      "type": "modify",
      "old_id": "86ae97007db13ae31386b68c2df887d4051d7aac",
      "old_mode": 33188,
      "old_path": "docs/reference/usb_concepts.rst",
      "new_id": "06dc21fccbb76ae4caa094cbf3daee17db2ef2f6",
      "new_mode": 33188,
      "new_path": "docs/reference/usb_concepts.rst"
    }
  ]
}
