ALSA: hda: Make snd_hdac_display_power() void function
After the recent refactoring, snd_hdac_display_power() doesn't return any error, hence it can be defined to return void. This makes many error checks redundant and allows us to reduce them gracefully. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
457f3c86d3
commit
4f799e7340
|
@ -12,8 +12,8 @@
|
||||||
|
|
||||||
#ifdef CONFIG_SND_HDA_COMPONENT
|
#ifdef CONFIG_SND_HDA_COMPONENT
|
||||||
int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable);
|
int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable);
|
||||||
int snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx,
|
void snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx,
|
||||||
bool enable);
|
bool enable);
|
||||||
int snd_hdac_sync_audio_rate(struct hdac_device *codec, hda_nid_t nid,
|
int snd_hdac_sync_audio_rate(struct hdac_device *codec, hda_nid_t nid,
|
||||||
int dev_id, int rate);
|
int dev_id, int rate);
|
||||||
int snd_hdac_acomp_get_eld(struct hdac_device *codec, hda_nid_t nid, int dev_id,
|
int snd_hdac_acomp_get_eld(struct hdac_device *codec, hda_nid_t nid, int dev_id,
|
||||||
|
@ -30,10 +30,9 @@ static inline int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static inline int snd_hdac_display_power(struct hdac_bus *bus,
|
static inline void snd_hdac_display_power(struct hdac_bus *bus,
|
||||||
unsigned int idx, bool enable)
|
unsigned int idx, bool enable)
|
||||||
{
|
{
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
static inline int snd_hdac_sync_audio_rate(struct hdac_device *codec,
|
static inline int snd_hdac_sync_audio_rate(struct hdac_device *codec,
|
||||||
hda_nid_t nid, int dev_id, int rate)
|
hda_nid_t nid, int dev_id, int rate)
|
||||||
|
|
|
@ -62,10 +62,8 @@ EXPORT_SYMBOL_GPL(snd_hdac_set_codec_wakeup);
|
||||||
*
|
*
|
||||||
* This function updates the power status, and calls the get_power() and
|
* This function updates the power status, and calls the get_power() and
|
||||||
* put_power() ops accordingly, toggling the codec wakeup, too.
|
* put_power() ops accordingly, toggling the codec wakeup, too.
|
||||||
*
|
|
||||||
* Returns zero for success or a negative error code.
|
|
||||||
*/
|
*/
|
||||||
int snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx, bool enable)
|
void snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx, bool enable)
|
||||||
{
|
{
|
||||||
struct drm_audio_component *acomp = bus->audio_component;
|
struct drm_audio_component *acomp = bus->audio_component;
|
||||||
|
|
||||||
|
@ -77,7 +75,7 @@ int snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx, bool enable)
|
||||||
clear_bit(idx, &bus->display_power_status);
|
clear_bit(idx, &bus->display_power_status);
|
||||||
|
|
||||||
if (!acomp || !acomp->ops)
|
if (!acomp || !acomp->ops)
|
||||||
return 0;
|
return;
|
||||||
|
|
||||||
if (bus->display_power_status) {
|
if (bus->display_power_status) {
|
||||||
if (!bus->display_power_active) {
|
if (!bus->display_power_active) {
|
||||||
|
@ -94,8 +92,6 @@ int snd_hdac_display_power(struct hdac_bus *bus, unsigned int idx, bool enable)
|
||||||
bus->display_power_active = false;
|
bus->display_power_active = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_hdac_display_power);
|
EXPORT_SYMBOL_GPL(snd_hdac_display_power);
|
||||||
|
|
||||||
|
|
|
@ -2216,12 +2216,7 @@ static int azx_probe_continue(struct azx *chip)
|
||||||
* this power. For other platforms, like Baytrail/Braswell, only the
|
* this power. For other platforms, like Baytrail/Braswell, only the
|
||||||
* display codec needs the power and it can be released after probe.
|
* display codec needs the power and it can be released after probe.
|
||||||
*/
|
*/
|
||||||
err = display_power(chip, true);
|
display_power(chip, true);
|
||||||
if (err < 0) {
|
|
||||||
dev_err(chip->card->dev,
|
|
||||||
"Cannot turn on display power on i915\n");
|
|
||||||
goto i915_power_fail;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = azx_first_init(chip);
|
err = azx_first_init(chip);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
|
@ -2271,8 +2266,6 @@ static int azx_probe_continue(struct azx *chip)
|
||||||
out_free:
|
out_free:
|
||||||
if (err < 0 || !hda->need_i915_power)
|
if (err < 0 || !hda->need_i915_power)
|
||||||
display_power(chip, false);
|
display_power(chip, false);
|
||||||
|
|
||||||
i915_power_fail:
|
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
hda->init_failed = 1;
|
hda->init_failed = 1;
|
||||||
complete_all(&hda->probe_wait);
|
complete_all(&hda->probe_wait);
|
||||||
|
|
|
@ -2031,13 +2031,8 @@ static int hdac_hdmi_dev_probe(struct hdac_device *hdev)
|
||||||
* Turned off in the runtime_suspend during the first explicit
|
* Turned off in the runtime_suspend during the first explicit
|
||||||
* pm_runtime_suspend call.
|
* pm_runtime_suspend call.
|
||||||
*/
|
*/
|
||||||
ret = snd_hdac_display_power(hdev->bus, hdev->addr, true);
|
snd_hdac_display_power(hdev->bus, hdev->addr, true);
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(&hdev->dev,
|
|
||||||
"Cannot turn on display power on i915 err: %d\n",
|
|
||||||
ret);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
ret = hdac_hdmi_parse_and_map_nid(hdev, &hdmi_dais, &num_dais);
|
ret = hdac_hdmi_parse_and_map_nid(hdev, &hdmi_dais, &num_dais);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&hdev->dev,
|
dev_err(&hdev->dev,
|
||||||
|
@ -2169,7 +2164,6 @@ static int hdac_hdmi_runtime_suspend(struct device *dev)
|
||||||
struct hdac_device *hdev = dev_to_hdac_dev(dev);
|
struct hdac_device *hdev = dev_to_hdac_dev(dev);
|
||||||
struct hdac_bus *bus = hdev->bus;
|
struct hdac_bus *bus = hdev->bus;
|
||||||
struct hdac_ext_link *hlink = NULL;
|
struct hdac_ext_link *hlink = NULL;
|
||||||
int err;
|
|
||||||
|
|
||||||
dev_dbg(dev, "Enter: %s\n", __func__);
|
dev_dbg(dev, "Enter: %s\n", __func__);
|
||||||
|
|
||||||
|
@ -2195,11 +2189,9 @@ static int hdac_hdmi_runtime_suspend(struct device *dev)
|
||||||
|
|
||||||
snd_hdac_ext_bus_link_put(bus, hlink);
|
snd_hdac_ext_bus_link_put(bus, hlink);
|
||||||
|
|
||||||
err = snd_hdac_display_power(bus, hdev->addr, false);
|
snd_hdac_display_power(bus, hdev->addr, false);
|
||||||
if (err < 0)
|
|
||||||
dev_err(dev, "Cannot turn off display power on i915\n");
|
|
||||||
|
|
||||||
return err;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int hdac_hdmi_runtime_resume(struct device *dev)
|
static int hdac_hdmi_runtime_resume(struct device *dev)
|
||||||
|
@ -2207,7 +2199,6 @@ static int hdac_hdmi_runtime_resume(struct device *dev)
|
||||||
struct hdac_device *hdev = dev_to_hdac_dev(dev);
|
struct hdac_device *hdev = dev_to_hdac_dev(dev);
|
||||||
struct hdac_bus *bus = hdev->bus;
|
struct hdac_bus *bus = hdev->bus;
|
||||||
struct hdac_ext_link *hlink = NULL;
|
struct hdac_ext_link *hlink = NULL;
|
||||||
int err;
|
|
||||||
|
|
||||||
dev_dbg(dev, "Enter: %s\n", __func__);
|
dev_dbg(dev, "Enter: %s\n", __func__);
|
||||||
|
|
||||||
|
@ -2223,11 +2214,7 @@ static int hdac_hdmi_runtime_resume(struct device *dev)
|
||||||
|
|
||||||
snd_hdac_ext_bus_link_get(bus, hlink);
|
snd_hdac_ext_bus_link_get(bus, hlink);
|
||||||
|
|
||||||
err = snd_hdac_display_power(bus, hdev->addr, true);
|
snd_hdac_display_power(bus, hdev->addr, true);
|
||||||
if (err < 0) {
|
|
||||||
dev_err(dev, "Cannot turn on display power on i915\n");
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
hdac_hdmi_skl_enable_all_pins(hdev);
|
hdac_hdmi_skl_enable_all_pins(hdev);
|
||||||
hdac_hdmi_skl_enable_dp12(hdev);
|
hdac_hdmi_skl_enable_dp12(hdev);
|
||||||
|
|
|
@ -311,7 +311,7 @@ static int skl_suspend(struct device *dev)
|
||||||
struct pci_dev *pci = to_pci_dev(dev);
|
struct pci_dev *pci = to_pci_dev(dev);
|
||||||
struct hdac_bus *bus = pci_get_drvdata(pci);
|
struct hdac_bus *bus = pci_get_drvdata(pci);
|
||||||
struct skl *skl = bus_to_skl(bus);
|
struct skl *skl = bus_to_skl(bus);
|
||||||
int ret = 0;
|
int ret;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Do not suspend if streams which are marked ignore suspend are
|
* Do not suspend if streams which are marked ignore suspend are
|
||||||
|
@ -333,14 +333,10 @@ static int skl_suspend(struct device *dev)
|
||||||
skl->skl_sst->fw_loaded = false;
|
skl->skl_sst->fw_loaded = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
|
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
|
||||||
ret = snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
|
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
|
||||||
if (ret < 0)
|
|
||||||
dev_err(bus->dev,
|
|
||||||
"Cannot turn OFF display power on i915\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int skl_resume(struct device *dev)
|
static int skl_resume(struct device *dev)
|
||||||
|
@ -352,14 +348,8 @@ static int skl_resume(struct device *dev)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Turned OFF in HDMI codec driver after codec reconfiguration */
|
/* Turned OFF in HDMI codec driver after codec reconfiguration */
|
||||||
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
|
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
|
||||||
ret = snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
|
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(bus->dev,
|
|
||||||
"Cannot turn on display power on i915\n");
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* resume only when we are not in suspend active, otherwise need to
|
* resume only when we are not in suspend active, otherwise need to
|
||||||
|
@ -783,11 +773,9 @@ static int skl_i915_init(struct hdac_bus *bus)
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
err = snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
|
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
|
||||||
if (err < 0)
|
|
||||||
dev_err(bus->dev, "Cannot turn on display power on i915\n");
|
|
||||||
|
|
||||||
return err;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void skl_probe_work(struct work_struct *work)
|
static void skl_probe_work(struct work_struct *work)
|
||||||
|
@ -837,14 +825,8 @@ static void skl_probe_work(struct work_struct *work)
|
||||||
list_for_each_entry(hlink, &bus->hlink_list, list)
|
list_for_each_entry(hlink, &bus->hlink_list, list)
|
||||||
snd_hdac_ext_bus_link_put(bus, hlink);
|
snd_hdac_ext_bus_link_put(bus, hlink);
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
|
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
|
||||||
err = snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
|
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
|
||||||
if (err < 0) {
|
|
||||||
dev_err(bus->dev, "Cannot turn off display power on i915\n");
|
|
||||||
skl_machine_device_unregister(skl);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* configure PM */
|
/* configure PM */
|
||||||
pm_runtime_put_noidle(bus->dev);
|
pm_runtime_put_noidle(bus->dev);
|
||||||
|
@ -855,7 +837,7 @@ static void skl_probe_work(struct work_struct *work)
|
||||||
|
|
||||||
out_err:
|
out_err:
|
||||||
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
|
if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
|
||||||
err = snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
|
snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue