Lines Matching refs:sensor
198 struct mpu3050_sensor *sensor = input_get_drvdata(input); in mpu3050_input_open() local
201 pm_runtime_get(sensor->dev); in mpu3050_input_open()
204 error = i2c_smbus_write_byte_data(sensor->client, MPU3050_INT_CFG, in mpu3050_input_open()
209 pm_runtime_put(sensor->dev); in mpu3050_input_open()
225 struct mpu3050_sensor *sensor = input_get_drvdata(input); in mpu3050_input_close() local
227 pm_runtime_put(sensor->dev); in mpu3050_input_close()
240 struct mpu3050_sensor *sensor = data; in mpu3050_interrupt_thread() local
243 mpu3050_read_xyz(sensor->client, &axis); in mpu3050_interrupt_thread()
245 input_report_abs(sensor->idev, ABS_X, axis.x); in mpu3050_interrupt_thread()
246 input_report_abs(sensor->idev, ABS_Y, axis.y); in mpu3050_interrupt_thread()
247 input_report_abs(sensor->idev, ABS_Z, axis.z); in mpu3050_interrupt_thread()
248 input_sync(sensor->idev); in mpu3050_interrupt_thread()
259 static int mpu3050_hw_init(struct mpu3050_sensor *sensor) in mpu3050_hw_init() argument
261 struct i2c_client *client = sensor->client; in mpu3050_hw_init()
311 struct mpu3050_sensor *sensor; in mpu3050_probe() local
316 sensor = kzalloc(sizeof(struct mpu3050_sensor), GFP_KERNEL); in mpu3050_probe()
318 if (!sensor || !idev) { in mpu3050_probe()
324 sensor->client = client; in mpu3050_probe()
325 sensor->dev = &client->dev; in mpu3050_probe()
326 sensor->idev = idev; in mpu3050_probe()
359 input_set_drvdata(idev, sensor); in mpu3050_probe()
363 error = mpu3050_hw_init(sensor); in mpu3050_probe()
370 "mpu3050", sensor); in mpu3050_probe()
385 i2c_set_clientdata(client, sensor); in mpu3050_probe()
390 free_irq(client->irq, sensor); in mpu3050_probe()
395 kfree(sensor); in mpu3050_probe()
407 struct mpu3050_sensor *sensor = i2c_get_clientdata(client); in mpu3050_remove() local
412 free_irq(client->irq, sensor); in mpu3050_remove()
413 input_unregister_device(sensor->idev); in mpu3050_remove()
414 kfree(sensor); in mpu3050_remove()