From nobody Tue Dec 2 02:31:41 2025 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 8A2733A79B0 for ; Wed, 19 Nov 2025 15:46:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763567166; cv=none; b=NllPmQRRADvQr7uhU0/Xqz5gcGyQ4HCWDFTnyG2r+QslaSEXGb+uQhDiwPdZ0euCEozjZggxveH+Qr7vXa0PadLtqjmRQ4JplmgKZ6FVEZ4ftc5Si1sMvm2jvX67nXP7j1//AVaDEFG1TPNShrYmUbk9qbW7P2+mSxmnf5La1DQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763567166; c=relaxed/simple; bh=BG5tLoxomZq6QyZmtX+DmOmp49QzG4CslaIEh2rN2og=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dpUmSlyttry1n394VO4BYrkI6wyg3+l0hAPev4gobqFVJimoM3Hlgb6IemTB/ejVcsE2tbdD20WE7VGX0O8MgGMXqnAJwjv6I2d/ufOOz38NRb96ZbRzyI+6QfHUSlV6dDdZ3l0cAG1N9v141DwLW7r8C95frsH02oAQV6ZMyzw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=h67n1qs9; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="h67n1qs9" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4779ce2a624so36866735e9.2 for ; Wed, 19 Nov 2025 07:46:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763567159; x=1764171959; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=rqVd/I23ujzds6aG+1Lfyj/OLmPD/Ehk8Zy8jv9bGeE=; b=h67n1qs9Ihf0s3aPMinZSRCAczRQpw45ihMWMfjlNIvhknSfGnG+w+mMTwEi2c4pVy DL0+rKrt3+DReC07qFokF5Zkip6Gxvmbs6ndgMAcyZWTrgMwyDTjzLCMzlMYA9iEa8Sp Qtv3Ml8J57ag90nIHGke7OMoWVl6pkSuHd+H9mOYHRulvjzQRwMtGgelh1C/+3AXs0Vp mPSyP3aEBR4pq7oTf94IHwIeM5TfZSJDalWq7B2Kt327N8QvEp4zkM/wHSsLopjX5SEg 6CImGXk5cI/2l+iH0yRuOdj8QppJoe8lro4QThyAmtoqPuVU4Oz9R0Ce1/nthGUifyJ5 gWzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763567159; x=1764171959; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=rqVd/I23ujzds6aG+1Lfyj/OLmPD/Ehk8Zy8jv9bGeE=; b=AT8ZxRQK6RyNbmwIjiPVKHf1VesOhTpzlMZN/3SCW0eJaB1JoFbQrYt4NZBJApHYg5 +oObdFxVAn9Q+IAJ7k2yClCenUHApiMckYaOo9TgwAU17VHlY6WdY2dL8VzfWXmJMocQ L5UlCLveXOCWhik+x8RgsA0xCjH9H8KnMMaaTKxRBdktOY/NVpc7YqC1QEJyfJAKGe9T 3p9sTXKrovD2Qo0X+bXiCQ9iRaxoIFbH5yaye630QDblj/M3QZM84ftlkUy1K7VFSJiu JOIAwrAhwIkH9DRidOu6Q6eiWC3L0vFTU8s/dSSkMbssqBPkbPe4ns2uk32SkW3JHv1r PfgA== X-Forwarded-Encrypted: i=1; AJvYcCWT61LUq+e8seO0UwsnBMuhWYlojr3eOyguyGOhxD/AwKZYHh+ylZwkgqvny1mJeOlCFLqNMacrwcLAUgM=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+b8teHrZuBmnZwmRkTqfgvpC2ZBAb+Vjnx7Q4YWkJS8wvAFmJ FMebjkEtQln3VH2nZ8n321Uibz0Wq6bEo8OddV4PsLmBdRVLt9UGb/lw75yjTW0Tkx8= X-Gm-Gg: ASbGncvzPYRrRKdyMqa/2KK4zCZBz9WVi79cWjLdzsd5QuxKOltEXWeB+96/C4mm5hl Wq5itHyCGIbZttL/XqXwSM/c+kMf3+B7f53JlHL6Vdvn2SteS0BZGKxp6mueB94Di/8I0CAsv48 /u+x2QXoD60/lXAOfjyNFs9+GcVLZvthL4c1uzdYKNQE4COcY33NpfYdcfRt5SmDsxxZVZF2vMg us1s4VCIAxoFtlCvENVMGB+8y/dxWTSQ2jdbz34/D4/y4KRMqewmBJxIzgBAjvTGPjpfavvYk1I 4KYjLjYbptWFx7XLgIJ9rQSp9ogeD7Ev1XHl05xPPb/oSOGuutojdAAA3Dr6Ko9UF04KvFqzJ5p NhXlx81odhS6xFgiNSHS0yp0C+lfU3mKgB+z3OS/VX4FvDv4OAvEKP89FjuR5QhdYwOvkpAkqe9 E9+5JNfA/wCtaxfSftoeUFIbQ7X4DJ5g== X-Google-Smtp-Source: AGHT+IETZCFytuhcxmwyAYMbvVQ+k0LcHrDBKuExYdhaEVzislepliPqczS5k/WGmFJtVck24Vggmg== X-Received: by 2002:a05:6000:2405:b0:42b:3a84:1ec3 with SMTP id ffacd0b85a97d-42b5937ff2emr21375859f8f.29.1763567158737; Wed, 19 Nov 2025 07:45:58 -0800 (PST) Received: from eugen-station.. ([82.76.24.202]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53dea1c9sm38765632f8f.0.2025.11.19.07.45.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Nov 2025 07:45:58 -0800 (PST) From: Eugen Hristev To: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, tglx@linutronix.de, andersson@kernel.org, pmladek@suse.com, rdunlap@infradead.org, corbet@lwn.net, david@redhat.com, mhocko@suse.com Cc: tudor.ambarus@linaro.org, mukesh.ojha@oss.qualcomm.com, linux-arm-kernel@lists.infradead.org, linux-hardening@vger.kernel.org, jonechou@google.com, rostedt@goodmis.org, linux-doc@vger.kernel.org, devicetree@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-arch@vger.kernel.org, tony.luck@intel.com, kees@kernel.org, Eugen Hristev Subject: [PATCH 24/26] soc: qcom: smem: Add minidump device Date: Wed, 19 Nov 2025 17:44:25 +0200 Message-ID: <20251119154427.1033475-25-eugen.hristev@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251119154427.1033475-1-eugen.hristev@linaro.org> References: <20251119154427.1033475-1-eugen.hristev@linaro.org> 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" Add a minidump platform device. Minidump can collect various memory snippets using dedicated firmware. To know which snippets to collect, each snippet must be registered by the kernel into a specific shared memory table which is controlled by the qcom smem driver. To instantiate the minidump platform driver, register its data using platform_device_register_data. Later on, the minidump driver will probe and obtain the required memory snippets from the memory inspection table (meminspect) Signed-off-by: Eugen Hristev --- drivers/soc/qcom/smem.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c index c4c45f15dca4..03315722d71a 100644 --- a/drivers/soc/qcom/smem.c +++ b/drivers/soc/qcom/smem.c @@ -270,6 +270,7 @@ struct smem_region { * @partitions: list of partitions of current processor/host * @item_count: max accepted item number * @socinfo: platform device pointer + * @mdinfo: minidump device pointer * @num_regions: number of @regions * @regions: list of the memory regions defining the shared memory */ @@ -280,6 +281,7 @@ struct qcom_smem { =20 u32 item_count; struct platform_device *socinfo; + struct platform_device *mdinfo; struct smem_ptable *ptable; struct smem_partition global_partition; struct smem_partition partitions[SMEM_HOST_COUNT]; @@ -1236,12 +1238,20 @@ static int qcom_smem_probe(struct platform_device *= pdev) if (IS_ERR(smem->socinfo)) dev_dbg(&pdev->dev, "failed to register socinfo device\n"); =20 + smem->mdinfo =3D platform_device_register_data(&pdev->dev, "qcom-minidump= ", + PLATFORM_DEVID_AUTO, NULL, + 0); + if (IS_ERR(smem->mdinfo)) + dev_err(&pdev->dev, "failed to register platform md device\n"); + return 0; } =20 static void qcom_smem_remove(struct platform_device *pdev) { platform_device_unregister(__smem->socinfo); + if (!IS_ERR(__smem->mdinfo)) + platform_device_unregister(__smem->mdinfo); =20 hwspin_lock_free(__smem->hwlock); __smem =3D NULL; --=20 2.43.0