Commit f32361b7 authored by Benjamin Tissoires's avatar Benjamin Tissoires Committed by Dmitry Torokhov

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: default avatarAndrew Duggan <aduggan@synaptics.com>
Signed-off-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent ce363f0d
...@@ -266,6 +266,19 @@ static int rmi_irq_init(struct rmi_device *rmi_dev) ...@@ -266,6 +266,19 @@ static int rmi_irq_init(struct rmi_device *rmi_dev)
return 0; 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) static int suspend_one_function(struct rmi_function *fn)
{ {
struct rmi_function_handler *fh; struct rmi_function_handler *fh;
......
...@@ -93,6 +93,7 @@ bool rmi_is_physical_driver(struct device_driver *); ...@@ -93,6 +93,7 @@ bool rmi_is_physical_driver(struct device_driver *);
int rmi_register_physical_driver(void); int rmi_register_physical_driver(void);
void rmi_unregister_physical_driver(void); void rmi_unregister_physical_driver(void);
void rmi_free_function_list(struct rmi_device *rmi_dev); void rmi_free_function_list(struct rmi_device *rmi_dev);
struct rmi_function *rmi_find_function(struct rmi_device *rmi_dev, u8 number);
int rmi_enable_sensor(struct rmi_device *rmi_dev); int rmi_enable_sensor(struct rmi_device *rmi_dev);
int rmi_scan_pdt(struct rmi_device *rmi_dev, void *ctx, int rmi_scan_pdt(struct rmi_device *rmi_dev, void *ctx,
int (*callback)(struct rmi_device *rmi_dev, void *ctx, int (*callback)(struct rmi_device *rmi_dev, void *ctx,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment