.. | .. |
---|
2 | 2 | // Copyright (c) 2011-2017, The Linux Foundation. All rights reserved. |
---|
3 | 3 | // Copyright (c) 2018, Linaro Limited |
---|
4 | 4 | |
---|
5 | | -#include <linux/slab.h> |
---|
6 | | -#include <linux/wait.h> |
---|
7 | | -#include <linux/kernel.h> |
---|
8 | 5 | #include <linux/device.h> |
---|
9 | | -#include <linux/module.h> |
---|
10 | | -#include <linux/sched.h> |
---|
11 | 6 | #include <linux/jiffies.h> |
---|
| 7 | +#include <linux/kernel.h> |
---|
| 8 | +#include <linux/kref.h> |
---|
| 9 | +#include <linux/module.h> |
---|
12 | 10 | #include <linux/of.h> |
---|
13 | 11 | #include <linux/of_platform.h> |
---|
14 | | -#include <linux/kref.h> |
---|
15 | | -#include <linux/wait.h> |
---|
16 | | -#include <linux/soc/qcom/apr.h> |
---|
17 | 12 | #include <linux/platform_device.h> |
---|
| 13 | +#include <linux/sched.h> |
---|
| 14 | +#include <linux/slab.h> |
---|
| 15 | +#include <linux/soc/qcom/apr.h> |
---|
| 16 | +#include <linux/wait.h> |
---|
18 | 17 | #include <sound/asound.h> |
---|
19 | 18 | #include "q6adm.h" |
---|
20 | 19 | #include "q6afe.h" |
---|
21 | 20 | #include "q6core.h" |
---|
22 | | -#include "q6dsp-errno.h" |
---|
23 | 21 | #include "q6dsp-common.h" |
---|
| 22 | +#include "q6dsp-errno.h" |
---|
24 | 23 | |
---|
25 | 24 | #define ADM_CMD_DEVICE_OPEN_V5 0x00010326 |
---|
26 | 25 | #define ADM_CMDRSP_DEVICE_OPEN_V5 0x00010329 |
---|
.. | .. |
---|
218 | 217 | idx = find_first_zero_bit(&adm->copp_bitmap[port_idx], |
---|
219 | 218 | MAX_COPPS_PER_PORT); |
---|
220 | 219 | |
---|
221 | | - if (idx > MAX_COPPS_PER_PORT) |
---|
| 220 | + if (idx >= MAX_COPPS_PER_PORT) |
---|
222 | 221 | return ERR_PTR(-EBUSY); |
---|
223 | 222 | |
---|
224 | 223 | c = kzalloc(sizeof(*c), GFP_ATOMIC); |
---|
.. | .. |
---|
404 | 403 | |
---|
405 | 404 | spin_lock_irqsave(&adm->copps_list_lock, flags); |
---|
406 | 405 | copp = q6adm_alloc_copp(adm, port_id); |
---|
407 | | - if (IS_ERR_OR_NULL(copp)) { |
---|
| 406 | + if (IS_ERR(copp)) { |
---|
408 | 407 | spin_unlock_irqrestore(&adm->copps_list_lock, flags); |
---|
409 | 408 | return ERR_CAST(copp); |
---|
410 | 409 | } |
---|
.. | .. |
---|
419 | 418 | copp->channels = channel_mode; |
---|
420 | 419 | copp->bit_width = bit_width; |
---|
421 | 420 | copp->app_type = app_type; |
---|
422 | | - |
---|
423 | 421 | |
---|
424 | 422 | ret = q6adm_device_open(adm, copp, port_id, path, topology, |
---|
425 | 423 | channel_mode, bit_width, rate); |
---|
.. | .. |
---|
589 | 587 | struct device *dev = &adev->dev; |
---|
590 | 588 | struct q6adm *adm; |
---|
591 | 589 | |
---|
592 | | - adm = devm_kzalloc(&adev->dev, sizeof(*adm), GFP_KERNEL); |
---|
| 590 | + adm = devm_kzalloc(dev, sizeof(*adm), GFP_KERNEL); |
---|
593 | 591 | if (!adm) |
---|
594 | 592 | return -ENOMEM; |
---|
595 | 593 | |
---|
596 | 594 | adm->apr = adev; |
---|
597 | | - dev_set_drvdata(&adev->dev, adm); |
---|
| 595 | + dev_set_drvdata(dev, adm); |
---|
598 | 596 | adm->dev = dev; |
---|
599 | 597 | q6core_get_svc_api_info(adev->svc_id, &adm->ainfo); |
---|
600 | 598 | mutex_init(&adm->lock); |
---|
.. | .. |
---|
613 | 611 | return 0; |
---|
614 | 612 | } |
---|
615 | 613 | |
---|
| 614 | +#ifdef CONFIG_OF |
---|
616 | 615 | static const struct of_device_id q6adm_device_id[] = { |
---|
617 | 616 | { .compatible = "qcom,q6adm" }, |
---|
618 | 617 | {}, |
---|
619 | 618 | }; |
---|
620 | 619 | MODULE_DEVICE_TABLE(of, q6adm_device_id); |
---|
| 620 | +#endif |
---|
621 | 621 | |
---|
622 | 622 | static struct apr_driver qcom_q6adm_driver = { |
---|
623 | 623 | .probe = q6adm_probe, |
---|