2023-04-04 13:41:14 +03:00
/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
/*
* This file is provided under a dual BSD / GPLv2 license . When using or
* redistributing this file , you may do so under either license .
*
* Copyright ( c ) 2022 - 2023 Intel Corporation . All rights reserved .
*/
struct hdac_bus ;
# if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_MLINK)
2023-04-04 13:41:15 +03:00
int hda_bus_ml_init ( struct hdac_bus * bus ) ;
2023-04-04 13:41:14 +03:00
void hda_bus_ml_free ( struct hdac_bus * bus ) ;
2023-04-04 13:41:17 +03:00
int hdac_bus_eml_power_up ( struct hdac_bus * bus , bool alt , int elid , int sublink ) ;
int hdac_bus_eml_power_up_unlocked ( struct hdac_bus * bus , bool alt , int elid , int sublink ) ;
int hdac_bus_eml_power_down ( struct hdac_bus * bus , bool alt , int elid , int sublink ) ;
int hdac_bus_eml_power_down_unlocked ( struct hdac_bus * bus , bool alt , int elid , int sublink ) ;
2023-04-04 13:41:14 +03:00
void hda_bus_ml_put_all ( struct hdac_bus * bus ) ;
void hda_bus_ml_reset_losidv ( struct hdac_bus * bus ) ;
int hda_bus_ml_resume ( struct hdac_bus * bus ) ;
int hda_bus_ml_suspend ( struct hdac_bus * bus ) ;
# else
static inline int
2023-04-04 13:41:15 +03:00
hda_bus_ml_init ( struct hdac_bus * bus ) { return 0 ; }
2023-04-04 13:41:14 +03:00
static inline void hda_bus_ml_free ( struct hdac_bus * bus ) { }
2023-04-04 13:41:17 +03:00
static inline int
hdac_bus_eml_power_up ( struct hdac_bus * bus , bool alt , int elid , int sublink )
{
return 0 ;
}
static inline int
hdac_bus_eml_power_up_unlocked ( struct hdac_bus * bus , bool alt , int elid , int sublink )
{
return 0 ;
}
static inline int
hdac_bus_eml_power_down ( struct hdac_bus * bus , bool alt , int elid , int sublink )
{
return 0 ;
}
static inline int
hdac_bus_eml_power_down_unlocked ( struct hdac_bus * bus , bool alt , int elid , int sublink )
{
return 0 ;
}
2023-04-04 13:41:14 +03:00
static inline void hda_bus_ml_put_all ( struct hdac_bus * bus ) { }
static inline void hda_bus_ml_reset_losidv ( struct hdac_bus * bus ) { }
static inline int hda_bus_ml_resume ( struct hdac_bus * bus ) { return 0 ; }
static inline int hda_bus_ml_suspend ( struct hdac_bus * bus ) { return 0 ; }
# endif /* CONFIG_SND_SOC_SOF_HDA */