All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
	Damien Le Moal <damien.lemoal@opensource.wdc.com>,
	Hans de Goede <hdegoede@redhat.com>, Jens Axboe <axboe@kernel.dk>,
	Hannes Reinecke <hare@suse.de>
Cc: kbuild-all@lists.01.org,
	Serge Semin <Sergey.Semin@baikalelectronics.ru>,
	Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
	Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
	Rob Herring <robh+dt@kernel.org>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH RESEND v6 07/23] ata: libahci_platform: Convert to using devm bulk clocks API
Date: Sat, 30 Jul 2022 09:51:27 +0800	[thread overview]
Message-ID: <202207300915.8DDz66ju-lkp@intel.com> (raw)
In-Reply-To: <20220728111905.12427-8-Sergey.Semin@baikalelectronics.ru>

Hi Serge,

I love your patch! Yet something to improve:

[auto build test ERROR on robh/for-next]
[also build test ERROR on axboe-block/for-next linus/master v5.19-rc8 next-20220728]
[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/Serge-Semin/ata-ahci-Add-DWC-Baikal-T1-AHCI-SATA-support/20220728-192315
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: csky-randconfig-r023-20220729 (https://download.01.org/0day-ci/archive/20220730/202207300915.8DDz66ju-lkp@intel.com/config)
compiler: csky-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/a84e837dd293db69f2510f3036f2c83ce8b0167c
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Serge-Semin/ata-ahci-Add-DWC-Baikal-T1-AHCI-SATA-support/20220728-192315
        git checkout a84e837dd293db69f2510f3036f2c83ce8b0167c
        # 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=csky SHELL=/bin/bash drivers/ata/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/ata/ahci_da850.c: In function 'ahci_da850_probe':
>> drivers/ata/ahci_da850.c:181:13: error: wrong type argument to unary exclamation mark
     181 |         if (!hpriv->clks[0]) {
         |             ^
>> drivers/ata/ahci_da850.c:186:34: error: incompatible types when assigning to type 'struct clk_bulk_data' from type 'struct clk *'
     186 |                 hpriv->clks[0] = clk;
         |                                  ^~~
   drivers/ata/ahci_da850.c:194:13: error: wrong type argument to unary exclamation mark
     194 |         if (!hpriv->clks[1]) {
         |             ^
   drivers/ata/ahci_da850.c:201:34: error: incompatible types when assigning to type 'struct clk_bulk_data' from type 'struct clk *'
     201 |                 hpriv->clks[1] = clk;
         |                                  ^~~
>> drivers/ata/ahci_da850.c:204:64: error: incompatible type for argument 1 of 'clk_get_rate'
     204 |         mpy = ahci_da850_calculate_mpy(clk_get_rate(hpriv->clks[1]));
         |                                                     ~~~~~~~~~~~^~~
         |                                                                |
         |                                                                struct clk_bulk_data
   In file included from drivers/ata/ahci.h:23,
                    from drivers/ata/ahci_da850.c:13:
   include/linux/clk.h:584:40: note: expected 'struct clk *' but argument is of type 'struct clk_bulk_data'
     584 | unsigned long clk_get_rate(struct clk *clk);
         |                            ~~~~~~~~~~~~^~~
--
   drivers/ata/ahci_dm816.c: In function 'ahci_dm816_phy_init':
>> drivers/ata/ahci_dm816.c:72:13: error: wrong type argument to unary exclamation mark
      72 |         if (!hpriv->clks[1]) {
         |             ^
>> drivers/ata/ahci_dm816.c:77:47: error: incompatible type for argument 1 of 'clk_get_rate'
      77 |         refclk_rate = clk_get_rate(hpriv->clks[1]);
         |                                    ~~~~~~~~~~~^~~
         |                                               |
         |                                               struct clk_bulk_data
   In file included from drivers/ata/ahci.h:23,
                    from drivers/ata/ahci_dm816.c:16:
   include/linux/clk.h:584:40: note: expected 'struct clk *' but argument is of type 'struct clk_bulk_data'
     584 | unsigned long clk_get_rate(struct clk *clk);
         |                            ~~~~~~~~~~~~^~~


vim +186 drivers/ata/ahci_da850.c

018d5ef2048fcab Akinobu Mita              2015-01-29  159  
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  160  static int ahci_da850_probe(struct platform_device *pdev)
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  161  {
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  162  	struct device *dev = &pdev->dev;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  163  	struct ahci_host_priv *hpriv;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  164  	void __iomem *pwrdn_reg;
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  165  	struct resource *res;
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  166  	struct clk *clk;
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  167  	u32 mpy;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  168  	int rc;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  169  
16af2d65842d343 Kunihiko Hayashi          2018-08-22  170  	hpriv = ahci_platform_get_resources(pdev, 0);
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  171  	if (IS_ERR(hpriv))
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  172  		return PTR_ERR(hpriv);
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  173  
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  174  	/*
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  175  	 * Internally ahci_platform_get_resources() calls clk_get(dev, NULL)
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  176  	 * when trying to obtain the functional clock. This SATA controller
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  177  	 * uses two clocks for which we specify two connection ids. If we don't
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  178  	 * have the functional clock at this point - call clk_get() again with
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  179  	 * con_id = "fck".
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  180  	 */
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30 @181  	if (!hpriv->clks[0]) {
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  182  		clk = clk_get(dev, "fck");
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  183  		if (IS_ERR(clk))
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  184  			return PTR_ERR(clk);
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  185  
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30 @186  		hpriv->clks[0] = clk;
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  187  	}
82dbe1a68fd65a4 Bartosz Golaszewski       2017-01-30  188  
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  189  	/*
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  190  	 * The second clock used by ahci-da850 is the external REFCLK. If we
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  191  	 * didn't get it from ahci_platform_get_resources(), let's try to
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  192  	 * specify the con_id in clk_get().
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  193  	 */
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  194  	if (!hpriv->clks[1]) {
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  195  		clk = clk_get(dev, "refclk");
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  196  		if (IS_ERR(clk)) {
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  197  			dev_err(dev, "unable to obtain the reference clock");
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  198  			return -ENODEV;
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  199  		}
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  200  
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  201  		hpriv->clks[1] = clk;
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  202  	}
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  203  
cdf0ead3747200d Bartosz Golaszewski       2017-01-30 @204  	mpy = ahci_da850_calculate_mpy(clk_get_rate(hpriv->clks[1]));
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  205  	if (mpy == 0) {
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  206  		dev_err(dev, "invalid REFCLK multiplier value: 0x%x", mpy);
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  207  		return -EINVAL;
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  208  	}
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  209  
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  210  	rc = ahci_platform_enable_resources(hpriv);
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  211  	if (rc)
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  212  		return rc;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  213  
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  214  	res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
c88c094985ad38c Christophe JAILLET        2017-08-16  215  	if (!res) {
c88c094985ad38c Christophe JAILLET        2017-08-16  216  		rc = -ENODEV;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  217  		goto disable_resources;
c88c094985ad38c Christophe JAILLET        2017-08-16  218  	}
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  219  
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  220  	pwrdn_reg = devm_ioremap(dev, res->start, resource_size(res));
c88c094985ad38c Christophe JAILLET        2017-08-16  221  	if (!pwrdn_reg) {
c88c094985ad38c Christophe JAILLET        2017-08-16  222  		rc = -ENOMEM;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  223  		goto disable_resources;
c88c094985ad38c Christophe JAILLET        2017-08-16  224  	}
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  225  
cdf0ead3747200d Bartosz Golaszewski       2017-01-30  226  	da850_sata_init(dev, pwrdn_reg, hpriv->mmio, mpy);
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  227  
018d5ef2048fcab Akinobu Mita              2015-01-29  228  	rc = ahci_platform_init_host(pdev, hpriv, &ahci_da850_port_info,
018d5ef2048fcab Akinobu Mita              2015-01-29  229  				     &ahci_platform_sht);
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  230  	if (rc)
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  231  		goto disable_resources;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  232  
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  233  	return 0;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  234  disable_resources:
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  235  	ahci_platform_disable_resources(hpriv);
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  236  	return rc;
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  237  }
ae8723f8a9c8e80 Bartlomiej Zolnierkiewicz 2014-03-25  238  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

  parent reply	other threads:[~2022-07-30  1:51 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-28 11:18 [PATCH RESEND v6 00/23] ata: ahci: Add DWC/Baikal-T1 AHCI SATA support Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 01/23] dt-bindings: ata: ahci-platform: Move dma-coherent to sata-common.yaml Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 02/23] dt-bindings: ata: ahci-platform: Detach common AHCI bindings Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 03/23] dt-bindings: ata: ahci-platform: Clarify common AHCI props constraints Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 04/23] dt-bindings: ata: sata: Extend number of SATA ports Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 05/23] dt-bindings: ata: sata-brcm: Apply common AHCI schema Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 06/23] ata: libahci_platform: Convert to using platform devm-ioremap methods Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 07/23] ata: libahci_platform: Convert to using devm bulk clocks API Serge Semin
