summaryrefslogtreecommitdiff
path: root/drivers/misc/mei/mei_dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/mei/mei_dev.h')
-rw-r--r--drivers/misc/mei/mei_dev.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/drivers/misc/mei/mei_dev.h b/drivers/misc/mei/mei_dev.h
index d8634a726990..6d081c496ccc 100644
--- a/drivers/misc/mei/mei_dev.h
+++ b/drivers/misc/mei/mei_dev.h
@@ -470,6 +470,25 @@ struct mei_dev_timeouts {
};
/**
+ * enum mei_dev_kind - device type
+ *
+ * @MEI_DEV_KIND_MEI: basic device
+ * @MEI_DEV_KIND_ITOUCH: itouch support
+ * @MEI_DEV_KIND_GSC: discete graphics content protection
+ * @MEI_DEV_KIND_GSCFI: discete graphics chassis controller
+ * @MEI_DEV_KIND_IVSC: visual sensing controller
+ * @MEI_DEV_KIND_MAX: sentinel
+ */
+enum mei_dev_kind {
+ MEI_DEV_KIND_MEI,
+ MEI_DEV_KIND_ITOUCH,
+ MEI_DEV_KIND_GSC,
+ MEI_DEV_KIND_GSCFI,
+ MEI_DEV_KIND_IVSC,
+ MEI_DEV_KIND_MAX
+};
+
+/**
* struct mei_device - MEI private device struct
*
* @parent : device on a bus
@@ -650,7 +669,7 @@ struct mei_device {
struct list_head device_list;
struct mutex cl_bus_lock;
- const char *kind;
+ enum mei_dev_kind kind;
#if IS_ENABLED(CONFIG_DEBUG_FS)
struct dentry *dbgfs_dir;
@@ -911,8 +930,7 @@ static inline ssize_t mei_fw_status_str(struct mei_device *dev,
*/
static inline bool kind_is_gsc(struct mei_device *dev)
{
- /* check kind for NULL because it may be not set, like at the fist call to hw_start */
- return dev->kind && (strcmp(dev->kind, "gsc") == 0);
+ return dev->kind == MEI_DEV_KIND_GSC;
}
/**
@@ -924,7 +942,6 @@ static inline bool kind_is_gsc(struct mei_device *dev)
*/
static inline bool kind_is_gscfi(struct mei_device *dev)
{
- /* check kind for NULL because it may be not set, like at the fist call to hw_start */
- return dev->kind && (strcmp(dev->kind, "gscfi") == 0);
+ return dev->kind == MEI_DEV_KIND_GSCFI;
}
#endif