diff options
author | Don Zickus <dzickus@redhat.com> | 2015-06-04 09:22:40 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-06-08 13:36:43 -0700 |
commit | 65bd6e4607a19eafbf0d23ce184b6cefc19e317d (patch) | |
tree | 24dd128a7a18e09cc1101562c0396af243e60cf7 /drivers | |
parent | ee983d902ecea8d1d524f3f2505b89a315555abe (diff) | |
download | talos-obmc-linux-65bd6e4607a19eafbf0d23ce184b6cefc19e317d.tar.gz talos-obmc-linux-65bd6e4607a19eafbf0d23ce184b6cefc19e317d.zip |
staging: unisys: Do not use 0 as the default bus root device number
I used 0 as the device id for the bus root, neglecting the fact that
device 0 is a valid id in Unisys's configuration. Modify this to
use UINT_MAX instead as a unique number.
As fallout from this change it was noticed the bus_no and dev_no was not
defined the same way consistently. Fix visorbus.h to use u32 there. Fix
the resulting printk warning too.
Signed-off-by: Don Zickus <dzickus@redhat.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/unisys/include/visorbus.h | 4 | ||||
-rw-r--r-- | drivers/staging/unisys/visorbus/visorbus_main.c | 2 | ||||
-rw-r--r-- | drivers/staging/unisys/visorbus/visorchipset.c | 6 |
3 files changed, 7 insertions, 5 deletions
diff --git a/drivers/staging/unisys/include/visorbus.h b/drivers/staging/unisys/include/visorbus.h index 3152ba47c702..c60f7d41f640 100644 --- a/drivers/staging/unisys/include/visorbus.h +++ b/drivers/staging/unisys/include/visorbus.h @@ -150,8 +150,8 @@ struct visor_device { struct semaphore visordriver_callback_lock; bool pausing; bool resuming; - unsigned long chipset_bus_no; - unsigned long chipset_dev_no; + u32 chipset_bus_no; + u32 chipset_dev_no; struct visorchipset_state state; uuid_le type; uuid_le inst; diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c b/drivers/staging/unisys/visorbus/visorbus_main.c index 19bb355ba1a0..ec3022b5af9b 100644 --- a/drivers/staging/unisys/visorbus/visorbus_main.c +++ b/drivers/staging/unisys/visorbus/visorbus_main.c @@ -572,7 +572,7 @@ static ssize_t client_bus_info_show(struct device *dev, if (vdev->name) partition_name = vdev->name; x = snprintf(p, remain, - "Client device / client driver info for %s partition (vbus #%ld):\n", + "Client device / client driver info for %s partition (vbus #%d):\n", partition_name, vdev->chipset_dev_no); p += x; remain -= x; diff --git a/drivers/staging/unisys/visorbus/visorchipset.c b/drivers/staging/unisys/visorbus/visorchipset.c index 4dd0a075b992..618732b6e2e1 100644 --- a/drivers/staging/unisys/visorbus/visorchipset.c +++ b/drivers/staging/unisys/visorbus/visorchipset.c @@ -56,6 +56,8 @@ #define UNISYS_SPAR_ID_ECX 0x70537379 #define UNISYS_SPAR_ID_EDX 0x34367261 +#define BUS_ROOT_DEVICE UINT_MAX + /* * Module parameters */ @@ -727,8 +729,8 @@ static int match_visorbus_dev_by_id(struct device *dev, void *data) u32 bus_no = id->bus_no; u32 dev_no = id->dev_no; - if (((bus_no == -1) || (vdev->chipset_bus_no == bus_no)) && - ((dev_no == -1) || (vdev->chipset_dev_no == dev_no))) + if ((vdev->chipset_bus_no == bus_no) && + (vdev->chipset_dev_no == dev_no)) return 1; return 0; |