Lines Matching refs:magellan

35 struct magellan {  struct
63 static void magellan_process_packet(struct magellan* magellan) in magellan_process_packet() argument
65 struct input_dev *dev = magellan->dev; in magellan_process_packet()
66 unsigned char *data = magellan->data; in magellan_process_packet()
69 if (!magellan->idx) return; in magellan_process_packet()
71 switch (magellan->data[0]) { in magellan_process_packet()
74 if (magellan->idx != 25) return; in magellan_process_packet()
83 if (magellan->idx != 4) return; in magellan_process_packet()
96 struct magellan* magellan = serio_get_drvdata(serio); in magellan_interrupt() local
99 magellan_process_packet(magellan); in magellan_interrupt()
100 magellan->idx = 0; in magellan_interrupt()
102 if (magellan->idx < MAGELLAN_MAX_LENGTH) in magellan_interrupt()
103 magellan->data[magellan->idx++] = data; in magellan_interrupt()
114 struct magellan* magellan = serio_get_drvdata(serio); in magellan_disconnect() local
118 input_unregister_device(magellan->dev); in magellan_disconnect()
119 kfree(magellan); in magellan_disconnect()
130 struct magellan *magellan; in magellan_connect() local
135 magellan = kzalloc(sizeof(*magellan), GFP_KERNEL); in magellan_connect()
137 if (!magellan || !input_dev) in magellan_connect()
140 magellan->dev = input_dev; in magellan_connect()
141 snprintf(magellan->phys, sizeof(magellan->phys), "%s/input0", serio->phys); in magellan_connect()
144 input_dev->phys = magellan->phys; in magellan_connect()
159 serio_set_drvdata(serio, magellan); in magellan_connect()
165 err = input_register_device(magellan->dev); in magellan_connect()
174 kfree(magellan); in magellan_connect()