162306a36Sopenharmony_ci/* SPDX-License-Identifier: MIT */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright © 2021 Intel Corporation
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifndef __I915_IOSF_MBI_H__
762306a36Sopenharmony_ci#define __I915_IOSF_MBI_H__
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#if IS_ENABLED(CONFIG_IOSF_MBI)
1062306a36Sopenharmony_ci#include <asm/iosf_mbi.h>
1162306a36Sopenharmony_ci#else
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/* Stubs to compile for all non-x86 archs */
1462306a36Sopenharmony_ci#define MBI_PMIC_BUS_ACCESS_BEGIN       1
1562306a36Sopenharmony_ci#define MBI_PMIC_BUS_ACCESS_END         2
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cistruct notifier_block;
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cistatic inline void iosf_mbi_punit_acquire(void) {}
2062306a36Sopenharmony_cistatic inline void iosf_mbi_punit_release(void) {}
2162306a36Sopenharmony_cistatic inline void iosf_mbi_assert_punit_acquired(void) {}
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_cistatic inline
2462306a36Sopenharmony_ciint iosf_mbi_register_pmic_bus_access_notifier(struct notifier_block *nb)
2562306a36Sopenharmony_ci{
2662306a36Sopenharmony_ci	return 0;
2762306a36Sopenharmony_ci}
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_cistatic inline int
3062306a36Sopenharmony_ciiosf_mbi_unregister_pmic_bus_access_notifier_unlocked(struct notifier_block *nb)
3162306a36Sopenharmony_ci{
3262306a36Sopenharmony_ci	return 0;
3362306a36Sopenharmony_ci}
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_cistatic inline
3662306a36Sopenharmony_ciint iosf_mbi_unregister_pmic_bus_access_notifier(struct notifier_block *nb)
3762306a36Sopenharmony_ci{
3862306a36Sopenharmony_ci	return 0;
3962306a36Sopenharmony_ci}
4062306a36Sopenharmony_ci#endif
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci#endif /* __I915_IOSF_MBI_H__ */
43