summaryrefslogtreecommitdiffstats
path: root/drivers/input/rmi4/rmi_driver.c
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2017-02-06 18:57:01 +0100
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-02-06 23:15:42 +0100
commitf32361b71ae5c81b8fb96f796ab947ba2ad17aa8 (patch)
treedf913b70b4717ad957f8b9c5e6c91a1b7aae7c6a /drivers/input/rmi4/rmi_driver.c
parentInput: synaptics-rmi4 - add sysfs interfaces for hardware IDs (diff)
downloadlinux-f32361b71ae5c81b8fb96f796ab947ba2ad17aa8.tar.xz
linux-f32361b71ae5c81b8fb96f796ab947ba2ad17aa8.zip
Input: synaptics-rmi4 - add rmi_find_function()
If a function needs to communicate with an other, it's better to have a way to retrieve this other. Reviewed-by: Andrew Duggan <aduggan@synaptics.com> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/rmi4/rmi_driver.c')
-rw-r--r--drivers/input/rmi4/rmi_driver.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/input/rmi4/rmi_driver.c b/drivers/input/rmi4/rmi_driver.c
index b3985500dd91..23d705be39d4 100644
--- a/drivers/input/rmi4/rmi_driver.c
+++ b/drivers/input/rmi4/rmi_driver.c
@@ -266,6 +266,19 @@ static int rmi_irq_init(struct rmi_device *rmi_dev)
return 0;
}
+struct rmi_function *rmi_find_function(struct rmi_device *rmi_dev, u8 number)
+{
+ struct rmi_driver_data *data = dev_get_drvdata(&rmi_dev->dev);
+ struct rmi_function *entry;
+
+ list_for_each_entry(entry, &data->function_list, node) {
+ if (entry->fd.function_number == number)
+ return entry;
+ }
+
+ return NULL;
+}
+
static int suspend_one_function(struct rmi_function *fn)
{
struct rmi_function_handler *fh;