aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform
Commit message (Collapse)AuthorAge
* drm/i915, intel_ips: When i915 loads after IPS, make IPS relink to i915.Eric Anholt2010-12-23
| | | | | | | | | | | | | | The IPS driver is designed to be able to run detached from i915 and just not enable GPU turbo in that case, in order to avoid module dependencies between the two drivers. This means that we don't know what the load order between the two is going to be, and we had previously only supported IPS after (optionally) i915, but not i915 after IPS. If the wrong order was chosen, you'd get no GPU turbo, and something like half the possible graphics performance. Signed-off-by: Eric Anholt <eric@anholt.net> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@kernel.org
* wmi: use memcmp instead of strncmp to compare GUIDsThadeu Lima de Souza Cascardo2010-12-06
| | | | | | | | | | | | | | | While looking for the duplicates in /sys/class/wmi/, I couldn't find them. The code that looks for duplicates uses strncmp in a binary GUID, which may contain zero bytes. The right function is memcmp, which is also used in another section of wmi code. It was finding 49142400-C6A3-40FA-BADB-8A2652834100 as a duplicate of 39142400-C6A3-40FA-BADB-8A2652834100. Since the first byte is the fourth printed, they were found as equal by strncmp. Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Matthew Garrett <mjg@redhat.com> Cc: stable@kernel.org
* ACPI, hp-wmi: Fix memory leak in acpi queryZeng Zhaoming2010-11-24
| | | | | | | Free acpi return memory after query. Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* msi-wmi: fix semantically incorrect use of keycode instead of scancodeAnisse Astier2010-11-24
| | | | | | | | I didn't know the difference between the two when I wrote this code in commit c30116c6f0d26cd6e46dfa578163d573ef4730b2. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* msi-wmi: Add mute key supportAnisse Astier2010-11-24
| | | | | | | | | Add new MUTE key seen on Medion Akoya AIO PC P4010D using MSI motherboard (Product Name: MS-7621) Reported-and-tested-by: Mark Huijgen <mark.sf.net@huijgen.tk> Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* asus-laptop: add wimax and wwan supportCorentin Chary2010-11-24
| | | | | | | | | | | | | | | Asus UL30A has a 3G chip, but the radio is disabled by default. The DSDT also reference a WIMAX device, which is not present on this model. This patch adds two new files: wwan and wimax to control WWAN and WIMAX devices. It does not use rfkill, because like WLED and BLED, we don't know yet that the two ACPI functions will always control the radio, they may control only the leds on some hardware. We may add rfkill switchs later. Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* eeepc-wmi: fix compiler warningDmitry Torokhov2010-11-24
| | | | | | | | | | This fixes the following: CC [M] drivers/platform/x86/eeepc-wmi.o drivers/platform/x86/eeepc-wmi.c:322: warning: initialization from incompatible pointer type Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* ibm_rtl: _RTL_ is not available in UEFI modeVernon Mauery2010-11-24
| | | | | | | | | | | | | Some of the IBM servers that are supported by ibm_rtl can run in both Legacy mode (BIOS) and in UEFI mode. When running in UEFI mode, it is possible that the EBDA table exists but cannot be mapped and reports errors. We need to make sure that by default we don't try to probe the machines if they are running in UEFI mode. Signed-off-by: Vernon Mauery <vernux@us.ibm.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* ibm_rtl: Loosen the DMI criteria to all IBM machinesVernon Mauery2010-11-24
| | | | | | | | | Allow all IBM machines to pass the DMI check so that we don't have to add them one by one to the driver. Any IBM machine that has the _RTL_ table in the EBDA will work. Signed-off-by: Vernon Mauery <vernux@us.ibm.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* drivers/platform/x86/thinkpad_acpi.c: delete double assignmentJulia Lawall2010-11-24
| | | | | | | | | | | | | | | | | | | Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* toshiba_acpi.c: Add key_entry for a lone FN keypressJon Dowland2010-11-24
| | | | | | | | | | | | A lone FN key press on a Toshiba Portégé R700 without another key in conjunction results in an ACPI event and a spurious error message on the console. Add a key entry to map this event to a KEY_FN keypress. This prevents the console message. Signed-off-by: Jon Dowland <jmtd@debian.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* ibm_rtl: fix printk format warningRandy Dunlap2010-11-24
| | | | | | | | | | | | | Fix printk format warning: drivers/platform/x86/ibm_rtl.c:305:warning: format '%#llx' expects type 'long long unsigned int', but argument 2 has type 'phys_addr_t' Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Keith Mannthey <kmannth@us.ibm.com> Cc: Vernon Mauery <vernux@us.ibm.com> Cc: platform-driver-x86@vger.kernel.org Cc: Matthew Garrett <mjg@redhat.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
* Remove duplicate includes from many filesZimny Lech2010-10-27
| | | | | | Signed-off-by: Zimny Lech <napohybelskurwysynom2010@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for_linus' of ↵Linus Torvalds2010-10-25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (44 commits) eeepc-wmi: Add cpufv sysfs interface eeepc-wmi: add additional hotkeys panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdata panasonic-laptop: Handle errors properly if they happen intel_pmic_gpio: fix off-by-one value range checking IBM Real-Time "SMI Free" mode driver -v7 Add OLPC XO-1 rfkill driver Move hdaps driver to platform/x86 ideapad-laptop: Fix Makefile intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_register ideapad: Add param: no_bt_rfkill ideapad: Change the driver name to ideapad-laptop ideapad: rewrite the sw rfkill set ideapad: rewrite the hw rfkill notify ideapad: use EC command to control camera ideapad: use return value of _CFG to tell if device exist or not ideapad: make sure we bind on the correct device ideapad: check VPC bit before sync rfkill hw status ideapad: add ACPI helpers dell-laptop: Add debugfs support ...
| * eeepc-wmi: Add cpufv sysfs interfaceChris Bagwell2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | eeepc-laptop provides a sysfs interface to read and control what it calls cpufv. When WMI is enabled, the ACPI interface changes slightly and becames a write-only control with 3 valid values. Expose cpufv again to allow for user space utils that can extended battery life noticably and come a little closer to parity with eeepc-laptop. Write-only is OK for most user space apps because read status was mostly used to prevent unneeded mode changes. Since this same check to ignore changes to same mode also exists in the DSDT then it was wasted ACPI call. acpi_osi="!Windows 2009" can be used for get back eeepc-laptop's read support of cpufv for debugging things such as behaviour during resume. This patch was tested with EEE PC 1005PE by monitoring powertop output while writing values of "0", "1", and "2" and by reviewing the decompiled DSDT of an 1201NL and comparing it to 1005PE's DSDT. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * eeepc-wmi: add additional hotkeysChris Bagwell2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | Added 4 hotkeys using same keymap values as eeepc-latop. These are mousepad toggle, resolution change, screen off, and task manager. These were tested on 1005PE and are the Fn-F3, F4, F7, and F9, respectively. Also, added a new hot key for power toggles (Fn-Space on 1005PE) and is meant to drive cpufv interface from userspace. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * panasonic-laptop: Simplify calls to acpi_pcc_retrieve_biosdataJean Delvare2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Function acpi_pcc_retrieve_biosdata is always called with parameters (pcc, pcc->sinf), so we can drop the second parameter. It was dangerous to pass the sinf array separately anyway, as its length is checked as pcc->num_sifr, which pretty much assumed it was pcc->sinf (or at least had the same size.) This change makes the code slightly more compact and thus marginally faster. Signed-off-by: Jean Delvare <jdelvare@suse.de> Cc: Harald Welte <laforge@gnumonks.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * panasonic-laptop: Handle errors properly if they happenJean Delvare2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | acpi_pcc_retrieve_biosdata() returns success instead of error if HKEY.SINF is invalid. Fix this. Furthermore, if acpi_pcc_retrieve_biosdata() returns an error during device addition, initialization is properly reverted but value 0 is returned, which means success. This would cause a crash when later using or removing the device, so fix this too. Signed-off-by: Jean Delvare <jdelvare@suse.de> Cc: Harald Welte <laforge@gnumonks.org> Cc: Bruno Premont <bonbons@linux-vserver.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * intel_pmic_gpio: fix off-by-one value range checkingAxel Lin2010-10-21
| | | | | | | | | | | | | | | | In pmic_irq_type(), we use gpio as array index for trigger, thus the valid value range for gpio should be 0 .. NUM_GPIO - 1. Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * IBM Real-Time "SMI Free" mode driver -v7Vernon Mauery2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a period of RFC for this driver, I think it is ready for inclusion in the platform-driver-x86 tree, hopefully to be staged in the next merge window into Linus's tree. --Vernon ------------------------------------------------------------ IBM Real-Time "SMI Free" mode driver This driver supports the Real-Time Linux (RTL) BIOS feature. The RTL feature allows non-fatal System Management Interrupts (SMIs) to be disabled on supported IBM platforms and is intended to be coupled with a user-space daemon to monitor the hardware in a way that can be prioritized and scheduled to better suit the requirements for the system. The Device is presented as a special "_RTL_" table to the OS in the Extended BIOS Data Area. There is a simple protocol for entering and exiting the mode at runtime. This driver creates a simple sysfs interface to allow a simple entry and exit from RTL mode in the UFI/BIOS. Since the driver is specific to IBM SystemX hardware (x86- based servers) it only builds on x86 builds. To reduce the risk of loading on the wrong hardware, the module uses DMI information and checks a list of servers that are known to work. Signed-off-by: Vernon Mauery <vernux@us.ibm.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * Add OLPC XO-1 rfkill driverDaniel Drake2010-10-21
| | | | | | | | | | | | | | | | | | Add a software rfkill switch for the WLAN interface in the OLPC XO-1 laptop. It uses the OLPC embedded controller to cut/restore power to the Marvell WLAN chip on the motherboard. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * Move hdaps driver to platform/x86Jean Delvare2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | The hdaps driver isn't a hardware monitoring driver, so it shouldn't live under driver/hwmon. drivers/platform/x86 seems much more appropriate, as the driver is only useful on x86 laptops. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Guenter Roeck <guenter.roeck@ericsson.com> Cc: Matthew Garrett <mjg@redhat.com> Cc: Frank Seidel <frank@f-seidel.de> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad-laptop: Fix MakefileMatthew Garrett2010-10-21
| | | | | | | | | | | | | | The makefile didn't get updated when the driver changed name, which broke the build. Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * intel_pmic_gpio: swap the bits and mask args for intel_scu_ipc_update_registerAlek Du2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | The intel_scu_ipc_update_register 2nd paramter should the bits and 3rd paramter should be the mask. This typo was introduced during IPC function changing... Reported-by: Ryan Zhou <ryan.zhou@intel.com> Signed-off-by: Alek Du <alek.du@intel.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: Add param: no_bt_rfkillIke Panhc2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new module parameter that force module not to register bluetooth rfkill. There is report that saying using this bluetooth rfkill to enable/disable bluetooth will let bluetooth device initial failed when enable on Lenovo ideapad S12. Fortunately there is another rfkill registered by bluetooth driver for S12 and user can shutdown the bluetooth by either bluetooth driver or HW RF switch. For dual OS user, it may have some trouble that using Linux after turning off bluetooth with another OS if we do not register bluetooth rfkill at all. So we will force bluetooth enable when no_bt_rfkill=1. Signed-off-by: Ike Panhc <ike.pan@canonical.com> Tested-by: Mario 'BitKoenig' Holbe <Mario.Holbe@TU-Ilmenau.DE> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: Change the driver name to ideapad-laptopIke Panhc2010-10-21
| | | | | | | | | | | | | | | | | | | | | | Since the platform drivers doing more for laptops than just using specific ACPI device. It will be good to change the name from *_acpi to *-laptop. Reference: http://lkml.org/lkml/2010/8/14/154 Signed-off-by: Ike Panhc <ike.pan@canonical.com> Acked-by: Len Brown <len.brown@intel.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: rewrite the sw rfkill setIke Panhc2010-10-21
| | | | | | | | | | | | | | Control power of rf modules by ec commands Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: rewrite the hw rfkill notifyIke Panhc2010-10-21
| | | | | | | | | | | | | | | | | | 1. Read hw rfkill status by ec command 2. Not to touch sw status of each rfkill when hw rfkill notify 3. Initial rfkill status when module loaded Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: use EC command to control cameraIke Panhc2010-10-21
| | | | | | | | | | Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: use return value of _CFG to tell if device exist or notIke Panhc2010-10-21
| | | | | | | | | | | | | | | | There are several bits of the return value of _CFG shows if RF/Camera devices exist or not. Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: make sure we bind on the correct deviceIke Panhc2010-10-21
| | | | | | | | | | | | | | By reading from method _CFG to make sure we bind on the correct VPC2004 device. Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: check VPC bit before sync rfkill hw statusIke Panhc2010-10-21
| | | | | | | | | | | | | | Check VPC bit to make sure the HW rfkill is touched. Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * ideapad: add ACPI helpersIke Panhc2010-10-21
| | | | | | | | | | | | | | | | | | | | | | There are two methods under VPC2004 which is used to access VDAT/VCMD of EC register. Add helpers for read and write these two registers. And add read_method_int for reading the return value from ACPI methods which requires no parameter. Signed-off-by: Ike Panhc <ike.pan@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * dell-laptop: Add debugfs supportKeng-Yu Lin2010-10-21
| | | | | | | | | | | | | | | | | | | | Export the status of RF killswitch through debugfs. The killswitch status is obtained by the SMI to BIOS. Exporting this status through debugfs can help identify the issue with the misbehaving firmware. Signed-off-by: Keng-Yu Lin <keng-yu.lin@canonical.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: embed struct device directly into wmi_blockDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | | | | | Instead of creating wmi_blocks and then register corresponding devices on a separate pass do it all in one shot, since lifetime rules for both objects are the same. This also takes care of leaking devices when device_create fails for one of them. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: make use of class device's attributresDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | Instead of adding modalias attribute manually set it up as class's device attribute so driver core will create and remove it for us. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: use pr_err() and friendsDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | This makes source more concise and easier to read. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: use separate list head for storing wmi blocksDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | Do not abuse wmi_block structure to hold the head of list of blocks, use separate list_head for that. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: simplify handling of returned WMI blocks in parse_wdg()Dmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | | | There is no reason why we allocate memory and copy data into an intermediate buffer, it is not like we are working with data coming from userspace. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: fix potential NULL pointer dereferenceDmitry Torokhov2010-10-21
| | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: do not leak memory in parse_wdg()Dmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | If we _WDG returned object that is not buffer we were forgetting to free memory allocated for that object. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: fix wmi_gtoa() to actully terminate the stringDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | Courtesy of sparse... Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: free wmi blocks when parse_wdg() failsDmitry Torokhov2010-10-21
| | | | | | | | | | Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * WMI: remove EC region handler when _WDG parsing failsDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | Driver initialization was forgetting to remove EC address space handler in cases when parse_wdg() method failed. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * asus-laptop: use attribute group to manage attributesDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | | | | | Instead of registering (and removing) every attribute individually switch to using sysfs attribute group. This makes sure that we properly unwind and do not try to remove non-existent attributes which may not be safe to do in the future. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * scu_ipc: Fix warning caused by include changesAlan Cox2010-10-21
| | | | | | | | | | | | | | | | | | | | We need to include the SFI headers. This is fine as the SCU is only relevant to x86 platforms with SFI. Fixes the -next warning report. Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * platform: x86: throw away custom methodsAndy Shevchenko2010-10-21
| | | | | | | | | | | | | | | | | | | | In 2.6.35 the hex_to_bin() was introduced. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Cc: Carlos Corbacho <carlos@strangeworlds.co.uk> Cc: Matthew Garrett <mjg@redhat.com> Cc: platform-driver-x86@vger.kernel.org Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * acpi_toshiba: fix kconfig errorRandy Dunlap2010-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix kconfig recursive dependency error in ACPI_TOSHIBA: it uses both select and depends on for BACKLIGHT_CLASS_DEVICE. drivers/video/backlight/Kconfig:117:error: recursive dependency detected! drivers/video/backlight/Kconfig:117: symbol BACKLIGHT_CLASS_DEVICE is selected by ACPI_TOSHIBA drivers/platform/x86/Kconfig:490: symbol ACPI_TOSHIBA depends on LEDS_CLASS drivers/leds/Kconfig:12: symbol LEDS_CLASS is selected by BACKLIGHT_ADP8860 drivers/video/backlight/Kconfig:285: symbol BACKLIGHT_ADP8860 depends on BACKLIGHT_CLASS_DEVICE Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * Don't show error if Acer WMI is not foundPascal de Bruijn2010-10-21
| | | | | | | | Signed-off-by: Matthew Garrett <mjg@redhat.com>
| * asus-laptop: remove no longer used keycode_map fieldDmitry Torokhov2010-10-21
| | | | | | | | | | | | | | | | The driver uses sparse keymap library and does not use this field anymore. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Matthew Garrett <mjg@redhat.com>