To support "human readable" sysfs attribute, introduce a function to map the dev_type guid to a string. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> --- drivers/staging/hv/channel_mgmt.c | 36 ++++++++++++++++++++++++++++++++++++ drivers/staging/hv/hyperv.h | 2 +- 2 files changed, 37 insertions(+), 1 deletions(-) diff --git a/drivers/staging/hv/channel_mgmt.c b/drivers/staging/hv/channel_mgmt.c index 11beb41..926bc87 100644 --- a/drivers/staging/hv/channel_mgmt.c +++ b/drivers/staging/hv/channel_mgmt.c @@ -112,6 +112,42 @@ static const uuid_le }; +static const char *blk_dev_type = "hv_block"; +static const char *net_dev_type = "hv_net"; +static const char *scsi_dev_type = "hv_scsi"; +static const char *mouse_dev_type = "hv_mouse"; +static const char *util_dev_type = "hv_util"; + +/* + * Map the dev_type guid to a human readable string. + * The indices used in this function are based on + * the table defined earlier - supported_device_classes[] + */ +const char *hv_get_devtype_name(const uuid_le *type) +{ + int i; + + for (i = 0; i < MAX_NUM_DEVICE_CLASSES_SUPPORTED; i++) { + if (!memcmp(type, supported_device_classes[i].b, + sizeof(uuid_le))) { + switch (i) { + case 0: + return scsi_dev_type; + case 1: + return net_dev_type; + case 2: + return mouse_dev_type; + case 3: + return blk_dev_type; + } + } + } + /* + * Currently the util driver is used + * to handle all these devices. + */ + return util_dev_type; +} /** * prep_negotiate_resp() - Create default response for Hyper-V Negotiate message diff --git a/drivers/staging/hv/hyperv.h b/drivers/staging/hv/hyperv.h index 60ead66..c4a9f38 100644 --- a/drivers/staging/hv/hyperv.h +++ b/drivers/staging/hv/hyperv.h @@ -942,5 +942,5 @@ extern void prep_negotiate_resp(struct icmsg_hdr *, struct icmsg_negotiate *, u8 *); extern void chn_cb_negotiate(void *); extern struct hyperv_service_callback hv_cb_utils[]; - +const char *hv_get_devtype_name(const uuid_le *type); #endif /* _HYPERV_H */ -- 1.7.4.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel