HID: intel-ish-hid: ishtp: add helper function for driver data get/set
authorEven Xu <even.xu@intel.com>
Tue, 11 Sep 2018 23:44:13 +0000 (16:44 -0700)
committerJiri Kosina <jkosina@suse.cz>
Mon, 24 Sep 2018 09:20:06 +0000 (11:20 +0200)
Add helper function ishtp_set_drvdata() and ishtp_get_drvdata() for
different ISH client drivers to set/get private driver data.

Signed-off-by: Even Xu <even.xu@intel.com>
Reviewed-by: Andriy Shevchenko <andriy.shevchenko@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/intel-ish-hid/ishtp/bus.c
drivers/hid/intel-ish-hid/ishtp/bus.h

index 2623a56..d5db5e9 100644 (file)
@@ -564,6 +564,33 @@ void ishtp_put_device(struct ishtp_cl_device *cl_device)
 EXPORT_SYMBOL(ishtp_put_device);
 
 /**
+ * ishtp_set_drvdata() - set client driver data
+ * @cl_device: client device instance
+ * @data:      driver data need to be set
+ *
+ * Set client driver data to cl_device->driver_data.
+ */
+void ishtp_set_drvdata(struct ishtp_cl_device *cl_device, void *data)
+{
+       cl_device->driver_data = data;
+}
+EXPORT_SYMBOL(ishtp_set_drvdata);
+
+/**
+ * ishtp_get_drvdata() - get client driver data
+ * @cl_device: client device instance
+ *
+ * Get client driver data from cl_device->driver_data.
+ *
+ * Return: pointer of driver data
+ */
+void *ishtp_get_drvdata(struct ishtp_cl_device *cl_device)
+{
+       return cl_device->driver_data;
+}
+EXPORT_SYMBOL(ishtp_get_drvdata);
+
+/**
  * ishtp_bus_new_client() - Create a new client
  * @dev:       ISHTP device instance
  *
index a1ffae7..8888331 100644 (file)
@@ -101,6 +101,9 @@ void        ishtp_reset_compl_handler(struct ishtp_device *dev);
 void   ishtp_put_device(struct ishtp_cl_device *);
 void   ishtp_get_device(struct ishtp_cl_device *);
 
+void   ishtp_set_drvdata(struct ishtp_cl_device *cl_device, void *data);
+void   *ishtp_get_drvdata(struct ishtp_cl_device *cl_device);
+
 int    __ishtp_cl_driver_register(struct ishtp_cl_driver *driver,
                                   struct module *owner);
 #define ishtp_cl_driver_register(driver)               \