linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Mary Strodl <mstrodl@csh.rit.edu>, linux-kernel@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, akpm@linux-foundation.org,
	urezki@gmail.com, hch@infradead.org, linux-mm@kvack.org,
	lee@kernel.org, andi.shyti@kernel.org, linux-i2c@vger.kernel.org,
	s.hauer@pengutronix.de, christian.gmeiner@gmail.com,
	Mary Strodl <mstrodl@csh.rit.edu>
Subject: Re: [PATCH v3 1/2] x86: Add basic support for the Congatec CGEB BIOS interface
Date: Tue, 13 Aug 2024 20:26:00 +0800	[thread overview]
Message-ID: <202408132055.GF2IYZIB-lkp@intel.com> (raw)
In-Reply-To: <20240808183527.3950120-2-mstrodl@csh.rit.edu>

Hi Mary,

kernel test robot noticed the following build warnings:

[auto build test WARNING on lee-mfd/for-mfd-next]
[also build test WARNING on lee-mfd/for-mfd-fixes andi-shyti/i2c/i2c-host akpm-mm/mm-everything linus/master v6.11-rc3 next-20240813]
[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/Mary-Strodl/x86-Add-basic-support-for-the-Congatec-CGEB-BIOS-interface/20240809-075405
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
patch link:    https://lore.kernel.org/r/20240808183527.3950120-2-mstrodl%40csh.rit.edu
patch subject: [PATCH v3 1/2] x86: Add basic support for the Congatec CGEB BIOS interface
config: i386-randconfig-r111-20240813 (https://download.01.org/0day-ci/archive/20240813/202408132055.GF2IYZIB-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240813/202408132055.GF2IYZIB-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/202408132055.GF2IYZIB-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/mfd/congatec-cgeb.c:906:17: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/mfd/congatec-cgeb.c:931:27: sparse: sparse: cast removes address space '__iomem' of expression

vim +/__iomem +906 drivers/mfd/congatec-cgeb.c

   888	
   889	static struct cgeb_board_data *cgeb_open(resource_size_t base, u32 len)
   890	{
   891		u32 dw;
   892		struct cgeb_boardinfo pbi;
   893		struct cgeb_low_desc *low_desc;
   894		struct cgeb_high_desc *high_desc = NULL;
   895		u32 high_desc_phys;
   896		u32 high_desc_len;
   897		void *pcur, *high_desc_virt;
   898		int ret;
   899	
   900		struct cgeb_board_data *board;
   901	
   902		board = kzalloc(sizeof(*board), GFP_KERNEL);
   903		if (!board)
   904			return NULL;
   905	
 > 906		pcur = (void *) ioremap_cache(base, len);
   907		if (!pcur)
   908			goto err_kfree;
   909	
   910		/* look for the CGEB descriptor */
   911		low_desc = cgeb_find_magic(pcur, len, CGEB_LD_MAGIC);
   912		if (!low_desc)
   913			goto err_kfree;
   914	
   915		pr_debug("CGEB: Found CGEB_LD_MAGIC\n");
   916	
   917		if (low_desc->size < sizeof(struct cgeb_low_desc) - sizeof(long))
   918			goto err_kfree;
   919	
   920		if (low_desc->size >= sizeof(struct cgeb_low_desc)
   921				&& low_desc->hi_desc_phys_addr)
   922			high_desc_phys = low_desc->hi_desc_phys_addr;
   923		else
   924			high_desc_phys = 0xfff00000;
   925	
   926		high_desc_len = (unsigned int) -(int)high_desc_phys;
   927	
   928		pr_debug("CGEB: Looking for CGEB hi desc between phys 0x%x and 0x%x\n",
   929			high_desc_phys, -1);
   930	
   931		high_desc_virt = (void *) ioremap_cache(high_desc_phys, high_desc_len);
   932		if (!high_desc_virt)
   933			goto err_kfree;
   934	
   935		pr_debug("CGEB: Looking for CGEB hi desc between virt 0x%p and 0x%p\n",
   936			high_desc_virt, high_desc_virt + high_desc_len - 1);
   937	
   938		high_desc = cgeb_find_magic(high_desc_virt, high_desc_len,
   939						CGEB_HD_MAGIC);
   940		if (!high_desc)
   941			goto err_iounmap;
   942	
   943		pr_debug("CGEB: Found CGEB_HD_MAGIC\n");
   944	
   945		if (high_desc->size < sizeof(struct cgeb_high_desc))
   946			goto err_iounmap;
   947	
   948		pr_debug("CGEB: data_size %u, code_size %u, entry_rel %u\n",
   949			high_desc->data_size, high_desc->code_size, high_desc->entry_rel);
   950	
   951		ret = cgeb_upload_code(high_desc, board);
   952		if (ret) {
   953			pr_err("CGEB: Couldn't upload code to helper: %d\n", ret);
   954			goto err_munmap;
   955		}
   956	
   957		board->ds = get_data_segment();
   958	
   959		ret = cgeb_call_simple(board, CgebGetCgebVersion, 0, NULL, 0, &dw);
   960		if (ret)
   961			goto err_munmap;
   962	
   963		if (CGEB_GET_VERSION_MAJOR(dw) != CGEB_VERSION_MAJOR)
   964			goto err_munmap;
   965	
   966		pr_debug("CGEB: BIOS interface revision: %d.%d\n",
   967				dw >> 16, dw & 0xffff);
   968	
   969		if (high_desc->data_size)
   970			dw = high_desc->data_size;
   971		else
   972			ret = cgeb_call_simple(board, CgebGetDataSize, 0, NULL, 0, &dw);
   973	
   974		if (!ret && dw) {
   975			board->data = cgeb_user_alloc(high_desc->data_size);
   976			if (!board->data)
   977				goto err_munmap;
   978		}
   979	
   980		ret = cgeb_call_simple(board, CgebOpen, 0, NULL, 0, NULL);
   981		if (ret)
   982			goto err_free_data;
   983	
   984		pr_debug("CGEB: Mapping memory\n");
   985		ret = cgeb_map_memory(board);
   986		if (ret)
   987			goto err_free_map;
   988		pr_debug("CGEB: Memory is mapped, getting board info\n");
   989	
   990		ret = cgeb_call_simple(board, CgebBoardGetInfo, 0, &pbi,
   991				       sizeof(pbi), NULL);
   992		if (ret)
   993			goto err_free_map;
   994	
   995		pr_info("CGEB: Board name: %c%c%c%c\n",
   996				pbi.board[0], pbi.board[1],
   997				pbi.board[2], pbi.board[3]);
   998	
   999		iounmap((void __iomem *) high_desc_virt);
  1000	
  1001		return board;
  1002	
  1003	err_free_map:
  1004		cgeb_unmap_memory(board);
  1005	err_free_data:
  1006		cgeb_user_free(board->data);
  1007	err_munmap:
  1008		cgeb_munmap(board->code, board->code_size);
  1009	err_iounmap:
  1010		iounmap((void __iomem *) high_desc_virt);
  1011	err_kfree:
  1012		kfree(board);
  1013		return NULL;
  1014	}
  1015	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


  parent reply	other threads:[~2024-08-13 12:26 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-08 18:35 [PATCH v3 0/2] Add support for " Mary Strodl
2024-08-08 18:35 ` [PATCH v3 1/2] x86: Add basic support for the " Mary Strodl
2024-08-09  0:46   ` Andi Shyti
2024-08-12 11:45     ` Mary Strodl
2024-08-12 20:16       ` Andi Shyti
2024-08-13 12:26   ` kernel test robot [this message]
2024-08-08 18:35 ` [PATCH v3 2/2] i2c: Add Congatec CGEB I2C driver Mary Strodl
2024-08-09  0:55   ` Andi Shyti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202408132055.GF2IYZIB-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi.shyti@kernel.org \
    --cc=christian.gmeiner@gmail.com \
    --cc=hch@infradead.org \
    --cc=lee@kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mstrodl@csh.rit.edu \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=s.hauer@pengutronix.de \
    --cc=urezki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox