magellan.c (513b046c96cc2fbce730a3474f6f7ff0c4fdd05c) | magellan.c (127278ce2254c61f1346500374d61e33f74a8729) |
---|---|
1/* 2 * $Id: magellan.c,v 1.16 2002/01/22 20:28:39 vojtech Exp $ 3 * 4 * Copyright (c) 1999-2001 Vojtech Pavlik 5 */ 6 7/* 8 * Magellan and Space Mouse 6dof controller driver for Linux --- 143 unchanged lines hidden (view full) --- 152 struct magellan *magellan; 153 struct input_dev *input_dev; 154 int err = -ENOMEM; 155 int i; 156 157 magellan = kzalloc(sizeof(struct magellan), GFP_KERNEL); 158 input_dev = input_allocate_device(); 159 if (!magellan || !input_dev) | 1/* 2 * $Id: magellan.c,v 1.16 2002/01/22 20:28:39 vojtech Exp $ 3 * 4 * Copyright (c) 1999-2001 Vojtech Pavlik 5 */ 6 7/* 8 * Magellan and Space Mouse 6dof controller driver for Linux --- 143 unchanged lines hidden (view full) --- 152 struct magellan *magellan; 153 struct input_dev *input_dev; 154 int err = -ENOMEM; 155 int i; 156 157 magellan = kzalloc(sizeof(struct magellan), GFP_KERNEL); 158 input_dev = input_allocate_device(); 159 if (!magellan || !input_dev) |
160 goto fail; | 160 goto fail1; |
161 162 magellan->dev = input_dev; 163 snprintf(magellan->phys, sizeof(magellan->phys), "%s/input0", serio->phys); 164 165 input_dev->name = "LogiCad3D Magellan / SpaceMouse"; 166 input_dev->phys = magellan->phys; 167 input_dev->id.bustype = BUS_RS232; 168 input_dev->id.vendor = SERIO_MAGELLAN; --- 9 unchanged lines hidden (view full) --- 178 179 for (i = 0; i < 6; i++) 180 input_set_abs_params(input_dev, magellan_axes[i], -360, 360, 0, 0); 181 182 serio_set_drvdata(serio, magellan); 183 184 err = serio_open(serio, drv); 185 if (err) | 161 162 magellan->dev = input_dev; 163 snprintf(magellan->phys, sizeof(magellan->phys), "%s/input0", serio->phys); 164 165 input_dev->name = "LogiCad3D Magellan / SpaceMouse"; 166 input_dev->phys = magellan->phys; 167 input_dev->id.bustype = BUS_RS232; 168 input_dev->id.vendor = SERIO_MAGELLAN; --- 9 unchanged lines hidden (view full) --- 178 179 for (i = 0; i < 6; i++) 180 input_set_abs_params(input_dev, magellan_axes[i], -360, 360, 0, 0); 181 182 serio_set_drvdata(serio, magellan); 183 184 err = serio_open(serio, drv); 185 if (err) |
186 goto fail; | 186 goto fail2; |
187 | 187 |
188 input_register_device(magellan->dev); | 188 err = input_register_device(magellan->dev); 189 if (err) 190 goto fail3; 191 |
189 return 0; 190 | 192 return 0; 193 |
191 fail: serio_set_drvdata(serio, NULL); 192 input_free_device(input_dev); | 194 fail3: serio_close(serio); 195 fail2: serio_set_drvdata(serio, NULL); 196 fail1: input_free_device(input_dev); |
193 kfree(magellan); 194 return err; 195} 196 197/* 198 * The serio driver structure. 199 */ 200 --- 40 unchanged lines hidden --- | 197 kfree(magellan); 198 return err; 199} 200 201/* 202 * The serio driver structure. 203 */ 204 --- 40 unchanged lines hidden --- |