git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
[safe/jmp/linux-2.6]
/
drivers
/
ieee1394
/
eth1394.c
diff --git
a/drivers/ieee1394/eth1394.c
b/drivers/ieee1394/eth1394.c
index
b166b35
..
1a919df
100644
(file)
--- a/
drivers/ieee1394/eth1394.c
+++ b/
drivers/ieee1394/eth1394.c
@@
-92,7
+92,7
@@
struct partial_datagram {
struct list_head list;
u16 dgl;
u16 dg_size;
struct list_head list;
u16 dgl;
u16 dg_size;
-
u
16 ether_type;
+
__be
16 ether_type;
struct sk_buff *skb;
char *pbuf;
struct list_head frag_info;
struct sk_buff *skb;
char *pbuf;
struct list_head frag_info;
@@
-181,7
+181,7
@@
static void ether1394_remove_host(struct hpsb_host *host);
static void ether1394_host_reset(struct hpsb_host *host);
/* Function for incoming 1394 packets */
static void ether1394_host_reset(struct hpsb_host *host);
/* Function for incoming 1394 packets */
-static struct hpsb_address_ops addr_ops = {
+
const
static struct hpsb_address_ops addr_ops = {
.write = ether1394_write,
};
.write = ether1394_write,
};
@@
-245,12
+245,6
@@
static int ether1394_stop(struct net_device *dev)
return 0;
}
return 0;
}
-/* Return statistics to the caller */
-static struct net_device_stats *ether1394_stats(struct net_device *dev)
-{
- return &(((struct eth1394_priv *)netdev_priv(dev))->stats);
-}
-
/* FIXME: What to do if we timeout? I think a host reset is probably in order,
* so that's what we do. Should we increment the stat counters too? */
static void ether1394_tx_timeout(struct net_device *dev)
/* FIXME: What to do if we timeout? I think a host reset is probably in order,
* so that's what we do. Should we increment the stat counters too? */
static void ether1394_tx_timeout(struct net_device *dev)
@@
-516,16
+510,19
@@
static const struct header_ops ether1394_header_ops = {
.parse = ether1394_header_parse,
};
.parse = ether1394_header_parse,
};
+static const struct net_device_ops ether1394_netdev_ops = {
+ .ndo_open = ether1394_open,
+ .ndo_stop = ether1394_stop,
+ .ndo_start_xmit = ether1394_tx,
+ .ndo_tx_timeout = ether1394_tx_timeout,
+ .ndo_change_mtu = ether1394_change_mtu,
+};
+
static void ether1394_init_dev(struct net_device *dev)
{
static void ether1394_init_dev(struct net_device *dev)
{
- dev->open = ether1394_open;
- dev->stop = ether1394_stop;
- dev->hard_start_xmit = ether1394_tx;
- dev->get_stats = ether1394_stats;
- dev->tx_timeout = ether1394_tx_timeout;
- dev->change_mtu = ether1394_change_mtu;
dev->header_ops = ðer1394_header_ops;
dev->header_ops = ðer1394_header_ops;
+ dev->netdev_ops = ðer1394_netdev_ops;
SET_ETHTOOL_OPS(dev, ðtool_ops);
SET_ETHTOOL_OPS(dev, ðtool_ops);
@@
-767,7
+764,7
@@
static int ether1394_header_parse(const struct sk_buff *skb,
static int ether1394_header_cache(const struct neighbour *neigh,
struct hh_cache *hh)
{
static int ether1394_header_cache(const struct neighbour *neigh,
struct hh_cache *hh)
{
-
unsigned short
type = hh->hh_type;
+
__be16
type = hh->hh_type;
struct net_device *dev = neigh->dev;
struct eth1394hdr *eth =
(struct eth1394hdr *)((u8 *)hh->hh_data + 16 - ETH1394_HLEN);
struct net_device *dev = neigh->dev;
struct eth1394hdr *eth =
(struct eth1394hdr *)((u8 *)hh->hh_data + 16 - ETH1394_HLEN);
@@
-795,7
+792,7
@@
static void ether1394_header_cache_update(struct hh_cache *hh,
******************************************/
/* Copied from net/ethernet/eth.c */
******************************************/
/* Copied from net/ethernet/eth.c */
-static
u
16 ether1394_type_trans(struct sk_buff *skb, struct net_device *dev)
+static
__be
16 ether1394_type_trans(struct sk_buff *skb, struct net_device *dev)
{
struct eth1394hdr *eth;
unsigned char *rawp;
{
struct eth1394hdr *eth;
unsigned char *rawp;
@@
-829,17
+826,17
@@
static u16 ether1394_type_trans(struct sk_buff *skb, struct net_device *dev)
/* Parse an encapsulated IP1394 header into an ethernet frame packet.
* We also perform ARP translation here, if need be. */
/* Parse an encapsulated IP1394 header into an ethernet frame packet.
* We also perform ARP translation here, if need be. */
-static
u
16 ether1394_parse_encap(struct sk_buff *skb, struct net_device *dev,
+static
__be
16 ether1394_parse_encap(struct sk_buff *skb, struct net_device *dev,
nodeid_t srcid, nodeid_t destid,
nodeid_t srcid, nodeid_t destid,
-
u
16 ether_type)
+
__be
16 ether_type)
{
struct eth1394_priv *priv = netdev_priv(dev);
{
struct eth1394_priv *priv = netdev_priv(dev);
-
u
64 dest_hw;
-
unsigned short
ret = 0;
+
__be
64 dest_hw;
+
__be16
ret = 0;
/* Setup our hw addresses. We use these to build the ethernet header. */
if (destid == (LOCAL_BUS | ALL_NODES))
/* Setup our hw addresses. We use these to build the ethernet header. */
if (destid == (LOCAL_BUS | ALL_NODES))
- dest_hw = ~
0ULL
; /* broadcast */
+ dest_hw = ~
cpu_to_be64(0)
; /* broadcast */
else
dest_hw = cpu_to_be64((u64)priv->host->csr.guid_hi << 32 |
priv->host->csr.guid_lo);
else
dest_hw = cpu_to_be64((u64)priv->host->csr.guid_hi << 32 |
priv->host->csr.guid_lo);
@@
-873,7
+870,7
@@
static u16 ether1394_parse_encap(struct sk_buff *skb, struct net_device *dev,
node = eth1394_find_node_guid(&priv->ip_node_list,
be64_to_cpu(guid));
if (!node)
node = eth1394_find_node_guid(&priv->ip_node_list,
be64_to_cpu(guid));
if (!node)
- return
0
;
+ return
cpu_to_be16(0)
;
node_info =
(struct eth1394_node_info *)node->ud->device.driver_data;
node_info =
(struct eth1394_node_info *)node->ud->device.driver_data;
@@
-1063,7
+1060,7
@@
static int ether1394_data_handler(struct net_device *dev, int srcid, int destid,
unsigned long flags;
struct eth1394_priv *priv = netdev_priv(dev);
union eth1394_hdr *hdr = (union eth1394_hdr *)buf;
unsigned long flags;
struct eth1394_priv *priv = netdev_priv(dev);
union eth1394_hdr *hdr = (union eth1394_hdr *)buf;
-
u16 ether_type = 0
; /* initialized to clear warning */
+
__be16 ether_type = cpu_to_be16(0)
; /* initialized to clear warning */
int hdr_len;
struct unit_directory *ud = priv->ud_list[NODEID_TO_NODE(srcid)];
struct eth1394_node_info *node_info;
int hdr_len;
struct unit_directory *ud = priv->ud_list[NODEID_TO_NODE(srcid)];
struct eth1394_node_info *node_info;
@@
-1075,7
+1072,7
@@
static int ether1394_data_handler(struct net_device *dev, int srcid, int destid,
HPSB_PRINT(KERN_ERR, "ether1394 rx: sender nodeid "
"lookup failure: " NODE_BUS_FMT,
NODE_BUS_ARGS(priv->host, srcid));
HPSB_PRINT(KERN_ERR, "ether1394 rx: sender nodeid "
"lookup failure: " NODE_BUS_FMT,
NODE_BUS_ARGS(priv->host, srcid));
-
pri
v->stats.rx_dropped++;
+
de
v->stats.rx_dropped++;
return -1;
}
ud = node->ud;
return -1;
}
ud = node->ud;
@@
-1098,7
+1095,7
@@
static int ether1394_data_handler(struct net_device *dev, int srcid, int destid,
skb = dev_alloc_skb(len + dev->hard_header_len + 15);
if (unlikely(!skb)) {
ETH1394_PRINT_G(KERN_ERR, "Out of memory\n");
skb = dev_alloc_skb(len + dev->hard_header_len + 15);
if (unlikely(!skb)) {
ETH1394_PRINT_G(KERN_ERR, "Out of memory\n");
-
pri
v->stats.rx_dropped++;
+
de
v->stats.rx_dropped++;
return -1;
}
skb_reserve(skb, (dev->hard_header_len + 15) & ~15);
return -1;
}
skb_reserve(skb, (dev->hard_header_len + 15) & ~15);
@@
-1217,15
+1214,15
@@
static int ether1394_data_handler(struct net_device *dev, int srcid, int destid,
spin_lock_irqsave(&priv->lock, flags);
if (!skb->protocol) {
spin_lock_irqsave(&priv->lock, flags);
if (!skb->protocol) {
-
pri
v->stats.rx_errors++;
-
pri
v->stats.rx_dropped++;
+
de
v->stats.rx_errors++;
+
de
v->stats.rx_dropped++;
dev_kfree_skb_any(skb);
} else if (netif_rx(skb) == NET_RX_DROP) {
dev_kfree_skb_any(skb);
} else if (netif_rx(skb) == NET_RX_DROP) {
-
pri
v->stats.rx_errors++;
-
pri
v->stats.rx_dropped++;
+
de
v->stats.rx_errors++;
+
de
v->stats.rx_dropped++;
} else {
} else {
-
pri
v->stats.rx_packets++;
-
pri
v->stats.rx_bytes += skb->len;
+
de
v->stats.rx_packets++;
+
de
v->stats.rx_bytes += skb->len;
}
spin_unlock_irqrestore(&priv->lock, flags);
}
spin_unlock_irqrestore(&priv->lock, flags);
@@
-1234,8
+1231,6
@@
bad_proto:
if (netif_queue_stopped(dev))
netif_wake_queue(dev);
if (netif_queue_stopped(dev))
netif_wake_queue(dev);
- dev->last_rx = jiffies;
-
return 0;
}
return 0;
}
@@
-1259,7
+1254,7
@@
static int ether1394_write(struct hpsb_host *host, int srcid, int destid,
static void ether1394_iso(struct hpsb_iso *iso)
{
static void ether1394_iso(struct hpsb_iso *iso)
{
-
quadlet_t
*data;
+
__be32
*data;
char *buf;
struct eth1394_host_info *hi;
struct net_device *dev;
char *buf;
struct eth1394_host_info *hi;
struct net_device *dev;
@@
-1283,7
+1278,7
@@
static void ether1394_iso(struct hpsb_iso *iso)
for (i = 0; i < nready; i++) {
struct hpsb_iso_packet_info *info =
&iso->infos[(iso->first_packet + i) % iso->buf_packets];
for (i = 0; i < nready; i++) {
struct hpsb_iso_packet_info *info =
&iso->infos[(iso->first_packet + i) % iso->buf_packets];
- data = (
quadlet_t
*)(iso->data_buf.kvirt + info->offset);
+ data = (
__be32
*)(iso->data_buf.kvirt + info->offset);
/* skip over GASP header */
buf = (char *)data + 8;
/* skip over GASP header */
buf = (char *)data + 8;
@@
-1361,7
+1356,7
@@
static unsigned int ether1394_encapsulate_prep(unsigned int max_payload,
hdr->ff.dgl = dgl;
adj_max_payload = max_payload - hdr_type_len[ETH1394_HDR_LF_FF];
}
hdr->ff.dgl = dgl;
adj_max_payload = max_payload - hdr_type_len[ETH1394_HDR_LF_FF];
}
- return
(dg_size + adj_max_payload - 1) / adj_max_payload
;
+ return
DIV_ROUND_UP(dg_size, adj_max_payload)
;
}
static unsigned int ether1394_encapsulate(struct sk_buff *skb,
}
static unsigned int ether1394_encapsulate(struct sk_buff *skb,
@@
-1509,17
+1504,18
@@
static int ether1394_send_packet(struct packet_task *ptask, unsigned int tx_len)
static void ether1394_dg_complete(struct packet_task *ptask, int fail)
{
struct sk_buff *skb = ptask->skb;
static void ether1394_dg_complete(struct packet_task *ptask, int fail)
{
struct sk_buff *skb = ptask->skb;
- struct eth1394_priv *priv = netdev_priv(skb->dev);
+ struct net_device *dev = skb->dev;
+ struct eth1394_priv *priv = netdev_priv(dev);
unsigned long flags;
/* Statistics */
spin_lock_irqsave(&priv->lock, flags);
if (fail) {
unsigned long flags;
/* Statistics */
spin_lock_irqsave(&priv->lock, flags);
if (fail) {
-
pri
v->stats.tx_dropped++;
-
pri
v->stats.tx_errors++;
+
de
v->stats.tx_dropped++;
+
de
v->stats.tx_errors++;
} else {
} else {
-
pri
v->stats.tx_bytes += skb->len;
-
pri
v->stats.tx_packets++;
+
de
v->stats.tx_bytes += skb->len;
+
de
v->stats.tx_packets++;
}
spin_unlock_irqrestore(&priv->lock, flags);
}
spin_unlock_irqrestore(&priv->lock, flags);
@@
-1614,7
+1610,7
@@
static int ether1394_tx(struct sk_buff *skb, struct net_device *dev)
if (max_payload < dg_size + hdr_type_len[ETH1394_HDR_LF_UF])
priv->bc_dgl++;
} else {
if (max_payload < dg_size + hdr_type_len[ETH1394_HDR_LF_UF])
priv->bc_dgl++;
} else {
- __be64 guid = get_unaligned((
u
64 *)hdr_buf.h_dest);
+ __be64 guid = get_unaligned((
__be
64 *)hdr_buf.h_dest);
node = eth1394_find_node_guid(&priv->ip_node_list,
be64_to_cpu(guid));
node = eth1394_find_node_guid(&priv->ip_node_list,
be64_to_cpu(guid));
@@
-1696,8
+1692,8
@@
fail:
dev_kfree_skb(skb);
spin_lock_irqsave(&priv->lock, flags);
dev_kfree_skb(skb);
spin_lock_irqsave(&priv->lock, flags);
-
pri
v->stats.tx_dropped++;
-
pri
v->stats.tx_errors++;
+
de
v->stats.tx_dropped++;
+
de
v->stats.tx_errors++;
spin_unlock_irqrestore(&priv->lock, flags);
/*
spin_unlock_irqrestore(&priv->lock, flags);
/*