From: Haylen Chu <heylenay@4d2.org>
To: Yixun Lan <dlan@gentoo.org>, Alex Elder <elder@riscstar.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Inochi Amaoto <inochiama@outlook.com>
Subject: Re: [spacemit:for-next 4/6] drivers/clk/spacemit/ccu-k1.c:241:1: error: initializer element is not a compile-time constant
Date: Tue, 15 Apr 2025 14:56:57 +0000 [thread overview]
Message-ID: <Z_5zudOYiNPJbeUR@ketchup> (raw)
In-Reply-To: <20250415143137-GYB30887@gentoo>
On Tue, Apr 15, 2025 at 02:31:37PM +0000, Yixun Lan wrote:
> Hi Alex,
>
> On 09:16 Tue 15 Apr , Alex Elder wrote:
> > On 4/15/25 8:44 AM, kernel test robot wrote:
> > > tree: https://github.com/spacemit-com/linux for-next
> > > head: 9ead3efbc88a21e9a1f38948cc0902518022a2e5
> > > commit: e2d238ba301f25a5c8a7d490a36f9cd014d7aecc [4/6] clk: spacemit: Add clock support for SpacemiT K1 SoC
> > > config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20250415/202504152107.7ekGPIrF-lkp@intel.com/config)
> > > compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250415/202504152107.7ekGPIrF-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/202504152107.7ekGPIrF-lkp@intel.com/
> > >
> > > All errors (new ones prefixed by >>):
> >
> > If I'm interpreting this right, this seems to be a problem on
> > a S390 build (under COMPILE_TEST), because there is no constant
> > version of the __ffs() for that architecture. This might be the
> > case on other architectures as well.
> >
> > On RISC-V, this is fine.
> >
> > Any recommendations on how to address this?
> >
> it occur to me the __ffs() isn't really necessary, since all input
> is constant value (GENMASK here), we then should know the shift..
I'll second this: instead of calculating the LSB from bitmask in
compilation time, we could derive bitmask from LSB/MSB of the field:
taking slow_uart2_48 as example, this means changing current definition
to
CCU_DDN_DEFINE(slow_uart2_48, pll1_d4_614p4, MPMU_SUCCR_1,
28, 16, 12, 0, 0);
> >
> >
> > >
> > >>> drivers/clk/spacemit/ccu-k1.c:241:1: error: initializer element is not a compile-time constant
> > > 241 | CCU_DDN_DEFINE(slow_uart1_14p74, pll1_d16_153p6, MPMU_SUCCR, GENMASK(28, 16), GENMASK(12, 0), 0);
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > drivers/clk/spacemit/ccu_ddn.h:33:15: note: expanded from macro 'CCU_DDN_DEFINE'
> > > 33 | .num_shift = __ffs(_num_mask), \
> > > | ^~~~~~~~~~~~~~~~
> > > drivers/clk/spacemit/ccu-k1.c:242:1: error: initializer element is not a compile-time constant
> > > 242 | CCU_DDN_DEFINE(slow_uart2_48, pll1_d4_614p4, MPMU_SUCCR_1, GENMASK(28, 16), GENMASK(12, 0), 0);
> > > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > > drivers/clk/spacemit/ccu_ddn.h:33:15: note: expanded from macro 'CCU_DDN_DEFINE'
> > > 33 | .num_shift = __ffs(_num_mask), \
> > > | ^~~~~~~~~~~~~~~~
> > > 2 errors generated.
> > >
> > >
> > > vim +241 drivers/clk/spacemit/ccu-k1.c
> > >
> > > 239
> > > 240 CCU_GATE_DEFINE(slow_uart, CCU_PARENT_NAME(osc), MPMU_ACGR, BIT(1), CLK_IGNORE_UNUSED);
> > > > 241 CCU_DDN_DEFINE(slow_uart1_14p74, pll1_d16_153p6, MPMU_SUCCR, GENMASK(28, 16), GENMASK(12, 0), 0);
> > > 242 CCU_DDN_DEFINE(slow_uart2_48, pll1_d4_614p4, MPMU_SUCCR_1, GENMASK(28, 16), GENMASK(12, 0), 0);
> > > 243
> > >
> >
>
> --
> Yixun Lan (dlan)
> Gentoo Linux Developer
> GPG Key ID AABEFD55
Regards,
Haylen Chu
next prev parent reply other threads:[~2025-04-15 14:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-15 13:44 [spacemit:for-next 4/6] drivers/clk/spacemit/ccu-k1.c:241:1: error: initializer element is not a compile-time constant kernel test robot
2025-04-15 14:16 ` Alex Elder
2025-04-15 14:31 ` Yixun Lan
2025-04-15 14:56 ` Haylen Chu [this message]
2025-04-15 15:16 ` Yixun Lan
2025-04-15 16:03 ` Alex Elder
2025-04-16 12:11 ` Haylen Chu
2025-04-16 12:20 ` Alex Elder
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=Z_5zudOYiNPJbeUR@ketchup \
--to=heylenay@4d2.org \
--cc=dlan@gentoo.org \
--cc=elder@riscstar.com \
--cc=inochiama@outlook.com \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/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