iPXE
Data Structures | Macros | Functions | Variables
smsc75xx.h File Reference

SMSC LAN75xx USB Ethernet driver. More...

#include "smscusb.h"

Go to the source code of this file.

Data Structures

struct  smsc75xx_rx_header
 Receive packet header. More...
 
struct  smsc75xx_tx_header
 Transmit packet header. More...
 
struct  smsc75xx_byte_statistics
 Byte count statistics. More...
 
struct  smsc75xx_frame_statistics
 Frame count statistics. More...
 
struct  smsc75xx_rx_error_statistics
 Receive error statistics. More...
 
struct  smsc75xx_rx_statistics
 Receive statistics. More...
 
struct  smsc75xx_tx_error_statistics
 Transmit error statistics. More...
 
struct  smsc75xx_tx_statistics
 Transmit statistics. More...
 
struct  smsc75xx_statistics
 Statistics. More...
 

Macros

#define SMSC75XX_INT_STS   0x00c
 Interrupt status register. More...
 
#define SMSC75XX_INT_STS_RDFO_INT   0x00400000UL
 RX FIFO overflow. More...
 
#define SMSC75XX_INT_STS_PHY_INT   0x00020000UL
 PHY interrupt. More...
 
#define SMSC75XX_HW_CFG   0x010
 Hardware configuration register. More...
 
#define SMSC75XX_HW_CFG_BIR   0x00000080UL
 Bulk IN use NAK. More...
 
#define SMSC75XX_HW_CFG_LRST   0x00000002UL
 Soft lite reset. More...
 
#define SMSC75XX_INT_EP_CTL   0x038
 Interrupt endpoint control register. More...
 
#define SMSC75XX_INT_EP_CTL_RDFO_EN   0x00400000UL
 RX FIFO overflow. More...
 
#define SMSC75XX_INT_EP_CTL_PHY_EN   0x00020000UL
 PHY interrupt. More...
 
#define SMSC75XX_BULK_IN_DLY   0x03c
 Bulk IN delay register. More...
 
#define SMSC75XX_BULK_IN_DLY_SET(ticks)   ( (ticks) << 0 )
 Delay / 16.7ns. More...
 
#define SMSC75XX_E2P_BASE   0x040
 EEPROM register base. More...
 
#define SMSC75XX_RFE_CTL   0x060
 Receive filtering engine control register. More...
 
#define SMSC75XX_RFE_CTL_AB   0x00000400UL
 Accept broadcast. More...
 
#define SMSC75XX_RFE_CTL_AM   0x00000200UL
 Accept multicast. More...
 
#define SMSC75XX_RFE_CTL_AU   0x00000100UL
 Accept unicast. More...
 
#define SMSC75XX_FCT_RX_CTL   0x090
 FIFO controller RX FIFO control register. More...
 
#define SMSC75XX_FCT_RX_CTL_EN   0x80000000UL
 FCT RX enable. More...
 
#define SMSC75XX_FCT_RX_CTL_BAD   0x02000000UL
 Store bad frames. More...
 
#define SMSC75XX_FCT_TX_CTL   0x094
 FIFO controller TX FIFO control register. More...
 
#define SMSC75XX_FCT_TX_CTL_EN   0x80000000UL
 FCT TX enable. More...
 
#define SMSC75XX_MAC_RX   0x104
 MAC receive register. More...
 
#define SMSC75XX_MAC_RX_MAX_SIZE(mtu)   ( (mtu) << 16 )
 Max frame size. More...
 
#define SMSC75XX_MAC_RX_MAX_SIZE_DEFAULT   SMSC75XX_MAC_RX_MAX_SIZE ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* CRC */ )
 
#define SMSC75XX_MAC_RX_FCS   0x00000010UL
 FCS stripping. More...
 
#define SMSC75XX_MAC_RX_EN   0x00000001UL
 RX enable. More...
 
#define SMSC75XX_MAC_TX   0x108
 MAC transmit register. More...
 
#define SMSC75XX_MAC_TX_EN   0x00000001UL
 TX enable. More...
 
#define SMSC75XX_RX_ADDR_BASE   0x118
 MAC receive address register base. More...
 
#define SMSC75XX_MII_BASE   0x120
 MII register base. More...
 
