12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
- */
- enum qts_client {
- QTS_CLIENT_PRIMARY_TOUCH,
- QTS_CLIENT_SECONDARY_TOUCH,
- QTS_CLIENT_MAX
- };
- enum qts_bus_type {
- QTS_BUS_TYPE_NONE,
- QTS_BUS_TYPE_I2C,
- QTS_BUS_TYPE_SPI,
- QTS_BUS_TYPE_SPI_V2,
- QTS_BUS_TYPE_MAX
- };
- struct qts_vendor_callback_ops {
- int (*suspend)(void *data);
- int (*resume)(void *data);
- int (*enable_touch_irq)(void *data, bool en);
- irqreturn_t (*irq_handler)(int irq, void *data);
- int (*get_irq_num)(void *data);
- int (*pre_la_tui_enable)(void *data);
- int (*post_la_tui_enable)(void *data);
- int (*pre_la_tui_disable)(void *data);
- int (*post_la_tui_disable)(void *data);
- int (*pre_le_tui_enable)(void *data);
- int (*post_le_tui_enable)(void *data);
- int (*pre_le_tui_disable)(void *data);
- int (*post_le_tui_disable)(void *data);
- };
- struct qts_vendor_data {
- struct i2c_client *client;
- struct spi_device *spi;
- void *vendor_data;
- struct qts_vendor_callback_ops qts_vendor_ops;
- u32 client_type;
- u32 bus_type;
- bool schedule_suspend;
- bool schedule_resume;
- };
- int qts_client_register(struct qts_vendor_data qts_vendor_data);
|