Message ID | 20230320061157.29660-1-yuzhe@nfschina.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] remoteproc: remove unnecessary (void*) conversions | expand |
Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on v6.3-rc3] [also build test WARNING on linus/master] [cannot apply to remoteproc/rproc-next next-20230320] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yu-Zhe/remoteproc-remove-unnecessary-void-conversions/20230320-141403 patch link: https://lore.kernel.org/r/20230320061157.29660-1-yuzhe%40nfschina.com patch subject: [PATCH v2] remoteproc: remove unnecessary (void*) conversions config: arm-allmodconfig (https://download.01.org/0day-ci/archive/20230320/202303201947.sffcGruP-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.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/intel-lab-lkp/linux/commit/38335303eda6c4de037cd00e20c9065a76f82291 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yu-Zhe/remoteproc-remove-unnecessary-void-conversions/20230320-141403 git checkout 38335303eda6c4de037cd00e20c9065a76f82291 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/remoteproc/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202303201947.sffcGruP-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/remoteproc/st_remoteproc.c: In function 'st_rproc_probe': >> drivers/remoteproc/st_remoteproc.c:361:23: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 361 | ddata->config = match->data; | ^ vim +/const +361 drivers/remoteproc/st_remoteproc.c 337 338 static int st_rproc_probe(struct platform_device *pdev) 339 { 340 struct device *dev = &pdev->dev; 341 const struct of_device_id *match; 342 struct st_rproc *ddata; 343 struct device_node *np = dev->of_node; 344 struct rproc *rproc; 345 struct mbox_chan *chan; 346 int enabled; 347 int ret, i; 348 349 match = of_match_device(st_rproc_match, dev); 350 if (!match || !match->data) { 351 dev_err(dev, "No device match found\n"); 352 return -ENODEV; 353 } 354 355 rproc = rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata)); 356 if (!rproc) 357 return -ENOMEM; 358 359 rproc->has_iommu = false; 360 ddata = rproc->priv; > 361 ddata->config = match->data; 362 363 platform_set_drvdata(pdev, rproc); 364 365 ret = st_rproc_parse_dt(pdev); 366 if (ret) 367 goto free_rproc; 368 369 enabled = st_rproc_state(pdev); 370 if (enabled < 0) { 371 ret = enabled; 372 goto free_clk; 373 } 374 375 if (enabled) { 376 atomic_inc(&rproc->power); 377 rproc->state = RPROC_RUNNING; 378 } else { 379 clk_set_rate(ddata->clk, ddata->clk_rate); 380 } 381 382 if (of_get_property(np, "mbox-names", NULL)) { 383 ddata->mbox_client_vq0.dev = dev; 384 ddata->mbox_client_vq0.tx_done = NULL; 385 ddata->mbox_client_vq0.tx_block = false; 386 ddata->mbox_client_vq0.knows_txdone = false; 387 ddata->mbox_client_vq0.rx_callback = st_rproc_mbox_callback_vq0; 388 389 ddata->mbox_client_vq1.dev = dev; 390 ddata->mbox_client_vq1.tx_done = NULL; 391 ddata->mbox_client_vq1.tx_block = false; 392 ddata->mbox_client_vq1.knows_txdone = false; 393 ddata->mbox_client_vq1.rx_callback = st_rproc_mbox_callback_vq1; 394 395 /* 396 * To control a co-processor without IPC mechanism. 397 * This driver can be used without mbox and rpmsg. 398 */ 399 chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_rx"); 400 if (IS_ERR(chan)) { 401 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); 402 ret = PTR_ERR(chan); 403 goto free_clk; 404 } 405 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; 406 407 chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_tx"); 408 if (IS_ERR(chan)) { 409 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); 410 ret = PTR_ERR(chan); 411 goto free_mbox; 412 } 413 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; 414 415 chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_rx"); 416 if (IS_ERR(chan)) { 417 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); 418 ret = PTR_ERR(chan); 419 goto free_mbox; 420 } 421 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; 422 423 chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_tx"); 424 if (IS_ERR(chan)) { 425 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); 426 ret = PTR_ERR(chan); 427 goto free_mbox; 428 } 429 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan; 430 } 431 432 ret = rproc_add(rproc); 433 if (ret) 434 goto free_mbox; 435 436 return 0; 437 438 free_mbox: 439 for (i = 0; i < ST_RPROC_MAX_VRING * MBOX_MAX; i++) 440 mbox_free_channel(ddata->mbox_chan[i]); 441 free_clk: 442 clk_unprepare(ddata->clk); 443 free_rproc: 444 rproc_free(rproc); 445 return ret; 446 } 447
Hi Yu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on v6.3-rc3] [also build test WARNING on linus/master] [cannot apply to remoteproc/rproc-next next-20230324] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yu-Zhe/remoteproc-remove-unnecessary-void-conversions/20230320-141403 patch link: https://lore.kernel.org/r/20230320061157.29660-1-yuzhe%40nfschina.com patch subject: [PATCH v2] remoteproc: remove unnecessary (void*) conversions config: arm-randconfig-s053-20230326 (https://download.01.org/0day-ci/archive/20230326/202303261950.I6rq9snr-lkp@intel.com/config) compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/intel-lab-lkp/linux/commit/38335303eda6c4de037cd00e20c9065a76f82291 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yu-Zhe/remoteproc-remove-unnecessary-void-conversions/20230320-141403 git checkout 38335303eda6c4de037cd00e20c9065a76f82291 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash drivers/remoteproc/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202303261950.I6rq9snr-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/remoteproc/stm32_rproc.c:122:12: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void *va @@ got void [noderef] __iomem * @@ drivers/remoteproc/stm32_rproc.c:122:12: sparse: expected void *va drivers/remoteproc/stm32_rproc.c:122:12: sparse: got void [noderef] __iomem * drivers/remoteproc/stm32_rproc.c:139:20: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *io_addr @@ got void *va @@ drivers/remoteproc/stm32_rproc.c:139:20: sparse: expected void volatile [noderef] __iomem *io_addr drivers/remoteproc/stm32_rproc.c:139:20: sparse: got void *va >> drivers/remoteproc/stm32_rproc.c:632:21: sparse: sparse: incorrect type in return expression (different address spaces) @@ expected struct resource_table * @@ got void [noderef] __iomem *rsc_va @@ drivers/remoteproc/stm32_rproc.c:632:21: sparse: expected struct resource_table * drivers/remoteproc/stm32_rproc.c:632:21: sparse: got void [noderef] __iomem *rsc_va vim +632 drivers/remoteproc/stm32_rproc.c 588 589 static struct resource_table * 590 stm32_rproc_get_loaded_rsc_table(struct rproc *rproc, size_t *table_sz) 591 { 592 struct stm32_rproc *ddata = rproc->priv; 593 struct device *dev = rproc->dev.parent; 594 phys_addr_t rsc_pa; 595 u32 rsc_da; 596 int err; 597 598 /* The resource table has already been mapped, nothing to do */ 599 if (ddata->rsc_va) 600 goto done; 601 602 err = regmap_read(ddata->rsctbl.map, ddata->rsctbl.reg, &rsc_da); 603 if (err) { 604 dev_err(dev, "failed to read rsc tbl addr\n"); 605 return ERR_PTR(-EINVAL); 606 } 607 608 if (!rsc_da) 609 /* no rsc table */ 610 return ERR_PTR(-ENOENT); 611 612 err = stm32_rproc_da_to_pa(rproc, rsc_da, &rsc_pa); 613 if (err) 614 return ERR_PTR(err); 615 616 ddata->rsc_va = devm_ioremap_wc(dev, rsc_pa, RSC_TBL_SIZE); 617 if (IS_ERR_OR_NULL(ddata->rsc_va)) { 618 dev_err(dev, "Unable to map memory region: %pa+%zx\n", 619 &rsc_pa, RSC_TBL_SIZE); 620 ddata->rsc_va = NULL; 621 return ERR_PTR(-ENOMEM); 622 } 623 624 done: 625 /* 626 * Assuming the resource table fits in 1kB is fair. 627 * Notice for the detach, that this 1 kB memory area has to be reserved in the coprocessor 628 * firmware for the resource table. On detach, the remoteproc core re-initializes this 629 * entire area by overwriting it with the initial values stored in rproc->clean_table. 630 */ 631 *table_sz = RSC_TBL_SIZE; > 632 return ddata->rsc_va; 633 } 634
Hi Yu, Thank you for the patch! Yet something to improve: [auto build test ERROR on v6.3-rc3] [also build test ERROR on linus/master] [cannot apply to remoteproc/rproc-next next-20230327] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yu-Zhe/remoteproc-remove-unnecessary-void-conversions/20230320-141403 patch link: https://lore.kernel.org/r/20230320061157.29660-1-yuzhe%40nfschina.com patch subject: [PATCH v2] remoteproc: remove unnecessary (void*) conversions config: arm-defconfig (https://download.01.org/0day-ci/archive/20230327/202303272213.jOYrwBZu-lkp@intel.com/config) compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7) 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 # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/intel-lab-lkp/linux/commit/38335303eda6c4de037cd00e20c9065a76f82291 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Yu-Zhe/remoteproc-remove-unnecessary-void-conversions/20230320-141403 git checkout 38335303eda6c4de037cd00e20c9065a76f82291 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/remoteproc/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202303272213.jOYrwBZu-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/remoteproc/st_remoteproc.c:361:16: error: assigning to 'struct st_rproc_config *' from 'const void *const' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] ddata->config = match->data; ^ ~~~~~~~~~~~ 1 error generated. vim +361 drivers/remoteproc/st_remoteproc.c 337 338 static int st_rproc_probe(struct platform_device *pdev) 339 { 340 struct device *dev = &pdev->dev; 341 const struct of_device_id *match; 342 struct st_rproc *ddata; 343 struct device_node *np = dev->of_node; 344 struct rproc *rproc; 345 struct mbox_chan *chan; 346 int enabled; 347 int ret, i; 348 349 match = of_match_device(st_rproc_match, dev); 350 if (!match || !match->data) { 351 dev_err(dev, "No device match found\n"); 352 return -ENODEV; 353 } 354 355 rproc = rproc_alloc(dev, np->name, &st_rproc_ops, NULL, sizeof(*ddata)); 356 if (!rproc) 357 return -ENOMEM; 358 359 rproc->has_iommu = false; 360 ddata = rproc->priv; > 361 ddata->config = match->data; 362 363 platform_set_drvdata(pdev, rproc); 364 365 ret = st_rproc_parse_dt(pdev); 366 if (ret) 367 goto free_rproc; 368 369 enabled = st_rproc_state(pdev); 370 if (enabled < 0) { 371 ret = enabled; 372 goto free_clk; 373 } 374 375 if (enabled) { 376 atomic_inc(&rproc->power); 377 rproc->state = RPROC_RUNNING; 378 } else { 379 clk_set_rate(ddata->clk, ddata->clk_rate); 380 } 381 382 if (of_get_property(np, "mbox-names", NULL)) { 383 ddata->mbox_client_vq0.dev = dev; 384 ddata->mbox_client_vq0.tx_done = NULL; 385 ddata->mbox_client_vq0.tx_block = false; 386 ddata->mbox_client_vq0.knows_txdone = false; 387 ddata->mbox_client_vq0.rx_callback = st_rproc_mbox_callback_vq0; 388 389 ddata->mbox_client_vq1.dev = dev; 390 ddata->mbox_client_vq1.tx_done = NULL; 391 ddata->mbox_client_vq1.tx_block = false; 392 ddata->mbox_client_vq1.knows_txdone = false; 393 ddata->mbox_client_vq1.rx_callback = st_rproc_mbox_callback_vq1; 394 395 /* 396 * To control a co-processor without IPC mechanism. 397 * This driver can be used without mbox and rpmsg. 398 */ 399 chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_rx"); 400 if (IS_ERR(chan)) { 401 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); 402 ret = PTR_ERR(chan); 403 goto free_clk; 404 } 405 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_RX] = chan; 406 407 chan = mbox_request_channel_byname(&ddata->mbox_client_vq0, "vq0_tx"); 408 if (IS_ERR(chan)) { 409 dev_err(&rproc->dev, "failed to request mbox chan 0\n"); 410 ret = PTR_ERR(chan); 411 goto free_mbox; 412 } 413 ddata->mbox_chan[ST_RPROC_VQ0 * MBOX_MAX + MBOX_TX] = chan; 414 415 chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_rx"); 416 if (IS_ERR(chan)) { 417 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); 418 ret = PTR_ERR(chan); 419 goto free_mbox; 420 } 421 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_RX] = chan; 422 423 chan = mbox_request_channel_byname(&ddata->mbox_client_vq1, "vq1_tx"); 424 if (IS_ERR(chan)) { 425 dev_err(&rproc->dev, "failed to request mbox chan 1\n"); 426 ret = PTR_ERR(chan); 427 goto free_mbox; 428 } 429 ddata->mbox_chan[ST_RPROC_VQ1 * MBOX_MAX + MBOX_TX] = chan; 430 } 431 432 ret = rproc_add(rproc); 433 if (ret) 434 goto free_mbox; 435 436 return 0; 437 438 free_mbox: 439 for (i = 0; i < ST_RPROC_MAX_VRING * MBOX_MAX; i++) 440 mbox_free_channel(ddata->mbox_chan[i]); 441 free_clk: 442 clk_unprepare(ddata->clk); 443 free_rproc: 444 rproc_free(rproc); 445 return ret; 446 } 447
diff --git a/drivers/remoteproc/da8xx_remoteproc.c b/drivers/remoteproc/da8xx_remoteproc.c index 98e0be9476a4..768217f0f5cd 100644 --- a/drivers/remoteproc/da8xx_remoteproc.c +++ b/drivers/remoteproc/da8xx_remoteproc.c @@ -84,7 +84,7 @@ struct da8xx_rproc { */ static irqreturn_t handle_event(int irq, void *p) { - struct rproc *rproc = (struct rproc *)p; + struct rproc *rproc = p; /* Process incoming buffers on all our vrings */ rproc_vq_interrupt(rproc, 0); @@ -104,8 +104,8 @@ static irqreturn_t handle_event(int irq, void *p) */ static irqreturn_t da8xx_rproc_callback(int irq, void *p) { - struct rproc *rproc = (struct rproc *)p; - struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; + struct rproc *rproc = p; + struct da8xx_rproc *drproc = rproc->priv; u32 chipsig; chipsig = readl(drproc->chipsig); @@ -133,7 +133,7 @@ static irqreturn_t da8xx_rproc_callback(int irq, void *p) static int da8xx_rproc_start(struct rproc *rproc) { struct device *dev = rproc->dev.parent; - struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; + struct da8xx_rproc *drproc = rproc->priv; struct clk *dsp_clk = drproc->dsp_clk; struct reset_control *dsp_reset = drproc->dsp_reset; int ret; @@ -183,7 +183,7 @@ static int da8xx_rproc_stop(struct rproc *rproc) /* kick a virtqueue */ static void da8xx_rproc_kick(struct rproc *rproc, int vqid) { - struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; + struct da8xx_rproc *drproc = rproc->priv; /* Interrupt remote proc */ writel(SYSCFG_CHIPSIG2, drproc->chipsig); @@ -360,7 +360,7 @@ static int da8xx_rproc_probe(struct platform_device *pdev) static int da8xx_rproc_remove(struct platform_device *pdev) { struct rproc *rproc = platform_get_drvdata(pdev); - struct da8xx_rproc *drproc = (struct da8xx_rproc *)rproc->priv; + struct da8xx_rproc *drproc = rproc->priv; struct device *dev = &pdev->dev; /* diff --git a/drivers/remoteproc/mtk_scp.c b/drivers/remoteproc/mtk_scp.c index 0861b76f185f..e1d93e63d7df 100644 --- a/drivers/remoteproc/mtk_scp.c +++ b/drivers/remoteproc/mtk_scp.c @@ -74,8 +74,8 @@ static void scp_wdt_handler(struct mtk_scp *scp, u32 scp_to_host) static void scp_init_ipi_handler(void *data, unsigned int len, void *priv) { - struct mtk_scp *scp = (struct mtk_scp *)priv; - struct scp_run *run = (struct scp_run *)data; + struct mtk_scp *scp = priv; + struct scp_run *run = data; scp->run.signaled = run->signaled; strscpy(scp->run.fw_ver, run->fw_ver, SCP_FW_VER_LEN); @@ -498,7 +498,7 @@ static int scp_parse_fw(struct rproc *rproc, const struct firmware *fw) static int scp_start(struct rproc *rproc) { - struct mtk_scp *scp = (struct mtk_scp *)rproc->priv; + struct mtk_scp *scp = rproc->priv; struct device *dev = scp->dev; struct scp_run *run = &scp->run; int ret; @@ -587,7 +587,7 @@ static void *mt8192_scp_da_to_va(struct mtk_scp *scp, u64 da, size_t len) static void *scp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) { - struct mtk_scp *scp = (struct mtk_scp *)rproc->priv; + struct mtk_scp *scp = rproc->priv; return scp->data->scp_da_to_va(scp, da, len); } @@ -627,7 +627,7 @@ static void mt8195_scp_stop(struct mtk_scp *scp) static int scp_stop(struct rproc *rproc) { - struct mtk_scp *scp = (struct mtk_scp *)rproc->priv; + struct mtk_scp *scp = rproc->priv; int ret; ret = clk_prepare_enable(scp->clk); @@ -829,7 +829,7 @@ static int scp_probe(struct platform_device *pdev) if (!rproc) return dev_err_probe(dev, -ENOMEM, "unable to allocate remoteproc\n"); - scp = (struct mtk_scp *)rproc->priv; + scp = rproc->priv; scp->rproc = rproc; scp->dev = dev; scp->data = of_device_get_match_data(dev); diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c index 08d8dad22ca7..d546ab9dc141 100644 --- a/drivers/remoteproc/qcom_q6v5_adsp.c +++ b/drivers/remoteproc/qcom_q6v5_adsp.c @@ -321,7 +321,7 @@ static int qcom_adsp_shutdown(struct qcom_adsp *adsp) static int adsp_load(struct rproc *rproc, const struct firmware *fw) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int ret; ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0, @@ -379,7 +379,7 @@ static int adsp_map_carveout(struct rproc *rproc) static int adsp_start(struct rproc *rproc) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int ret; unsigned int val; @@ -469,7 +469,7 @@ static void qcom_adsp_pil_handover(struct qcom_q6v5 *q6v5) static int adsp_stop(struct rproc *rproc) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int handover; int ret; @@ -492,7 +492,7 @@ static int adsp_stop(struct rproc *rproc) static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int offset; offset = da - adsp->mem_reloc; @@ -696,7 +696,7 @@ static int adsp_probe(struct platform_device *pdev) rproc->has_iommu = desc->has_iommu; rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); - adsp = (struct qcom_adsp *)rproc->priv; + adsp = rproc->priv; adsp->dev = &pdev->dev; adsp->rproc = rproc; adsp->info_name = desc->sysmon_name; diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c index ab053084f7a2..e7a67c8c16a0 100644 --- a/drivers/remoteproc/qcom_q6v5_mss.c +++ b/drivers/remoteproc/qcom_q6v5_mss.c @@ -1562,7 +1562,7 @@ static void qcom_q6v5_dump_segment(struct rproc *rproc, static int q6v5_start(struct rproc *rproc) { - struct q6v5 *qproc = (struct q6v5 *)rproc->priv; + struct q6v5 *qproc = rproc->priv; int xfermemop_ret; int ret; @@ -1604,7 +1604,7 @@ static int q6v5_start(struct rproc *rproc) static int q6v5_stop(struct rproc *rproc) { - struct q6v5 *qproc = (struct q6v5 *)rproc->priv; + struct q6v5 *qproc = rproc->priv; int ret; ret = qcom_q6v5_request_stop(&qproc->q6v5, qproc->sysmon); @@ -1662,7 +1662,7 @@ static int qcom_q6v5_register_dump_segments(struct rproc *rproc, static unsigned long q6v5_panic(struct rproc *rproc) { - struct q6v5 *qproc = (struct q6v5 *)rproc->priv; + struct q6v5 *qproc = rproc->priv; return qcom_q6v5_panic(&qproc->q6v5); } @@ -1977,7 +1977,7 @@ static int q6v5_probe(struct platform_device *pdev) rproc->auto_boot = false; rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); - qproc = (struct q6v5 *)rproc->priv; + qproc = rproc->priv; qproc->dev = &pdev->dev; qproc->rproc = rproc; qproc->hexagon_mdt_image = "modem.mdt"; diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index 0871108fb4dc..8eec88119fdd 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -186,7 +186,7 @@ static int adsp_shutdown_poll_decrypt(struct qcom_adsp *adsp) static int adsp_unprepare(struct rproc *rproc) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; /* * adsp_load() did pass pas_metadata to the SCM driver for storing @@ -203,7 +203,7 @@ static int adsp_unprepare(struct rproc *rproc) static int adsp_load(struct rproc *rproc, const struct firmware *fw) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int ret; /* Store firmware handle to be used in adsp_start() */ @@ -244,7 +244,7 @@ static int adsp_load(struct rproc *rproc, const struct firmware *fw) static int adsp_start(struct rproc *rproc) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int ret; ret = qcom_q6v5_prepare(&adsp->q6v5); @@ -360,7 +360,7 @@ static void qcom_pas_handover(struct qcom_q6v5 *q6v5) static int adsp_stop(struct rproc *rproc) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int handover; int ret; @@ -390,7 +390,7 @@ static int adsp_stop(struct rproc *rproc) static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; int offset; offset = da - adsp->mem_reloc; @@ -405,7 +405,7 @@ static void *adsp_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iom static unsigned long adsp_panic(struct rproc *rproc) { - struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; + struct qcom_adsp *adsp = rproc->priv; return qcom_q6v5_panic(&adsp->q6v5); } @@ -683,7 +683,7 @@ static int adsp_probe(struct platform_device *pdev) rproc->auto_boot = desc->auto_boot; rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); - adsp = (struct qcom_adsp *)rproc->priv; + adsp = rproc->priv; adsp->dev = &pdev->dev; adsp->rproc = rproc; adsp->minidump_id = desc->minidump_id; diff --git a/drivers/remoteproc/qcom_wcnss.c b/drivers/remoteproc/qcom_wcnss.c index 9d4d04fff8c6..0fc317265064 100644 --- a/drivers/remoteproc/qcom_wcnss.c +++ b/drivers/remoteproc/qcom_wcnss.c @@ -154,7 +154,7 @@ static const struct wcnss_data pronto_v3_data = { static int wcnss_load(struct rproc *rproc, const struct firmware *fw) { - struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; + struct qcom_wcnss *wcnss = rproc->priv; int ret; ret = qcom_mdt_load(wcnss->dev, fw, rproc->firmware, WCNSS_PAS_ID, @@ -227,7 +227,7 @@ static void wcnss_configure_iris(struct qcom_wcnss *wcnss) static int wcnss_start(struct rproc *rproc) { - struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; + struct qcom_wcnss *wcnss = rproc->priv; int ret, i; mutex_lock(&wcnss->iris_lock); @@ -293,7 +293,7 @@ static int wcnss_start(struct rproc *rproc) static int wcnss_stop(struct rproc *rproc) { - struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; + struct qcom_wcnss *wcnss = rproc->priv; int ret; if (wcnss->state) { @@ -320,7 +320,7 @@ static int wcnss_stop(struct rproc *rproc) static void *wcnss_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) { - struct qcom_wcnss *wcnss = (struct qcom_wcnss *)rproc->priv; + struct qcom_wcnss *wcnss = rproc->priv; int offset; offset = da - wcnss->mem_reloc; @@ -566,7 +566,7 @@ static int wcnss_probe(struct platform_device *pdev) } rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE); - wcnss = (struct qcom_wcnss *)rproc->priv; + wcnss = rproc->priv; wcnss->dev = &pdev->dev; wcnss->rproc = rproc; platform_set_drvdata(pdev, wcnss); diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c index 80072b6b6283..c48089e83026 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -2584,7 +2584,7 @@ EXPORT_SYMBOL(rproc_del); static void devm_rproc_free(struct device *dev, void *res) { - rproc_free(*(struct rproc **)res); + rproc_free(res); } /** diff --git a/drivers/remoteproc/st_remoteproc.c b/drivers/remoteproc/st_remoteproc.c index a3268d95a50e..0e0a377ddb18 100644 --- a/drivers/remoteproc/st_remoteproc.c +++ b/drivers/remoteproc/st_remoteproc.c @@ -358,7 +358,7 @@ static int st_rproc_probe(struct platform_device *pdev) rproc->has_iommu = false; ddata = rproc->priv; - ddata->config = (struct st_rproc_config *)match->data; + ddata->config = match->data; platform_set_drvdata(pdev, rproc); diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rproc.c index 7d782ed9e589..22c0241c2c97 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -629,7 +629,7 @@ stm32_rproc_get_loaded_rsc_table(struct rproc *rproc, size_t *table_sz) * entire area by overwriting it with the initial values stored in rproc->clean_table. */ *table_sz = RSC_TBL_SIZE; - return (struct resource_table *)ddata->rsc_va; + return ddata->rsc_va; } static const struct rproc_ops st_rproc_ops = { diff --git a/drivers/remoteproc/ti_k3_dsp_remoteproc.c b/drivers/remoteproc/ti_k3_dsp_remoteproc.c index ec626a37fef6..4bee10acf6fa 100644 --- a/drivers/remoteproc/ti_k3_dsp_remoteproc.c +++ b/drivers/remoteproc/ti_k3_dsp_remoteproc.c @@ -429,7 +429,7 @@ static struct resource_table *k3_dsp_get_loaded_rsc_table(struct rproc *rproc, * the hard-coded value suffices to support the IPC-only mode. */ *rsc_table_sz = 256; - return (struct resource_table *)kproc->rmem[0].cpu_addr; + return kproc->rmem[0].cpu_addr; } /* diff --git a/drivers/remoteproc/ti_k3_r5_remoteproc.c b/drivers/remoteproc/ti_k3_r5_remoteproc.c index 0481926c6975..115901d1ea04 100644 --- a/drivers/remoteproc/ti_k3_r5_remoteproc.c +++ b/drivers/remoteproc/ti_k3_r5_remoteproc.c @@ -708,7 +708,7 @@ static struct resource_table *k3_r5_get_loaded_rsc_table(struct rproc *rproc, * the hard-coded value suffices to support the IPC-only mode. */ *rsc_table_sz = 256; - return (struct resource_table *)kproc->rmem[0].cpu_addr; + return kproc->rmem[0].cpu_addr; } /* diff --git a/drivers/remoteproc/xlnx_r5_remoteproc.c b/drivers/remoteproc/xlnx_r5_remoteproc.c index 2db57d394155..5dbc12bdc29e 100644 --- a/drivers/remoteproc/xlnx_r5_remoteproc.c +++ b/drivers/remoteproc/xlnx_r5_remoteproc.c @@ -242,7 +242,7 @@ static int add_mem_regions_carveout(struct rproc *rproc) struct reserved_mem *rmem; int i, num_mem_regions; - r5_core = (struct zynqmp_r5_core *)rproc->priv; + r5_core = rproc->priv; num_mem_regions = r5_core->rmem_count; for (i = 0; i < num_mem_regions; i++) { @@ -363,7 +363,7 @@ static int add_tcm_carveout_split_mode(struct rproc *rproc) size_t bank_size; char *bank_name; - r5_core = (struct zynqmp_r5_core *)rproc->priv; + r5_core = rproc->priv; dev = r5_core->dev; num_banks = r5_core->tcm_bank_count; @@ -432,7 +432,7 @@ static int add_tcm_carveout_lockstep_mode(struct rproc *rproc) u32 pm_domain_id; char *bank_name; - r5_core = (struct zynqmp_r5_core *)rproc->priv; + r5_core = rproc->priv; dev = r5_core->dev; /* Go through zynqmp banks for r5 node */ @@ -502,7 +502,7 @@ static int add_tcm_banks(struct rproc *rproc) struct zynqmp_r5_core *r5_core; struct device *dev; - r5_core = (struct zynqmp_r5_core *)rproc->priv; + r5_core = rproc->priv; if (!r5_core) return -EINVAL; @@ -595,7 +595,7 @@ static int zynqmp_r5_rproc_unprepare(struct rproc *rproc) u32 pm_domain_id; int i; - r5_core = (struct zynqmp_r5_core *)rproc->priv; + r5_core = rproc->priv; for (i = 0; i < r5_core->tcm_bank_count; i++) { pm_domain_id = r5_core->tcm_banks[i]->pm_domain_id; @@ -649,7 +649,7 @@ static struct zynqmp_r5_core *zynqmp_r5_add_rproc_core(struct device *cdev) } r5_rproc->auto_boot = false; - r5_core = (struct zynqmp_r5_core *)r5_rproc->priv; + r5_core = r5_rproc->priv; r5_core->dev = cdev; r5_core->np = dev_of_node(cdev); if (!r5_core->np) { @@ -978,12 +978,12 @@ static int zynqmp_r5_cluster_init(struct zynqmp_r5_cluster *cluster) static void zynqmp_r5_cluster_exit(void *data) { - struct platform_device *pdev = (struct platform_device *)data; + struct platform_device *pdev = data; struct zynqmp_r5_cluster *cluster; struct zynqmp_r5_core *r5_core; int i; - cluster = (struct zynqmp_r5_cluster *)platform_get_drvdata(pdev); + cluster = platform_get_drvdata(pdev); if (!cluster) return;
Pointer variables of void * type do not require type cast. Signed-off-by: Yu Zhe <yuzhe@nfschina.com> --- drivers/remoteproc/da8xx_remoteproc.c | 12 ++++++------ drivers/remoteproc/mtk_scp.c | 12 ++++++------ drivers/remoteproc/qcom_q6v5_adsp.c | 10 +++++----- drivers/remoteproc/qcom_q6v5_mss.c | 8 ++++---- drivers/remoteproc/qcom_q6v5_pas.c | 14 +++++++------- drivers/remoteproc/qcom_wcnss.c | 10 +++++----- drivers/remoteproc/remoteproc_core.c | 2 +- drivers/remoteproc/st_remoteproc.c | 2 +- drivers/remoteproc/stm32_rproc.c | 2 +- drivers/remoteproc/ti_k3_dsp_remoteproc.c | 2 +- drivers/remoteproc/ti_k3_r5_remoteproc.c | 2 +- drivers/remoteproc/xlnx_r5_remoteproc.c | 16 ++++++++-------- 12 files changed, 46 insertions(+), 46 deletions(-)