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 A392BC43217 for ; Sun, 27 Nov 2022 15:31:47 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 93BEA85275; Sun, 27 Nov 2022 16:27:22 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="ZUijQDki"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8D81984F03; Sun, 27 Nov 2022 16:26:22 +0100 (CET) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 79D7E850C8 for ; Sun, 27 Nov 2022 16:26:19 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-ej1-x62d.google.com with SMTP id gu23so2138374ejb.10 for ; Sun, 27 Nov 2022 07:26:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=lhDj7k9YFwMXeNgUJwa/5in/UvB4Fxli+Mc/fUjie0k=; b=ZUijQDkiyG5jKRMn4WBO2/R/L/t0KpfyiN0ZBVn42yDFqJGh6OpiK6clNN45xp6gTm DsziHoD5tdRADCAUWN8f3jwSjw0hU3hzbKhEepgrJOovMElC9BE2yVF0WIvkONucDCgn es/JjBzbiHazGRTt9bfvShbk2eK1o91Azr7JY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lhDj7k9YFwMXeNgUJwa/5in/UvB4Fxli+Mc/fUjie0k=; b=NunHfPNyoUXcaynsnxsTIG5gtPXGA3RMghDcQvVEKR5DeZCrv69y3rOWbSXCuRUMcK LqsX3LV8Bhh8tvwmL2CS0jswob5mVpkLLBeJbGkz5i/uAz/Hj+PxVS7+UyRwAw4c68Gt HQ3EYQImoozCCDsixCmPF7JMgR1tOrBtyoVn1r1tktw00gtbvYEgLnl/ONjTA5aAeTBc +hZ32s41eV+d9U38R6JZGo18IEhDU7ldk3zqKjiSc5u7i+uSJDMeJg51iR5fTwoqXsYl s+BA5jBeYK/PuHI/MnIvQJ/Zzf2/8kMCxoZ3BArVOflplz1vH8ywN8S9ote2VoMB6GJ+ Oycw== X-Gm-Message-State: ANoB5pnYN62FrJsXzs3WNlli85Lmk45ehZNXhBJ+uk3ZRpqRANWSeeGc iFM2i1jBv4j0ZZACd4rr1yN92ymmfYO3AA== X-Google-Smtp-Source: AA0mqf5ATKZMiYColfFVzUuJsoce0GfV9UNETijA3dwjcz66Q/Q2qFbnTsMM4DWG7V1byVQu8snvLg== X-Received: by 2002:a17:906:a156:b0:78d:9b8b:93cc with SMTP id bu22-20020a170906a15600b0078d9b8b93ccmr40655217ejb.529.1669562778898; Sun, 27 Nov 2022 07:26:18 -0800 (PST) Received: from bill-the-cat.lan (2603-6081-7b00-6400-dc2c-1c0a-ea3e-04dc.res6.spectrum.com. [2603:6081:7b00:6400:dc2c:1c0a:ea3e:4dc]) by smtp.gmail.com with ESMTPSA id tb6-20020a1709078b8600b007b47749838asm3853036ejc.45.2022.11.27.07.26.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 07:26:18 -0800 (PST) From: Tom Rini To: u-boot@lists.denx.de Subject: [PATCH 37/41] usb: eth: smsc95xx: Remove non-DM_ETH code Date: Sun, 27 Nov 2022 10:25:32 -0500 Message-Id: <20221127152536.1556469-37-trini@konsulko.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221127152536.1556469-1-trini@konsulko.com> References: <20221119234545.404563-38-trini@konsulko.com> <20221127152536.1556469-1-trini@konsulko.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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.6 at phobos.denx.de X-Virus-Status: Clean As DM_ETH is required for all network drivers, it's now safe to remove the non-DM_ETH support code. Signed-off-by: Tom Rini --- drivers/usb/eth/smsc95xx.c | 234 ------------------------------------- 1 file changed, 234 deletions(-) diff --git a/drivers/usb/eth/smsc95xx.c b/drivers/usb/eth/smsc95xx.c index 283c52c16ac6..de6586e62639 100644 --- a/drivers/usb/eth/smsc95xx.c +++ b/drivers/usb/eth/smsc95xx.c @@ -143,16 +143,9 @@ #define TURBO_MODE -#ifndef CONFIG_DM_ETH -/* local vars */ -static int curr_eth_dev; /* index for name of next device detected */ -#endif - /* driver private */ struct smsc95xx_private { -#ifdef CONFIG_DM_ETH struct ueth_data ueth; -#endif size_t rx_urb_size; /* maximum USB URB size */ u32 mac_cr; /* MAC control register value */ int have_hwaddr; /* 1 if we have a hardware MAC address */ @@ -521,11 +514,6 @@ static int smsc95xx_init_common(struct usb_device *udev, struct ueth_data *dev, debug("timeout waiting for PHY Reset\n"); return -ETIMEDOUT; } -#ifndef CONFIG_DM_ETH - if (!priv->have_hwaddr && smsc95xx_init_mac_address(enetaddr, udev) == - 0) - priv->have_hwaddr = 1; -#endif if (!priv->have_hwaddr) { puts("Error: SMSC95xx: No MAC address set - set usbethaddr\n"); return -EADDRNOTAVAIL; @@ -712,227 +700,6 @@ static int smsc95xx_send_common(struct ueth_data *dev, void *packet, int length) return err; } -#ifndef CONFIG_DM_ETH -/* - * Smsc95xx callbacks - */ -static int smsc95xx_init(struct eth_device *eth, struct bd_info *bd) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - struct usb_device *udev = dev->pusb_dev; - struct smsc95xx_private *priv = - (struct smsc95xx_private *)dev->dev_priv; - - return smsc95xx_init_common(udev, dev, priv, eth->enetaddr); -} - -static int smsc95xx_send(struct eth_device *eth, void *packet, int length) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - - return smsc95xx_send_common(dev, packet, length); -} - -static int smsc95xx_recv(struct eth_device *eth) -{ - struct ueth_data *dev = (struct ueth_data *)eth->priv; - DEFINE_CACHE_ALIGN_BUFFER(unsigned char, recv_buf, RX_URB_SIZE); - unsigned char *buf_ptr; - int err; - int actual_len; - u32 packet_len; - int cur_buf_align; - - debug("** %s()\n", __func__); - err = usb_bulk_msg(dev->pusb_dev, - usb_rcvbulkpipe(dev->pusb_dev, dev->ep_in), - (void *)recv_buf, RX_URB_SIZE, &actual_len, - USB_BULK_RECV_TIMEOUT); - debug("Rx: len = %u, actual = %u, err = %d\n", RX_URB_SIZE, - actual_len, err); - if (err != 0) { - debug("Rx: failed to receive\n"); - return -err; - } - if (actual_len > RX_URB_SIZE) { - debug("Rx: received too many bytes %d\n", actual_len); - return -ENOSPC; - } - - buf_ptr = recv_buf; - while (actual_len > 0) { - /* - * 1st 4 bytes contain the length of the actual data plus error - * info. Extract data length. - */ - if (actual_len < sizeof(packet_len)) { - debug("Rx: incomplete packet length\n"); - return -EIO; - } - memcpy(&packet_len, buf_ptr, sizeof(packet_len)); - le32_to_cpus(&packet_len); - if (packet_len & RX_STS_ES_) { - debug("Rx: Error header=%#x", packet_len); - return -EIO; - } - packet_len = ((packet_len & RX_STS_FL_) >> 16); - - if (packet_len > actual_len - sizeof(packet_len)) { - debug("Rx: too large packet: %d\n", packet_len); - return -EIO; - } - - /* Notify net stack */ - net_process_received_packet(buf_ptr + sizeof(packet_len), - packet_len - 4); - - /* Adjust for next iteration */ - actual_len -= sizeof(packet_len) + packet_len; - buf_ptr += sizeof(packet_len) + packet_len; - cur_buf_align = (ulong)buf_ptr - (ulong)recv_buf; - - if (cur_buf_align & 0x03) { - int align = 4 - (cur_buf_align & 0x03); - - actual_len -= align; - buf_ptr += align; - } - } - return err; -} - -static void smsc95xx_halt(struct eth_device *eth) -{ - debug("** %s()\n", __func__); -} - -static int smsc95xx_write_hwaddr(struct eth_device *eth) -{ - struct ueth_data *dev = eth->priv; - struct usb_device *udev = dev->pusb_dev; - struct smsc95xx_private *priv = dev->dev_priv; - - return smsc95xx_write_hwaddr_common(udev, priv, eth->enetaddr); -} - -/* - * SMSC probing functions - */ -void smsc95xx_eth_before_probe(void) -{ - curr_eth_dev = 0; -} - -struct smsc95xx_dongle { - unsigned short vendor; - unsigned short product; -}; - -static const struct smsc95xx_dongle smsc95xx_dongles[] = { - { 0x0424, 0xec00 }, /* LAN9512/LAN9514 Ethernet */ - { 0x0424, 0x9500 }, /* LAN9500 Ethernet */ - { 0x0424, 0x9730 }, /* LAN9730 Ethernet (HSIC) */ - { 0x0424, 0x9900 }, /* SMSC9500 USB Ethernet Device (SAL10) */ - { 0x0424, 0x9e00 }, /* LAN9500A Ethernet */ - { 0x0000, 0x0000 } /* END - Do not remove */ -}; - -/* Probe to see if a new device is actually an SMSC device */ -int smsc95xx_eth_probe(struct usb_device *dev, unsigned int ifnum, - struct ueth_data *ss) -{ - struct usb_interface *iface; - struct usb_interface_descriptor *iface_desc; - int i; - - /* let's examine the device now */ - iface = &dev->config.if_desc[ifnum]; - iface_desc = &dev->config.if_desc[ifnum].desc; - - for (i = 0; smsc95xx_dongles[i].vendor != 0; i++) { - if (dev->descriptor.idVendor == smsc95xx_dongles[i].vendor && - dev->descriptor.idProduct == smsc95xx_dongles[i].product) - /* Found a supported dongle */ - break; - } - if (smsc95xx_dongles[i].vendor == 0) - return 0; - - /* At this point, we know we've got a live one */ - debug("\n\nUSB Ethernet device detected\n"); - memset(ss, '\0', sizeof(struct ueth_data)); - - /* Initialize the ueth_data structure with some useful info */ - ss->ifnum = ifnum; - ss->pusb_dev = dev; - ss->subclass = iface_desc->bInterfaceSubClass; - ss->protocol = iface_desc->bInterfaceProtocol; - - /* - * We are expecting a minimum of 3 endpoints - in, out (bulk), and int. - * We will ignore any others. - */ - for (i = 0; i < iface_desc->bNumEndpoints; i++) { - /* is it an BULK endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_BULK) { - if (iface->ep_desc[i].bEndpointAddress & USB_DIR_IN) - ss->ep_in = - iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - else - ss->ep_out = - iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - } - - /* is it an interrupt endpoint? */ - if ((iface->ep_desc[i].bmAttributes & - USB_ENDPOINT_XFERTYPE_MASK) == USB_ENDPOINT_XFER_INT) { - ss->ep_int = iface->ep_desc[i].bEndpointAddress & - USB_ENDPOINT_NUMBER_MASK; - ss->irqinterval = iface->ep_desc[i].bInterval; - } - } - debug("Endpoints In %d Out %d Int %d\n", - ss->ep_in, ss->ep_out, ss->ep_int); - - /* Do some basic sanity checks, and bail if we find a problem */ - if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) || - !ss->ep_in || !ss->ep_out || !ss->ep_int) { - debug("Problems with device\n"); - return 0; - } - dev->privptr = (void *)ss; - - /* alloc driver private */ - ss->dev_priv = calloc(1, sizeof(struct smsc95xx_private)); - if (!ss->dev_priv) - return 0; - - return 1; -} - -int smsc95xx_eth_get_info(struct usb_device *dev, struct ueth_data *ss, - struct eth_device *eth) -{ - debug("** %s()\n", __func__); - if (!eth) { - debug("%s: missing parameter.\n", __func__); - return 0; - } - sprintf(eth->name, "%s%d", SMSC95XX_BASE_NAME, curr_eth_dev++); - eth->init = smsc95xx_init; - eth->send = smsc95xx_send; - eth->recv = smsc95xx_recv; - eth->halt = smsc95xx_halt; - eth->write_hwaddr = smsc95xx_write_hwaddr; - eth->priv = ss; - return 1; -} -#endif /* !CONFIG_DM_ETH */ - -#ifdef CONFIG_DM_ETH static int smsc95xx_eth_start(struct udevice *dev) { struct usb_device *udev = dev_get_parent_priv(dev); @@ -1077,4 +844,3 @@ static const struct usb_device_id smsc95xx_eth_id_table[] = { }; U_BOOT_USB_DEVICE(smsc95xx_eth, smsc95xx_eth_id_table); -#endif -- 2.25.1