ALSA: hda: i915: Remove extra argument from snd_hdac_i915_init

Now that all drivers have moved from modprobe loading to
handling -EPROBE_DEFER, we can remove the argument again.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20231009115437.99976-14-maarten.lankhorst@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Maarten Lankhorst 2023-10-09 13:54:37 +02:00 committed by Takashi Iwai
parent 3d1a055813
commit e6d0c13e9f
6 changed files with 9 additions and 17 deletions

View File

@ -9,12 +9,12 @@
#ifdef CONFIG_SND_HDA_I915 #ifdef CONFIG_SND_HDA_I915
void snd_hdac_i915_set_bclk(struct hdac_bus *bus); void snd_hdac_i915_set_bclk(struct hdac_bus *bus);
int snd_hdac_i915_init(struct hdac_bus *bus, bool allow_modprobe); int snd_hdac_i915_init(struct hdac_bus *bus);
#else #else
static inline void snd_hdac_i915_set_bclk(struct hdac_bus *bus) static inline void snd_hdac_i915_set_bclk(struct hdac_bus *bus)
{ {
} }
static inline int snd_hdac_i915_init(struct hdac_bus *bus, bool allow_modprobe) static inline int snd_hdac_i915_init(struct hdac_bus *bus)
{ {
return -ENODEV; return -ENODEV;
} }

View File

@ -156,7 +156,7 @@ static int i915_gfx_present(struct pci_dev *hdac_pci)
* *
* Returns zero for success or a negative error code. * Returns zero for success or a negative error code.
*/ */
int snd_hdac_i915_init(struct hdac_bus *bus, bool allow_modprobe) int snd_hdac_i915_init(struct hdac_bus *bus)
{ {
struct drm_audio_component *acomp; struct drm_audio_component *acomp;
int err; int err;
@ -172,18 +172,10 @@ int snd_hdac_i915_init(struct hdac_bus *bus, bool allow_modprobe)
acomp = bus->audio_component; acomp = bus->audio_component;
if (!acomp) if (!acomp)
return -ENODEV; return -ENODEV;
if (allow_modprobe && !acomp->ops) {
if (!IS_ENABLED(CONFIG_MODULES) ||
!request_module("i915")) {
/* 60s timeout */
wait_for_completion_killable_timeout(&acomp->master_bind_complete,
msecs_to_jiffies(60 * 1000));
}
}
if (!acomp->ops) { if (!acomp->ops) {
int err = allow_modprobe ? -ENODEV : -EPROBE_DEFER;
snd_hdac_acomp_exit(bus); snd_hdac_acomp_exit(bus);
return dev_err_probe(bus->dev, err, "couldn't bind with audio component\n"); return dev_err_probe(bus->dev, -EPROBE_DEFER,
"couldn't bind with audio component\n");
} }
return 0; return 0;
} }

View File

@ -2138,7 +2138,7 @@ static int azx_probe(struct pci_dev *pci,
#ifdef CONFIG_SND_HDA_I915 #ifdef CONFIG_SND_HDA_I915
/* bind with i915 if needed */ /* bind with i915 if needed */
if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT) { if (chip->driver_caps & AZX_DCAPS_I915_COMPONENT) {
err = snd_hdac_i915_init(azx_bus(chip), false); err = snd_hdac_i915_init(azx_bus(chip));
if (err < 0) { if (err < 0) {
/* if the controller is bound only with HDMI/DP /* if the controller is bound only with HDMI/DP
* (for HSW and BDW), we need to abort the probe; * (for HSW and BDW), we need to abort the probe;

View File

@ -461,7 +461,7 @@ static int avs_pci_probe(struct pci_dev *pci, const struct pci_device_id *id)
pci_set_drvdata(pci, bus); pci_set_drvdata(pci, bus);
device_disable_async_suspend(dev); device_disable_async_suspend(dev);
ret = snd_hdac_i915_init(bus, false); ret = snd_hdac_i915_init(bus);
if (ret == -EPROBE_DEFER) if (ret == -EPROBE_DEFER)
goto err_i915_init; goto err_i915_init;
else if (ret < 0) else if (ret < 0)

View File

@ -1056,7 +1056,7 @@ static int skl_probe(struct pci_dev *pci,
} }
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) { if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
err = snd_hdac_i915_init(bus, false); err = snd_hdac_i915_init(bus);
if (err < 0) if (err < 0)
goto out_dmic_unregister; goto out_dmic_unregister;
} }

View File

@ -415,7 +415,7 @@ int hda_codec_i915_init(struct snd_sof_dev *sdev)
return 0; return 0;
/* i915 exposes a HDA codec for HDMI audio */ /* i915 exposes a HDA codec for HDMI audio */
ret = snd_hdac_i915_init(bus, true); ret = snd_hdac_i915_init(bus);
if (ret < 0) if (ret < 0)
return ret; return ret;