From nobody Thu Apr 9 19:25:38 2026 Received: from mail.zeus03.de (zeus03.de [194.117.254.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D10A43890F1 for ; Tue, 3 Mar 2026 19:31:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=194.117.254.33 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772566313; cv=none; b=d3nGeZyC0lSgAh+FouQ+0vnDNhvbMnVqQHC3aT+N3CCWp6GMeYee6VcyrylsI1dVfJdaJqv6fb17lhCFLRmI3kaZDKtbQeTtRV3MYpYlgvIOEM7e/ZlZlo0D9KyV4M4OS3BNjJQmLs5/Soqubegaq/Wpca8x5IMaZdJ9khiAepw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772566313; c=relaxed/simple; bh=BOJUADIyKNQOmgmPGc3taoNmpZ8OTIDAPRRqTVBjSXY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sdPMR4sit3FhDfW65y0UOOdSzkEQrGHvsYDzBb3YXmularPdB3j0QVIeWGTJlnlAJ2qkDoTUPXwWxRkRpwPwsn5fEOKGmdoPxK+6L4+Q9+7U4Mc3EFK3N7mLVZYMYAFTLCxRHghHXZoj7wVqqoo40tJKmyr5K79R7xZFrOEDh/A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sang-engineering.com; spf=pass smtp.mailfrom=sang-engineering.com; dkim=pass (2048-bit key) header.d=sang-engineering.com header.i=@sang-engineering.com header.b=KCtbvHhe; arc=none smtp.client-ip=194.117.254.33 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=sang-engineering.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sang-engineering.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sang-engineering.com header.i=@sang-engineering.com header.b="KCtbvHhe" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= sang-engineering.com; h=from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; s=k1; bh=zX4JfdCplWngZzhZKUpZWK0F/ozfzqmnLJfc+peLwlY=; b=KCtbvH heog8LKaSsbCXiEWtCEvVeJZ05+9LlMVbn76yt/wlQxA7utnWIReHDgGPWPH6yhD qJ7DX4hkQsG0ViC0hx0zzeUYSlazDjbfN+wjx+V81gts0oaEFIchmd+g42HdFLrB AwhOKLA3ikUvnATPlqAkYT0k7LvRd4q8IuAuehPAviTtTL9MH5QjviI03HDjCSju XDgcWJA1BJXObl8tEnd5LUGimc3zl8zBTJ09f1f7efod4xutep3NolyFyFBY6QKp hKHz4Ua2ZP1m7HqfO2AFb6aXag3LQ6dwCOQIImd7EtZ7Kv9YRHf4VMl9sCqNg445 aEZg7E6Tf2MRhLmQ== Received: (qmail 430606 invoked from network); 3 Mar 2026 20:31:32 +0100 Received: by mail.zeus03.de with ESMTPSA (TLS_AES_256_GCM_SHA384 encrypted, authenticated); 3 Mar 2026 20:31:32 +0100 X-UD-Smtp-Session: l3s3148p1@Hj82wCNMWJEujnu+ From: Wolfram Sang To: linux-renesas-soc@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Wolfram Sang , Bjorn Andersson , Baolin Wang , Orson Zhai , Chunyan Zhang , linux-remoteproc@vger.kernel.org Subject: [PATCH v3 07/15] hwspinlock: sprd: use new callback to initialize hwspinlock priv Date: Tue, 3 Mar 2026 20:25:59 +0100 Message-ID: <20260303192600.7224-24-wsa+renesas@sang-engineering.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260303192600.7224-17-wsa+renesas@sang-engineering.com> References: <20260303192600.7224-17-wsa+renesas@sang-engineering.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Apply the new helper to avoid using internal structures from the core. Signed-off-by: Wolfram Sang --- drivers/hwspinlock/sprd_hwspinlock.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/hwspinlock/sprd_hwspinlock.c b/drivers/hwspinlock/sprd= _hwspinlock.c index 0b91bdd4303d..c19b680d5fdf 100644 --- a/drivers/hwspinlock/sprd_hwspinlock.c +++ b/drivers/hwspinlock/sprd_hwspinlock.c @@ -70,10 +70,18 @@ static void sprd_hwspinlock_relax(struct hwspinlock *lo= ck) ndelay(10); } =20 +static void *sprd_hwspinlock_init_priv(int local_id, void *init_data) +{ + void __iomem *base =3D init_data; + + return base + HWSPINLOCK_TOKEN(local_id); +} + static const struct hwspinlock_ops sprd_hwspinlock_ops =3D { .trylock =3D sprd_hwspinlock_trylock, .unlock =3D sprd_hwspinlock_unlock, .relax =3D sprd_hwspinlock_relax, + .init_priv =3D sprd_hwspinlock_init_priv, }; =20 static void sprd_hwspinlock_disable(void *data) @@ -86,8 +94,7 @@ static void sprd_hwspinlock_disable(void *data) static int sprd_hwspinlock_probe(struct platform_device *pdev) { struct sprd_hwspinlock_dev *sprd_hwlock; - struct hwspinlock *lock; - int i, ret; + int ret; =20 if (!pdev->dev.of_node) return -ENODEV; @@ -123,16 +130,11 @@ static int sprd_hwspinlock_probe(struct platform_devi= ce *pdev) /* set the hwspinlock to record user id to identify subsystems */ writel(HWSPINLOCK_USER_BITS, sprd_hwlock->base + HWSPINLOCK_RECCTRL); =20 - for (i =3D 0; i < SPRD_HWLOCKS_NUM; i++) { - lock =3D &sprd_hwlock->bank.lock[i]; - lock->priv =3D sprd_hwlock->base + HWSPINLOCK_TOKEN(i); - } - platform_set_drvdata(pdev, sprd_hwlock); =20 return devm_hwspin_lock_register(&pdev->dev, &sprd_hwlock->bank, &sprd_hwspinlock_ops, 0, - SPRD_HWLOCKS_NUM, NULL); + SPRD_HWLOCKS_NUM, sprd_hwlock->base); } =20 static const struct of_device_id sprd_hwspinlock_of_match[] =3D { --=20 2.51.0