.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * KMX61 - Kionix 6-axis Accelerometer/Magnetometer |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (c) 2014, Intel Corporation. |
---|
5 | 6 | * |
---|
6 | | - * This file is subject to the terms and conditions of version 2 of |
---|
7 | | - * the GNU General Public License. See the file COPYING in the main |
---|
8 | | - * directory of this archive for more details. |
---|
9 | | - * |
---|
10 | 7 | * IIO driver for KMX61 (7-bit I2C slave address 0x0E or 0x0F). |
---|
11 | | - * |
---|
12 | 8 | */ |
---|
13 | 9 | |
---|
14 | 10 | #include <linux/module.h> |
---|
.. | .. |
---|
316 | 312 | |
---|
317 | 313 | /** |
---|
318 | 314 | * kmx61_set_mode() - set KMX61 device operating mode |
---|
319 | | - * @data - kmx61 device private data pointer |
---|
320 | | - * @mode - bitmask, indicating operating mode for @device |
---|
321 | | - * @device - bitmask, indicating device for which @mode needs to be set |
---|
322 | | - * @update - update stby bits stored in device's private @data |
---|
| 315 | + * @data: kmx61 device private data pointer |
---|
| 316 | + * @mode: bitmask, indicating operating mode for @device |
---|
| 317 | + * @device: bitmask, indicating device for which @mode needs to be set |
---|
| 318 | + * @update: update stby bits stored in device's private @data |
---|
323 | 319 | * |
---|
324 | 320 | * For each sensor (accelerometer/magnetometer) there are two operating modes |
---|
325 | 321 | * STANDBY and OPERATION. Neither accel nor magn can be disabled independently |
---|
.. | .. |
---|
722 | 718 | |
---|
723 | 719 | /** |
---|
724 | 720 | * kmx61_set_power_state() - set power state for kmx61 @device |
---|
725 | | - * @data - kmx61 device private pointer |
---|
726 | | - * @on - power state to be set for @device |
---|
727 | | - * @device - bitmask indicating device for which @on state needs to be set |
---|
| 721 | + * @data: kmx61 device private pointer |
---|
| 722 | + * @on: power state to be set for @device |
---|
| 723 | + * @device: bitmask indicating device for which @on state needs to be set |
---|
728 | 724 | * |
---|
729 | 725 | * Notice that when ACC power state needs to be set to ON and MAG is in |
---|
730 | 726 | * OPERATION then we know that kmx61_runtime_resume was already called |
---|
.. | .. |
---|
1252 | 1248 | |
---|
1253 | 1249 | kmx61_set_data(indio_dev, data); |
---|
1254 | 1250 | |
---|
1255 | | - indio_dev->dev.parent = &data->client->dev; |
---|
1256 | 1251 | indio_dev->channels = chan; |
---|
1257 | 1252 | indio_dev->num_channels = num_channels; |
---|
1258 | 1253 | indio_dev->name = name; |
---|
.. | .. |
---|
1397 | 1392 | ret = iio_device_register(data->acc_indio_dev); |
---|
1398 | 1393 | if (ret < 0) { |
---|
1399 | 1394 | dev_err(&client->dev, "Failed to register acc iio device\n"); |
---|
1400 | | - goto err_buffer_cleanup_mag; |
---|
| 1395 | + goto err_pm_cleanup; |
---|
1401 | 1396 | } |
---|
1402 | 1397 | |
---|
1403 | 1398 | ret = iio_device_register(data->mag_indio_dev); |
---|
.. | .. |
---|
1410 | 1405 | |
---|
1411 | 1406 | err_iio_unregister_acc: |
---|
1412 | 1407 | iio_device_unregister(data->acc_indio_dev); |
---|
| 1408 | +err_pm_cleanup: |
---|
| 1409 | + pm_runtime_dont_use_autosuspend(&client->dev); |
---|
| 1410 | + pm_runtime_disable(&client->dev); |
---|
1413 | 1411 | err_buffer_cleanup_mag: |
---|
1414 | 1412 | if (client->irq > 0) |
---|
1415 | 1413 | iio_triggered_buffer_cleanup(data->mag_indio_dev); |
---|