switch (recipient) {
        case USB_RECIP_DEVICE:
                if (udc->ctrl.wIndex == 0x0000) {
-                       if (udc->self_powered)
+                       if (udc->gadget.is_selfpowered)
                                status_data |= (1 << USB_DEVICE_SELF_POWERED);
 
                        if (udc->remote_wakeup)
 static int nbu2ss_gad_set_selfpowered(struct usb_gadget *pgadget,
                                        int is_selfpowered)
 {
-       struct nbu2ss_udc       *udc;
        unsigned long           flags;
 
 /*     INFO("=== %s()\n", __func__); */
                return -EINVAL;
        }
 
-       udc = container_of(pgadget, struct nbu2ss_udc, gadget);
-
        spin_lock_irqsave(&udc->lock, flags);
-       udc->self_powered = (is_selfpowered != 0);
+       pgadget->is_selfpowered = (is_selfpowered != 0);
        spin_unlock_irqrestore(&udc->lock, flags);
 
        return 0;
        spin_lock_init(&udc->lock);
        udc->dev = &pdev->dev;
 
-       udc->self_powered = 1;
+       udc->gadget.is_selfpowered = 1;
        udc->devstate = USB_STATE_NOTATTACHED;
        udc->pdev = pdev;
        udc->mA = 0;