Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752630AbbBQVSF (ORCPT ); Tue, 17 Feb 2015 16:18:05 -0500 Received: from mail-la0-f42.google.com ([209.85.215.42]:44017 "EHLO mail-la0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751765AbbBQVSB (ORCPT ); Tue, 17 Feb 2015 16:18:01 -0500 From: Ruslan Bilovol To: balbi@ti.com Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, k.opasiak@samsung.com, stern@rowland.harvard.edu, peter.chen@freescale.com, gregkh@linuxfoundation.org, andrzej.p@samsung.com Subject: [PATCHv3 0/5] usb/gadget: independent registration of gadgets and gadget drivers Date: Tue, 17 Feb 2015 23:17:52 +0200 Message-Id: <1424207877-30915-1-git-send-email-ruslan.bilovol@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2803 Lines: 67 This patchset adds independent registration of gadgets and gadget drivers to udc-core. This is very useful for built-in modules into kernel case since it's possible situation that gadget driver is probing at a time when no gadgets are registered in udc-core. In this case instead of silently failing without of any attempt to recover, with independent registration of gadgets and gadget drivers there is no matter in which order gadgets and gadget drivers are probed/registered. This patch has side-effect on gadget drivers that had __init/__exit attributes on some paths like bind/unbind and (since bind/unbind may happen at any time) should not use them now. This is covered by forth patch ===================== v3: - addressed Alan's comments - now UDC name and pending gadget drivers list is a part of struct usb_gadget_driver. - removed usb_udc_attach_driver() function that became unused and not needed now v2: - changed first patch to have only deferred probe part (because Gadget Bus seems to be better variant when some more complicated behavior will be required) - rebased to latest 'next' branch of Felipe Balbi's tree Ruslan Bilovol (5): usb: gadget: bind UDC by name passed via usb_gadget_driver structure usb: gadge: configfs: pass UDC name via usb_gadget_driver struct usb: gadget: udc-core: remove unused usb_udc_attach_driver() usb: gadget: legacy: don't use __init/__exit attributes for bind/unbind path usb: gadget: udc-core: independent registration of gadgets and gadget drivers drivers/usb/gadget/configfs.c | 27 +++++----- drivers/usb/gadget/legacy/acm_ms.c | 6 +-- drivers/usb/gadget/legacy/audio.c | 6 +-- drivers/usb/gadget/legacy/cdc2.c | 6 +-- drivers/usb/gadget/legacy/dbgp.c | 2 +- drivers/usb/gadget/legacy/ether.c | 8 +-- drivers/usb/gadget/legacy/gmidi.c | 6 +-- drivers/usb/gadget/legacy/hid.c | 6 +-- drivers/usb/gadget/legacy/mass_storage.c | 4 +- drivers/usb/gadget/legacy/multi.c | 16 +++--- drivers/usb/gadget/legacy/ncm.c | 6 +-- drivers/usb/gadget/legacy/nokia.c | 6 +-- drivers/usb/gadget/legacy/printer.c | 6 +-- drivers/usb/gadget/legacy/serial.c | 2 +- drivers/usb/gadget/legacy/webcam.c | 4 +- drivers/usb/gadget/legacy/zero.c | 2 +- drivers/usb/gadget/udc/udc-core.c | 88 +++++++++++++++++++------------- include/linux/usb/gadget.h | 8 ++- 18 files changed, 116 insertions(+), 93 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/