Re: [PATCH v3 2/3] clk: eswin: Add eic7700 HSP clock driver

Brian Masney
2026-04-23T15:37:07Z

On Thu, Apr 23, 2026 at 05:11:14PM +0800, dongxuyang@eswincomputing.com wrote:
> From: Xuyang Dong <dongxuyang@eswincomputing.com>
>
> 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@eswincomputing.com>

Reviewed-by: Brian Masney <bmasney@redhat.com>

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