From: Simon Glass <simon.glass@canonical.com> U-Boot is single-threaded, so inode locking is a no-op. Move the stub macros (inode_lock, inode_unlock, inode_lock_shared, inode_unlock_shared, inode_trylock, inode_trylock_shared, inode_dio_wait, inode_lock_nested) and the I_MUTEX_* enum to include/linux/fs.h where they belong. Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: Simon Glass <simon.glass@canonical.com> --- fs/ext4l/ext4_uboot.h | 15 ++------------- include/linux/fs.h | 13 +++++++++++++ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/fs/ext4l/ext4_uboot.h b/fs/ext4l/ext4_uboot.h index ba462af45e4..8daf01779c5 100644 --- a/fs/ext4l/ext4_uboot.h +++ b/fs/ext4l/ext4_uboot.h @@ -719,15 +719,7 @@ static inline unsigned long memweight(const void *ptr, size_t bytes) #define bh_uptodate_or_lock(bh) (1) /* ext4_read_bh is stubbed in interface.c */ -/* Inode locking */ -#define inode_lock(inode) do { } while (0) -#define inode_unlock(inode) do { } while (0) -#define inode_lock_shared(inode) do { } while (0) -#define inode_unlock_shared(inode) do { } while (0) -#define inode_trylock(inode) (1) -#define inode_trylock_shared(inode) (1) -#define inode_dio_wait(inode) do { } while (0) - +/* Inode locking stubs are in linux/fs.h */ /* Lock debugging stubs are in linux/lockdep.h */ /* File operations */ @@ -1344,10 +1336,7 @@ static inline void super_set_uuid(struct super_block *sb, const u8 *uuid, #define xattr_handler_can_list(h, d) ({ (void)(h); (void)(d); 0; }) #define xattr_prefix(h) ({ (void)(h); (const char *)NULL; }) -/* I_MUTEX_* inode lock classes are in linux/fs.h */ - -/* Nested inode locking stub */ -#define inode_lock_nested(i, c) do { (void)(i); (void)(c); } while (0) +/* I_MUTEX_* constants and inode locking stubs are in linux/fs.h */ /* PF_MEMALLOC_NOFS is in linux/sched.h */ diff --git a/include/linux/fs.h b/include/linux/fs.h index 5c357cdacd2..6d8b9b5c79b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -270,4 +270,17 @@ enum { I_MUTEX_PARENT2, }; +/* + * Inode locking stubs - U-Boot is single-threaded, no locking needed. + */ +#define inode_lock(inode) do { (void)(inode); } while (0) +#define inode_unlock(inode) do { (void)(inode); } while (0) +#define inode_lock_shared(inode) do { (void)(inode); } while (0) +#define inode_unlock_shared(inode) do { (void)(inode); } while (0) +#define inode_trylock(inode) ({ (void)(inode); 1; }) +#define inode_trylock_shared(inode) ({ (void)(inode); 1; }) +#define inode_dio_wait(inode) do { (void)(inode); } while (0) +#define inode_lock_nested(inode, subclass) \ + do { (void)(inode); (void)(subclass); } while (0) + #endif /* _LINUX_FS_H */ -- 2.43.0