lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202107090428.8fYa4dzY-lkp@intel.com>
Date:   Fri, 9 Jul 2021 04:09:29 +0800
From:   kernel test robot <lkp@...el.com>
To:     sumesh.k.naduvalath@...el.com, hdegoede@...hat.com,
        mgross@...ux.intel.com, srinivas.pandruvada@...ux.intel.com
Cc:     kbuild-all@...ts.01.org, srinivas.pandruvada@...el.com,
        platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org,
        ganapathi.chinnu@...el.com, nachiketa.kumar@...el.com,
        sumesh.k.naduvalath@...el.com
Subject: Re: [PATCH v2 1/1] ishtp: Add support for Intel ishtp eclite driver

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on next-20210708]
[cannot apply to v5.13]
[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]

url:    https://github.com/0day-ci/linux/commits/sumesh-k-naduvalath-intel-com/ishtp-Add-support-for-Intel-ishtp-eclite-driver/20210708-192016
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git e9f1cbc0c4114880090c7a578117d3b9cf184ad4
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/0360e181285d78d02e2d8bfd8bcf73b0d61268dd
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review sumesh-k-naduvalath-intel-com/ishtp-Add-support-for-Intel-ishtp-eclite-driver/20210708-192016
        git checkout 0360e181285d78d02e2d8bfd8bcf73b0d61268dd
        # save the attached .config to linux build tree
        make W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   drivers/platform/x86/intel_ishtp_eclite.c: In function 'ecl_ishtp_cl_probe':
>> drivers/platform/x86/intel_ishtp_eclite.c:606:2: error: implicit declaration of function 'acpi_walk_dep_device_list' [-Werror=implicit-function-declaration]
     606 |  acpi_walk_dep_device_list(opr_dev->acpi_handle);
         |  ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/platform/x86/intel_ishtp_eclite.c: At top level:
