Lines Matching refs:zhenhua

69 struct zhenhua {  struct
81 static void zhenhua_process_packet(struct zhenhua *zhenhua) in zhenhua_process_packet() argument
83 struct input_dev *dev = zhenhua->dev; in zhenhua_process_packet()
84 unsigned char *data = zhenhua->data; in zhenhua_process_packet()
102 struct zhenhua *zhenhua = serio_get_drvdata(serio); in zhenhua_interrupt() local
109 zhenhua->idx = 0; /* this byte starts a new packet */ in zhenhua_interrupt()
110 else if (zhenhua->idx == 0) in zhenhua_interrupt()
113 if (zhenhua->idx < ZHENHUA_MAX_LENGTH) in zhenhua_interrupt()
114 zhenhua->data[zhenhua->idx++] = bitrev8(data); in zhenhua_interrupt()
116 if (zhenhua->idx == ZHENHUA_MAX_LENGTH) { in zhenhua_interrupt()
117 zhenhua_process_packet(zhenhua); in zhenhua_interrupt()
118 zhenhua->idx = 0; in zhenhua_interrupt()
130 struct zhenhua *zhenhua = serio_get_drvdata(serio); in zhenhua_disconnect() local
134 input_unregister_device(zhenhua->dev); in zhenhua_disconnect()
135 kfree(zhenhua); in zhenhua_disconnect()
146 struct zhenhua *zhenhua; in zhenhua_connect() local
150 zhenhua = kzalloc(sizeof(struct zhenhua), GFP_KERNEL); in zhenhua_connect()
152 if (!zhenhua || !input_dev) in zhenhua_connect()
155 zhenhua->dev = input_dev; in zhenhua_connect()
156 snprintf(zhenhua->phys, sizeof(zhenhua->phys), "%s/input0", serio->phys); in zhenhua_connect()
159 input_dev->phys = zhenhua->phys; in zhenhua_connect()
172 serio_set_drvdata(serio, zhenhua); in zhenhua_connect()
178 err = input_register_device(zhenhua->dev); in zhenhua_connect()
187 kfree(zhenhua); in zhenhua_connect()