Re: [PATCH 00/29] Equivalent of g_printer with configfs

2015-02-23 Thread Andrzej Pietrasiewicz
W dniu 23.02.2015 o 16:01, Andrzej Pietrasiewicz pisze: This series aims at integrating configfs into hid, the way Of course I meant printer. Sorry about confusion. AP -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org

Re: usb serial: pl2303 driver TxD "break" stays after close() bug

2015-02-23 Thread Johan Hovold
On Fri, Feb 20, 2015 at 03:11:12PM +0200, Jari Ruusu wrote: > On 2/20/15, Johan Hovold wrote: > > On Thu, Feb 19, 2015 at 03:38:39PM +0200, Jari Ruusu wrote: > >> To clear it, you need to poke it with ioctl(fd, TIOCCBRK, 0) > >> or disconnect the device. > > > > That's definitely a bug. > > > > Ca

[PATCH 2/2] twl4030_charger: find associated phy by more reliable means.

2015-02-23 Thread NeilBrown
twl4030_charger currently finds the associated phy using usb_get_phy() which will return the first USB2 phy. If your platform has multiple such phys (as mine does), this is not reliable (and reliably fails on the GTA04). Change to use devm_usb_get_phy_by_node(), having found the node by looking fo

[PATCH 0/2] Allow twl4030_charger to find phy reliably.

2015-02-23 Thread NeilBrown
The twl4030_charger is physically paired with the twl4030 USB phy, so the drivers need to be able to reliably find each other. twl4030_charger currently uses usb_get_phy(), which works if there is only one phy to choose from, but is not reliable in more complex configurations. These patches add a

[PATCH 1/2] usb: phy: Add interface to get phy give of device_node.

2015-02-23 Thread NeilBrown
Split the "get phy from device_node" functionality out of "get phy by phandle" so it can be used directly. This is useful when a battery-charger is intimately associated with a particular phy but handled by a separate driver. The charger can find the device_node based on sibling relationships wit

Re: [PATCH v3] usb: dwc2: gadget reuse ahbcfg assigned from platform

2015-02-23 Thread John Youn
On 2/20/2015 7:26 PM, zhangfei wrote: > Hi, John > > On 02/21/2015 08:35 AM, John Youn wrote: >> On 2/15/2015 5:50 AM, Zhangfei Gao wrote: >>> Reuse ahbcfg if assigned from platform >>> >>> Input from John: >>> AHB_SINGLE, NOTI_ALL_DMA_WRIT, REM_MEM_SUPP, HBSTLEN, >>> and INV_DESC_ENDIANNESS only

Re: [PATCH V6 08/10] USB: f81232: fix read MSR strange value

2015-02-23 Thread Peter Hung
Hello, Johan Hovold 於 2015/2/17 下午 05:51 寫道: So we add more check not only UART_MSR_ANY_DELTA but also with comparing DCD/RI/DSR/CTS change with old value. Due to the state bit is always correct, we direct save msr when read. The following step to reproduce this problem with while loop step 1~

Re: [PATCH v2 03/14] usb: host: ehci: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Alan Stern
On Mon, 23 Feb 2015, Felipe Balbi wrote: > Make sure we're using the new macro, so our > resume signaling will always pass certification. > > Cc: # v3.10+ > Signed-off-by: Felipe Balbi For this patch and 04/14: Acked-by: Alan Stern -- To unsubscribe from this list: send the line "unsubscrib

[PATCH v2 07/14] usb: host: fotg210: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/fotg210-hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/fotg210-hcd.c b/drivers/usb/host/fotg210-

[PATCH v2 05/14] usb: musb: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Based on original work by Bin Liu > Cc: Bin Liu Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/musb/musb_core.c| 7 --- drivers/usb/musb/musb_virthub.c | 2 +- 2 files changed, 5 ins

[PATCH v2 01/14] usb: define a generic USB_RESUME_TIMEOUT macro

