From nobody Sun Feb 8 06:22:26 2026 Received: from mail-pl1-f195.google.com (mail-pl1-f195.google.com [209.85.214.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9AF0B2D3EE5 for ; Wed, 24 Dec 2025 11:11:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.195 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766574715; cv=none; b=eLVfdY/sGz3CCoY1AZXH2+bmox+vMyvtAT/QcYrYuA1hdAxCg3r9MQi89ep7eawkt8XgANrJ/BwyvjcoHbCJZqbbEOpisqeRYcQPljQaSqlShYkF1eALl9GYqln+5oKsUqlFXk+2e+Ds3fDyB9sAnfkDlZHqWkgs9wTX2QkKEIc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766574715; c=relaxed/simple; bh=tqGeKK4+KuzZkY4+tQLw94q8cpE+muZISUoEBK8fxz4=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=DZFhcDbnGRVuj4vIKGBWKW7bryRmvubyV2Lwzq8FG2H5RAIHf/WZdMchjvFLsx0+hSGyq3RsHl+IUp+mbkBXsbFstdb0iF8P3kvX7einz/+D8E3kIeKjB7KriSMDGVmv4w2k4JilyZdJrOTWQRa3sB6SbbSzAYaKqti9NgqUsHM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Dree4a77; arc=none smtp.client-ip=209.85.214.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Dree4a77" Received: by mail-pl1-f195.google.com with SMTP id d9443c01a7336-2a0d6f647e2so93871295ad.1 for ; Wed, 24 Dec 2025 03:11:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766574713; x=1767179513; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=8PyhY4JFyeZrUE9GYnkYmguvAHDwBCLBE233vFWLE6U=; b=Dree4a77Iz/UpCoLHMGFQeMpXhKDfd5eSCJ+L9SDGg+AM0Ug5HoT4dhrUhMOp0u42u FVdQK3RHTV8laf/U8knsP6ExvCwsA2TJODW44le0eBjtwAUTcmeOUFJ/ZYSXZrMPhdmy jk7LptnpXQG3XO2MCpcrV+WzXKcmbeykm1Z2PivcNKYc27Gm/orogljRH6uYSMoRwQaK r6wPZk07QJsxIATcRPv0oU2RQP0VhXy/NMzy3cRfmmtUcpVbsL+k8p6GL2Xc207RTJL7 DnnEQSnAlSOhpvo6K5ryKP7ZdboukwjQ0ksdZpAAhGCPGYIXjDn266oPUK1wMz6ej26T CJlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766574713; x=1767179513; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8PyhY4JFyeZrUE9GYnkYmguvAHDwBCLBE233vFWLE6U=; b=iBEBgS/BzeFf0qRXvfYH2+v9asVLOcrBW2ZwQh1XJN3UAx8fegfkZtGarfk6qingAw +jz7amSLTYxoaMsQJsLig77/Rf2afr6+61yILZwIWpnHhtBOOctDX6I3jHXyTH/fP9sA OGVXiBkDR2o4G2FwE8CcENcpp51k3uws9B0vguyPz4tRuyC7fa43PCyPWxrn3jODSyEU MtIuMI8y3xoic6jcYWPvJAeGHERbPSIKHTG763CFsv9iO8zf3YNyfu1G8TBFQD1vVN+a njuoNqIpkX1UDGgkUetGnIDWvqTXYh7tSClkzGxmZgFFAawMMMBz5P7hacbXARcY8V3Y 9ScA== X-Forwarded-Encrypted: i=1; AJvYcCWukN0SZrIo8Ti0iyzC9+wFsxEFYqPqZ7EYxef3PTk7qW0e5vbjrveOOyGX8wBVAHmEIG2yawObn+EJnJA=@vger.kernel.org X-Gm-Message-State: AOJu0YzGWo+bBbibv/8BYcLkY6SU3YM4cAVbfgsPpzgByWBOqFvpjUw5 /289Ly24MeuS30a+6GMU6+CVFeE3EoAHZWivJJjeMR+ujYrRw1FCbSGp X-Gm-Gg: AY/fxX6+6t45Oe5b+SISO+bYSL/eCAHg+kBEXmS+VRFPJV4oNLr010a78iGsm8b9+Yl kqbc/6JGzEUUvc74TiK/h6sr8lSz/3ko2CiX3JtlQw0WQXIusFsfphTcY0CoKiqjUxk9BpIj2th TUiOL18OHepK7Pdk0ZbMvUM6wjC4YzDlS+9TqIQwoRu4QxjzIVUYRexOeFk7Z0ilivnB76aQW2N 2DXBwVCAMyYXTZc18TaxeoVBpucmLRIJNpCk6ReGDaBflyjOVCseYBAjHKx3g0WvzMZvd02Bqjt TzQbAu7mROK+qDoSs8wdlpHLkTjV6LkatjFfjkO/Ych6g9CXtxisR2ob8It5XaxP+zWqL05C6GS BhCIzV0sWUtQQT4VK3ejlL9LlYzRDFVQGRhiQuug2DSwbmmLS1rjBCcnzVsakRz1925FCin+aLi jYTCl3uQ2YxHCnrlg2BC2Syn6KOpU8+EMOZ6Bq X-Google-Smtp-Source: AGHT+IEau09HIVwcpRCbvl1GNZtzmQg3pyhbh/m+EimYRViL0a86IR+DdkyzvI2SbDOV7stgmF/1RA== X-Received: by 2002:a17:902:c947:b0:2a0:9ecc:694a with SMTP id d9443c01a7336-2a2f2737bf4mr163973415ad.37.1766574712955; Wed, 24 Dec 2025 03:11:52 -0800 (PST) Received: from hu-ckantibh-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a2f3d4cb30sm156154165ad.66.2025.12.24.03.11.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Dec 2025 03:11:52 -0800 (PST) From: Sanjay Chitroda X-Google-Original-From: Sanjay Chitroda To: Anup Patel , Thomas Gleixner , Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: Alexandre Ghiti , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, sanjayembeddedse@gmail.com, virendrasinhchauhan1206@gmail.com Subject: [PATCH] irqchip/riscv-aplic: adapt to syscore API passing context data Date: Wed, 24 Dec 2025 16:41:46 +0530 Message-Id: <6eafdd754222e11a43be4bbc3652f7605d47afa6.1766559840.git.sanjayembeddedse@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Sanjay Chitroda linux-next commit a97fbc3ee3e2 ("syscore: Pass context data to callbacks") changed the syscore API to register per-instance context alongside the syscore operations and to pass that context into callbacks. As a result, drivers must no longer rely on global state or implicit data access in their syscore suspend/resume handlers. The RISC-V APLIC driver started preserving state across suspend/resume, but its syscore usage still assumed the old API. Building against linux-next after a97fbc3ee3e2 fails because the callbacks don=E2=80=99t rec= eive the necessary driver context. Update irq-riscv-aplic to the new syscore API: * register syscore with driver-private context, * pass the context to save/restore helpers, * stop using implicit globals in syscore paths. This fixes the compilation error and restores correct APLIC state handling across suspend/resume with the new syscore interface. Fixes: a97fbc3ee3e2 ("syscore: Pass context data to callbacks") Fixes: 1c546bb433618843 ("irqchip/riscv-aplic: Preserve APLIC states across= suspend/resume") Signed-off-by: Sanjay Chitroda Reviewed-by: Anup Patel Tested-by: Keke Ming --- drivers/irqchip/irq-riscv-aplic-main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/irqchip/irq-riscv-aplic-main.c b/drivers/irqchip/irq-r= iscv-aplic-main.c index b760942e57f9..1283d6e69f5b 100644 --- a/drivers/irqchip/irq-riscv-aplic-main.c +++ b/drivers/irqchip/irq-riscv-aplic-main.c @@ -89,7 +89,7 @@ static void aplic_save_states(struct aplic_priv *priv) } } =20 -static int aplic_syscore_suspend(void) +static int aplic_syscore_suspend(void *data) { struct aplic_priv *priv; =20 @@ -99,7 +99,7 @@ static int aplic_syscore_suspend(void) return 0; } =20 -static void aplic_syscore_resume(void) +static void aplic_syscore_resume(void *data) { struct aplic_priv *priv; =20 @@ -107,11 +107,15 @@ static void aplic_syscore_resume(void) aplic_restore_states(priv); } =20 -static struct syscore_ops aplic_syscore_ops =3D { +static const struct syscore_ops aplic_syscore_ops =3D { .suspend =3D aplic_syscore_suspend, .resume =3D aplic_syscore_resume, }; =20 +static struct syscore aplic_syscore =3D { + .ops =3D &aplic_syscore_ops, +}; + static int aplic_pm_notifier(struct notifier_block *nb, unsigned long acti= on, void *data) { struct aplic_priv *priv =3D container_of(nb, struct aplic_priv, genpd_nb); @@ -372,7 +376,7 @@ static int aplic_probe(struct platform_device *pdev) dev_err_probe(dev, rc, "failed to setup APLIC in %s mode\n", msi_mode ? "MSI" : "direct"); else - register_syscore_ops(&aplic_syscore_ops); + register_syscore(&aplic_syscore); =20 #ifdef CONFIG_ACPI if (!acpi_disabled) --=20 2.34.1