OMAP-GPMC: fixes for v4.8-rc1
* Allow other children of GPMC to probe even if any child fails. This fixes problem on Overo boards where networking device child doesn't probe due to broken NAND child. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJXraKzAAoJENJaa9O+djCTq8QP/RIj9TnKQr3Plc7yD0dJ03kH YU4ChBW8pfcxdhnflx4GBxD19k2kp4UJmhDi/H7u+tlXS+OEf7X6EdoYHAqnfi0+ 4E3Ai2Frzi++nZATCsJ4Nj8XaGVzAj4tmjvgx4ktNpbvU4UnmhUVBMEhtNJ3y5sC BQrOHAHlsmq44+Ko9vphmaRpnQzt4EgbTxn6yc07SWqjwCskIcOB98xTlC4uaKOX ozksRwoGB6BDmNYlzYZFry1ebvaTXa4/K/ymxwmmB3yhL9eCV4Qhg6JHEYnuw0sv HyqId34AjS3YUf3zHMtTgRCVjg/iewZSfgLBFNyxp0LZpGzgYiVuOffbiPwRRa2C 0ciDFMKjhF264ztrl+k/OhG6FxEO96Wqx5eXtcifmR9AG7SHzW2k5aE5XLZogjc3 cgmWK0QEJ2R1RCmOJ09/c+ap/ap4iwq9rtdu6jSEO737w0mrgLuchkF6DCUVw6j9 k4CAW16TmJiPqJy3eDkJbTxyZovXT5zgPabuHVtOXWEkxeTOR8bDpKb0VbluEUtT mwrU5onLHCLXTXIBb2wrv9g5NUZKoTuK5ONpRAWxQC5BbnyKnY6VK6RTwQJzM/uC vziPvLmA+pfxsslowjAy/RLSld3fAqELi8mNgaAPlZZrB1/mzoXa+ZFX+/JkISAu 66hOYyqQNonNVskW7eIS =nLSS -----END PGP SIGNATURE----- Merge tag 'gpmc-omap-v4.8-rc1' of https://github.com/rogerq/linux into fixes OMAP-GPMC: fixes for v4.8-rc1 Allow other children of GPMC to probe even if any child fails. This fixes problem on Overo boards where networking device child doesn't probe due to broken NAND child. * tag 'gpmc-omap-v4.8-rc1' of https://github.com/rogerq/linux: memory: omap-gpmc: allow probe of child nodes to fail Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
Коммит
84ba04f26d
|
@ -2185,7 +2185,7 @@ static int gpmc_probe_dt(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gpmc_probe_dt_children(struct platform_device *pdev)
|
||||
static void gpmc_probe_dt_children(struct platform_device *pdev)
|
||||
{
|
||||
int ret;
|
||||
struct device_node *child;
|
||||
|
@ -2200,11 +2200,11 @@ static int gpmc_probe_dt_children(struct platform_device *pdev)
|
|||
else
|
||||
ret = gpmc_probe_generic_child(pdev, child);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to probe DT child '%s': %d\n",
|
||||
child->name, ret);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
static int gpmc_probe_dt(struct platform_device *pdev)
|
||||
|
@ -2212,9 +2212,8 @@ static int gpmc_probe_dt(struct platform_device *pdev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int gpmc_probe_dt_children(struct platform_device *pdev)
|
||||
static void gpmc_probe_dt_children(struct platform_device *pdev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
|
@ -2369,16 +2368,10 @@ static int gpmc_probe(struct platform_device *pdev)
|
|||
goto setup_irq_failed;
|
||||
}
|
||||
|
||||
rc = gpmc_probe_dt_children(pdev);
|
||||
if (rc < 0) {
|
||||
dev_err(gpmc->dev, "failed to probe DT children\n");
|
||||
goto dt_children_failed;
|
||||
}
|
||||
gpmc_probe_dt_children(pdev);
|
||||
|
||||
return 0;
|
||||
|
||||
dt_children_failed:
|
||||
gpmc_free_irq(gpmc);
|
||||
setup_irq_failed:
|
||||
gpmc_gpio_exit(gpmc);
|
||||
gpio_init_failed:
|
||||
|
|
Загрузка…
Ссылка в новой задаче