* [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
@ 2023-11-21 0:01 Stanislav Kinsburskii
2023-11-21 11:32 ` kernel test robot
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Stanislav Kinsburskii @ 2023-11-21 0:01 UTC (permalink / raw)
To: ryder.lee, jianjun.wang, lpieralisi, kw, robh, bhelgaas,
matthias.bgg, angelogioacchino.delregno, linux-pci,
linux-mediatek, linux-kernel, linux-arm-kernel
Explicitly cast __iomem pointer to const void* with __force to fix the
following warning:
warning: incorrect type in argument 1 (different address spaces)
expected void const volatile *address
got void [noderef] __iomem *
Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202311161120.BgyxTBMQ-lkp@intel.com/
---
drivers/pci/controller/pcie-mediatek.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie-mediatek.c
index 66a8f73296fc..27f0f79810a1 100644
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
@@ -397,7 +397,7 @@ static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
phys_addr_t addr;
/* MT2712/MT7622 only support 32-bit MSI addresses */
- addr = virt_to_phys(port->base + PCIE_MSI_VECTOR);
+ addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
msg->address_hi = 0;
msg->address_lo = lower_32_bits(addr);
@@ -520,7 +520,7 @@ static void mtk_pcie_enable_msi(struct mtk_pcie_port *port)
u32 val;
phys_addr_t msg_addr;
- msg_addr = virt_to_phys(port->base + PCIE_MSI_VECTOR);
+ msg_addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
val = lower_32_bits(msg_addr);
writel(val, port->base + PCIE_IMSI_ADDR);
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
2023-11-21 0:01 [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change Stanislav Kinsburskii
@ 2023-11-21 11:32 ` kernel test robot
2023-11-21 12:18 ` kernel test robot
2023-11-22 14:48 ` kernel test robot
2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-11-21 11:32 UTC (permalink / raw)
To: Stanislav Kinsburskii, ryder.lee, jianjun.wang, lpieralisi, kw,
robh, bhelgaas, matthias.bgg, angelogioacchino.delregno,
linux-pci, linux-mediatek, linux-kernel, linux-arm-kernel
Cc: oe-kbuild-all
Hi Stanislav,
kernel test robot noticed the following build warnings:
[auto build test WARNING on pci/next]
[also build test WARNING on pci/for-linus linus/master v6.7-rc2 next-20231121]
[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/Stanislav-Kinsburskii/PCI-mediatek-Fix-sparse-warning-caused-to-virt_to_phys-prototype-change/20231121-080253
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/170052491316.21557.13173111699965824301.stgit%40skinsburskii.
patch subject: [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
config: openrisc-allmodconfig (https://download.01.org/0day-ci/archive/20231121/202311211958.Z1kPUdyp-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231121/202311211958.Z1kPUdyp-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/202311211958.Z1kPUdyp-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/pci/controller/pcie-mediatek.c: In function 'mtk_compose_msi_msg':
>> drivers/pci/controller/pcie-mediatek.c:400:62: warning: passing argument 1 of 'virt_to_phys' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
400 | addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
| ^
In file included from arch/openrisc/include/asm/io.h:37,
from include/linux/io.h:13,
from include/linux/iopoll.h:14,
from drivers/pci/controller/pcie-mediatek.c:12:
include/asm-generic/io.h:1003:57: note: expected 'volatile void *' but argument is of type 'const void *'
1003 | static inline unsigned long virt_to_phys(volatile void *address)
| ~~~~~~~~~~~~~~~^~~~~~~
drivers/pci/controller/pcie-mediatek.c: In function 'mtk_pcie_enable_msi':
drivers/pci/controller/pcie-mediatek.c:523:66: warning: passing argument 1 of 'virt_to_phys' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
523 | msg_addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
| ^
include/asm-generic/io.h:1003:57: note: expected 'volatile void *' but argument is of type 'const void *'
1003 | static inline unsigned long virt_to_phys(volatile void *address)
| ~~~~~~~~~~~~~~~^~~~~~~
vim +400 drivers/pci/controller/pcie-mediatek.c
393
394 static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
395 {
396 struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
397 phys_addr_t addr;
398
399 /* MT2712/MT7622 only support 32-bit MSI addresses */
> 400 addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
401 msg->address_hi = 0;
402 msg->address_lo = lower_32_bits(addr);
403
404 msg->data = data->hwirq;
405
406 dev_dbg(port->pcie->dev, "msi#%d address_hi %#x address_lo %#x\n",
407 (int)data->hwirq, msg->address_hi, msg->address_lo);
408 }
409
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
2023-11-21 0:01 [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change Stanislav Kinsburskii
2023-11-21 11:32 ` kernel test robot
@ 2023-11-21 12:18 ` kernel test robot
2023-11-22 14:48 ` kernel test robot
2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-11-21 12:18 UTC (permalink / raw)
To: Stanislav Kinsburskii, ryder.lee, jianjun.wang, lpieralisi, kw,
robh, bhelgaas, matthias.bgg, angelogioacchino.delregno,
linux-pci, linux-mediatek, linux-kernel, linux-arm-kernel
Cc: oe-kbuild-all
Hi Stanislav,
kernel test robot noticed the following build warnings:
[auto build test WARNING on pci/next]
[also build test WARNING on pci/for-linus linus/master v6.7-rc2 next-20231121]
[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/Stanislav-Kinsburskii/PCI-mediatek-Fix-sparse-warning-caused-to-virt_to_phys-prototype-change/20231121-080253
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/170052491316.21557.13173111699965824301.stgit%40skinsburskii.
patch subject: [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
config: s390-randconfig-r113-20231121 (https://download.01.org/0day-ci/archive/20231121/202311212050.Z3EDRIR3-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231121/202311212050.Z3EDRIR3-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/202311212050.Z3EDRIR3-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/pci/controller/pcie-mediatek.c:400:62: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void volatile *address @@ got void const * @@
drivers/pci/controller/pcie-mediatek.c:400:62: sparse: expected void volatile *address
drivers/pci/controller/pcie-mediatek.c:400:62: sparse: got void const *
drivers/pci/controller/pcie-mediatek.c:523:66: sparse: sparse: incorrect type in argument 1 (different modifiers) @@ expected void volatile *address @@ got void const * @@
drivers/pci/controller/pcie-mediatek.c:523:66: sparse: expected void volatile *address
drivers/pci/controller/pcie-mediatek.c:523:66: sparse: got void const *
vim +400 drivers/pci/controller/pcie-mediatek.c
393
394 static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
395 {
396 struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
397 phys_addr_t addr;
398
399 /* MT2712/MT7622 only support 32-bit MSI addresses */
> 400 addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
401 msg->address_hi = 0;
402 msg->address_lo = lower_32_bits(addr);
403
404 msg->data = data->hwirq;
405
406 dev_dbg(port->pcie->dev, "msi#%d address_hi %#x address_lo %#x\n",
407 (int)data->hwirq, msg->address_hi, msg->address_lo);
408 }
409
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
2023-11-21 0:01 [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change Stanislav Kinsburskii
2023-11-21 11:32 ` kernel test robot
2023-11-21 12:18 ` kernel test robot
@ 2023-11-22 14:48 ` kernel test robot
2 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2023-11-22 14:48 UTC (permalink / raw)
To: Stanislav Kinsburskii, ryder.lee, jianjun.wang, lpieralisi, kw,
robh, bhelgaas, matthias.bgg, angelogioacchino.delregno,
linux-pci, linux-mediatek, linux-kernel, linux-arm-kernel
Cc: llvm, oe-kbuild-all
Hi Stanislav,
kernel test robot noticed the following build errors:
[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus linus/master v6.7-rc2 next-20231122]
[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/Stanislav-Kinsburskii/PCI-mediatek-Fix-sparse-warning-caused-to-virt_to_phys-prototype-change/20231121-080253
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/170052491316.21557.13173111699965824301.stgit%40skinsburskii.
patch subject: [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20231122/202311221830.SR5dv3X7-lkp@intel.com/config)
compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231122/202311221830.SR5dv3X7-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/202311221830.SR5dv3X7-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/pci/controller/pcie-mediatek.c:400:22: error: passing 'const void *' to parameter of type 'volatile void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/io.h:128:55: note: passing argument to parameter 'address' here
static inline phys_addr_t virt_to_phys(volatile void *address)
^
drivers/pci/controller/pcie-mediatek.c:523:26: error: passing 'const void *' to parameter of type 'volatile void *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
msg_addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/io.h:128:55: note: passing argument to parameter 'address' here
static inline phys_addr_t virt_to_phys(volatile void *address)
^
2 errors generated.
vim +400 drivers/pci/controller/pcie-mediatek.c
393
394 static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
395 {
396 struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
397 phys_addr_t addr;
398
399 /* MT2712/MT7622 only support 32-bit MSI addresses */
> 400 addr = virt_to_phys((__force const void *)port->base + PCIE_MSI_VECTOR);
401 msg->address_hi = 0;
402 msg->address_lo = lower_32_bits(addr);
403
404 msg->data = data->hwirq;
405
406 dev_dbg(port->pcie->dev, "msi#%d address_hi %#x address_lo %#x\n",
407 (int)data->hwirq, msg->address_hi, msg->address_lo);
408 }
409
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-11-22 14:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-21 0:01 [PATCH v2] PCI: mediatek: Fix sparse warning caused to virt_to_phys() prototype change Stanislav Kinsburskii
2023-11-21 11:32 ` kernel test robot
2023-11-21 12:18 ` kernel test robot
2023-11-22 14:48 ` kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).