|
@@ -41,6 +41,13 @@ void rmi_free_function_list(struct rmi_device *rmi_dev)
|
|
|
|
|
|
rmi_dbg(RMI_DEBUG_CORE, &rmi_dev->dev, "Freeing function list\n");
|
|
|
|
|
|
+ /* Doing it in the reverse order so F01 will be removed last */
|
|
|
+ list_for_each_entry_safe_reverse(fn, tmp,
|
|
|
+ &data->function_list, node) {
|
|
|
+ list_del(&fn->node);
|
|
|
+ rmi_unregister_function(fn);
|
|
|
+ }
|
|
|
+
|
|
|
devm_kfree(&rmi_dev->dev, data->irq_memory);
|
|
|
data->irq_memory = NULL;
|
|
|
data->irq_status = NULL;
|
|
@@ -50,13 +57,6 @@ void rmi_free_function_list(struct rmi_device *rmi_dev)
|
|
|
|
|
|
data->f01_container = NULL;
|
|
|
data->f34_container = NULL;
|
|
|
-
|
|
|
- /* Doing it in the reverse order so F01 will be removed last */
|
|
|
- list_for_each_entry_safe_reverse(fn, tmp,
|
|
|
- &data->function_list, node) {
|
|
|
- list_del(&fn->node);
|
|
|
- rmi_unregister_function(fn);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
static int reset_one_function(struct rmi_function *fn)
|