[android-common:android16-6.12-desktop 1/1] drivers/platform/x86/thinkpad_acpi.c:10608:10: error: 'struct platform_profile_handler' has no member named 'profile_get'

kernel test robot <[email protected]>
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
Hi Kurt,

FYI, the error/warning still remains.

tree:   https://android.googlesource.com/kernel/common android16-6.12-desktop
head:   24c37396da197463e1ff2bc69bb789e34dacad53
commit: ea909ed70c5c85d9c3f781b4a009e6a6ddbb133a [1/1] BACKPORT: UPSTREAM: ACPI: platform_profile: Add `ops` member to handlers
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20260813/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/[email protected]/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 <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

   drivers/platform/x86/thinkpad_acpi.c: In function 'dytc_profile_refresh':
   drivers/platform/x86/thinkpad_acpi.c:10603:17: error: too few arguments to function 'platform_profile_notify'
   10603 |                 platform_profile_notify();
         |                 ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from drivers/platform/x86/thinkpad_acpi.c:60:
   include/linux/platform_profile.h:51:6: note: declared here
      51 | void platform_profile_notify(struct platform_profile_handler *pprof);
         |      ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/platform/x86/thinkpad_acpi.c: At top level:
>> drivers/platform/x86/thinkpad_acpi.c:10608:10: error: 'struct platform_profile_handler' has no member named 'profile_get'
   10608 |         .profile_get = dytc_profile_get,
         |          ^~~~~~~~~~~
   drivers/platform/x86/thinkpad_acpi.c:10608:24: error: initialization of 'const char *' from incompatible pointer type 'int (*)(struct platform_profile_handler *, enum platform_profile_option *)' [-Wincompatible-pointer-types]
   10608 |         .profile_get = dytc_profile_get,
         |                        ^~~~~~~~~~~~~~~~
   drivers/platform/x86/thinkpad_acpi.c:10608:24: note: (near initialization for 'dytc_profile.name')
>> drivers/platform/x86/thinkpad_acpi.c:10609:10: error: 'struct platform_profile_handler' has no member named 'profile_set'
   10609 |         .profile_set = dytc_profile_set,
         |          ^~~~~~~~~~~
   drivers/platform/x86/thinkpad_acpi.c:10609:24: error: initialization of 'struct device *' from incompatible pointer type 'int (*)(struct platform_profile_handler *, enum platform_profile_option)' [-Wincompatible-pointer-types]
   10609 |         .profile_set = dytc_profile_set,
         |                        ^~~~~~~~~~~~~~~~
   drivers/platform/x86/thinkpad_acpi.c:10609:24: note: (near initialization for 'dytc_profile.dev')
   drivers/platform/x86/thinkpad_acpi.c: In function 'tpacpi_dytc_profile_init':
   drivers/platform/x86/thinkpad_acpi.c:10681:15: error: too few arguments to function 'platform_profile_register'
   10681 |         err = platform_profile_register(&dytc_profile);
         |               ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_profile.h:47:5: note: declared here
      47 | int platform_profile_register(struct platform_profile_handler *pprof, void *drvdata);
         |     ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/platform/x86/thinkpad_acpi.c: In function 'dytc_profile_exit':
   drivers/platform/x86/thinkpad_acpi.c:10701:9: error: too few arguments to function 'platform_profile_remove'
   10701 |         platform_profile_remove();
         |         ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/platform_profile.h:48:5: note: declared here
      48 | int platform_profile_remove(struct platform_profile_handler *pprof);
         |     ^~~~~~~~~~~~~~~~~~~~~~~


vim +10608 drivers/platform/x86/thinkpad_acpi.c

c3bfcd4c676238e Mark Pearson      2021-01-11  10574  
c3bfcd4c676238e Mark Pearson      2021-01-11  10575  static void dytc_profile_refresh(void)
c3bfcd4c676238e Mark Pearson      2021-01-11  10576  {
c3bfcd4c676238e Mark Pearson      2021-01-11  10577  	enum platform_profile_option profile;
f999e23ce66c155 Mark Pearson      2023-06-06  10578  	int output = 0, err = 0;
f999e23ce66c155 Mark Pearson      2023-06-06  10579  	int perfmode, funcmode = 0;
c3bfcd4c676238e Mark Pearson      2021-01-11  10580  
c3bfcd4c676238e Mark Pearson      2021-01-11  10581  	mutex_lock(&dytc_mutex);
42504af775361ca Mark Pearson      2022-06-03  10582  	if (dytc_capabilities & BIT(DYTC_FC_MMC)) {
7a47f86bba748b3 Mark Pearson      2021-04-06  10583  		if (dytc_mmc_get_available)
7a47f86bba748b3 Mark Pearson      2021-04-06  10584  			err = dytc_command(DYTC_CMD_MMC_GET, &output);
7a47f86bba748b3 Mark Pearson      2021-04-06  10585  		else
c3bfcd4c676238e Mark Pearson      2021-01-11  10586  			err = dytc_cql_command(DYTC_CMD_GET, &output);
1bc5d819f0b9784 Mark Pearson      2023-01-24  10587  		funcmode = DYTC_FUNCTION_MMC;
1bc5d819f0b9784 Mark Pearson      2023-01-24  10588  	} else if (dytc_capabilities & BIT(DYTC_FC_PSC)) {
e1c21608e3cfc4b Mark Pearson      2022-02-25  10589  		err = dytc_command(DYTC_CMD_GET, &output);
1bc5d819f0b9784 Mark Pearson      2023-01-24  10590  		/* Check if we are PSC mode, or have AMT enabled */
1bc5d819f0b9784 Mark Pearson      2023-01-24  10591  		funcmode = (output >> DYTC_GET_FUNCTION_BIT) & 0xF;
f999e23ce66c155 Mark Pearson      2023-06-06  10592  	} else { /* Unknown profile mode */
f999e23ce66c155 Mark Pearson      2023-06-06  10593  		err = -ENODEV;
1bc5d819f0b9784 Mark Pearson      2023-01-24  10594  	}
c3bfcd4c676238e Mark Pearson      2021-01-11  10595  	mutex_unlock(&dytc_mutex);
c3bfcd4c676238e Mark Pearson      2021-01-11  10596  	if (err)
c3bfcd4c676238e Mark Pearson      2021-01-11  10597  		return;
c3bfcd4c676238e Mark Pearson      2021-01-11  10598  
c3bfcd4c676238e Mark Pearson      2021-01-11  10599  	perfmode = (output >> DYTC_GET_MODE_BIT) & 0xF;
427c70dec738318 Mario Limonciello 2024-02-16  10600  	err = convert_dytc_to_profile(funcmode, perfmode, &profile);
427c70dec738318 Mario Limonciello 2024-02-16  10601  	if (!err && profile != dytc_current_profile) {
c3bfcd4c676238e Mark Pearson      2021-01-11  10602  		dytc_current_profile = profile;
c3bfcd4c676238e Mark Pearson      2021-01-11 @10603  		platform_profile_notify();
c3bfcd4c676238e Mark Pearson      2021-01-11  10604  	}
c3bfcd4c676238e Mark Pearson      2021-01-11  10605  }
c3bfcd4c676238e Mark Pearson      2021-01-11  10606  
c3bfcd4c676238e Mark Pearson      2021-01-11  10607  static struct platform_profile_handler dytc_profile = {
c3bfcd4c676238e Mark Pearson      2021-01-11 @10608  	.profile_get = dytc_profile_get,
c3bfcd4c676238e Mark Pearson      2021-01-11 @10609  	.profile_set = dytc_profile_set,
c3bfcd4c676238e Mark Pearson      2021-01-11  10610  };
c3bfcd4c676238e Mark Pearson      2021-01-11  10611  

:::::: The code at line 10608 was first introduced by commit
:::::: c3bfcd4c676238e198d5a798b50e5d424bf05497 platform/x86: thinkpad_acpi: Add platform profile support

:::::: TO: Mark Pearson <[email protected]>
:::::: CC: Hans de Goede <[email protected]>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.