While the endiannes is being handled correctly sparse was unhappy with
the missing annotation as be16_to_cpu() expects a __be16. 

Signed-off-by: Nicholas Mc Guire <hof...@osadl.org>
---

Problem reported by sparse

As far as I understand sparse here the __force is actually the only 
solution possible to inform sparse that the endiannes handling is ok

Patch was compile-tested with. x86_64_defconfig + FIELDBUS_DEV=m,
HMS_ANYBUSS_BUS=m

Patch is against 5.1-rc6 (localversion-next is next-20190426)

 drivers/staging/fieldbus/anybuss/host.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/fieldbus/anybuss/host.c 
b/drivers/staging/fieldbus/anybuss/host.c
index 6227daf..278acac 100644
--- a/drivers/staging/fieldbus/anybuss/host.c
+++ b/drivers/staging/fieldbus/anybuss/host.c
@@ -1348,7 +1348,7 @@ anybuss_host_common_probe(struct device *dev,
        add_device_randomness(&val, 4);
        regmap_bulk_read(cd->regmap, REG_FIELDBUS_TYPE, &fieldbus_type,
                         sizeof(fieldbus_type));
-       fieldbus_type = be16_to_cpu(fieldbus_type);
+       fieldbus_type = be16_to_cpu((__force __be16)fieldbus_type);
        dev_info(dev, "Fieldbus type: %04X", fieldbus_type);
        regmap_bulk_read(cd->regmap, REG_MODULE_SW_V, val, 2);
        dev_info(dev, "Module SW version: %02X%02X",
-- 
2.1.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to