return ret;
 }
 
-static unsigned long free_raw_hwp_pages(struct page *hpage, bool move_flag)
+static unsigned long folio_free_raw_hwp(struct folio *folio, bool move_flag)
 {
        /*
-        * HPageVmemmapOptimized hugepages can't be freed because struct
+        * hugetlb_vmemmap_optimized hugepages can't be freed because struct
         * pages for tail pages are required but they don't exist.
         */
-       if (move_flag && HPageVmemmapOptimized(hpage))
+       if (move_flag && folio_test_hugetlb_vmemmap_optimized(folio))
                return 0;
 
        /*
-        * HPageRawHwpUnreliable hugepages shouldn't be unpoisoned by
+        * hugetlb_raw_hwp_unreliable hugepages shouldn't be unpoisoned by
         * definition.
         */
-       if (HPageRawHwpUnreliable(hpage))
+       if (folio_test_hugetlb_raw_hwp_unreliable(folio))
                return 0;
 
-       return __free_raw_hwp_pages(hpage, move_flag);
+       return __free_raw_hwp_pages(&folio->page, move_flag);
 }
 
 void folio_clear_hugetlb_hwpoison(struct folio *folio)
        if (folio_test_hugetlb_raw_hwp_unreliable(folio))
                return;
        folio_clear_hwpoison(folio);
-       free_raw_hwp_pages(&folio->page, true);
+       folio_free_raw_hwp(folio, true);
 }
 
 /*
        return 0;
 }
 
-static inline unsigned long free_raw_hwp_pages(struct page *hpage, bool flag)
+static inline unsigned long folio_free_raw_hwp(struct folio *folio, bool flag)
 {
        return 0;
 }
 int unpoison_memory(unsigned long pfn)
 {
        struct page *page;
+       struct folio *folio;
        struct page *p;
        int ret = -EBUSY;
        unsigned long count = 1;
 
        p = pfn_to_page(pfn);
        page = compound_head(p);
+       folio = page_folio(p);
 
        mutex_lock(&mf_mutex);
 
        if (!ret) {
                if (PageHuge(p)) {
                        huge = true;
-                       count = free_raw_hwp_pages(page, false);
+                       count = folio_free_raw_hwp(folio, false);
                        if (count == 0) {
                                ret = -EBUSY;
                                goto unlock_mutex;
        } else {
                if (PageHuge(p)) {
                        huge = true;
-                       count = free_raw_hwp_pages(page, false);
+                       count = folio_free_raw_hwp(folio, false);
                        if (count == 0) {
                                ret = -EBUSY;
                                put_page(page);