)]}'
{
  "commit": "19d337dff95cbf76edd3ad95c0cee2732c3e1ec5",
  "tree": "33326eeb09cb9664cc8427a5dc7cd2b08b5a57c3",
  "parents": [
    "0f6399c4c525b518644a9b09f8d6fb125a418c4d"
  ],
  "author": {
    "name": "Johannes Berg",
    "email": "johannes@sipsolutions.net",
    "time": "Tue Jun 02 13:01:37 2009 +0200"
  },
  "committer": {
    "name": "John W. Linville",
    "email": "linville@tuxdriver.com",
    "time": "Wed Jun 03 14:06:13 2009 -0400"
  },
  "message": "rfkill: rewrite\n\nThis patch completely rewrites the rfkill core to address\nthe following deficiencies:\n\n * all rfkill drivers need to implement polling where necessary\n   rather than having one central implementation\n\n * updating the rfkill state cannot be done from arbitrary\n   contexts, forcing drivers to use schedule_work and requiring\n   lots of code\n\n * rfkill drivers need to keep track of soft/hard blocked\n   internally -- the core should do this\n\n * the rfkill API has many unexpected quirks, for example being\n   asymmetric wrt. alloc/free and register/unregister\n\n * rfkill can call back into a driver from within a function the\n   driver called -- this is prone to deadlocks and generally\n   should be avoided\n\n * rfkill-input pointlessly is a separate module\n\n * drivers need to #ifdef rfkill functions (unless they want to\n   depend on or select RFKILL) -- rfkill should provide inlines\n   that do nothing if it isn\u0027t compiled in\n\n * the rfkill structure is not opaque -- drivers need to initialise\n   it correctly (lots of sanity checking code required) -- instead\n   force drivers to pass the right variables to rfkill_alloc()\n\n * the documentation is hard to read because it always assumes the\n   reader is completely clueless and contains way TOO MANY CAPS\n\n * the rfkill code needlessly uses a lot of locks and atomic\n   operations in locked sections\n\n * fix LED trigger to actually change the LED when the radio state\n   changes -- this wasn\u0027t done before\n\nTested-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e [thinkpad]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "40c3a3f10816677c8f5b65282818369f63dbe255",
      "old_mode": 33188,
      "old_path": "Documentation/rfkill.txt",
      "new_id": "de941e309d475e4e5da1c2ed3961eb0f592a5524",
      "new_mode": 33188,
      "new_path": "Documentation/rfkill.txt"
    },
    {
      "type": "modify",
      "old_id": "e18baa410b50549c1f700997fba582fc739f91ba",
      "old_mode": 33188,
      "old_path": "MAINTAINERS",
      "new_id": "2f6a8fcfb1f248f8dc1c55ef21dd09de334a740b",
      "new_mode": 33188,
      "new_path": "MAINTAINERS"
    },
    {
      "type": "modify",
      "old_id": "bde42aa29374ad06fc9311b3f995809c12c17397",
      "old_mode": 33188,
      "old_path": "arch/arm/mach-pxa/tosa-bt.c",
      "new_id": "c31e601eb49ccb069b99dcd806d4eabd8d27a34d",
      "new_mode": 33188,
      "new_path": "arch/arm/mach-pxa/tosa-bt.c"
    },
    {
      "type": "modify",
      "old_id": "afac5b6d3d78e50212afbca1df72579f57de00e4",
      "old_mode": 33188,
      "old_path": "arch/arm/mach-pxa/tosa.c",
      "new_id": "58ce807fe440d453465d2d51e0a32b37bc511a00",
      "new_mode": 33188,
      "new_path": "arch/arm/mach-pxa/tosa.c"
    },
    {
      "type": "modify",
      "old_id": "837135f0390a09778855d44086916bffb31ebb6b",
      "old_mode": 33188,
      "old_path": "drivers/net/usb/hso.c",
      "new_id": "5ddd8c4f9019f7a5168528455d01912712db9985",
      "new_mode": 33188,
      "new_path": "drivers/net/usb/hso.c"
    },
    {
      "type": "modify",
      "old_id": "796a3adffea05050a43bad9af359bc9d41f29892",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/ath/ath9k/ath9k.h",
      "new_id": "515880aa21160610f49a5b292bdc5cc84ad7e4bf",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/ath/ath9k/ath9k.h"
    },
    {
      "type": "modify",
      "old_id": "61da08a1648c7365d6279979de681be738fa3003",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/ath/ath9k/main.c",
      "new_id": "f7baa406918bae5bc3656a0523c936d5ca76c7e7",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/ath/ath9k/main.c"
    },
    {
      "type": "modify",
      "old_id": "168411d322a2e2e5408a17051d0ac3bd23cb1bf8",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/ath/ath9k/pci.c",
      "new_id": "ccdf20a2e9bef534283945ffcf1b53396de19884",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/ath/ath9k/pci.c"
    },
    {
      "type": "modify",
      "old_id": "21572e40b79d6a75c90acf3da6f3aed118d69f7b",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/Kconfig",
      "new_id": "07a99e3faf94ad0812bc13e4ce27d7c92f1137b3",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "76f4c7bad8b83e52b30000ccc62f86a77113e45b",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/leds.c",
      "new_id": "9a498d3fc6536b73269ac8c85eadb047bf47d7cb",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/leds.c"
    },
    {
      "type": "modify",
      "old_id": "cb4a8712946aa885c2dff6e248343927267f2d3e",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/main.c",
      "new_id": "1d3e40095ada06bba6ff0a35b111fee6e72ba291",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/main.c"
    },
    {
      "type": "modify",
      "old_id": "c836c077d51df3f61aa2438a8e8a14066f7c3c94",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/phy_a.c",
      "new_id": "816e028a2620c9b43d06f8b615e11a7c518ddb8a",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/phy_a.c"
    },
    {
      "type": "modify",
      "old_id": "e176b6e0d9cf08f26dae49baa5b0d729ad13db1d",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/phy_common.c",
      "new_id": "6d241622210e2d302574679fc656c1d9458973db",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/phy_common.c"
    },
    {
      "type": "modify",
      "old_id": "b2d99101947be7062d31ecaffbbea4a3b7af9b5a",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/phy_common.h",
      "new_id": "f4c2d79cbc894fe8a20d301b3253da9d766e94e0",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/phy_common.h"
    },
    {
      "type": "modify",
      "old_id": "e7b98f013b0fa87d571df9af42a1e2e4d48fd1a3",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/phy_g.c",
      "new_id": "5300232449f689f2d958c614a5c3aa566ac6024d",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/phy_g.c"
    },
    {
      "type": "modify",
      "old_id": "58e319d6b1ed567c6846b6cd8430f999efd0e65f",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/phy_lp.c",
      "new_id": "ea0d3a3a6a647036222b6160a9f1ae91de4e9493",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/phy_lp.c"
    },
    {
      "type": "modify",
      "old_id": "8bcfda5f3f0730e7691ed246041ef399fadb6e7d",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/phy_n.c",
      "new_id": "be7b5604947b0d6b052c3486c559d7c84fc21fa4",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/phy_n.c"
    },
    {
      "type": "modify",
      "old_id": "9e1d00bc24d3f23b69f532f87b23d540ab47d0d9",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/rfkill.c",
      "new_id": "96047843cd5626c9642f2ae29ffc31377ab5dd11",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/rfkill.c"
    },
    {
      "type": "modify",
      "old_id": "adacf936d815be2170b973da1cbb997fff7b974b",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43/rfkill.h",
      "new_id": "da497e01bbb1aad6d34fd68f4150dbe9c49a7a4f",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43/rfkill.h"
    },
    {
      "type": "modify",
      "old_id": "d4f628a74bbd47e07a2d058e9426c750c6c2f7e7",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43legacy/Kconfig",
      "new_id": "6893f439df700eb2b39a7937f9cbb5e1972a2726",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43legacy/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "3ea55b18c7001d60518ad46b840faea9590d5ba5",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43legacy/leds.c",
      "new_id": "538d3117594bd4e4c77c65ae3abe5a0a11bdeb6f",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43legacy/leds.c"
    },
    {
      "type": "modify",
      "old_id": "4b0c7d27a51f90374887d20a1974191f49c40bef",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43legacy/rfkill.c",
      "new_id": "c6230a64505a050d6ccf92f9229c09e5b71588d4",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43legacy/rfkill.c"
    },
    {
      "type": "modify",
      "old_id": "11150a8032f0704152f0b58eb8c0b3198afa669c",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/b43legacy/rfkill.h",
      "new_id": "adffc503a6a191fe2192995cba18159e8a894cd7",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/b43legacy/rfkill.h"
    },
    {
      "type": "modify",
      "old_id": "8304f6406a175230173b73c577523b286797c5f0",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/iwlwifi/Kconfig",
      "new_id": "6fe259fcfb8f16036c649557d95917515baaeef2",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/iwlwifi/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "65605ad44e4b0c06e16ccd3141a03190003d4c7e",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/iwlwifi/iwl-rfkill.c",
      "new_id": "13149936fd26d674c04c2d9f53a136c36753a6a5",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/iwlwifi/iwl-rfkill.c"
    },
    {
      "type": "modify",
      "old_id": "4ca8b495f82d8ae85c0f6f8ac8441e7c79a3c2d3",
      "old_mode": 33188,
      "old_path": "drivers/net/wireless/iwmc3200wifi/rfkill.c",
      "new_id": "8ee2c3c09a020a4eb5013087c95e8ab13e7f477e",
      "new_mode": 33188,
      "new_path": "drivers/net/wireless/iwmc3200wifi/rfkill.c"
    },
    {
      "type": "modify",
      "old_id": "284ebaca6e454797622c136213a7e05b48e1d46e",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/Kconfig",
      "new_id": "c682ac53641554a82c3b47ef91a71204530d393e",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "62d02b3c998ef80e4fe26e9f1f9167f563664adc",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/acer-wmi.c",
      "new_id": "b618fa51db2dbf15ea9fd6785a83be9d7c078ed1",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/acer-wmi.c"
    },
    {
      "type": "modify",
      "old_id": "af9f430211722d71f85a79c762adb35ccda50b35",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/dell-laptop.c",
      "new_id": "2faf0e14f05a68e1e7f2467367cee88a8ff2285e",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/dell-laptop.c"
    },
    {
      "type": "modify",
      "old_id": "353a898c3693facba59683b1f792150e3538d9cf",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/eeepc-laptop.c",
      "new_id": "1208d0cedd15d76ed0903632a4993d80da329b8d",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/eeepc-laptop.c"
    },
    {
      "type": "modify",
      "old_id": "fe171fad12cf723c140d9098fe39172b4832bed0",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/hp-wmi.c",
      "new_id": "8d931145cbfa07c8cbf41be17640b7502cb1fc75",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/hp-wmi.c"
    },
    {
      "type": "modify",
      "old_id": "f1963b05175b2ecafe1f6e97d01fcbe6bcadf289",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/sony-laptop.c",
      "new_id": "aec0b27fd774d9b090e6927e698668c8193f0af3",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/sony-laptop.c"
    },
    {
      "type": "modify",
      "old_id": "912be65b62619570d3521dd0b83664ce16582278",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/thinkpad_acpi.c",
      "new_id": "cfcafa4e94737f77afa1419412f080e9cae8f3da",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/thinkpad_acpi.c"
    },
    {
      "type": "modify",
      "old_id": "4345089f51719d84817ace6194d3ffb1ef79c6d4",
      "old_mode": 33188,
      "old_path": "drivers/platform/x86/toshiba_acpi.c",
      "new_id": "81d31ea507d116e3186384d7a0a394d00dc0e3ae",
      "new_mode": 33188,
      "new_path": "drivers/platform/x86/toshiba_acpi.c"
    },
    {
      "type": "modify",
      "old_id": "3f0eaa397ef596575ea433b414aedb68f5aba017",
      "old_mode": 33188,
      "old_path": "include/linux/Kbuild",
      "new_id": "7e09c5c1ed027cc4f49740d6b706a49a95af1ee4",
      "new_mode": 33188,
      "new_path": "include/linux/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "de18ef227e00452c5c806e4d97d9da13772e32b9",
      "old_mode": 33188,
      "old_path": "include/linux/rfkill.h",
      "new_id": "090852c8de7ad92ff8ee59f028bbd29f429e87bf",
      "new_mode": 33188,
      "new_path": "include/linux/rfkill.h"
    },
    {
      "type": "modify",
      "old_id": "6b3824edb39e027918b520b0ee031c9d442a44a0",
      "old_mode": 33188,
      "old_path": "include/net/wimax.h",
      "new_id": "2af7bf839f2309b52230da79ffa4ea40129abd74",
      "new_mode": 33188,
      "new_path": "include/net/wimax.h"
    },
    {
      "type": "modify",
      "old_id": "7f807b30cfbbc2b50a57d3d6531106a24db7d03d",
      "old_mode": 33188,
      "old_path": "net/rfkill/Kconfig",
      "new_id": "b47f72fae05d92f9f970df686e41d97f0f4cee55",
      "new_mode": 33188,
      "new_path": "net/rfkill/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "b38c430be05777d27c17f82e3e1bf46ca285c807",
      "old_mode": 33188,
      "old_path": "net/rfkill/Makefile",
      "new_id": "662105352691d3737a4556906828a01c70d022c5",
      "new_mode": 33188,
      "new_path": "net/rfkill/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "30a6f8d819b2a2836499fcbcb28dafad2c45159d",
      "new_mode": 33188,
      "new_path": "net/rfkill/core.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a7295ad5f9cb1bf1757b506337239cd792a9d001",
      "new_mode": 33188,
      "new_path": "net/rfkill/input.c"
    },
    {
      "type": "delete",
      "old_id": "60a34f3b5f656978337faaa193301be9648a6653",
      "old_mode": 33188,
      "old_path": "net/rfkill/rfkill-input.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "4f5a83183c95cd1de62da70d5ec0d117d641400e",
      "old_mode": 33188,
      "old_path": "net/rfkill/rfkill.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "fe8df6b5b935f4b9a3848f646c3d074e906c22f6",
      "old_mode": 33188,
      "old_path": "net/rfkill/rfkill-input.h",
      "new_id": "d1117cb6e4dea52f09475a48724b831b3a9a2ca0",
      "new_mode": 33188,
      "new_path": "net/rfkill/rfkill.h",
      "score": 60
    },
    {
      "type": "modify",
      "old_id": "1b46747a5f5af2cc3521071984629fb1bb63d6dd",
      "old_mode": 33188,
      "old_path": "net/wimax/Kconfig",
      "new_id": "0bdbb6928205227e79c681cd9d8a1ee498e21705",
      "new_mode": 33188,
      "new_path": "net/wimax/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "a3616e2ccb8a6d7f20a45a95fdf01fe826479270",
      "old_mode": 33188,
      "old_path": "net/wimax/op-rfkill.c",
      "new_id": "bb102e4aa3e9e9e904e4bc1f3ab4a70f8721fe85",
      "new_mode": 33188,
      "new_path": "net/wimax/op-rfkill.c"
    }
  ]
}
