* [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit @ 2019-12-29 18:36 Krzysztof Kozlowski 2019-12-29 18:36 ` [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit Krzysztof Kozlowski ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Krzysztof Kozlowski @ 2019-12-29 18:36 UTC (permalink / raw) To: Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel Cc: linux-arm-kernel, linux-samsung-soc, Krzysztof Kozlowski iomem pointers should be casted to unsigned long to avoid -Wpointer-to-int-cast warnings when compiling on 64-bit platform (e.g. with COMPILE_TEST): drivers/mtd/nand/onenand/samsung_mtd.c: In function ‘s3c_onenand_readw’: drivers/mtd/nand/onenand/samsung_mtd.c:251:6: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] if ((unsigned int) addr < ONENAND_DATARAM && onenand->bootram_command) { ^ Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- drivers/mtd/nand/onenand/samsung_mtd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/onenand/samsung_mtd.c b/drivers/mtd/nand/onenand/samsung_mtd.c index 55e5536a5850..70501d031db6 100644 --- a/drivers/mtd/nand/onenand/samsung_mtd.c +++ b/drivers/mtd/nand/onenand/samsung_mtd.c @@ -248,7 +248,7 @@ static unsigned short s3c_onenand_readw(void __iomem *addr) } /* BootRAM access control */ - if ((unsigned int) addr < ONENAND_DATARAM && onenand->bootram_command) { + if ((unsigned long)addr < ONENAND_DATARAM && onenand->bootram_command) { if (word_addr == 0) return s3c_read_reg(MANUFACT_ID_OFFSET); if (word_addr == 1) @@ -289,7 +289,7 @@ static void s3c_onenand_writew(unsigned short value, void __iomem *addr) } /* BootRAM access control */ - if ((unsigned int)addr < ONENAND_DATARAM) { + if ((unsigned long)addr < ONENAND_DATARAM) { if (value == ONENAND_CMD_READID) { onenand->bootram_command = 1; return; -- 2.17.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit 2019-12-29 18:36 [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Krzysztof Kozlowski @ 2019-12-29 18:36 ` Krzysztof Kozlowski 2020-01-14 17:05 ` Miquel Raynal 2019-12-29 18:36 ` [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers Krzysztof Kozlowski 2020-01-14 17:05 ` [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Miquel Raynal 2 siblings, 1 reply; 10+ messages in thread From: Krzysztof Kozlowski @ 2019-12-29 18:36 UTC (permalink / raw) To: Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel Cc: linux-arm-kernel, linux-samsung-soc, Krzysztof Kozlowski Print size_t as %zu to fix -Wformat warnings when compiling on 64-bit platform (e.g. with COMPILE_TEST): drivers/mtd/nand/onenand/samsung_mtd.c: In function ‘s5pc110_read_bufferram’: drivers/mtd/nand/onenand/samsung_mtd.c:661:16: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t {aka long unsigned int}’ [-Wformat=] dev_err(dev, "Couldn't map a %d byte buffer for DMA\n", count); Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- drivers/mtd/nand/onenand/samsung_mtd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/nand/onenand/samsung_mtd.c b/drivers/mtd/nand/onenand/samsung_mtd.c index 70501d031db6..4a78c0aed6dd 100644 --- a/drivers/mtd/nand/onenand/samsung_mtd.c +++ b/drivers/mtd/nand/onenand/samsung_mtd.c @@ -658,7 +658,7 @@ static int s5pc110_read_bufferram(struct mtd_info *mtd, int area, dma_dst = dma_map_single(dev, buf, count, DMA_FROM_DEVICE); } if (dma_mapping_error(dev, dma_dst)) { - dev_err(dev, "Couldn't map a %d byte buffer for DMA\n", count); + dev_err(dev, "Couldn't map a %zu byte buffer for DMA\n", count); goto normal; } err = s5pc110_dma_ops(dma_dst, dma_src, -- 2.17.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit 2019-12-29 18:36 ` [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit Krzysztof Kozlowski @ 2020-01-14 17:05 ` Miquel Raynal 0 siblings, 0 replies; 10+ messages in thread From: Miquel Raynal @ 2020-01-14 17:05 UTC (permalink / raw) To: Krzysztof Kozlowski, Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel Cc: linux-samsung-soc, linux-arm-kernel On Sun, 2019-12-29 at 18:36:11 UTC, Krzysztof Kozlowski wrote: > Print size_t as %zu to fix -Wformat warnings when compiling on 64-bit > platform (e.g. with COMPILE_TEST): > > drivers/mtd/nand/onenand/samsung_mtd.c: In function ‘s5pc110_read_bufferram’: > drivers/mtd/nand/onenand/samsung_mtd.c:661:16: warning: > format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘size_t {aka long unsigned int}’ [-Wformat=] > dev_err(dev, "Couldn't map a %d byte buffer for DMA\n", count); > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers 2019-12-29 18:36 [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Krzysztof Kozlowski 2019-12-29 18:36 ` [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit Krzysztof Kozlowski @ 2019-12-29 18:36 ` Krzysztof Kozlowski 2019-12-31 2:00 ` kbuild test robot 2020-01-14 17:05 ` [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Miquel Raynal 2 siblings, 1 reply; 10+ messages in thread From: Krzysztof Kozlowski @ 2019-12-29 18:36 UTC (permalink / raw) To: Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel Cc: linux-arm-kernel, linux-samsung-soc, Krzysztof Kozlowski OMAP and Samsung OneNAND drivers can be compile tested. The OMAP drivers still depends on mach header so limit the compile testing to ARMv7. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- drivers/mtd/nand/onenand/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/onenand/Kconfig b/drivers/mtd/nand/onenand/Kconfig index ae0b8fe5b990..3886644de094 100644 --- a/drivers/mtd/nand/onenand/Kconfig +++ b/drivers/mtd/nand/onenand/Kconfig @@ -25,7 +25,7 @@ config MTD_ONENAND_GENERIC config MTD_ONENAND_OMAP2 tristate "OneNAND on OMAP2/OMAP3 support" - depends on ARCH_OMAP2 || ARCH_OMAP3 + depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM) depends on OF || COMPILE_TEST help Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC @@ -34,7 +34,7 @@ config MTD_ONENAND_OMAP2 config MTD_ONENAND_SAMSUNG tristate "OneNAND on Samsung SOC controller support" - depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS4 + depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS4 || COMPILE_TEST help Support for a OneNAND flash device connected to an Samsung SOC. S3C64XX uses command mapping method. -- 2.17.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers 2019-12-29 18:36 ` [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers Krzysztof Kozlowski @ 2019-12-31 2:00 ` kbuild test robot 2019-12-31 7:33 ` Krzysztof Kozlowski 0 siblings, 1 reply; 10+ messages in thread From: kbuild test robot @ 2019-12-31 2:00 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: kbuild-all, Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel, linux-arm-kernel, linux-samsung-soc, Krzysztof Kozlowski Hi Krzysztof, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v5.5-rc4 next-20191220] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/mtd-onenand-samsung-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191230-030838 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bf8d1cd4386535004c4afe7f03d37f9864c9940e reproduce: # apt-get install sparse # sparse version: v0.6.1-129-g341daf20-dirty make ARCH=x86_64 allmodconfig make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@intel.com> sparse warnings: (new ones prefixed by >>) >> drivers/mtd/nand/onenand/samsung_mtd.c:678:17: sparse: sparse: incorrect type in argument 2 (different address spaces) >> drivers/mtd/nand/onenand/samsung_mtd.c:678:17: sparse: expected void const *from >> drivers/mtd/nand/onenand/samsung_mtd.c:678:17: sparse: got void [noderef] <asn:2> *[assigned] p >> drivers/mtd/nand/onenand/samsung_mtd.c:679:19: sparse: sparse: incorrect type in assignment (different address spaces) >> drivers/mtd/nand/onenand/samsung_mtd.c:679:19: sparse: expected void [noderef] <asn:2> *[assigned] p >> drivers/mtd/nand/onenand/samsung_mtd.c:679:19: sparse: got unsigned char * drivers/mtd/nand/onenand/samsung_mtd.c:682:9: sparse: sparse: incorrect type in argument 2 (different address spaces) drivers/mtd/nand/onenand/samsung_mtd.c:682:9: sparse: expected void const *from drivers/mtd/nand/onenand/samsung_mtd.c:682:9: sparse: got void [noderef] <asn:2> *[assigned] p vim +678 drivers/mtd/nand/onenand/samsung_mtd.c e23abf4b774322 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 614 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 615 static int s5pc110_read_bufferram(struct mtd_info *mtd, int area, 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 616 unsigned char *buffer, int offset, size_t count) 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 617 { 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 618 struct onenand_chip *this = mtd->priv; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 619 void __iomem *p; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 620 void *buf = (void *) buffer; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 621 dma_addr_t dma_src, dma_dst; 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 622 int err, ofs, page_dma = 0; dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 623 struct device *dev = &onenand->pdev->dev; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 624 9aba97ad004ed0 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-08-27 625 p = this->base + area; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 626 if (ONENAND_CURRENT_BUFFERRAM(this)) { 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 627 if (area == ONENAND_DATARAM) 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 628 p += this->writesize; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 629 else 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 630 p += mtd->oobsize; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 631 } 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 632 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 633 if (offset & 3 || (size_t) buf & 3 || 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 634 !onenand->dma_addr || count != mtd->writesize) 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 635 goto normal; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 636 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 637 /* Handle vmalloc address */ 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 638 if (buf >= high_memory) { 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 639 struct page *page; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 640 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 641 if (((size_t) buf & PAGE_MASK) != 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 642 ((size_t) (buf + count - 1) & PAGE_MASK)) 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 643 goto normal; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 644 page = vmalloc_to_page(buf); 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 645 if (!page) 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 646 goto normal; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 647 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 648 /* Page offset */ 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 649 ofs = ((size_t) buf & ~PAGE_MASK); dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 650 page_dma = 1; 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 651 dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 652 /* DMA routine */ dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 653 dma_src = onenand->phys_base + (p - this->base); 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 654 dma_dst = dma_map_page(dev, page, ofs, count, DMA_FROM_DEVICE); dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 655 } else { 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 656 /* DMA routine */ 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 657 dma_src = onenand->phys_base + (p - this->base); dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 658 dma_dst = dma_map_single(dev, buf, count, DMA_FROM_DEVICE); dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 659 } dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 660 if (dma_mapping_error(dev, dma_dst)) { 102f66a740cfbe drivers/mtd/nand/onenand/samsung_mtd.c Krzysztof Kozlowski 2019-12-29 661 dev_err(dev, "Couldn't map a %zu byte buffer for DMA\n", count); 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 662 goto normal; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 663 } 81d46c59550997 drivers/mtd/onenand/samsung.c Arnd Bergmann 2014-05-08 664 err = s5pc110_dma_ops(dma_dst, dma_src, 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 665 count, S5PC110_DMA_DIR_READ); dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 666 dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 667 if (page_dma) dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 668 dma_unmap_page(dev, dma_dst, count, DMA_FROM_DEVICE); dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 669 else dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 670 dma_unmap_single(dev, dma_dst, count, DMA_FROM_DEVICE); 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 671 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 672 if (!err) 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 673 return 0; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 674 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 675 normal: 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 676 if (count != mtd->writesize) { 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 677 /* Copy the bufferram to memory to prevent unaligned access */ 9aba97ad004ed0 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-08-27 @678 memcpy(this->page_buf, p, mtd->writesize); 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 @679 p = this->page_buf + offset; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 680 } 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 681 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 682 memcpy(buffer, p, count); 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 683 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 684 return 0; 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 685 } 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 686 :::::: The code at line 678 was first introduced by commit :::::: 9aba97ad004ed0cde9747a9daf5b1484edb746cd mtd: OneNAND: Fix 2KiB pagesize handling at Samsung SoCs :::::: TO: Kyungmin Park <kyungmin.park@samsung.com> :::::: CC: David Woodhouse <David.Woodhouse@intel.com> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers 2019-12-31 2:00 ` kbuild test robot @ 2019-12-31 7:33 ` Krzysztof Kozlowski 2020-01-09 15:18 ` Miquel Raynal 0 siblings, 1 reply; 10+ messages in thread From: Krzysztof Kozlowski @ 2019-12-31 7:33 UTC (permalink / raw) To: kbuild test robot Cc: kbuild-all, Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel, linux-arm-kernel, linux-samsung-soc On Tue, Dec 31, 2019 at 10:00:48AM +0800, kbuild test robot wrote: > Hi Krzysztof, > > I love your patch! Perhaps something to improve: > > [auto build test WARNING on linus/master] > [also build test WARNING on v5.5-rc4 next-20191220] > [if your patch is applied to the wrong git tree, please drop us a note to help > improve the system. BTW, we also suggest to use '--base' option to specify the > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/mtd-onenand-samsung-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191230-030838 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bf8d1cd4386535004c4afe7f03d37f9864c9940e > reproduce: > # apt-get install sparse > # sparse version: v0.6.1-129-g341daf20-dirty > make ARCH=x86_64 allmodconfig > make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@intel.com> > It is not related to my patch. I'll fix it up soon. Best regards, Krzysztof > > sparse warnings: (new ones prefixed by >>) > > >> drivers/mtd/nand/onenand/samsung_mtd.c:678:17: sparse: sparse: incorrect type in argument 2 (different address spaces) > >> drivers/mtd/nand/onenand/samsung_mtd.c:678:17: sparse: expected void const *from > >> drivers/mtd/nand/onenand/samsung_mtd.c:678:17: sparse: got void [noderef] <asn:2> *[assigned] p > >> drivers/mtd/nand/onenand/samsung_mtd.c:679:19: sparse: sparse: incorrect type in assignment (different address spaces) > >> drivers/mtd/nand/onenand/samsung_mtd.c:679:19: sparse: expected void [noderef] <asn:2> *[assigned] p > >> drivers/mtd/nand/onenand/samsung_mtd.c:679:19: sparse: got unsigned char * > drivers/mtd/nand/onenand/samsung_mtd.c:682:9: sparse: sparse: incorrect type in argument 2 (different address spaces) > drivers/mtd/nand/onenand/samsung_mtd.c:682:9: sparse: expected void const *from > drivers/mtd/nand/onenand/samsung_mtd.c:682:9: sparse: got void [noderef] <asn:2> *[assigned] p > > vim +678 drivers/mtd/nand/onenand/samsung_mtd.c > > e23abf4b774322 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 614 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 615 static int s5pc110_read_bufferram(struct mtd_info *mtd, int area, > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 616 unsigned char *buffer, int offset, size_t count) > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 617 { > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 618 struct onenand_chip *this = mtd->priv; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 619 void __iomem *p; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 620 void *buf = (void *) buffer; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 621 dma_addr_t dma_src, dma_dst; > 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 622 int err, ofs, page_dma = 0; > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 623 struct device *dev = &onenand->pdev->dev; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 624 > 9aba97ad004ed0 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-08-27 625 p = this->base + area; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 626 if (ONENAND_CURRENT_BUFFERRAM(this)) { > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 627 if (area == ONENAND_DATARAM) > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 628 p += this->writesize; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 629 else > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 630 p += mtd->oobsize; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 631 } > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 632 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 633 if (offset & 3 || (size_t) buf & 3 || > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 634 !onenand->dma_addr || count != mtd->writesize) > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 635 goto normal; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 636 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 637 /* Handle vmalloc address */ > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 638 if (buf >= high_memory) { > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 639 struct page *page; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 640 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 641 if (((size_t) buf & PAGE_MASK) != > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 642 ((size_t) (buf + count - 1) & PAGE_MASK)) > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 643 goto normal; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 644 page = vmalloc_to_page(buf); > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 645 if (!page) > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 646 goto normal; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 647 > 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 648 /* Page offset */ > 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 649 ofs = ((size_t) buf & ~PAGE_MASK); > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 650 page_dma = 1; > 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 651 > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 652 /* DMA routine */ > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 653 dma_src = onenand->phys_base + (p - this->base); > 08b3af3092bb2c drivers/mtd/onenand/samsung.c Kyungmin Park 2010-11-02 654 dma_dst = dma_map_page(dev, page, ofs, count, DMA_FROM_DEVICE); > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 655 } else { > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 656 /* DMA routine */ > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 657 dma_src = onenand->phys_base + (p - this->base); > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 658 dma_dst = dma_map_single(dev, buf, count, DMA_FROM_DEVICE); > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 659 } > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 660 if (dma_mapping_error(dev, dma_dst)) { > 102f66a740cfbe drivers/mtd/nand/onenand/samsung_mtd.c Krzysztof Kozlowski 2019-12-29 661 dev_err(dev, "Couldn't map a %zu byte buffer for DMA\n", count); > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 662 goto normal; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 663 } > 81d46c59550997 drivers/mtd/onenand/samsung.c Arnd Bergmann 2014-05-08 664 err = s5pc110_dma_ops(dma_dst, dma_src, > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 665 count, S5PC110_DMA_DIR_READ); > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 666 > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 667 if (page_dma) > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 668 dma_unmap_page(dev, dma_dst, count, DMA_FROM_DEVICE); > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 669 else > dcf08227e964a5 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-09-28 670 dma_unmap_single(dev, dma_dst, count, DMA_FROM_DEVICE); > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 671 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 672 if (!err) > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 673 return 0; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 674 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 675 normal: > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 676 if (count != mtd->writesize) { > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 677 /* Copy the bufferram to memory to prevent unaligned access */ > 9aba97ad004ed0 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-08-27 @678 memcpy(this->page_buf, p, mtd->writesize); > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 @679 p = this->page_buf + offset; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 680 } > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 681 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 682 memcpy(buffer, p, count); > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 683 > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 684 return 0; > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 685 } > 46f3e88bd9da01 drivers/mtd/onenand/samsung.c Kyungmin Park 2010-04-28 686 > > :::::: The code at line 678 was first introduced by commit > :::::: 9aba97ad004ed0cde9747a9daf5b1484edb746cd mtd: OneNAND: Fix 2KiB pagesize handling at Samsung SoCs > > :::::: TO: Kyungmin Park <kyungmin.park@samsung.com> > :::::: CC: David Woodhouse <David.Woodhouse@intel.com> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers 2019-12-31 7:33 ` Krzysztof Kozlowski @ 2020-01-09 15:18 ` Miquel Raynal 2020-01-13 7:46 ` Krzysztof Kozlowski 0 siblings, 1 reply; 10+ messages in thread From: Miquel Raynal @ 2020-01-09 15:18 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: kbuild test robot, kbuild-all, Kyungmin Park, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel, linux-arm-kernel, linux-samsung-soc Hi Krzysztof, Krzysztof Kozlowski <krzk@kernel.org> wrote on Tue, 31 Dec 2019 08:33:39 +0100: > On Tue, Dec 31, 2019 at 10:00:48AM +0800, kbuild test robot wrote: > > Hi Krzysztof, > > > > I love your patch! Perhaps something to improve: > > > > [auto build test WARNING on linus/master] > > [also build test WARNING on v5.5-rc4 next-20191220] > > [if your patch is applied to the wrong git tree, please drop us a note to help > > improve the system. BTW, we also suggest to use '--base' option to specify the > > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > > > url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/mtd-onenand-samsung-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191230-030838 > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bf8d1cd4386535004c4afe7f03d37f9864c9940e > > reproduce: > > # apt-get install sparse > > # sparse version: v0.6.1-129-g341daf20-dirty > > make ARCH=x86_64 allmodconfig > > make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' > > > > If you fix the issue, kindly add following tag > > Reported-by: kbuild test robot <lkp@intel.com> > > > > It is not related to my patch. I'll fix it up soon. I would like this to be fixed before enabling compile testing, is your fix read? Thanks, Miquèl ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers 2020-01-09 15:18 ` Miquel Raynal @ 2020-01-13 7:46 ` Krzysztof Kozlowski 2020-01-13 8:15 ` Miquel Raynal 0 siblings, 1 reply; 10+ messages in thread From: Krzysztof Kozlowski @ 2020-01-13 7:46 UTC (permalink / raw) To: Miquel Raynal Cc: kbuild test robot, kbuild-all, Kyungmin Park, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel, linux-arm-kernel, linux-samsung-soc On Thu, Jan 09, 2020 at 04:18:26PM +0100, Miquel Raynal wrote: > Hi Krzysztof, > > Krzysztof Kozlowski <krzk@kernel.org> wrote on Tue, 31 Dec 2019 > 08:33:39 +0100: > > > On Tue, Dec 31, 2019 at 10:00:48AM +0800, kbuild test robot wrote: > > > Hi Krzysztof, > > > > > > I love your patch! Perhaps something to improve: > > > > > > [auto build test WARNING on linus/master] > > > [also build test WARNING on v5.5-rc4 next-20191220] > > > [if your patch is applied to the wrong git tree, please drop us a note to help > > > improve the system. BTW, we also suggest to use '--base' option to specify the > > > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > > > > > url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/mtd-onenand-samsung-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191230-030838 > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bf8d1cd4386535004c4afe7f03d37f9864c9940e > > > reproduce: > > > # apt-get install sparse > > > # sparse version: v0.6.1-129-g341daf20-dirty > > > make ARCH=x86_64 allmodconfig > > > make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' > > > > > > If you fix the issue, kindly add following tag > > > Reported-by: kbuild test robot <lkp@intel.com> > > > > > > > It is not related to my patch. I'll fix it up soon. > > I would like this to be fixed before enabling compile testing, is your > fix read? Yes, you picked up the fix here: https://lore.kernel.org/lkml/20200103164158.4265-1-krzk@kernel.org/ Best regards, Krzysztof ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers 2020-01-13 7:46 ` Krzysztof Kozlowski @ 2020-01-13 8:15 ` Miquel Raynal 0 siblings, 0 replies; 10+ messages in thread From: Miquel Raynal @ 2020-01-13 8:15 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: kbuild test robot, kbuild-all, Kyungmin Park, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel, linux-arm-kernel, linux-samsung-soc Hi Krzysztof, Krzysztof Kozlowski <krzk@kernel.org> wrote on Mon, 13 Jan 2020 08:46:32 +0100: > On Thu, Jan 09, 2020 at 04:18:26PM +0100, Miquel Raynal wrote: > > Hi Krzysztof, > > > > Krzysztof Kozlowski <krzk@kernel.org> wrote on Tue, 31 Dec 2019 > > 08:33:39 +0100: > > > > > On Tue, Dec 31, 2019 at 10:00:48AM +0800, kbuild test robot wrote: > > > > Hi Krzysztof, > > > > > > > > I love your patch! Perhaps something to improve: > > > > > > > > [auto build test WARNING on linus/master] > > > > [also build test WARNING on v5.5-rc4 next-20191220] > > > > [if your patch is applied to the wrong git tree, please drop us a note to help > > > > improve the system. BTW, we also suggest to use '--base' option to specify the > > > > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > > > > > > > url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/mtd-onenand-samsung-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191230-030838 > > > > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bf8d1cd4386535004c4afe7f03d37f9864c9940e > > > > reproduce: > > > > # apt-get install sparse > > > > # sparse version: v0.6.1-129-g341daf20-dirty > > > > make ARCH=x86_64 allmodconfig > > > > make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' > > > > > > > > If you fix the issue, kindly add following tag > > > > Reported-by: kbuild test robot <lkp@intel.com> > > > > > > > > > > It is not related to my patch. I'll fix it up soon. > > > > I would like this to be fixed before enabling compile testing, is your > > fix read? > > Yes, you picked up the fix here: > https://lore.kernel.org/lkml/20200103164158.4265-1-krzk@kernel.org/ Perfect, I did not even linked these issues together. Thanks, Miquèl ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit 2019-12-29 18:36 [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Krzysztof Kozlowski 2019-12-29 18:36 ` [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit Krzysztof Kozlowski 2019-12-29 18:36 ` [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers Krzysztof Kozlowski @ 2020-01-14 17:05 ` Miquel Raynal 2 siblings, 0 replies; 10+ messages in thread From: Miquel Raynal @ 2020-01-14 17:05 UTC (permalink / raw) To: Krzysztof Kozlowski, Kyungmin Park, Miquel Raynal, Richard Weinberger, Vignesh Raghavendra, linux-mtd, linux-kernel Cc: linux-samsung-soc, linux-arm-kernel On Sun, 2019-12-29 at 18:36:10 UTC, Krzysztof Kozlowski wrote: > iomem pointers should be casted to unsigned long to avoid > -Wpointer-to-int-cast warnings when compiling on 64-bit platform (e.g. > with COMPILE_TEST): > > drivers/mtd/nand/onenand/samsung_mtd.c: In function ‘s3c_onenand_readw’: > drivers/mtd/nand/onenand/samsung_mtd.c:251:6: warning: > cast from pointer to integer of different size [-Wpointer-to-int-cast] > if ((unsigned int) addr < ONENAND_DATARAM && onenand->bootram_command) { > ^ > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks. Miquel ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-01-14 17:05 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-12-29 18:36 [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Krzysztof Kozlowski 2019-12-29 18:36 ` [PATCH 2/3] mtd: onenand: samsung: Fix printing format for size_t on 64-bit Krzysztof Kozlowski 2020-01-14 17:05 ` Miquel Raynal 2019-12-29 18:36 ` [PATCH 3/3] mtd: onenand: Enable compile testing of OMAP and Samsung drivers Krzysztof Kozlowski 2019-12-31 2:00 ` kbuild test robot 2019-12-31 7:33 ` Krzysztof Kozlowski 2020-01-09 15:18 ` Miquel Raynal 2020-01-13 7:46 ` Krzysztof Kozlowski 2020-01-13 8:15 ` Miquel Raynal 2020-01-14 17:05 ` [PATCH 1/3] mtd: onenand: samsung: Fix pointer cast -Wpointer-to-int-cast warnings on 64 bit Miquel Raynal
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).