[Concept,00/34] ext4l: Clean up ext4_uboot.h by moving definitions to standard headers

Message ID 20260114225635.3407989-1-sjg@u-boot.org
Headers
Series ext4l: Clean up ext4_uboot.h by moving definitions to standard headers |

Message

Simon Glass Jan. 14, 2026, 10:55 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

This series reorganises fs/ext4l/ext4_uboot.h by moving definitions to
their proper locations in the Linux compatibility headers. The goal is
to reduce duplication and make these definitions available to other
parts of U-Boot.

The file is reduced from 3129 lines to 2584 lines (17% reduction).

Changes fall into several categories:

1. Moving standard Linux definitions to include/linux/*.h:
   - Types: pgoff_t, timespec64, time64_t, blk_opf_t
   - Filesystem: dir_context, FMODE_*, DT_*, S_*, ATTR_*, SB_*,
     FALLOC_FL_*, RENAME_*
   - Buffer: buffer_migrate_folio, noop_dirty_folio
   - Misc: jiffies, printk variants, module stubs, seq_file

2. Creating new Linux compatibility headers:
   - linux/lockdep.h: lock dependency stubs
   - linux/percpu.h: per-CPU variable stubs

3. Consolidating ext4l-specific stubs:
   - fs/ext4l/ext4_trace.h: tracing stubs
   - fs/ext4l/ext4_fscrypt.h: fscrypt stubs

4. Using existing headers instead of duplicating:
   - linux/blk_types.h for blk_opf_t
   - linux/pagevec.h for folio_batch
   - linux/completion.h for completion stubs
   - linux/build_bug.h and linux/bug.h for assertion macros

5. Removing dead code and duplicate definitions

This cleanup makes the ext4l code more maintainable and brings the
Linux compatibility layer closer to the actual Linux kernel structure.

There is still more which could be done, but the goal is not to empty
the header file, since most of its contents is of no use to the rest of
U-Boot.


Simon Glass (34):
  ext4l: Move timespec64 and time64_t to linux/time.h
  ext4l: Move rol32 to linux/bitops.h
  ext4l: Move atomic operations to asm-generic/atomic.h
  ext4l: Consolidate trace stubs into ext4_trace.h
  ext4l: Remove duplicate macro definitions
  ext4l: Move flush_workqueue to linux/workqueue.h
  ext4l: Consolidate fscrypt stubs into ext4_fscrypt.h
  ext4l: Remove duplicate percpu_counter stubs
  ext4l: Use linux/completion.h for completion stubs
  ext4l: Convert dquot_suspend from function to macro
  ext4l: Remove dead iomap definitions
  ext4l: Create linux/percpu.h for per-CPU stubs
  ext4l: Remove redundant forward declarations
  ext4l: Move buffer operation stubs to linux/buffer_head.h
  ext4l: Move address_space_operations to linux/fs.h
  ext4l: Use linux/build_bug.h and linux/bug.h for macros
  ext4l: Move seq_file definitions to linux/seq_file.h
  ext4l: Use linux/pagevec.h for folio_batch
  ext4l: Move printk variants to linux/printk.h
  ext4l: Move jiffies definitions to linux/jiffies.h
  ext4l: Move module stubs to linux/module.h
  ext4l: Create linux/lockdep.h for lock dependency stubs
  ext4l: Move string helpers to standard locations
  ext4l: Move FMODE hash flags to linux/fs.h
  ext4l: Move struct dir_context to linux/fs.h
  ext4l: Move pgoff_t to linux/types.h
  ext4l: Use linux/blk_types.h for blk_opf_t
  ext4l: Move DT_* directory entry types to linux/fs.h
  ext4l: Move S_* inode flags to linux/fs.h
  ext4l: Move S_IRUGO to linux/fs.h
  ext4l: Move FALLOC_FL_* and RENAME_* flags to linux/fs.h
  ext4l: Move ATTR_* iattr flags to linux/fs.h
  ext4l: Move SB_* superblock flags to linux/fs.h
  ext4l: Move buffer migration stubs to linux/buffer_head.h

 fs/ext4l/ext4_fscrypt.h      | 144 +++++++
 fs/ext4l/ext4_trace.h        | 172 ++++++++
 fs/ext4l/ext4_uboot.h        | 787 ++++++-----------------------------
 fs/ext4l/stub.c              |  54 +--
 include/asm-generic/atomic.h |  53 +++
 include/linux/bitops.h       |  20 +
 include/linux/buffer_head.h  |  36 ++
 include/linux/completion.h   |  24 +-
 include/linux/fs.h           | 125 +++++-
 include/linux/jiffies.h      |  14 +
 include/linux/lockdep.h      |  36 ++
 include/linux/module.h       |   5 +
 include/linux/percpu.h       |  54 +++
 include/linux/printk.h       |  11 +
 include/linux/seq_file.h     |  13 +
 include/linux/slab.h         |  16 +
 include/linux/string.h       |  41 ++
 include/linux/time.h         |   8 +
 include/linux/types.h        |   3 +
 include/linux/workqueue.h    |   4 +
 lib/string.c                 |  25 ++
 21 files changed, 920 insertions(+), 725 deletions(-)
 create mode 100644 fs/ext4l/ext4_fscrypt.h
 create mode 100644 fs/ext4l/ext4_trace.h
 create mode 100644 include/linux/lockdep.h
 create mode 100644 include/linux/percpu.h