2015-02-23 Thread Felipe Balbi
Every USB Host controller should use this new macro to define for how long resume signalling should be driven on the bus. Currently, almost every single USB controller is using a 20ms timeout for resume signalling. That's problematic for two reasons: a) sometimes that 20ms timer expires a little

[PATCH v2 10/14] usb: host: r8a66597: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
While this driver was already using a 50ms resume timeout, let's make sure everybody uses the same macro so it's easy to fix later should anything go wrong. It also gives a more "stable" expectation to Linux users. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/r8a66597-hcd.c |

[PATCH v2 08/14] usb: host: fusbh200: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/fusbh200-hcd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/host/fusbh200-hcd.c b/drivers/usb/host/fusb

[PATCH v2 02/14] usb: host: xhci: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Acked-by: Mathias Nyman Signed-off-by: Felipe Balbi --- drivers/usb/host/xhci-ring.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/xhci-ring.c b/driv

[PATCH v2 14/14] usb: core: hub: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/core/hub.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index d7c3d5a3

[PATCH v2 06/14] usb: host: isp116x: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/isp116x-hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-

[PATCH v2 12/14] usb: dwc2: hcd: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/dwc2/hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/dwc2/hcd.c b/drivers/usb/dwc2/hcd.c index c78c8740db1d

[PATCH v2 13/14] usb: isp1760: hcd: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/isp1760/isp1760-hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/isp1760/isp1760-hcd.c b/drivers/usb/isp176

[PATCH v2 11/14] usb: host: sl811: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/sl811-hcd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c

[PATCH v2 09/14] usb: host: oxu210hp: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/oxu210hp-hcd.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/usb/host/oxu210hp-hcd.c b/drivers/usb/host

[PATCH v2 04/14] usb: host: uhci: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/uhci-hub.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/usb/host/uhci-hub.c b/drivers/usb/host/uhci-hub.

[PATCH v2 03/14] usb: host: ehci: use new USB_RESUME_TIMEOUT

2015-02-23 Thread Felipe Balbi
Make sure we're using the new macro, so our resume signaling will always pass certification. Cc: # v3.10+ Signed-off-by: Felipe Balbi --- drivers/usb/host/ehci-hcd.c | 10 +- drivers/usb/host/ehci-hub.c | 9 ++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/driv

[PATCH v2 00/14] usb: generic resume timeout

2015-02-23 Thread Felipe Balbi
Hi all, here's v2 of usb generic timeout patchset. Rebased on v4.0-rc1 and tested on AM437x SK, and BBB. skipped boards: . AM57x x15 has pending patches to enable USB . AM437x IDK doesn't pin out USB . DM3730 Overo WaterStorm not booting (probably my crappy power supply) Felipe Balbi (14): us

[PATCH 13/15] usb: gadget: function: uvc_v4l2.c: fix sparse warnings

2015-02-23 Thread Felipe Balbi
From: "Lad, Prabhakar" this patch fixes following sparse warnings: uvc_v4l2.c:264:29: warning: symbol 'uvc_v4l2_ioctl_ops' was not declared. Should it be static? uvc_v4l2.c:355:29: warning: symbol 'uvc_v4l2_fops' was not declared. Should it be static? Acked-by: Laurent Pinchart Signed-off-by

[PATCH 09/15] usb: gadget: function: f_uac2: fix sparse warnings

2015-02-23 Thread Felipe Balbi
From: "Lad, Prabhakar" this patch fixes following sparse warnings: f_uac2.c:57:12: warning: symbol 'uac2_name' was not declared. Should it be static? f_uac2.c:637:36: warning: symbol 'in_clk_src_desc' was not declared. Should it be static? f_uac2.c:649:36: warning: symbol 'out_clk_src_desc' was

[PATCH 06/15] usb: musb: Fix getting a generic phy for musb_dsps

