Lines Matching refs:magellan
38 struct magellan {
66 static void magellan_process_packet(struct magellan* magellan)
68 struct input_dev *dev = magellan->dev;
69 unsigned char *data = magellan->data;
72 if (!magellan->idx) return;
74 switch (magellan->data[0]) {
77 if (magellan->idx != 25) return;
86 if (magellan->idx != 4) return;
99 struct magellan* magellan = serio_get_drvdata(serio);
102 magellan_process_packet(magellan);
103 magellan->idx = 0;
105 if (magellan->idx < MAGELLAN_MAX_LENGTH)
106 magellan->data[magellan->idx++] = data;
117 struct magellan* magellan = serio_get_drvdata(serio);
121 input_unregister_device(magellan->dev);
122 kfree(magellan);
133 struct magellan *magellan;
138 magellan = kzalloc(sizeof(struct magellan), GFP_KERNEL);
140 if (!magellan || !input_dev)
143 magellan->dev = input_dev;
144 snprintf(magellan->phys, sizeof(magellan->phys), "%s/input0", serio->phys);
147 input_dev->phys = magellan->phys;
162 serio_set_drvdata(serio, magellan);
168 err = input_register_device(magellan->dev);
177 kfree(magellan);
199 .name = "magellan",