[Concept,00/17] ext4l: Move compatibility stubs to standard Linux headers

Message ID 20260120234344.495605-1-sjg@u-boot.org
Headers
Series ext4l: Move compatibility stubs to standard Linux headers |

Message

Simon Glass Jan. 20, 2026, 11:43 p.m. UTC
  From: Simon Glass <simon.glass@canonical.com>

The ext4 Linux port (ext4l) includes many compatibility stubs in
ext4_uboot.h. This makes it harder to maintain and compare against
upstream Linux, since the stubs are all in one U-Boot-specific file
rather than in their canonical header locations.

This series moves these stubs to their proper locations in the Linux
header hierarchy:

- Cache alignment macros to linux/cache.h
- Pointer macros to linux/slab.h
- Compiler attributes to linux/compiler_attributes.h
- Inode helpers and state bits to linux/fs.h
- Memory and kunit stubs to standard headers
- Little-endian bitops to asm-generic/bitops/le.h
- UUID helpers to linux/statfs.h
- Time functions to linux/time.h
- Buffer operations to linux/buffer_head.h
- Block device stubs to linux/blkdev.h
- Folio operations to proper headers
- Super operations to linux/fs/super_types.h
- Lock and scheduler stubs to proper headers

This makes the U-Boot Linux compatibility layer more closely mirror the
actual Linux header structure, easing future synchronisation with
upstream ext4 changes.


Simon Glass (17):
  ext4l: Move cache alignment and pointer macros to headers
  ext4l: Move inode helpers to standard linux headers
  ext4l: Move inode state bits to linux/fs.h
  ext4l: Move memory and kunit stubs to standard headers
  ext4l: Create asm-generic/bitops/le.h for little-endian bitops
  ext4l: Move uuid_to_fsid to linux/statfs.h and use hexdump.h
  ext4l: Move time functions to linux/time.h
  ext4l: Move buffer and filesystem helpers to standard headers
  ext4l: Move block device atomic write stubs to linux/blkdev.h
  ext4l: Move get_block_t typedef to linux/fs.h
  ext4l: Move buffer operations to linux/buffer_head.h
  ext4l: Move inode stubs to proper headers
  ext4l: Move folio operations to proper headers
  ext4l: Move super_operations to linux/fs/super_types.h
  ext4l: Move lock and scheduler stubs to proper headers
  ext4l: Move lock bit operations to asm-generic/bitops/lock.h
  ext4l: Move superblock write stubs to linux/fs/super_types.h

 fs/ext4l/ext4_uboot.h               | 325 +++++++---------------------
 include/asm-generic/bitops/le.h     |  76 +++++++
 include/asm-generic/bitops/lock.h   |  30 +++
 include/kunit/static_stub.h         |  12 +-
 include/linux/blkdev.h              |   5 +
 include/linux/buffer_head.h         |  74 +++++++
 include/linux/cache.h               |  22 ++
 include/linux/compiler_attributes.h |  10 +
 include/linux/cred.h                |   3 +
 include/linux/fs.h                  |  85 +++++++-
 include/linux/fs/super_types.h      |  33 +++
 include/linux/mutex.h               |   1 +
 include/linux/pagemap.h             |  18 ++
 include/linux/pagevec.h             |  11 +
 include/linux/sched.h               |   1 +
 include/linux/sched/mm.h            |  32 +++
 include/linux/slab.h                |   9 +
 include/linux/spinlock.h            |   4 +
 include/linux/statfs.h              |  19 ++
 include/linux/time.h                |  14 ++
 include/linux/writeback.h           |   8 +
 21 files changed, 537 insertions(+), 255 deletions(-)
 create mode 100644 include/asm-generic/bitops/le.h
 create mode 100644 include/asm-generic/bitops/lock.h
 create mode 100644 include/linux/cache.h
 create mode 100644 include/linux/sched/mm.h