From: Damien Le Moal <dlemoal@kernel.org>
To: Rob Herring <robh@kernel.org>
Cc: kernel test robot <lkp@intel.com>,
llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Sergey Shtylyov <s.shtylyov@omp.ru>
Subject: Re: [linux-next:master 9063/9793] drivers/ata/pata_octeon_cf.c:835:7: error: call to undeclared function 'of_property_read_reg'; ISO C99 and later do not support implicit function declarations
Date: Thu, 15 Jun 2023 09:41:27 +0900 [thread overview]
Message-ID: <9be724b6-9b3c-51fd-ca20-634603a9145e@kernel.org> (raw)
In-Reply-To: <CAL_JsqLjp-hSULp8xFb1zpwdO7OdYDwH+XtgRjhsKfG2R-0Z3g@mail.gmail.com>
On 6/15/23 00:26, Rob Herring wrote:
> On Wed, Jun 14, 2023 at 3:41 AM Damien Le Moal <dlemoal@kernel.org> wrote:
>>
>> On 6/14/23 18:23, kernel test robot wrote:
>>> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
>>> head: b16049b21162bb649cdd8519642a35972b7910fe
>>> commit: d0b2461678b12c08d43eaf6740485e2f2c3aeac6 [9063/9793] ata: Use of_property_read_reg() to parse "reg"
>>> config: mips-randconfig-r016-20230614 (https://download.01.org/0day-ci/archive/20230614/202306141702.ZaO9V2lk-lkp@intel.com/config)
>>> compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
>>> reproduce (this is a W=1 build):
>>> mkdir -p ~/bin
>>> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>> chmod +x ~/bin/make.cross
>>> # install mips cross compiling tool for clang build
>>> # apt-get install binutils-mips64-linux-gnuabi64
>>> # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=d0b2461678b12c08d43eaf6740485e2f2c3aeac6
>>> git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>>> git fetch --no-tags linux-next master
>>> git checkout d0b2461678b12c08d43eaf6740485e2f2c3aeac6
>>> # save the config file
>>> mkdir build_dir && cp config build_dir/.config
>>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=mips olddefconfig
>>> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/ata/
>>>
>>> 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/202306141702.ZaO9V2lk-lkp@intel.com/
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>>>> drivers/ata/pata_octeon_cf.c:835:7: error: call to undeclared function 'of_property_read_reg'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>>> 835 | rv = of_property_read_reg(node, 0, ®, NULL);
>>
>> Rob,
>>
>> I guess this is missing:
>>
>> diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c
>> index 57b2166a6d5d..ff538b858928 100644
>> --- a/drivers/ata/pata_octeon_cf.c
>> +++ b/drivers/ata/pata_octeon_cf.c
>> @@ -16,6 +16,7 @@
>> #include <linux/slab.h>
>> #include <linux/irq.h>
>> #include <linux/of.h>
>> +#include <linux/of_address.h>
>> #include <linux/of_platform.h>
>> #include <linux/platform_device.h>
>> #include <scsi/scsi_host.h>
>>
>> I can add that if you want. Or you can send a fix and I will queue it,
>> whichever is fine.
>
> If you can fix it up, that would be great.
Done.
> I'll look into whether this can be made easier to reproduce. These
> patches had been on a branch and picked up by 0-day. There must be
> some implicit include of of_address.h somewhere.
I looked into enabling compile test with removing the MIPS dependency to make
sure this driver also goes through my regular compile tests (I am lazy, I do
x86_64 only :)).
Something like this works for ahci_octeon:
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 4572f837e504..6b115685a86e 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -239,7 +239,7 @@ config AHCI_MVEBU
config AHCI_OCTEON
tristate "Cavium Octeon Soc Serial ATA"
- depends on SATA_AHCI_PLATFORM && MIPS && (CAVIUM_OCTEON_SOC || COMPILE_TEST)
+ depends on SATA_AHCI_PLATFORM && ((MIPS && CAVIUM_OCTEON_SOC) ||
COMPILE_TEST)
default y
help
This option enables support for Cavium Octeon SoC Serial ATA.
diff --git a/drivers/ata/ahci_octeon.c b/drivers/ata/ahci_octeon.c
index 5021ab3ede49..2e6b28bf43f4 100644
--- a/drivers/ata/ahci_octeon.c
+++ b/drivers/ata/ahci_octeon.c
@@ -15,8 +15,13 @@
#include <linux/platform_device.h>
#include <linux/of_platform.h>
+#ifdef CONFIG_MIPS
#include <asm/octeon/octeon.h>
#include <asm/bitfield.h>
+#else
+#define cvmx_readq_csr(csr) (0)
+#define cvmx_writeq_csr(csr, cfg) do { } while (0)
+#endif
#define CVMX_SATA_UCTL_SHIM_CFG 0xE8
But it is not that simple for pata_octeon...
>
> Rob
--
Damien Le Moal
Western Digital Research
next prev parent reply other threads:[~2023-06-15 0:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-14 9:23 kernel test robot
2023-06-14 9:41 ` Damien Le Moal
2023-06-14 15:26 ` Rob Herring
2023-06-15 0:41 ` Damien Le Moal [this message]
2023-06-15 1:34 ` Rob Herring
2023-06-15 1:49 ` Damien Le Moal
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=9be724b6-9b3c-51fd-ca20-634603a9145e@kernel.org \
--to=dlemoal@kernel.org \
--cc=linux-mm@kvack.org \
--cc=lkp@intel.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=robh@kernel.org \
--cc=s.shtylyov@omp.ru \
/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