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 4713FC433FE for ; Fri, 17 Dec 2021 18:18:45 +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=jjxW5+0G07GETKYyRG0Ep3DUxvWq/bssnDx1A+1mE2c=; b=PMDlQhTz175vBT p3HdcqElgN63+4AzF38j+vcxD0P2/b5Qz1/LnMaRfPvLpRpC4vFGueJNUOqjjeYxkHk2UQKS0ozW9 TRJj/BIgwf2fDaMjFoI+FPEL98HvwjF3XIintiG8s3W8dZd8JvoFg6eqh4/YSQ9tVA3YtlEjLm3mt 2rFC9qr9EN7aZacrovDfoiYDcN2+5dHsklVT0pc1N88NHiLOXxDJjhzjxm1unXp4ymUWbbXGNvFpA Is2GzjbcEW/qQ2pDHlzH2lM6NHtGB+P151zX+2hUVtCuWF/egCe4jksNUTCJb74icOjuTMQ//f6v6 ijgg5CsGKT4IapTkQedg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1myHmu-00BkQ3-J0; Fri, 17 Dec 2021 18:17:02 +0000 Received: from mga12.intel.com ([192.55.52.136]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1myGvB-00BSJp-6k for linux-arm-kernel@lists.infradead.org; Fri, 17 Dec 2021 17:21:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1639761689; x=1671297689; h=date:from:to:cc:subject:message-id:mime-version; bh=TgfYV8EOiV/ZIJrMeA1sKJCgmTdx93r3pn4ygqyplDY=; b=jMpbV7af2FxBi9l57h5lyf19Y8RODhD+2RKlRpp5CWeUWqjW5t6F1SnB Yw/R7zmko+5nEOav7dr+XzvqyDq5ltd1MtLE0mg25GHSHm4jGBmwow62W 5NrKoOoUWm+EseUfrptEkLQ1jDDr7EgjrvJNvsr1iJLpPJmUro0l61PUz Xw4eeZgfnFwpdV/JHwhS/RxO1oXpkMJMRuZpuqKpqfePfsjGvoUkHvC/r BFNbM3jBZZiFDI8GAWNvPzWoz66MTW9+XyfZUrq8IGmqW91THD+vRei/Z oXGIzxF//COfNIz1qgmY0mikcHgThQdbixdQ0gFGYPykezLTDlb/zhtxN g==; X-IronPort-AV: E=McAfee;i="6200,9189,10201"; a="219809998" X-IronPort-AV: E=Sophos;i="5.88,213,1635231600"; d="scan'208";a="219809998" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Dec 2021 09:21:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,213,1635231600"; d="scan'208";a="683454303" Received: from lkp-server02.sh.intel.com (HELO 9f38c0981d9f) ([10.239.97.151]) by orsmga005.jf.intel.com with ESMTP; 17 Dec 2021 09:21:26 -0800 Received: from kbuild by 9f38c0981d9f with local (Exim 4.92) (envelope-from ) id 1myGv7-00051C-IB; Fri, 17 Dec 2021 17:21:25 +0000 Date: Sat, 18 Dec 2021 01:20:36 +0800 From: kernel test robot To: Michal Simek Cc: kbuild-all@lists.01.org, linux-arm-kernel@lists.infradead.org Subject: [xilinx-xlnx:xlnx_rebase_v5.4 1277/1768] drivers/gpio/gpio-xilinx.c:694:39: sparse: sparse: incorrect type in argument 1 (different base types) Message-ID: <202112180150.eRkJwheM-lkp@intel.com> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211217_092129_348477_28085029 X-CRM114-Status: GOOD ( 17.86 ) 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 tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4 head: abafefebd1f1e040eef74e4ab571ea08bf745641 commit: af0c19b6f15388c554317280433100fd9f3d7d0a [1277/1768] gpio: xilinx: Use xilinx tested gpio driver config: i386-randconfig-s002-20211216 (https://download.01.org/0day-ci/archive/20211218/202112180150.eRkJwheM-lkp@intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-dirty # https://github.com/Xilinx/linux-xlnx/commit/af0c19b6f15388c554317280433100fd9f3d7d0a git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.4 git checkout af0c19b6f15388c554317280433100fd9f3d7d0a # save the config file to linux build tree mkdir build_dir make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/gpio/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/gpio/gpio-xilinx.c:694:39: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __be32 const [usertype] *p @@ got unsigned int const [usertype] *[assigned] tree_info @@ drivers/gpio/gpio-xilinx.c:694:39: sparse: expected restricted __be32 const [usertype] *p drivers/gpio/gpio-xilinx.c:694:39: sparse: got unsigned int const [usertype] *[assigned] tree_info vim +694 drivers/gpio/gpio-xilinx.c 586 587 /** 588 * xgpio_of_probe - Probe method for the GPIO device. 589 * @pdev: platform device instance 590 * 591 * This function probes the GPIO device in the device tree. It initializes the 592 * driver data structure. 593 * 594 * Return: 595 * It returns 0, if the driver is bound to the GPIO device, or 596 * a negative value if there is an error. 597 */ 598 static int xgpio_of_probe(struct platform_device *pdev) 599 { 600 struct device_node *np = pdev->dev.of_node; 601 struct xgpio_instance *chip, *chip_dual; 602 int status = 0; 603 const u32 *tree_info; 604 u32 ngpio; 605 u32 cells = 2; 606 607 chip = devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL); 608 if (!chip) 609 return -ENOMEM; 610 611 /* Update GPIO state shadow register with default value */ 612 of_property_read_u32(np, "xlnx,dout-default", &chip->gpio_state); 613 614 /* By default, all pins are inputs */ 615 chip->gpio_dir = 0xFFFFFFFF; 616 617 /* Update GPIO direction shadow register with default value */ 618 of_property_read_u32(np, "xlnx,tri-default", &chip->gpio_dir); 619 620 chip->no_init = of_property_read_bool(np, "xlnx,no-init"); 621 622 /* Update cells with gpio-cells value */ 623 of_property_read_u32(np, "#gpio-cells", &cells); 624 625 /* 626 * Check device node and parent device node for device width 627 * and assume default width of 32 628 */ 629 if (of_property_read_u32(np, "xlnx,gpio-width", &ngpio)) 630 ngpio = 32; 631 chip->mmchip.gc.ngpio = (u16)ngpio; 632 633 spin_lock_init(&chip->gpio_lock); 634 635 chip->mmchip.gc.parent = &pdev->dev; 636 chip->mmchip.gc.owner = THIS_MODULE; 637 chip->mmchip.gc.of_xlate = xgpio_xlate; 638 chip->mmchip.gc.of_gpio_n_cells = cells; 639 chip->mmchip.gc.direction_input = xgpio_dir_in; 640 chip->mmchip.gc.direction_output = xgpio_dir_out; 641 chip->mmchip.gc.get = xgpio_get; 642 chip->mmchip.gc.set = xgpio_set; 643 chip->mmchip.gc.request = xgpio_request; 644 chip->mmchip.gc.free = xgpio_free; 645 chip->mmchip.gc.set_multiple = xgpio_set_multiple; 646 647 chip->mmchip.save_regs = xgpio_save_regs; 648 649 platform_set_drvdata(pdev, chip); 650 651 chip->clk = devm_clk_get(&pdev->dev, "s_axi_aclk"); 652 if (IS_ERR(chip->clk)) { 653 if (PTR_ERR(chip->clk) != -ENOENT) { 654 if (PTR_ERR(chip->clk) != -EPROBE_DEFER) 655 dev_err(&pdev->dev, "Input clock not found\n"); 656 return PTR_ERR(chip->clk); 657 } 658 659 /* 660 * Clock framework support is optional, continue on 661 * anyways if we don't find a matching clock. 662 */ 663 chip->clk = NULL; 664 } 665 666 status = clk_prepare_enable(chip->clk); 667 if (status < 0) { 668 dev_err(&pdev->dev, "Failed to prepare clk\n"); 669 return status; 670 } 671 672 pm_runtime_set_active(&pdev->dev); 673 pm_runtime_enable(&pdev->dev); 674 675 /* Call the OF gpio helper to setup and register the GPIO device */ 676 status = of_mm_gpiochip_add(np, &chip->mmchip); 677 if (status) { 678 pr_err("%pOF: error in probe function with status %d\n", 679 np, status); 680 goto err_unprepare_clk; 681 } 682 683 status = xgpio_irq_setup(np, chip); 684 if (status) { 685 pr_err("%s: GPIO IRQ initialization failed %d\n", 686 np->full_name, status); 687 goto err_pm_put; 688 } 689 690 pr_info("XGpio: %s: registered, base is %d\n", np->full_name, 691 chip->mmchip.gc.base); 692 693 tree_info = of_get_property(np, "xlnx,is-dual", NULL); > 694 if (tree_info && be32_to_cpup(tree_info)) { 695 chip_dual = devm_kzalloc(&pdev->dev, sizeof(*chip_dual), 696 GFP_KERNEL); 697 if (!chip_dual) 698 goto err_pm_put; 699 700 /* Add dual channel offset */ 701 chip_dual->offset = XGPIO_CHANNEL_OFFSET; 702 703 /* Update GPIO state shadow register with default value */ 704 of_property_read_u32(np, "xlnx,dout-default-2", 705 &chip_dual->gpio_state); 706 707 /* By default, all pins are inputs */ 708 chip_dual->gpio_dir = 0xFFFFFFFF; 709 710 /* Update GPIO direction shadow register with default value */ 711 of_property_read_u32(np, "xlnx,tri-default-2", 712 &chip_dual->gpio_dir); 713 714 /* 715 * Check device node and parent device node for device width 716 * and assume default width of 32 717 */ 718 if (of_property_read_u32(np, "xlnx,gpio2-width", &ngpio)) 719 ngpio = 32; 720 chip_dual->mmchip.gc.ngpio = (u16)ngpio; 721 722 spin_lock_init(&chip_dual->gpio_lock); 723 724 chip_dual->mmchip.gc.parent = &pdev->dev; 725 chip_dual->mmchip.gc.owner = THIS_MODULE; 726 chip_dual->mmchip.gc.of_xlate = xgpio_xlate; 727 chip_dual->mmchip.gc.of_gpio_n_cells = cells; 728 chip_dual->mmchip.gc.direction_input = xgpio_dir_in; 729 chip_dual->mmchip.gc.direction_output = xgpio_dir_out; 730 chip_dual->mmchip.gc.get = xgpio_get; 731 chip_dual->mmchip.gc.set = xgpio_set; 732 chip_dual->mmchip.gc.request = xgpio_request; 733 chip_dual->mmchip.gc.free = xgpio_free; 734 chip_dual->mmchip.gc.set_multiple = xgpio_set_multiple; 735 736 chip_dual->mmchip.save_regs = xgpio_save_regs; 737 738 chip->mmchip_dual = &chip_dual->mmchip; 739 740 status = xgpio_irq_setup(np, chip_dual); 741 if (status) { 742 pr_err("%s: GPIO IRQ initialization failed %d\n", 743 np->full_name, status); 744 goto err_pm_put; 745 } 746 747 /* Call the OF gpio helper to setup and register the GPIO dev */ 748 status = of_mm_gpiochip_add(np, &chip_dual->mmchip); 749 if (status) { 750 pr_err("%s: error in probe function with status %d\n", 751 np->full_name, status); 752 goto err_pm_put; 753 } 754 pr_info("XGpio: %s: dual channel registered, base is %d\n", 755 np->full_name, chip_dual->mmchip.gc.base); 756 } 757 758 pm_runtime_put(&pdev->dev); 759 return 0; 760 761 err_pm_put: 762 pm_runtime_put(&pdev->dev); 763 err_unprepare_clk: 764 pm_runtime_disable(&pdev->dev); 765 clk_disable_unprepare(chip->clk); 766 return status; 767 } 768 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6419154693494948464==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: [xilinx-xlnx:xlnx_rebase_v5.4 1277/1768] drivers/gpio/gpio-xilinx.c:694:39: sparse: sparse: incorrect type in argument 1 (different base types) Date: Sat, 18 Dec 2021 01:20:36 +0800 Message-ID: <202112180150.eRkJwheM-lkp@intel.com> List-Id: --===============6419154693494948464== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable tree: https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.4 head: abafefebd1f1e040eef74e4ab571ea08bf745641 commit: af0c19b6f15388c554317280433100fd9f3d7d0a [1277/1768] gpio: xilinx: = Use xilinx tested gpio driver config: i386-randconfig-s002-20211216 (https://download.01.org/0day-ci/arch= ive/20211218/202112180150.eRkJwheM-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.4-dirty # https://github.com/Xilinx/linux-xlnx/commit/af0c19b6f15388c554317= 280433100fd9f3d7d0a git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.4 git checkout af0c19b6f15388c554317280433100fd9f3d7d0a # save the config file to linux build tree mkdir build_dir make W=3D1 C=3D1 CF=3D'-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=3D= build_dir ARCH=3Di386 SHELL=3D/bin/bash drivers/gpio/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot sparse warnings: (new ones prefixed by >>) >> drivers/gpio/gpio-xilinx.c:694:39: sparse: sparse: incorrect type in arg= ument 1 (different base types) @@ expected restricted __be32 const [use= rtype] *p @@ got unsigned int const [usertype] *[assigned] tree_info @@ drivers/gpio/gpio-xilinx.c:694:39: sparse: expected restricted __be3= 2 const [usertype] *p drivers/gpio/gpio-xilinx.c:694:39: sparse: got unsigned int const [u= sertype] *[assigned] tree_info vim +694 drivers/gpio/gpio-xilinx.c 586 = 587 /** 588 * xgpio_of_probe - Probe method for the GPIO device. 589 * @pdev: platform device instance 590 * 591 * This function probes the GPIO device in the device tree. It initi= alizes the 592 * driver data structure. 593 * 594 * Return: 595 * It returns 0, if the driver is bound to the GPIO device, or 596 * a negative value if there is an error. 597 */ 598 static int xgpio_of_probe(struct platform_device *pdev) 599 { 600 struct device_node *np =3D pdev->dev.of_node; 601 struct xgpio_instance *chip, *chip_dual; 602 int status =3D 0; 603 const u32 *tree_info; 604 u32 ngpio; 605 u32 cells =3D 2; 606 = 607 chip =3D devm_kzalloc(&pdev->dev, sizeof(*chip), GFP_KERNEL); 608 if (!chip) 609 return -ENOMEM; 610 = 611 /* Update GPIO state shadow register with default value */ 612 of_property_read_u32(np, "xlnx,dout-default", &chip->gpio_state); 613 = 614 /* By default, all pins are inputs */ 615 chip->gpio_dir =3D 0xFFFFFFFF; 616 = 617 /* Update GPIO direction shadow register with default value */ 618 of_property_read_u32(np, "xlnx,tri-default", &chip->gpio_dir); 619 = 620 chip->no_init =3D of_property_read_bool(np, "xlnx,no-init"); 621 = 622 /* Update cells with gpio-cells value */ 623 of_property_read_u32(np, "#gpio-cells", &cells); 624 = 625 /* 626 * Check device node and parent device node for device width 627 * and assume default width of 32 628 */ 629 if (of_property_read_u32(np, "xlnx,gpio-width", &ngpio)) 630 ngpio =3D 32; 631 chip->mmchip.gc.ngpio =3D (u16)ngpio; 632 = 633 spin_lock_init(&chip->gpio_lock); 634 = 635 chip->mmchip.gc.parent =3D &pdev->dev; 636 chip->mmchip.gc.owner =3D THIS_MODULE; 637 chip->mmchip.gc.of_xlate =3D xgpio_xlate; 638 chip->mmchip.gc.of_gpio_n_cells =3D cells; 639 chip->mmchip.gc.direction_input =3D xgpio_dir_in; 640 chip->mmchip.gc.direction_output =3D xgpio_dir_out; 641 chip->mmchip.gc.get =3D xgpio_get; 642 chip->mmchip.gc.set =3D xgpio_set; 643 chip->mmchip.gc.request =3D xgpio_request; 644 chip->mmchip.gc.free =3D xgpio_free; 645 chip->mmchip.gc.set_multiple =3D xgpio_set_multiple; 646 = 647 chip->mmchip.save_regs =3D xgpio_save_regs; 648 = 649 platform_set_drvdata(pdev, chip); 650 = 651 chip->clk =3D devm_clk_get(&pdev->dev, "s_axi_aclk"); 652 if (IS_ERR(chip->clk)) { 653 if (PTR_ERR(chip->clk) !=3D -ENOENT) { 654 if (PTR_ERR(chip->clk) !=3D -EPROBE_DEFER) 655 dev_err(&pdev->dev, "Input clock not found\n"); 656 return PTR_ERR(chip->clk); 657 } 658 = 659 /* 660 * Clock framework support is optional, continue on 661 * anyways if we don't find a matching clock. 662 */ 663 chip->clk =3D NULL; 664 } 665 = 666 status =3D clk_prepare_enable(chip->clk); 667 if (status < 0) { 668 dev_err(&pdev->dev, "Failed to prepare clk\n"); 669 return status; 670 } 671 = 672 pm_runtime_set_active(&pdev->dev); 673 pm_runtime_enable(&pdev->dev); 674 = 675 /* Call the OF gpio helper to setup and register the GPIO device */ 676 status =3D of_mm_gpiochip_add(np, &chip->mmchip); 677 if (status) { 678 pr_err("%pOF: error in probe function with status %d\n", 679 np, status); 680 goto err_unprepare_clk; 681 } 682 = 683 status =3D xgpio_irq_setup(np, chip); 684 if (status) { 685 pr_err("%s: GPIO IRQ initialization failed %d\n", 686 np->full_name, status); 687 goto err_pm_put; 688 } 689 = 690 pr_info("XGpio: %s: registered, base is %d\n", np->full_name, 691 chip->mmchip.gc.base); 692 = 693 tree_info =3D of_get_property(np, "xlnx,is-dual", NULL); > 694 if (tree_info && be32_to_cpup(tree_info)) { 695 chip_dual =3D devm_kzalloc(&pdev->dev, sizeof(*chip_dual), 696 GFP_KERNEL); 697 if (!chip_dual) 698 goto err_pm_put; 699 = 700 /* Add dual channel offset */ 701 chip_dual->offset =3D XGPIO_CHANNEL_OFFSET; 702 = 703 /* Update GPIO state shadow register with default value */ 704 of_property_read_u32(np, "xlnx,dout-default-2", 705 &chip_dual->gpio_state); 706 = 707 /* By default, all pins are inputs */ 708 chip_dual->gpio_dir =3D 0xFFFFFFFF; 709 = 710 /* Update GPIO direction shadow register with default value */ 711 of_property_read_u32(np, "xlnx,tri-default-2", 712 &chip_dual->gpio_dir); 713 = 714 /* 715 * Check device node and parent device node for device width 716 * and assume default width of 32 717 */ 718 if (of_property_read_u32(np, "xlnx,gpio2-width", &ngpio)) 719 ngpio =3D 32; 720 chip_dual->mmchip.gc.ngpio =3D (u16)ngpio; 721 = 722 spin_lock_init(&chip_dual->gpio_lock); 723 = 724 chip_dual->mmchip.gc.parent =3D &pdev->dev; 725 chip_dual->mmchip.gc.owner =3D THIS_MODULE; 726 chip_dual->mmchip.gc.of_xlate =3D xgpio_xlate; 727 chip_dual->mmchip.gc.of_gpio_n_cells =3D cells; 728 chip_dual->mmchip.gc.direction_input =3D xgpio_dir_in; 729 chip_dual->mmchip.gc.direction_output =3D xgpio_dir_out; 730 chip_dual->mmchip.gc.get =3D xgpio_get; 731 chip_dual->mmchip.gc.set =3D xgpio_set; 732 chip_dual->mmchip.gc.request =3D xgpio_request; 733 chip_dual->mmchip.gc.free =3D xgpio_free; 734 chip_dual->mmchip.gc.set_multiple =3D xgpio_set_multiple; 735 = 736 chip_dual->mmchip.save_regs =3D xgpio_save_regs; 737 = 738 chip->mmchip_dual =3D &chip_dual->mmchip; 739 = 740 status =3D xgpio_irq_setup(np, chip_dual); 741 if (status) { 742 pr_err("%s: GPIO IRQ initialization failed %d\n", 743 np->full_name, status); 744 goto err_pm_put; 745 } 746 = 747 /* Call the OF gpio helper to setup and register the GPIO dev */ 748 status =3D of_mm_gpiochip_add(np, &chip_dual->mmchip); 749 if (status) { 750 pr_err("%s: error in probe function with status %d\n", 751 np->full_name, status); 752 goto err_pm_put; 753 } 754 pr_info("XGpio: %s: dual channel registered, base is %d\n", 755 np->full_name, chip_dual->mmchip.gc.base); 756 } 757 = 758 pm_runtime_put(&pdev->dev); 759 return 0; 760 = 761 err_pm_put: 762 pm_runtime_put(&pdev->dev); 763 err_unprepare_clk: 764 pm_runtime_disable(&pdev->dev); 765 clk_disable_unprepare(chip->clk); 766 return status; 767 } 768 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============6419154693494948464==--