2015-02-23 Thread Felipe Balbi
From: Tony Lindgren We still have a combination of legacy phys and generic phys in use so we need to support both types of phy for musb_dsps.c. Cc: Brian Hutchinson Signed-off-by: Tony Lindgren Signed-off-by: Felipe Balbi --- drivers/usb/musb/musb_dsps.c | 25 - 1 fil

[PATCH 08/15] usb: gadget: function: f_hid: fix sparse warning

2015-02-23 Thread Felipe Balbi
From: "Lad, Prabhakar" this patch fixes following sparse warning: f_hid.c:572:30: warning: symbol 'f_hidg_fops' was not declared. Should it be static? Signed-off-by: Lad, Prabhakar Signed-off-by: Felipe Balbi --- drivers/usb/gadget/function/f_hid.c | 2 +- 1 file changed, 1 insertion(+), 1 d

[PATCH 11/15] usb: gadget: function: uvc: fix sparse warnings

2015-02-23 Thread Felipe Balbi
From: "Lad, Prabhakar" this patch fixes following sparse warnings: uvc_video.c:283:5: warning: symbol 'uvcg_video_pump' was not declared. Should it be static? uvc_video.c:342:5: warning: symbol 'uvcg_video_enable' was not declared. Should it be static? uvc_video.c:381:5: warning: symbol 'uvcg_

[PATCH 02/15] usb: gadget: function: phonet: balance usb_ep_disable calls

2015-02-23 Thread Felipe Balbi
f_phonet's ->set_alt() method will call usb_ep_disable() potentially on an endpoint which is already disabled. That's something the gadget/function driver must guarantee that it's always balanced. In order to balance the calls, just make sure the endpoint was enabled before by means of checking th

[PATCH 07/15] usb: isp1760: use msecs_to_jiffies for time conversion

2015-02-23 Thread Felipe Balbi
From: Nicholas Mc Guire This is only an API consolidation and should make things more readable it replaces var * HZ / 1000 by msecs_to_jiffies(var). Acked-by: Laurent Pinchart Signed-off-by: Nicholas Mc Guire Signed-off-by: Felipe Balbi --- drivers/usb/isp1760/isp1760-hcd.c | 6 +++--- 1 fil

[PATCH 12/15] usb: gadget: gadgetfs: fix sparse warnings

2015-02-23 Thread Felipe Balbi
From: "Lad, Prabhakar" this patch fixes following sparse warnings: g_ffs.c:136:3: warning: symbol 'gfs_configurations' was not declared. Should it be static? g_ffs.c:281:16: warning: Using plain integer as NULL pointer Signed-off-by: Lad, Prabhakar Signed-off-by: Felipe Balbi --- drivers/us

[PATCH 15/15] usb: gadget: configfs: don't NUL-terminate (sub)compatible ids

2015-02-23 Thread Felipe Balbi
From: Andrzej Pietrasiewicz The "Extended Compat ID OS Feature Descriptor Specification" does not require the (sub)compatible ids to be NUL-terminated, because they are placed in a fixed-size buffer and only unused parts of it should contain NULs. If the buffer is fully utilized, there is no plac

[PATCH 04/15] usb: musb: Fix use for of_property_read_bool for disabled multipoint

2015-02-23 Thread Felipe Balbi
From: Tony Lindgren The value for the multipoint dts property is ignored when parsing with of_property_read_bool, so we currently have multipoint always set as 1 even if value 0 is specified in the dts file. Let's fix this to read the value too instead of just the property like the binding docum

[PATCH 00/15] usb: what I already have in my queue

2015-02-23 Thread Felipe Balbi
This series is just to make sure patches have been on linux-usb and stable (when applicable) mailing list. This is what I'm testing right now to send as a pull request for Greg on Wednesday. Nothing needs to be done with these patches. Thank you Andrzej Pietrasiewicz (1): usb: gadget: configfs

[PATCH 05/15] usb: renesas: fix extcon dependency

