spinlock_t rx_pool_lock;
struct usb_ctrlrequest dr;
int intr_interval;
- u16 rx_creg;
+ __le16 rx_creg;
u8 *intr_buff;
u8 phy;
};
typedef struct rtl8150 rtl8150_t;
-unsigned long multicast_filter_limit = 32;
+static unsigned long multicast_filter_limit = 32;
static void fill_skb_pool(rtl8150_t *);
static void free_skb_pool(rtl8150_t *);
if (i < MII_TIMEOUT) {
get_registers(dev, PHYDAT, 2, data);
- *reg = le16_to_cpup(data);
+ *reg = data[0] | (data[1] << 8);
return 0;
} else
return 1;
usb_unlink_urb(dev->ctrl_urb);
}
+static inline struct sk_buff *pull_skb(rtl8150_t *dev)
+{
+ struct sk_buff *skb;
+ int i;
+
+ for (i = 0; i < RX_SKB_POOL_SIZE; i++) {
+ if (dev->rx_skb_pool[i]) {
+ skb = dev->rx_skb_pool[i];
+ dev->rx_skb_pool[i] = NULL;
+ return skb;
+ }
+ }
+ return NULL;
+}
+
static void read_bulk_callback(struct urb *urb, struct pt_regs *regs)
{
rtl8150_t *dev;
goto goon;
res = urb->actual_length;
- rx_stat = le16_to_cpu(*(short *)(urb->transfer_buffer + res - 4));
+ rx_stat = le16_to_cpu(*(__le16 *)(urb->transfer_buffer + res - 4));
pkt_len = res - 4;
skb_put(dev->rx_skb, pkt_len);
netif_wake_queue(dev->netdev);
}
-void intr_callback(struct urb *urb, struct pt_regs *regs)
+static void intr_callback(struct urb *urb, struct pt_regs *regs)
{
rtl8150_t *dev;
__u8 *d;
dev_kfree_skb(dev->rx_skb_pool[i]);
}
-static inline struct sk_buff *pull_skb(rtl8150_t *dev)
-{
- struct sk_buff *skb;
- int i;
-
- for (i = 0; i < RX_SKB_POOL_SIZE; i++) {
- if (dev->rx_skb_pool[i]) {
- skb = dev->rx_skb_pool[i];
- dev->rx_skb_pool[i] = NULL;
- return skb;
- }
- }
- return NULL;
-}
-
static int enable_net_traffic(rtl8150_t * dev)
{
u8 cr, tcr, rcr, msr;
return res;
}
-static int rtl8150_ethtool_ioctl(struct net_device *netdev, void *uaddr)
+static int rtl8150_ethtool_ioctl(struct net_device *netdev, void __user *uaddr)
{
rtl8150_t *dev;
int cmd;
dev = netdev->priv;
- if (get_user(cmd, (int *) uaddr))
+ if (get_user(cmd, (int __user *) uaddr))
return -EFAULT;
switch (cmd) {
int res;
dev = netdev->priv;
- data = (u16 *) & rq->ifr_data;
+ data = (u16 *) & rq->ifr_ifru;
res = 0;
switch (cmd) {
}
}
-int __init usb_rtl8150_init(void)
+static int __init usb_rtl8150_init(void)
{
info(DRIVER_DESC " " DRIVER_VERSION);
return usb_register(&rtl8150_driver);
}
-void __exit usb_rtl8150_exit(void)
+static void __exit usb_rtl8150_exit(void)
{
usb_deregister(&rtl8150_driver);
}