From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============5841104420835515571==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH v3 1/2] mmc: Add SD/SDIO driver for Sunplus SP7021 Date: Wed, 29 Dec 2021 00:43:18 +0800 Message-ID: <202112290015.gY5j9jw5-lkp@intel.com> In-Reply-To: List-Id: --===============5841104420835515571== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Li-hao, I love your patch! Perhaps something to improve: [auto build test WARNING on pza/reset/next] [also build test WARNING on robh/for-next ulf-hansson-mmc-mirror/next linus= /master v5.16-rc7 next-20211224] [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] url: https://github.com/0day-ci/linux/commits/Li-hao-Kuo/Add-SD-SDIO-con= trol-driver-for-Sunplus-SP7021-SoC/20211224-140704 base: https://git.pengutronix.de/git/pza/linux reset/next config: parisc-randconfig-c004-20211228 (https://download.01.org/0day-ci/ar= chive/20211229/202112290015.gY5j9jw5-lkp(a)intel.com/config) compiler: hppa-linux-gcc (GCC) 11.2.0 reproduce (this is a W=3D1 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/0day-ci/linux/commit/16ea62b9e9561c6054da687ed= b9f8603d1e7a158 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Li-hao-Kuo/Add-SD-SDIO-control-dri= ver-for-Sunplus-SP7021-SoC/20211224-140704 git checkout 16ea62b9e9561c6054da687edb9f8603d1e7a158 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=3D$HOME/0day COMPILER=3Dgcc-11.2.0 make.cross= O=3Dbuild_dir ARCH=3Dparisc SHELL=3D/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/mmc/host/sunplus_sd2.c: In function 'spsdc_set_bus_timing': drivers/mmc/host/sunplus_sd2.c:280:15: warning: variable 'timing_name' s= et but not used [-Wunused-but-set-variable] 280 | char *timing_name; | ^~~~~~~~~~~ drivers/mmc/host/sunplus_sd2.c: In function 'spsdc_set_bus_width': drivers/mmc/host/sunplus_sd2.c:300:13: warning: variable 'bus_width' set= but not used [-Wunused-but-set-variable] 300 | int bus_width; | ^~~~~~~~~ drivers/mmc/host/sunplus_sd2.c: At top level: drivers/mmc/host/sunplus_sd2.c:743:13: warning: no previous prototype fo= r 'spsdc_irq' [-Wmissing-prototypes] 743 | irqreturn_t spsdc_irq(int irq, void *dev_id) | ^~~~~~~~~ drivers/mmc/host/sunplus_sd2.c:849:5: warning: no previous prototype for= 'spsdc_get_cd' [-Wmissing-prototypes] 849 | int spsdc_get_cd(struct mmc_host *mmc) | ^~~~~~~~~~~~ drivers/mmc/host/sunplus_sd2.c: In function 'spsdc_request': >> drivers/mmc/host/sunplus_sd2.c:775:9: warning: ignoring return value of = 'mutex_lock_interruptible' declared with attribute 'warn_unused_result' [-W= unused-result] 775 | mutex_lock_interruptible(&host->mrq_lock); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +775 drivers/mmc/host/sunplus_sd2.c 767 = 768 static void spsdc_request(struct mmc_host *mmc, struct mmc_request *= mrq) 769 { 770 struct spsdc_host *host =3D mmc_priv(mmc); 771 struct mmc_command *cmd; 772 struct mmc_data *data; 773 int bus_width =3D mmc->ios.bus_width; 774 = > 775 mutex_lock_interruptible(&host->mrq_lock); 776 host->mrq =3D mrq; 777 data =3D mrq->data; 778 cmd =3D mrq->cmd; 779 = 780 if (cmd->opcode =3D=3D SD_IO_RW_EXTENDED && bus_width =3D=3D 781 MMC_BUS_WIDTH_4 && data->blocks * data->blksz <=3D 4) { 782 if (__switch_sdio_bus_width(host, MMC_BUS_WIDTH_1)) { 783 cmd->error =3D -1; 784 host->mrq =3D NULL; 785 mutex_unlock(&host->mrq_lock); 786 mmc_request_done(host->mmc, mrq); 787 return; 788 } 789 host->restore_4bit_sdio_bus =3D 1; 790 } 791 = 792 spsdc_prepare_cmd(host, cmd); 793 /* we need manually read response R2. */ 794 if (unlikely(cmd->flags & MMC_RSP_136)) { 795 spsdc_trigger_transaction(host); 796 spsdc_get_rsp(host, cmd); 797 spsdc_wait_finish(host); 798 spsdc_check_error(host, mrq); 799 host->mrq =3D NULL; 800 mutex_unlock(&host->mrq_lock); 801 mmc_request_done(host->mmc, mrq); 802 } else { 803 if (data) 804 spsdc_prepare_data(host, data); 805 = 806 if ((host->dmapio_mode && data) =3D=3D SPSDC_PIO_MODE) { 807 u32 value; 808 /* pio data transfer do not use interrupt */ 809 value =3D readl(host->base + SPSD2_SD_INT_REG); 810 value &=3D ~SPSDC_SDINT_SDCMPEN; 811 writel(value, host->base + SPSD2_SD_INT_REG); 812 spsdc_trigger_transaction(host); 813 spsdc_xfer_data_pio(host, data); 814 spsdc_wait_finish(host); 815 spsdc_finish_request(host, mrq); 816 } else { 817 if (!(host->use_int || host->dma_use_int)) { 818 spsdc_trigger_transaction(host); 819 spsdc_wait_finish(host); 820 spsdc_finish_request(host, mrq); 821 } else { 822 spsdc_trigger_transaction(host); 823 } 824 } 825 } 826 } 827 = --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============5841104420835515571==--