udc->enabled
                        ? (udc->vbus ? "active" : "enabled")
                        : "disabled",
-               udc->selfpowered ? "self" : "VBUS",
+               udc->gadget.is_selfpowered ? "self" : "VBUS",
                udc->suspended ? ", suspended" : "",
                udc->driver ? udc->driver->driver.name : "(none)");
 
        unsigned long   flags;
 
        spin_lock_irqsave(&udc->lock, flags);
-       udc->selfpowered = (is_on != 0);
+       gadget->is_selfpowered = (is_on != 0);
        spin_unlock_irqrestore(&udc->lock, flags);
        return 0;
 }
         */
        case ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_DEVICE) << 8)
                        | USB_REQ_GET_STATUS:
-               tmp = (udc->selfpowered << USB_DEVICE_SELF_POWERED);
+               tmp = (udc->gadget.is_selfpowered << USB_DEVICE_SELF_POWERED);
                if (at91_udp_read(udc, AT91_UDP_GLB_STAT) & AT91_UDP_ESR)
                        tmp |= (1 << USB_DEVICE_REMOTE_WAKEUP);
                PACKET("get device status\n");
        udc->driver = driver;
        udc->gadget.dev.of_node = udc->pdev->dev.of_node;
        udc->enabled = 1;
-       udc->selfpowered = 1;
+       udc->gadget.is_selfpowered = 1;
 
        return 0;
 }
 
        unsigned                        req_pending:1;
        unsigned                        wait_for_addr_ack:1;
        unsigned                        wait_for_config_ack:1;
-       unsigned                        selfpowered:1;
        unsigned                        active_suspend:1;
        u8                              addr;
        struct at91_udc_data            board;