From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Vishal Sagar <vishal.sagar@xilinx.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org,
linux-arm-kernel@lists.infradead.org,
Michal Simek <monstr@monstr.eu>, Hyun Kwon <hyun.kwon@xilinx.com>
Subject: [xlnx:xlnx_rebase_v5.4 1296/1699] drivers/soc/xilinx/xlnx_vcu_core.c:120 xvcu_core_probe() warn: 'xvcu->aclk' not released on lines: 88.
Date: Wed, 3 Mar 2021 08:31:47 +0300 [thread overview]
Message-ID: <20210303053146.GV2087@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 7958 bytes --]
Hi Vishal,
First bad commit (maybe != root cause):
tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4
head: 700725af75ecddb674ccadf3f6d06b9bd5df79a5
commit: 0b197959bbbdb68e1da974bd013339f08704b178 [1296/1699] staging: xlnxsync: Fix the uapi header license
config: x86_64-randconfig-m001-20210302 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/soc/xilinx/xlnx_vcu_core.c:120 xvcu_core_probe() warn: 'xvcu->aclk' not released on lines: 88.
drivers/usb/dwc3/gadget.c:2140 dwc3_gadget_start() warn: 'irq' not released on lines: 2140.
drivers/usb/dwc3/gadget_hibernation.c:368 gadget_hibernation_interrupt() warn: inconsistent indenting
drivers/gpio/gpio-xilinx.c:698 xgpio_of_probe() warn: missing error code 'status'
vim +120 drivers/soc/xilinx/xlnx_vcu_core.c
461f3f52ff70cf Rajan Vaja 2020-01-13 28 static int xvcu_core_probe(struct platform_device *pdev)
461f3f52ff70cf Rajan Vaja 2020-01-13 29 {
461f3f52ff70cf Rajan Vaja 2020-01-13 30 struct xvcu_device *xvcu;
461f3f52ff70cf Rajan Vaja 2020-01-13 31 struct resource *res;
461f3f52ff70cf Rajan Vaja 2020-01-13 32 int ret;
461f3f52ff70cf Rajan Vaja 2020-01-13 33
461f3f52ff70cf Rajan Vaja 2020-01-13 34 xvcu = devm_kzalloc(&pdev->dev, sizeof(*xvcu), GFP_KERNEL);
461f3f52ff70cf Rajan Vaja 2020-01-13 35 if (!xvcu)
461f3f52ff70cf Rajan Vaja 2020-01-13 36 return -ENOMEM;
461f3f52ff70cf Rajan Vaja 2020-01-13 37
461f3f52ff70cf Rajan Vaja 2020-01-13 38 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "vcu_slcr");
461f3f52ff70cf Rajan Vaja 2020-01-13 39 if (!res) {
461f3f52ff70cf Rajan Vaja 2020-01-13 40 dev_err(&pdev->dev, "get vcu_slcr memory resource failed.\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 41 return -ENODEV;
461f3f52ff70cf Rajan Vaja 2020-01-13 42 }
461f3f52ff70cf Rajan Vaja 2020-01-13 43
461f3f52ff70cf Rajan Vaja 2020-01-13 44 xvcu->vcu_slcr_ba = devm_ioremap_nocache(&pdev->dev, res->start,
461f3f52ff70cf Rajan Vaja 2020-01-13 45 resource_size(res));
461f3f52ff70cf Rajan Vaja 2020-01-13 46 if (!xvcu->vcu_slcr_ba) {
461f3f52ff70cf Rajan Vaja 2020-01-13 47 dev_err(&pdev->dev, "vcu_slcr register mapping failed.\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 48 return -ENOMEM;
461f3f52ff70cf Rajan Vaja 2020-01-13 49 }
461f3f52ff70cf Rajan Vaja 2020-01-13 50
461f3f52ff70cf Rajan Vaja 2020-01-13 51 res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "logicore");
461f3f52ff70cf Rajan Vaja 2020-01-13 52 if (!res) {
461f3f52ff70cf Rajan Vaja 2020-01-13 53 dev_err(&pdev->dev, "get logicore memory resource failed.\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 54 return -ENODEV;
461f3f52ff70cf Rajan Vaja 2020-01-13 55 }
461f3f52ff70cf Rajan Vaja 2020-01-13 56
461f3f52ff70cf Rajan Vaja 2020-01-13 57 xvcu->logicore_reg_ba = devm_ioremap_nocache(&pdev->dev, res->start,
461f3f52ff70cf Rajan Vaja 2020-01-13 58 resource_size(res));
461f3f52ff70cf Rajan Vaja 2020-01-13 59 if (!xvcu->logicore_reg_ba) {
461f3f52ff70cf Rajan Vaja 2020-01-13 60 dev_err(&pdev->dev, "logicore register mapping failed.\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 61 return -ENOMEM;
461f3f52ff70cf Rajan Vaja 2020-01-13 62 }
461f3f52ff70cf Rajan Vaja 2020-01-13 63
461f3f52ff70cf Rajan Vaja 2020-01-13 64 dev_set_drvdata(&pdev->dev, xvcu);
461f3f52ff70cf Rajan Vaja 2020-01-13 65
461f3f52ff70cf Rajan Vaja 2020-01-13 66 xvcu->aclk = devm_clk_get(&pdev->dev, "aclk");
461f3f52ff70cf Rajan Vaja 2020-01-13 67 if (IS_ERR(xvcu->aclk)) {
461f3f52ff70cf Rajan Vaja 2020-01-13 68 dev_err(&pdev->dev, "Could not get aclk clock\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 69 return PTR_ERR(xvcu->aclk);
461f3f52ff70cf Rajan Vaja 2020-01-13 70 }
461f3f52ff70cf Rajan Vaja 2020-01-13 71
461f3f52ff70cf Rajan Vaja 2020-01-13 72 ret = clk_prepare_enable(xvcu->aclk);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
461f3f52ff70cf Rajan Vaja 2020-01-13 73 if (ret) {
461f3f52ff70cf Rajan Vaja 2020-01-13 74 dev_err(&pdev->dev, "aclk clock enable failed\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 75 return ret;
461f3f52ff70cf Rajan Vaja 2020-01-13 76 }
461f3f52ff70cf Rajan Vaja 2020-01-13 77
461f3f52ff70cf Rajan Vaja 2020-01-13 78 /*
461f3f52ff70cf Rajan Vaja 2020-01-13 79 * Do the Gasket isolation and put the VCU out of reset
461f3f52ff70cf Rajan Vaja 2020-01-13 80 * Bit 0 : Gasket isolation
461f3f52ff70cf Rajan Vaja 2020-01-13 81 * Bit 1 : put VCU out of reset
461f3f52ff70cf Rajan Vaja 2020-01-13 82 */
09ffb01764320a Dhaval Shah 2020-01-13 83 xvcu->reset_gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
09ffb01764320a Dhaval Shah 2020-01-13 84 GPIOD_OUT_LOW);
09ffb01764320a Dhaval Shah 2020-01-13 85 if (IS_ERR(xvcu->reset_gpio)) {
09ffb01764320a Dhaval Shah 2020-01-13 86 ret = PTR_ERR(xvcu->reset_gpio);
09ffb01764320a Dhaval Shah 2020-01-13 87 dev_err(&pdev->dev, "failed to get reset gpio for vcu.\n");
disable unprepare the clock?
09ffb01764320a Dhaval Shah 2020-01-13 88 return ret;
09ffb01764320a Dhaval Shah 2020-01-13 89 }
09ffb01764320a Dhaval Shah 2020-01-13 90
09ffb01764320a Dhaval Shah 2020-01-13 91 if (xvcu->reset_gpio) {
09ffb01764320a Dhaval Shah 2020-01-13 92 gpiod_set_value(xvcu->reset_gpio, 0);
09ffb01764320a Dhaval Shah 2020-01-13 93 /* min 2 clock cycle of vcu pll_ref, slowest freq is 33.33KHz */
09ffb01764320a Dhaval Shah 2020-01-13 94 usleep_range(60, 120);
09ffb01764320a Dhaval Shah 2020-01-13 95 gpiod_set_value(xvcu->reset_gpio, 1);
09ffb01764320a Dhaval Shah 2020-01-13 96 usleep_range(60, 120);
09ffb01764320a Dhaval Shah 2020-01-13 97 } else {
09ffb01764320a Dhaval Shah 2020-01-13 98 dev_warn(&pdev->dev, "No reset gpio info from dts for vcu. This may lead to incorrect functionality if VCU isolation is removed post initialization.\n");
09ffb01764320a Dhaval Shah 2020-01-13 99 }
09ffb01764320a Dhaval Shah 2020-01-13 100
461f3f52ff70cf Rajan Vaja 2020-01-13 101 iowrite32(VCU_GASKET_VALUE, xvcu->logicore_reg_ba + VCU_GASKET_INIT);
461f3f52ff70cf Rajan Vaja 2020-01-13 102
461f3f52ff70cf Rajan Vaja 2020-01-13 103 ret = mfd_add_devices(&pdev->dev, PLATFORM_DEVID_NONE, xvcu_devs,
461f3f52ff70cf Rajan Vaja 2020-01-13 104 ARRAY_SIZE(xvcu_devs), NULL, 0, NULL);
461f3f52ff70cf Rajan Vaja 2020-01-13 105 if (ret) {
461f3f52ff70cf Rajan Vaja 2020-01-13 106 dev_err(&pdev->dev, "failed to add MFD devices %d\n", ret);
461f3f52ff70cf Rajan Vaja 2020-01-13 107 goto err_mfd_add_devices;
461f3f52ff70cf Rajan Vaja 2020-01-13 108 }
461f3f52ff70cf Rajan Vaja 2020-01-13 109
461f3f52ff70cf Rajan Vaja 2020-01-13 110 dev_dbg(&pdev->dev, "Successfully added MFD devices\n");
461f3f52ff70cf Rajan Vaja 2020-01-13 111
461f3f52ff70cf Rajan Vaja 2020-01-13 112 return 0;
461f3f52ff70cf Rajan Vaja 2020-01-13 113
461f3f52ff70cf Rajan Vaja 2020-01-13 114 err_mfd_add_devices:
461f3f52ff70cf Rajan Vaja 2020-01-13 115 /* Add the the Gasket isolation and put the VCU in reset. */
461f3f52ff70cf Rajan Vaja 2020-01-13 116 iowrite32(0, xvcu->logicore_reg_ba + VCU_GASKET_INIT);
461f3f52ff70cf Rajan Vaja 2020-01-13 117
461f3f52ff70cf Rajan Vaja 2020-01-13 118 clk_disable_unprepare(xvcu->aclk);
461f3f52ff70cf Rajan Vaja 2020-01-13 119
461f3f52ff70cf Rajan Vaja 2020-01-13 @120 return ret;
461f3f52ff70cf Rajan Vaja 2020-01-13 121 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 34551 bytes --]
[-- Attachment #3: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
reply other threads:[~2021-03-03 21:47 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210303053146.GV2087@kadam \
--to=dan.carpenter@oracle.com \
--cc=hyun.kwon@xilinx.com \
--cc=kbuild-all@lists.01.org \
--cc=kbuild@lists.01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=lkp@intel.com \
--cc=monstr@monstr.eu \
--cc=vishal.sagar@xilinx.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).