Commit 9eca88c8 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: x86: Replace indirect query_ops with direct calls



Like the previous patch, this replaces the indirect query_ops calls
via direct function calls.  They are only get_caps and set_caps, so
fairly straightforward at this time.

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent f23df807
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -179,8 +179,7 @@ int had_get_caps(enum had_caps_list query, void *caps)

	retval = had_get_hwstate(intelhaddata);
	if (!retval)
		retval = intelhaddata->query_ops.hdmi_audio_get_caps(query,
				caps);
		retval = mid_hdmi_audio_get_caps(query, caps);

	return retval;
}
@@ -192,8 +191,7 @@ int had_set_caps(enum had_caps_list set_element, void *caps)

	retval = had_get_hwstate(intelhaddata);
	if (!retval)
		retval = intelhaddata->query_ops.hdmi_audio_set_caps(
				set_element, caps);
		retval = mid_hdmi_audio_set_caps(set_element, caps);

	return retval;
}
@@ -1616,9 +1614,7 @@ int hdmi_audio_probe(void *deviceptr)

	/* registering with display driver to get access to display APIs */

	retval = mid_hdmi_audio_setup(
			ops_cb.intel_had_event_call_back,
			&(intelhaddata->query_ops));
	retval = mid_hdmi_audio_setup(ops_cb.intel_had_event_call_back);
	if (retval) {
		pr_err("querying display driver APIs failed %#x\n", retval);
		goto free_hadstream;
+0 −2
Original line number Diff line number Diff line
@@ -107,7 +107,6 @@ struct had_callback_ops {
 * @card: ptr to hold card details
 * @card_index: sound card index
 * @card_id: detected sound card id
 * @query_ops: caps call backs for get/set operations
 * @drv_status: driver status
 * @buf_info: ring buffer info
 * @stream_info: stream information
@@ -127,7 +126,6 @@ struct snd_intelhad {
	struct snd_card	*card;
	int		card_index;
	char		*card_id;
	struct hdmi_audio_query_set_ops	query_ops;
	enum had_drv_status	drv_status;
	struct		ring_buf_info buf_info[HAD_NUM_OF_RING_BUFS];
	struct		pcm_stream_info stream_info;
+7 −19
Original line number Diff line number Diff line
@@ -239,11 +239,11 @@ int mid_hdmi_audio_rmw(u32 reg, u32 val, u32 mask)
	return 0;
}

/**
/*
 * used to return the HDMI audio capabilities.
 * e.g. resolution, frame rate.
 */
static int hdmi_audio_get_caps(enum had_caps_list get_element,
int mid_hdmi_audio_get_caps(enum had_caps_list get_element,
			    void *capabilities)
{
	struct hdmi_lpe_audio_ctx *ctx;
@@ -281,11 +281,11 @@ static int hdmi_audio_get_caps(enum had_caps_list get_element,
	return ret;
}

/**
/*
 * used to set the HDMI audio capabilities.
 * e.g. Audio INT.
 */
int hdmi_audio_set_caps(enum had_caps_list set_element,
int mid_hdmi_audio_set_caps(enum had_caps_list set_element,
			    void *capabilties)
{
	struct hdmi_lpe_audio_ctx *ctx;
@@ -313,14 +313,7 @@ int hdmi_audio_set_caps(enum had_caps_list set_element,
	return 0;
}

static struct hdmi_audio_query_set_ops hdmi_audio_get_set_ops = {
	.hdmi_audio_get_caps = hdmi_audio_get_caps,
	.hdmi_audio_set_caps = hdmi_audio_set_caps,
};

int mid_hdmi_audio_setup(
		had_event_call_back audio_callbacks,
		struct hdmi_audio_query_set_ops *query_ops)
int mid_hdmi_audio_setup(had_event_call_back audio_callbacks)
{
	struct hdmi_lpe_audio_ctx *ctx;

@@ -328,11 +321,6 @@ int mid_hdmi_audio_setup(

	dev_dbg(&hlpe_pdev->dev, "%s: called\n",  __func__);

	query_ops->hdmi_audio_get_caps =
		hdmi_audio_get_set_ops.hdmi_audio_get_caps;
	query_ops->hdmi_audio_set_caps =
		hdmi_audio_get_set_ops.hdmi_audio_set_caps;

	ctx->had_event_callbacks = audio_callbacks;

	return 0;
+6 −10
Original line number Diff line number Diff line
@@ -641,13 +641,6 @@ enum had_event_type {
typedef int (*had_event_call_back) (enum had_event_type event_type,
		void *ctxt_info);

struct hdmi_audio_query_set_ops {
	int (*hdmi_audio_get_caps)(enum had_caps_list query_element,
			void *capabilties);
	int (*hdmi_audio_set_caps)(enum had_caps_list set_element,
			void *capabilties);
};

struct hdmi_audio_event {
	int type;
};
@@ -663,9 +656,7 @@ bool mid_hdmi_audio_is_busy(void *dev);
bool mid_hdmi_audio_suspend(void *dev);
void mid_hdmi_audio_resume(void *dev);
void mid_hdmi_audio_signal_event(enum had_event_type event);
int mid_hdmi_audio_setup(
	had_event_call_back audio_callbacks,
	struct hdmi_audio_query_set_ops *query_ops);
int mid_hdmi_audio_setup(had_event_call_back audio_callbacks);
int mid_hdmi_audio_register(
	struct snd_intel_had_interface *driver,
	void *had_data);
@@ -674,4 +665,9 @@ int mid_hdmi_audio_read(u32 reg, u32 *val);
int mid_hdmi_audio_write(u32 reg, u32 val);
int mid_hdmi_audio_rmw(u32 reg, u32 val, u32 mask);

int mid_hdmi_audio_get_caps(enum had_caps_list get_element,
			    void *capabilities);
int mid_hdmi_audio_set_caps(enum had_caps_list set_element,
			    void *capabilties);

#endif