From: Felipe Balbi <balbif@gmail.com>
To: Marek Szyprowski <m.szyprowski@samsung.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
Ruslan Bilovol <ruslan.bilovol@gmail.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Vegard Nossum <vegard.nossum@oracle.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Peter Chen <peter.chen@freescale.com>,
Felipe Balbi <balbi@kernel.org>
Subject: Re: [PATCH v2 RESEND] usb: gadget: provide interface for legacy gadgets to get UDC name
Date: Thu, 18 Feb 2016 10:11:56 +0200 [thread overview]
Message-ID: <87ziuyqvxv.fsf@ti.com> (raw)
In-Reply-To: <1455782337-4713-1-git-send-email-m.szyprowski@samsung.com>
[-- Attachment #1: Type: text/plain, Size: 3343 bytes --]
Hi,
Marek Szyprowski <m.szyprowski@samsung.com> writes:
> Since commit 855ed04a3758b205e84b269f92d26ab36ed8e2f7 ("usb: gadget:
> udc-core: independent registration of gadgets and gadget drivers") gadget
> drivers can not assume that UDC drivers are already available on their
> initialization. This broke the HACK, which was used in gadgetfs driver,
> to get UDC controller name. This patch removes this hack and replaces it
> by additional function in the UDC core (which is usefully only for legacy
> drivers, please don't use it in the new code).
>
> Reported-by: Vegard Nossum <vegard.nossum@oracle.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Tested-by: Vegard Nossum <vegard.nossum@oracle.com>
> ---
> changelog:
> v2:
> - properly report udc gagdet driver name instead of udc device name
>
> v1: https://lkml.org/lkml/2016/2/8/176
> - initial version
> ---
> drivers/usb/gadget/legacy/inode.c | 29 ++---------------------------
> drivers/usb/gadget/udc/udc-core.c | 33 +++++++++++++++++++++++++++++++++
> include/linux/usb/gadget.h | 1 +
> 3 files changed, 36 insertions(+), 27 deletions(-)
>
> diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
> index 7e179f81d05c..7a62a2f7bc18 100644
> --- a/drivers/usb/gadget/legacy/inode.c
> +++ b/drivers/usb/gadget/legacy/inode.c
> @@ -227,7 +227,7 @@ static void put_ep (struct ep_data *data)
> * implicitly, starting with the driver name and then endpoint names.
> */
>
> -static const char *CHIP;
> +static char CHIP[32];
>
> /*----------------------------------------------------------------------*/
>
> @@ -1697,28 +1697,6 @@ static struct usb_gadget_driver gadgetfs_driver = {
> };
>
> /*----------------------------------------------------------------------*/
> -
> -static void gadgetfs_nop(struct usb_gadget *arg) { }
> -
> -static int gadgetfs_probe(struct usb_gadget *gadget,
> - struct usb_gadget_driver *driver)
> -{
> - CHIP = gadget->name;
> - return -EISNAM;
> -}
> -
> -static struct usb_gadget_driver probe_driver = {
> - .max_speed = USB_SPEED_HIGH,
> - .bind = gadgetfs_probe,
> - .unbind = gadgetfs_nop,
> - .setup = (void *)gadgetfs_nop,
> - .disconnect = gadgetfs_nop,
> - .driver = {
> - .name = "nop",
> - },
> -};
> -
> -
> /* DEVICE INITIALIZATION
> *
> * fd = open ("/dev/gadget/$CHIP", O_RDWR)
> @@ -1968,10 +1946,7 @@ gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
> if (the_device)
> return -ESRCH;
>
> - /* fake probe to determine $CHIP */
> - CHIP = NULL;
> - usb_gadget_probe_driver(&probe_driver);
> - if (!CHIP)
> + if (usb_get_gadget_udc_name(CHIP, sizeof(CHIP)) != 0)
> return -ENODEV;
>
> /* superblock */
> diff --git a/drivers/usb/gadget/udc/udc-core.c b/drivers/usb/gadget/udc/udc-core.c
> index fd73a3ea07c2..4bde2e110e44 100644
> --- a/drivers/usb/gadget/udc/udc-core.c
> +++ b/drivers/usb/gadget/udc/udc-core.c
> @@ -442,6 +442,39 @@ err1:
> EXPORT_SYMBOL_GPL(usb_add_gadget_udc_release);
>
> /**
> + * usb_get_gadget_udc_name - get the name of the first UDC controller
> + * @dst_name
> + * @len
gotta describe these and add a blank line after @len too.
This also seems a little too big for -rc.
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 818 bytes --]
next prev parent reply other threads:[~2016-02-18 8:12 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-07 23:27 gadgetfs regression (NULL ptr deref) since v4.4-rc7 Vegard Nossum
2016-02-08 9:46 ` Ruslan Bilovol
2016-02-08 10:19 ` Marek Szyprowski
2016-02-08 11:07 ` Vegard Nossum
2016-02-08 11:12 ` [PATCH] usb: gadget: provide interface for legacy gadgets to get UDC name Marek Szyprowski
2016-02-08 11:31 ` Vegard Nossum
2016-02-08 12:26 ` [PATCH v2] " Marek Szyprowski
2016-02-08 12:29 ` [PATCH] " Marek Szyprowski
2016-02-18 10:34 ` [PATCH v3] " Marek Szyprowski
2016-02-08 12:15 ` [PATCH] usb: gadget: gadgetfs: unregister gadget only if it got successfully registered Marek Szyprowski
2016-02-08 12:33 ` Vegard Nossum
2016-02-17 14:48 ` Felipe Balbi
2016-02-18 7:58 ` [PATCH v2 RESEND] usb: gadget: provide interface for legacy gadgets to get UDC name Marek Szyprowski
2016-02-18 8:11 ` Felipe Balbi [this message]
2016-02-18 7:59 ` [PATCH RESEND] usb: gadget: gadgetfs: unregister gadget only if it got successfully registered Marek Szyprowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ziuyqvxv.fsf@ti.com \
--to=balbif@gmail.com \
--cc=b.zolnierkie@samsung.com \
--cc=balbi@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.szyprowski@samsung.com \
--cc=maxime.ripard@free-electrons.com \
--cc=peter.chen@freescale.com \
--cc=ruslan.bilovol@gmail.com \
--cc=vegard.nossum@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.