From 65bd6e4607a19eafbf0d23ce184b6cefc19e317d Mon Sep 17 00:00:00 2001 From: Don Zickus Date: Thu, 4 Jun 2015 09:22:40 -0400 Subject: [PATCH] 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 Signed-off-by: Benjamin Romer Signed-off-by: Greg Kroah-Hartman --- drivers/staging/unisys/include/visorbus.h | 4 ++-- drivers/staging/unisys/visorbus/visorbus_main.c | 2 +- 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; -- 2.39.5