#define compound_head(page) ((typeof(page))_compound_head(page))
+static __always_inline void set_compound_head(struct page *tail,
+ const struct page *head, unsigned int order)
+{
+ WRITE_ONCE(tail->compound_info, (unsigned long)head + 1);
+}
+
+static __always_inline void clear_compound_head(struct page *page)
+{
+ WRITE_ONCE(page->compound_info, 0);
+}
+
/**
* page_folio - Converts from page to folio.
* @p: The page.
return folio_test_head(folio);
}
-static __always_inline void set_compound_head(struct page *tail,
- const struct page *head, unsigned int order)
-{
- WRITE_ONCE(tail->compound_info, (unsigned long)head + 1);
-}
-
-static __always_inline void clear_compound_head(struct page *page)
-{
- WRITE_ONCE(page->compound_info, 0);
-}
-
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
static inline void ClearPageCompound(struct page *page)
{