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