HID: intel-ish-hid: Move functions related to bus and device
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Mon, 18 Mar 2019 19:14:26 +0000 (12:14 -0700)
committerJiri Kosina <jkosina@suse.cz>
Tue, 19 Mar 2019 10:57:23 +0000 (11:57 +0100)
Move function idefinitions related to bus and device to common header file.
Also create new function to get fw client id and move ish_hw_reset() from
inline to exported function.

Signed-off-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
drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h
include/linux/intel-ish-client-if.h

index 2ca6586..66a485a 100644 (file)
@@ -170,6 +170,19 @@ struct ishtp_fw_client *ishtp_fw_cl_get_client(struct ishtp_device *dev,
 }
 EXPORT_SYMBOL(ishtp_fw_cl_get_client);
 
+/**
+ * ishtp_get_fw_client_id() - Get fw client id
+ *
+ * This interface is used to reset HW get FW client id.
+ *
+ * Return: firmware client id.
+ */
+int ishtp_get_fw_client_id(struct ishtp_fw_client *fw_client)
+{
+       return fw_client->client_id;
+}
+EXPORT_SYMBOL(ishtp_get_fw_client_id);
+
 /**
  * ishtp_fw_cl_by_id() - return index to fw_clients for client_id
  * @dev: the ishtp device structure
@@ -855,6 +868,19 @@ void *ishtp_trace_callback(struct ishtp_cl_device *cl_device)
 }
 EXPORT_SYMBOL(ishtp_trace_callback);
 
+/**
+ * ish_hw_reset() - Call HW reset IPC callback
+ *
+ * This interface is used to reset HW in case of error.
+ *
+ * Return: value from IPC hw_reset callback
+ */
+int ish_hw_reset(struct ishtp_device *dev)
+{
+       return dev->ops->hw_reset(dev);
+}
+EXPORT_SYMBOL(ish_hw_reset);
+
 /**
  * ishtp_bus_register() - Function to register bus
  *
index 4aed195..93d516f 100644 (file)
@@ -80,16 +80,5 @@ void ishtp_recv(struct ishtp_device *dev);
 void   ishtp_reset_handler(struct ishtp_device *dev);
 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_register_event_cb(struct ishtp_cl_device *device,
-                               void (*read_cb)(struct ishtp_cl_device *));
 int    ishtp_fw_cl_by_uuid(struct ishtp_device *dev, const guid_t *cuuid);
-struct ishtp_fw_client *ishtp_fw_cl_get_client(struct ishtp_device *dev,
-                                               const guid_t *uuid);
-
 #endif /* _LINUX_ISHTP_CL_BUS_H */
index e0a320e..3cfef08 100644 (file)
@@ -238,11 +238,6 @@ static inline int ish_ipc_reset(struct ishtp_device *dev)
        return dev->ops->ipc_reset(dev);
 }
 
-static inline int ish_hw_reset(struct ishtp_device *dev)
-{
-       return dev->ops->hw_reset(dev);
-}
-
 /* Exported function */
 void   ishtp_device_init(struct ishtp_device *dev);
 int    ishtp_start(struct ishtp_device *dev);
index 526e304..e98bfbb 100644 (file)
@@ -9,7 +9,9 @@
 #define _INTEL_ISH_CLIENT_IF_H_
 
 struct ishtp_cl_device;
+struct ishtp_device;
 struct ishtp_cl;
+struct ishtp_fw_client;
 
 /* Client state */
 enum cl_state {
@@ -95,4 +97,14 @@ void ishtp_set_rx_ring_size(struct ishtp_cl *cl, int size);
 void ishtp_set_connection_state(struct ishtp_cl *cl, int state);
 void ishtp_cl_set_fw_client_id(struct ishtp_cl *cl, int fw_client_id);
 
+void ishtp_put_device(struct ishtp_cl_device *cl_dev);
+void ishtp_get_device(struct ishtp_cl_device *cl_dev);
+void ishtp_set_drvdata(struct ishtp_cl_device *cl_device, void *data);
+void *ishtp_get_drvdata(struct ishtp_cl_device *cl_device);
+int ishtp_register_event_cb(struct ishtp_cl_device *device,
+                               void (*read_cb)(struct ishtp_cl_device *));
+struct ishtp_fw_client *ishtp_fw_cl_get_client(struct ishtp_device *dev,
+                                               const guid_t *uuid);
+int ishtp_get_fw_client_id(struct ishtp_fw_client *fw_client);
+int ish_hw_reset(struct ishtp_device *dev);
 #endif /* _INTEL_ISH_CLIENT_IF_H_ */