Re: [PATCH 03/12] usb: dwc3: qcom: Merge resources from urs_usb device

From: kernel test robot
Date: Fri Oct 20 2023 - 02:03:00 EST


Hi Bjorn,

kernel test robot noticed the following build errors:

[auto build test ERROR on 4d0515b235dec789578d135a5db586b25c5870cb]

url: https://github.com/intel-lab-lkp/linux/commits/Bjorn-Andersson/dt-bindings-usb-qcom-dwc3-Add-qcom-sc8180x-dwc3/20231017-160323
base: 4d0515b235dec789578d135a5db586b25c5870cb
patch link: https://lore.kernel.org/r/20231016-dwc3-refactor-v1-3-ab4a84165470%40quicinc.com
patch subject: [PATCH 03/12] usb: dwc3: qcom: Merge resources from urs_usb device
config: csky-randconfig-002-20231020 (https://download.01.org/0day-ci/archive/20231020/202310201318.RPa2yUmS-lkp@xxxxxxxxx/config)
compiler: csky-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231020/202310201318.RPa2yUmS-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310201318.RPa2yUmS-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

drivers/usb/dwc3/dwc3-qcom.c: In function 'dwc3_qcom_acpi_merge_urs_resources':
>> drivers/usb/dwc3/dwc3-qcom.c:795:17: error: implicit declaration of function 'acpi_dev_get_resources'; did you mean 'acpi_get_event_resources'? [-Werror=implicit-function-declaration]
795 | count = acpi_dev_get_resources(adev, &resource_list, NULL, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~
| acpi_get_event_resources
>> drivers/usb/dwc3/dwc3-qcom.c:803:17: error: implicit declaration of function 'acpi_dev_free_resource_list' [-Werror=implicit-function-declaration]
803 | acpi_dev_free_resource_list(&resource_list);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +795 drivers/usb/dwc3/dwc3-qcom.c

763
764 static int dwc3_qcom_acpi_merge_urs_resources(struct platform_device *pdev)
765 {
766 struct device *dev = &pdev->dev;
767 struct list_head resource_list;
768 struct resource_entry *rentry;
769 struct resource *resources;
770 struct fwnode_handle *fwh;
771 struct acpi_device *adev;
772 char name[8];
773 int count;
774 int ret;
775 int id;
776 int i;
777
778 /* Figure out device id */
779 ret = sscanf(fwnode_get_name(dev->fwnode), "URS%d", &id);
780 if (!ret)
781 return -EINVAL;
782
783 /* Find the child using name */
784 snprintf(name, sizeof(name), "USB%d", id);
785 fwh = fwnode_get_named_child_node(dev->fwnode, name);
786 if (!fwh)
787 return 0;
788
789 adev = to_acpi_device_node(fwh);
790 if (!adev)
791 return -EINVAL;
792
793 INIT_LIST_HEAD(&resource_list);
794
> 795 count = acpi_dev_get_resources(adev, &resource_list, NULL, NULL);
796 if (count <= 0)
797 return count;
798
799 count += pdev->num_resources;
800
801 resources = kcalloc(count, sizeof(*resources), GFP_KERNEL);
802 if (!resources) {
> 803 acpi_dev_free_resource_list(&resource_list);
804 return -ENOMEM;
805 }
806
807 memcpy(resources, pdev->resource, sizeof(struct resource) * pdev->num_resources);
808 count = pdev->num_resources;
809 list_for_each_entry(rentry, &resource_list, node) {
810 /* Avoid inserting duplicate entries, in case this is called more than once */
811 for (i = 0; i < count; i++) {
812 if (resource_type(&resources[i]) == resource_type(rentry->res) &&
813 resources[i].start == rentry->res->start &&
814 resources[i].end == rentry->res->end)
815 break;
816 }
817
818 if (i == count)
819 resources[count++] = *rentry->res;
820 }
821
822 ret = platform_device_add_resources(pdev, resources, count);
823 if (ret)
824 dev_err(&pdev->dev, "failed to add resources\n");
825
826 acpi_dev_free_resource_list(&resource_list);
827 kfree(resources);
828
829 return ret;
830 }
831

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