)]}'
{
  "commit": "a89ba0bc02e82920a0f4137aa5d655ac0366cc28",
  "tree": "98489ed77a287a81ff4ad7233fd543e59e58c328",
  "parents": [
    "3b6c0634cc989f0735a1541ccf9288947685cab5"
  ],
  "author": {
    "name": "Jean Delvare",
    "email": "khali@linux-fr.org",
    "time": "Tue Aug 09 20:17:55 2005 +0200"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@suse.de",
    "time": "Mon Sep 05 09:14:25 2005 -0700"
  },
  "message": "[PATCH] I2C: Rewrite i2c_probe\n\ni2c_probe was quite complex and slow, so I rewrote it in a more\nefficient and hopefully clearer way.\n\nNote that this slightly changes the way the module parameters are\nhandled. This shouldn\u0027t change anything for the most common cases\nthough.\n\nFor one thing, the function now respects the order of the parameters\nfor address probing. It used to always do lower addresses first. The\nnew approach gives the user more control.\n\nFor another, ignore addresses don\u0027t overrule probe addresses anymore.\nThis could have been restored the way it was at the cost of a few more\nlines of code, but I don\u0027t think it\u0027s worth it. Both lists are given\nas module parameters, so a user would be quite silly to specify the\nsame addresses in both lists. The normal addresses list is the only\none that isn\u0027t controlled by a module parameter, thus is the only one\nthe user may reasonably want to remove an address from.\n\nAnother significant change is the fact that i2c_probe() will no more\nstop when a detection function returns -ENODEV. Just because a driver\nfound a chip it doesn\u0027t support isn\u0027t a valid reason to stop all\nprobings for this one driver. This closes the long standing lm_sensors\nticket #1807.\n\n  http://www2.lm-sensors.nu/~lm78/readticket.cgi?ticket\u003d1807\n\nI updated the documentation accordingly.\n\nIn terms of algorithmic complexity, the new code is way better. If\nI is the ignore address count, P the probe address count, N the\nnormal address count and F the force address count, the old code\nwas doing 128 * (F + I + P + N) iterations max, while the new code\ndoes F + P + ((I+1) * N) iterations max. For the most common case\nwhere F, I and P are empty, this is down from 128 * N to N.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97e138cbb2a9b49ca3e23e0e5f61d68e560b0f76",
      "old_mode": 33188,
      "old_path": "Documentation/i2c/writing-clients",
      "new_id": "077275722a7ccce46cfb1c12e04ed3abe688bd1b",
      "new_mode": 33188,
      "new_path": "Documentation/i2c/writing-clients"
    },
    {
      "type": "modify",
      "old_id": "372b5996d045ac1970ff45f7a15cafae04a8d9ad",
      "old_mode": 33188,
      "old_path": "drivers/i2c/i2c-core.c",
      "new_id": "bee0148dfab8c60a54651a7d96b9004bcfc87420",
      "new_mode": 33188,
      "new_path": "drivers/i2c/i2c-core.c"
    }
  ]
}
