drivers/input/mouse/cypress_ps2.h

Source file repositories/reference/linux-study-clean/drivers/input/mouse/cypress_ps2.h

File Facts

System
Linux kernel
Corpus path
drivers/input/mouse/cypress_ps2.h
Extension
.h
Size
5964 bytes
Lines
171
Domain
Driver Families
Bucket
drivers/input
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct cytp_contact {
	int x;
	int y;
	int z;  /* also named as touch pressure. */
};

/* The structure of Cypress Trackpad event data. */
struct cytp_report_data {
	int contact_cnt;
	struct cytp_contact contacts[CYTP_MAX_MT_SLOTS];
	unsigned int left:1;
	unsigned int right:1;
	unsigned int middle:1;
	unsigned int tap:1;  /* multi-finger tap detected. */
};

/* The structure of Cypress Trackpad device private data. */
struct cytp_data {
	int fw_version;

	int pkt_size;
	int mode;

	int tp_min_pressure;
	int tp_max_pressure;
	int tp_width;  /* X direction physical size in mm. */
	int tp_high;  /* Y direction physical size in mm. */
	int tp_max_abs_x;  /* Max X absolute units that can be reported. */
	int tp_max_abs_y;  /* Max Y absolute units that can be reported. */

	int tp_res_x;  /* X resolution in units/mm. */
	int tp_res_y;  /* Y resolution in units/mm. */

	int tp_metrics_supported;
};


int cypress_detect(struct psmouse *psmouse, bool set_properties);
int cypress_init(struct psmouse *psmouse);

#endif  /* _CYPRESS_PS2_H */

Annotation

Implementation Notes