Commit 735eb93a authored by Alberto Panizzo's avatar Alberto Panizzo Committed by Liam Girdwood

regulator: mc13783-regulator: correct the probing time.

When the mc13783-regulator driver is built in kernel, probing it during
the regulator subsystem initialisation result in a fault.

That is because regulator subsystem is planned to be initialised very early
in the boot process, before the mfd subsystem initialisation.

The mc12783-regulator probing process need to access to the mc13783-core
functionality to read/write mc13783 registers and so must be called after
the mc13783-core driver initialisation.

The way to do this is to let the kernel probe the mc13783-regulator driver when
mc13783-core register his regulator subdevice.
Signed-off-by: default avatarAlberto Panizzo <maramaopercheseimorto@gmail.com>
Acked-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent eb143ac1
...@@ -224,12 +224,12 @@ static struct platform_driver mc13783_regulator_driver = { ...@@ -224,12 +224,12 @@ static struct platform_driver mc13783_regulator_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, },
.remove = __devexit_p(mc13783_regulator_remove), .remove = __devexit_p(mc13783_regulator_remove),
.probe = mc13783_regulator_probe,
}; };
static int __init mc13783_regulator_init(void) static int __init mc13783_regulator_init(void)
{ {
return platform_driver_probe(&mc13783_regulator_driver, return platform_driver_register(&mc13783_regulator_driver);
mc13783_regulator_probe);
} }
subsys_initcall(mc13783_regulator_init); subsys_initcall(mc13783_regulator_init);
......
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