aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/hydra.c
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2009-01-09 03:39:43 -0500
committerLen Brown <len.brown@intel.com>2009-01-09 03:39:43 -0500
commitb2576e1d4408e134e2188c967b1f28af39cd79d4 (patch)
tree004f3c82faab760f304ce031d6d2f572e7746a50 /drivers/net/hydra.c
parent3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77 (diff)
parent2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f (diff)
Merge branch 'linus' into release
Diffstat (limited to 'drivers/net/hydra.c')
-rw-r--r--drivers/net/hydra.c28
1 files changed, 19 insertions, 9 deletions
diff --git a/drivers/net/hydra.c b/drivers/net/hydra.c
index b96cf2dcb109..9cb38a8d4387 100644
--- a/drivers/net/hydra.c
+++ b/drivers/net/hydra.c
@@ -94,6 +94,21 @@ static int __devinit hydra_init_one(struct zorro_dev *z,
94 return 0; 94 return 0;
95} 95}
96 96
97static const struct net_device_ops hydra_netdev_ops = {
98 .ndo_open = hydra_open,
99 .ndo_stop = hydra_close,
100
101 .ndo_start_xmit = ei_start_xmit,
102 .ndo_tx_timeout = ei_tx_timeout,
103 .ndo_get_stats = ei_get_stats,
104 .ndo_set_multicast_list = ei_set_multicast_list,
105 .ndo_validate_addr = eth_validate_addr,
106 .ndo_change_mtu = eth_change_mtu,
107#ifdef CONFIG_NET_POLL_CONTROLLER
108 .ndo_poll_controller = ei_poll,
109#endif
110};
111
97static int __devinit hydra_init(struct zorro_dev *z) 112static int __devinit hydra_init(struct zorro_dev *z)
98{ 113{
99 struct net_device *dev; 114 struct net_device *dev;
@@ -103,14 +118,13 @@ static int __devinit hydra_init(struct zorro_dev *z)
103 int start_page, stop_page; 118 int start_page, stop_page;
104 int j; 119 int j;
105 int err; 120 int err;
106 DECLARE_MAC_BUF(mac);
107 121
108 static u32 hydra_offsets[16] = { 122 static u32 hydra_offsets[16] = {
109 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 123 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e,
110 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, 124 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e,
111 }; 125 };
112 126
113 dev = ____alloc_ei_netdev(0); 127 dev = alloc_ei_netdev();
114 if (!dev) 128 if (!dev)
115 return -ENOMEM; 129 return -ENOMEM;
116 130
@@ -145,12 +159,8 @@ static int __devinit hydra_init(struct zorro_dev *z)
145 ei_status.block_output = &hydra_block_output; 159 ei_status.block_output = &hydra_block_output;
146 ei_status.get_8390_hdr = &hydra_get_8390_hdr; 160 ei_status.get_8390_hdr = &hydra_get_8390_hdr;
147 ei_status.reg_offset = hydra_offsets; 161 ei_status.reg_offset = hydra_offsets;
148 dev->open = &hydra_open;
149 dev->stop = &hydra_close;
150#ifdef CONFIG_NET_POLL_CONTROLLER
151 dev->poll_controller = __ei_poll;
152#endif
153 162
163 dev->netdev_ops = &hydra_netdev_ops;
154 __NS8390_init(dev, 0); 164 __NS8390_init(dev, 0);
155 165
156 err = register_netdev(dev); 166 err = register_netdev(dev);
@@ -163,8 +173,8 @@ static int __devinit hydra_init(struct zorro_dev *z)
163 zorro_set_drvdata(z, dev); 173 zorro_set_drvdata(z, dev);
164 174
165 printk(KERN_INFO "%s: Hydra at 0x%08lx, address " 175 printk(KERN_INFO "%s: Hydra at 0x%08lx, address "
166 "%s (hydra.c " HYDRA_VERSION ")\n", 176 "%pM (hydra.c " HYDRA_VERSION ")\n",
167 dev->name, z->resource.start, print_mac(mac, dev->dev_addr)); 177 dev->name, z->resource.start, dev->dev_addr);
168 178
169 return 0; 179 return 0;
170} 180}