summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>2019-03-18 15:14:26 -0400
committerJiri Kosina <jkosina@suse.cz>2019-03-19 06:57:23 -0400
commit5f7224cf418511b9d3c40d35b098d15f9e4e7404 (patch)
treebe098e7a2d10ee9a84bc1b0063be0cfeee021bac
parent51cbc7079ecae545be93c137edeb7453d28b9ec9 (diff)
HID: intel-ish-hid: Move functions related to bus and device
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>
-rw-r--r--drivers/hid/intel-ish-hid/ishtp/bus.c26
-rw-r--r--drivers/hid/intel-ish-hid/ishtp/bus.h11
-rw-r--r--drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h5
-rw-r--r--include/linux/intel-ish-client-if.h12
4 files changed, 38 insertions, 16 deletions
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.c b/drivers/hid/intel-ish-hid/ishtp/bus.c
index 2ca65864192f..66a485a41481 100644
--- a/drivers/hid/intel-ish-hid/ishtp/bus.c
+++ b/drivers/hid/intel-ish-hid/ishtp/bus.c
@@ -171,6 +171,19 @@ struct ishtp_fw_client *ishtp_fw_cl_get_client(struct ishtp_device *dev,
171EXPORT_SYMBOL(ishtp_fw_cl_get_client); 171EXPORT_SYMBOL(ishtp_fw_cl_get_client);
172 172
173/** 173/**
174 * ishtp_get_fw_client_id() - Get fw client id
175 *
176 * This interface is used to reset HW get FW client id.
177 *
178 * Return: firmware client id.
179 */
180int ishtp_get_fw_client_id(struct ishtp_fw_client *fw_client)
181{
182 return fw_client->client_id;
183}
184EXPORT_SYMBOL(ishtp_get_fw_client_id);
185
186/**
174 * ishtp_fw_cl_by_id() - return index to fw_clients for client_id 187 * ishtp_fw_cl_by_id() - return index to fw_clients for client_id
175 * @dev: the ishtp device structure 188 * @dev: the ishtp device structure
176 * @client_id: fw client id to search 189 * @client_id: fw client id to search
@@ -856,6 +869,19 @@ void *ishtp_trace_callback(struct ishtp_cl_device *cl_device)
856EXPORT_SYMBOL(ishtp_trace_callback); 869EXPORT_SYMBOL(ishtp_trace_callback);
857 870
858/** 871/**
872 * ish_hw_reset() - Call HW reset IPC callback
873 *
874 * This interface is used to reset HW in case of error.
875 *
876 * Return: value from IPC hw_reset callback
877 */
878int ish_hw_reset(struct ishtp_device *dev)
879{
880 return dev->ops->hw_reset(dev);
881}
882EXPORT_SYMBOL(ish_hw_reset);
883
884/**
859 * ishtp_bus_register() - Function to register bus 885 * ishtp_bus_register() - Function to register bus
860 * 886 *
861 * This register ishtp bus 887 * This register ishtp bus
diff --git a/drivers/hid/intel-ish-hid/ishtp/bus.h b/drivers/hid/intel-ish-hid/ishtp/bus.h
index 4aed195719de..93d516f5a853 100644
--- a/drivers/hid/intel-ish-hid/ishtp/bus.h
+++ b/drivers/hid/intel-ish-hid/ishtp/bus.h
@@ -80,16 +80,5 @@ void ishtp_recv(struct ishtp_device *dev);
80void ishtp_reset_handler(struct ishtp_device *dev); 80void ishtp_reset_handler(struct ishtp_device *dev);
81void ishtp_reset_compl_handler(struct ishtp_device *dev); 81void ishtp_reset_compl_handler(struct ishtp_device *dev);
82 82
83void ishtp_put_device(struct ishtp_cl_device *);
84void ishtp_get_device(struct ishtp_cl_device *);
85
86void ishtp_set_drvdata(struct ishtp_cl_device *cl_device, void *data);
87void *ishtp_get_drvdata(struct ishtp_cl_device *cl_device);
88
89int ishtp_register_event_cb(struct ishtp_cl_device *device,
90 void (*read_cb)(struct ishtp_cl_device *));
91int ishtp_fw_cl_by_uuid(struct ishtp_device *dev, const guid_t *cuuid); 83int ishtp_fw_cl_by_uuid(struct ishtp_device *dev, const guid_t *cuuid);
92struct ishtp_fw_client *ishtp_fw_cl_get_client(struct ishtp_device *dev,
93 const guid_t *uuid);
94
95#endif /* _LINUX_ISHTP_CL_BUS_H */ 84#endif /* _LINUX_ISHTP_CL_BUS_H */
diff --git a/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h b/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h
index e0a320e67a41..3cfef084b9fc 100644
--- a/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h
+++ b/drivers/hid/intel-ish-hid/ishtp/ishtp-dev.h
@@ -238,11 +238,6 @@ static inline int ish_ipc_reset(struct ishtp_device *dev)
238 return dev->ops->ipc_reset(dev); 238 return dev->ops->ipc_reset(dev);
239} 239}
240 240
241static inline int ish_hw_reset(struct ishtp_device *dev)
242{
243 return dev->ops->hw_reset(dev);
244}
245
246/* Exported function */ 241/* Exported function */
247void ishtp_device_init(struct ishtp_device *dev); 242void ishtp_device_init(struct ishtp_device *dev);
248int ishtp_start(struct ishtp_device *dev); 243int ishtp_start(struct ishtp_device *dev);
diff --git a/include/linux/intel-ish-client-if.h b/include/linux/intel-ish-client-if.h
index 526e3048e09f..e98bfbb1e07e 100644
--- a/include/linux/intel-ish-client-if.h
+++ b/include/linux/intel-ish-client-if.h
@@ -9,7 +9,9 @@
9#define _INTEL_ISH_CLIENT_IF_H_ 9#define _INTEL_ISH_CLIENT_IF_H_
10 10
11struct ishtp_cl_device; 11struct ishtp_cl_device;
12struct ishtp_device;
12struct ishtp_cl; 13struct ishtp_cl;
14struct ishtp_fw_client;
13 15
14/* Client state */ 16/* Client state */
15enum cl_state { 17enum cl_state {
@@ -95,4 +97,14 @@ void ishtp_set_rx_ring_size(struct ishtp_cl *cl, int size);
95void ishtp_set_connection_state(struct ishtp_cl *cl, int state); 97void ishtp_set_connection_state(struct ishtp_cl *cl, int state);
96void ishtp_cl_set_fw_client_id(struct ishtp_cl *cl, int fw_client_id); 98void ishtp_cl_set_fw_client_id(struct ishtp_cl *cl, int fw_client_id);
97 99
100void ishtp_put_device(struct ishtp_cl_device *cl_dev);
101void ishtp_get_device(struct ishtp_cl_device *cl_dev);
102void ishtp_set_drvdata(struct ishtp_cl_device *cl_device, void *data);
103void *ishtp_get_drvdata(struct ishtp_cl_device *cl_device);
104int ishtp_register_event_cb(struct ishtp_cl_device *device,
105 void (*read_cb)(struct ishtp_cl_device *));
106struct ishtp_fw_client *ishtp_fw_cl_get_client(struct ishtp_device *dev,
107 const guid_t *uuid);
108int ishtp_get_fw_client_id(struct ishtp_fw_client *fw_client);
109int ish_hw_reset(struct ishtp_device *dev);
98#endif /* _INTEL_ISH_CLIENT_IF_H_ */ 110#endif /* _INTEL_ISH_CLIENT_IF_H_ */