30 Jul, 2013

7 commits

  • Clean up the code that checks the validity of a USB gadget driver
    in usb_gadget_register_driver(). Moreover, limit the speed of the
    driver to either FULL or HIGH, this is more precise and once we
    have xHCI support, also more correct.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The usb_lowlevel_init() call already fills and passes back struct
    ehci_ctrl , which readily contains correctly determined address of
    the port register block address computed from values from controller
    configuration registers. Leverage this and make use of this value
    as this makes the code mode universal, but also gets us rid of the
    CONFIG_USB_REG_BASE configuration option.

    Moreover, this patch cleans up the usb_gadget_register_driver() call
    a little by correcting the error handling. Note the usb_lowlevel_init()
    and mvudc_probe() are now called in reversed order, but this has no
    impact on the code.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Move the struct ehci_ctrl defition from ehci-hcd.c into ehci.h
    so it can be re-used by drivers. In particular, the mv_udc driver
    can benefit from this move.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Move the constant values that are programmed into mv_ep.ep into
    separate static const structure so they can be memcpy()'d when
    the initialization happens.

    Moveover, we only every init NUM_ENDPOINTS, not 2 * NUM_ENDPOINTS,
    so fix this bug as well.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The endpoints are operated on a per-controller basis, move the
    endpoint array into controller's private data. Also shuffle the
    struct mv_ep structure definition just above the definition of
    the struct mv_drv so they're well grouped together.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • Do a coding-style cleanup of this file and throw away useless
    defined values. These values were likely a result of a copy-paste
    job.

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     
  • The mv_udc driver is broken for a while and doesn't even compile.
    This patch fixes the issues and gets the driver into working state
    again. This driver was tested on Freescale i.MX233/i.MX28 .

    Signed-off-by: Marek Vasut
    Cc: Fabio Estevam
    Cc: Lei Wen
    Cc: Otavio Salvador
    Cc: Stefano Babic

    Marek Vasut
     

27 Jul, 2013

3 commits


26 Jul, 2013

6 commits


25 Jul, 2013

8 commits


24 Jul, 2013

16 commits