#define SMSC75XX_MII_PHY_INTR_SOURCE   29
 PHY interrupt source MII register. More...
 
#define SMSC75XX_MII_PHY_INTR_MASK   30
 PHY interrupt mask MII register. More...
 
#define SMSC75XX_PHY_INTR_ANEG_DONE   0x0040
 PHY interrupt: auto-negotiation complete. More...
 
#define SMSC75XX_PHY_INTR_LINK_DOWN   0x0010
 PHY interrupt: link down. More...
 
#define SMSC75XX_ADDR_FILT_BASE   0x300
 MAC address perfect filter register base. More...
 
#define SMSC75XX_RX_RED   0x00400000UL
 Receive error detected. More...
 
#define SMSC75XX_TX_FCS   0x00400000UL
 Insert frame checksum and pad. More...
 
#define SMSC75XX_RESET_MAX_WAIT_MS   100
 Maximum time to wait for reset (in milliseconds) More...
 
#define SMSC75XX_IN_MAX_FILL   8
 Bulk IN maximum fill level. More...
 
#define SMSC75XX_IN_MTU
 Bulk IN buffer size. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
int smsc75xx_dump_statistics (struct smscusb_device *smscusb)
 Dump statistics (for debugging) More...
 
int smsc75xx_transmit (struct net_device *netdev, struct io_buffer *iobuf)
 Transmit packet. More...
 
void smsc75xx_poll (struct net_device *netdev)
 Poll for completed and received packets. More...
 

Variables

struct usb_endpoint_driver_operations smsc75xx_in_operations
 Bulk IN endpoint operations. More...
 

Detailed Description

SMSC LAN75xx USB Ethernet driver.

Definition in file smsc75xx.h.

Macro Definition Documentation

◆ SMSC75XX_INT_STS

#define SMSC75XX_INT_STS   0x00c

Interrupt status register.

Definition at line 15 of file smsc75xx.h.

◆ SMSC75XX_INT_STS_RDFO_INT

#define SMSC75XX_INT_STS_RDFO_INT   0x00400000UL

RX FIFO overflow.

Definition at line 16 of file smsc75xx.h.

◆ SMSC75XX_INT_STS_PHY_INT

#define SMSC75XX_INT_STS_PHY_INT   0x00020000UL

PHY interrupt.

Definition at line 17 of file smsc75xx.h.

◆ SMSC75XX_HW_CFG

#define SMSC75XX_HW_CFG   0x010

Hardware configuration register.

Definition at line 20 of file smsc75xx.h.

◆ SMSC75XX_HW_CFG_BIR

#define SMSC75XX_HW_CFG_BIR   0x00000080UL

Bulk IN use NAK.

Definition at line 21 of file smsc75xx.h.

◆ SMSC75XX_HW_CFG_LRST

#define SMSC75XX_HW_CFG_LRST   0x00000002UL

Soft lite reset.

Definition at line 22 of file smsc75xx.h.

◆ SMSC75XX_INT_EP_CTL

#define SMSC75XX_INT_EP_CTL   0x038

Interrupt endpoint control register.

Definition at line 25 of file smsc75xx.h.

◆ SMSC75XX_INT_EP_CTL_RDFO_EN

#define SMSC75XX_INT_EP_CTL_RDFO_EN   0x00400000UL

RX FIFO overflow.

Definition at line 26 of file smsc75xx.h.

◆ SMSC75XX_INT_EP_CTL_PHY_EN

#define SMSC75XX_INT_EP_CTL_PHY_EN   0x00020000UL

PHY interrupt.

Definition at line 27 of file smsc75xx.h.

◆ SMSC75XX_BULK_IN_DLY

#define SMSC75XX_BULK_IN_DLY   0x03c

Bulk IN delay register.

Definition at line 30 of file smsc75xx.h.

◆ SMSC75XX_BULK_IN_DLY_SET

#define SMSC75XX_BULK_IN_DLY_SET (   ticks)    ( (ticks) << 0 )

Delay / 16.7ns.

Definition at line 31 of file smsc75xx.h.

◆ SMSC75XX_E2P_BASE

#define SMSC75XX_E2P_BASE   0x040

EEPROM register base.

Definition at line 34 of file smsc75xx.h.

◆ SMSC75XX_RFE_CTL

#define SMSC75XX_RFE_CTL   0x060

Receive filtering engine control register.

Definition at line 37 of file smsc75xx.h.

◆ SMSC75XX_RFE_CTL_AB

#define SMSC75XX_RFE_CTL_AB   0x00000400UL

Accept broadcast.

Definition at line 38 of file smsc75xx.h.

◆ SMSC75XX_RFE_CTL_AM

#define SMSC75XX_RFE_CTL_AM   0x00000200UL

Accept multicast.

Definition at line 39 of file smsc75xx.h.

◆ SMSC75XX_RFE_CTL_AU

#define SMSC75XX_RFE_CTL_AU   0x00000100UL

Accept unicast.

Definition at line 40 of file smsc75xx.h.

◆ SMSC75XX_FCT_RX_CTL

#define SMSC75XX_FCT_RX_CTL   0x090

FIFO controller RX FIFO control register.

Definition at line 43 of file smsc75xx.h.

◆ SMSC75XX_FCT_RX_CTL_EN

#define SMSC75XX_FCT_RX_CTL_EN   0x80000000UL

FCT RX enable.

Definition at line 44 of file smsc75xx.h.

◆ SMSC75XX_FCT_RX_CTL_BAD

#define SMSC75XX_FCT_RX_CTL_BAD   0x02000000UL

Store bad frames.

Definition at line 45 of file smsc75xx.h.

◆ SMSC75XX_FCT_TX_CTL

#define SMSC75XX_FCT_TX_CTL   0x094

FIFO controller TX FIFO control register.

Definition at line 48 of file smsc75xx.h.

◆ SMSC75XX_FCT_TX_CTL_EN

#define SMSC75XX_FCT_TX_CTL_EN   0x80000000UL

FCT TX enable.

Definition at line 49 of file smsc75xx.h.

◆ SMSC75XX_MAC_RX

#define SMSC75XX_MAC_RX   0x104

MAC receive register.

Definition at line 52 of file smsc75xx.h.

◆ SMSC75XX_MAC_RX_MAX_SIZE

#define SMSC75XX_MAC_RX_MAX_SIZE (   mtu)    ( (mtu) << 16 )

Max frame size.

Definition at line 53 of file smsc75xx.h.

◆ SMSC75XX_MAC_RX_MAX_SIZE_DEFAULT

#define SMSC75XX_MAC_RX_MAX_SIZE_DEFAULT   SMSC75XX_MAC_RX_MAX_SIZE ( ETH_FRAME_LEN + 4 /* VLAN */ + 4 /* CRC */ )

Definition at line 54 of file smsc75xx.h.

◆ SMSC75XX_MAC_RX_FCS

#define SMSC75XX_MAC_RX_FCS   0x00000010UL

FCS stripping.

Definition at line 56 of file smsc75xx.h.

◆ SMSC75XX_MAC_RX_EN

#define SMSC75XX_MAC_RX_EN   0x00000001UL

RX enable.

Definition at line 57 of file smsc75xx.h.

◆ SMSC75XX_MAC_TX

#define SMSC75XX_MAC_TX   0x108

MAC transmit register.

Definition at line 60 of file smsc75xx.h.

◆ SMSC75XX_MAC_TX_EN

#define SMSC75XX_MAC_TX_EN   0x00000001UL

TX enable.

Definition at line 61 of file smsc75xx.h.

◆ SMSC75XX_RX_ADDR_BASE

#define SMSC75XX_RX_ADDR_BASE   0x118

MAC receive address register base.

Definition at line 64 of file smsc75xx.h.

◆ SMSC75XX_MII_BASE

#define SMSC75XX_MII_BASE   0x120

MII register base.

Definition at line 67 of file smsc75xx.h.

◆ SMSC75XX_MII_PHY_INTR_SOURCE

#define SMSC75XX_MII_PHY_INTR_SOURCE   29

PHY interrupt source MII register.

Definition at line 70 of file smsc75xx.h.

◆ SMSC75XX_MII_PHY_INTR_MASK

#define SMSC75XX_MII_PHY_INTR_MASK   30

PHY interrupt mask MII register.

Definition at line 73 of file smsc75xx.h.

◆ SMSC75XX_PHY_INTR_ANEG_DONE

#define SMSC75XX_PHY_INTR_ANEG_DONE   0x0040

PHY interrupt: auto-negotiation complete.

Definition at line 76 of file smsc75xx.h.

◆ SMSC75XX_PHY_INTR_LINK_DOWN

#define SMSC75XX_PHY_INTR_LINK_DOWN   0x0010

PHY interrupt: link down.

Definition at line 79 of file smsc75xx.h.

◆ SMSC75XX_ADDR_FILT_BASE

#define SMSC75XX_ADDR_FILT_BASE   0x300

MAC address perfect filter register base.

Definition at line 82 of file smsc75xx.h.

◆ SMSC75XX_RX_RED

#define SMSC75XX_RX_RED   0x00400000UL

Receive error detected.

Definition at line 97 of file smsc75xx.h.

◆ SMSC75XX_TX_FCS

#define SMSC75XX_TX_FCS   0x00400000UL

Insert frame checksum and pad.

Definition at line 110 of file smsc75xx.h.

◆ SMSC75XX_RESET_MAX_WAIT_MS

#define SMSC75XX_RESET_MAX_WAIT_MS   100

Maximum time to wait for reset (in milliseconds)

Definition at line 203 of file smsc75xx.h.

◆ SMSC75XX_IN_MAX_FILL

#define SMSC75XX_IN_MAX_FILL   8

Bulk IN maximum fill level.

This is a policy decision.

Definition at line 209 of file smsc75xx.h.

◆ SMSC75XX_IN_MTU

#define SMSC75XX_IN_MTU
Value:
( sizeof ( struct smsc75xx_rx_header ) + \
ETH_FRAME_LEN + 4 /* possible VLAN header */ )
Receive packet header.
Definition: smsc75xx.h:85
#define ETH_FRAME_LEN
Definition: if_ether.h:11

Bulk IN buffer size.

Definition at line 212 of file smsc75xx.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ smsc75xx_dump_statistics()

int smsc75xx_dump_statistics ( struct smscusb_device smscusb)

Dump statistics (for debugging)

Parameters
smscusbSMSC USB device
Return values
rcReturn status code

Definition at line 63 of file smsc75xx.c.

63  {
64  struct smsc75xx_statistics stats;
65  int rc;
66 
67  /* Do nothing unless debugging is enabled */
68  if ( ! DBG_LOG )
69  return 0;
70 
71  /* Get statistics */
72  if ( ( rc = smscusb_get_statistics ( smscusb, 0, &stats,
73  sizeof ( stats ) ) ) != 0 ) {
74  DBGC ( smscusb, "SMSC75XX %p could not get statistics: "
75  "%s\n", smscusb, strerror ( rc ) );
76  return rc;
77  }
78 
79  /* Dump statistics */
80  DBGC ( smscusb, "SMSC75XX %p RXE fcs %d aln %d frg %d jab %d und %d "
81  "ovr %d drp %d\n", smscusb, le32_to_cpu ( stats.rx.err.fcs ),
82  le32_to_cpu ( stats.rx.err.alignment ),
83  le32_to_cpu ( stats.rx.err.fragment ),
84  le32_to_cpu ( stats.rx.err.jabber ),
85  le32_to_cpu ( stats.rx.err.undersize ),
86  le32_to_cpu ( stats.rx.err.oversize ),
87  le32_to_cpu ( stats.rx.err.dropped ) );
88  DBGC ( smscusb, "SMSC75XX %p RXB ucast %d bcast %d mcast %d\n",
89  smscusb, le32_to_cpu ( stats.rx.byte.unicast ),
90  le32_to_cpu ( stats.rx.byte.broadcast ),
91  le32_to_cpu ( stats.rx.byte.multicast ) );
92  DBGC ( smscusb, "SMSC75XX %p RXF ucast %d bcast %d mcast %d pause "
93  "%d\n", smscusb, le32_to_cpu ( stats.rx.frame.unicast ),
94  le32_to_cpu ( stats.rx.frame.broadcast ),
95  le32_to_cpu ( stats.rx.frame.multicast ),
96  le32_to_cpu ( stats.rx.frame.pause ) );
97  DBGC ( smscusb, "SMSC75XX %p TXE fcs %d def %d car %d cnt %d sgl %d "
98  "mul %d exc %d lat %d\n", smscusb,
99  le32_to_cpu ( stats.tx.err.fcs ),
100  le32_to_cpu ( stats.tx.err.deferral ),
101  le32_to_cpu ( stats.tx.err.carrier ),
102  le32_to_cpu ( stats.tx.err.count ),
103  le32_to_cpu ( stats.tx.err.single ),
104  le32_to_cpu ( stats.tx.err.multiple ),
105  le32_to_cpu ( stats.tx.err.excessive ),
106  le32_to_cpu ( stats.tx.err.late ) );
107  DBGC ( smscusb, "SMSC75XX %p TXB ucast %d bcast %d mcast %d\n",
108  smscusb, le32_to_cpu ( stats.tx.byte.unicast ),
109  le32_to_cpu ( stats.tx.byte.broadcast ),
110  le32_to_cpu ( stats.tx.byte.multicast ) );
111  DBGC ( smscusb, "SMSC75XX %p TXF ucast %d bcast %d mcast %d pause "
112  "%d\n", smscusb, le32_to_cpu ( stats.tx.frame.unicast ),
113  le32_to_cpu ( stats.tx.frame.broadcast ),
114  le32_to_cpu ( stats.tx.frame.multicast ),
115  le32_to_cpu ( stats.tx.frame.pause ) );
116 
117  return 0;
118 }
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
#define le32_to_cpu(value)
Definition: byteswap.h:113
#define DBGC(...)
Definition: compiler.h:505
Statistics.
Definition: smsc75xx.h:195
char * strerror(int errno)
Retrieve string representation of error number.
Definition: strerror.c:78
static int smscusb_get_statistics(struct smscusb_device *smscusb, unsigned int index, void *data, size_t len)
Get statistics.
Definition: smscusb.h:225
#define DBG_LOG
Definition: compiler.h:317

References smsc75xx_rx_error_statistics::alignment, smsc75xx_byte_statistics::broadcast, smsc75xx_frame_statistics::broadcast, smsc75xx_rx_statistics::byte, smsc75xx_tx_statistics::byte, smsc75xx_tx_error_statistics::carrier, smsc75xx_tx_error_statistics::count, DBG_LOG, DBGC, smsc75xx_tx_error_statistics::deferral, smsc75xx_rx_error_statistics::dropped, smsc75xx_rx_statistics::err, smsc75xx_tx_statistics::err, smsc75xx_tx_error_statistics::excessive, smsc75xx_rx_error_statistics::fcs, smsc75xx_tx_error_statistics::fcs, smsc75xx_rx_error_statistics::fragment, smsc75xx_rx_statistics::frame, smsc75xx_tx_statistics::frame, smsc75xx_rx_error_statistics::jabber, smsc75xx_tx_error_statistics::late, le32_to_cpu, smsc75xx_byte_statistics::multicast, smsc75xx_frame_statistics::multicast, smsc75xx_tx_error_statistics::multiple, smsc75xx_rx_error_statistics::oversize, smsc75xx_frame_statistics::pause, rc, smsc75xx_statistics::rx, smsc75xx_tx_error_statistics::single, smscusb_get_statistics(), strerror(), smsc75xx_statistics::tx, smsc75xx_rx_error_statistics::undersize, smsc75xx_byte_statistics::unicast, and smsc75xx_frame_statistics::unicast.

Referenced by lan78xx_close(), and smsc75xx_close().

◆ smsc75xx_transmit()

int smsc75xx_transmit ( struct net_device netdev,
struct io_buffer iobuf 
)

Transmit packet.

Parameters
netdevNetwork device
iobufI/O buffer
Return values
rcReturn status code

Definition at line 403 of file smsc75xx.c.

403  {
404  struct smscusb_device *smscusb = netdev->priv;
405  int rc;
406 
407  /* Transmit packet */
408  if ( ( rc = smsc75xx_out_transmit ( smscusb, iobuf ) ) != 0 )
409  return rc;
410 
411  return 0;
412 }
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
An SMSC USB device.
Definition: smscusb.h:147
void * priv
Driver private data.
Definition: netdevice.h:425
static struct net_device * netdev
Definition: gdbudp.c:52
static int smsc75xx_out_transmit(struct smscusb_device *smscusb, struct io_buffer *iobuf)
Transmit packet.
Definition: smsc75xx.c:244

References netdev, net_device::priv, rc, and smsc75xx_out_transmit().

◆ smsc75xx_poll()

void smsc75xx_poll ( struct net_device netdev)

Poll for completed and received packets.

Parameters
netdevNetwork device

Definition at line 419 of file smsc75xx.c.

419  {
420  struct smscusb_device *smscusb = netdev->priv;
422  int rc;
423 
424  /* Poll USB bus */
425  usb_poll ( smscusb->bus );
426 
427  /* Refill endpoints */
428  if ( ( rc = usbnet_refill ( &smscusb->usbnet ) ) != 0 )
429  netdev_rx_err ( netdev, NULL, rc );
430 
431  /* Do nothing more unless there are interrupts to handle */
432  int_sts = smscusb->int_sts;
433  if ( ! int_sts )
434  return;
435 
436  /* Check link status if applicable */
438  smscusb_mii_check_link ( smscusb );
440  }
441 
442  /* Record RX FIFO overflow if applicable */
444  DBGC2 ( smscusb, "SMSC75XX %p RX FIFO overflowed\n", smscusb );
447  }
448 
449  /* Check for unexpected interrupts */
450  if ( int_sts ) {
451  DBGC ( smscusb, "SMSC75XX %p unexpected interrupt %#08x\n",
452  smscusb, int_sts );
454  }
455 
456  /* Clear interrupts */
457  if ( ( rc = smscusb_writel ( smscusb, SMSC75XX_INT_STS,
458  smscusb->int_sts ) ) != 0 )
459  netdev_rx_err ( netdev, NULL, rc );
460  smscusb->int_sts = 0;
461 }
struct arbelprm_rc_send_wqe rc
Definition: arbel.h:14
void netdev_rx_err(struct net_device *netdev, struct io_buffer *iobuf, int rc)
Discard received packet.
Definition: netdevice.c:501
An SMSC USB device.
Definition: smscusb.h:147
#define SMSC75XX_INT_STS
Interrupt status register.
Definition: smsc75xx.h:15
#define SMSC75XX_INT_STS_RDFO_INT
RX FIFO overflow.
Definition: smsc75xx.h:16
#define DBGC(...)
Definition: compiler.h:505
static int smscusb_writel(struct smscusb_device *smscusb, unsigned int address, uint32_t value)
Write register.
Definition: smscusb.h:182
uint32_t int_sts
Interrupt status.
Definition: smscusb.h:165
struct usbnet_device usbnet
USB network device.
Definition: smscusb.h:155
void * priv
Driver private data.
Definition: netdevice.h:425
static struct net_device * netdev
Definition: gdbudp.c:52
int usbnet_refill(struct usbnet_device *usbnet)
Refill USB network device bulk IN and interrupt endpoints.
Definition: usbnet.c:151
static void usb_poll(struct usb_bus *bus)
Poll USB bus.
Definition: usb.h:1049
unsigned int uint32_t
Definition: stdint.h:12
#define ENOBUFS
No buffer space available.
Definition: errno.h:498
#define DBGC2(...)
Definition: compiler.h:522
#define ENOTTY
Inappropriate I/O control operation.
Definition: errno.h:594
int smscusb_mii_check_link(struct smscusb_device *smscusb)
Check link status.
Definition: smscusb.c:613
struct usb_bus * bus
USB bus.
Definition: smscusb.h:151
#define SMSC75XX_INT_STS_PHY_INT
PHY interrupt.
Definition: smsc75xx.h:17
#define NULL
NULL pointer (VOID *)
Definition: Base.h:362

References smscusb_device::bus, DBGC, DBGC2, ENOBUFS, ENOTTY, smscusb_device::int_sts, netdev, netdev_rx_err(), NULL, net_device::priv, rc, SMSC75XX_INT_STS, SMSC75XX_INT_STS_PHY_INT, SMSC75XX_INT_STS_RDFO_INT, smscusb_mii_check_link(), smscusb_writel(), usb_poll(), smscusb_device::usbnet, and usbnet_refill().

Variable Documentation

◆ smsc75xx_in_operations

struct usb_endpoint_driver_operations smsc75xx_in_operations

Bulk IN endpoint operations.

Definition at line 233 of file smsc75xx.c.

Referenced by lan78xx_probe(), and smsc75xx_probe().