2015-02-23 Thread Felipe Balbi
From: Arnd Bergmann The renesas usbhs driver calls extcon_get_edev_by_phandle(), which is defined in drivers/extcon/extcon-class.c, and that can be a loadable module. If the extcon-class support is disabled, usbhs will work correctly for all devices that do not need extcon. However, if extcon-cl

[PATCH 10/15] usb: gadget: function: f_sourcesink: fix sparse warning

2015-02-23 Thread Felipe Balbi
From: "Lad, Prabhakar" this patch fixes following sparse warnings: f_sourcesink.c:347:34: warning: symbol 'ss_int_source_comp_desc' was not declared. Should it be static? f_sourcesink.c:365:34: warning: symbol 'ss_int_sink_comp_desc' was not declared. Should it be static? Signed-off-by: Lad,

[PATCH 14/15] usb: dwc3: dwc3-omap: Fix disable IRQ

2015-02-23 Thread Felipe Balbi
From: George Cherian In the wrapper the IRQ disable should be done by writing 1's to the IRQ*_CLR register. Existing code is broken because it instead writes zeros to IRQ*_SET register. Fix this by adding functions dwc3_omap_write_irqmisc_clr() and dwc3_omap_write_irq0_clr() which do the right t

[PATCH 03/15] usb: musb: core: add pm_runtime_irq_safe()

2015-02-23 Thread Felipe Balbi
We need a pm_runtime_get_sync() call from within musb_gadget_pullup() to make sure registers are accessible at that time. The problem is that musb_gadget_pullup() is called with IRQs disabled and, because of that, we need to tell pm_runtime that this pm_runtime_get_sync() is IRQ safe. We can simp

Re: URB IRQ fires on URB after usb_kill_urb() already completed

2015-02-23 Thread Alan Stern
On Mon, 23 Feb 2015, Devin Heitmueller wrote: > > Good suggestion. I'll add code to print it out before and after > > usb_kill_urb(), as well as from within the the IRQ handler and right > > before the call to usb_free_urb(). > > Added a quick debug line right before the call to usb_urb_kill(),

[PATCH 01/15] usb: musb: musb_host: Enable HCD_BH flag to handle urb return in bottom half

2015-02-23 Thread Felipe Balbi
From: George Cherian Enable HCD_BH flag for musb host controller driver. This improves the MSC/UVC through put. With this enabled even 640x480@30fps webcam streaming is also supported. Signed-off-by: George Cherian Signed-off-by: Felipe Balbi --- drivers/usb/musb/musb_host.c | 2 +- 1 file ch

Re: URB IRQ fires on URB after usb_kill_urb() already completed

2015-02-23 Thread Devin Heitmueller
> Good suggestion. I'll add code to print it out before and after > usb_kill_urb(), as well as from within the the IRQ handler and right > before the call to usb_free_urb(). Added a quick debug line right before the call to usb_urb_kill(), thinking that perhaps one of the things checked for at th

Re: [PATCH v3] xhci: fix reporting of 0-sized URBs in control endpoint

2015-02-23 Thread Aleksander Morgado
On Mon, Feb 23, 2015 at 4:23 PM, Mathias Nyman wrote: > Hi > > On 23.02.2015 13:52, Aleksander Morgado wrote: >> When a control transfer has a short data stage, the xHCI controller generates >> two transfer events: a COMP_SHORT_TX event that specifies the untransferred >> amount, and a COMP_SUCCES

Re: [PATCH v4 4/4] phy: add phy-hi6220-usb

