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 Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 49B50C0015E for ; Tue, 25 Jul 2023 16:17:36 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 61E54866C1; Tue, 25 Jul 2023 18:17:34 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1690301854; bh=3F1LKA+kg2t1lhI3yIsIrIsFACf6f+aAnYwbBKfWamY=; h=Date:Subject:To:Cc:References:From:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=VB2YdT6iVOZmNiwQ5ZQrNI0HlLbGm8dEyUx8n5egJp5YAKKxzD5Kc22Ul071n1u+q HaoZwi/cXMf/WqgKgcxAepaVAO3DlFV5Ih0UaOE1SoUkWGVXFIgXWxyzUONfR4zpjJ VdVL26dTEcFr2JHc+oHdIVzjBOEJa9gQ+dy5gqeI78VQM80gzRvMtqRfBJIJlKBOih rD1ZvbdQSz3xmx2tMZg6IRgLUXLkQq/89ZN6qJF3rt18PtnjC7yl79r8DiWgIZQ5W6 wtU7KOlRf1ZHTX+HzHl8/12xspkxNE7OS82IesEIyXIQ/lZSfrubcsJmUA4ZRsRogj XzUk1BCQxOgxw== Received: from [127.0.0.1] (unknown [62.91.23.180]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 2809D86380; Tue, 25 Jul 2023 18:17:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1690301852; bh=3F1LKA+kg2t1lhI3yIsIrIsFACf6f+aAnYwbBKfWamY=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=nupUnNcEpuO/IQUEdZ0w+guGqQ4+6csE+AKgeRbNxaptYmiHEAWn8wZbWdyNE+Db2 /GwNqND5otYkkG2tYH/eY1b0uUqFpMyNoBSFNOqx5JLGS6UksVVFVTbhVPMMUgVa2+ yntFqfpK6kCWT5HRWf87F5Tc0T/p8r9D/ZGtGH2/A+zcMHL1mcfD4p770vEiMrJ0BQ sloxXImsPIX9G4GPvly+RobcJ+CXmLvI3I8cPpHfLfazArwl7jzeHeFyqXIJu3coP+ pBmnjGY8cYfisYKnU1i3Y2pHlN0K/TdwbOZS2NCH+kO/TQf5465EAa7ObkTYPNIeMJ DAtN29W4nAGZw== Message-ID: <07923951-82ab-e9db-263f-bee516ece000@denx.de> Date: Tue, 25 Jul 2023 18:17:31 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v5 2/3] usb: ohci-at91: Enable OHCI functionality and register into DM Content-Language: en-US To: Eugen Hristev Cc: u-boot@lists.denx.de, mihai.sain@microchip.com, Sergiu Moga References: <20230725154317.663337-1-eugen.hristev@collabora.com> <20230725154317.663337-2-eugen.hristev@collabora.com> From: Marek Vasut In-Reply-To: <20230725154317.663337-2-eugen.hristev@collabora.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean On 7/25/23 17:43, Eugen Hristev wrote: [...] > +static int ohci_atmel_probe(struct udevice *dev) > +{ > + struct ohci_at91_priv *ohci_at91 = dev_get_priv(dev); > + struct at91_usbh_data *pdata = dev_get_plat(dev); > + struct ohci_regs *regs; > + int ret; > + u32 i; > + > + regs = (struct ohci_regs *)dev_read_addr(dev); > + if (IS_ERR(regs)) { > + ret = PTR_ERR(regs); > + goto fail; > + } > + > + pdata->ports = dev_read_u32_default(dev, "num-ports", 3); > + > + at91_for_each_port(i, pdata->ports) > + gpio_request_by_name(dev, "atmel,vbus-gpio", i, > + &pdata->vbus_pin[i], GPIOD_IS_OUT | > + GPIOD_IS_OUT_ACTIVE); > + > + ret = clk_get_bulk(dev, &ohci_at91->clks); If this fails, and ohci_at91->clks is not populated ... > + if (ret) > + goto fail; > + > + ret = clk_enable_bulk(&ohci_at91->clks); > + if (ret) > + goto fail; > + > + ret = at91_start_hc(dev); > + if (ret) > + goto fail; > + > + return ohci_register(dev, regs); > + > +fail: > + at91_for_each_port(i, pdata->ports) > + if (dm_gpio_is_valid(&pdata->vbus_pin[i])) > + gpio_free(pdata->vbus_pin[i].offset); > + > + clk_disable_bulk(&ohci_at91->clks); ... then this clk_disable_bulk() would likely misbehave, right ?