* [openeuler:OLK-6.6 2699/7415] drivers/platform/mpam/mpam_devices.c:247:11: error: implicit declaration of function '__acpi_get_mem_attribute' is invalid in C99
@ 2024-04-16 7:06 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-16 7:06 UTC (permalink / raw)
To: kernel, Zeng Heng; +Cc: oe-kbuild-all
tree: https://gitee.com/openeuler/kernel.git OLK-6.6
head: e053d517d2275e5ae3f8e80d96fa0bb1727c60a8
commit: 3e9e723f3bf92a19e5e15dda89bbb136ce463294 [2699/7415] arm_mpam: Add probe/remove for mpam msc driver and kbuild boiler plate
config: arm64-randconfig-r061-20240416 (https://download.01.org/0day-ci/archive/20240416/202404161519.aROKO5WS-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240416/202404161519.aROKO5WS-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/202404161519.aROKO5WS-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/platform/mpam/mpam_devices.c:212:24: error: no member named 'mon_sel_lock' in 'struct mpam_msc'; did you mean 'part_sel_lock'?
spin_lock_init(&msc->mon_sel_lock);
^~~~~~~~~~~~
part_sel_lock
include/linux/spinlock.h:335:38: note: expanded from macro 'spin_lock_init'
__raw_spin_lock_init(spinlock_check(lock), \
^
drivers/platform/mpam/mpam_internal.h:43:14: note: 'part_sel_lock' declared here
spinlock_t part_sel_lock;
^
>> drivers/platform/mpam/mpam_devices.c:247:11: error: implicit declaration of function '__acpi_get_mem_attribute' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr);
^
drivers/platform/mpam/mpam_devices.c:247:9: error: assigning to 'pgprot_t' from incompatible type 'int'
prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 errors generated.
vim +/__acpi_get_mem_attribute +247 drivers/platform/mpam/mpam_devices.c
170
171 static int mpam_msc_drv_probe(struct platform_device *pdev)
172 {
173 int err;
174 pgprot_t prot;
175 void * __iomem io;
176 struct mpam_msc *msc;
177 struct resource *msc_res;
178 void *plat_data = pdev->dev.platform_data;
179
180 mutex_lock(&mpam_list_lock);
181 do {
182 msc = devm_kzalloc(&pdev->dev, sizeof(*msc), GFP_KERNEL);
183 if (!msc) {
184 err = -ENOMEM;
185 break;
186 }
187
188 INIT_LIST_HEAD_RCU(&msc->glbl_list);
189 msc->pdev = pdev;
190
191 err = device_property_read_u32(&pdev->dev, "arm,not-ready-us",
192 &msc->nrdy_usec);
193 if (err) {
194 /* This will prevent CSU monitors being usable */
195 msc->nrdy_usec = 0;
196 }
197
198 err = get_msc_affinity(msc);
199 if (err)
200 break;
201 if (cpumask_empty(&msc->accessibility)) {
202 pr_err_once("msc:%u is not accessible from any CPU!",
203 msc->id);
204 err = -EINVAL;
205 break;
206 }
207
208 mutex_init(&msc->lock);
209 msc->id = mpam_num_msc++;
210 INIT_LIST_HEAD_RCU(&msc->ris);
211 spin_lock_init(&msc->part_sel_lock);
212 spin_lock_init(&msc->mon_sel_lock);
213
214 if (device_property_read_u32(&pdev->dev, "pcc-channel",
215 &msc->pcc_subspace_id))
216 msc->iface = MPAM_IFACE_MMIO;
217 else
218 msc->iface = MPAM_IFACE_PCC;
219
220 if (msc->iface == MPAM_IFACE_MMIO) {
221 io = devm_platform_get_and_ioremap_resource(pdev, 0,
222 &msc_res);
223 if (IS_ERR(io)) {
224 pr_err("Failed to map MSC base address\n");
225 devm_kfree(&pdev->dev, msc);
226 err = PTR_ERR(io);
227 break;
228 }
229 msc->mapped_hwpage_sz = msc_res->end - msc_res->start;
230 msc->mapped_hwpage = io;
231 } else if (msc->iface == MPAM_IFACE_PCC) {
232 msc->pcc_cl.dev = &pdev->dev;
233 msc->pcc_cl.rx_callback = mpam_pcc_rx_callback;
234 msc->pcc_cl.tx_block = false;
235 msc->pcc_cl.tx_tout = 1000; /* 1s */
236 msc->pcc_cl.knows_txdone = false;
237
238 msc->pcc_chan = pcc_mbox_request_channel(&msc->pcc_cl,
239 msc->pcc_subspace_id);
240 if (IS_ERR(msc->pcc_chan)) {
241 pr_err("Failed to request MSC PCC channel\n");
242 devm_kfree(&pdev->dev, msc);
243 err = PTR_ERR(msc->pcc_chan);
244 break;
245 }
246
> 247 prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr);
248 io = ioremap_prot(msc->pcc_chan->shmem_base_addr,
249 msc->pcc_chan->shmem_size, pgprot_val(prot));
250 if (IS_ERR(io)) {
251 pr_err("Failed to map MSC base address\n");
252 pcc_mbox_free_channel(msc->pcc_chan);
253 devm_kfree(&pdev->dev, msc);
254 err = PTR_ERR(io);
255 break;
256 }
257
258 /* TODO: issue a read to update the registers */
259
260 msc->mapped_hwpage_sz = msc->pcc_chan->shmem_size;
261 msc->mapped_hwpage = io + sizeof(struct acpi_pcct_shared_memory);
262 }
263
264 list_add_rcu(&msc->glbl_list, &mpam_all_msc);
265 platform_set_drvdata(pdev, msc);
266 } while (0);
267 mutex_unlock(&mpam_list_lock);
268
269 if (!err) {
270 /* Create RIS entries described by firmware */
271 if (!acpi_disabled)
272 err = acpi_mpam_parse_resources(msc, plat_data);
273 else
274 err = mpam_dt_parse_resources(msc, plat_data);
275 }
276
277 if (!err && fw_num_msc == mpam_num_msc)
278 mpam_discovery_complete();
279
280 return err;
281 }
282
--
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-04-16 7:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-16 7:06 [openeuler:OLK-6.6 2699/7415] drivers/platform/mpam/mpam_devices.c:247:11: error: implicit declaration of function '__acpi_get_mem_attribute' is invalid in C99 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.