This exists to stop people from using the bits while the feature is in active development. We had the same patch a few days (weeks?) ago. * Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [240906 11:05]: > A few functions defined but not used. This, in particular, > prevents kernel builds with clang, `make W=1` and CONFIG_WERROR=y: > > lib/maple_tree.c:351:21: error: unused function 'mte_set_full' [-Werror,-Wunused-function] > 351 | static inline void *mte_set_full(const struct maple_enode *node) > | ^~~~~~~~~~~~ > lib/maple_tree.c:356:21: error: unused function 'mte_clear_full' [-Werror,-Wunused-function] > 356 | static inline void *mte_clear_full(const struct maple_enode *node) > | ^~~~~~~~~~~~~~ > lib/maple_tree.c:361:20: error: unused function 'mte_has_null' [-Werror,-Wunused-function] > 361 | static inline bool mte_has_null(const struct maple_enode *node) > | ^~~~~~~~~~~~ > > Fix this by dropping unused functions. > > See also commit 6863f5643dd7 ("kbuild: allow Clang to find unused static > inline functions for W=1 build"). > > Fixes: 6e7ba8b5e238 ("maple_tree: mte_set_full() and mte_clear_full() clang-analyzer clean up") > Fixes: 54a611b60590 ("Maple Tree: add new data structure") > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> > --- > lib/maple_tree.c | 15 --------------- > 1 file changed, 15 deletions(-) > > diff --git a/lib/maple_tree.c b/lib/maple_tree.c > index aa3a5df15b8e..f7601aa470e0 100644 > --- a/lib/maple_tree.c > +++ b/lib/maple_tree.c > @@ -348,21 +348,6 @@ static inline void *mte_safe_root(const struct maple_enode *node) > return (void *)((unsigned long)node & ~MAPLE_ROOT_NODE); > } > > -static inline void *mte_set_full(const struct maple_enode *node) > -{ > - return (void *)((unsigned long)node & ~MAPLE_ENODE_NULL); > -} > - > -static inline void *mte_clear_full(const struct maple_enode *node) > -{ > - return (void *)((unsigned long)node | MAPLE_ENODE_NULL); > -} > - > -static inline bool mte_has_null(const struct maple_enode *node) > -{ > - return (unsigned long)node & MAPLE_ENODE_NULL; > -} > - > static __always_inline bool ma_is_root(struct maple_node *node) > { > return ((unsigned long)node->parent & MA_ROOT_PARENT); > -- > 2.43.0.rc1.1336.g36b5255a03ac >