Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci-2.6.23
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci-2.6.23
Commits
d7fbeba6
Commit
d7fbeba6
authored
May 24, 2006
by
Jeff Garzik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[netdrvr ibmlana, ibmveth] trim trailing whitespace
parent
860f242e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
60 additions
and
60 deletions
+60
-60
drivers/net/ibmlana.c
drivers/net/ibmlana.c
+10
-10
drivers/net/ibmlana.h
drivers/net/ibmlana.h
+3
-3
drivers/net/ibmveth.c
drivers/net/ibmveth.c
+45
-45
drivers/net/ibmveth.h
drivers/net/ibmveth.h
+2
-2
No files found.
drivers/net/ibmlana.c
View file @
d7fbeba6
/*
/*
net-3-driver for the IBM LAN Adapter/A
This is an extension to the Linux operating system, and is covered by the
...
...
@@ -11,9 +11,9 @@ This driver is based both on the SK_MCA driver, which is itself based on the
SK_G16 and 3C523 driver.
paper sources:
'PC Hardware: Aufbau, Funktionsweise, Programmierung' by
'PC Hardware: Aufbau, Funktionsweise, Programmierung' by
Hans-Peter Messmer for the basic Microchannel stuff
'Linux Geraetetreiber' by Allesandro Rubini, Kalle Dalheimer
for help on Ethernet driver programming
...
...
@@ -27,14 +27,14 @@ paper sources:
special acknowledgements to:
- Bob Eager for helping me out with documentation from IBM
- Jim Shorney for his endless patience with me while I was using
- Jim Shorney for his endless patience with me while I was using
him as a beta tester to trace down the address filter bug ;-)
Missing things:
-> set debug level via ioctl instead of compile-time switches
-> I didn't follow the development of the 2.1.x kernels, so my
assumptions about which things changed with which kernel version
assumptions about which things changed with which kernel version
are probably nonsense
History:
...
...
@@ -275,7 +275,7 @@ static void InitDscrs(struct net_device *dev)
priv
->
rrastart
=
raddr
=
priv
->
txbufstart
+
(
TXBUFCNT
*
PKTSIZE
);
priv
->
rdastart
=
addr
=
priv
->
rrastart
+
(
priv
->
rxbufcnt
*
sizeof
(
rra_t
));
priv
->
rxbufstart
=
baddr
=
priv
->
rdastart
+
(
priv
->
rxbufcnt
*
sizeof
(
rda_t
));
for
(
z
=
0
;
z
<
priv
->
rxbufcnt
;
z
++
)
{
rra
.
startlo
=
baddr
;
rra
.
starthi
=
0
;
...
...
@@ -570,7 +570,7 @@ static void irqrx_handler(struct net_device *dev)
lrdaaddr
=
priv
->
rdastart
+
(
priv
->
lastrxdescr
*
sizeof
(
rda_t
));
memcpy_fromio
(
&
rda
,
priv
->
base
+
rdaaddr
,
sizeof
(
rda_t
));
/* iron out upper word halves of fields we use - SONIC will duplicate
/* iron out upper word halves of fields we use - SONIC will duplicate
bits 0..15 to 16..31 */
rda
.
status
&=
0xffff
;
...
...
@@ -836,9 +836,9 @@ static int ibmlana_tx(struct sk_buff *skb, struct net_device *dev)
baddr
=
priv
->
txbufstart
+
(
priv
->
nexttxdescr
*
PKTSIZE
);
memcpy_toio
(
priv
->
base
+
baddr
,
skb
->
data
,
skb
->
len
);
/* copy filler into RAM - in case we're filling up...
/* copy filler into RAM - in case we're filling up...
we're filling a bit more than necessary, but that doesn't harm
since the buffer is far larger...
since the buffer is far larger...
Sorry Linus for the filler string but I couldn't resist ;-) */
if
(
tmplen
>
skb
->
len
)
{
...
...
@@ -952,7 +952,7 @@ static int ibmlana_probe(struct net_device *dev)
priv
->
realirq
=
irq
;
priv
->
medium
=
medium
;
spin_lock_init
(
&
priv
->
lock
);
/* set base + irq for this device (irq not allocated so far) */
...
...
drivers/net/ibmlana.h
View file @
d7fbeba6
...
...
@@ -17,7 +17,7 @@
/* media enumeration - defined in a way that it fits onto the LAN/A's
POS registers... */
typedef
enum
{
typedef
enum
{
Media_10BaseT
,
Media_10Base5
,
Media_Unknown
,
Media_10Base2
,
Media_Count
}
ibmlana_medium
;
...
...
@@ -27,7 +27,7 @@ typedef enum {
typedef
struct
{
unsigned
int
slot
;
/* MCA-Slot-# */
struct
net_device_stats
stat
;
/* packet statistics */
int
realirq
;
/* memorizes actual IRQ, even when
int
realirq
;
/* memorizes actual IRQ, even when
currently not allocated */
ibmlana_medium
medium
;
/* physical cannector */
u32
tdastart
,
txbufstart
,
/* addresses */
...
...
@@ -41,7 +41,7 @@ typedef struct {
spinlock_t
lock
;
}
ibmlana_priv
;
/* this card uses quite a lot of I/O ports...luckily the MCA bus decodes
/* this card uses quite a lot of I/O ports...luckily the MCA bus decodes
a full 64K I/O range... */
#define IBM_LANA_IORANGE 0xa0
...
...
drivers/net/ibmveth.c
View file @
d7fbeba6
...
...
@@ -24,7 +24,7 @@
/* for use with IBM i/pSeries LPAR Linux. It utilizes the logical LAN */
/* option of the RS/6000 Platform Architechture to interface with virtual */
/* ethernet NICs that are presented to the partition by the hypervisor. */
/* */
/* */
/**************************************************************************/
/*
TODO:
...
...
@@ -79,7 +79,7 @@
#else
#define ibmveth_debug_printk_no_adapter(fmt, args...)
#define ibmveth_debug_printk(fmt, args...)
#define ibmveth_assert(expr)
#define ibmveth_assert(expr)
#endif
static
int
ibmveth_open
(
struct
net_device
*
dev
);
...
...
@@ -148,13 +148,13 @@ static int ibmveth_alloc_buffer_pool(struct ibmveth_buff_pool *pool)
{
int
i
;
pool
->
free_map
=
kmalloc
(
sizeof
(
u16
)
*
pool
->
size
,
GFP_KERNEL
);
pool
->
free_map
=
kmalloc
(
sizeof
(
u16
)
*
pool
->
size
,
GFP_KERNEL
);
if
(
!
pool
->
free_map
)
{
return
-
1
;
}
pool
->
dma_addr
=
kmalloc
(
sizeof
(
dma_addr_t
)
*
pool
->
size
,
GFP_KERNEL
);
pool
->
dma_addr
=
kmalloc
(
sizeof
(
dma_addr_t
)
*
pool
->
size
,
GFP_KERNEL
);
if
(
!
pool
->
dma_addr
)
{
kfree
(
pool
->
free_map
);
pool
->
free_map
=
NULL
;
...
...
@@ -215,7 +215,7 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc
free_index
=
pool
->
consumer_index
++
%
pool
->
size
;
index
=
pool
->
free_map
[
free_index
];
ibmveth_assert
(
index
!=
IBM_VETH_INVALID_MAP
);
ibmveth_assert
(
pool
->
skbuff
[
index
]
==
NULL
);
...
...
@@ -232,10 +232,10 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc
desc
.
desc
=
0
;
desc
.
fields
.
valid
=
1
;
desc
.
fields
.
length
=
pool
->
buff_size
;
desc
.
fields
.
address
=
dma_addr
;
desc
.
fields
.
address
=
dma_addr
;
lpar_rc
=
h_add_logical_lan_buffer
(
adapter
->
vdev
->
unit_address
,
desc
.
desc
);
if
(
lpar_rc
!=
H_SUCCESS
)
{
pool
->
free_map
[
free_index
]
=
index
;
pool
->
skbuff
[
index
]
=
NULL
;
...
...
@@ -251,13 +251,13 @@ static void ibmveth_replenish_buffer_pool(struct ibmveth_adapter *adapter, struc
adapter
->
replenish_add_buff_success
++
;
}
}
mb
();
atomic_add
(
buffers_added
,
&
(
pool
->
available
));
}
/* replenish routine */
static
void
ibmveth_replenish_task
(
struct
ibmveth_adapter
*
adapter
)
static
void
ibmveth_replenish_task
(
struct
ibmveth_adapter
*
adapter
)
{
int
i
;
...
...
@@ -265,7 +265,7 @@ static void ibmveth_replenish_task(struct ibmveth_adapter *adapter)
for
(
i
=
0
;
i
<
IbmVethNumBufferPools
;
i
++
)
if
(
adapter
->
rx_buff_pool
[
i
].
active
)
ibmveth_replenish_buffer_pool
(
adapter
,
ibmveth_replenish_buffer_pool
(
adapter
,
&
adapter
->
rx_buff_pool
[
i
]);
adapter
->
rx_no_buffer
=
*
(
u64
*
)(((
char
*
)
adapter
->
buffer_list_addr
)
+
4096
-
8
);
...
...
@@ -372,7 +372,7 @@ static void ibmveth_rxq_recycle_buffer(struct ibmveth_adapter *adapter)
desc
.
fields
.
address
=
adapter
->
rx_buff_pool
[
pool
].
dma_addr
[
index
];
lpar_rc
=
h_add_logical_lan_buffer
(
adapter
->
vdev
->
unit_address
,
desc
.
desc
);
if
(
lpar_rc
!=
H_SUCCESS
)
{
ibmveth_debug_printk
(
"h_add_logical_lan_buffer failed during recycle rc=%ld"
,
lpar_rc
);
ibmveth_remove_buffer_from_pool
(
adapter
,
adapter
->
rx_queue
.
queue_addr
[
adapter
->
rx_queue
.
index
].
correlator
);
...
...
@@ -407,7 +407,7 @@ static void ibmveth_cleanup(struct ibmveth_adapter *adapter)
}
free_page
((
unsigned
long
)
adapter
->
buffer_list_addr
);
adapter
->
buffer_list_addr
=
NULL
;
}
}
if
(
adapter
->
filter_list_addr
!=
NULL
)
{
if
(
!
dma_mapping_error
(
adapter
->
filter_list_dma
))
{
...
...
@@ -434,7 +434,7 @@ static void ibmveth_cleanup(struct ibmveth_adapter *adapter)
for
(
i
=
0
;
i
<
IbmVethNumBufferPools
;
i
++
)
if
(
adapter
->
rx_buff_pool
[
i
].
active
)
ibmveth_free_buffer_pool
(
adapter
,
ibmveth_free_buffer_pool
(
adapter
,
&
adapter
->
rx_buff_pool
[
i
]);
}
...
...
@@ -452,10 +452,10 @@ static int ibmveth_open(struct net_device *netdev)
for
(
i
=
0
;
i
<
IbmVethNumBufferPools
;
i
++
)
rxq_entries
+=
adapter
->
rx_buff_pool
[
i
].
size
;
adapter
->
buffer_list_addr
=
(
void
*
)
get_zeroed_page
(
GFP_KERNEL
);
adapter
->
filter_list_addr
=
(
void
*
)
get_zeroed_page
(
GFP_KERNEL
);
if
(
!
adapter
->
buffer_list_addr
||
!
adapter
->
filter_list_addr
)
{
ibmveth_error_printk
(
"unable to allocate filter or buffer list pages
\n
"
);
ibmveth_cleanup
(
adapter
);
...
...
@@ -503,7 +503,7 @@ static int ibmveth_open(struct net_device *netdev)
ibmveth_debug_printk
(
"filter list @ 0x%p
\n
"
,
adapter
->
filter_list_addr
);
ibmveth_debug_printk
(
"receive q @ 0x%p
\n
"
,
adapter
->
rx_queue
.
queue_addr
);
lpar_rc
=
h_register_logical_lan
(
adapter
->
vdev
->
unit_address
,
adapter
->
buffer_list_dma
,
rxq_desc
.
desc
,
...
...
@@ -518,7 +518,7 @@ static int ibmveth_open(struct net_device *netdev)
rxq_desc
.
desc
,
mac_address
);
ibmveth_cleanup
(
adapter
);
return
-
ENONET
;
return
-
ENONET
;
}
for
(
i
=
0
;
i
<
IbmVethNumBufferPools
;
i
++
)
{
...
...
@@ -557,7 +557,7 @@ static int ibmveth_close(struct net_device *netdev)
{
struct
ibmveth_adapter
*
adapter
=
netdev
->
priv
;
long
lpar_rc
;
ibmveth_debug_printk
(
"close starting
\n
"
);
if
(
!
adapter
->
pool_config
)
...
...
@@ -705,7 +705,7 @@ static int ibmveth_start_xmit(struct sk_buff *skb, struct net_device *netdev)
desc
[
5
].
desc
,
correlator
);
}
while
((
lpar_rc
==
H_BUSY
)
&&
(
retry_count
--
));
if
(
lpar_rc
!=
H_SUCCESS
&&
lpar_rc
!=
H_DROPPED
)
{
int
i
;
ibmveth_error_printk
(
"tx: h_send_logical_lan failed with rc=%ld
\n
"
,
lpar_rc
);
...
...
@@ -791,7 +791,7 @@ static int ibmveth_poll(struct net_device *netdev, int *budget)
/* more work to do - return that we are not done yet */
netdev
->
quota
-=
frames_processed
;
*
budget
-=
frames_processed
;
return
1
;
return
1
;
}
/* we think we are done - reenable interrupts, then check once more to make sure we are done */
...
...
@@ -817,7 +817,7 @@ static int ibmveth_poll(struct net_device *netdev, int *budget)
}
static
irqreturn_t
ibmveth_interrupt
(
int
irq
,
void
*
dev_instance
,
struct
pt_regs
*
regs
)
{
{
struct
net_device
*
netdev
=
dev_instance
;
struct
ibmveth_adapter
*
adapter
=
netdev
->
priv
;
unsigned
long
lpar_rc
;
...
...
@@ -873,7 +873,7 @@ static void ibmveth_set_multicast_list(struct net_device *netdev)
ibmveth_error_printk
(
"h_multicast_ctrl rc=%ld when adding an entry to the filter table
\n
"
,
lpar_rc
);
}
}
/* re-enable filtering */
lpar_rc
=
h_multicast_ctrl
(
adapter
->
vdev
->
unit_address
,
IbmVethMcastEnableFiltering
,
...
...
@@ -915,7 +915,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
unsigned
int
*
mcastFilterSize_p
;
ibmveth_debug_printk_no_adapter
(
"entering ibmveth_probe for UA 0x%x
\n
"
,
ibmveth_debug_printk_no_adapter
(
"entering ibmveth_probe for UA 0x%x
\n
"
,
dev
->
unit_address
);
mac_addr_p
=
(
unsigned
char
*
)
vio_get_attribute
(
dev
,
VETH_MAC_ADDR
,
0
);
...
...
@@ -924,7 +924,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
"attribute
\n
"
,
__FILE__
,
__LINE__
);
return
0
;
}
mcastFilterSize_p
=
(
unsigned
int
*
)
vio_get_attribute
(
dev
,
VETH_MCAST_FILTER_SIZE
,
0
);
if
(
!
mcastFilterSize_p
)
{
printk
(
KERN_ERR
"(%s:%3.3d) ERROR: Can't find "
...
...
@@ -932,7 +932,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
__FILE__
,
__LINE__
);
return
0
;
}
netdev
=
alloc_etherdev
(
sizeof
(
struct
ibmveth_adapter
));
if
(
!
netdev
)
...
...
@@ -948,13 +948,13 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
adapter
->
netdev
=
netdev
;
adapter
->
mcastFilterSize
=
*
mcastFilterSize_p
;
adapter
->
pool_config
=
0
;
/* Some older boxes running PHYP non-natively have an OF that
returns a 8-byte local-mac-address field (and the first
returns a 8-byte local-mac-address field (and the first
2 bytes have to be ignored) while newer boxes' OF return
a 6-byte field. Note that IEEE 1275 specifies that
a 6-byte field. Note that IEEE 1275 specifies that
local-mac-address must be a 6-byte field.
The RPA doc specifies that the first byte must be 10b, so
The RPA doc specifies that the first byte must be 10b, so
we'll just look for it to solve this 8 vs. 6 byte field issue */
if
((
*
mac_addr_p
&
0x3
)
!=
0x02
)
...
...
@@ -964,7 +964,7 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
memcpy
(
&
adapter
->
mac_addr
,
mac_addr_p
,
6
);
adapter
->
liobn
=
dev
->
iommu_table
->
it_index
;
netdev
->
irq
=
dev
->
irq
;
netdev
->
open
=
ibmveth_open
;
netdev
->
poll
=
ibmveth_poll
;
...
...
@@ -977,15 +977,15 @@ static int __devinit ibmveth_probe(struct vio_dev *dev, const struct vio_device_
netdev
->
ethtool_ops
=
&
netdev_ethtool_ops
;
netdev
->
change_mtu
=
ibmveth_change_mtu
;
SET_NETDEV_DEV
(
netdev
,
&
dev
->
dev
);
netdev
->
features
|=
NETIF_F_LLTX
;
netdev
->
features
|=
NETIF_F_LLTX
;
spin_lock_init
(
&
adapter
->
stats_lock
);
memcpy
(
&
netdev
->
dev_addr
,
&
adapter
->
mac_addr
,
netdev
->
addr_len
);
for
(
i
=
0
;
i
<
IbmVethNumBufferPools
;
i
++
)
{
struct
kobject
*
kobj
=
&
adapter
->
rx_buff_pool
[
i
].
kobj
;
ibmveth_init_buffer_pool
(
&
adapter
->
rx_buff_pool
[
i
],
i
,
pool_count
[
i
],
pool_size
[
i
],
ibmveth_init_buffer_pool
(
&
adapter
->
rx_buff_pool
[
i
],
i
,
pool_count
[
i
],
pool_size
[
i
],
pool_active
[
i
]);
kobj
->
parent
=
&
dev
->
dev
.
kobj
;
sprintf
(
kobj
->
name
,
"pool%d"
,
i
);
...
...
@@ -1047,7 +1047,7 @@ static void ibmveth_proc_unregister_driver(void)
remove_proc_entry
(
IBMVETH_PROC_DIR
,
NULL
);
}
static
void
*
ibmveth_seq_start
(
struct
seq_file
*
seq
,
loff_t
*
pos
)
static
void
*
ibmveth_seq_start
(
struct
seq_file
*
seq
,
loff_t
*
pos
)
{
if
(
*
pos
==
0
)
{
return
(
void
*
)
1
;
...
...
@@ -1062,18 +1062,18 @@ static void *ibmveth_seq_next(struct seq_file *seq, void *v, loff_t *pos)
return
NULL
;
}
static
void
ibmveth_seq_stop
(
struct
seq_file
*
seq
,
void
*
v
)
static
void
ibmveth_seq_stop
(
struct
seq_file
*
seq
,
void
*
v
)
{
}
static
int
ibmveth_seq_show
(
struct
seq_file
*
seq
,
void
*
v
)
static
int
ibmveth_seq_show
(
struct
seq_file
*
seq
,
void
*
v
)
{
struct
ibmveth_adapter
*
adapter
=
seq
->
private
;
char
*
current_mac
=
((
char
*
)
&
adapter
->
netdev
->
dev_addr
);
char
*
firmware_mac
=
((
char
*
)
&
adapter
->
mac_addr
)
;
seq_printf
(
seq
,
"%s %s
\n\n
"
,
ibmveth_driver_string
,
ibmveth_driver_version
);
seq_printf
(
seq
,
"Unit Address: 0x%x
\n
"
,
adapter
->
vdev
->
unit_address
);
seq_printf
(
seq
,
"LIOBN: 0x%lx
\n
"
,
adapter
->
liobn
);
seq_printf
(
seq
,
"Current MAC: %02X:%02X:%02X:%02X:%02X:%02X
\n
"
,
...
...
@@ -1082,7 +1082,7 @@ static int ibmveth_seq_show(struct seq_file *seq, void *v)
seq_printf
(
seq
,
"Firmware MAC: %02X:%02X:%02X:%02X:%02X:%02X
\n
"
,
firmware_mac
[
0
],
firmware_mac
[
1
],
firmware_mac
[
2
],
firmware_mac
[
3
],
firmware_mac
[
4
],
firmware_mac
[
5
]);
seq_printf
(
seq
,
"
\n
Adapter Statistics:
\n
"
);
seq_printf
(
seq
,
" TX: skbuffs linearized: %ld
\n
"
,
adapter
->
tx_linearized
);
seq_printf
(
seq
,
" multi-descriptor sends: %ld
\n
"
,
adapter
->
tx_multidesc_send
);
...
...
@@ -1094,7 +1094,7 @@ static int ibmveth_seq_show(struct seq_file *seq, void *v)
seq_printf
(
seq
,
" add buffer failures: %ld
\n
"
,
adapter
->
replenish_add_buff_failure
);
seq_printf
(
seq
,
" invalid buffers: %ld
\n
"
,
adapter
->
rx_invalid_buffer
);
seq_printf
(
seq
,
" no buffers: %ld
\n
"
,
adapter
->
rx_no_buffer
);
return
0
;
}
static
struct
seq_operations
ibmveth_seq_ops
=
{
...
...
@@ -1152,11 +1152,11 @@ static void ibmveth_proc_unregister_adapter(struct ibmveth_adapter *adapter)
}
#else
/* CONFIG_PROC_FS */
static
void
ibmveth_proc_register_adapter
(
struct
ibmveth_adapter
*
adapter
)
static
void
ibmveth_proc_register_adapter
(
struct
ibmveth_adapter
*
adapter
)
{
}
static
void
ibmveth_proc_unregister_adapter
(
struct
ibmveth_adapter
*
adapter
)
static
void
ibmveth_proc_unregister_adapter
(
struct
ibmveth_adapter
*
adapter
)
{
}
static
void
ibmveth_proc_register_driver
(
void
)
...
...
@@ -1175,7 +1175,7 @@ static struct attribute veth_size_attr;
static
ssize_t
veth_pool_show
(
struct
kobject
*
kobj
,
struct
attribute
*
attr
,
char
*
buf
)
{
struct
ibmveth_buff_pool
*
pool
=
container_of
(
kobj
,
struct
ibmveth_buff_pool
*
pool
=
container_of
(
kobj
,
struct
ibmveth_buff_pool
,
kobj
);
...
...
@@ -1191,10 +1191,10 @@ static ssize_t veth_pool_show(struct kobject * kobj,
static
ssize_t
veth_pool_store
(
struct
kobject
*
kobj
,
struct
attribute
*
attr
,
const
char
*
buf
,
size_t
count
)
{
struct
ibmveth_buff_pool
*
pool
=
container_of
(
kobj
,
struct
ibmveth_buff_pool
*
pool
=
container_of
(
kobj
,
struct
ibmveth_buff_pool
,
kobj
);
struct
net_device
*
netdev
=
struct
net_device
*
netdev
=
container_of
(
kobj
->
parent
,
struct
device
,
kobj
)
->
driver_data
;
struct
ibmveth_adapter
*
adapter
=
netdev
->
priv
;
long
value
=
simple_strtol
(
buf
,
NULL
,
10
);
...
...
@@ -1323,7 +1323,7 @@ static void __exit ibmveth_module_exit(void)
{
vio_unregister_driver
(
&
ibmveth_driver
);
ibmveth_proc_unregister_driver
();
}
}
module_init
(
ibmveth_module_init
);
module_exit
(
ibmveth_module_exit
);
drivers/net/ibmveth.h
View file @
d7fbeba6
...
...
@@ -139,7 +139,7 @@ struct ibmveth_adapter {
spinlock_t
stats_lock
;
};
struct
ibmveth_buf_desc_fields
{
struct
ibmveth_buf_desc_fields
{
u32
valid
:
1
;
u32
toggle
:
1
;
u32
reserved
:
6
;
...
...
@@ -148,7 +148,7 @@ struct ibmveth_buf_desc_fields {
};
union
ibmveth_buf_desc
{
u64
desc
;
u64
desc
;
struct
ibmveth_buf_desc_fields
fields
;
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment