lkml.org 
[lkml]   [2023]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v3 2/2] spi: loongson: add bus driver for the loongson spi controller
From
Date


在 2023/3/24 下午6:15, kernel test robot 写道:
> Hi Yinbo,
>
> I love your patch! Yet something to improve:
>
> [auto build test ERROR on broonie-spi/for-next]
> [also build test ERROR on robh/for-next krzk-dt/for-next linus/master v6.3-rc3 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/Yinbo-Zhu/dt-bindings-spi-add-loongson-spi/20230324-143432
> base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
> patch link: https://lore.kernel.org/r/20230324063317.14664-3-zhuyinbo%40loongson.cn
> patch subject: [PATCH v3 2/2] spi: loongson: add bus driver for the loongson spi controller
> config: sparc-allyesconfig (https://download.01.org/0day-ci/archive/20230324/202303241811.OXj9KxAr-lkp@intel.com/config)
> compiler: sparc64-linux-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/3742622c455d25c4a110d2caf2f5b2ceefe88f91
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Yinbo-Zhu/dt-bindings-spi-add-loongson-spi/20230324-143432
> git checkout 3742622c455d25c4a110d2caf2f5b2ceefe88f91
> # 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=sparc olddefconfig
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sparc SHELL=/bin/bash drivers/
>
> 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/202303241811.OXj9KxAr-lkp@intel.com/
>
> All error/warnings (new ones prefixed by >>):
>
> drivers/spi/spi-loongson-core.c: In function 'loongson_spi_init_master':
>>> drivers/spi/spi-loongson-core.c:229:21: error: implicit declaration of function 'devm_ioremap'; did you mean 'of_ioremap'? [-Werror=implicit-function-declaration]
> 229 | spi->base = devm_ioremap(dev, res->start, resource_size(res));
> | ^~~~~~~~~~~~
> | of_ioremap
>>> drivers/spi/spi-loongson-core.c:229:19: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
> 229 | spi->base = devm_ioremap(dev, res->start, resource_size(res));
> | ^
> cc1: some warnings being treated as errorThe devm_ioremap was declared in linux/io.h, and I think add include
<linux/io.h> in spi-loongson-core.c that compile issue will be fixed.
>
>
> vim +229 drivers/spi/spi-loongson-core.c
>
> 201
> 202 int loongson_spi_init_master(struct device *dev, struct resource *res)
> 203 {
> 204 struct spi_master *master;
> 205 struct loongson_spi *spi;
> 206 struct clk *clk;
> 207 int ret;
> 208
> 209 master = spi_alloc_master(dev, sizeof(struct loongson_spi));
> 210 if (master == NULL) {
> 211 dev_dbg(dev, "master allocation failed\n");
> 212 return -ENOMEM;
> 213 }
> 214
> 215 master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
> 216 master->setup = loongson_spi_setup;
> 217 master->prepare_message = loongson_spi_prepare_message;
> 218 master->transfer_one = loongson_spi_transfer_one;
> 219 master->unprepare_message = loongson_spi_unprepare_message;
> 220 master->set_cs = loongson_spi_set_cs;
> 221 master->num_chipselect = 4;
> 222 master->dev.of_node = of_node_get(dev->of_node);
> 223 dev_set_drvdata(dev, master);
> 224
> 225 spi = spi_master_get_devdata(master);
> 226
> 227 spi->master = master;
> 228
> > 229 spi->base = devm_ioremap(dev, res->start, resource_size(res));
> 230 if (spi->base == NULL) {
> 231 dev_err(dev, "cannot map io\n");
> 232 ret = -ENXIO;
> 233 goto free_master;
> 234 }
> 235
> 236 clk = devm_clk_get(dev, NULL);
> 237 if (!IS_ERR(clk))
> 238 spi->clk_rate = clk_get_rate(clk);
> 239
> 240 loongson_spi_reginit(spi);
> 241
> 242 spi->mode = 0;
> 243 if (of_get_property(dev->of_node, "spi-nocs", NULL))
> 244 spi->mode |= SPI_NO_CS;
> 245
> 246 ret = spi_register_master(master);
> 247 if (ret < 0)
> 248 goto free_master;
> 249
> 250 return ret;
> 251
> 252 free_master:
> 253 kfree(master);
> 254 spi_master_put(master);
> 255
> 256 return ret;
> 257 }
> 258 EXPORT_SYMBOL_GPL(loongson_spi_init_master);
> 259
>

\
 
 \ /
  Last update: 2023-03-27 10:26    [W:0.074 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site