All of lore.kernel.org
 help / color / mirror / Atom feed
* [openeuler:OLK-5.10 11160/30000] drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:145:18: error: implicit declaration of function 'acpi_evaluate_integer'; did you mean 'acpi_evaluate_object'?
@ 2024-09-13 18:36 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-09-13 18:36 UTC (permalink / raw)
  To: kernel, chenhuiying; +Cc: oe-kbuild-all

tree:   https://gitee.com/openeuler/kernel.git OLK-5.10
head:   5a1d9701155c6908c76c68951170f10279685143
commit: 3bf501c87ffe1f045f86af89e8958fed62c02c94 [11160/30000] ascend agent smmu: an implementation of ARM SMMUv3 ATOS feature
config: arm64-randconfig-002-20240914 (https://download.01.org/0day-ci/archive/20240914/202409140251.mPlaSy6Z-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409140251.mPlaSy6Z-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/202409140251.mPlaSy6Z-lkp@intel.com/

All error/warnings (new ones prefixed by >>):

>> drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:71:20: warning: no previous prototype for 'agent_smmu_unlocked_find' [-Wmissing-prototypes]
      71 | struct agent_smmu *agent_smmu_unlocked_find(u64 device_id)
         |                    ^~~~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c: In function 'agent_smmu_platform_probe':
>> drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:145:18: error: implicit declaration of function 'acpi_evaluate_integer'; did you mean 'acpi_evaluate_object'? [-Werror=implicit-function-declaration]
     145 |         status = acpi_evaluate_integer(ACPI_HANDLE(&pdev->dev), METHOD_NAME__UID,
         |                  ^~~~~~~~~~~~~~~~~~~~~
         |                  acpi_evaluate_object
   drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c: At top level:
>> drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:420:36: warning: 'agent_smmu_acpi_match' defined but not used [-Wunused-const-variable=]
     420 | static const struct acpi_device_id agent_smmu_acpi_match[] = {
         |                                    ^~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +145 drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c

    70	
  > 71	struct agent_smmu *agent_smmu_unlocked_find(u64 device_id)
    72	{
    73		struct agent_smmu *temp = NULL;
    74	
    75		list_for_each_entry(temp, &agent_smmu_list, list) {
    76			if (temp->device_id == device_id) {
    77				return temp;
    78			}
    79		}
    80		return NULL;
    81	}
    82	
    83	static int agent_smmu_register(struct agent_smmu *agent)
    84	{
    85		struct device *dev = agent->dev;
    86	
    87		spin_lock(&agent_smmu_lock);
    88		if (agent_smmu_unlocked_find(agent->device_id)) {
    89			dev_err(dev, "already added for %lld.\n", agent->device_id);
    90			spin_unlock(&agent_smmu_lock);
    91			return -EFAULT;
    92		}
    93		list_add_tail(&agent->list, &agent_smmu_list);
    94		spin_unlock(&agent_smmu_lock);
    95	
    96		return 0;
    97	}
    98	
    99	static void agent_smmu_unregister(struct agent_smmu *agent)
   100	{
   101		spin_lock(&agent_smmu_lock);
   102		list_del(&agent->list);
   103		spin_unlock(&agent_smmu_lock);
   104	}
   105	
   106	static int agent_smmu_platform_probe(struct platform_device *pdev)
   107	{
   108		struct agent_smmu *agent = NULL;
   109		struct device *dev = &pdev->dev;
   110		struct resource *res = NULL;
   111		u32 reg = 0;
   112		int ret = 0;
   113		acpi_status status = AE_OK;
   114	
   115		agent = devm_kzalloc(dev, sizeof(*agent), GFP_KERNEL);
   116		if (!agent) {
   117			dev_err(dev, "failed to allocate agent smmu.\n");
   118			return -ENOMEM;
   119		}
   120	
   121		res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   122		if (!res || resource_size(res) + 1 < ENHANCED_ATOS_UNIT_ADDR +
   123		    ENHANCED_ATOS_UNIT_SIZE * MAX_REGISTERS) {
   124			dev_err(dev, "MMIO region is null or too small, check it.\n");
   125			ret = -EINVAL;
   126			goto err_free;
   127		}
   128	
   129		// agent smmu may probe as smmu in device, so keep using ioreamp
   130		agent->base = ioremap(res->start, resource_size(res));
   131		if (!agent->base) {
   132			dev_err(dev, "unable to map agent smmu.\n");
   133			ret = -ENOMEM;
   134			goto err_free;
   135		}
   136	
   137		/* check agent smmu is enabled */
   138		reg = readl_relaxed(agent->base + AGENT_SMMU_CR0);
   139		if (!(reg & CR0_SMMUEN)) {
   140			dev_err(dev, "agent smmu is not enabled, check it.\n");
   141			ret = -EPERM;
   142			goto err_iounmap;
   143		}
   144	
 > 145		status = acpi_evaluate_integer(ACPI_HANDLE(&pdev->dev), METHOD_NAME__UID,
   146					       NULL, &agent->device_id);
   147		if (ACPI_FAILURE(status)) {
   148			dev_err(dev, "Unable to get agent smmu _UID.\n");
   149			ret = -ENODEV;
   150			goto err_iounmap;
   151		}
   152	
   153		if (agent_smmu_register(agent)) {
   154			ret = -EINVAL;
   155			goto err_iounmap;
   156		}
   157	
   158		reg = readl_relaxed(agent->base + AGENT_SMMU_IDR1);
   159		agent->max_sid = (1U << FIELD_GET(IDR1_SIDSIZE, reg)) - 1;
   160		agent->max_ssid = (1U << FIELD_GET(IDR1_SSIDSIZE, reg)) - 1;
   161		bitmap_zero(agent->regs, MAX_REGISTERS);
   162		rwlock_init(&agent->rw_lock);
   163		agent->dev = dev;
   164		platform_set_drvdata(pdev, agent);
   165	
   166		dev_info(dev, "agent smmu 0x%llx probed successfully.\n", agent->device_id);
   167		return ret;
   168	err_iounmap:
   169		iounmap(agent->base);
   170		agent->base = NULL;
   171	err_free:
   172		devm_kfree(dev, agent);
   173		return ret;
   174	}
   175	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

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

only message in thread, other threads:[~2024-09-13 18:37 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-13 18:36 [openeuler:OLK-5.10 11160/30000] drivers/iommu/arm/arm-smmu-v3/ascend_smmu.c:145:18: error: implicit declaration of function 'acpi_evaluate_integer'; did you mean 'acpi_evaluate_object'? kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.