Lines Matching refs:magellan

54 struct magellan {  struct
82 static void magellan_process_packet(struct magellan* magellan) in magellan_process_packet() argument
84 struct input_dev *dev = magellan->dev; in magellan_process_packet()
85 unsigned char *data = magellan->data; in magellan_process_packet()
88 if (!magellan->idx) return; in magellan_process_packet()
90 switch (magellan->data[0]) { in magellan_process_packet()
93 if (magellan->idx != 25) return; in magellan_process_packet()
102 if (magellan->idx != 4) return; in magellan_process_packet()
115 struct magellan* magellan = serio_get_drvdata(serio); in magellan_interrupt() local
118 magellan_process_packet(magellan); in magellan_interrupt()
119 magellan->idx = 0; in magellan_interrupt()
121 if (magellan->idx < MAGELLAN_MAX_LENGTH) in magellan_interrupt()
122 magellan->data[magellan->idx++] = data; in magellan_interrupt()
133 struct magellan* magellan = serio_get_drvdata(serio); in magellan_disconnect() local
137 input_unregister_device(magellan->dev); in magellan_disconnect()
138 kfree(magellan); in magellan_disconnect()
149 struct magellan *magellan; in magellan_connect() local
154 magellan = kzalloc(sizeof(struct magellan), GFP_KERNEL); in magellan_connect()
156 if (!magellan || !input_dev) in magellan_connect()
159 magellan->dev = input_dev; in magellan_connect()
160 snprintf(magellan->phys, sizeof(magellan->phys), "%s/input0", serio->phys); in magellan_connect()
163 input_dev->phys = magellan->phys; in magellan_connect()
178 serio_set_drvdata(serio, magellan); in magellan_connect()
184 err = input_register_device(magellan->dev); in magellan_connect()
193 kfree(magellan); in magellan_connect()