On 08/05/2014 05:07, Maxime Ripard wrote: > On Wed, May 07, 2014 at 07:25:49PM +0200, Boris BREZILLON wrote: >> The current implementation uses sunxi_reset_init function for both early >> init and platform device probe. >> >> The sunxi_reset_init function uses DT to retrieve device resources, which >> will be an issue if reset controllers are registered from an MFD device >> that define resources from mfd_cell definition. >> >> Moreover, we can make of devm functions when we're in the probe context. >> >> Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> >> --- >> drivers/reset/reset-sunxi.c | 21 ++++++++++++++++++--- >> 1 file changed, 18 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/reset/reset-sunxi.c b/drivers/reset/reset-sunxi.c >> index 695bd34..1b5fea6 100644 >> --- a/drivers/reset/reset-sunxi.c >> +++ b/drivers/reset/reset-sunxi.c >> @@ -145,7 +145,24 @@ MODULE_DEVICE_TABLE(of, sunxi_reset_dt_ids); >> >> static int sunxi_reset_probe(struct platform_device *pdev) >> { >> - return sunxi_reset_init(pdev->dev.of_node); >> + struct sunxi_reset_data *data; >> + struct resource *res; >> + >> + data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); >> + if (!data) >> + return -ENOMEM; >> + >> + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); >> + data->membase = devm_request_and_ioremap(&pdev->dev, res); >> + if (!data->membase) >> + return -ENOMEM; > You'd probably be better off using devm_ioremap_resource so that you > get a meaningful error code. Oh, I missed this one. I'll fix it for the next version. > Apart from this, you have my > Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> > > Thanks! > Maxime > -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html