>> drivers/platform/x86/intel_ishtp_eclite.c:681:12: error: initialization of 'void (*)(struct ishtp_cl_device *)' from incompatible pointer type 'int (*)(struct ishtp_cl_device *)' [-Werror=incompatible-pointer-types]
     681 |  .remove = ecl_ishtp_cl_remove,
         |            ^~~~~~~~~~~~~~~~~~~
   drivers/platform/x86/intel_ishtp_eclite.c:681:12: note: (near initialization for 'ecl_ishtp_cl_driver.remove')
   cc1: some warnings being treated as errors

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for PHY_SPARX5_SERDES
   Depends on (ARCH_SPARX5 || COMPILE_TEST && OF && HAS_IOMEM
   Selected by
   - SPARX5_SWITCH && NETDEVICES && ETHERNET && NET_VENDOR_MICROCHIP && NET_SWITCHDEV && HAS_IOMEM


vim +/acpi_walk_dep_device_list +606 drivers/platform/x86/intel_ishtp_eclite.c

   551	
   552	static int ecl_ishtp_cl_probe(struct ishtp_cl_device *cl_device)
   553	{
   554		struct ishtp_cl *ecl_ishtp_cl;
   555		struct ishtp_opregion_dev *opr_dev;
   556		int rv;
   557	
   558		opr_dev = devm_kzalloc(ishtp_device(cl_device), sizeof(*opr_dev),
   559				       GFP_KERNEL);
   560		if (!opr_dev)
   561			return -ENOMEM;
   562	
   563		ecl_ishtp_cl = ishtp_cl_allocate(cl_device);
   564		if (!ecl_ishtp_cl)
   565			return -ENOMEM;
   566	
   567		ishtp_set_drvdata(cl_device, ecl_ishtp_cl);
   568		ishtp_set_client_data(ecl_ishtp_cl, opr_dev);
   569		opr_dev->ecl_ishtp_cl = ecl_ishtp_cl;
   570		opr_dev->cl_device = cl_device;
   571	
   572		init_waitqueue_head(&opr_dev->read_wait);
   573		INIT_WORK(&opr_dev->event_work, ecl_acpi_invoke_dsm);
   574		INIT_WORK(&opr_dev->reset_work, ecl_ishtp_cl_reset_handler);
   575	
   576		/* Initialize ish client device */
   577		rv = ecl_ishtp_cl_init(ecl_ishtp_cl);
   578		if (rv) {
   579			dev_err(cl_data_to_dev(opr_dev), "Client init failed\n");
   580			goto err_exit;
   581		}
   582	
   583		dev_dbg(cl_data_to_dev(opr_dev), "eclite-ishtp client initialised\n");
   584	
   585		/* Register a handler for eclite fw events */
   586		ishtp_register_event_cb(cl_device, ecl_ishtp_cl_event_cb);
   587	
   588		opr_dev->ish_link_ready = true;
   589		mutex_init(&opr_dev->lock);
   590	
   591		/* Now find ACPI device and init opregion handlers */
   592		rv = acpi_find_eclite_device(opr_dev);
   593		if (rv) {
   594			dev_err(cl_data_to_dev(opr_dev), "ECLite ACPI ID not found\n");
   595	
   596			goto err_exit;
   597		}
   598		rv = acpi_opregion_init(opr_dev);
   599		if (rv) {
   600			dev_err(cl_data_to_dev(opr_dev), "ACPI opregion init failed\n");
   601	
   602			goto err_exit;
   603		}
   604	
   605		/* Reprobe devices depending on ECLite - battery, fan, etc. */
 > 606		acpi_walk_dep_device_list(opr_dev->acpi_handle);
   607	
   608		return 0;
   609	err_exit:
   610		ishtp_set_connection_state(ecl_ishtp_cl, ISHTP_CL_DISCONNECTING);
   611		ishtp_cl_disconnect(ecl_ishtp_cl);
   612		ecl_ishtp_cl_deinit(ecl_ishtp_cl);
   613	
   614		return rv;
   615	}
   616	
   617	static int ecl_ishtp_cl_remove(struct ishtp_cl_device *cl_device)
   618	{
   619		struct ishtp_cl *ecl_ishtp_cl = ishtp_get_drvdata(cl_device);
   620		struct ishtp_opregion_dev *opr_dev =
   621			ishtp_get_client_data(ecl_ishtp_cl);
   622	
   623		if (opr_dev->acpi_init_done)
   624			acpi_opregion_deinit(opr_dev);
   625	
   626		cancel_work_sync(&opr_dev->reset_work);
   627		cancel_work_sync(&opr_dev->event_work);
   628	
   629		ishtp_set_connection_state(ecl_ishtp_cl, ISHTP_CL_DISCONNECTING);
   630		ishtp_cl_disconnect(ecl_ishtp_cl);
   631		ecl_ishtp_cl_deinit(ecl_ishtp_cl);
   632	
   633		return 0;
   634	}
   635	
   636	static int ecl_ishtp_cl_reset(struct ishtp_cl_device *cl_device)
   637	{
   638		struct ishtp_cl *ecl_ishtp_cl = ishtp_get_drvdata(cl_device);
   639		struct ishtp_opregion_dev *opr_dev =
   640			ishtp_get_client_data(ecl_ishtp_cl);
   641	
   642		schedule_work(&opr_dev->reset_work);
   643	
   644		return 0;
   645	}
   646	
   647	static int ecl_ishtp_cl_suspend(struct device *device)
   648	{
   649		struct ishtp_cl_device *cl_device = ishtp_dev_to_cl_device(device);
   650		struct ishtp_cl *ecl_ishtp_cl = ishtp_get_drvdata(cl_device);
   651		struct ishtp_opregion_dev *opr_dev =
   652			ishtp_get_client_data(ecl_ishtp_cl);
   653	
   654		if (acpi_target_system_state() == ACPI_STATE_S0)
   655			return 0;
   656	
   657		acpi_opregion_deinit(opr_dev);
   658		ecl_ish_cl_enable_events(opr_dev, false);
   659	
   660		return 0;
   661	}
   662	
   663	static int ecl_ishtp_cl_resume(struct device *device)
   664	{
   665		/* A reset is expected to call after an Sx. At this point
   666		 * we are not sure if the link is up or not to restore anything,
   667		 * so do nothing in resume path
   668		 */
   669		return 0;
   670	}
   671	
   672	static const struct dev_pm_ops ecl_ishtp_pm_ops = {
   673		.suspend = ecl_ishtp_cl_suspend,
   674		.resume = ecl_ishtp_cl_resume,
   675	};
   676	
   677	static struct ishtp_cl_driver ecl_ishtp_cl_driver = {
   678		.name = "ishtp-eclite",
   679		.guid = &ecl_ishtp_guid,
   680		.probe = ecl_ishtp_cl_probe,
 > 681		.remove = ecl_ishtp_cl_remove,
   682		.reset = ecl_ishtp_cl_reset,
   683		.driver.pm = &ecl_ishtp_pm_ops,
   684	};
   685	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (65706 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