Adding Hans de Goede... On Mon, Jul 16, 2018 at 10:41 PM, Sam Morris <0v3rdr0n3@xxxxxxxxx> wrote: > From: Samuel Morris <samorris@xxxxxxxxxxx> > > This prevents the first resume of the ahci_platform device, while still > allowing parent devices to be resumed. > > Signed-off-by: Samuel Morris <samorris@xxxxxxxxxxx> > --- > drivers/ata/ahci.h | 1 + > drivers/ata/libahci_platform.c | 19 +++++++++++++------ > 2 files changed, 14 insertions(+), 6 deletions(-) > > diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h > index 1609ebab4e23..8ec39f69fae4 100644 > --- a/drivers/ata/ahci.h > +++ b/drivers/ata/ahci.h > @@ -349,6 +349,7 @@ struct ahci_host_priv { > u32 em_buf_sz; /* EM buffer size in byte */ > u32 em_msg_type; /* EM message type */ > bool got_runtime_pm; /* Did we do pm_runtime_get? */ > + bool initialized; > struct clk *clks[AHCI_MAX_CLKS]; /* Optional */ > struct regulator **target_pwrs; /* Optional */ > /* > diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c > index feee2e11fb33..baad85adf90c 100644 > --- a/drivers/ata/libahci_platform.c > +++ b/drivers/ata/libahci_platform.c > @@ -476,11 +476,6 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev) > goto err_out; > } > > - pm_runtime_set_active(dev); > - pm_runtime_enable(dev); > - pm_runtime_forbid(dev); > - hpriv->got_runtime_pm = true; > - > devres_remove_group(dev, NULL); > return hpriv; > > @@ -594,7 +589,16 @@ int ahci_platform_init_host(struct platform_device *pdev, > ahci_init_controller(host); > ahci_print_info(host, "platform"); > > - return ahci_host_activate(host, sht); > + rc = ahci_host_activate(host, sht); > + if (rc) > + return rc; > + > + pm_runtime_enable(dev); > + pm_runtime_forbid(dev); > + hpriv->got_runtime_pm = true; > + hpriv->initialized = true; > + > + return 0; > } > EXPORT_SYMBOL_GPL(ahci_platform_init_host); > > @@ -760,6 +764,9 @@ static int _ahci_platform_resume(struct device *dev) > struct ahci_host_priv *hpriv = host->private_data; > int rc; > > + if (!hpriv->initialized) > + return 0; > + > rc = ahci_platform_enable_resources(hpriv); > if (rc) > return rc; > -- > 2.17.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html