lkml.org 
[lkml]   [2021]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] ACPI: PCC: Implement OperationRegion handler for the PCC Type 3 subtype
Hi Sudeep,

I love your patch! Yet something to improve:

[auto build test ERROR on rafael-pm/linux-next]
[also build test ERROR on linux/master linus/master v5.16-rc6 next-20211222]
[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/Sudeep-Holla/ACPI-PCC-Implement-OperationRegion-handler-for-the-PCC-Type-3-subtype/20211223-030953
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: arm64-randconfig-r034-20211222 (https://download.01.org/0day-ci/archive/20211223/202112230517.xGNBVseT-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/d47183476e4a00211d39cd175b92fe5c11fbb65a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sudeep-Holla/ACPI-PCC-Implement-OperationRegion-handler-for-the-PCC-Type-3-subtype/20211223-030953
git checkout d47183476e4a00211d39cd175b92fe5c11fbb65a
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/acpi/

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

All errors (new ones prefixed by >>):

>> drivers/acpi/pcc_opregion.c:22:30: error: field 'ctx' has incomplete type
22 | struct acpi_pcc_info ctx;
| ^~~
In file included from include/acpi/acpi.h:29,
from include/linux/acpi.h:22,
from drivers/acpi/pcc_opregion.c:10:
drivers/acpi/pcc_opregion.c: In function 'acpi_pcc_opregion_setup':
>> include/acpi/acoutput.h:398:26: error: implicit declaration of function 'acpi_ut_status_exit'; did you mean 'acpi_irq_stats_init'? [-Werror=implicit-function-declaration]
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:281:44: note: in definition of macro 'ACPI_DO_WHILE0'
281 | #define ACPI_DO_WHILE0(a) do a while(0)
| ^
include/acpi/acoutput.h:398:9: note: in expansion of macro 'ACPI_TRACE_EXIT'
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c:44:17: note: in expansion of macro 'return_ACPI_STATUS'
44 | return_ACPI_STATUS(AE_NO_MEMORY);
| ^~~~~~~~~~~~~~~~~~
>> include/acpi/acoutput.h:258:43: error: '_acpi_module_name' undeclared (first use in this function); did you mean 'quota_module_name'?
258 | __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
| ^~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:281:44: note: in definition of macro 'ACPI_DO_WHILE0'
281 | #define ACPI_DO_WHILE0(a) do a while(0)
| ^
include/acpi/acoutput.h:375:27: note: in expansion of macro 'ACPI_DEBUG_PARAMETERS'
375 | function (ACPI_DEBUG_PARAMETERS, _param); \
| ^~~~~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:398:9: note: in expansion of macro 'ACPI_TRACE_EXIT'
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c:44:17: note: in expansion of macro 'return_ACPI_STATUS'
44 | return_ACPI_STATUS(AE_NO_MEMORY);
| ^~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:258:43: note: each undeclared identifier is reported only once for each function it appears in
258 | __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
| ^~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:281:44: note: in definition of macro 'ACPI_DO_WHILE0'
281 | #define ACPI_DO_WHILE0(a) do a while(0)
| ^
include/acpi/acoutput.h:375:27: note: in expansion of macro 'ACPI_DEBUG_PARAMETERS'
375 | function (ACPI_DEBUG_PARAMETERS, _param); \
| ^~~~~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:398:9: note: in expansion of macro 'ACPI_TRACE_EXIT'
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c:44:17: note: in expansion of macro 'return_ACPI_STATUS'
44 | return_ACPI_STATUS(AE_NO_MEMORY);
| ^~~~~~~~~~~~~~~~~~
>> include/acpi/acoutput.h:258:62: error: '_COMPONENT' undeclared (first use in this function)
258 | __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
| ^~~~~~~~~~
include/acpi/acoutput.h:281:44: note: in definition of macro 'ACPI_DO_WHILE0'
281 | #define ACPI_DO_WHILE0(a) do a while(0)
| ^
include/acpi/acoutput.h:375:27: note: in expansion of macro 'ACPI_DEBUG_PARAMETERS'
375 | function (ACPI_DEBUG_PARAMETERS, _param); \
| ^~~~~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:398:9: note: in expansion of macro 'ACPI_TRACE_EXIT'
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c:44:17: note: in expansion of macro 'return_ACPI_STATUS'
44 | return_ACPI_STATUS(AE_NO_MEMORY);
| ^~~~~~~~~~~~~~~~~~
>> drivers/acpi/pcc_opregion.c:48:31: error: invalid use of undefined type 'struct acpi_pcc_info'
48 | data->ctx.length = ctx->length;
| ^~
drivers/acpi/pcc_opregion.c:49:36: error: invalid use of undefined type 'struct acpi_pcc_info'
49 | data->ctx.subspace_id = ctx->subspace_id;
| ^~
drivers/acpi/pcc_opregion.c:50:40: error: invalid use of undefined type 'struct acpi_pcc_info'
50 | data->ctx.internal_buffer = ctx->internal_buffer;
| ^~
drivers/acpi/pcc_opregion.c:53:65: error: invalid use of undefined type 'struct acpi_pcc_info'
53 | data->pcc_chan = pcc_mbox_request_channel(&data->cl, ctx->subspace_id);
| ^~
In file included from include/linux/kernel.h:20,
from drivers/acpi/pcc_opregion.c:9:
drivers/acpi/pcc_opregion.c:56:27: error: invalid use of undefined type 'struct acpi_pcc_info'
56 | ctx->subspace_id);
| ^~
include/linux/printk.h:422:33: note: in definition of macro 'printk_index_wrap'
422 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:493:9: note: in expansion of macro 'printk'
493 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~
drivers/acpi/pcc_opregion.c:55:17: note: in expansion of macro 'pr_err'
55 | pr_err("Failed to find PCC channel for subspace %d\n",
| ^~~~~~
drivers/acpi/pcc_opregion.c:65:27: error: invalid use of undefined type 'struct acpi_pcc_info'
65 | ctx->subspace_id);
| ^~
include/linux/printk.h:422:33: note: in definition of macro 'printk_index_wrap'
422 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:493:9: note: in expansion of macro 'printk'
493 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~
drivers/acpi/pcc_opregion.c:64:17: note: in expansion of macro 'pr_err'
64 | pr_err("Failed to ioremap PCC comm region mem for %d\n",
| ^~~~~~
In file included from include/acpi/acpi.h:29,
from include/linux/acpi.h:22,
from drivers/acpi/pcc_opregion.c:10:
drivers/acpi/pcc_opregion.c: In function 'acpi_pcc_opregion_space_handler':
>> include/acpi/acoutput.h:258:43: error: '_acpi_module_name' undeclared (first use in this function); did you mean 'quota_module_name'?
258 | __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
| ^~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:281:44: note: in definition of macro 'ACPI_DO_WHILE0'
281 | #define ACPI_DO_WHILE0(a) do a while(0)
| ^
include/acpi/acoutput.h:375:27: note: in expansion of macro 'ACPI_DEBUG_PARAMETERS'
375 | function (ACPI_DEBUG_PARAMETERS, _param); \
| ^~~~~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:398:9: note: in expansion of macro 'ACPI_TRACE_EXIT'
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c:88:17: note: in expansion of macro 'return_ACPI_STATUS'
88 | return_ACPI_STATUS(AE_ERROR);
| ^~~~~~~~~~~~~~~~~~
>> include/acpi/acoutput.h:258:62: error: '_COMPONENT' undeclared (first use in this function)
258 | __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
| ^~~~~~~~~~
include/acpi/acoutput.h:281:44: note: in definition of macro 'ACPI_DO_WHILE0'
281 | #define ACPI_DO_WHILE0(a) do a while(0)
| ^
include/acpi/acoutput.h:375:27: note: in expansion of macro 'ACPI_DEBUG_PARAMETERS'
375 | function (ACPI_DEBUG_PARAMETERS, _param); \
| ^~~~~~~~~~~~~~~~~~~~~
include/acpi/acoutput.h:398:9: note: in expansion of macro 'ACPI_TRACE_EXIT'
398 | ACPI_TRACE_EXIT (acpi_ut_status_exit, acpi_status, status)
| ^~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c:88:17: note: in expansion of macro 'return_ACPI_STATUS'
88 | return_ACPI_STATUS(AE_ERROR);
| ^~~~~~~~~~~~~~~~~~
drivers/acpi/pcc_opregion.c: At top level:
>> drivers/acpi/pcc_opregion.c:25:22: error: storage size of 'pcc_ctx' isn't known
25 | struct acpi_pcc_info pcc_ctx;
| ^~~~~~~
cc1: some warnings being treated as errors


vim +/ctx +22 drivers/acpi/pcc_opregion.c

16
17 struct pcc_data {
18 struct pcc_mbox_chan *pcc_chan;
19 void __iomem *pcc_comm_addr;
20 struct completion done;
21 struct mbox_client cl;
> 22 struct acpi_pcc_info ctx;
23 };
24
> 25 struct acpi_pcc_info pcc_ctx;
26
27 static void pcc_rx_callback(struct mbox_client *cl, void *m)
28 {
29 struct pcc_data *data = container_of(cl, struct pcc_data, cl);
30
31 complete(&data->done);
32 }
33
34 static acpi_status
35 acpi_pcc_opregion_setup(acpi_handle region_handle, u32 function,
36 void *handler_context, void **region_context)
37 {
38 struct pcc_data *data;
39 struct acpi_pcc_info *ctx = handler_context;
40 struct pcc_mbox_chan *pcc_chan;
41
42 data = kzalloc(sizeof(*data), GFP_KERNEL);
43 if (!data)
44 return_ACPI_STATUS(AE_NO_MEMORY);
45
46 data->cl.rx_callback = pcc_rx_callback;
47 data->cl.knows_txdone = true;
> 48 data->ctx.length = ctx->length;
49 data->ctx.subspace_id = ctx->subspace_id;
50 data->ctx.internal_buffer = ctx->internal_buffer;
51
52 init_completion(&data->done);
53 data->pcc_chan = pcc_mbox_request_channel(&data->cl, ctx->subspace_id);
54 if (IS_ERR(data->pcc_chan)) {
55 pr_err("Failed to find PCC channel for subspace %d\n",
56 ctx->subspace_id);
57 return_ACPI_STATUS(AE_NOT_FOUND);
58 }
59
60 pcc_chan = data->pcc_chan;
61 data->pcc_comm_addr = acpi_os_ioremap(pcc_chan->shmem_base_addr,
62 pcc_chan->shmem_size);
63 if (!data->pcc_comm_addr) {
64 pr_err("Failed to ioremap PCC comm region mem for %d\n",
65 ctx->subspace_id);
66 return_ACPI_STATUS(AE_NO_MEMORY);
67 }
68
69 *region_context = data;
70 return_ACPI_STATUS(AE_OK);
71 }
72

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

\
 
 \ /
  Last update: 2021-12-22 22:54    [W:0.049 / U:1.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site