From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754032AbbEDM4E (ORCPT ); Mon, 4 May 2015 08:56:04 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:65488 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753994AbbEDMzn (ORCPT ); Mon, 4 May 2015 08:55:43 -0400 X-AuditID: cbfee61b-f79536d000000f1f-ef-55476c4d4a68 From: Robert Baldyga To: balbi@ti.com Cc: gregkh@linuxfoundation.org, m.szyprowski@samsung.com, andrzej.p@samsung.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Robert Baldyga Subject: [PATCH v2 5/5] usb: gadget: f_obex: use bind_deactivated flag Date: Mon, 04 May 2015 14:55:15 +0200 Message-id: <1430744115-22096-6-git-send-email-r.baldyga@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1430744115-22096-1-git-send-email-r.baldyga@samsung.com> References: <1430744115-22096-1-git-send-email-r.baldyga@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmluLIzCtJLcpLzFFi42I5/e+xgK5vjnuoweU3+hazXrazWBy8X2/R vHg9m8XlXXPYLBYta2W2WHvkLrvFg8M72R3YPfbPXcPu0bdlFaPH8RvbmTw+b5ILYInisklJ zcksSy3St0vgypj1NKRgglDFw4NXmRsYv/B1MXJySAiYSGz9950dwhaTuHBvPRuILSSwiFHi /nfVLkYuIPsno8Te+/+ZQBJsAjoSW75PYASxRQQEJNa/uATWzCywhVHi8xGdLkYODmEBN4md f8DKWQRUJRZtP8MKYvMKuEq8vvCOBWKXnMTJY5PB4pxA5fM/3GGH2OsqcfDCZsYJjLwLGBlW MYqmFiQXFCel5xrpFSfmFpfmpesl5+duYgQH0TPpHYyrGiwOMQpwMCrx8J5Y5RYqxJpYVlyZ e4hRgoNZSYQ3PMI9VIg3JbGyKrUoP76oNCe1+BCjNAeLkjjvHF25UCGB9MSS1OzU1ILUIpgs EwenVAOj1Uf921cUWs68u5Q8a2UB662HCVv+GIQuU/98WbM7dMvB5fOerb/yw0C63eX4hrCK p9l3ZhUJf4qadqTT0323/rNi8V3lpZNCeH3uz3rUJLN7f6OM+Q077n1PZ59Uv3F91z7JiyfS lP5P0U1i/NhuHbLMr2CzxbkdenZ71+W1C3/lPSa5puiakhJLcUaioRZzUXEiAHNWfs8eAgAA Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use bind_deactivated flag instead of calling usb_function_deactivate() in function bind(). Field 'can_activate' in struct f_obex is no longer needed as setting 'bind_deactivated' flag makes us sure, that the function will be binded only if deactivation can be performed successfully. Signed-off-by: Robert Baldyga --- drivers/usb/gadget/function/f_obex.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/drivers/usb/gadget/function/f_obex.c b/drivers/usb/gadget/function/f_obex.c index a1b79c5..5519f85 100644 --- a/drivers/usb/gadget/function/f_obex.c +++ b/drivers/usb/gadget/function/f_obex.c @@ -37,7 +37,6 @@ struct f_obex { u8 data_id; u8 cur_alt; u8 port_num; - u8 can_activate; }; static inline struct f_obex *func_to_obex(struct usb_function *f) @@ -268,9 +267,6 @@ static void obex_connect(struct gserial *g) struct usb_composite_dev *cdev = g->func.config->cdev; int status; - if (!obex->can_activate) - return; - status = usb_function_activate(&g->func); if (status) dev_dbg(&cdev->gadget->dev, @@ -284,9 +280,6 @@ static void obex_disconnect(struct gserial *g) struct usb_composite_dev *cdev = g->func.config->cdev; int status; - if (!obex->can_activate) - return; - status = usb_function_deactivate(&g->func); if (status) dev_dbg(&cdev->gadget->dev, @@ -378,17 +371,6 @@ static int obex_bind(struct usb_configuration *c, struct usb_function *f) if (status) goto fail; - /* Avoid letting this gadget enumerate until the userspace - * OBEX server is active. - */ - status = usb_function_deactivate(f); - if (status < 0) - WARNING(cdev, "obex ttyGS%d: can't prevent enumeration, %d\n", - obex->port_num, status); - else - obex->can_activate = true; - - dev_dbg(&cdev->gadget->dev, "obex ttyGS%d: %s speed IN/%s OUT/%s\n", obex->port_num, gadget_is_dualspeed(c->cdev->gadget) ? "dual" : "full", @@ -529,6 +511,7 @@ static struct usb_function *obex_alloc(struct usb_function_instance *fi) obex->port.func.get_alt = obex_get_alt; obex->port.func.disable = obex_disable; obex->port.func.free_func = obex_free; + obex->port.func.bind_deactivated = true; return &obex->port.func; } -- 1.9.1