Re: [PATCH v3 2/3] clk: eswin: Add eic7700 HSP clock driver
From: Brian Masney
Date: Thu Apr 23 2026 - 11:38:14 EST
On Thu, Apr 23, 2026 at 05:11:14PM +0800, dongxuyang@xxxxxxxxxxxxxxxxxx wrote:
> From: Xuyang Dong <dongxuyang@xxxxxxxxxxxxxxxxxx>
>
> Add driver for the ESWIN EIC7700 high-speed peripherals system
> clock controller and register an auxiliary device for system
> reset controller which is named as "hsp-reset".
>
> Signed-off-by: Xuyang Dong <dongxuyang@xxxxxxxxxxxxxxxxxx>
Reviewed-by: Brian Masney <bmasney@xxxxxxxxxx>
There's one minor bit I am not sure of.
> +static void eic7700_hsp_regmap_lock(void *arg)
> +__acquires(lock_ctx->lock)
> +{
> + struct eic7700_hsp_regmap_lock *const lock_ctx = arg;
> + unsigned long flags;
> +
> + spin_lock_irqsave(lock_ctx->lock, flags);
> + lock_ctx->flags = flags;
> +}
I don't know if the __acquires() is accurate syntax. If it needs to
be arg, lock_ctx->lock, or ((struct eic7700_hsp_regmap_lock *)arg)->lock.
It looks like this code is triggered with clang, and I tried compiling
this driver with:
make LLVM=1 KCFLAGS="-ferror-limit=10000 -DWARN_CONTEXT_ANALYSIS -Wthread-safety" \
drivers/clk/eswin/clk-eic7700-hsp.o
I also tried with 'make C=2' and I don't see any locking messages from
this driver.
Brian