From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from fout-b6-smtp.messagingengine.com (fout-b6-smtp.messagingengine.com [202.12.124.149]) (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 C6732332916 for ; Wed, 17 Jun 2026 19:20:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=202.12.124.149 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781724017; cv=none; b=KtOTdQdsvv1dqfSjMvTdc1TIteWapt6h8taCDYkVav4QP/qXtgM+cXRres9fjBBMBpuvvNOheLECeq0cpb/1jDKR967EUjId+IvocjQE01ybn4jHpRKm2U0R8BL+i2uBJ/n5FLqt/1sx6OZdhPBuW8kQTh+MQ6kjgUcb05rm8fc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781724017; c=relaxed/simple; bh=elpz+qvN4C3ApQ+x/I6h5FZxsTnd70gsjU6t9vKEa7Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mnZEruOUA7dPHzFpj3lbI4Y6ijlvNDqSN1JJtOz0D+JFZC6GsiONDT2ckH2prhubbHnCqakgbNsA4ZeNBc3QzJ1Z+UkN4S/6pCAW/JCAHAtsVEG9y++AqyQmln4n/M83TCU3vS7TB085Iy0c9JtohXzh80/LP+LDwxwSxqXZtIA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name; spf=pass smtp.mailfrom=shutemov.name; dkim=pass (2048-bit key) header.d=shutemov.name header.i=@shutemov.name header.b=eirdxfeP; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b=DbJdeFl6; arc=none smtp.client-ip=202.12.124.149 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=shutemov.name Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=shutemov.name Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=shutemov.name header.i=@shutemov.name header.b="eirdxfeP"; dkim=pass (2048-bit key) header.d=messagingengine.com header.i=@messagingengine.com header.b="DbJdeFl6" Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.stl.internal (Postfix) with ESMTP id AB4131D000F7; Wed, 17 Jun 2026 15:20:14 -0400 (EDT) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-06.internal (MEProxy); Wed, 17 Jun 2026 15:20:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=shutemov.name; h=cc:cc:content-transfer-encoding:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm2; t=1781724014; x= 1781810414; bh=YFc/HfY/u/L7cOD0ykigDAH9/yd+jKKdQEtzYX2vj7g=; b=e irdxfePmo1oa11+SkXac2662dFfk65Hys1e/Ou95FEboP1vghiXvspnHmQ5m83FZ +DBixI3/3im2thBWcPqw8+TT2kH1twuZsdAmfMqWaRiqsV9uqPNrWd6H68kiG7qD Dm/XSrveVX3UHmacI/lPu5Ugi0z4Hht+NCnkSP+KGk7iFEWEsUJqS4SozhEWqcKh 6yrMOL3pcvEyR2JJ5XxQWDNKfG9cfhQreP+c1TNio49MfskIVqHL5LJ4nNESOG2J fCt4ZgF1yeydeENOm9nHSWcDX86mV9ebQPam4XIJBNItFSpFaNvri8M+vccWzlnC imTeDGuRfBZHzCnSl3kQA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1781724014; x=1781810414; bh=Y Fc/HfY/u/L7cOD0ykigDAH9/yd+jKKdQEtzYX2vj7g=; b=DbJdeFl68+PaREDCX 4dL7cDAvSQlsz0dYxKmRNIMHG7+JjBvuodCXMDzzbmsgfK1Ugo5hTfh+hv3fvFxa oH3WOOsCD4xM+Zp6beKYLANoqPLcKNQzC5wYCf9gThF55iuNvgJ/3DS8OrtrjDMm yyHDgJExqWu1wE+KndSK5azaSg3ZRhzsrmB8MplMXP/uVbbFRWjW/BcM1skJr3AG CNLMfYU8Sw3lPn4IUPxY7XiDmNPlKheAT+uWwt8r5+SeJgorE3J4YiBa6oDdJhRq Pzjd5QJSSqGoaEFQjc4jQAEo2tRgFWZgpQ2z9dX66qdRtWO51KxJCY8drJY3WfAz 2EbYA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTEGc1cCggI/FTMXCThQMoUsi+STagEgvDbTiaOx8lidkfShu9CsgNhNtxybperlSh wYaeV61DjWKAW2ZDUDqHrbShp9jqKB6/x0skOmcC8DEJ3f/o2eC9W6bOIrSc/INaK22aIk IbflIhJuf03G1llb3yUJ0Nxxv1o0P97QmqJfK8swgT5Kv4JfH1KHqzf5nUMZRkmudlGTXj +dUDb1Ng5eMd5XdZ+EIP9BjvMkuOGaArezM30dBLvwSBZlBigLMmcDp+96Lrfrt1P5uaa+ axRUvc/FMxejiroOZbXEvIo66OfTMIX7BLDCfqbV1pUgnY23e+uL1L42S5XHrJoFp2UwGf 0r5Z8K3reuT0OZGwBUDtOfbMtLdfGnnF8Don2uOtmg1VQzkEVKwOv/is6ED8DIiWzULJRn MIsodHUnJdQsoOByVlBm2H+bNs67wOzWFwnnBxTCmrzlcUvmpw5bMA60rfKLnHBlW04bnf y/niyLTvibBILox5QTNqfgccgVhOIt2wYfdXgprEmtO3xLCPuP5Pf0Uu9FUJ3B8siALw5a N03kfTXTRlqYC1/n2j5yerFV/9a4yh11ZVGVoYjIhgUPVMeAVqpt8iA2Nu3G326Mvb/LVt gy3hbBOW8uGuLMpfeT6hwZbQcMgRuSkgJ/en/mH9gJRWUTtKsqXdhqZ/EOKA X-ME-Proxy: Feedback-ID: ie3994620:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 17 Jun 2026 15:20:13 -0400 (EDT) From: Kiryl Shutsemau To: Catalin Marinas , Will Deacon , James Morse Cc: Mark Rutland , Marc Zyngier , Doug Anderson , Petr Mladek , Thomas Gleixner , Andrew Morton , Baoquan He , Puranjay Mohan , Usama Arif , Breno Leitao , Julien Thierry , Lecopzer Chen , Sumit Garg , kernel-team@meta.com, kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, "Kiryl Shutsemau (Meta)" Subject: [PATCH v4 1/4] firmware: arm_sdei: add sdei_is_present() Date: Wed, 17 Jun 2026 20:20:02 +0100 Message-ID: X-Mailer: git-send-email 2.54.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: "Kiryl Shutsemau (Meta)" invoke_sdei_fn() returns -EIO when no SDEI conduit was probed, and the core warns ("Failed to create event ...") on any registration that hits that. An optional consumer that registers an event from an unconditional initcall would therefore make every boot on a non-SDEI system emit that warning for what is simply absent firmware. Expose whether SDEI firmware is present so such a consumer can skip registration -- and the warning -- when there is nothing to talk to. Signed-off-by: Kiryl Shutsemau (Meta) --- drivers/firmware/arm_sdei.c | 10 ++++++++++ include/linux/arm_sdei.h | 3 +++ 2 files changed, 13 insertions(+) diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c index f39ed7ba3a38..c161cf263547 100644 --- a/drivers/firmware/arm_sdei.c +++ b/drivers/firmware/arm_sdei.c @@ -339,6 +339,16 @@ static void _ipi_unmask_cpu(void *ignored) sdei_unmask_local_cpu(); } +/* + * Was SDEI firmware probed and is it usable? Lets optional consumers skip + * registering an event -- and the warning a failed registration emits -- on + * systems with no SDEI. + */ +bool sdei_is_present(void) +{ + return sdei_firmware_call; +} + static void _ipi_private_reset(void *ignored) { int err; diff --git a/include/linux/arm_sdei.h b/include/linux/arm_sdei.h index f652a5028b59..b07113eeeff7 100644 --- a/include/linux/arm_sdei.h +++ b/include/linux/arm_sdei.h @@ -37,6 +37,9 @@ int sdei_event_unregister(u32 event_num); int sdei_event_enable(u32 event_num); int sdei_event_disable(u32 event_num); +/* Was SDEI firmware probed and usable? */ +bool sdei_is_present(void); + /* GHES register/unregister helpers */ int sdei_register_ghes(struct ghes *ghes, sdei_event_callback *normal_cb, sdei_event_callback *critical_cb); -- 2.54.0