xen/grant-table: guard gnttab_suspend/resume with CONFIG_HIBERNATE_CALLBACKS

In current linux.git, gnttab_suspend() and gnttab_resume() are defined
and declared unconditionally. However, their only in-tree callers reside
in drivers/xen/manage.c, which are guarded by CONFIG_HIBERNATE_CALLBACKS.

Match the helper scope to their callers by wrapping the definitions in
CONFIG_HIBERNATE_CALLBACKS and providing no-op stubs in the header. This
fixes the config-scope mismatch and reduces the code footprint when
hibernation callbacks are disabled.

Signed-off-by: Pengpeng Hou <pengpeng.hou@isrc.iscas.ac.cn>
Signed-off-by: Juergen Gross <jgross@suse.com>
Message-ID: <20260310080800.742223-1-pengpeng.hou@isrc.iscas.ac.cn>
This commit is contained in:
Pengpeng Hou
2026-03-10 08:08:00 +00:00
committed by Juergen Gross
parent bdd5de3d9e
commit 3f100dd61a
2 changed files with 14 additions and 1 deletions

View File

@@ -1579,7 +1579,7 @@ static int gnttab_setup(void)
}
return gnttab_map(0, nr_grant_frames - 1);
}
#ifdef CONFIG_HIBERNATE_CALLBACKS
int gnttab_resume(void)
{
gnttab_request_version();
@@ -1592,6 +1592,7 @@ int gnttab_suspend(void)
gnttab_interface->unmap_frames();
return 0;
}
#endif
static int gnttab_expand(unsigned int req_entries)
{

View File

@@ -84,8 +84,20 @@ struct gntab_unmap_queue_data
};
int gnttab_init(void);
#ifdef CONFIG_HIBERNATE_CALLBACKS
int gnttab_suspend(void);
int gnttab_resume(void);
#else
static inline int gnttab_suspend(void)
{
return 0;
}
static inline int gnttab_resume(void)
{
return 0;
}
#endif
int gnttab_grant_foreign_access(domid_t domid, unsigned long frame,
int readonly);