Hi Kenneth, just some error codes and leaks if I am right :) On Wed, Sep 8, 2010 at 6:29 AM, Kenneth Heitke <kheitke@xxxxxxxxxxxxxx> wrote: > + > +static int __devinit > +qup_i2c_probe(struct platform_device *pdev) > +{ > + > + qup_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, > + "qup_phys_addr"); > + if (!qup_mem) { > + dev_err(&pdev->dev, "no qup mem resource?\n"); > + return -ENODEV; I think this should be -ENXIO instead of -ENODEV? > + gsbi_mem = platform_get_resource_byname(pdev, IORESOURCE_MEM, > + "gsbi_qup_i2c_addr"); > + if (!gsbi_mem) { > + dev_err(&pdev->dev, "no gsbi mem resource?\n"); > + return -ENODEV; Ditto here. > + in_irq = platform_get_resource_byname(pdev, IORESOURCE_IRQ, > + "qup_in_intr"); > + > + out_irq = platform_get_resource_byname(pdev, IORESOURCE_IRQ, > + "qup_out_intr"); > + > + err_irq = platform_get_resource_byname(pdev, IORESOURCE_IRQ, > + "qup_err_intr"); > + if (!err_irq) { > + dev_err(&pdev->dev, "no error irq resource?\n"); > + return -ENODEV; > + } All the same here too? > + > + qup_io = devm_request_mem_region(&pdev->dev, qup_mem->start, > + resource_size(qup_mem), pdev->name); > + if (!qup_io) { > + dev_err(&pdev->dev, "QUP region already claimed\n"); > + return -EBUSY; > + } > + > + gsbi_io = devm_request_mem_region(&pdev->dev, gsbi_mem->start, > + resource_size(gsbi_mem), pdev->name); > + if (!gsbi_io) { > + dev_err(&pdev->dev, "GSBI region already claimed\n"); > + return -EBUSY; > + } > + > + dev = devm_kzalloc(&pdev->dev, sizeof(struct qup_i2c_dev), GFP_KERNEL); [..] > + if (!dev->base) > + return -ENOMEM; Missing *_kzfree whilst returning? > + dev->gsbi = devm_ioremap(&pdev->dev, > + gsbi_mem->start, resource_size(gsbi_mem)); > + if (!dev->gsbi) > + return -ENOMEM; > + > + clk = clk_get(&pdev->dev, "qup_clk"); > + if (IS_ERR(clk)) { > + dev_err(&pdev->dev, "Could not get clock\n"); > + ret = PTR_ERR(clk); > + goto err_clk_get_failed; Will not the devm_iounmap be needed here? Thanx! Sundar -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html