All of lore.kernel.org
 help / color / mirror / Atom feed
From: dan.carpenter@oracle.com (Dan Carpenter)
To: linux-arm-kernel@lists.infradead.org
Subject: [bug report] ARM: pxa: add U2D controller and ULPI driver for pxa3xx
Date: Fri, 9 Dec 2016 01:11:23 +0300	[thread overview]
Message-ID: <20161208221122.GA4699@elgon.mountain> (raw)

Hello Igor Grinberg,

The patch 69f22be7b106: "ARM: pxa: add U2D controller and ULPI driver
for pxa3xx" from Jul 27, 2010, leads to the following static checker
warning:

	arch/arm/mach-pxa/pxa3xx-ulpi.c:336 pxa3xx_u2d_probe()
	warn: did you mean to pass the address of 'u2d'

arch/arm/mach-pxa/pxa3xx-ulpi.c
   283  static int pxa3xx_u2d_probe(struct platform_device *pdev)
   284  {
   285          struct pxa3xx_u2d_platform_data *pdata = pdev->dev.platform_data;
   286          struct resource *r;
   287          int err;
   288  
   289          u2d = kzalloc(sizeof(struct pxa3xx_u2d_ulpi), GFP_KERNEL);

u2d is a file scope variable.

   290          if (!u2d) {
   291                  dev_err(&pdev->dev, "failed to allocate memory\n");
   292                  return -ENOMEM;
   293          }
   294  
   295          u2d->clk = clk_get(&pdev->dev, NULL);
   296          if (IS_ERR(u2d->clk)) {
   297                  dev_err(&pdev->dev, "failed to get u2d clock\n");
   298                  err = PTR_ERR(u2d->clk);
   299                  goto err_free_mem;
   300          }
   301  
   302          r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   303          if (!r) {
   304                  dev_err(&pdev->dev, "no IO memory resource defined\n");
   305                  err = -ENODEV;
   306                  goto err_put_clk;
   307          }
   308  
   309          r = request_mem_region(r->start, resource_size(r), pdev->name);
   310          if (!r) {
   311                  dev_err(&pdev->dev, "failed to request memory resource\n");
   312                  err = -EBUSY;
   313                  goto err_put_clk;
   314          }
   315  
   316          u2d->mmio_base = ioremap(r->start, resource_size(r));
   317          if (!u2d->mmio_base) {
   318                  dev_err(&pdev->dev, "ioremap() failed\n");
   319                  err = -ENODEV;
   320                  goto err_free_res;
   321          }
   322  
   323          if (pdata->init) {
   324                  err = pdata->init(&pdev->dev);
   325                  if (err)
   326                          goto err_free_io;
   327          }
   328  
   329          /* Only PXA310 U2D has OTG functionality */
   330          if (cpu_is_pxa310()) {
   331                  err = pxa310_otg_init(pdata);
   332                  if (err)
   333                          goto err_free_plat;
   334          }
   335  
   336          platform_set_drvdata(pdev, &u2d);

We almost certainly wanted to pass u2d here.  The only reason this works
is because we use the file scope global instead of drvdata. 

   337  
   338          return 0;
   339  
   340  err_free_plat:
   341          if (pdata->exit)
   342                  pdata->exit(&pdev->dev);
   343  err_free_io:
   344          iounmap(u2d->mmio_base);
   345  err_free_res:
   346          release_mem_region(r->start, resource_size(r));
   347  err_put_clk:
   348          clk_put(u2d->clk);
   349  err_free_mem:
   350          kfree(u2d);
   351          return err;
   352  }

regards,
dan carpenter

                 reply	other threads:[~2016-12-08 22:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161208221122.GA4699@elgon.mountain \
    --to=dan.carpenter@oracle.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.