)]}'
{
  "log": [
    {
      "commit": "f32f8b72e02e851972a0172603104046aa5fec96",
      "tree": "10b286e280816a9202bde24938f69c11abd45347",
      "parents": [
        "939678f81a55c839ae58c9cc3d4ec6d0f60e7dc7"
      ],
      "author": {
        "name": "Simon Holm Thøgersen",
        "email": "odie@cs.aau.dk",
        "time": "Sun Jan 04 17:11:24 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 17:11:24 2009 -0800"
      },
      "message": "net/rfkill/rfkill.c: fix unused rfkill_led_trigger() warning\n\ncommit 4dec9b807be757780ca3611a959ac22c28d292a7 (\"rfkill: strip pointless\nnotifier chain\") removed the only user of rfkill_led_trigger() that was not\nguarded by #ifdef CONFIG_RFKILL_LEDS. Therefore, move rfkill_led_trigger()\ncompletely inside #ifdef CONFIG_RFKILL_LEDS and avoid the compile time\nwarning:\n\nnet/rfkill/rfkill.c:59: warning: \u0027rfkill_led_trigger\u0027 defined but not used\n\nSigned-off-by: Simon Holm Thøgersen \u003codie@cs.aau.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4dec9b807be757780ca3611a959ac22c28d292a7",
      "tree": "10186b2cbdf6930c563917ba40c5f63b014ed45f",
      "parents": [
        "6fb532527e2592f82ec07508df2e44f6c7ceff12"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Dec 10 17:48:48 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Dec 12 14:45:25 2008 -0500"
      },
      "message": "rfkill: strip pointless notifier chain\n\nNo users, so no reason to have it.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "24689c8590be6bc0486af665c5ceda6aeff4d53a",
      "tree": "b8e2fe4f8f243941ced77f274a3b30cb99786e84",
      "parents": [
        "f80b5e99c7dac5a9a0d72496cec5075a12cd1476"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Fri Nov 21 20:40:10 2008 -0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 26 09:47:44 2008 -0500"
      },
      "message": "rfkill: always call get_state() hook on resume\n\nWe \"optimize\" away the get_state() hook call on rfkill_toggle_radio\nwhen doing a forced state change.  This means the resume path is not\ncalling get_state() as it should.\n\nCall it manually on the resume handler, as we don\u0027t want to mess with\nthe EPO path by removing the optimization.  This has the added benefit\nof making it explicit that rfkill-\u003estate could have been modified\nbefore we hit the rfkill_toggle_radio() call in the class resume\nhandler.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f80b5e99c7dac5a9a0d72496cec5075a12cd1476",
      "tree": "493b11de9639655fbf2a9431f9def759ab3f6a27",
      "parents": [
        "5925d976fbe99859d636e7075e5304625503c5fe"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Fri Nov 21 20:40:09 2008 -0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Nov 26 09:47:43 2008 -0500"
      },
      "message": "rfkill: preserve state across suspend\n\nThe rfkill class API requires that the driver connected to a class\ncall rfkill_force_state() on resume to update the real state of the\nrfkill controller, OR that it provides a get_state() hook.\n\nThis means there is potentially a hidden call in the resume code flow\nthat changes rfkill-\u003estate (i.e. rfkill_force_state()), so the\nprevious state of the transmitter was being lost.\n\nThe simplest and most future-proof way to fix this is to explicitly\nstore the pre-sleep state on the rfkill structure, and restore from\nthat on resume.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fb28ad35906af2f042c94e2f9c0f898ef9acfa37",
      "tree": "ee3d535ab38d680b424a857406789f8c28bf5266",
      "parents": [
        "23779897546c1effb546ff89b89803d9d955d517"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Nov 10 13:55:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 10 13:55:14 2008 -0800"
      },
      "message": "net: struct device - replace bus_id with dev_name(), dev_set_name()\n\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "4a9d916717de0aab4313d43817164577255242fb",
      "tree": "504d7b6df2e0998eb2f4df3c6e4a1939d97b1598",
      "parents": [
        "964d2777438bf7687324243d38ade538d9bbfe3c"
      ],
      "author": {
        "name": "Jonathan McDowell",
        "email": "noodles@earth.li",
        "time": "Thu Oct 30 22:46:48 2008 +0000"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 06 16:37:09 2008 -0500"
      },
      "message": "Fix logic error in rfkill_check_duplicity\n\n\u003e I\u0027ll have a prod at why the [hso] rfkill stuff isn\u0027t working next\n\nOk, I believe this is due to the addition of rfkill_check_duplicity in\nrfkill and the fact that test_bit actually returns a negative value\nrather than the postive one expected (which is of course equally true).\nSo when the second WLAN device (the hso device, with the EEE PC WLAN\nbeing the first) comes along rfkill_check_duplicity returns a negative\nvalue and so rfkill_register returns an error. Patch below fixes this\nfor me.\n\nSigned-Off-By: Jonathan McDowell \u003cnoodles@earth.li\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "78236571a538860dc2f0842ff6c7789522eb1e63",
      "tree": "2d5d2d7aecc2350115b6155e7b2250ba10b832dd",
      "parents": [
        "176707997bc3da2c4e32715c35cfebba0334ed68"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Oct 09 18:15:33 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:10 2008 -0400"
      },
      "message": "rfkill: rate-limit rfkill-input workqueue usage (v3)\n\nLimit the number of \"expensive\" rfkill workqueue operations per second, in\norder to not hog system resources too much when faced with a rogue source\nof rfkill input events.\n\nThe old rfkill-input code (before it was refactored) had such a limit in\nplace.  It used to drop new events that were past the rate limit.  This\nbehaviour was not implemented as an anti-DoS measure, but rather as an\nattempt to work around deficiencies in input device drivers which would\nissue multiple KEY_FOO events too soon for a given key FOO (i.e. ones that\ndo not implement mechanical debouncing properly).\n\nHowever, we can\u0027t really expect such issues to be worked around by every\ninput handler out there, and also by every userspace client of input\ndevices.  It is the input device driver\u0027s responsability to do debouncing\ninstead of spamming the input layer with bogus events.\n\nThe new limiter code is focused only on anti-DoS behaviour, and tries to\nnot lose events (instead, it coalesces them when possible).\n\nThe transmitters are updated once every 200ms, maximum.  Care is taken not\nto delay a request to _enter_ rfkill transmitter Emergency Power Off (EPO)\nmode.\n\nIf mistriggered (e.g. by a jiffies counter wrap), the code delays processing\n*once* by 200ms.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "176707997bc3da2c4e32715c35cfebba0334ed68",
      "tree": "17999628a3586c7bf656c83e61f77b7da0d06e46",
      "parents": [
        "d003922dab6a66027344a787e9846ecf35a706a8"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Oct 09 18:15:32 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:10 2008 -0400"
      },
      "message": "rfkill: honour EPO state when resuming a rfkill controller\n\nrfkill_resume() would always restore the rfkill controller state to its\npre-suspend state.\n\nNow that we know when we are under EPO, kick the rfkill controller to\nSOFT_BLOCKED state instead of to its pre-suspend state when it is resumed\nwhile EPO mode is active.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d003922dab6a66027344a787e9846ecf35a706a8",
      "tree": "1fa27e13eafd7d2cfceaeeb7c70009e29467ccfa",
      "parents": [
        "68d2413bec7e1d97e906eafb05e78d925a5ca128"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Oct 09 21:49:33 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:09 2008 -0400"
      },
      "message": "rfkill: add master_switch_mode and EPO lock to rfkill and rfkill-input\n\nAdd of software-based sanity to rfkill and rfkill-input so that it can\nreproduce what hardware-based EPO switches do, blocking all transmitters\nand locking down any further attempts to unblock them until the switch is\ndeactivated.\n\nrfkill-input is responsible for issuing the EPO control requests, like\nbefore.\n\nWhile an rfkill EPO is active, all transmitters are locked to one of the\nBLOCKED states and all attempts to change that through the rfkill API\n(userspace and kernel) will be either ignored or return -EPERM errors.\n\nThe lock will be released upon receipt of EV_SW SW_RFKILL_ALL ON by\nrfkill-input, or should modular rfkill-input be unloaded.\n\nThis makes rfkill and rfkill-input extend the operation of an existing\nwireless master kill switch to all wireless devices in the system, even\nthose that are not under hardware or firmware control.\n\nSince the above is the expected operational behavior for the master rfkill\nswitch, the EPO lock functionality is not optional.\n\nAlso, extend rfkill-input to allow for three different behaviors when it\nreceives an EV_SW SW_RFKILL_ALL ON input event.  The user can set which\nbehavior he wants through the master_switch_mode parameter:\n\nmaster_switch_mode \u003d 0: EV_SW SW_RFKILL_ALL ON just unlocks rfkill\ncontroller state changes (so that the rfkill userspace and kernel APIs can\nnow be used to change rfkill controller states again), but doesn\u0027t change\nany of their states (so they will all remain blocked).  This is the safest\nmode of operation, as it requires explicit operator action to re-enable a\ntransmitter.\n\nmaster_switch_mode \u003d 1: EV_SW SW_RFKILL_ALL ON causes rfkill-input to\nattempt to restore the system to the state before the last EV_SW\nSW_RFKILL_ALL OFF event, or to the default global states if no EV_SW\nSW_RFKILL_ALL OFF ever happened.   This is the recommended mode of\noperation for laptops.\n\nmaster_switch_mode \u003d 2: tries to unblock all rfkill controllers (i.e.\nenable all transmitters) when an EV_SW SW_RFKILL_ALL ON event is received.\nThis is the default mode of operation, as it mimics the previous behavior\nof rfkill-input.\n\nIn order to implement these features in a clean way, the entire event\nhandling of rfkill-input was refactored into a single worker function.\n\nProtection against input event DoS (repeatedly firing rfkill events for\nrfkill-input to process) was removed during the code refactoring.  It will\nbe added back in a future patch.\n\nNote that with these changes, rfkill-input doesn\u0027t need to explicitly\nhandle any radio types for which KEY_\u003cradio type\u003e or SW_\u003cradio type\u003e events\ndo not exist yet.\n\nCode to handle EV_SW SW_{WLAN,WWAN,BLUETOOTH,WIMAX,...} was added as it\nmight be needed in the future (and its implementation is not that obvious),\nbut is currently #ifdef\u0027d out to avoid wasting resources.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "68d2413bec7e1d97e906eafb05e78d925a5ca128",
      "tree": "8282f58381f95108bf891739a866bbe089bb4957",
      "parents": [
        "cf4b4aab552f5f658ed400dd0cd41f9ac8aac7c1"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Oct 09 18:15:30 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:09 2008 -0400"
      },
      "message": "rfkill: export global states to rfkill-input\n\nExport the the global switch states to rfkill-input.  This is needed to\nproperly implement KEY_* handling without disregarding the initial state.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "cf4b4aab552f5f658ed400dd0cd41f9ac8aac7c1",
      "tree": "ae4d83e4d7b1f2ec868c46e37578128502aadec2",
      "parents": [
        "e8975581f63870be42ff4662b293d1b0c8c21350"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Oct 09 18:15:29 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 31 19:00:08 2008 -0400"
      },
      "message": "rfkill: use killable locks instead of interruptible\n\nApparently, many applications don\u0027t expect to get EAGAIN from fd read/write\noperations, since POSIX doesn\u0027t mandate it.\n\nUse mutex_lock_killable instead of mutex_lock_interruptible, which won\u0027t\ncause issues.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "d8b105f900d93bd103c002bf4c923f50f16c5441",
      "tree": "5b7b45e6b00a62b73628045c8120c0b92367b89e",
      "parents": [
        "35961627d3e7a4093eb307d782541700e9addec6"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Wed Oct 22 20:52:55 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 27 17:46:11 2008 -0400"
      },
      "message": "RFKILL: fix input layer initialisation\n\nInitialise correctly last fields, so tasks can be actually executed.\nOn some architectures the initial jiffies value is not zero, so later\nall rfkill incorrectly decides that rfkill_*.last is in future.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "56f26f7b78af36d0f048a9403084870d2ffb549f",
      "tree": "0d15550377d5cec7379c76a0158e3536eb5dc94d",
      "parents": [
        "fff11c0c827c88f1bca0e475fcd4d319ff44c0ac"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Mon Oct 13 21:59:03 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 14 10:23:27 2008 -0700"
      },
      "message": "net/rfkill/rfkill-input.c needs \u003clinux/sched.h\u003e\n\nFor some m68k configs, I get:\n\n| net/rfkill/rfkill-input.c: In function \u0027rfkill_start\u0027:\n| net/rfkill/rfkill-input.c:208: error: dereferencing pointer to incomplete type\n\nAs the incomplete type is `struct task_struct\u0027, including \u003clinux/sched.h\u003e fixes\nit.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "417bd25ac4c6f76c8aafe8a584f3620f4a936b72",
      "tree": "7b7b55d715d7121dcba815cd2518608c0a6ec010",
      "parents": [
        "5b5d13afeeee959a74114b73c560d3e243f34a11"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Fri Oct 03 16:58:05 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Oct 06 18:14:57 2008 -0400"
      },
      "message": "rfkill: update LEDs for all state changes\n\nThe LED state was not being updated by rfkill_force_state(), which\nwill cause regressions in wireless drivers that had old-style rfkill\nsupport and are updated to use rfkill_force_state().\n\nThe LED state was not being updated when a change was detected through\nthe rfkill-\u003eget_state() hook, either.\n\nMove the LED trigger update calls into notify_rfkill_state_change(),\nwhere it should have been in the first place.  This takes care of both\nissues above.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: stable@kernel.org\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "bed7aac9416f50425d2200df32bcc9bf248ff8cb",
      "tree": "4471647eb3e15d3afb7eba8642537b96561dff7b",
      "parents": [
        "e35cc4ddcc4c3b11006bcabe8ce28aa7e18da318"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Tue Aug 26 11:58:01 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Sep 15 16:48:25 2008 -0400"
      },
      "message": "rfkill: remove transmitter blocking on suspend\n\nCurrently, rfkill would stand in the way of properly supporting wireless\ndevices that are capable of waking the system up from sleep or hibernation\nwhen they receive a special wireless message.  It would also get in the way\nof mesh devices that need to remain operational even during platform\nsuspend.\n\nTo avoid that, stop trying to block the transmitters on the rfkill class\nsuspend handler.\n\nDrivers that need rfkill\u0027s older behaviour will have to implement it by\nthemselves in their own suspend handling.\n\nDo note that rfkill *will* attempt to restore the transmitter state on\nresume in any situation.  This happens after the driver\u0027s resume method is\ncalled by the suspend core (class devices resume after the devices they are\nattached to have been resumed).\n\nThe following drivers need to check if they need to explicitly block\ntheir transmitters in their own suspend handlers (maintainers Cc\u0027d):\n\tarch/arm/mach-pxa/tosa-bt.c\n\tdrivers/net/usb/hso.c\n\tdrivers/net/wireless/rt2x00/* (USB might need it?)\n\tdrivers/net/wireless/b43/ (SSB over USB might need it?)\n\tdrivers/misc/hp-wmi.c\n\teeepc-laptop w/rfkill support (not in mainline yet)\n\tCompal laptop w/rfkill support (not in mainline yet)\n\ttoshiba-acpi w/rfkill support (not in mainline yet)\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: Andrew Bird \u003cajb@spheresystems.co.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: Cezary Jackiewicz \u003ccezary.jackiewicz@gmail.com\u003e\nCc: Philip Langdale \u003cphilipl@overt.org\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "15635744484d4255778fc641261be27179c51f9a",
      "tree": "0f00163e77259aae1ab1636801f4a6842cb8fc77",
      "parents": [
        "f745ba03a12a1c4b98a88a96ab39d9b58ac677a2"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Tue Aug 26 11:58:00 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:24:11 2008 -0400"
      },
      "message": "rfkill: rename rfkill_mutex to rfkill_global_mutex\n\nrfkill_mutex and rfkill-\u003emutex are too easy to confuse with each other.\n\nRename rfkill_mutex to rfkill_global_mutex, so that they are easier to tell\napart with just one glance.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "f745ba03a12a1c4b98a88a96ab39d9b58ac677a2",
      "tree": "b66455f17ac6c8cfc33711c71da793ae17209ada",
      "parents": [
        "01b510b9c29caf2134c31d2bc8c2c5cc73987eb6"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Tue Aug 26 11:57:59 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:24:10 2008 -0400"
      },
      "message": "rfkill: add WARN and BUG_ON paranoia (v2)\n\nBUG_ON() and WARN() the heck out of buggy drivers calling into the rfkill\nsubsystem.\n\nAlso switch from WARN_ON(1) to the new descriptive WARN().\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "01b510b9c29caf2134c31d2bc8c2c5cc73987eb6",
      "tree": "1002d28e85625d44c77f4acce28af7650e8eea45",
      "parents": [
        "849e0576a76bc421aacd782f97948856f487726c"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "felipe.balbi@nokia.com",
        "time": "Tue Aug 26 11:57:58 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:24:10 2008 -0400"
      },
      "message": "rfkill: add missing line break\n\nTrivial patch adding a missing line break on\nrfkill_claim_show().\n\nSigned-off-by: Felipe Balbi \u003cfelipe.balbi@nokia.com\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.co\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "849e0576a76bc421aacd782f97948856f487726c",
      "tree": "284a8fec1a1b9e25f4c1e6bbeb8c739290c90b70",
      "parents": [
        "5701ed843ea87bf8a1d2c4dee5edcb463558db4a"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Tue Aug 26 11:57:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 29 16:24:10 2008 -0400"
      },
      "message": "rfkill: use strict_strtoul (v2)\n\nSwitch sysfs parsing to something that actually works properly.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96c87607ac8f9b0e641d11ba6e57f8ec0214ea1c",
      "tree": "d8a7d538b2bd05b5ee2957828563b31cf7db8540",
      "parents": [
        "77fba13ccc3a2a3db100892a4a6cc5e2f8290cc7"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:11:00 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:57 2008 -0400"
      },
      "message": "rfkill: introduce RFKILL_STATE_MAX\n\nWhile it is interesting to not add last-enum-markers because it allows gcc\nto warn us of switch() statements missing a valid state, we really should\nbe handling memory corruption on a rfkill state with default clauses,\nanyway.\n\nSo add RFKILL_STATE_MAX and use it where applicable.  It makes for safer\ncode in the long run.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "77fba13ccc3a2a3db100892a4a6cc5e2f8290cc7",
      "tree": "326794992d81c2372f6a639df798e3361dcb4610",
      "parents": [
        "9961920199ec88d6b581d3e38502088935925c04"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:10:59 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:57 2008 -0400"
      },
      "message": "rfkill: add __must_check annotations\n\nrfkill is not a small, mere detail in wireless support.  Once it starts\nsupporting rfkill and users start counting on that support, a wireless\ndevice is at risk of operating in dangerous conditions should rfkill\nsupport fail to properly activate.\n\nTherefore, add the required __must_check annotations on some key functions\nof the rfkill API, for which the wireless drivers absolutely MUST handle\nthe failure mode safely in order to avoid a potentially dangerous situation\nwhere the wireless transmitter is left enabled when the user don\u0027t want it\nto.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "9961920199ec88d6b581d3e38502088935925c04",
      "tree": "38a20b8d4441b4b2a6e033bc9e7a7e6863e72397",
      "parents": [
        "02589f60510030a3c1496e7a8c511e4f674ef5ff"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:10:58 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "rfkill: add default global states (v2)\n\nAdd a second set of global states, \"rfkill_default_states\", to track the\nstate that will be used when the first rfkill class of a given type is\nregistered, and also to save \"undo\" information when rfkill_epo is called.\n\nAdd a new exported function, rfkill_set_default(), which can be used by\nplatform drivers to restore radio state saved by the platform across\nreboots or shutdown.\n\nAlso, fix rfkill_epo to properly update rfkill_states, but still preserve a\ncopy of the state so that we can undo the effect of rfkill_epo later if we\nwant to.  Add rfkill_restore_states() to restore rfkill_states from the\ncopy.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "02589f60510030a3c1496e7a8c511e4f674ef5ff",
      "tree": "24650fdd0e2a0ad8145693164fa27e847379aacc",
      "parents": [
        "c94c93da90a9e46a73a5733ff8454fb4b14733fb"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 15:10:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 22 16:29:56 2008 -0400"
      },
      "message": "rfkill: detect bogus double-registering (v2)\n\nDetect and abort with -EEXIST if rfkill_register is called twice on the\nsame rfkill struct.  And WARN_ON(it) for good measure.\n\nWhile at it, flag when we are adding the first switch of a type, we will\nneed that information later.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e10e0dfe3ba358cfb442cc3bf0d3f2068785bf5c",
      "tree": "9921c44240e39f07bf825ede5777f72fbdfe40d0",
      "parents": [
        "aaa1553512b9105699113ea7e2ea726f3d9d4de2"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Sat Aug 02 14:56:25 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Aug 18 11:05:12 2008 -0400"
      },
      "message": "rfkill: protect suspended rfkill controllers\n\nGuard rfkill controllers attached to a rfkill class against state changes\nafter class suspend has been issued.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "96185664f10e79d038c084305d3cacff9b52204f",
      "tree": "9134c0e018b86d84e2f9f86561b4c7a44ef933f9",
      "parents": [
        "7c4f4578fc85d42d149f86b47f76c28626a20d92"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Jul 22 14:21:59 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:33 2008 -0400"
      },
      "message": "RFKILL: set the status of the leds on activation.\n\nProvide default activate function to set the state of the led\nwhen the led becomes bound to the trigger\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7c4f4578fc85d42d149f86b47f76c28626a20d92",
      "tree": "266b617211d19f31d383b7b11a6d3dfe160676d1",
      "parents": [
        "6e28fbef0f330d7c1cade345eeae003d4e5d6070"
      ],
      "author": {
        "name": "Dmitry Baryshkov",
        "email": "dbaryshkov@gmail.com",
        "time": "Tue Jul 22 14:17:37 2008 +0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:33 2008 -0400"
      },
      "message": "RFKILL: allow one to specify led trigger name\n\nAllow the rfkill driver to specify led trigger name.\nBy default it still defaults to the name of rfkill switch.\n\nSigned-off-by: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "6e28fbef0f330d7c1cade345eeae003d4e5d6070",
      "tree": "69d5f4e32a6ed95eb2bdc89678ca87d60274d2fb",
      "parents": [
        "f860ee26db51c478fd70039bd4902912a8d93993"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Jul 31 10:53:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Aug 01 15:31:32 2008 -0400"
      },
      "message": "rfkill: query EV_SW states when rfkill-input (re)?connects to a input device\n\nEvery time a new input device that is capable of one of the\nrfkill EV_SW events (currently only SW_RFKILL_ALL) is connected to\nrfkill-input, we must check the states of the input EV_SW switches\nand take action.  Otherwise, we will ignore the initial switch state.\n\nWe also need to re-check the states of the EV_SW switches after\na device that was under an exclusive grab is released back to us,\nsince we got no input events from that device while it was grabbed.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "435307a365ceedc4f4e1813e405f583f434d98e4",
      "tree": "2f285547aba15a7235e46485ebde365d57cb378e",
      "parents": [
        "064af1117b4aa64a0e52f6b741df7356ef055142"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:22 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:55:03 2008 -0400"
      },
      "message": "rfkill: yet more minor kernel-doc fixes\n\nFor some stupid reason, I sent and old version of the patch minor kernel\ndoc-fix patch, and it got merged before I noticed the problem. This is an\nincremental fix on top.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "064af1117b4aa64a0e52f6b741df7356ef055142",
      "tree": "262651d81f5d390467ee80bca96e403f86bacee3",
      "parents": [
        "f1b23361a0f15497d4c6795a2935b2e98064ddfb"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:20 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:35 2008 -0400"
      },
      "message": "rfkill: mutex fixes\n\nThere are two mutexes in rfkill:\n\nrfkill-\u003emutex, which protects some of the fields of a rfkill struct, and is\nalso used for callback serialization.\n\nrfkill_mutex, which protects the global state, the list of registered\nrfkill structs and rfkill-\u003eclaim.\n\nMake sure to use the correct mutex, and to not miss locking rfkill-\u003emutex\neven when we already took rfkill_mutex.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "37f55e9d78d1b63047b1b7ae175cdce650547ba8",
      "tree": "bfbaf636dc086d0cc7b904a3dcbfe44c2e2d7a88",
      "parents": [
        "2fd9b2212e25e6411b6f309707f4e2683d164250"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:18 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:32 2008 -0400"
      },
      "message": "rfkill: fix led-trigger unregister order in error unwind\n\nrfkill needs to unregister the led trigger AFTER a call to\nrfkill_remove_switch(), otherwise it will not update the LED state,\npossibly leaving it ON when it should be OFF.\n\nTo make led-trigger unregistering safer, guard against unregistering a\ntrigger twice, and also against issuing trigger events to a led trigger\nthat was unregistered.  This makes the error unwind paths more resilient.\n\nRefer to \"rfkill: Register LED triggers before registering switch\".\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Michael Buesch \u003cmb@bu3sch.de\u003e\nCc: Dmitry Baryshkov \u003cdbaryshkov@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2fd9b2212e25e6411b6f309707f4e2683d164250",
      "tree": "b886e6d11d3478f86ac7e270ef1dfc7fe02e7128",
      "parents": [
        "734b5aa911dc65f4563048f069dfc631c9aa7de7"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jul 21 21:18:17 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 29 16:36:32 2008 -0400"
      },
      "message": "rfkill: document rfkill_force_state as required (v2)\n\nWhile the rfkill class does work with just get_state(), it doesn\u0027t work\nwell on devices that are subject to external events that cause rfkill state\nchanges.\n\nDocument that rfkill_force_state() is required in those cases.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fd4484af7c02b31bcb6090eeb0d85cf947719f2d",
      "tree": "b7cf0b5b4ade5c3cd4351b1a1256432356898068",
      "parents": [
        "0f687e9aeb590e9581709379f47dd13ee9357258"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Jul 03 13:14:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 08 14:16:03 2008 -0400"
      },
      "message": "rfkill: ignore errors from rfkill_toggle_radio in rfkill_add_switch\n\nrfkill_add_switch() calls rfkill_toggle_radio() to set the state of a\nrecently registered rfkill class to the current global state [for that\nrfkill-\u003etype].\n\nThe rfkill_toggle_radio() call is going to error out if the hardware is\nRFKILL_STATE_HARD_BLOCKED, and the global state is RFKILL_STATE_UNBLOCKED.\n\nThat is a quite normal situation which I missed to account for.  As things\nstand, the error return from rfkill_toggle_radio ends up causing\nrfkill_register to bail out with an error (de-registering the new switch in\nthe process), which is Not Nice.\n\nChange rfkill_add_switch() to not return errors because of a failed call to\nrfkill_toggle_radio().  We can go back to returning errors again (if that\u0027s\nindeed the right thing to do) if we define the exact error codes the\nrfkill-\u003etoggle_radio callbacks are to return in each situation, so that we\ncan ignore the right ones only.\n\nBug reported by \"kionez \u003ckionez@anche.no\u003e\".\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: kionez \u003ckionez@anche.no\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "0f687e9aeb590e9581709379f47dd13ee9357258",
      "tree": "1e713f23476d03171d608abfdd9308552c5f1da9",
      "parents": [
        "e4abd4d49d6df6d5e94564c5e831c61ac722f6ec"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Thu Jul 03 13:14:56 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Jul 08 14:16:02 2008 -0400"
      },
      "message": "rfkill: some minor kernel-doc changes for rfkill_toggle_radio\n\nImprove rfkill_toggle_radio\u0027s kernel-doc header a bit.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5005657cbd0fd6f277f807c0612a6b6d4396a02c",
      "tree": "e6ed81f07a1a85ed2c440ac8631ca19cc77907c1",
      "parents": [
        "dc288520a21879c6540f3249e9532c5e032da4e8"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:46:42 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:22 2008 -0400"
      },
      "message": "rfkill: rename the rfkill_state states and add block-locked state\n\nThe current naming of rfkill_state causes a lot of confusion: not only the\n\"kill\" in rfkill suggests negative logic, but also the fact that rfkill cannot\nturn anything on (it can just force something off or stop forcing something\noff) is often forgotten.\n\nRename RFKILL_STATE_OFF to RFKILL_STATE_SOFT_BLOCKED (transmitter is blocked\nand will not operate; state can be changed by a toggle_radio request), and\nRFKILL_STATE_ON to RFKILL_STATE_UNBLOCKED (transmitter is not blocked, and may\noperate).\n\nAlso, add a new third state, RFKILL_STATE_HARD_BLOCKED (transmitter is blocked\nand will not operate; state cannot be changed through a toggle_radio request),\nwhich is used by drivers to indicate a wireless transmiter was blocked by a\nhardware rfkill line that accepts no overrides.\n\nKeep the old names as #defines, but document them as deprecated.  This way,\ndrivers can be converted to the new names *and* verified to actually use rfkill\ncorrectly one by one.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "4081f00dc45abce6bdac352a6354c07ce15db45b",
      "tree": "5c1c239eb0e0cfdedf9fdfd0d82bf36c03bfdd99",
      "parents": [
        "fbc6af2f3c46df4722f5161d0ad20dd87cd7dfa9"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:07 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:22 2008 -0400"
      },
      "message": "rfkill: do not allow userspace to override ALL RADIOS OFF\n\nSW_RFKILL_ALL is the \"emergency power-off all radios\" input event.  It must\nbe handled, and must always do the same thing as far as the rfkill system\nis concerned: all transmitters are to go *immediately* offline.\n\nFor safety, do NOT allow userspace to override EV_SW SW_RFKILL_ALL OFF.  As\nlong as rfkill-input is loaded, that event will *always* be processed, and\nit will *always* force all rfkill switches to disable all wireless\ntransmitters, regardless of user_claim attribute or anything else.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "fbc6af2f3c46df4722f5161d0ad20dd87cd7dfa9",
      "tree": "441db97c020be4af753823be8991df86454f92a8",
      "parents": [
        "ffb67c34e436fb163c4067936ccec797354fa6c6"
      ],
      "author": {
        "name": "Fabien Crespel",
        "email": "fabien@crespel.net",
        "time": "Mon Jun 23 17:23:06 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:21 2008 -0400"
      },
      "message": "rfkill: drop current_state from tasks in rfkill-input\n\nThe whole current_state thing seems completely useless and a source of\nproblems in rfkill-input, since state comparison is already done in rfkill,\nand rfkill-input is more than likely to become out of sync with the real\nstate.\n\nSigned-off-by: Fabien Crespel \u003cfabien@crespel.net\u003e\nAcked-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "ffb67c34e436fb163c4067936ccec797354fa6c6",
      "tree": "58553e810c7d55595c82d6d397fa4027be1da7ae",
      "parents": [
        "99c632e5a304e1f76350eb9e8b2493514de8b60c"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:05 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:21 2008 -0400"
      },
      "message": "rfkill: add uevent notifications\n\nUse the notification chains to also send uevents, so that userspace can be\nnotified of state changes of every rfkill switch.\n\nUserspace should use these events for OSD/status report applications and\nrfkill GUI frontends.  HAL might want to broadcast them over DBUS, for\nexample.  It might be also useful for userspace implementations of\nrfkill-input, or to use HAL as the platform driver which promotes rfkill\nswitch change events into input events (to synchronize all other switches)\nwhen necessary for platforms that lack a convenient platform-specific\nkernel module to do it.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "99c632e5a304e1f76350eb9e8b2493514de8b60c",
      "tree": "81eb9f9494a377d377ab57357adf7a37253d25e8",
      "parents": [
        "79399a8d1908f6a406e82d23c5a9937e1722ed3a"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:04 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:21 2008 -0400"
      },
      "message": "rfkill: add type string helper\n\nWe will need access to the rfkill switch type in string format for more\nthan just sysfs.  Therefore, move it to a generic helper.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "79399a8d1908f6a406e82d23c5a9937e1722ed3a",
      "tree": "2eb7cfc13959917114b745e4a0bff2810df1c870",
      "parents": [
        "526324b61a9667ed9a71f0a8a8899cf675346c76"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:03 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:21 2008 -0400"
      },
      "message": "rfkill: add notifier chains support\n\nAdd a notifier chain for use by the rfkill class.  This notifier chain\nsignals the following events (more to be added when needed):\n\n  1. rfkill: rfkill device state has changed\n\nA pointer to the rfkill struct will be passed as a parameter.\n\nThe notifier message types have been added to include/linux/rfkill.h\ninstead of to include/linux/notifier.h in order to avoid the madness of\nmodifying a header used globally (and that triggers an almost full tree\nrebuild every time it is touched) with information that is of interest only\nto code that includes the rfkill.h header.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "526324b61a9667ed9a71f0a8a8899cf675346c76",
      "tree": "4a7697c0987ab4869f2760f06e1ba8e487a91af8",
      "parents": [
        "477576a073699783abb53ae14993d5d41c66301d"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:02 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:20 2008 -0400"
      },
      "message": "rfkill: rework suspend and resume handlers\n\nThe resume handler should reset the wireless transmitter rfkill\nstate to exactly what it was when the system was suspended.  Do it,\nand do it using the normal routines for state change while at it.\n\nThe suspend handler should force-switch the transmitter to blocked\nstate, ignoring caches.  Do it.\n\nAlso take an opportunity shot to rfkill_remove_switch() and also\nforce the transmitter to blocked state there, bypassing caches.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "477576a073699783abb53ae14993d5d41c66301d",
      "tree": "bde28a746ff9ebbc7642f36828a6115bc4bc00e9",
      "parents": [
        "801e49af4c1a9b988ba0d25de2b368c99c3bf2b3"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:01 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:20 2008 -0400"
      },
      "message": "rfkill: add the WWAN radio type\n\nUnfortunately, instead of adding a generic Wireless WAN type, a technology-\nspecific type (WiMAX) was added.  That\u0027s useless for other WWAN devices,\nsuch as EDGE, UMTS, X-RTT and other such radios.\n\nAdd a WWAN rfkill type for generic wireless WAN devices.  No keys are added\nas most devices really want to use KEY_WLAN for WWAN control (in a cycle of\nnone, WLAN, WWAN, WLAN+WWAN) and need no specific keycode added.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Iñaky Pérez-González \u003cinaky.perez-gonzalez@intel.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "801e49af4c1a9b988ba0d25de2b368c99c3bf2b3",
      "tree": "60fbf2b2ce2d9aab3055198853d2a76223b03f71",
      "parents": [
        "e954b0b85b9e737564b8ad9738de5816747b5901"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:23:00 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:20 2008 -0400"
      },
      "message": "rfkill: add read-write rfkill switch support\n\nCurrently, rfkill support for read/write rfkill switches is hacked through\na round-trip over the input layer and rfkill-input to let a driver sync\nrfkill-\u003estate to hardware changes.\n\nThis is buggy and sub-optimal.  It causes real problems.  It is best to\nthink of the rfkill class as supporting only write-only switches at the\nmoment.\n\nIn order to implement the read/write functionality properly:\n\nAdd a get_state() hook that is called by the class every time it needs to\nfetch the current state of the switch.  Add a call to this hook every time\nthe *current* state of the radio plays a role in a decision.\n\nAlso add a force_state() method that can be used to forcefully syncronize\nthe class\u0027 idea of the current state of the switch.  This allows for a\nfaster implementation of the read/write functionality, as a driver which\nget events on switch changes can avoid the need for a get_state() hook.\n\nIf the get_state() hook is left as NULL, current behaviour is maintained,\nso this change is fully backwards compatible with the current rfkill\ndrivers.\n\nFor hardware that issues events when the rfkill state changes, leave\nget_state() NULL in the rfkill struct, set the initial state properly\nbefore registering with the rfkill class, and use the force_state() method\nin the driver to keep the rfkill interface up-to-date.\n\nget_state() can be called by the class from atomic context. It must not\nsleep.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "e954b0b85b9e737564b8ad9738de5816747b5901",
      "tree": "173e87944006ded011a2db7feac770848277d881",
      "parents": [
        "28f089c18464810ec9e91ee10a89adbb02ad7765"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:22:59 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:20 2008 -0400"
      },
      "message": "rfkill: add parameter to disable radios by default\n\nCurrently, radios are always enabled when their rfkill interface is\nregistered.  This is not optimal, the safest state for a radio is to be\noffline unless the user turns it on.\n\nAdd a module parameter that causes all radios to be disabled when their\nrfkill interface is registered.  The module default is not changed so\nunless the parameter is used, radios will still be forced to their enabled\nstate when they are registered.\n\nThe new rfkill module parameter is called \"default_state\".\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "28f089c18464810ec9e91ee10a89adbb02ad7765",
      "tree": "5addf4b36d545258759d6aba8e825c79aa00698d",
      "parents": [
        "c8fcd905a59a535bff93a120ac44b09ce24e13e6"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:22:58 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:19 2008 -0400"
      },
      "message": "rfkill: handle SW_RFKILL_ALL events\n\nTeach rfkill-input how to handle SW_RFKILL_ALL events (new name for the\nSW_RADIO event).\n\nSW_RFKILL_ALL is an absolute enable-or-disable command that is tied to all\nradios in a system.\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c8fcd905a59a535bff93a120ac44b09ce24e13e6",
      "tree": "d80caf713433b41f4f9d8e5df75599bc89898def",
      "parents": [
        "f3146aff7f283c8699e0c97df6307a705786eeba"
      ],
      "author": {
        "name": "Henrique de Moraes Holschuh",
        "email": "hmh@hmh.eng.br",
        "time": "Mon Jun 23 17:22:57 2008 -0300"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Jun 26 14:21:19 2008 -0400"
      },
      "message": "rfkill: fix minor typo in kernel doc\n\nFix a minor typo in an exported function documentation\n\nSigned-off-by: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nCc: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "89796f64a20d31e74ee0051df2e26812c852e734",
      "tree": "5430ac55e047fa88c5cc11f1d1f1e8b95ceddf56",
      "parents": [
        "cdbbe3d1f53086ece706674d3bf4f6d148083694"
      ],
      "author": {
        "name": "Carlos Corbacho",
        "email": "carlos@strangeworlds.co.uk",
        "time": "Sat Apr 12 16:39:47 2008 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Apr 15 15:04:35 2008 -0400"
      },
      "message": "rfkill: Fix device type check when toggling states\n\nrfkill_switch_all() is supposed to only switch all the interfaces of a\ngiven type, but does not actually do this; instead, it just switches\neverything currently in the same state.\n\nAdd the necessary type check in.\n\n(This fixes a bug I\u0027ve been seeing while developing an rfkill laptop\ndriver, with both bluetooth and wireless simultaneously changing state\nafter only pressing either KEY_WLAN or KEY_BLUETOOTH).\n\nSigned-off-by: Carlos Corbacho \u003ccarlos@strangeworlds.co.uk\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3a2d5b700132f35401f1d9e22fe3c2cab02c2549",
      "tree": "ad991428c41aee92a5f78b06bf73430af0e6f7ae",
      "parents": [
        "39273b58a409cd6d65c9732bdca00bacd1626672"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Feb 23 19:13:25 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 10:40:04 2008 -0800"
      },
      "message": "PM: Introduce PM_EVENT_HIBERNATE callback state\n\nDuring the last step of hibernation in the \"platform\" mode (with the\nhelp of ACPI) we use the suspend code, including the devices\u0027\n-\u003esuspend() methods, to prepare the system for entering the ACPI S4\nsystem sleep state.\n\nBut at least for some devices the operations performed by the\n-\u003esuspend() callback in that case must be different from its operations\nduring regular suspend.\n\nFor this reason, introduce the new PM event type PM_EVENT_HIBERNATE and\npass it to the device drivers\u0027 -\u003esuspend() methods during the last phase\nof hibernation, so that they can distinguish this case and handle it as\nappropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a\nspecial way and need to handle PM_EVENT_HIBERNATE in the same way.\n\nThese changes are necessary to fix a hibernation regression related\nto the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nTested-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dbede87148c4723789e59ce2e415c909c8ccc3d",
      "tree": "42b8b167f7af9dcc639873a6e16843f8a1273cfb",
      "parents": [
        "ac461a0330abe9f8ceffbf3ad7c50b116a72de33"
      ],
      "author": {
        "name": "Oliver Pinter",
        "email": "oliver.pntr@gmail.com",
        "time": "Sun Feb 03 17:55:45 2008 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Sun Feb 03 17:55:45 2008 +0200"
      },
      "message": "typo fix in net/rfkill/rfkill.c\n\nSigned-off-by: Oliver Pinter \u003coliver.pntr@gmail.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\n"
    },
    {
      "commit": "303d9bf6bb64ead8e3f1d7e29904a4025502e591",
      "tree": "c33cc180a0f5084bcb1c2e8921cab35eb9aea476",
      "parents": [
        "09552ccd8277e6382097e93a40f7311a09449367"
      ],
      "author": {
        "name": "Iñaky Pérez-González",
        "email": "inaky.perez-gonzalez@intel.com",
        "time": "Wed Jan 23 13:40:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:26:46 2008 -0800"
      },
      "message": "rfkill: add the WiMAX radio type\n\nTeach rfkill about wimax radios.\n\nHad to define a KEY_WIMAX as a \u0027key for disabling only wimax radios\u0027,\nas other radio technologies have. This makes sense as hardware has\nspecific keys for disabling specific radios.\n\nThe RFKILL enabling part is, otherwise, a copy and paste of any other\nradio technology.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "632041f306707df94110441f55b1458ebeb096db",
      "tree": "effe40dae5c459f6ee20ce55d2f2f7810aceb132",
      "parents": [
        "a7da60f41551abb3c520b03d42ec05dd7decfc7f"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Sun Jan 13 16:20:56 2008 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 20 20:31:36 2008 -0800"
      },
      "message": "rfkill: call rfkill_led_trigger_unregister() on error\n\nCode inspection turned up that error cases in rfkill_register() do not\ncall rfkill_led_trigger_unregister() even though we have already\nregistered.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7f4c534178722ac9ffb4feae3a4d54e3fbe3f22c",
      "tree": "5067b23f30c5758bb6d6eee5e169afb98c98cd79",
      "parents": [
        "8312512e81ab16d845b49d1ec695fad1c72f19f6"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Wed Nov 28 17:49:34 2007 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Thu Nov 29 18:08:48 2007 -0500"
      },
      "message": "rfkill: fix double-mutex-locking\n\nrfkill_toggle_radio is called from functions where\nrfkill-\u003emutex is already aquired.\n\nRemove the lock from rfkill_toggle_radio() and add it to\nthe only calling function that calls it without the lock held.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2736622344e9af9801392edf9e733e8a8f6931d1",
      "tree": "adb6fc95923d5a31fd20dabe0bc3d8c68bac6f67",
      "parents": [
        "7319f1e6bcf04abd2eddb19747b0933a76f839ce"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Fri Nov 02 20:18:11 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 10 22:00:28 2007 -0800"
      },
      "message": "rfkill: Fix sparse warning\n\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7319f1e6bcf04abd2eddb19747b0933a76f839ce",
      "tree": "b6b1579a2bf0bfab90736ee589fa836835ede6cc",
      "parents": [
        "f51359a8fb1bb00ae87051991e59d0f92d90604b"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sun Oct 28 15:16:50 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 10 22:00:15 2007 -0800"
      },
      "message": "rfkill: Use mutex_lock() at register and add sanity check\n\nReplace mutex_lock_interruptible() by mutex_lock() in rfkill_register(),\nas interruptible doesn\u0027t make sense there.\n\nAdd a sanity check for rfkill-\u003etype, as that\u0027s used for an unchecked dereference\nin an array and might cause hard to debug crashes if the driver sets this\nto an invalid value.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "2bf236d55e5ea2b92ed5235af09997c2995b316b",
      "tree": "5ae4c6a731f2e9545a40de3258c747a7b3391342",
      "parents": [
        "ac71c691e6a5ce991fe221d3bdb0c972f617aa37"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sun Oct 28 14:39:02 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 10 21:59:33 2007 -0800"
      },
      "message": "rfkill: Use subsys_initcall\n\nWe must use subsys_initcall, because we must initialize before a\ndriver calls rfkill_register().\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "8a8f1c0437a77cce29c1cb6089f01f22a6d9ca6e",
      "tree": "aff63cd4d043135c50cccd43ee32db57f62e79b9",
      "parents": [
        "8d8c90e3fd1f8895f6d48bdcb34ba69a1fe73616"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Sun Oct 28 13:07:54 2007 +0100"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Nov 10 21:59:11 2007 -0800"
      },
      "message": "rfkill: Register LED triggers before registering switch\n\nRegistering the switch triggers a LED event, so we must register\nLED triggers before the switch.\nThis has a potential to fix a crash, depending on how the device\ndriver initializes the rfkill data structure.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "7b19ada2ed3c1eccb9fe94d74b05e1428224663d",
      "tree": "a0c5975ce5236ff4023b92d431bd0a8fa321c6ce",
      "parents": [
        "d05be13bcc6ec615fb2e9556a9b85d52800669b6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Oct 18 23:40:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:42 2007 -0700"
      },
      "message": "get rid of input BIT* duplicate defines\n\nget rid of input BIT* duplicate defines\n\nuse newly global defined macros for input layer. Also remove includes of\ninput.h from non-input sources only for BIT macro definiton. Define the\nmacro temporarily in local manner, all those local definitons will be\nremoved further in this patchset (to not break bisecting).\nBIT macro will be globally defined (1\u003c\u003cx)\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nCc: \u003cdtor@mail.ru\u003e\nAcked-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: \u003clenb@kernel.org\u003e\nAcked-by: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCc: \u003cperex@suse.cz\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: \u003cvernux@us.ibm.com\u003e\nCc: \u003cmalattia@linux.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20405c08412a4d89357870d7220f9fb1c458b286",
      "tree": "971dbbd3a2339eeef5ec7a89057cf6ca20af535d",
      "parents": [
        "135900c182c321a4888ec496b014e6707272faca"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Sep 27 21:34:23 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:11 2007 -0700"
      },
      "message": "[RFKILL]: Add support for hardware-only rfkill buttons\n\nButtons that work directly on hardware cannot support\nthe \"user_claim\" functionality. Add a flag to signal\nthis and return -EOPNOTSUPP in this case.\nb43 is such a device.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "135900c182c321a4888ec496b014e6707272faca",
      "tree": "d17a3e12bf2e047c7a627f61e623e40dfbad87bf",
      "parents": [
        "937a049dd903bd810d858d0303cf86af9eb08b6f"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Sep 27 21:33:12 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:10 2007 -0700"
      },
      "message": "[RFKILL]: Add support for an rfkill LED.\n\nThis adds a LED trigger.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe242cfd3390b1c7d54d60f7ebb6a4054804cd41",
      "tree": "0a2ad56479c5a48a57c9635139b3b85de2ae5c3d",
      "parents": [
        "a50e2e3f3e6303e893c4c438c0692d459d7093a5"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Sep 27 14:57:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:29 2007 -0700"
      },
      "message": "[RFKILL]: Move rfkill_switch_all out of global header\n\nrfkill_switch_all shouldn\u0027t be called by drivers directly,\ninstead they should send a signal over the input device.\n\nTo prevent confusion for driver developers, move the\nfunction into a rfkill private header.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0665486b78b8efb9c25019ad29b4a4c9c1e9dfc",
      "tree": "b18f2c738eb10d6afcf7bf751b4c16056c3e248c",
      "parents": [
        "234a0ca6f1d67ba4c3c3fc8378bbd98d722468e1"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Sep 13 09:21:31 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:23 2007 -0700"
      },
      "message": "[RFKILL]: Add support for ultrawideband\n\nThis patch will add support for UWB keys to rfkill,\nsupport for this has been requested by Inaky.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "234a0ca6f1d67ba4c3c3fc8378bbd98d722468e1",
      "tree": "a744629408146be683dfbef5c18f1f8bb433f3b7",
      "parents": [
        "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Sep 13 09:20:42 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:23 2007 -0700"
      },
      "message": "[RFKILL]: Remove IRDA\n\nAs Dmitry pointed out earlier, rfkill-input.c\ndoesn\u0027t support irda because there are no users\nand we shouldn\u0027t add unrequired KEY_ defines.\n\nHowever, RFKILL_TYPE_IRDA was defined in the\nrfkill.h header file and would confuse people\nabout whether it is implemented or not.\n\nThis patch removes IRDA support completely,\nso it can be added whenever a driver wants the\nfeature.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b81bff416c4413333b19af627e11fddc620bd84",
      "tree": "fa003d1cac81e80f67b46ac3128873596f158ca5",
      "parents": [
        "db0c58f998eeb552fb47b82915005259a83613ae"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:44:38 2007 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Thu Jul 19 10:44:38 2007 +0900"
      },
      "message": "[NET] RFKILL: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "c81de6addb913423acef6e692fd70688180ab5dd",
      "tree": "5afffdbbba11dea2d6b7d1c8a44c6c8c75918aaa",
      "parents": [
        "5bae7ac9feba925fd0099057f6b23d7be80b7b41"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Wed Jul 18 15:38:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:38:03 2007 -0700"
      },
      "message": "[RFKILL]: Make state sysfs writable\n\nThe rfkill state Sysfs attribute should be made writable,\nwe already pass the argument for the store handler,\nso we only need to update the permissions flag.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6c9116d1dc984cb7ecf1b0fe26ca4a8ab36bb57",
      "tree": "4097167cef775da1006b762f30ceff323ccf6071",
      "parents": [
        "8d9107e8c50e1c4ff43c91c8841805833f3ecfb9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Jul 14 18:50:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 14 18:50:15 2007 -0700"
      },
      "message": "[RFKILL]: fix net/rfkill/rfkill-input.c bug on 64-bit systems\n\nSubject: [patch] net/input: fix net/rfkill/rfkill-input.c bug on 64-bit systems\n\nthis recent commit:\n\n commit cf4328cd949c2086091c62c5685f1580fe9b55e4\n Author: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\n Date:   Mon May 7 00:34:20 2007 -0700\n\n     [NET]: rfkill: add support for input key to control wireless radio\n\nadded this 64-bit bug:\n\n        ....\n\tunsigned int flags;\n \n \tspin_lock_irqsave(\u0026task-\u003elock, flags);\n        ....\n\nirq \u0027flags\u0027 must be unsigned long, not unsigned int. The -rt tree has \nstrict checks about this on 64-bit so this triggered a build failure. \n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d007da1fa6f0ad5e01ceae4a1f60cdbb23ecd706",
      "tree": "fa96a04b86164d8256e1c4fb533236148fcb0c4e",
      "parents": [
        "c34b19fb4e243b26fa90a322bf32238356493674"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Sat May 19 12:24:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 19 12:24:39 2007 -0700"
      },
      "message": "[RFKILL]: Fix check for correct rfkill allocation\n\ncoverity has spotted a bug in rfkill.c (bug id #1627),\nin rfkill_allocate() NULL was returns if the kzalloc() works,\nand deref the NULL pointer if it fails,\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf4328cd949c2086091c62c5685f1580fe9b55e4",
      "tree": "bd9d96f1c99910076b6f5f34cd5cd2da30405ef1",
      "parents": [
        "2396a22e0989df6038996506bfbf7a57f116c299"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Mon May 07 00:34:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 00:34:20 2007 -0700"
      },
      "message": "[NET]: rfkill: add support for input key to control wireless radio\n\nThe RF kill patch that provides infrastructure for implementing\nswitches controlling radio states on various network and other cards.\n\n[dtor@insightbb.com: address review comments]\n[akpm@linux-foundation.org: cleanups, build fixes]\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
