Commit 4624d6ea authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'mmc-v4.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC host fixes from Ulf Hansson:

 - meson-mx-sdio: Fix OF child-node lookup

 - omap_hsmmc: Fix wakeirq handling on removal

* tag 'mmc-v4.19-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: meson-mx-sdio: fix OF child-node lookup
  mmc: omap_hsmmc: fix wakeirq handling on removal
parents bd5bca13 c483a5cc
...@@ -517,19 +517,23 @@ static struct mmc_host_ops meson_mx_mmc_ops = { ...@@ -517,19 +517,23 @@ static struct mmc_host_ops meson_mx_mmc_ops = {
static struct platform_device *meson_mx_mmc_slot_pdev(struct device *parent) static struct platform_device *meson_mx_mmc_slot_pdev(struct device *parent)
{ {
struct device_node *slot_node; struct device_node *slot_node;
struct platform_device *pdev;
/* /*
* TODO: the MMC core framework currently does not support * TODO: the MMC core framework currently does not support
* controllers with multiple slots properly. So we only register * controllers with multiple slots properly. So we only register
* the first slot for now * the first slot for now
*/ */
slot_node = of_find_compatible_node(parent->of_node, NULL, "mmc-slot"); slot_node = of_get_compatible_child(parent->of_node, "mmc-slot");
if (!slot_node) { if (!slot_node) {
dev_warn(parent, "no 'mmc-slot' sub-node found\n"); dev_warn(parent, "no 'mmc-slot' sub-node found\n");
return ERR_PTR(-ENOENT); return ERR_PTR(-ENOENT);
} }
return of_platform_device_create(slot_node, NULL, parent); pdev = of_platform_device_create(slot_node, NULL, parent);
of_node_put(slot_node);
return pdev;
} }
static int meson_mx_mmc_add_host(struct meson_mx_mmc_host *host) static int meson_mx_mmc_add_host(struct meson_mx_mmc_host *host)
......
...@@ -2177,6 +2177,7 @@ static int omap_hsmmc_remove(struct platform_device *pdev) ...@@ -2177,6 +2177,7 @@ static int omap_hsmmc_remove(struct platform_device *pdev)
dma_release_channel(host->tx_chan); dma_release_channel(host->tx_chan);
dma_release_channel(host->rx_chan); dma_release_channel(host->rx_chan);
dev_pm_clear_wake_irq(host->dev);
pm_runtime_dont_use_autosuspend(host->dev); pm_runtime_dont_use_autosuspend(host->dev);
pm_runtime_put_sync(host->dev); pm_runtime_put_sync(host->dev);
pm_runtime_disable(host->dev); pm_runtime_disable(host->dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment