From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2CC4C433E3 for ; Wed, 15 Jul 2020 21:58:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B75002067D for ; Wed, 15 Jul 2020 21:58:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727090AbgGOV6G (ORCPT ); Wed, 15 Jul 2020 17:58:06 -0400 Received: from relay11.mail.gandi.net ([217.70.178.231]:35375 "EHLO relay11.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726370AbgGOV6G (ORCPT ); Wed, 15 Jul 2020 17:58:06 -0400 Received: from localhost (lfbn-lyo-1-1676-121.w90-65.abo.wanadoo.fr [90.65.108.121]) (Authenticated sender: alexandre.belloni@bootlin.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 5973B100008; Wed, 15 Jul 2020 21:58:02 +0000 (UTC) Date: Wed, 15 Jul 2020 23:58:01 +0200 From: Alexandre Belloni To: =?utf-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Cc: Cristian Birsan , Felipe Balbi , Greg Kroah-Hartman , Ludovic Desroches , Nicolas Ferre , Songjun Wu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org Subject: Re: [PATCH RESEND 3/3] usb: gadget: udc: atmel: implement .pullup callback Message-ID: <20200715215801.GG23553@piout.net> References: <63121e624012996a2f6f5f3763270ad834667a12.1594231056.git.mirq-linux@rere.qmqm.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <63121e624012996a2f6f5f3763270ad834667a12.1594231056.git.mirq-linux@rere.qmqm.pl> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/07/2020 20:04:10+0200, Michał Mirosław wrote: > Implement udc->pullup callback, so that udc_connect/disconnect work. > This is needed for composite gadget, as it assumes udc_disconnect() > actually works and calls its ->disconnect callback. > > Signed-off-by: Michał Mirosław Acked-by: Alexandre Belloni > --- > drivers/usb/gadget/udc/atmel_usba_udc.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/usb/gadget/udc/atmel_usba_udc.c b/drivers/usb/gadget/udc/atmel_usba_udc.c > index 9342a3d24963..c5128c229c52 100644 > --- a/drivers/usb/gadget/udc/atmel_usba_udc.c > +++ b/drivers/usb/gadget/udc/atmel_usba_udc.c > @@ -1028,6 +1028,7 @@ usba_udc_set_selfpowered(struct usb_gadget *gadget, int is_selfpowered) > return 0; > } > > +static int atmel_usba_pullup(struct usb_gadget *gadget, int is_on); > static int atmel_usba_start(struct usb_gadget *gadget, > struct usb_gadget_driver *driver); > static int atmel_usba_stop(struct usb_gadget *gadget); > @@ -1101,6 +1102,7 @@ static const struct usb_gadget_ops usba_udc_ops = { > .get_frame = usba_udc_get_frame, > .wakeup = usba_udc_wakeup, > .set_selfpowered = usba_udc_set_selfpowered, > + .pullup = atmel_usba_pullup, > .udc_start = atmel_usba_start, > .udc_stop = atmel_usba_stop, > .match_ep = atmel_usba_match_ep, > @@ -1957,6 +1959,24 @@ static irqreturn_t usba_vbus_irq_thread(int irq, void *devid) > return IRQ_HANDLED; > } > > +static int atmel_usba_pullup(struct usb_gadget *gadget, int is_on) > +{ > + struct usba_udc *udc = container_of(gadget, struct usba_udc, gadget); > + unsigned long flags; > + u32 ctrl; > + > + spin_lock_irqsave(&udc->lock, flags); > + ctrl = usba_readl(udc, CTRL); > + if (is_on) > + ctrl &= ~USBA_DETACH; > + else > + ctrl |= USBA_DETACH; > + usba_writel(udc, CTRL, ctrl); > + spin_unlock_irqrestore(&udc->lock, flags); > + > + return 0; > +} > + > static int atmel_usba_start(struct usb_gadget *gadget, > struct usb_gadget_driver *driver) > { > -- > 2.20.1 > -- Alexandre Belloni, Bootlin Embedded Linux and Kernel engineering https://bootlin.com From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DB017C433E1 for ; Wed, 15 Jul 2020 21:59:32 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A842320657 for ; Wed, 15 Jul 2020 21:59:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="d7OVW2nb" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A842320657 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bootlin.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=xLF3qhnJLnPHaP69DAQTAkqyu3iBL3Q8P08RLFHm/qA=; b=d7OVW2nbrA9HjWp4LOfy9vm8j fxDz5QNY19li+91oQk9uxaoTfyMUmSFhgrDabNWe420i/2iWzFeGMT+pSIa7/vpZlqHdoOu4UvdJk 7ImcCoBevla6uKZUCjED80KjHxRGF1MdaSSwxGtIgS1WXnBxj/xXCfWnG/q9Fcgov6o45o6BaRtRc 02DCVmyqvlx11YzlK8YwCI/d8YWKWccIidbBIzpEnV7j+DYCymK7JoSvp/udXgX7Ay/NTBSY8e8Xw 3t/FHjkQ1ieJXnygKLnkdLFCLrYT+tUKjrCvJhsp1LvnEZz5lUfDykcJMqZ9/zTsrTuI8I8cvUGPM tmjY97wxg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvpPl-0000pr-1b; Wed, 15 Jul 2020 21:58:09 +0000 Received: from relay11.mail.gandi.net ([217.70.178.231]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jvpPi-0000pP-ED for linux-arm-kernel@lists.infradead.org; Wed, 15 Jul 2020 21:58:07 +0000 Received: from localhost (lfbn-lyo-1-1676-121.w90-65.abo.wanadoo.fr [90.65.108.121]) (Authenticated sender: alexandre.belloni@bootlin.com) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 5973B100008; Wed, 15 Jul 2020 21:58:02 +0000 (UTC) Date: Wed, 15 Jul 2020 23:58:01 +0200 From: Alexandre Belloni To: =?utf-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= Subject: Re: [PATCH RESEND 3/3] usb: gadget: udc: atmel: implement .pullup callback Message-ID: <20200715215801.GG23553@piout.net> References: <63121e624012996a2f6f5f3763270ad834667a12.1594231056.git.mirq-linux@rere.qmqm.pl> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <63121e624012996a2f6f5f3763270ad834667a12.1594231056.git.mirq-linux@rere.qmqm.pl> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200715_175806_581953_32BF5FEC X-CRM114-Status: GOOD ( 15.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Felipe Balbi , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Ludovic Desroches , linux-arm-kernel@lists.infradead.org, Songjun Wu , Cristian Birsan Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMDgvMDcvMjAyMCAyMDowNDoxMCswMjAwLCBNaWNoYcWCIE1pcm9zxYJhdyB3cm90ZToKPiBJ bXBsZW1lbnQgdWRjLT5wdWxsdXAgY2FsbGJhY2ssIHNvIHRoYXQgdWRjX2Nvbm5lY3QvZGlzY29u bmVjdCB3b3JrLgo+IFRoaXMgaXMgbmVlZGVkIGZvciBjb21wb3NpdGUgZ2FkZ2V0LCBhcyBpdCBh c3N1bWVzIHVkY19kaXNjb25uZWN0KCkKPiBhY3R1YWxseSB3b3JrcyBhbmQgY2FsbHMgaXRzIC0+ ZGlzY29ubmVjdCBjYWxsYmFjay4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNaWNoYcWCIE1pcm9zxYJh dyA8bWlycS1saW51eEByZXJlLnFtcW0ucGw+CkFja2VkLWJ5OiBBbGV4YW5kcmUgQmVsbG9uaSA8 YWxleGFuZHJlLmJlbGxvbmlAYm9vdGxpbi5jb20+Cgo+IC0tLQo+ICBkcml2ZXJzL3VzYi9nYWRn ZXQvdWRjL2F0bWVsX3VzYmFfdWRjLmMgfCAyMCArKysrKysrKysrKysrKysrKysrKwo+ICAxIGZp bGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Vz Yi9nYWRnZXQvdWRjL2F0bWVsX3VzYmFfdWRjLmMgYi9kcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2F0 bWVsX3VzYmFfdWRjLmMKPiBpbmRleCA5MzQyYTNkMjQ5NjMuLmM1MTI4YzIyOWM1MiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL3VzYi9nYWRnZXQvdWRjL2F0bWVsX3VzYmFfdWRjLmMKPiArKysgYi9k cml2ZXJzL3VzYi9nYWRnZXQvdWRjL2F0bWVsX3VzYmFfdWRjLmMKPiBAQCAtMTAyOCw2ICsxMDI4 LDcgQEAgdXNiYV91ZGNfc2V0X3NlbGZwb3dlcmVkKHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQs IGludCBpc19zZWxmcG93ZXJlZCkKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgaW50 IGF0bWVsX3VzYmFfcHVsbHVwKHN0cnVjdCB1c2JfZ2FkZ2V0ICpnYWRnZXQsIGludCBpc19vbik7 Cj4gIHN0YXRpYyBpbnQgYXRtZWxfdXNiYV9zdGFydChzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0 LAo+ICAJCXN0cnVjdCB1c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKTsKPiAgc3RhdGljIGludCBh dG1lbF91c2JhX3N0b3Aoc3RydWN0IHVzYl9nYWRnZXQgKmdhZGdldCk7Cj4gQEAgLTExMDEsNiAr MTEwMiw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdXNiX2dhZGdldF9vcHMgdXNiYV91ZGNfb3Bz ID0gewo+ICAJLmdldF9mcmFtZQkJPSB1c2JhX3VkY19nZXRfZnJhbWUsCj4gIAkud2FrZXVwCQkJ PSB1c2JhX3VkY193YWtldXAsCj4gIAkuc2V0X3NlbGZwb3dlcmVkCT0gdXNiYV91ZGNfc2V0X3Nl bGZwb3dlcmVkLAo+ICsJLnB1bGx1cAkJCT0gYXRtZWxfdXNiYV9wdWxsdXAsCj4gIAkudWRjX3N0 YXJ0CQk9IGF0bWVsX3VzYmFfc3RhcnQsCj4gIAkudWRjX3N0b3AJCT0gYXRtZWxfdXNiYV9zdG9w LAo+ICAJLm1hdGNoX2VwCQk9IGF0bWVsX3VzYmFfbWF0Y2hfZXAsCj4gQEAgLTE5NTcsNiArMTk1 OSwyNCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgdXNiYV92YnVzX2lycV90aHJlYWQoaW50IGlycSwg dm9pZCAqZGV2aWQpCj4gIAlyZXR1cm4gSVJRX0hBTkRMRUQ7Cj4gIH0KPiAgCj4gK3N0YXRpYyBp bnQgYXRtZWxfdXNiYV9wdWxsdXAoc3RydWN0IHVzYl9nYWRnZXQgKmdhZGdldCwgaW50IGlzX29u KQo+ICt7Cj4gKwlzdHJ1Y3QgdXNiYV91ZGMgKnVkYyA9IGNvbnRhaW5lcl9vZihnYWRnZXQsIHN0 cnVjdCB1c2JhX3VkYywgZ2FkZ2V0KTsKPiArCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4gKwl1MzIg Y3RybDsKPiArCj4gKwlzcGluX2xvY2tfaXJxc2F2ZSgmdWRjLT5sb2NrLCBmbGFncyk7Cj4gKwlj dHJsID0gdXNiYV9yZWFkbCh1ZGMsIENUUkwpOwo+ICsJaWYgKGlzX29uKQo+ICsJCWN0cmwgJj0g flVTQkFfREVUQUNIOwo+ICsJZWxzZQo+ICsJCWN0cmwgfD0gVVNCQV9ERVRBQ0g7Cj4gKwl1c2Jh X3dyaXRlbCh1ZGMsIENUUkwsIGN0cmwpOwo+ICsJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdWRj LT5sb2NrLCBmbGFncyk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQg YXRtZWxfdXNiYV9zdGFydChzdHJ1Y3QgdXNiX2dhZGdldCAqZ2FkZ2V0LAo+ICAJCXN0cnVjdCB1 c2JfZ2FkZ2V0X2RyaXZlciAqZHJpdmVyKQo+ICB7Cj4gLS0gCj4gMi4yMC4xCj4gCgotLSAKQWxl eGFuZHJlIEJlbGxvbmksIEJvb3RsaW4KRW1iZWRkZWQgTGludXggYW5kIEtlcm5lbCBlbmdpbmVl cmluZwpodHRwczovL2Jvb3RsaW4uY29tCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==