summaryrefslogtreecommitdiffstats
path: root/sound/x86
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-01-30 18:15:40 +0100
committerTakashi Iwai <tiwai@suse.de>2017-02-03 17:25:10 +0100
commit7f2e9ab5a2e1afcedd1e50650670c309e46822ac (patch)
treecb375e263a0043cebedf152bb9cff82fbc6be4ed /sound/x86
parent055610b002c1066b8ca1919b8d051d80c9e2d86e (diff)
downloadlinux-7f2e9ab5a2e1afcedd1e50650670c309e46822ac.tar.bz2
ALSA: x86: Drop global ELD copy
Similarly like the previous patch, drop the global variable to keep the ELD copy. It can be embedded in hdmi_lpe_audio_ctx as well. And this makes easier to code, it's just a memcpy(), after all. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/x86')
-rw-r--r--sound/x86/intel_hdmi_lpe_audio.c31
1 files changed, 5 insertions, 26 deletions
diff --git a/sound/x86/intel_hdmi_lpe_audio.c b/sound/x86/intel_hdmi_lpe_audio.c
index 775a8b947213..53864d372861 100644
--- a/sound/x86/intel_hdmi_lpe_audio.c
+++ b/sound/x86/intel_hdmi_lpe_audio.c
@@ -36,9 +36,6 @@
#include "intel_hdmi_lpe_audio.h"
#include "intel_hdmi_audio.h"
-/* globals*/
-static union otm_hdmi_eld_t hlpe_eld;
-
struct hdmi_lpe_audio_ctx {
struct platform_device *pdev;
int irq;
@@ -51,29 +48,9 @@ struct hdmi_lpe_audio_ctx {
int hdmi_audio_interrupt_mask;
struct work_struct hdmi_audio_wq;
int state; /* connection state */
+ union otm_hdmi_eld_t eld; /* ELD copy */
};
-static void hdmi_set_eld(void *eld)
-{
- int size;
-
- BUILD_BUG_ON(sizeof(hlpe_eld) > HDMI_MAX_ELD_BYTES);
-
- size = sizeof(hlpe_eld);
- memcpy((void *)&hlpe_eld, eld, size);
-}
-
-static int hdmi_get_eld(void *eld)
-{
- u8 *eld_data = (u8 *)&hlpe_eld;
-
- memcpy(eld, (void *)&hlpe_eld, sizeof(hlpe_eld));
-
- print_hex_dump_bytes("eld: ", DUMP_PREFIX_NONE, eld_data,
- sizeof(hlpe_eld));
- return 0;
-}
-
static void mid_hdmi_audio_signal_event(struct platform_device *pdev,
enum had_event_type event)
{
@@ -159,7 +136,9 @@ int mid_hdmi_audio_get_caps(struct platform_device *pdev,
switch (get_element) {
case HAD_GET_ELD:
- ret = hdmi_get_eld(capabilities);
+ memcpy(capabilities, &ctx->eld, sizeof(ctx->eld));
+ print_hex_dump_bytes("eld: ", DUMP_PREFIX_NONE,
+ (u8 *)&ctx->eld, sizeof(ctx->eld));
break;
case HAD_GET_DISPLAY_RATE:
/* ToDo: Verify if sampling freq logic is correct */
@@ -292,7 +271,7 @@ static void notify_audio_lpe(struct platform_device *pdev)
break;
}
- hdmi_set_eld(eld->eld_data);
+ memcpy(&ctx->eld, eld->eld_data, sizeof(ctx->eld));
mid_hdmi_audio_signal_event(pdev, HAD_EVENT_HOT_PLUG);