i915_component.h has wrong prototype for function pin_eld_notify causing HDMI audio driver build problems
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-lts-xenial (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
With kernel 4.4, HDMI audio code, e.g. intel_audio.c, cannot build because of the compiler error of a wrong number of arguments for function pin_eld_notify.
The Ubuntu kernel headers for the kernel 4.4 series have a file, .../drm/
https:/
From i915_comnponent.h
...
struct i915_audio_
/**
* @audio_ptr: Pointer to be used in call to pin_eld_notify
*/
void *audio_ptr;
/**
* @pin_eld_notify: Notify the HDA driver that pin sense and/or ELD information has changed
*
* Called when the i915 driver has set up audio pipeline or has just
* begun to tear it down. This allows the HDA driver to update its
* status accordingly (even when the HDA controller is in power save
* mode).
*/
void (*pin_eld_
/* =======
};
Remove the ",int pipe", and the HDMI audio driver code using intel_audio.c may be built with the 4.4 kernel. This header fix is needed for the Intel Compute Stick STK1A8LFC running Ubuntu 14.04 when upgraded to the 4.4 kernel.
The comment on the pin_eld_notify got fixed (sometime before 4.4.0-130), removing the pipe reference, and enumerating the two valid arguments, but the actual "pipe" argument was left.
===Partial fix of just comments from 4.4.0-130 packages === component_ audio_ops { notify) (void *audio_ptr, int port, int pipe);
struct i915_audio_
void *audio_ptr;
/**
* Call from i915 driver, notifying the HDA driver that
* pin sense and/or ELD information has changed.
* @audio_ptr: HDA driver object
* @port: Which port has changed (PORTA / PORTB / PORTC etc)
*/
void (*pin_eld_
};