OSDN Git Service

greybus: loopback: fix 64-bit divisions
authorJohan Hovold <johan@hovoldconsulting.com>
Thu, 16 Apr 2015 07:53:59 +0000 (09:53 +0200)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 16 Apr 2015 08:26:33 +0000 (10:26 +0200)
commit1ffc12be5549085faac2d6116f666cb9cbcb2930
tree1f63afbd377d2e7c6255806c0cdd0110de2ef090
parentdcd1dadd7ee32b3fd135904fac85c556bac5cbc5
greybus: loopback: fix 64-bit divisions

The code uses 64-bit divisions, which should be avoided, and also
prevents the module from loading on 32-bit systems:

gb_loopback: Unknown symbol __aeabi_uldivmod (err 0)

Fix by using the kernel's 64-bit by 32-bit division implementation
do_div.

Compile tested only. I did not look very closely at the code itself.
Perhaps this could be worked around in some other way, but this silences
the linker warning and allows the module to be loaded.

Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/loopback.c