From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0C26DC43334 for ; Sun, 10 Jul 2022 14:21:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Subject:cc:To: From:Date:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=oiEhLSkVpFsVmAMcGSF0JsLW6EAz5RW1+0TqfkKFVDY=; b=fBrrimYrriHTjN tMlC+QHG1UrSyd4PKYnzc+X7KP5urW4xZoTWc9RDoswUogVjxNz2iq/P+geet9tFfZhL2BTIASVmX KH0rn/WTGIhNDQ2XCy/i6Q8vThmLZ2/G2vHUQVc9dz/pqEW9h/RyK3wzHJdtm6kZVjj1D8jp+UCVv nSzcNwYc7rtVHlsuQNue+xwgGBrcQh540uHHi3jMmmyjX8jFFD6ikn9N4bJHTQMFSE2Abj9QvgH3Z NdkI9bc32b2o+ra/yaWFcu0+oAoXN5EFCOJrTjNcre0si+n/BBqVGAMzbM61v4/duBnqauEzxJVQP S3t+eApywxDEbGTa5lxg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oAXnV-00Bym4-8j; Sun, 10 Jul 2022 14:20:33 +0000 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oAXnQ-00Byk2-Bn for linux-arm-kernel@lists.infradead.org; Sun, 10 Jul 2022 14:20:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=date:from:to:cc:subject:message-id:mime-version; bh=pn9DEzZrjln820tBaU77NGPOD277FFvqtlnQEbF03nE=; b=c/dNhjproDthRalTRM91rl3WEed5uEd4+4Kh7EEN62udwia7C1XykIV0 phAY6lEw0yVGf+nDFdktMHKR8XnUIXmX4ODnQP+etMOZbwwrtil8Xn3TP A7MfjfqbozGdSidQKC0gYtUAgpPxh6G7Pp7i1nr8FJEWuPcl540wxuCEB o=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=julia.lawall@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="5.92,261,1650924000"; d="scan'208";a="45011845" Received: from 150.122.68.85.rev.sfr.net (HELO hadrien) ([85.68.122.150]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jul 2022 16:20:21 +0200 Date: Sun, 10 Jul 2022 16:20:20 +0200 (CEST) From: Julia Lawall X-X-Sender: jll@hadrien To: Wilken Gottwalt cc: Michal Simek , linux-arm-kernel@lists.infradead.org, kbuild-all@lists.01.org Subject: [xilinx-xlnx:xlnx_rebase_v5.15 1095/1208] drivers/clk/clk-xlnx-clock-wizard-v.c:668:16-24: ERROR: reference preceded by free on line 650 (fwd) Message-ID: User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220710_072029_072515_80D85095 X-CRM114-Status: GOOD ( 10.31 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org clk_name is referenced on line 668, but it was freed on line 650. The style of putting function names far to the right of their argument list is also not so readable. julia ---------- Forwarded message ---------- Date: Sun, 10 Jul 2022 21:25:02 +0800 From: kernel test robot To: kbuild@lists.01.org Cc: lkp@intel.com, Julia Lawall Subject: [xilinx-xlnx:xlnx_rebase_v5.15 1095/1208] drivers/clk/clk-xlnx-clock-wizard-v.c:668:16-24: ERROR: reference preceded by free on line 650 CC: kbuild-all@lists.01.org BCC: lkp@intel.com CC: linux-arm-kernel@lists.infradead.org TO: Wilken Gottwalt CC: Michal Simek tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15 head: e7187edf49c883a9b51f102175d5b6b135a5c11e commit: 94e73979d5943bc6494bdea22c5a0f295d2dde83 [1095/1208] clk: clk-xlnx-clock-wizard-v: fix missing bitfield include :::::: branch date: 10 days ago :::::: commit date: 3 months ago config: h8300-randconfig-c023-20220710 (https://download.01.org/0day-ci/archive/20220710/202207102112.zjlU3igG-lkp@intel.com/config) compiler: h8300-linux-gcc (GCC) 11.3.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot Reported-by: Julia Lawall cocci warnings: (new ones prefixed by >>) >> drivers/clk/clk-xlnx-clock-wizard-v.c:668:16-24: ERROR: reference preceded by free on line 650 vim +668 drivers/clk/clk-xlnx-clock-wizard-v.c 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 540 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 541 static SIMPLE_DEV_PM_OPS(clk_wzrd_dev_pm_ops, clk_wzrd_suspend, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 542 clk_wzrd_resume); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 543 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 544 static int clk_wzrd_probe(struct platform_device *pdev) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 545 { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 546 int i, ret; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 547 u32 regl, regh, edge, mult; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 548 u32 regld, reghd, edged, div; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 549 unsigned long rate; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 550 const char *clk_name; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 551 struct clk_wzrd *clk_wzrd; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 552 struct resource *mem; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 553 int outputs; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 554 struct device_node *np = pdev->dev.of_node; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 555 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 556 clk_wzrd = devm_kzalloc(&pdev->dev, sizeof(*clk_wzrd), GFP_KERNEL); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 557 if (!clk_wzrd) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 558 return -ENOMEM; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 559 platform_set_drvdata(pdev, clk_wzrd); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 560 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 561 mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 562 clk_wzrd->base = devm_ioremap_resource(&pdev->dev, mem); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 563 if (IS_ERR(clk_wzrd->base)) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 564 return PTR_ERR(clk_wzrd->base); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 565 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 566 clk_wzrd->clk_in1 = devm_clk_get(&pdev->dev, "clk_in1"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 567 if (IS_ERR(clk_wzrd->clk_in1)) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 568 if (clk_wzrd->clk_in1 != ERR_PTR(-EPROBE_DEFER)) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 569 dev_err(&pdev->dev, "clk_in1 not found\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 570 return PTR_ERR(clk_wzrd->clk_in1); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 571 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 572 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 573 clk_wzrd->axi_clk = devm_clk_get(&pdev->dev, "s_axi_aclk"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 574 if (IS_ERR(clk_wzrd->axi_clk)) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 575 if (clk_wzrd->axi_clk != ERR_PTR(-EPROBE_DEFER)) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 576 dev_err(&pdev->dev, "s_axi_aclk not found\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 577 return PTR_ERR(clk_wzrd->axi_clk); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 578 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 579 ret = clk_prepare_enable(clk_wzrd->axi_clk); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 580 if (ret) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 581 dev_err(&pdev->dev, "enabling s_axi_aclk failed\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 582 return ret; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 583 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 584 rate = clk_get_rate(clk_wzrd->axi_clk); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 585 if (rate > WZRD_ACLK_MAX_FREQ) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 586 dev_err(&pdev->dev, "s_axi_aclk frequency (%lu) too high\n", 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 587 rate); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 588 ret = -EINVAL; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 589 goto err_disable_clk; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 590 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 591 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 592 outputs = of_property_count_strings(np, "clock-output-names"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 593 clk_name = kasprintf(GFP_KERNEL, "%s_mul_div", dev_name(&pdev->dev)); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 594 if (!clk_name) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 595 ret = -ENOMEM; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 596 goto err_rm_int_clk; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 597 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 598 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 599 if (outputs == 1) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 600 const char *clkout_name; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 601 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 602 if (of_property_read_string_index(np, "clock-output-names", i, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 603 &clkout_name)) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 604 dev_err(&pdev->dev, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 605 "clock output name not specified\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 606 ret = -EINVAL; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 607 goto err_rm_int_clks; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 608 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 609 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 610 clk_wzrd->clkout[0] = clk_wzrd_register_divider 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 611 (&pdev->dev, clkout_name, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 612 __clk_get_name(clk_wzrd->clk_in1), 0, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 613 clk_wzrd->base, WZRD_CLK_CFG_REG(3), 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 614 WZRD_CLKOUT_DIVIDE_SHIFT, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 615 WZRD_CLKOUT_DIVIDE_WIDTH, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 616 CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 617 DIV_ALL, &clkwzrd_lock); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 618 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 619 goto out; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 620 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 621 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 622 /* register multiplier */ 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 623 edge = !!(readl(clk_wzrd->base + WZRD_CLK_CFG_REG(0)) & BIT(8)); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 624 regl = (readl(clk_wzrd->base + WZRD_CLK_CFG_REG(1)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 625 WZRD_CLKFBOUT_L_MASK) >> WZRD_CLKFBOUT_L_SHIFT; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 626 regh = (readl(clk_wzrd->base + WZRD_CLK_CFG_REG(1)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 627 WZRD_CLKFBOUT_H_MASK) >> WZRD_CLKFBOUT_H_SHIFT; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 628 mult = (regl + regh + edge); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 629 if (!mult) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 630 mult = 1; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 631 mult = mult * 64; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 632 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 633 regl = readl(clk_wzrd->base + WZRD_CLK_CFG_REG(51)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 634 WZRD_CLKFBOUT_FRAC_EN; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 635 if (regl) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 636 regl = readl(clk_wzrd->base + WZRD_CLK_CFG_REG(48)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 637 WZRD_CLKFBOUT_FRAC_MASK; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 638 mult = mult + regl; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 639 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 640 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 641 clk_name = kasprintf(GFP_KERNEL, "%s_mul", dev_name(&pdev->dev)); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 642 if (!clk_name) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 643 ret = -ENOMEM; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 644 goto err_disable_clk; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 645 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 646 clk_wzrd->clks_internal[wzrd_clk_mul] = clk_register_fixed_factor 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 647 (&pdev->dev, clk_name, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 648 __clk_get_name(clk_wzrd->clk_in1), 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 649 0, mult, 64); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 @650 kfree(clk_name); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 651 if (IS_ERR(clk_wzrd->clks_internal[wzrd_clk_mul])) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 652 dev_err(&pdev->dev, "unable to register fixed-factor clock\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 653 ret = PTR_ERR(clk_wzrd->clks_internal[wzrd_clk_mul]); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 654 goto err_disable_clk; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 655 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 656 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 657 /* register div */ 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 658 edged = !!(readl(clk_wzrd->base + WZRD_CLK_CFG_REG(20)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 659 BIT(10)); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 660 regld = (readl(clk_wzrd->base + WZRD_CLK_CFG_REG(21)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 661 WZRD_CLKFBOUT_L_MASK) >> WZRD_CLKFBOUT_L_SHIFT; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 662 reghd = (readl(clk_wzrd->base + WZRD_CLK_CFG_REG(21)) & 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 663 WZRD_CLKFBOUT_H_MASK) >> WZRD_CLKFBOUT_H_SHIFT; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 664 div = (regld + reghd + edged); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 665 if (!div) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 666 div = 1; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 667 clk_wzrd->clks_internal[wzrd_clk_mul_div] = clk_register_fixed_factor 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 @668 (&pdev->dev, clk_name, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 669 __clk_get_name(clk_wzrd->clks_internal[wzrd_clk_mul]), 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 670 0, 1, div); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 671 if (IS_ERR(clk_wzrd->clks_internal[wzrd_clk_mul_div])) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 672 dev_err(&pdev->dev, "unable to register divider clock\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 673 ret = PTR_ERR(clk_wzrd->clks_internal[wzrd_clk_mul_div]); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 674 goto err_rm_int_clk; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 675 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 676 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 677 /* register div per output */ 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 678 for (i = outputs - 1; i >= 0 ; i--) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 679 const char *clkout_name; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 680 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 681 if (of_property_read_string_index(np, "clock-output-names", i, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 682 &clkout_name)) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 683 dev_err(&pdev->dev, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 684 "clock output name not specified\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 685 ret = -EINVAL; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 686 goto err_rm_int_clks; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 687 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 688 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 689 clk_wzrd->clkout[i] = clk_wzrd_register_divider 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 690 (&pdev->dev, clkout_name, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 691 clk_name, 0, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 692 clk_wzrd->base, (WZRD_CLK_CFG_REG(3) + i * 8), 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 693 WZRD_CLKOUT_DIVIDE_SHIFT, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 694 WZRD_CLKOUT_DIVIDE_WIDTH, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 695 CLK_DIVIDER_ONE_BASED | CLK_DIVIDER_ALLOW_ZERO, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 696 DIV_O, &clkwzrd_lock); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 697 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 698 if (IS_ERR(clk_wzrd->clkout[i])) { 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 699 int j; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 700 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 701 for (j = i + 1; j < outputs; j++) 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 702 clk_unregister(clk_wzrd->clkout[j]); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 703 dev_err(&pdev->dev, 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 704 "unable to register divider clock\n"); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 705 ret = PTR_ERR(clk_wzrd->clkout[i]); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 706 goto err_rm_int_clks; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 707 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 708 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 709 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 710 kfree(clk_name); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 711 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 712 out: 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 713 clk_wzrd->clk_data.clks = clk_wzrd->clkout; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 714 clk_wzrd->clk_data.clk_num = ARRAY_SIZE(clk_wzrd->clkout); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 715 of_clk_add_provider(np, of_clk_src_onecell_get, &clk_wzrd->clk_data); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 716 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 717 return 0; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 718 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 719 err_rm_int_clks: 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 720 clk_unregister(clk_wzrd->clks_internal[1]); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 721 err_rm_int_clk: 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 722 kfree(clk_name); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 723 clk_unregister(clk_wzrd->clks_internal[0]); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 724 err_disable_clk: 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 725 clk_disable_unprepare(clk_wzrd->axi_clk); 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 726 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 727 return ret; 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 728 } 8b5383767cb4c8 Shubhrajyoti Datta 2020-03-31 729 :::::: The code at line 668 was first introduced by commit :::::: 8b5383767cb4c856283824baee568f4286ecc0db clocking-wizard: Add versal clocking wizard support :::::: TO: Shubhrajyoti Datta :::::: CC: Michal Simek -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel