[PATCH 35/41] usb: eth: msc7830: Remove non-DM_ETH code
Tom Rini
trini at konsulko.com
Sun Nov 27 16:25:30 CET 2022
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 <trini at konsulko.com>
---
drivers/usb/eth/mcs7830.c | 276 --------------------------------------
1 file changed, 276 deletions(-)
diff --git a/drivers/usb/eth/mcs7830.c b/drivers/usb/eth/mcs7830.c
index 783ab62f6b7a..8a256b3e3469 100644
--- a/drivers/usb/eth/mcs7830.c
+++ b/drivers/usb/eth/mcs7830.c
@@ -86,10 +86,8 @@ struct mcs7830_regs {
* @mchash: shadow for the network adapter's multicast hash registers
*/
struct mcs7830_private {
-#ifdef CONFIG_DM_ETH
uint8_t rx_buf[MCS7830_RX_URB_SIZE];
struct ueth_data ueth;
-#endif
uint8_t config;
uint8_t mchash[8];
};
@@ -575,279 +573,6 @@ static int mcs7830_recv_common(struct ueth_data *ueth, uint8_t *buf)
return -EIO;
}
-#ifndef CONFIG_DM_ETH
-/*
- * mcs7830_init() - network interface's init callback
- * @udev: network device to initialize
- * @bd: board information
- * Return: zero upon success, negative upon error
- *
- * after initial setup during probe() and get_info(), this init() callback
- * ensures that the link is up and subsequent send() and recv() calls can
- * exchange ethernet frames
- */
-static int mcs7830_init(struct eth_device *eth, struct bd_info *bd)
-{
- struct ueth_data *dev = eth->priv;
-
- return mcs7830_init_common(dev->pusb_dev);
-}
-
-/*
- * mcs7830_send() - network interface's send callback
- * @eth: network device to send the frame from
- * @packet: ethernet frame content
- * @length: ethernet frame length
- * Return: zero upon success, negative upon error
- *
- * this routine send an ethernet frame out of the network interface
- */
-static int mcs7830_send(struct eth_device *eth, void *packet, int length)
-{
- struct ueth_data *dev = eth->priv;
-
- return mcs7830_send_common(dev, packet, length);
-}
-
-/*
- * mcs7830_recv() - network interface's recv callback
- * @eth: network device to receive frames from
- * Return: zero upon success, negative upon error
- *
- * this routine checks for available ethernet frames that the network
- * interface might have received, and notifies the network stack
- */
-static int mcs7830_recv(struct eth_device *eth)
-{
- ALLOC_CACHE_ALIGN_BUFFER(uint8_t, buf, MCS7830_RX_URB_SIZE);
- struct ueth_data *ueth = eth->priv;
- int len;
-
- len = mcs7830_recv_common(ueth, buf);
- if (len >= 0) {
- net_process_received_packet(buf, len);
- return 0;
- }
-
- return len;
-}
-
-/*
- * mcs7830_halt() - network interface's halt callback
- * @eth: network device to cease operation of
- * Return: none
- *
- * this routine is supposed to undo the effect of previous initialization and
- * ethernet frames exchange; in this implementation it's a NOP
- */
-static void mcs7830_halt(struct eth_device *eth)
-{
- debug("%s()\n", __func__);
-}
-
-/*
- * mcs7830_write_mac() - write an ethernet adapter's MAC address
- * @eth: network device to write to
- * Return: zero upon success, negative upon error
- *
- * this routine takes the MAC address from the ethernet interface's data
- * structure, and writes it into the ethernet adapter such that subsequent
- * exchange of ethernet frames uses this address
- */
-static int mcs7830_write_mac(struct eth_device *eth)
-{
- struct ueth_data *ueth = eth->priv;
-
- return mcs7830_write_mac_common(ueth->pusb_dev, eth->enetaddr);
-}
-
-/*
- * mcs7830_iface_idx - index of detected network interfaces
- *
- * this counter keeps track of identified supported interfaces,
- * to assign unique names as more interfaces are found
- */
-static int mcs7830_iface_idx;
-
-/*
- * mcs7830_eth_before_probe() - network driver's before_probe callback
- * Return: none
- *
- * this routine initializes driver's internal data in preparation of
- * subsequent probe callbacks
- */
-void mcs7830_eth_before_probe(void)
-{
- mcs7830_iface_idx = 0;
-}
-
-/*
- * struct mcs7830_dongle - description of a supported Moschip ethernet dongle
- * @vendor: 16bit USB vendor identification
- * @product: 16bit USB product identification
- *
- * this structure describes a supported USB ethernet dongle by means of the
- * vendor and product codes found during USB enumeration; no flags are held
- * here since all supported dongles have identical behaviour, and required
- * fixups get determined at runtime, such that no manual configuration is
- * needed
- */
-struct mcs7830_dongle {
- uint16_t vendor;
- uint16_t product;
-};
-
-/*
- * mcs7830_dongles - the list of supported Moschip based USB ethernet dongles
- */
-static const struct mcs7830_dongle mcs7830_dongles[] = {
- { 0x9710, 0x7832, }, /* Moschip 7832 */
- { 0x9710, 0x7830, }, /* Moschip 7830 */
- { 0x9710, 0x7730, }, /* Moschip 7730 */
- { 0x0df6, 0x0021, }, /* Sitecom LN 30 */
-};
-
-/*
- * mcs7830_eth_probe() - network driver's probe callback
- * @dev: detected USB device to check
- * @ifnum: detected USB interface to check
- * @ss: USB ethernet data structure to fill in upon match
- * Return: #1 upon match, #0 upon mismatch or error
- *
- * this routine checks whether the found USB device is supported by
- * this ethernet driver, and upon match fills in the USB ethernet
- * data structure which later is passed to the get_info callback
- */
-int mcs7830_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;
- struct mcs7830_private *priv;
- int ep_in_found, ep_out_found, ep_intr_found;
-
- debug("%s()\n", __func__);
-
- /* iterate the list of supported dongles */
- iface = &dev->config.if_desc[ifnum];
- iface_desc = &iface->desc;
- for (i = 0; i < ARRAY_SIZE(mcs7830_dongles); i++) {
- if (dev->descriptor.idVendor == mcs7830_dongles[i].vendor &&
- dev->descriptor.idProduct == mcs7830_dongles[i].product)
- break;
- }
- if (i == ARRAY_SIZE(mcs7830_dongles))
- return 0;
- debug("detected USB ethernet device: %04X:%04X\n",
- dev->descriptor.idVendor, dev->descriptor.idProduct);
-
- /* fill in driver private data */
- priv = calloc(1, sizeof(*priv));
- if (!priv)
- return 0;
-
- /* fill in the ueth_data structure, attach private data */
- memset(ss, 0, sizeof(*ss));
- ss->ifnum = ifnum;
- ss->pusb_dev = dev;
- ss->subclass = iface_desc->bInterfaceSubClass;
- ss->protocol = iface_desc->bInterfaceProtocol;
- ss->dev_priv = priv;
-
- /*
- * a minimum of three endpoints is expected: in (bulk),
- * out (bulk), and interrupt; ignore all others
- */
- ep_in_found = ep_out_found = ep_intr_found = 0;
- for (i = 0; i < iface_desc->bNumEndpoints; i++) {
- uint8_t eptype, epaddr;
- bool is_input;
-
- eptype = iface->ep_desc[i].bmAttributes;
- eptype &= USB_ENDPOINT_XFERTYPE_MASK;
-
- epaddr = iface->ep_desc[i].bEndpointAddress;
- is_input = epaddr & USB_DIR_IN;
- epaddr &= USB_ENDPOINT_NUMBER_MASK;
-
- if (eptype == USB_ENDPOINT_XFER_BULK) {
- if (is_input && !ep_in_found) {
- ss->ep_in = epaddr;
- ep_in_found++;
- }
- if (!is_input && !ep_out_found) {
- ss->ep_out = epaddr;
- ep_out_found++;
- }
- }
-
- if (eptype == USB_ENDPOINT_XFER_INT) {
- if (is_input && !ep_intr_found) {
- ss->ep_int = epaddr;
- ss->irqinterval = iface->ep_desc[i].bInterval;
- ep_intr_found++;
- }
- }
- }
- debug("endpoints: in %d, out %d, intr %d\n",
- ss->ep_in, ss->ep_out, ss->ep_int);
-
- /* apply basic sanity checks */
- if (usb_set_interface(dev, iface_desc->bInterfaceNumber, 0) ||
- !ss->ep_in || !ss->ep_out || !ss->ep_int) {
- debug("device probe incomplete\n");
- return 0;
- }
-
- dev->privptr = ss;
- return 1;
-}
-
-/*
- * mcs7830_eth_get_info() - network driver's get_info callback
- * @dev: detected USB device
- * @ss: USB ethernet data structure filled in at probe()
- * @eth: ethernet interface data structure to fill in
- * Return: #1 upon success, #0 upon error
- *
- * this routine registers the mandatory init(), send(), recv(), and
- * halt() callbacks with the ethernet interface, can register the
- * optional write_hwaddr() callback with the ethernet interface,
- * and initiates configuration of the interface such that subsequent
- * calls to those callbacks results in network communication
- */
-int mcs7830_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;
- }
-
- snprintf(eth->name, sizeof(eth->name), "%s%d",
- MCS7830_BASE_NAME, mcs7830_iface_idx++);
- eth->init = mcs7830_init;
- eth->send = mcs7830_send;
- eth->recv = mcs7830_recv;
- eth->halt = mcs7830_halt;
- eth->write_hwaddr = mcs7830_write_mac;
- eth->priv = ss;
-
- if (mcs7830_basic_reset(ss->pusb_dev, ss->dev_priv))
- return 0;
-
- if (mcs7830_read_mac(ss->pusb_dev, eth->enetaddr))
- return 0;
- debug("MAC %pM\n", eth->enetaddr);
-
- return 1;
-}
-#endif
-
-
-#ifdef CONFIG_DM_ETH
static int mcs7830_eth_start(struct udevice *dev)
{
struct usb_device *udev = dev_get_parent_priv(dev);
@@ -942,4 +667,3 @@ static const struct usb_device_id mcs7830_eth_id_table[] = {
};
U_BOOT_USB_DEVICE(mcs7830_eth, mcs7830_eth_id_table);
-#endif
--
2.25.1
More information about the U-Boot
mailing list