staging: fieldbus: anybus-s: keep device bus id in bus endianness

"Normal" bus structures such as USB or PCI keep device bus ids
in bus endinanness, and driver bus ids in host endianness.
Endianness conversion happens each time bus_match() is called.

Modify anybus-s to conform to this pattern. As a pleasant side-
effect, sparse warnings will now disappear.

This was suggested by Al Viro.

Link: https://lkml.org/lkml/2019/4/30/834
Signed-off-by: Sven Van Asbroeck <TheSven73@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Sven Van Asbroeck 2019-04-30 11:25:14 -04:00 committed by Greg Kroah-Hartman
parent d5d66cfea2
commit be7d6b0360
2 changed files with 4 additions and 5 deletions

View File

@ -17,7 +17,7 @@ struct anybuss_host;
struct anybuss_client {
struct device dev;
struct anybuss_host *host;
u16 fieldbus_type;
__be16 fieldbus_type;
/*
* these can be optionally set by the client to receive event
* notifications from the host.

View File

@ -1173,7 +1173,7 @@ static int anybus_bus_match(struct device *dev,
struct anybuss_client *adev =
to_anybuss_client(dev);
return adrv->fieldbus_type == adev->fieldbus_type;
return adrv->fieldbus_type == be16_to_cpu(adev->fieldbus_type);
}
static int anybus_bus_probe(struct device *dev)
@ -1264,7 +1264,7 @@ anybuss_host_common_probe(struct device *dev,
{
int ret, i;
u8 val[4];
u16 fieldbus_type;
__be16 fieldbus_type;
struct anybuss_host *cd;
cd = devm_kzalloc(dev, sizeof(*cd), GFP_KERNEL);
@ -1348,8 +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);
dev_info(dev, "Fieldbus type: %04X", fieldbus_type);
dev_info(dev, "Fieldbus type: %04X", be16_to_cpu(fieldbus_type));
regmap_bulk_read(cd->regmap, REG_MODULE_SW_V, val, 2);
dev_info(dev, "Module SW version: %02X%02X",
val[0], val[1]);