ALSA: hda: Make snd_hdac_display_power() void function
authorTakashi Iwai <tiwai@suse.de>
Sun, 9 Dec 2018 09:04:25 +0000 (10:04 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 11 Dec 2018 07:18:25 +0000 (08:18 +0100)
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>
include/sound/hda_component.h
sound/hda/hdac_component.c
sound/pci/hda/hda_intel.c
sound/soc/codecs/hdac_hdmi.c
sound/soc/intel/skylake/skl.c

index 767c8d8a0230ba242b370d8b42fd5cbf42f013d3..2ec31b35895045e1eb8eb33fc8d5622fb87aa2dd 100644 (file)
@@ -12,8 +12,8 @@
 
 #ifdef CONFIG_SND_HDA_COMPONENT
 int snd_hdac_set_codec_wakeup(struct hdac_bus *bus, bool enable);
-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);
 int snd_hdac_sync_audio_rate(struct hdac_device *codec, hda_nid_t nid,
                             int dev_id, int rate);
 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;
 }
-static inline int snd_hdac_display_power(struct hdac_bus *bus,
-                                        unsigned int idx, bool enable)
+static inline void snd_hdac_display_power(struct hdac_bus *bus,
+                                         unsigned int idx, bool enable)
 {
-       return 0;
 }
 static inline int snd_hdac_sync_audio_rate(struct hdac_device *codec,
                                           hda_nid_t nid, int dev_id, int rate)
index dd766414436be339dbc38fb480c44c16eaeff2f6..a6d37b9d6413f51b49fd4486a251bf7e84261532 100644 (file)
@@ -62,10 +62,8 @@ EXPORT_SYMBOL_GPL(snd_hdac_set_codec_wakeup);
  *
  * This function updates the power status, and calls the get_power() and
  * 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;
 
@@ -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);
 
        if (!acomp || !acomp->ops)
-               return 0;
+               return;
 
        if (bus->display_power_status) {
                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;
                }
        }
-
-       return 0;
 }
 EXPORT_SYMBOL_GPL(snd_hdac_display_power);
 
index 5399d0180434f220cfce127fd59e76eedf851600..e784130ea4e0eb2d7fec5357fb86872fb44292fc 100644 (file)
@@ -2216,12 +2216,7 @@ static int azx_probe_continue(struct azx *chip)
         * this power. For other platforms, like Baytrail/Braswell, only the
         * display codec needs the power and it can be released after probe.
         */
-       err = display_power(chip, true);
-       if (err < 0) {
-               dev_err(chip->card->dev,
-                       "Cannot turn on display power on i915\n");
-               goto i915_power_fail;
-       }
+       display_power(chip, true);
 
        err = azx_first_init(chip);
        if (err < 0)
@@ -2271,8 +2266,6 @@ static int azx_probe_continue(struct azx *chip)
 out_free:
        if (err < 0 || !hda->need_i915_power)
                display_power(chip, false);
-
-i915_power_fail:
        if (err < 0)
                hda->init_failed = 1;
        complete_all(&hda->probe_wait);
index c3d551d2af7f70fecd104ff6eb698a2fdae7f257..552ed1968bc42a8099750c429d9bd6f781e59b97 100644 (file)
@@ -2031,13 +2031,8 @@ static int hdac_hdmi_dev_probe(struct hdac_device *hdev)
         * Turned off in the runtime_suspend during the first explicit
         * pm_runtime_suspend call.
         */
-       ret = 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;
-       }
+       snd_hdac_display_power(hdev->bus, hdev->addr, true);
+
        ret = hdac_hdmi_parse_and_map_nid(hdev, &hdmi_dais, &num_dais);
        if (ret < 0) {
                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_bus *bus = hdev->bus;
        struct hdac_ext_link *hlink = NULL;
-       int err;
 
        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);
 
-       err = snd_hdac_display_power(bus, hdev->addr, false);
-       if (err < 0)
-               dev_err(dev, "Cannot turn off display power on i915\n");
+       snd_hdac_display_power(bus, hdev->addr, false);
 
-       return err;
+       return 0;
 }
 
 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_bus *bus = hdev->bus;
        struct hdac_ext_link *hlink = NULL;
-       int err;
 
        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);
 
-       err = snd_hdac_display_power(bus, hdev->addr, true);
-       if (err < 0) {
-               dev_err(dev, "Cannot turn on display power on i915\n");
-               return err;
-       }
+       snd_hdac_display_power(bus, hdev->addr, true);
 
        hdac_hdmi_skl_enable_all_pins(hdev);
        hdac_hdmi_skl_enable_dp12(hdev);
index 64f8433ae921235f71ac7a20e247c1de2ae3b0d6..5c224a0e1c7a11da72f04cd652921aed85cff052 100644 (file)
@@ -311,7 +311,7 @@ static int skl_suspend(struct device *dev)
        struct pci_dev *pci = to_pci_dev(dev);
        struct hdac_bus *bus = pci_get_drvdata(pci);
        struct skl *skl  = bus_to_skl(bus);
-       int ret = 0;
+       int ret;
 
        /*
         * 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;
        }
 
-       if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
-               ret = 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");
-       }
+       if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
+               snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
 
-       return ret;
+       return 0;
 }
 
 static int skl_resume(struct device *dev)
@@ -352,14 +348,8 @@ static int skl_resume(struct device *dev)
        int ret;
 
        /* Turned OFF in HDMI codec driver after codec reconfiguration */
-       if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
-               ret = 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;
-               }
-       }
+       if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
+               snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
 
        /*
         * 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)
                return err;
 
-       err = 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");
+       snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, true);
 
-       return err;
+       return 0;
 }
 
 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)
                snd_hdac_ext_bus_link_put(bus, hlink);
 
-       if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) {
-               err = 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;
-               }
-       }
+       if (IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI))
+               snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false);
 
        /* configure PM */
        pm_runtime_put_noidle(bus->dev);
@@ -855,7 +837,7 @@ static void skl_probe_work(struct work_struct *work)
 
 out_err:
        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);
 }
 
 /*