On 20 May 2016 at 09:04, Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > On 19/05/16 16:25, Ulf Hansson wrote: >> From: Adrian Hunter <adrian.hunter@xxxxxxxxx> >> >> Some devices connected to the SDHCI controller may have separate enabling >> lines that are controlled through GPIO. These devices need to be powered >> on and enabled before probing. This is to ensure all devices connected can >> be seen by the controller. >> > > I have noticed that stable can get dependent patches the wrong way around > (breaking bisectability) when they are not explicitly defined as dependent. > For that reason, I was going to put the EXPORT of acpi_device_fix_up_power() > into this patch. > > I think we need at least to mention in this patch that it is dependent on > the other patch. I do that.. > > Also I have more information here: > > Reported-by: Laszlo Fiat <laszlo.fiat@xxxxxxxxx> > Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=112571 > Link: http://lkml.kernel.org/r/CA+7w51inLtQSr656bJvOjGG9oQWKYPXH+xxDPJKbeJ=CcrkS9Q@xxxxxxxxxxxxxx > ...and add this. > >> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> >> Tested-by: Laszlo Fiat <laszlo.fiat@xxxxxxxxx> >> Cc: <stable@xxxxxxxxxxxxxxx> # 4.5+ >> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Applied for fixes! Thanks and kind regards Uffe >> --- >> drivers/mmc/host/sdhci-acpi.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/mmc/host/sdhci-acpi.c b/drivers/mmc/host/sdhci-acpi.c >> index b2d70ba..2d1c4870 100644 >> --- a/drivers/mmc/host/sdhci-acpi.c >> +++ b/drivers/mmc/host/sdhci-acpi.c >> @@ -378,7 +378,7 @@ static int sdhci_acpi_probe(struct platform_device *pdev) >> { >> struct device *dev = &pdev->dev; >> acpi_handle handle = ACPI_HANDLE(dev); >> - struct acpi_device *device; >> + struct acpi_device *device, *child; >> struct sdhci_acpi_host *c; >> struct sdhci_host *host; >> struct resource *iomem; >> @@ -390,6 +390,11 @@ static int sdhci_acpi_probe(struct platform_device *pdev) >> if (acpi_bus_get_device(handle, &device)) >> return -ENODEV; >> >> + /* Power on the SDHCI controller and its children */ >> + acpi_device_fix_up_power(device); >> + list_for_each_entry(child, &device->children, node) >> + acpi_device_fix_up_power(child); >> + >> if (acpi_bus_get_status(device) || !device->status.present) >> return -ENODEV; >> >> > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html