linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [arm-soc:zynqmp/soc 2/5] drivers//spi/spi-zynqmp-gqspi.c:1025:13: error: implicit declaration of function 'zynqmp_pm_get_eemi_ops'
@ 2019-04-29 15:28 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-04-29 15:28 UTC (permalink / raw)
  To: Rajan Vaja; +Cc: Jolly Shah, Michal Simek, arm, kbuild-all, linux-arm-kernel

[-- Attachment #1: Type: text/plain, Size: 5366 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git zynqmp/soc
head:   c09f7471127e9debf3e814ffef4f4012c31a5a3d
commit: 3d0313786470acb414b7d5fdd2202f061acffb02 [2/5] drivers: Defer probe if firmware is not ready
config: i386-randconfig-l0-04290834 (attached as .config)
compiler: gcc-5 (Debian 5.5.0-3) 5.4.1 20171010
reproduce:
        git checkout 3d0313786470acb414b7d5fdd2202f061acffb02
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers//spi/spi-zynqmp-gqspi.c: In function 'zynqmp_qspi_probe':
>> drivers//spi/spi-zynqmp-gqspi.c:1025:13: error: implicit declaration of function 'zynqmp_pm_get_eemi_ops' [-Werror=implicit-function-declaration]
     eemi_ops = zynqmp_pm_get_eemi_ops();
                ^
   drivers//spi/spi-zynqmp-gqspi.c:1025:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
     eemi_ops = zynqmp_pm_get_eemi_ops();
              ^
   cc1: some warnings being treated as errors

vim +/zynqmp_pm_get_eemi_ops +1025 drivers//spi/spi-zynqmp-gqspi.c

  1008	
  1009	/**
  1010	 * zynqmp_qspi_probe:	Probe method for the QSPI driver
  1011	 * @pdev:	Pointer to the platform_device structure
  1012	 *
  1013	 * This function initializes the driver data structures and the hardware.
  1014	 *
  1015	 * Return:	0 on success; error value otherwise
  1016	 */
  1017	static int zynqmp_qspi_probe(struct platform_device *pdev)
  1018	{
  1019		int ret = 0;
  1020		struct spi_master *master;
  1021		struct zynqmp_qspi *xqspi;
  1022		struct resource *res;
  1023		struct device *dev = &pdev->dev;
  1024	
> 1025		eemi_ops = zynqmp_pm_get_eemi_ops();
  1026		if (IS_ERR(eemi_ops))
  1027			return PTR_ERR(eemi_ops);
  1028	
  1029		master = spi_alloc_master(&pdev->dev, sizeof(*xqspi));
  1030		if (!master)
  1031			return -ENOMEM;
  1032	
  1033		xqspi = spi_master_get_devdata(master);
  1034		master->dev.of_node = pdev->dev.of_node;
  1035		platform_set_drvdata(pdev, master);
  1036	
  1037		res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  1038		xqspi->regs = devm_ioremap_resource(&pdev->dev, res);
  1039		if (IS_ERR(xqspi->regs)) {
  1040			ret = PTR_ERR(xqspi->regs);
  1041			goto remove_master;
  1042		}
  1043	
  1044		xqspi->dev = dev;
  1045		xqspi->pclk = devm_clk_get(&pdev->dev, "pclk");
  1046		if (IS_ERR(xqspi->pclk)) {
  1047			dev_err(dev, "pclk clock not found.\n");
  1048			ret = PTR_ERR(xqspi->pclk);
  1049			goto remove_master;
  1050		}
  1051	
  1052		ret = clk_prepare_enable(xqspi->pclk);
  1053		if (ret) {
  1054			dev_err(dev, "Unable to enable APB clock.\n");
  1055			goto remove_master;
  1056		}
  1057	
  1058		xqspi->refclk = devm_clk_get(&pdev->dev, "ref_clk");
  1059		if (IS_ERR(xqspi->refclk)) {
  1060			dev_err(dev, "ref_clk clock not found.\n");
  1061			ret = PTR_ERR(xqspi->refclk);
  1062			goto clk_dis_pclk;
  1063		}
  1064	
  1065		ret = clk_prepare_enable(xqspi->refclk);
  1066		if (ret) {
  1067			dev_err(dev, "Unable to enable device clock.\n");
  1068			goto clk_dis_pclk;
  1069		}
  1070	
  1071		pm_runtime_use_autosuspend(&pdev->dev);
  1072		pm_runtime_set_autosuspend_delay(&pdev->dev, SPI_AUTOSUSPEND_TIMEOUT);
  1073		pm_runtime_set_active(&pdev->dev);
  1074		pm_runtime_enable(&pdev->dev);
  1075		/* QSPI controller initializations */
  1076		zynqmp_qspi_init_hw(xqspi);
  1077	
  1078		pm_runtime_mark_last_busy(&pdev->dev);
  1079		pm_runtime_put_autosuspend(&pdev->dev);
  1080		xqspi->irq = platform_get_irq(pdev, 0);
  1081		if (xqspi->irq <= 0) {
  1082			ret = -ENXIO;
  1083			dev_err(dev, "irq resource not found\n");
  1084			goto clk_dis_all;
  1085		}
  1086		ret = devm_request_irq(&pdev->dev, xqspi->irq, zynqmp_qspi_irq,
  1087				       0, pdev->name, master);
  1088		if (ret != 0) {
  1089			ret = -ENXIO;
  1090			dev_err(dev, "request_irq failed\n");
  1091			goto clk_dis_all;
  1092		}
  1093	
  1094		master->num_chipselect = GQSPI_DEFAULT_NUM_CS;
  1095	
  1096		master->setup = zynqmp_qspi_setup;
  1097		master->set_cs = zynqmp_qspi_chipselect;
  1098		master->transfer_one = zynqmp_qspi_start_transfer;
  1099		master->prepare_transfer_hardware = zynqmp_prepare_transfer_hardware;
  1100		master->unprepare_transfer_hardware =
  1101						zynqmp_unprepare_transfer_hardware;
  1102		master->max_speed_hz = clk_get_rate(xqspi->refclk) / 2;
  1103		master->bits_per_word_mask = SPI_BPW_MASK(8);
  1104		master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_RX_DUAL | SPI_RX_QUAD |
  1105				    SPI_TX_DUAL | SPI_TX_QUAD;
  1106	
  1107		if (master->dev.parent == NULL)
  1108			master->dev.parent = &master->dev;
  1109	
  1110		ret = spi_register_master(master);
  1111		if (ret)
  1112			goto clk_dis_all;
  1113	
  1114		return 0;
  1115	
  1116	clk_dis_all:
  1117		pm_runtime_set_suspended(&pdev->dev);
  1118		pm_runtime_disable(&pdev->dev);
  1119		clk_disable_unprepare(xqspi->refclk);
  1120	clk_dis_pclk:
  1121		clk_disable_unprepare(xqspi->pclk);
  1122	remove_master:
  1123		spi_master_put(master);
  1124	
  1125		return ret;
  1126	}
  1127	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26291 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-04-29 15:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-29 15:28 [arm-soc:zynqmp/soc 2/5] drivers//spi/spi-zynqmp-gqspi.c:1025:13: error: implicit declaration of function 'zynqmp_pm_get_eemi_ops' kbuild test robot

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).