]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
staging: emxx_udc: fix the build error
authorPeter Chen <peter.chen@freescale.com>
Tue, 3 Feb 2015 02:37:06 +0000 (10:37 +0800)
committerFelipe Balbi <balbi@ti.com>
Wed, 4 Feb 2015 17:16:47 +0000 (11:16 -0600)
Fix below build error:

reproduce:
  wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
  chmod +x ~/bin/make.cross
  git checkout 9239d88fc5e58a2a72bc949362f999aac9bffb29
  # save the attached .config to linux build tree
  make.cross ARCH=arm

All error/warnings:

   In file included from include/linux/seqlock.h:35:0,
                    from include/linux/time.h:5,
                    from include/linux/stat.h:18,
                    from include/linux/module.h:10,
                    from drivers/staging/emxx_udc/emxx_udc.c:22:
   drivers/staging/emxx_udc/emxx_udc.c: In function 'nbu2ss_gad_set_selfpowered':
>> drivers/staging/emxx_udc/emxx_udc.c:3129:21: error: 'udc' undeclared (first use in this function)
     spin_lock_irqsave(&udc->lock, flags);
                        ^
   include/linux/spinlock.h:215:34: note: in definition of macro 'raw_spin_lock_irqsave'
      flags = _raw_spin_lock_irqsave(lock); \
                                     ^
>> drivers/staging/emxx_udc/emxx_udc.c:3129:2: note: in expansion of macro 'spin_lock_irqsave'
     spin_lock_irqsave(&udc->lock, flags);
     ^
   drivers/staging/emxx_udc/emxx_udc.c:3129:21: note: each undeclared identifier is reported only once for each function it appears in
     spin_lock_irqsave(&udc->lock, flags);
                        ^
   include/linux/spinlock.h:215:34: note: in definition of macro 'raw_spin_lock_irqsave'
      flags = _raw_spin_lock_irqsave(lock); \
                                     ^
>> drivers/staging/emxx_udc/emxx_udc.c:3129:2: note: in expansion of macro 'spin_lock_irqsave'
     spin_lock_irqsave(&udc->lock, flags);
     ^

vim +/udc +3129 drivers/staging/emxx_udc/emxx_udc.c

33aa8d45 Magnus Damm 2014-06-06  3123
33aa8d45 Magnus Damm 2014-06-06  3124   if (pgadget == NULL) {
33aa8d45 Magnus Damm 2014-06-06  3125   ERR("%s, bad param\n", __func__);
33aa8d45 Magnus Damm 2014-06-06  3126   return -EINVAL;
33aa8d45 Magnus Damm 2014-06-06  3127   }
33aa8d45 Magnus Damm 2014-06-06  3128
33aa8d45 Magnus Damm 2014-06-06 @3129   spin_lock_irqsave(&udc->lock, flags);
9239d88f Peter Chen  2015-01-28  3130   pgadget->is_selfpowered = (is_selfpowered != 0);
33aa8d45 Magnus Damm 2014-06-06  3131   spin_unlock_irqrestore(&udc->lock, flags);
33aa8d45 Magnus Damm 2014-06-06  3132

Signed-off-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/staging/emxx_udc/emxx_udc.c

index 1d3135a332586375cee786a404d8e8a3eb4a21c5..bd70ea05708b599f803d917416784c51e385ee5c 100644 (file)
@@ -3117,6 +3117,7 @@ static int nbu2ss_gad_wakeup(struct usb_gadget *pgadget)
 static int nbu2ss_gad_set_selfpowered(struct usb_gadget *pgadget,
                                        int is_selfpowered)
 {
+       struct nbu2ss_udc       *udc;
        unsigned long           flags;
 
 /*     INFO("=== %s()\n", __func__); */
@@ -3126,6 +3127,8 @@ static int nbu2ss_gad_set_selfpowered(struct usb_gadget *pgadget,
                return -EINVAL;
        }
 
+       udc = container_of(pgadget, struct nbu2ss_udc, gadget);
+
        spin_lock_irqsave(&udc->lock, flags);
        pgadget->is_selfpowered = (is_selfpowered != 0);
        spin_unlock_irqrestore(&udc->lock, flags);