Lines Matching refs:as5011

18 #include <linux/input/as5011.h>
23 #define MODULE_DEVICE_ALIAS "as5011"
116 struct as5011_device *as5011 = dev_id;
117 int val = gpio_get_value_cansleep(as5011->button_gpio);
119 input_report_key(as5011->input_dev, BTN_JOYSTICK, !val);
120 input_sync(as5011->input_dev);
127 struct as5011_device *as5011 = dev_id;
131 error = as5011_i2c_read(as5011->i2c_client, AS5011_X_RES_INT, &x);
135 error = as5011_i2c_read(as5011->i2c_client, AS5011_Y_RES_INT, &y);
139 input_report_abs(as5011->input_dev, ABS_X, x);
140 input_report_abs(as5011->input_dev, ABS_Y, y);
141 input_sync(as5011->input_dev);
147 static int as5011_configure_chip(struct as5011_device *as5011,
150 struct i2c_client *client = as5011->i2c_client;
219 struct as5011_device *as5011;
241 as5011 = kmalloc(sizeof(struct as5011_device), GFP_KERNEL);
243 if (!as5011 || !input_dev) {
250 as5011->i2c_client = client;
251 as5011->input_dev = input_dev;
252 as5011->button_gpio = plat_data->button_gpio;
253 as5011->axis_irq = plat_data->axis_irq;
255 input_dev->name = "Austria Microsystem as5011 joystick";
263 input_set_abs_params(as5011->input_dev, ABS_Y,
266 error = gpio_request(as5011->button_gpio, "AS5011 button");
272 irq = gpio_to_irq(as5011->button_gpio);
280 as5011->button_irq = irq;
282 error = request_threaded_irq(as5011->button_irq,
286 "as5011_button", as5011);
289 "Can't allocate button irq %d\n", as5011->button_irq);
293 error = as5011_configure_chip(as5011, plat_data);
297 error = request_threaded_irq(as5011->axis_irq, NULL,
300 "as5011_joystick", as5011);
307 error = input_register_device(as5011->input_dev);
313 i2c_set_clientdata(client, as5011);
318 free_irq(as5011->axis_irq, as5011);
320 free_irq(as5011->button_irq, as5011);
322 gpio_free(as5011->button_gpio);
325 kfree(as5011);
332 struct as5011_device *as5011 = i2c_get_clientdata(client);
334 free_irq(as5011->axis_irq, as5011);
335 free_irq(as5011->button_irq, as5011);
336 gpio_free(as5011->button_gpio);
338 input_unregister_device(as5011->input_dev);
339 kfree(as5011);
352 .name = "as5011",