diff options
author | Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> | 2019-03-18 12:14:22 -0700 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2019-03-19 11:57:23 +0100 |
commit | e00a864f976ab2646929ae82aa65ccd05a4f7539 (patch) | |
tree | 6d879843fd2779a82a0b813b46acda0106cc3ee7 /include/linux/intel-ish-client-if.h | |
parent | c2012ec06204b1c92c7ed683ac36d53472a37be4 (diff) | |
download | lwn-e00a864f976ab2646929ae82aa65ccd05a4f7539.tar.gz lwn-e00a864f976ab2646929ae82aa65ccd05a4f7539.zip |
HID: intel-ish-hid: Move driver registry functions
Move the driver registry with the ishtp bus to the common interface
file, which clients can include.
Also rename __ishtp_cl_driver_register() to ishtp_cl_driver_register()
and removed define for ishtp_cl_driver_register.
Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/intel-ish-client-if.h')
-rw-r--r-- | include/linux/intel-ish-client-if.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/include/linux/intel-ish-client-if.h b/include/linux/intel-ish-client-if.h index 11e285172735..abc0b8122f07 100644 --- a/include/linux/intel-ish-client-if.h +++ b/include/linux/intel-ish-client-if.h @@ -10,6 +10,31 @@ struct ishtp_cl_device; +/** + * struct ishtp_cl_device - ISHTP device handle + * @driver: driver instance on a bus + * @name: Name of the device for probe + * @probe: driver callback for device probe + * @remove: driver callback on device removal + * + * Client drivers defines to get probed/removed for ISHTP client device. + */ +struct ishtp_cl_driver { + struct device_driver driver; + const char *name; + const guid_t *guid; + int (*probe)(struct ishtp_cl_device *dev); + int (*remove)(struct ishtp_cl_device *dev); + int (*reset)(struct ishtp_cl_device *dev); + const struct dev_pm_ops *pm; +}; + +int ishtp_cl_driver_register(struct ishtp_cl_driver *driver, + struct module *owner); +void ishtp_cl_driver_unregister(struct ishtp_cl_driver *driver); +int ishtp_register_event_cb(struct ishtp_cl_device *device, + void (*read_cb)(struct ishtp_cl_device *)); + /* Get the device * from ishtp device instance */ struct device *ishtp_device(struct ishtp_cl_device *cl_device); /* Trace interface for clients */ |