From: kernel test robot <lkp@intel.com>
To: Christian Marangi <ansuelsmth@gmail.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Richard Weinberger <richard@nod.at>,
Vignesh Raghavendra <vigneshr@ti.com>,
Joern Engel <joern@lazybastard.org>,
Keith Busch <kbusch@kernel.org>, Jens Axboe <axboe@kernel.dk>,
Christoph Hellwig <hch@lst.de>, Sagi Grimberg <sagi@grimberg.me>,
Florian Fainelli <f.fainelli@gmail.com>,
Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Wolfram Sang <wsa-dev@sang-engineering.com>,
linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org,
linux-nvme@lists.infradead.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: Re: [PATCH 2/6] nvme: assign of_node to nvme device
Date: Sun, 4 Aug 2024 23:21:25 +0800 [thread overview]
Message-ID: <202408042203.CNpuv8Wt-lkp@intel.com> (raw)
In-Reply-To: <20240804114108.1893-3-ansuelsmth@gmail.com>
Hi Christian,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.11-rc1 next-20240802]
[cannot apply to mtd/mtd/next mtd/mtd/fixes]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Christian-Marangi/dt-bindings-nvme-Document-nvme-card-compatible/20240804-194357
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20240804114108.1893-3-ansuelsmth%40gmail.com
patch subject: [PATCH 2/6] nvme: assign of_node to nvme device
config: i386-buildonly-randconfig-005-20240804 (https://download.01.org/0day-ci/archive/20240804/202408042203.CNpuv8Wt-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240804/202408042203.CNpuv8Wt-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408042203.CNpuv8Wt-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/nvme/host/core.c:4654:2: error: call to undeclared function 'of_node_put'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
4654 | of_node_put(ctrl->device->of_node);
| ^
>> drivers/nvme/host/core.c:4775:26: error: call to undeclared function 'of_get_compatible_child'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
4775 | ctrl->device->of_node = of_get_compatible_child(ctrl->dev->of_node,
| ^
>> drivers/nvme/host/core.c:4775:24: error: incompatible integer to pointer conversion assigning to 'struct device_node *' from 'int' [-Wint-conversion]
4775 | ctrl->device->of_node = of_get_compatible_child(ctrl->dev->of_node,
| ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4776 | "nvme-card");
| ~~~~~~~~~~~~
3 errors generated.
vim +/of_node_put +4654 drivers/nvme/host/core.c
4648
4649 void nvme_uninit_ctrl(struct nvme_ctrl *ctrl)
4650 {
4651 nvme_hwmon_exit(ctrl);
4652 nvme_fault_inject_fini(&ctrl->fault_inject);
4653 dev_pm_qos_hide_latency_tolerance(ctrl->device);
> 4654 of_node_put(ctrl->device->of_node);
4655 cdev_device_del(&ctrl->cdev, ctrl->device);
4656 nvme_put_ctrl(ctrl);
4657 }
4658 EXPORT_SYMBOL_GPL(nvme_uninit_ctrl);
4659
4660 static void nvme_free_cels(struct nvme_ctrl *ctrl)
4661 {
4662 struct nvme_effects_log *cel;
4663 unsigned long i;
4664
4665 xa_for_each(&ctrl->cels, i, cel) {
4666 xa_erase(&ctrl->cels, i);
4667 kfree(cel);
4668 }
4669
4670 xa_destroy(&ctrl->cels);
4671 }
4672
4673 static void nvme_free_ctrl(struct device *dev)
4674 {
4675 struct nvme_ctrl *ctrl =
4676 container_of(dev, struct nvme_ctrl, ctrl_device);
4677 struct nvme_subsystem *subsys = ctrl->subsys;
4678
4679 if (!subsys || ctrl->instance != subsys->instance)
4680 ida_free(&nvme_instance_ida, ctrl->instance);
4681 key_put(ctrl->tls_key);
4682 nvme_free_cels(ctrl);
4683 nvme_mpath_uninit(ctrl);
4684 cleanup_srcu_struct(&ctrl->srcu);
4685 nvme_auth_stop(ctrl);
4686 nvme_auth_free(ctrl);
4687 __free_page(ctrl->discard_page);
4688 free_opal_dev(ctrl->opal_dev);
4689
4690 if (subsys) {
4691 mutex_lock(&nvme_subsystems_lock);
4692 list_del(&ctrl->subsys_entry);
4693 sysfs_remove_link(&subsys->dev.kobj, dev_name(ctrl->device));
4694 mutex_unlock(&nvme_subsystems_lock);
4695 }
4696
4697 ctrl->ops->free_ctrl(ctrl);
4698
4699 if (subsys)
4700 nvme_put_subsystem(subsys);
4701 }
4702
4703 /*
4704 * Initialize a NVMe controller structures. This needs to be called during
4705 * earliest initialization so that we have the initialized structured around
4706 * during probing.
4707 *
4708 * On success, the caller must use the nvme_put_ctrl() to release this when
4709 * needed, which also invokes the ops->free_ctrl() callback.
4710 */
4711 int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct device *dev,
4712 const struct nvme_ctrl_ops *ops, unsigned long quirks)
4713 {
4714 int ret;
4715
4716 WRITE_ONCE(ctrl->state, NVME_CTRL_NEW);
4717 ctrl->passthru_err_log_enabled = false;
4718 clear_bit(NVME_CTRL_FAILFAST_EXPIRED, &ctrl->flags);
4719 spin_lock_init(&ctrl->lock);
4720 mutex_init(&ctrl->namespaces_lock);
4721
4722 ret = init_srcu_struct(&ctrl->srcu);
4723 if (ret)
4724 return ret;
4725
4726 mutex_init(&ctrl->scan_lock);
4727 INIT_LIST_HEAD(&ctrl->namespaces);
4728 xa_init(&ctrl->cels);
4729 ctrl->dev = dev;
4730 ctrl->ops = ops;
4731 ctrl->quirks = quirks;
4732 ctrl->numa_node = NUMA_NO_NODE;
4733 INIT_WORK(&ctrl->scan_work, nvme_scan_work);
4734 INIT_WORK(&ctrl->async_event_work, nvme_async_event_work);
4735 INIT_WORK(&ctrl->fw_act_work, nvme_fw_act_work);
4736 INIT_WORK(&ctrl->delete_work, nvme_delete_ctrl_work);
4737 init_waitqueue_head(&ctrl->state_wq);
4738
4739 INIT_DELAYED_WORK(&ctrl->ka_work, nvme_keep_alive_work);
4740 INIT_DELAYED_WORK(&ctrl->failfast_work, nvme_failfast_work);
4741 memset(&ctrl->ka_cmd, 0, sizeof(ctrl->ka_cmd));
4742 ctrl->ka_cmd.common.opcode = nvme_admin_keep_alive;
4743 ctrl->ka_last_check_time = jiffies;
4744
4745 BUILD_BUG_ON(NVME_DSM_MAX_RANGES * sizeof(struct nvme_dsm_range) >
4746 PAGE_SIZE);
4747 ctrl->discard_page = alloc_page(GFP_KERNEL);
4748 if (!ctrl->discard_page) {
4749 ret = -ENOMEM;
4750 goto out;
4751 }
4752
4753 ret = ida_alloc(&nvme_instance_ida, GFP_KERNEL);
4754 if (ret < 0)
4755 goto out;
4756 ctrl->instance = ret;
4757
4758 ret = nvme_auth_init_ctrl(ctrl);
4759 if (ret)
4760 goto out_release_instance;
4761
4762 nvme_mpath_init_ctrl(ctrl);
4763
4764 device_initialize(&ctrl->ctrl_device);
4765 ctrl->device = &ctrl->ctrl_device;
4766 ctrl->device->devt = MKDEV(MAJOR(nvme_ctrl_base_chr_devt),
4767 ctrl->instance);
4768 ctrl->device->class = &nvme_class;
4769 ctrl->device->parent = ctrl->dev;
4770 if (ops->dev_attr_groups)
4771 ctrl->device->groups = ops->dev_attr_groups;
4772 else
4773 ctrl->device->groups = nvme_dev_attr_groups;
4774 ctrl->device->release = nvme_free_ctrl;
> 4775 ctrl->device->of_node = of_get_compatible_child(ctrl->dev->of_node,
4776 "nvme-card");
4777 dev_set_drvdata(ctrl->device, ctrl);
4778
4779 return ret;
4780
4781 out_release_instance:
4782 ida_free(&nvme_instance_ida, ctrl->instance);
4783 out:
4784 if (ctrl->discard_page)
4785 __free_page(ctrl->discard_page);
4786 cleanup_srcu_struct(&ctrl->srcu);
4787 return ret;
4788 }
4789 EXPORT_SYMBOL_GPL(nvme_init_ctrl);
4790
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-08-04 15:22 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-04 11:41 [PATCH 0/6] mtd: improve block2mtd + airoha parser Christian Marangi
2024-08-04 11:41 ` [PATCH 1/6] dt-bindings: nvme: Document nvme-card compatible Christian Marangi
2024-08-04 11:41 ` [PATCH 2/6] nvme: assign of_node to nvme device Christian Marangi
2024-08-04 13:48 ` kernel test robot
2024-08-04 15:21 ` kernel test robot [this message]
2024-08-04 11:41 ` [PATCH 3/6] dt-bindings: mmc: add property for partitions node in mmc-card node Christian Marangi
2024-08-04 11:41 ` [PATCH 4/6] block2mtd: attach device OF node to MTD device Christian Marangi
2024-08-04 13:58 ` kernel test robot
2024-08-04 11:41 ` [PATCH 5/6] dt-bindings: mtd: Add Documentation for Airoha fixed-partitions Christian Marangi
2024-08-04 12:24 ` Rob Herring (Arm)
2024-08-04 11:41 ` [PATCH 6/6] mtd: parser: add support for Airoha parser Christian Marangi
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=202408042203.CNpuv8Wt-lkp@intel.com \
--to=lkp@intel.com \
--cc=ansuelsmth@gmail.com \
--cc=axboe@kernel.dk \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=hch@lst.de \
--cc=joern@lazybastard.org \
--cc=kbusch@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nvme@lists.infradead.org \
--cc=llvm@lists.linux.dev \
--cc=miquel.raynal@bootlin.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=richard@nod.at \
--cc=robh@kernel.org \
--cc=sagi@grimberg.me \
--cc=tsbogend@alpha.franken.de \
--cc=ulf.hansson@linaro.org \
--cc=vigneshr@ti.com \
--cc=wsa-dev@sang-engineering.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