summaryrefslogtreecommitdiffstats
path: root/drivers/staging/fsl-mc/include
AgeCommit message (Collapse)AuthorFilesLines
2018-07-24staging: fsl-mc: Move DPIO from staging to drivers/soc/fslRoy Pledge3-730/+0
Move the NXP DPIO (Datapath I/O Driver) out of the drivers/staging directory and into the drivers/soc/fsl directory. The DPIO driver enables access to Queue and Buffer Manager (QBMAN) hardware on NXP DPAA2 devices. This is a prerequisite to moving the DPAA2 Ethernet driver out of staging. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Reviewed-by: Horia Geantă <horia.geanta@nxp.com> Reviewed-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
2018-07-24staging: fsl-dpaa2: eth: move generic FD defines to DPIOHoria Geantă1-0/+12
Previous commits: commit 6e2387e8f19e ("staging: fsl-dpaa2/eth: Add Freescale DPAA2 Ethernet driver") commit 39163c0ce0f4 ("staging: fsl-dpaa2/eth: Errors checking update") have added bits that are not specific to the WRIOP accelerator. Move these where they belong (in DPIO) such that other accelerators can make use of them. Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Acked-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
2018-04-23drivers/staging/fsl-mc: Use devm_memremap/devm_ioremap for DPIORoy Pledge1-1/+1
Change the mapping of the QBMan cache enabled area from using ioremap_wc() to devm_memremap(). This allows the __iomem attribute to be removed from the pointer (which makes sense as accesses treat this as cacheable memory not IO memory). These changes allow sparse checks to pass. Also use devm_ioremap() for the cache inhibited area so unmap occurs automatically when the device is released. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-14staging: fsl-mc: Move DPCON out of stagingBogdan Purcareata1-79/+0
Move the source files out of staging into their final locations: - dpcon.c goes to drivers/bus/fsl-mc/, next to the core infrastructure - dpcon-cmd.h gets merged into drivers/bus/fsl-mc/fsl-mc-private.h, next to the other internally used APIs - dpcon.h gets merged into include/linux/fsl/mc.h, exposing the public API Update references in the dpaa2-eth staging driver. DPCON stands for Data Path Concentrator - an interface between DPIO (Data Path IO) and its users (e.g. dpaa2-eth). You can read more about DPIO in Documentation/networking/dpaa2/overview.rst Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-14staging: fsl-mc: Move DPBP out of stagingBogdan Purcareata1-53/+0
Move the source files out of staging into their final locations: - dpbp.c goes to drivers/bus/fsl-mc/, next to the core infrastructure - dpbp-cmd.h gets merged into drivers/bus/fsl-mc/fsl-mc-private.h, next to the other internally used APIs - dpbp.h gets merged into include/linux/fsl/mc.h, exposing the public API Update references in the dpaa2-eth staging driver. DPBP stands for Data Path Buffer Pool - you can read more about the object in Documentation/networking/dpaa2/overview.rst Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-08staging: fsl-mc/dpio: Add missing argument identifierRoy Pledge1-1/+1
When running checkpatch over the DPIO code the following warning is reported: WARNING: function definition argument 'struct dpaa2_io_notification_ctx *' should also have an identifier name Add the missing identifier. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-08staging: fsl-mc/dpio: Fix cast truncate warningIoana Radulescu1-2/+2
Sparse reports the following warning: drivers/staging/fsl-mc/include/dpaa2-fd.h:421:30: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) Fix this by explicitly masking the value with 0xffff. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-08staging: fsl-mc/dpio: Fix incorrect castIoana Radulescu1-1/+1
Move the cast in dpaa2_sg_get_addr() to the right place. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-01staging: fsl-mc: Cleanup dpbp and dpcon APIBogdan Purcareata1-10/+0
Some functions and associated structures are not used by current code, so remove them. Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-22staging: fsl-mc: Move core bus out of stagingBogdan Purcareata1-454/+0
Move the source files out of staging into their final locations: -mc.h include file in drivers/staging/fsl-mc/include go to include/linux/fsl -source files in drivers/staging/fsl-mc/bus go to drivers/bus/fsl-mc -overview.rst, providing an overview of DPAA2, goes to Documentation/networking/dpaa2/overview.rst Update or delete other remaining staging files -- Makefile, Kconfig, TODO. Update dpaa2_eth and dpio staging drivers. Add integration bits for the documentation build system. Signed-off-by: Stuart Yoder <stuyoder@gmail.com> [rebased, add dpaa2_eth and dpio #include updates] Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> [rebased, split irqchip to separate patch] Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-22staging: fsl-mc: Add SPDX license identifiersBogdan Purcareata6-138/+8
The fsl-mc bus and dpio driver files use a combination of GPL-2.0 and GPL-2.0+ OR BSD-3-Clause licenses. Add SPDX tags and delete the full license text, keeping the existing license for each file. Add GPL-2.0 for Kconfig / Makefile, where not present. Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com> Reviewed-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-01-08staging: fsl-mc/dpio: Add dpaa2_io_service_select() APIIoana Radulescu1-0/+2
All DPIO service API functions receive a dpaa2_io service pointer as parameter (NULL meaning any service will do) which indicates the hardware resource to be used to execute the specified command. There isn't however any available API for obtaining such a service reference that could be used further, effectively forcing the users to always request a random service for DPIO operations. (The DPIO driver holds internally an array mapping services to cpus, and affine services can be indirectly requested by a couple of API functions: dpaa2_io_service_register and dpaa2_io_service_rearm use the cpu id provided by the user to select the corresponding service) This patch adds a function for selecting a DPIO service based on the specified cpu id. If the user provides a "don't care" value for the cpu, we revert to the default behavior and return the next DPIO, taken in a round-robin fashion from a list of available services. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Acked-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-28staging: fsl-mc: use 32bits to support 64K size mc-portalsBharat Bhushan1-1/+1
As per APIs each mc-portal is of 64K size while currently 16bits (type u16) is used to store size of mc-portal. In these cases upper bit of portal size gets truncated. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@nxp.com> Acked-By: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-27staging: fsl-mc: add support for device typeLaurentiu Tudor1-0/+55
The MC bus has different types of devices and this is supported by device model. This patch adds initial support for device types (defines them, adds helpers and sets the device type). Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-27staging: fsl-mc/dpio: remove couple of unused functionsLaurentiu Tudor1-4/+0
These couple of functions are not yet used so lets remove them for now and add them back when/if needed. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-27staging: fsl-mc: drop unused dpcon APIsLaurentiu Tudor1-10/+0
Couple of API functions are not used so lets drop them together with the associated structures and defines. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-03staging: fsl-mc/dpio: Fix incorrect comparisonIoana Radulescu1-2/+4
For some dpio functions, a cpu id parameter value of -1 is valid and means "any". But when trying to validate this param value against an upper limit, in this case num_possible_cpus(), we risk obtaining the wrong result due to an implicit cast. Avoid an incorrect check result by explicitly comparing the cpu id with the "any" value before verifying the upper bound. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-07-30staging: fsl-mc: include irqreturn.h as neededArnd Bergmann1-0/+1
The recent reshuffling of header files left one type definition missing in some configurations: In file included from drivers/staging/fsl-dpaa2/ethernet/dpaa2-eth.h:39:0, from drivers/staging/fsl-dpaa2/ethernet/dpaa2-ethtool.c:34: drivers/staging/fsl-dpaa2/ethernet/../../fsl-mc/include/dpaa2-io.h:86:1: error: unknown type name 'irqreturn_t'; did you mean 'irq_count'? irqreturn_t dpaa2_io_irq(struct dpaa2_io *obj); I have not bisected this to the exact patch that introduced the problem, but the solution is obvious, we just need to include the header that contains the type. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: make dprc.h header privateLaurentiu Tudor2-269/+0
dprc.h is only used in the mc bus driver so move it together with the sources thus making it private. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: move mc-cmd.h contents in the public headerLaurentiu Tudor2-131/+94
mc-cmd.h contains some low level functions used to encode and decode commands to the MC. They are used by the drivers so move them to the public headers and get rid of the mc-cmd.h header. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: move mc-sys.h contents in the public headerLaurentiu Tudor2-98/+53
mc-sys.h contains the API to send commands to the MC and is used by drivers. Move it to the public headers and get rid of the mc-sys.h header. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: remove dpmng API filesLaurentiu Tudor1-67/+0
dpmng.h & dpmng.c files expose an API of just one function which is only used by the bus driver. Move that single API in the bus source as static and remove the two files. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: move rest of mc-bus.h to private headerLaurentiu Tudor1-77/+0
All the mc-bus.h contents is only used privately in the bus driver so move everything to the private header and get rid of the mc-bus.h header file. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: move couple of definitions to public headerLaurentiu Tudor2-9/+9
Define dev_is_fsl_mc() and the bus type definition (fsl_mc_bus_type) are used externally so move them to the public header. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: move irq domain creation prototype to public headerLaurentiu Tudor2-7/+7
fsl_mc_msi_create_irq_domain() will is used from the irqchip glue code so it needs to be in the public headers. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: turn several exported functions staticLaurentiu Tudor1-8/+0
They are never used outside the source they are implemented in and very likely never will, so it's safe to make them static. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: delete prototype of unimplemented functionLaurentiu Tudor1-2/+0
The function fsl_mc_bus_exists() has a prototype but is never implemented so delete it from the header file. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: delete duplicated function prototypesLaurentiu Tudor1-8/+0
These functions already have their prototypes in fsl-mc-private.h header file so delete them from mc-bus.h. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-29staging: fsl-mc: decouple the mc-bus public headers from dprc.hLaurentiu Tudor2-44/+43
In its current form, the public headers of the mc-bus depend only on a structure "dprc_obj_desc" defined in dprc.h. Move it to the bus public header together with its associated defines and, in order to keep the naming prefixes consistent rename it to "fsl_mc_obj_desc". This will allow making dprc.h private in future patches. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: decouple the mc-bus public headers from dprc.h"Greg Kroah-Hartman2-43/+44
This reverts commit c6ce019edb0c9c09b8150011d4f66181952631e9. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: delete duplicated function prototypes"Greg Kroah-Hartman1-0/+8
This reverts commit 48d3cfb3189a88e1670f609f8bd7d55839d531cf. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: delete prototype of unimplemented function"Greg Kroah-Hartman1-0/+2
This reverts commit be6faff74cda2ac1838c0f85dca3c3ce4975fa73. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: turn several exported functions static"Greg Kroah-Hartman1-0/+8
This reverts commit 10a8593a76c7719e110e334f84a6ef2068dd4c0f. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: move irq domain creation prototype to public header"Greg Kroah-Hartman2-7/+7
This reverts commit b32cdde14edec1c75a2190a39e810bf41fa29a7a. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: move couple of definitions to public header"Greg Kroah-Hartman2-9/+9
This reverts commit 7eba570ece326ea0da2da72f1d4142100c145827. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: move rest of mc-bus.h to private header"Greg Kroah-Hartman1-0/+77
This reverts commit af4376710cc5188c42eb473676f6c9d2a16692c4. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: remove dpmng API files"Greg Kroah-Hartman1-0/+67
This reverts commit b065307fe0ad7859f01ce8560e6bdc590324561a. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: move mc-sys.h contents in the public header"Greg Kroah-Hartman2-53/+98
This reverts commit 7d6e221d73904aedcbd46ce2db6a545be55d2296. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: move mc-cmd.h contents in the public header"Greg Kroah-Hartman2-94/+131
This reverts commit 9b1aa45539fb8389deb79e4a939bfc05ee45aeb5. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-26Revert "staging: fsl-mc: make dprc.h header private"Greg Kroah-Hartman2-0/+269
This reverts commit 1877e4ba2d0890244284eea101681b6f990aa2be. The whole series is broken, so back it all out. Reported-by: kbuild test robot <fengguang.wu@intel.com> Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: make dprc.h header privateLaurentiu Tudor2-269/+0
dprc.h is only used in the mc bus driver so move it together with the sources thus making it private. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: move mc-cmd.h contents in the public headerLaurentiu Tudor2-131/+94
mc-cmd.h contains some low level functions used to encode and decode commands to the MC. They are used by the drivers so move them to the public headers and get rid of the mc-cmd.h header. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: move mc-sys.h contents in the public headerLaurentiu Tudor2-98/+53
mc-sys.h contains the API to send commands to the MC and is used by drivers. Move it to the public headers and get rid of the mc-sys.h header. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: remove dpmng API filesLaurentiu Tudor1-67/+0
dpmng.h & dpmng.c files expose an API of just one function which is only used by the bus driver. Move that single API in the bus source as static and remove the two files. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: move rest of mc-bus.h to private headerLaurentiu Tudor1-77/+0
All the mc-bus.h contents is only used privately in the bus driver so move everything to the private header and get rid of the mc-bus.h header file. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: move couple of definitions to public headerLaurentiu Tudor2-9/+9
Define dev_is_fsl_mc() and the bus type definition (fsl_mc_bus_type) are used externally so move them to the public header. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: move irq domain creation prototype to public headerLaurentiu Tudor2-7/+7
fsl_mc_msi_create_irq_domain() will is used from the irqchip glue code so it needs to be in the public headers. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: turn several exported functions staticLaurentiu Tudor1-8/+0
They are never used outside the source they are implemented in and very likely never will, so it's safe to make them static. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: delete prototype of unimplemented functionLaurentiu Tudor1-2/+0
The function fsl_mc_bus_exists() has a prototype but is never implemented so delete it from the header file. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-23staging: fsl-mc: delete duplicated function prototypesLaurentiu Tudor1-8/+0
These functions already have their prototypes in fsl-mc-private.h header file so delete them from mc-bus.h. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>