summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2014-05-28Merge branches 'pci/hotplug', 'pci/pci_is_bridge' and 'pci/virtualization' ↵Bjorn Helgaas
into next * pci/hotplug: PCI: cpqphp: Fix possible null pointer dereference NVMe: Implement PCIe reset notification callback PCI: Notify driver before and after device reset * pci/pci_is_bridge: pcmcia: Use pci_is_bridge() to simplify code PCI: pciehp: Use pci_is_bridge() to simplify code PCI: acpiphp: Use pci_is_bridge() to simplify code PCI: cpcihp: Use pci_is_bridge() to simplify code PCI: shpchp: Use pci_is_bridge() to simplify code PCI: rpaphp: Use pci_is_bridge() to simplify code sparc/PCI: Use pci_is_bridge() to simplify code powerpc/PCI: Use pci_is_bridge() to simplify code ia64/PCI: Use pci_is_bridge() to simplify code x86/PCI: Use pci_is_bridge() to simplify code PCI: Use pci_is_bridge() to simplify code PCI: Add new pci_is_bridge() interface PCI: Rename pci_is_bridge() to pci_has_subordinate() * pci/virtualization: PCI: Introduce new device binding path using pci_dev.driver_override Conflicts: drivers/pci/pci-sysfs.c
2014-05-28Merge branches 'pci/host-exynos', 'pci/host-rcar' and 'pci/amd-numa' into nextBjorn Helgaas
* pci/host-exynos: PCI: exynos: Remove unnecessary OOM messages * pci/host-rcar: PCI: rcar: Add gen2 device tree support PCI: rcar: Add R-Car PCIe device tree bindings PCI: rcar: Add MSI support for PCIe PCI: rcar: Add Renesas R-Car PCIe driver PCI: rcar: Use new OF interrupt mapping when possible * pci/amd-numa: x86/PCI: Clean up and mark early_root_info_init() as deprecated x86/PCI: Work around AMD Fam15h BIOSes that fail to provide _PXM x86/PCI: Warn if we have to "guess" host bridge node information
2014-05-28mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVEPaul Bolle
Since (a few releases before) v2.6.0 there have been checks for CONFIG_MTD_SUPERH_RESERVE. One check is still present. But a Kconfig symbol MTD_SUPERH_RESERVE has never been added. So a few lines of dead code can be removed. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
2014-05-28PCI: Introduce new device binding path using pci_dev.driver_overrideAlex Williamson
The driver_override field allows us to specify the driver for a device rather than relying on the driver to provide a positive match of the device. This shortcuts the existing process of looking up the vendor and device ID, adding them to the driver new_id, binding the device, then removing the ID, but it also provides a couple advantages. First, the above existing process allows the driver to bind to any device matching the new_id for the window where it's enabled. This is often not desired, such as the case of trying to bind a single device to a meta driver like pci-stub or vfio-pci. Using driver_override we can do this deterministically using: echo pci-stub > /sys/bus/pci/devices/0000:03:00.0/driver_override echo 0000:03:00.0 > /sys/bus/pci/devices/0000:03:00.0/driver/unbind echo 0000:03:00.0 > /sys/bus/pci/drivers_probe Previously we could not invoke drivers_probe after adding a device to new_id for a driver as we get non-deterministic behavior whether the driver we intend or the standard driver will claim the device. Now it becomes a deterministic process, only the driver matching driver_override will probe the device. To return the device to the standard driver, we simply clear the driver_override and reprobe the device: echo > /sys/bus/pci/devices/0000:03:00.0/driver_override echo 0000:03:00.0 > /sys/bus/pci/devices/0000:03:00.0/driver/unbind echo 0000:03:00.0 > /sys/bus/pci/drivers_probe Another advantage to this approach is that we can specify a driver override to force a specific binding or prevent any binding. For instance when an IOMMU group is exposed to userspace through VFIO we require that all devices within that group are owned by VFIO. However, devices can be hot-added into an IOMMU group, in which case we want to prevent the device from binding to any driver (override driver = "none") or perhaps have it automatically bind to vfio-pci. With driver_override it's a simple matter for this field to be set internally when the device is first discovered to prevent driver matches. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Reviewed-by: Alexander Graf <agraf@suse.de> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28usb: qcserial: add Netgear AirCard 341UAleksander Morgado
Signed-off-by: Aleksander Morgado <aleksander@aleksander.es> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28xhci: delete endpoints from bandwidth list before freeing whole deviceMathias Nyman
Lists of endpoints are stored for bandwidth calculation for roothub ports. Make sure we remove all endpoints from the list before the whole device, containing its endpoints list_head stuctures, is freed. This used to be done in the wrong order in xhci_mem_cleanup(), and triggered an oops in resume from S4 (hibernate). Cc: stable <stable@vger.kernel.org> Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28PCI: Add bridge DMA alias quirk for ASMedia and Tundra bridgesAlex Williamson
The quirk is intended to be extremely generic, but we only apply it to known offending devices. Link: https://bugzilla.kernel.org/show_bug.cgi?id=44881 Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2014-05-28PCI: Add support for PCIe-to-PCI bridge DMA alias quirksAlex Williamson
Several PCIe-to-PCI bridges fail to provide a PCIe capability, causing us to handle them as conventional PCI devices when they really use the requester ID of the secondary bus. We need to differentiate these from PCIe-to-PCI bridges that actually use the conventional PCI ID when a PCIe capability is not present, such as those found on the root complex of may Intel chipsets. Add a dev_flag bit to identify devices to be handled as standard PCIe-to-PCI bridges. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2014-05-28PCI: Add function 1 DMA alias quirk for Marvell devicesAlex Williamson
Several Marvell devices and a JMicron device have a similar DMA requester ID problem to Ricoh, except they use function 1 as the PCIe requester ID. Add a quirk for these to populate the DMA alias with the correct devfn. Link: https://bugzilla.kernel.org/show_bug.cgi?id=42679 Tested-by: George Spelvin <linux@horizon.com> Tested-by: Andreas Schrägle <ajs124.ajs124@gmail.com> Tested-by: Tobias N <qemu@suppser.de> Tested-by: <daxcore@online.de> Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2014-05-28staging: r8192e_pci: fix htons errorSean MacLennan
A sparse error fixup removed a htons() which is required for the driver to function. This patch puts the htons() back and fixes the sparse warning correctly by changing the left side cast. Signed-off-by: Sean MacLennan <seanm@seanm.ca> Cc: stable <stable@vger.kernel.org> # 3.14 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in usb_ops_linux.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in rtl8723a_hal_init.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in rtw_xmit.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in rtw_wlan_util.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in rtw_sta_mgt.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in rtw_recv.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove redundant casting in rtw_mlme.cSachin Kamat
Casting value returned by k[cmz]alloc is useless. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: dgap: Use EIO instead of ENXIOMark Hounschell
Replaces ENXIO with EIO errno Signed-off-by: Mark Hounschell <markh@compro.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: dgap: Simplify dgap_find_configMark Hounschell
Simplify ugly dgap_find_config function Signed-off-by: Mark Hounschell <markh@compro.net> Tested-by: Mark Hounschell <markh@compro.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: dgap: misc cleanup of NULL conditionalsMark Hounschell
refactors NULL conditionals Signed-off-by: Mark Hounschell <markh@compro.net> Tested-by: Mark Hounschell <markh@compro.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28Staging: rtl8192u: r8192U_wx.c Added {} braces and newlinesChaitanya Hazarey
Added {} braces and newlines to address the following: ERROR: else should follow close brace '}' ERROR: space required before the open brace '{' ERROR: trailing statements should be on next line ERROR: space required before the open parenthesis '(' ERROR: that open brace { should be on the previous line Signed-off-by: Chaitanya Hazarey <c@24.io> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28Staging: rtl8192u: r8192U_wx.c Added missing spacesChaitanya Hazarey
Added spaces needed in the proper places to address: WARNING: please, no spaces at the start of a line WARNING: missing space after struct definition ERROR: spaces required around that '!=' (ctx:WxV) ERROR: spaces required around that '=' (ctx:WxV) ERROR: spaces required around that '=' (ctx:VxW) ERROR: spaces required around that '&&' (ctx:VxV) ERROR: spaces required around that '!=' (ctx:VxV) ERROR: spaces required around that '=' (ctx:VxV) ERROR: spaces required around that '==' (ctx:VxV) ERROR: spaces required around that '<' (ctx:VxV) ERROR: space required before the open parenthesis '(' ERROR: space required before the open brace '{' ERROR: space required after that ',' (ctx:VxV) ERROR: space required after that close brace '}' ERROR: space prohibited before that '--' (ctx:WxO) ERROR: space prohibited before that close parenthesis ')' ERROR: space prohibited after that open parenthesis '(' Signed-off-by: Chaitanya Hazarey <c@24.io> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28rtl8192ee: btcoexist: remove undefined Kconfig macrosPaul Bolle
There are references to four undefined Kconfig macros in the code. Commit 8542373dccd2 ("Staging: rtl8812ae: remove undefined Kconfig macros") removed identical references from another staging driver, but they resurfaced in rtl8192ee. Remove these again as the checks for them still will always evaluate to false. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28Staging/frontier/tranzport: coding style fixesRobin Schroer
added newlines after declarations in two places Signed-off-by: Robin Schroer <sulamiification@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8723au: Remove duplicate inclusion of wlan_bssdef.hSachin Kamat
wlan_bssdef.h was included twice. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: rtl8188eu: Remove unneeded version.h inclusionSachin Kamat
version.h inclusion is not needed as detected by versioncheck. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: adl_pci9111: factor fifo handling out of pci9111_interrupt()H Hartley Sweeten
Factor the fifo half-full handling out of the interrupt function to reduce the indent level of the code. Tidy up the factored out code. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: usbduxfast: remove unreachable code in usbduxfast_ai_cmd()H Hartley Sweeten
The (*do_cmdtest) validates that the 'stop_arg' is >= 1 for a 'stop_src' of TRIG_COUNT and the 'scan_end_arg' is validated to be the 'chanlist_len' which will always be >= 1. Remove the unreachable error code for an 'ai_sample_count < 1'. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcl818: use cfc_bytes_per_scan()H Hartley Sweeten
Use the comedi_fc helper to get the number of bytes per scan. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcl816: use cfc_bytes_per_scan()H Hartley Sweeten
Use the comedi_fc helper to get the number of bytes per scan. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcl812: use cfc_bytes_per_scan()H Hartley Sweeten
Use the comedi_fc helper to get the number of bytes per scan. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: das16: use cfc_bytes_per_scan()H Hartley Sweeten
Use the comedi_fc helper to get the number of bytes per scan. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: amplc_pci230: use cfc_bytes_per_scan()H Hartley Sweeten
Use the comedi_fc helper function to get the 'bytes_per_scan'. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: amplc_pci224: use cfc_bytes_per_scan()H Hartley Sweeten
The cmd->chanlist_len will always be >= 1 in this function. Remove the unnecessary checks. Use the comedi_fc helper function to get the 'bytes_per_scan'. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: comedi_fc: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_subdevice pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: cb_pcidas64: change params to external_ai_queue_in_use()H Hartley Sweeten
The caller already has the comedi_subdevice and comedi_cmd pointers. Pass those variables to the helper function. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: cb_pcidas64: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_async pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: ni_labpc: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_async pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: ni_labpc_isadma: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_async pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: ni_mio_common: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_async pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcl711: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_subdevice pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcl816: fix DMA 'bytes' calculationH Hartley Sweeten
The calculation for the total number of bytes in the DMA transfer is incorrect. Fix it. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcmmio: remove 'continuous' from private dataH Hartley Sweeten
This member of the private data can be determined from the cmd->stop_src. Do that instead and remove the member. Refactor pcmmio_handle_dio_intr() to remove an indent level. For aesthetics, change the switch in pcmmio_cmd() to an if/else. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcmmio: use comedi_cmd pointerH Hartley Sweeten
Use a local variable to access the comedi_cmd as a pointer instead of getting to from the comedi_subdevice pointer. Remove the unnecessary local variables used for the cmd->chanlist_len. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: pcmuio: tidy up local variables in pcmuio_handle_intr_subdev()H Hartley Sweeten
Tidy up the local variables so that the comedi_cmd is accessed as a pointer instead of getting to it from the comedi_subdevice pointer. Remove the local variable 'len' and use the cmd->chanlist_len directly. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: usbduxsigma: use comedi_cmd pointerH Hartley Sweeten
Use the local variable to access the comedi_cmd as a pointer instead of getting to it from the comedi_subdevice pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: ni_65xx: remove commented out local variableH Hartley Sweeten
This function does not use the comedi_cmd. Remove the commented out local variable. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: mite: tidy up local variables in mite_sync_output_dma()H Hartley Sweeten
Tidy up the local variables so that the comedi_cmd is accessed as a pointer instead of getting to it from the comedi_async pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: das1800: use comedi_cmd pointerH Hartley Sweeten
Use the local variable to access the comedi_cmd as a pointer instead of getting to it from the comedi_subdevice pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28staging: comedi: cb_pcidas: use comedi_cmd pointerH Hartley Sweeten
Use the local variable to access the comedi_cmd as a pointer instead of getting to it from the comedi_async pointer. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>