Files
android_kernel_samsung_sm86…/asoc/codecs/bolero/bolero-clk-rsc.h
Aditya Bavanari cfc65e8257 asoc: codecs: Vote for codec core and NPL clocks before regcache_sync
Vote for codec core and NPL clocks before regcache_sync
to avoid unclocked access of bolero registers.
Unvote once the regcache sync is done.

Change-Id: Iae45f487113c55318f33cd1950e2d6b64bcd945a
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
2019-10-11 20:11:10 +05:30

53 baris
1.3 KiB
C

/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (c) 2019, The Linux Foundation. All rights reserved.
*/
#ifndef BOLERO_CLK_RSC_H
#define BOLERO_CLK_RSC_H
#include <linux/regmap.h>
#include <dt-bindings/sound/qcom,bolero-clk-rsc.h>
#if IS_ENABLED(CONFIG_SND_SOC_BOLERO)
int bolero_clk_rsc_mgr_init(void);
void bolero_clk_rsc_mgr_exit(void);
void bolero_clk_rsc_fs_gen_request(struct device *dev,
bool enable);
int bolero_clk_rsc_request_clock(struct device *dev,
int default_clk_id,
int clk_id_req,
bool enable);
int bolero_rsc_clk_reset(struct device *dev, int clk_id);
void bolero_clk_rsc_enable_all_clocks(struct device *dev, bool enable);
#else
static inline void bolero_clk_rsc_fs_gen_request(struct device *dev,
bool enable)
{
}
static inline int bolero_clk_rsc_mgr_init(void)
{
return 0;
}
static inline void bolero_clk_rsc_mgr_exit(void)
{
}
static inline int bolero_clk_rsc_request_clock(struct device *dev,
int default_clk_id,
int clk_id_req,
bool enable)
{
return 0;
}
static inline int bolero_rsc_clk_reset(struct device *dev, int clk_id)
{
return 0;
}
static inline void bolero_clk_rsc_enable_all_clocks(struct device *dev,
bool enable)
{
return;
}
#endif /* CONFIG_SND_SOC_BOLERO */
#endif /* BOLERO_CLK_RSC_H */