Loading drivers/net/ipa/ipa_clock.c +10 −1 Original line number Diff line number Diff line Loading @@ -310,14 +310,23 @@ static void ipa_suspend_handler(struct ipa *ipa, enum ipa_irq_id irq_id) ipa_interrupt_suspend_clear_all(ipa->interrupt); } void ipa_power_setup(struct ipa *ipa) int ipa_power_setup(struct ipa *ipa) { int ret; ipa_interrupt_add(ipa->interrupt, IPA_IRQ_TX_SUSPEND, ipa_suspend_handler); ret = device_init_wakeup(&ipa->pdev->dev, true); if (ret) ipa_interrupt_remove(ipa->interrupt, IPA_IRQ_TX_SUSPEND); return ret; } void ipa_power_teardown(struct ipa *ipa) { (void)device_init_wakeup(&ipa->pdev->dev, false); ipa_interrupt_remove(ipa->interrupt, IPA_IRQ_TX_SUSPEND); } Loading drivers/net/ipa/ipa_clock.h +3 −1 Original line number Diff line number Diff line Loading @@ -25,8 +25,10 @@ u32 ipa_clock_rate(struct ipa *ipa); /** * ipa_power_setup() - Set up IPA power management * @ipa: IPA pointer * * Return: 0 if successful, or a negative error code */ void ipa_power_setup(struct ipa *ipa); int ipa_power_setup(struct ipa *ipa); /** * ipa_power_teardown() - Inverse of ipa_power_setup() Loading drivers/net/ipa/ipa_main.c +1 −5 Original line number Diff line number Diff line Loading @@ -101,9 +101,7 @@ int ipa_setup(struct ipa *ipa) if (ret) return ret; ipa_power_setup(ipa); ret = device_init_wakeup(dev, true); ret = ipa_power_setup(ipa); if (ret) goto err_gsi_teardown; Loading Loading @@ -154,7 +152,6 @@ int ipa_setup(struct ipa *ipa) err_endpoint_teardown: ipa_endpoint_teardown(ipa); ipa_power_teardown(ipa); (void)device_init_wakeup(dev, false); err_gsi_teardown: gsi_teardown(&ipa->gsi); Loading @@ -181,7 +178,6 @@ static void ipa_teardown(struct ipa *ipa) ipa_endpoint_disable_one(command_endpoint); ipa_endpoint_teardown(ipa); ipa_power_teardown(ipa); (void)device_init_wakeup(&ipa->pdev->dev, false); gsi_teardown(&ipa->gsi); } Loading Loading
drivers/net/ipa/ipa_clock.c +10 −1 Original line number Diff line number Diff line Loading @@ -310,14 +310,23 @@ static void ipa_suspend_handler(struct ipa *ipa, enum ipa_irq_id irq_id) ipa_interrupt_suspend_clear_all(ipa->interrupt); } void ipa_power_setup(struct ipa *ipa) int ipa_power_setup(struct ipa *ipa) { int ret; ipa_interrupt_add(ipa->interrupt, IPA_IRQ_TX_SUSPEND, ipa_suspend_handler); ret = device_init_wakeup(&ipa->pdev->dev, true); if (ret) ipa_interrupt_remove(ipa->interrupt, IPA_IRQ_TX_SUSPEND); return ret; } void ipa_power_teardown(struct ipa *ipa) { (void)device_init_wakeup(&ipa->pdev->dev, false); ipa_interrupt_remove(ipa->interrupt, IPA_IRQ_TX_SUSPEND); } Loading
drivers/net/ipa/ipa_clock.h +3 −1 Original line number Diff line number Diff line Loading @@ -25,8 +25,10 @@ u32 ipa_clock_rate(struct ipa *ipa); /** * ipa_power_setup() - Set up IPA power management * @ipa: IPA pointer * * Return: 0 if successful, or a negative error code */ void ipa_power_setup(struct ipa *ipa); int ipa_power_setup(struct ipa *ipa); /** * ipa_power_teardown() - Inverse of ipa_power_setup() Loading
drivers/net/ipa/ipa_main.c +1 −5 Original line number Diff line number Diff line Loading @@ -101,9 +101,7 @@ int ipa_setup(struct ipa *ipa) if (ret) return ret; ipa_power_setup(ipa); ret = device_init_wakeup(dev, true); ret = ipa_power_setup(ipa); if (ret) goto err_gsi_teardown; Loading Loading @@ -154,7 +152,6 @@ int ipa_setup(struct ipa *ipa) err_endpoint_teardown: ipa_endpoint_teardown(ipa); ipa_power_teardown(ipa); (void)device_init_wakeup(dev, false); err_gsi_teardown: gsi_teardown(&ipa->gsi); Loading @@ -181,7 +178,6 @@ static void ipa_teardown(struct ipa *ipa) ipa_endpoint_disable_one(command_endpoint); ipa_endpoint_teardown(ipa); ipa_power_teardown(ipa); (void)device_init_wakeup(&ipa->pdev->dev, false); gsi_teardown(&ipa->gsi); } Loading