Lines Matching refs:zhenhua

53 struct zhenhua {  struct
65 static void zhenhua_process_packet(struct zhenhua *zhenhua) in zhenhua_process_packet() argument
67 struct input_dev *dev = zhenhua->dev; in zhenhua_process_packet()
68 unsigned char *data = zhenhua->data; in zhenhua_process_packet()
86 struct zhenhua *zhenhua = serio_get_drvdata(serio); in zhenhua_interrupt() local
93 zhenhua->idx = 0; /* this byte starts a new packet */ in zhenhua_interrupt()
94 else if (zhenhua->idx == 0) in zhenhua_interrupt()
97 if (zhenhua->idx < ZHENHUA_MAX_LENGTH) in zhenhua_interrupt()
98 zhenhua->data[zhenhua->idx++] = bitrev8(data); in zhenhua_interrupt()
100 if (zhenhua->idx == ZHENHUA_MAX_LENGTH) { in zhenhua_interrupt()
101 zhenhua_process_packet(zhenhua); in zhenhua_interrupt()
102 zhenhua->idx = 0; in zhenhua_interrupt()
114 struct zhenhua *zhenhua = serio_get_drvdata(serio); in zhenhua_disconnect() local
118 input_unregister_device(zhenhua->dev); in zhenhua_disconnect()
119 kfree(zhenhua); in zhenhua_disconnect()
130 struct zhenhua *zhenhua; in zhenhua_connect() local
134 zhenhua = kzalloc(sizeof(struct zhenhua), GFP_KERNEL); in zhenhua_connect()
136 if (!zhenhua || !input_dev) in zhenhua_connect()
139 zhenhua->dev = input_dev; in zhenhua_connect()
140 snprintf(zhenhua->phys, sizeof(zhenhua->phys), "%s/input0", serio->phys); in zhenhua_connect()
143 input_dev->phys = zhenhua->phys; in zhenhua_connect()
156 serio_set_drvdata(serio, zhenhua); in zhenhua_connect()
162 err = input_register_device(zhenhua->dev); in zhenhua_connect()
171 kfree(zhenhua); in zhenhua_connect()