#ifndef _WCD_CLSH_V2_H_
#define _WCD_CLSH_V2_H_
#include <sound/soc.h>
enum wcd_clsh_event { … };
#define WCD_CLSH_STATE_IDLE …
#define WCD_CLSH_STATE_EAR …
#define WCD_CLSH_STATE_HPHL …
#define WCD_CLSH_STATE_HPHR …
#define WCD_CLSH_STATE_LO …
#define WCD_CLSH_STATE_AUX …
#define WCD_CLSH_STATE_MAX …
#define WCD_CLSH_V3_STATE_MAX …
#define NUM_CLSH_STATES_V2 …
#define NUM_CLSH_STATES_V3 …
enum wcd_clsh_mode { … };
enum wcd_codec_version { … };
struct wcd_clsh_ctrl;
extern struct wcd_clsh_ctrl *wcd_clsh_ctrl_alloc(
struct snd_soc_component *comp,
int version);
extern void wcd_clsh_ctrl_free(struct wcd_clsh_ctrl *ctrl);
extern int wcd_clsh_ctrl_get_state(struct wcd_clsh_ctrl *ctrl);
extern int wcd_clsh_ctrl_set_state(struct wcd_clsh_ctrl *ctrl,
enum wcd_clsh_event clsh_event,
int nstate,
enum wcd_clsh_mode mode);
extern void wcd_clsh_set_hph_mode(struct wcd_clsh_ctrl *ctrl,
int mode);
#endif