- 29 Jan, 2015 1 commit
-
-
Felipe Balbi authored
commit 8e74475b (usb: dwc3: gadget: use udc-core's reset notifier) added support for the new UDC core's reset notifier to dwc3 but while at it, it removed a spin_lock() from dwc3_reset_gadget() which might cause an unbalanced spin_unlock() further down the line Fixes: 8e74475b (usb: dwc3: gadget: use udc-core's reset notifier) Cc: <stable@vger.kernel.org> # v3.19 Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
- 27 Jan, 2015 39 commits
-
-
Felipe Balbi authored
By moving all dev_vdbg() to tracepoints, we can finally get rid of dev_vdbg() usage from dwc3. Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Felipe Balbi authored
Sometimes we want to just print a formatted string without passing any extra data. The following will be used for removing reliance on dev_vdbg() from dwc3. Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Felipe Balbi authored
if an unknown IRQ event is triggered, that means the HW is really misbehaving. Instead of printing a debug message, let's WARN() so users report when that happens. Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Felipe Balbi authored
We already have both ret and dwc defined in this same function. Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Andrzej Pietrasiewicz authored
The purpose of the functions and their parametrs might not be obvious to the reader, so explain it. Signed-off-by:
Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Andrzej Pietrasiewicz authored
The first parameter of __uvcg_iter_strm_cls() is always used in the context of struct uvcg_streaming_header, so change the function prototype accordingly. Acked-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Peter Chen authored
There is a request from IC engineer that if we doesn't set phypwd as 0xffffffff, we need to delay about five 32Khz cycles before set phy's pwd register, otherwise, the wakeup signal may can't wake up controller. Signed-off-by:
Peter Chen <peter.chen@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Peter Chen authored
At very rare cases, the SoF will not send out after resume with low speed connection. The workaround is do not power down PWD.RXPWD1PT1 bit during the suspend. Signed-off-by:
Peter Chen <peter.chen@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Li Jun authored
For non-otg mode, we keep the usage of disconnect line between phy analog and digital unchanging; for otg mode, at peripheral role, we keep the usage unchanging too, at host role, the digital part needs to know dp/dm change to respond device's data pulse when it is at low power mode. Signed-off-by:
Peter Chen <peter.chen@freescale.com> Signed-off-by:
Li Jun <b47624@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Peter Chen authored
The RLT code has already done it, so no software operation is needed. Signed-off-by:
Peter Chen <peter.chen@freescale.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The isp1760 driver registration function returns an error if USB is disabled. This made sense when the driver only supported host controllers, but now that it supports peripheral controllers host support isn't mandatory anymore. Fix this by returning an error only when both the HCD and UDC functions are disabled, either through the kernel configuration or at runtime. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Both isp1760_register() and isp1761_pci_probe() check whether USB is disabled by calling usb_disabled(), and bail out with an error if it is. One check is enough, remove the PCI-specific check. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Enable compilation of the isp1760 driver in pure host mode, pure device mode, or dual-role mode. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Now that this is DRD, it doesn't make sense to keep it under drivers/usb/host. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The ISP1761 is a dual-mode host and device controller backward compatible on the host side with the ISP1760. Add support for the device controller. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Configuring the mode of operation of port 1 doesn't belong to the HCD code, as it's related to the soon to come UDC support. Move the configuration to core code. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Although the corresponding register is part of the HCD register space, processor bus initialization is not specific to the HCD. To prepare for device controller support, move bus interface initialization to core code. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The IRQF_SHARED flag needs to be set regardless of the bus type. Don't require glue code to set it manually. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Move core device initialization to a central location in order to share it with the device mode implementation. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The isp1760-rhcd.h header contains PTD constants and structures only useful for the HCD implementation. It also contains register definitions that will be needed by common code when implementing support for the ISP1761 device controller, but doesn't contain the isp1760_hcd structure definition that will also be used by common code. Move definitions to the right location and create an isp1760-regs.h to store register definitions. No change other than moving definitions and modifying indentation is performed. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The slotinfo and memory_chunk structures are specific to the driver and defined in a header file. Prefix them with isp1760_ to avoid namespace clashes. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Allocate the driver private data structure manually instead of using the usb_hcd private space. This will allow skipping hcd registration for the isp1761 when used in device mode only. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Move the initialization code out of the PCI probe function to a new function in order to simplify and fix error handling. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
This simplifies error and remove code paths. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The function takes quite a few arguments, passing the resource pointer instead of the start address and length simplifies it a bit. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The argument is unused, remove it. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The two functions are specific to the driver but have very generic names, subject to collisions. Rename them. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The glue code probe functions don't need to access the hcd structure anymore. Modify isp1760_register to return an integer error code instead of the hcd pointer. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Don't duplicate *_set_drvdata calls in glue code. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The removal cleanup code is duplicated between the different bus glues. Move it to a central location. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Both handle platform devices, merge them. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The I/O registers are mapped in the HCD code but must be unmapped by glue code. The OF and PCI glue code unmap them correctly but the platform glue code is missing an iounmap() call. Fix it. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The platform driver remove function needs to release the memory resource requested at probe time. Instead of retrieving the resource from the platform device, retrieve it from the usb_hcd. This mimics the behaviour of the PCI and OF glues, and will make it easier to share code between all three glue layers. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by:
Felipe Balbi <balbi@ti.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
The structure is allocated for the sole purpose of holding a pointer to the HCD and being stored in platform device driver data. Store the HCD pointer directly instead. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Laurent Pinchart authored
Switching to the managed gpio descriptor API simplifies both error and cleanup code paths (by removing the need to free the gpio) and runtime code (by removing manual handling of the active low flag). It also permits handling the reset gpio entirely from within the HCD code, sharing it between the different glue layers. Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Asaf Vertz authored
Fixed the following warnings (reported by cppcheck): [drivers/usb/gadget/function/f_sourcesink.c:1217]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1261]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1305]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1349]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1393]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1437]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1476]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1520]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1564]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [drivers/usb/gadget/function/f_sourcesink.c:1608]: (warning) %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int' Reviewed-by:
Amit Virdi <amit.virdi@st.com> Signed-off-by:
Asaf Vertz <asaf.vertz@tandemg.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Robert Baldyga authored
Add eventfd which notifies userspace about ep0 events and AIO completion events. It simplifies using of FunctionFS with event loop, because now we need to poll on single file (instead of polling on ep0 and eventfd's supplied to AIO layer). FunctionFS eventfd is not triggered if another eventfd is supplied to AIO layer (in AIO request). It can be useful, for example, when we want to handle AIO transations for chosen endpoint in separate thread. Signed-off-by:
Robert Baldyga <r.baldyga@samsung.com> Acked-by:
Michal Nazarewicz <mina86@mina86.com> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-
Mario Schuknecht authored
Use if-loop variable 'epfile' instead of start variable 'epfiles'. Now the correct endpoint file name is stored. Signed-off-by:
Mario Schuknecht <mario.schuknecht@dresearch-fe.de> Signed-off-by:
Felipe Balbi <balbi@ti.com>
-