2015-02-23 Thread Felipe Balbi
Hi, On Sun, Feb 22, 2015 at 11:10:36AM +0800, zhangfei wrote: > >>+static void hi6220_start_peripheral(struct hi6220_priv *priv, bool on) > >>+{ > >>+ struct usb_otg *otg = priv->phy.otg; > >>+ > >>+ if (!otg->gadget) > >>+ return; > >>+ >

Re: [resend PATCH v3 4/4] usb: phy: add phy-hi6220-usb

2015-02-23 Thread Felipe Balbi
On Wed, Feb 11, 2015 at 11:10:31AM +0200, Baruch Siach wrote: > Hi Peter, Felipe, > > > > new drivers only on drivers/phy/, sorry. > > > > This driver has many USB dependencies, like otg, gadget. I don't know it > > can use generic phy currently. > > I would like to remind you the thread at > h

Re: [resend PATCH v3 4/4] usb: phy: add phy-hi6220-usb

2015-02-23 Thread Felipe Balbi
On Tue, Feb 10, 2015 at 10:53:23PM +0800, zhangfei wrote: > > > On 02/10/2015 10:48 PM, Felipe Balbi wrote: > >On Tue, Feb 10, 2015 at 05:10:04PM +0800, Zhangfei Gao wrote: > >>Add usb phy controller for hi6220 platform > >> > >>Signed-off-by: Zhangfei Gao > >>--- > >> drivers/usb/phy/Kconfig

Re: [PATCH v2 1/2] usb: phy: load usb phy earlier

2015-02-23 Thread Felipe Balbi
On Fri, Feb 06, 2015 at 09:01:16AM +0800, Peter Chen wrote: > On Thu, Feb 05, 2015 at 09:24:02PM +0800, Zhangfei Gao wrote: > > Since phy is definitely used in usb controller, load the phy > > earlier to make boot time shorter. > > > > Signed-off-by: Zhangfei Gao > > --- > > drivers/usb/Makefile

Re: [resend PATCH v3 4/4] usb: phy: add phy-hi6220-usb

2015-02-23 Thread Felipe Balbi
On Wed, Feb 11, 2015 at 01:30:53AM +, Peter Chen wrote: > > > > Signed-off-by: Zhangfei Gao > > > --- > > > drivers/usb/phy/Kconfig | 9 ++ > > > drivers/usb/phy/Makefile | 1 + > > > drivers/usb/phy/phy-hi6220-usb.c | 306 > > > +++ >

Re: [PATCH v3] xhci: fix reporting of 0-sized URBs in control endpoint

2015-02-23 Thread Mathias Nyman
Hi On 23.02.2015 13:52, Aleksander Morgado wrote: > When a control transfer has a short data stage, the xHCI controller generates > two transfer events: a COMP_SHORT_TX event that specifies the untransferred > amount, and a COMP_SUCCESS event. But when the data stage is not short, only > the > CO

Re: [PATCH] usb: gadget: fix sparse warnings

2015-02-23 Thread Felipe Balbi
On Sun, Feb 08, 2015 at 05:46:38PM +0200, Laurent Pinchart wrote: > Hi Felipe, > > On Thursday 05 February 2015 12:08:09 Felipe Balbi wrote: > > On Thu, Feb 05, 2015 at 05:02:46PM +0200, Laurent Pinchart wrote: > > > Hi Prabhakar, > > > > > > Thank you for the patch. > > > > > > On Thursday 05 F

[PATCH 04/29] usb: gadget: printer: eliminate random pointer dereference

2015-02-23 Thread Andrzej Pietrasiewicz
struct printer_dev contains 3 list heads: tx_reqs, rx_reqs and rx_buffers. There is just one instance of this structure in the driver and it is file static, and as such initialized with all zeros. If device_create() or cdev_add() fails then "goto fail" branch is taken, which results in printer_cfg

[PATCH 10/29] usb: gadget: printer: move function-related bind code to function's bind

2015-02-23 Thread Andrzej Pietrasiewicz
In order to factor out a reusable f_printer.c, the code related to the function should be placed in functions related to the function. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 114 +--- 1 file changed, 66 insertions(+), 48 del

[PATCH 12/29] usb: gadget: printer: move function-related unbind code to function's unbind

2015-02-23 Thread Andrzej Pietrasiewicz
In order to factor out a reusable f_printer.c, the code related to the function should be placed in functions related to the function. printer_cfg_unbind() becomes empty, so it is removed. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 58

[PATCH 02/29] usb: gadget: printer: enqueue printer's response for setup request

2015-02-23 Thread Andrzej Pietrasiewicz
Function-specific setup requests should be handled in such a way, that apart from filling in the data buffer, the requests are also actually enqueued: if function-specific setup is called from composte_setup(), the "usb_ep_queue()" block of code in composite_setup() is skipped. The printer functio

[PATCH 03/29] usb: gadget: printer: remove unused and empty printer_unbind

2015-02-23 Thread Andrzej Pietrasiewicz
The unbind() method is optional is usb_composite_driver. In this particular driver the method does nothing so it can be removed. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/usb/gadget/legacy/printer

[PATCH 08/29] usb: gadget: printer: follow the naming convention for usb_add_config callback

2015-02-23 Thread Andrzej Pietrasiewicz
Legacy gadgets, before converting them to the new function framework, used to use the name _do_config() for usb_add_config()'s callback. This patch changes the name so that it is easier to follow the convention. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 4 ++

[PATCH 16/29] usb: gadget: printer: call gprinter_setup() from gadget's bind

2015-02-23 Thread Andrzej Pietrasiewicz
Call gprinter_setup() from gadget's bind instead of module's init. Call gprinter_cleaup() corerspondingly. This detaches printer function's logic from legacy printer gadget's implementation. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 35 ++-

[PATCH 05/29] usb: gadget: printer: revert usb_add_function() effect in error recovery

2015-02-23 Thread Andrzej Pietrasiewicz
Whenever the "goto fail" branch is taken, the effect of usb_add_function() should be reverted. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/usb/gadget/legacy/printer.c b/drivers/usb/gadget/legacy/printer

[PATCH 09/29] usb: gadget: printer: standardize printer_do_config

2015-02-23 Thread Andrzej Pietrasiewicz
Follow the convention of distributing source code between _do_config() and _bind_config(). Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 39 +++-- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/drivers/usb/gadget/l

[PATCH 15/29] usb: gadget: printer: add setup and cleanup functions

2015-02-23 Thread Andrzej Pietrasiewicz
Factor out gprinter_setup() and gprinter_cleanup() so that it is easy to change the place they are called from. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 46 + 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a

[PATCH 13/29] usb: gadget: printer: define pnp string buffer length

2015-02-23 Thread Andrzej Pietrasiewicz
Avoid using magic numbers. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/gadget/legacy/printer.c b/drivers/usb/gadget/legacy/printer.c index 84e6cdd..db5e2f0 100644 --- a/drivers

[PATCH 18/29] usb: gadget: printer: don't access file global usb_printer_gadget in function's code

2015-02-23 Thread Andrzej Pietrasiewicz
The printer_dev can be recovered from printer_func_unbind() function's parameters. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/legacy/printer.c b/drivers/usb/gadget/legacy/pri

[PATCH 28/29] usb: gadget: printer: use module_usb_composite_driver helper macro

2015-02-23 Thread Andrzej Pietrasiewicz
Substitute some boilerplate code with a dedicated macro. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 14 +- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/drivers/usb/gadget/legacy/printer.c b/drivers/usb/gadget/legacy/printer.c inde

[PATCH 21/29] usb: gadget: printer: name class specific requests

2015-02-23 Thread Andrzej Pietrasiewicz
Avoid using magic numbers. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/usb/gadget/legacy/printer.c b/drivers/usb/gadget/legacy/printer.c index f103c11..fcfa618 100644 --- a/driv

[PATCH 19/29] usb: gadget: printer: add container_of helper for printer_dev

2015-02-23 Thread Andrzej Pietrasiewicz
5 uses of container_of() in the same context justify wrapping it in a static inline function. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 15 ++- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/usb/gadget/legacy/printer.c b/d

[PATCH 26/29] usb: gadget: printer: convert to new interface of f_printer

2015-02-23 Thread Andrzej Pietrasiewicz
The goal is to remove the old function interface, so its (only) user must be converted to the new interface. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/Kconfig | 1 + drivers/usb/gadget/legacy/printer.c | 50 ++--- 2 files changed, 37 in

[PATCH 06/29] usb: gadget: printer: add missing error handling

2015-02-23 Thread Andrzej Pietrasiewicz
If cdev_add() in printer_bind_config() fails, care is taken to reverse the effects of initializations completed until the fail happens. But if printer_req_alloc() fails, it is just one of the two lists that is cleaned up while the effects of cdev_add() and device_create() are not reverted. This pa

[PATCH 29/29] usb: gadget: printer: add configfs support

2015-02-23 Thread Andrzej Pietrasiewicz
Add support for configfs interface so that f_printer can be used as a component of usb gadgets composed with it. Signed-off-by: Andrzej Pietrasiewicz --- .../ABI/testing/configfs-usb-gadget-printer| 9 ++ Documentation/usb/gadget-testing.txt | 47 drivers/usb/ga

[PATCH 20/29] usb: gadget: composite: add req_match method to usb_function

2015-02-23 Thread Andrzej Pietrasiewicz
Non-standard requests can encode the actual interface number in a non-standard way. For example composite_setup() assumes that it is w_index && 0xFF, but the printer function encodes the interface number in a context-dependet way (either w_index or w_index >> 8). This can lead to such requests bein

[PATCH 23/29] usb: gadget: printer: allocate printer_dev instances dynamically

2015-02-23 Thread Andrzej Pietrasiewicz
With all the obstacles removed it is possible to allow more than one instance of the printer function. Since the function requires allocating character device region, a maximum number of allowed instances is defined. Such an approach is used in f_acm and in f_hid. Signed-off-by: Andrzej Pietrasiew

[PATCH 25/29] usb: gadget: f_printer: convert to new function interface with backward compatibility

2015-02-23 Thread Andrzej Pietrasiewicz
In order to add configfs support, a usb function must be converted to use the new interface. This patch converts the function to the new interface and provides backward compatiblity layer, which can be removed after all its users are converted to use the new interface. Signed-off-by: Andrzej Pietr

[PATCH 14/29] usb: gadget: printer: don't access file global pnp_string in function's code

2015-02-23 Thread Andrzej Pietrasiewicz
In order to factor out a reusable f_printer, the function's code should not use file global variables related to legacy printer gadget's implementation. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(

[PATCH 27/29] usb: gadget: f_printer: remove compatibility layer

2015-02-23 Thread Andrzej Pietrasiewicz
There are no old interface users left, so it can be removed. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/function/f_printer.c | 113 1 file changed, 113 deletions(-) diff --git a/drivers/usb/gadget/function/f_printer.c b/drivers/usb/gadget/funct

[PATCH 11/29] usb: gadget: printer: call usb_add_function() last

2015-02-23 Thread Andrzej Pietrasiewicz
Conversion to the new function interface requires splitting a _bind_config() function into two parts: allocation of container_of struct usb_function and invocation of usb_add_function(). This patch moves the latter to the end of the f_printer_bind_config() in order to enable conversion to the new i

[PATCH 01/29] usb: gadget: composite: don't try standard handling for non-standard requests

2015-02-23 Thread Andrzej Pietrasiewicz
If a non-standard request is processed and its parameters just happen to match those of some standard request, the logic of composite_setup() can be fooled, so don't even try any switch cases, just go to the proper place where unknown requests are handled. Signed-off-by: Andrzej Pietrasiewicz ---

[PATCH 24/29] usb: gadget: printer: factor out f_printer

2015-02-23 Thread Andrzej Pietrasiewicz
The legacy printer gadget now contains both a reusable printer function and legacy gadget proper implementations interwoven, but logically separate. This patch factors out a reusable f_printer. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/function/f_printer.c | 1280 ++

[PATCH 17/29] usb: gadget: printer: eliminate file global printer_mutex

2015-02-23 Thread Andrzej Pietrasiewicz
The mutex is a legacy after semi-automatic Big Kernel Lock removal. printer_open() does its own locking, so no need to duplicate it. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/usb/gadget/legacy/printe

[PATCH 22/29] usb: gadget: printer: add req_match for printer function

2015-02-23 Thread Andrzej Pietrasiewicz
Verify that a given usb_ctrlrequest is meant for printer function. The following parts of the request are tested: - bmRequestType:Data transfer direction - bmRequestType:Type - bmRequestType:Recipient - bRequest - wValue for bRequest 1 and 2 - wLength Additionally, the request is considered meant

[PATCH 07/29] usb: gadget: printer: eliminate pdev member of struct printer_dev

2015-02-23 Thread Andrzej Pietrasiewicz
The pdev member of struct printer_dev is not used outside printer_bind_config(), so it can just as well be a local variable there. Signed-off-by: Andrzej Pietrasiewicz --- drivers/usb/gadget/legacy/printer.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/usb/

[PATCH 00/29] Equivalent of g_printer with configfs

2015-02-23 Thread Andrzej Pietrasiewicz
This series aims at integrating configfs into hid, the way it has been done for acm, ncm, ecm, eem, ecm subset, rndis, obex, phonet, mass_storage, FunctionFS, loopback, sourcesink, uac1, uac2, uvc, midi and hid. The printer gadget before the changes has some bugs, and although it uses the composit

[PATCH] uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS539

2015-02-23 Thread Hans de Goede
Like the JMicron JMS567 enclosures with the JMS539 choke on report-opcodes, so avoid it. Tested-and-reported-by: Tom Arild Naess Cc: sta...@vger.kernel.org # 3.16 Signed-off-by: Hans de Goede --- drivers/usb/storage/unusual_uas.h | 7 +++ 1 file changed, 7 insertions(+) diff --git a/driver

[PATCH] usb: serial: ftdi_sio: Add jtag quirk support for Cyber Cortex AV boards.

2015-02-23 Thread Max Mansfield
This patch integrates Cyber Cortex AV boards with the existing ftdi_jtag_quirk in order to use serial port 0 with JTAG which is required by the manufacturers' software. Steps: 2 [ftdi_sio_ids.h] 1. Defined the device PID [ftdi_sio.c] 2. Added a macro declaration to the ids array, in order to e

[PATCH v3] xhci: fix reporting of 0-sized URBs in control endpoint

2015-02-23 Thread Aleksander Morgado
When a control transfer has a short data stage, the xHCI controller generates two transfer events: a COMP_SHORT_TX event that specifies the untransferred amount, and a COMP_SUCCESS event. But when the data stage is not short, only the COMP_SUCCESS event occurs. Therefore, xhci-hcd must set urb->act

Re: [PATCH v2] xhci: fix reporting of 0-sized URBs in control endpoint

2015-02-23 Thread Aleksander Morgado
>> When a control transfer has a short data stage, the xHCI controller >> generates >> two transfer events: a COMP_SHORT_TX event that specifies the >> untransferred >> amount, and a COMP_SUCCESS event. But when the data stage is not short, >> only the >> COMP_SUCCESS event occurs. Therefore, xhci-

Re: cdc_mbim with Huawei E3372, nothing works

2015-02-23 Thread Bjørn Mork
Aleksander Morgado writes: > On Tue, Feb 17, 2015 at 4:32 PM, Sami Farin > wrote: >> ifconfig >> wwp3s0u1c2: flags=4291 mtu 1500 >> inet 46.132.188.224 netmask 255.255.255.192 broadcast >> 46.132.188.255 >> inet6 fe80:: prefixlen 64 scopeid 0x20 >> ether 32:35:3a:6