2022-07-29 19:56   ` kernel test robot
2022-07-30  1:51   ` kernel test robot [this message]
2022-07-28 11:18 ` [PATCH RESEND v6 08/23] ata: libahci_platform: Sanity check the DT child nodes number Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 09/23] ata: libahci_platform: Parse ports-implemented property in resources getter Serge Semin
2022-07-28 11:18   ` Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 10/23] ata: libahci_platform: Introduce reset assertion/deassertion methods Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 11/23] dt-bindings: ata: ahci: Add platform capability properties Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 12/23] ata: libahci: Extend port-cmd flags set with port capabilities Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 13/23] ata: libahci: Discard redundant force_port_map parameter Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 14/23] ata: libahci: Don't read AHCI version twice in the save-config method Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 15/23] ata: ahci: Convert __ahci_port_base to accepting hpriv as arguments Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 16/23] ata: ahci: Introduce firmware-specific caps initialization Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 17/23] dt-bindings: ata: ahci: Add DWC AHCI SATA controller DT schema Serge Semin
2022-07-28 11:18 ` [PATCH RESEND v6 18/23] ata: libahci_platform: Add function returning a clock-handle by id Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 19/23] ata: ahci: Add DWC AHCI SATA controller support Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 20/23] dt-bindings: ata: ahci: Add Baikal-T1 AHCI SATA controller DT schema Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 21/23] ata: ahci-dwc: Add platform-specific quirks support Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 22/23] ata: ahci-dwc: Add Baikal-T1 AHCI SATA interface support Serge Semin
2022-07-28 11:19 ` [PATCH RESEND v6 23/23] MAINTAINERS: Add maintainers for DWC AHCI SATA driver Serge Semin
2022-07-29  4:18 ` [PATCH RESEND v6 00/23] ata: ahci: Add DWC/Baikal-T1 AHCI SATA support Damien Le Moal
2022-07-31 16:40   ` Serge Semin

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=202207300915.8DDz66ju-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Alexey.Malahov@baikalelectronics.ru \
    --cc=Pavel.Parkhomenko@baikalelectronics.ru \
    --cc=Sergey.Semin@baikalelectronics.ru \
    --cc=axboe@kernel.dk \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hare@suse.de \
    --cc=hdegoede@redhat.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.