Hi Simon, On Tuesday 30 July 2013 11:08:59 Simon Horman wrote: > [ CC Greg Kroah-Hartman, linux-serial@xxxxxxxxxxxxxxx, > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx ] > > On Fri, Jul 26, 2013 at 04:22:02PM +0200, Laurent Pinchart wrote: > > Replace kzalloc and clk_get by their managed counterparts to simplify > > error and cleanup paths. > > Hi Laurent, > > I was recently asked for shmobile clocksource patches to be reviewed by the > clocksource maintainers. I suppose you mean serial port, not clock source. > I believe that means Greg Kroah-Hartman and linux-serial@xxxxxxxxxxxxxxx who > I have CCed on this email accordingly. linux-serial@xxxxxxxxxxxxxxx was already CC'ed in my original e-mail. > I have also CCed linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Actually you haven't ;-) > as many moons ago I was asked for all patches that will go through my tree > and on to arm-soc to be sent there. This patch will likely go through the serial tree, which is why I hadn't CC'ed LAKML. > > Signed-off-by: Laurent Pinchart > > <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > > --- > > > > drivers/tty/serial/8250/8250_em.c | 27 ++++++++------------------- > > 1 file changed, 8 insertions(+), 19 deletions(-) > > > > diff --git a/drivers/tty/serial/8250/8250_em.c > > b/drivers/tty/serial/8250/8250_em.c index 916cc19..5f3bba1 100644 > > --- a/drivers/tty/serial/8250/8250_em.c > > +++ b/drivers/tty/serial/8250/8250_em.c > > @@ -95,25 +95,23 @@ static int serial8250_em_probe(struct platform_device > > *pdev)> > > struct resource *irq = platform_get_resource(pdev, IORESOURCE_IRQ, > > 0); > > struct serial8250_em_priv *priv; > > struct uart_8250_port up; > > - int ret = -EINVAL; > > + int ret; > > > > if (!regs || !irq) { > > dev_err(&pdev->dev, "missing registers or irq\n"); > > - goto err0; > > + return -EINVAL; > > } > > > > - priv = kzalloc(sizeof(*priv), GFP_KERNEL); > > + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); > > if (!priv) { > > dev_err(&pdev->dev, "unable to allocate private data\n"); > > - ret = -ENOMEM; > > - goto err0; > > + return -ENOMEM; > > } > > > > - priv->sclk = clk_get(&pdev->dev, "sclk"); > > + priv->sclk = devm_clk_get(&pdev->dev, "sclk"); > > if (IS_ERR(priv->sclk)) { > > dev_err(&pdev->dev, "unable to get clock\n"); > > - ret = PTR_ERR(priv->sclk); > > - goto err1; > > + return PTR_ERR(priv->sclk); > > } > > > > memset(&up, 0, sizeof(up)); > > @@ -136,20 +134,13 @@ static int serial8250_em_probe(struct > > platform_device *pdev)> > > ret = serial8250_register_8250_port(&up); > > if (ret < 0) { > > dev_err(&pdev->dev, "unable to register 8250 port\n"); > > - goto err2; > > + clk_disable(priv->sclk); > > + return ret; > > } > > > > priv->line = ret; > > platform_set_drvdata(pdev, priv); > > return 0; > > - > > - err2: > > - clk_disable(priv->sclk); > > - clk_put(priv->sclk); > > - err1: > > - kfree(priv); > > - err0: > > - return ret; > > } > > > > static int serial8250_em_remove(struct platform_device *pdev) > > > > @@ -158,8 +149,6 @@ static int serial8250_em_remove(struct platform_device > > *pdev)> > > serial8250_unregister_port(priv->line); > > clk_disable(priv->sclk); > > > > - clk_put(priv->sclk); > > - kfree(priv); > > > > return 0; > > > > } -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html