From patchwork Sat Jan 17 01:14:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1575 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768612566; bh=qXw6YIAixLFxEfSvHo6IxO4y1a7T13qpZ7dW2WspHA4=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=QwwxDBOt6mKJxl3nGU3D84WwwmdSIVec8NfW+RvwaxNGt77LC5hlD5CaBatNYUxH1 ur8PO/k4+h/avOem+/K/ro5jJ9V4Q/79I7n4hfeI8ES7pvAmF02h691PLt8dFQRr67 yqVRUS52aHYQbgzxEmwyO9Ds1DjG5xHkSPSKaROalqqPWKyz4HdPwZhTwWfy0DQL+S P5l/clPzFjCgvoCbHeJicrEOOHYtwPsgSY7WYbdOCkXVOBcL3JifQvAQUtDrEaXuW2 Dqe3T2kS4/M649K2J0cD58W+9EBytZJk1aqazQBOIuOidvjH6NhY/A/mpZQPvj2APR olZJzHG69GUtA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6BA3F69407 for ; Fri, 16 Jan 2026 18:16:06 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Dp8RVBEn_1MS for ; Fri, 16 Jan 2026 18:16:06 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768612565; bh=qXw6YIAixLFxEfSvHo6IxO4y1a7T13qpZ7dW2WspHA4=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=CWbeWiLq+XethUAbd1d5LetsOaGCUcPTmRbSQflFq9xQfobFjCyznRpl2Qo6OwCLF w5wLNl0FtoouP2tJZwMhBObCVwKfDnXgY/ZR/fwhblR+MZvfzZmvxFBlSgeeXMbbFM F1yALzXXwXkB/RAP3O5Z+EMtTgotmaZFSxJwii7Ks8LLU14n8oaZXCE34nX8yErFj5 URflBqcY9AB+8lRHzu6CcHaP6D5Mz4Hq3dXrL9qi0ItW3AizCqhyryafjNJLGIkeyw LFkUfUaFpSxfybvrJr54zbxwWIpGEtwZH6ORGvUElSfwLeVoTgnhhY2PAXISNmhMFh GvnTdvlne+Rqg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 69FD6693D6 for ; Fri, 16 Jan 2026 18:16:05 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768612562; bh=eMVE9sbfeHl5VVshq45XtxIznBbmsXgrVkCbSqPDnCM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eZRB9lr1VmvZH40ZwmpzqARG9pGqKCFoMCOHcrk/t9wKPOzmaC5itRuSDmLKEY2mB /O84BvOMlv75nR+KhLfrWLybK+yiAutaNx5b9bI7tXY1CuXUi5UVs0o2VGs9rW3ABD hDEftTka4T9cqsagEOdVS2qVwk7BY9EHdwUlsgZfRxWwXUywvefbCtX0p0hKqzOfRo qrKmm8IpFtyKzkIMdP2kHFWrNySM14957/rXx7kypTS1GyS2hg/v2l4RciC62yBXiI WZz4aIay4sbCXOQ/TwJ3lK27aE8W60wrKdZ0xaLgHOdcu0n2e/2o3CKINZAhyEp1Z0 OvYIBIiOS8FzA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id CDFFB6913F; Fri, 16 Jan 2026 18:16:02 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id nAxx_0ft4yxH; Fri, 16 Jan 2026 18:16:02 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768612562; bh=reFTbAEaHtcvdTgjk96oB25Od2zvZPhn46iWVoEsqGs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iJbzjZP3B6XFUccRP+zSztrWyEHH4VzfePWErUvB+ZRbzVmx7wg2dIqq7MsF7lPC3 9yE7mWS+Qabv0JJKN8Vtus7guzhMfRkVTrr41VHuUYIBjOugRqsxn0wqGJyfHu1SlI yH2VnY3eIrWjsGPsPrzZlIvi91E4XIFExJyB+YBPgDAm2XwlXf++FNtyTVrrTsanZl oqypJFl9r0PGlYkEiIMcJwQcKPl17+VMfg++jTYpBDi/fn8RSXIxxkjoxt8GX3w4j9 4JTZMyoE9rTxS0irN114aIPvCuEA92SrxAzoNCwOp69gm0V263lsRL11K527Z/XwMz ZG/OBlCTdLEIA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 424B0693D6; Fri, 16 Jan 2026 18:16:02 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 16 Jan 2026 18:14:37 -0700 Message-ID: <20260117011448.3007171-16-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260117011448.3007171-1-sjg@u-boot.org> References: <20260117011448.3007171-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: KPX3J26HSE6REZQVNIZTXO63LOWJUZWI X-Message-ID-Hash: KPX3J26HSE6REZQVNIZTXO63LOWJUZWI X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass , "Claude Opus 4 . 5" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 15/19] linux: Add mempool.h header with memory pool stubs List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass Move memory pool type and operation stubs to a dedicated header file that mirrors the Linux kernel organisation. mempool.h provides: - mempool_t type - mempool_alloc() - allocate from pool (stub returns NULL) - mempool_free() - free to pool (stub no-op) - mempool_create_slab_pool() - create pool (stub returns NULL) - mempool_destroy() - destroy pool (stub no-op) These are stubs since U-Boot doesn't use memory pools. Co-developed-by: Claude Opus 4.5 Signed-off-by: Simon Glass --- fs/ext4l/ext4_uboot.h | 8 ++---- include/linux/mempool.h | 57 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 include/linux/mempool.h diff --git a/fs/ext4l/ext4_uboot.h b/fs/ext4l/ext4_uboot.h index 97bcc48d922..f77891835cb 100644 --- a/fs/ext4l/ext4_uboot.h +++ b/fs/ext4l/ext4_uboot.h @@ -1795,12 +1795,8 @@ bool __folio_start_writeback(struct folio *folio, bool keep_write); * Stubs for readpage.c */ -/* mempool - memory pool stubs */ -typedef void *mempool_t; -#define mempool_alloc(pool, gfp) ({ (void)(pool); (void)(gfp); (void *)NULL; }) -#define mempool_free(elem, pool) do { (void)(elem); (void)(pool); } while (0) -#define mempool_create_slab_pool(n, c) ({ (void)(n); (void)(c); (mempool_t *)NULL; }) -#define mempool_destroy(pool) do { (void)(pool); } while (0) +/* mempool is now in linux/mempool.h */ +#include /* folio read operations */ #define folio_end_read(f, success) do { (void)(f); (void)(success); } while (0) diff --git a/include/linux/mempool.h b/include/linux/mempool.h new file mode 100644 index 00000000000..feb99a1455c --- /dev/null +++ b/include/linux/mempool.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * Memory pool stubs for U-Boot + * + * U-Boot doesn't have memory pools, so these are stubs. + */ +#ifndef _LINUX_MEMPOOL_H +#define _LINUX_MEMPOOL_H + +#include + +/** + * typedef mempool_t - memory pool handle + * + * U-Boot stub - memory pools are not used. + */ +typedef void *mempool_t; + +/** + * mempool_alloc() - allocate element from pool + * @pool: memory pool + * @gfp: allocation flags + * + * U-Boot stub - always returns NULL. + */ +#define mempool_alloc(pool, gfp) \ + ({ (void)(pool); (void)(gfp); (void *)NULL; }) + +/** + * mempool_free() - free element back to pool + * @elem: element to free + * @pool: memory pool + * + * U-Boot stub - no-op. + */ +#define mempool_free(elem, pool) \ + do { (void)(elem); (void)(pool); } while (0) + +/** + * mempool_create_slab_pool() - create a memory pool backed by a slab cache + * @min_nr: minimum number of elements + * @cache: slab cache + * + * U-Boot stub - always returns NULL. + */ +#define mempool_create_slab_pool(min_nr, cache) \ + ({ (void)(min_nr); (void)(cache); (mempool_t *)NULL; }) + +/** + * mempool_destroy() - destroy a memory pool + * @pool: memory pool to destroy + * + * U-Boot stub - no-op. + */ +#define mempool_destroy(pool) do { (void)(pool); } while (0) + +#endif /* _LINUX_MEMPOOL_H */