Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
3642fd58
Commit
3642fd58
authored
Dec 04, 2002
by
Patrick Mochel
Browse files
Options
Browse Files
Download
Plain Diff
Merge osdl.org:/home/mochel/src/kernel/devel/linux-2.5-virgin
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-core
parents
8bed75c8
d3b2fbb5
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
62 additions
and
40 deletions
+62
-40
Documentation/networking/netdevices.txt
Documentation/networking/netdevices.txt
+19
-14
drivers/char/ppdev.c
drivers/char/ppdev.c
+2
-0
drivers/net/ewrk3.c
drivers/net/ewrk3.c
+13
-14
drivers/net/r8169.c
drivers/net/r8169.c
+3
-3
drivers/net/sk98lin/h/skgehw.h
drivers/net/sk98lin/h/skgehw.h
+0
-1
drivers/net/skfp/h/skfbi.h
drivers/net/skfp/h/skfbi.h
+0
-1
drivers/net/tulip/de2104x.c
drivers/net/tulip/de2104x.c
+1
-3
include/linux/i2c-id.h
include/linux/i2c-id.h
+9
-1
include/linux/i2c.h
include/linux/i2c.h
+0
-1
include/linux/init.h
include/linux/init.h
+12
-1
net/netlink/netlink_dev.c
net/netlink/netlink_dev.c
+3
-1
No files found.
Documentation/networking/netdevices.txt
View file @
3642fd58
...
...
@@ -12,31 +12,36 @@ network devices.
struct net_device synchronization rules
=======================================
dev->open:
Locking: Inside
rtnl_lock() semaphore.
Sleeping: OK
Synchronization:
rtnl_lock() semaphore.
Context: process
dev->stop:
Locking: Inside rtnl_lock() semaphore.
Sleeping: OK
Synchronization: rtnl_lock() semaphore.
Context: process
Notes: netif_running() is guaranteed false when this is called
dev->do_ioctl:
Locking: Inside
rtnl_lock() semaphore.
Sleeping: OK
Synchronization:
rtnl_lock() semaphore.
Context: process
dev->get_stats:
Locking: Inside dev_base_lock spin
lock.
Sleeping: NO
Synchronization: dev_base_lock rw
lock.
Context: nominally process, but don't sleep inside an rwlock
dev->hard_start_xmit:
Locking: Inside
dev->xmit_lock spinlock.
Sleeping: NO
Synchronization:
dev->xmit_lock spinlock.
Context: BHs disabled
dev->tx_timeout:
Locking: Inside
dev->xmit_lock spinlock.
Sleeping: NO
Synchronization:
dev->xmit_lock spinlock.
Context: BHs disabled
dev->set_multicast_list:
Locking: Inside
dev->xmit_lock spinlock.
Sleeping: NO
Synchronization:
dev->xmit_lock spinlock.
Context: BHs disabled
dev->poll:
Synchronization: __LINK_STATE_RX_SCHED bit in dev->state. See
dev_close code and comments in net/core/dev.c for more info.
Context: softirq
drivers/char/ppdev.c
View file @
3642fd58
...
...
@@ -751,6 +751,8 @@ static struct file_operations pp_fops = {
static
int
__init
ppdev_init
(
void
)
{
int
i
;
if
(
register_chrdev
(
PP_MAJOR
,
CHRDEV
,
&
pp_fops
))
{
printk
(
KERN_WARNING
CHRDEV
": unable to get major %d
\n
"
,
PP_MAJOR
);
...
...
drivers/net/ewrk3.c
View file @
3642fd58
...
...
@@ -707,12 +707,20 @@ static void ewrk3_init(struct net_device *dev)
struct
ewrk3_private
*
lp
=
(
struct
ewrk3_private
*
)
dev
->
priv
;
u_char
csr
,
page
;
u_long
iobase
=
dev
->
base_addr
;
int
i
;
/*
** Enable any multicasts
*/
set_multicast_list
(
dev
);
/*
** Set hardware MAC address. Address is initialized from the EEPROM
** during startup but may have since been changed by the user.
*/
for
(
i
=
0
;
i
<
ETH_ALEN
;
i
++
)
outb
(
dev
->
dev_addr
[
i
],
EWRK3_PAR0
+
i
);
/*
** Clean out any remaining entries in all the queues here
*/
...
...
@@ -1754,23 +1762,17 @@ static int ewrk3_ethtool_ioctl(struct net_device *dev, void *useraddr)
return
0
;
}
#ifdef BROKEN
/* Blink LED for identification */
case
ETHTOOL_PHYS_ID
:
{
struct
ethtool_value
edata
;
u_long
flags
;
long
delay
,
ret
;
u_char
cr
;
int
count
;
wait_queue_head_t
wait
;
init_waitqueue_head
(
&
wait
);
if
(
copy_from_user
(
&
edata
,
useraddr
,
sizeof
(
edata
)))
return
-
EFAULT
;
/* Toggle LED 4x per second */
delay
=
HZ
>>
2
;
count
=
edata
.
data
<<
2
;
spin_lock_irqsave
(
&
lp
->
hw_lock
,
flags
);
...
...
@@ -1791,24 +1793,21 @@ static int ewrk3_ethtool_ioctl(struct net_device *dev, void *useraddr)
/* Wait a little while */
spin_unlock_irqrestore
(
&
lp
->
hw_lock
,
flags
);
ret
=
delay
;
__wait_event_interruptible_timeout
(
wait
,
0
,
ret
);
set_current_state
(
TASK_UNINTERRUPTIBLE
)
;
schedule_timeout
(
HZ
>>
2
);
spin_lock_irqsave
(
&
lp
->
hw_lock
,
flags
);
/* Exit if we got a signal */
if
(
ret
==
-
ERESTARTSYS
)
goto
out
;
if
(
signal_pending
(
current
)
)
break
;
}
ret
=
0
;
out:
lp
->
led_mask
=
CR_LED
;
cr
=
inb
(
EWRK3_CR
);
outb
(
cr
&
~
CR_LED
,
EWRK3_CR
);
spin_unlock_irqrestore
(
&
lp
->
hw_lock
,
flags
);
return
ret
;
return
signal_pending
(
current
)
?
-
ERESTARTSYS
:
0
;
}
#endif
/* BROKEN */
}
...
...
drivers/net/r8169.c
View file @
3642fd58
...
...
@@ -508,7 +508,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
spin_lock_init
(
&
tp
->
lock
);
p
dev
->
driver_data
=
dev
;
p
ci_set_drvdata
(
pdev
,
dev
)
;
printk
(
KERN_INFO
"%s: %s at 0x%lx, "
"%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x, "
...
...
@@ -618,7 +618,7 @@ rtl8169_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
static
void
__devexit
rtl8169_remove_one
(
struct
pci_dev
*
pdev
)
{
struct
net_device
*
dev
=
p
dev
->
driver_data
;
struct
net_device
*
dev
=
p
ci_get_drvdata
(
pdev
)
;
struct
rtl8169_private
*
tp
=
(
struct
rtl8169_private
*
)
(
dev
->
priv
);
assert
(
dev
!=
NULL
);
...
...
@@ -633,7 +633,7 @@ rtl8169_remove_one(struct pci_dev *pdev)
sizeof
(
struct
net_device
)
+
sizeof
(
struct
rtl8169_private
));
kfree
(
dev
);
p
dev
->
driver_data
=
NULL
;
p
ci_set_drvdata
(
pdev
,
NULL
)
;
}
static
int
...
...
drivers/net/sk98lin/h/skgehw.h
View file @
3642fd58
...
...
@@ -384,7 +384,6 @@ extern "C" {
/* VPD Region */
/* PCI_VPD_ADR_REG 16 bit VPD Address Register */
#define PCI_VPD_FLAG (1L<<15)
/* Bit 15: starts VPD rd/wd cycle*/
#define PCI_VPD_ADDR (0x3fffL<<0)
/* Bit 14..0: VPD address */
/*
* Control Register File:
...
...
drivers/net/skfp/h/skfbi.h
View file @
3642fd58
...
...
@@ -1039,7 +1039,6 @@
/* PCI_VPD_NITEM 8 bit (ML) Next Item Ptr */
/* PCI_VPD_ADR_REG 16 bit (ML) VPD Address Register */
#define PCI_VPD_FLAG (1<<15)
/* Bit 15 starts VPD rd/wd cycle*/
#define PCI_VPD_ADDR (0x3fff<<0)
/* Bit 0..14 VPD address */
/* PCI_VPD_DAT_REG 32 bit (ML) VPD Data Register */
...
...
drivers/net/tulip/de2104x.c
View file @
3642fd58
...
...
@@ -2014,7 +2014,6 @@ static int __init de_init_one (struct pci_dev *pdev,
dev
->
watchdog_timeo
=
TX_TIMEOUT
;
dev
->
irq
=
pdev
->
irq
;
init_timer
(
&
de
->
media_timer
);
de
=
dev
->
priv
;
de
->
de21040
=
ent
->
driver_data
==
0
?
1
:
0
;
...
...
@@ -2217,8 +2216,7 @@ static struct pci_driver de_driver = {
.
name
=
DRV_NAME
,
.
id_table
=
de_pci_tbl
,
.
probe
=
de_init_one
,
#warning only here to fix build. should be __exit_p not __devexit_p.
.
remove
=
__devexit_p
(
de_remove_one
),
.
remove
=
__exit_p
(
de_remove_one
),
#ifdef CONFIG_PM
.
suspend
=
de_suspend
,
.
resume
=
de_resume
,
...
...
include/linux/i2c-id.h
View file @
3642fd58
...
...
@@ -20,7 +20,7 @@
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* ------------------------------------------------------------------------- */
/* $Id: i2c-id.h,v 1.5
2 2002/07/10 13:28:44 abz
Exp $ */
/* $Id: i2c-id.h,v 1.5
6 2002/10/13 15:50:02 mds
Exp $ */
#ifndef I2C_ID_H
#define I2C_ID_H
...
...
@@ -143,6 +143,8 @@
#define I2C_DRIVERID_SMSC47M1 1031
#define I2C_DRIVERID_VT1211 1032
#define I2C_DRIVERID_LM92 1033
#define I2C_DRIVERID_VT8231 1034
#define I2C_DRIVERID_SMARTBATT 1035
/*
* ---- Adapter types ----------------------------------------------------
...
...
@@ -161,6 +163,7 @@
#define I2C_ALGO_ACB 0x070000
/* ACCESS.bus algorithm */
#define I2C_ALGO_IIC 0x080000
/* ITE IIC bus */
#define I2C_ALGO_SAA7134 0x090000
#define I2C_ALGO_MPC824X 0x0a0000
/* Motorola 8240 / 8245 */
#define I2C_ALGO_EC 0x100000
/* ACPI embedded controller */
#define I2C_ALGO_MPC8XX 0x110000
/* MPC8xx PowerPC I2C algorithm */
...
...
@@ -206,6 +209,9 @@
/* --- ACPI Embedded controller algorithms */
#define I2C_HW_ACPI_EC 0x00
/* --- MPC824x PowerPC adapters */
#define I2C_HW_MPC824X 0x00
/* Motorola 8240 / 8245 */
/* --- MPC8xx PowerPC adapters */
#define I2C_HW_MPC8XX_EPON 0x00
/* Eponymous MPC8xx I2C adapter */
...
...
@@ -225,6 +231,8 @@
#define I2C_HW_SMBUS_AMD756 0x05
#define I2C_HW_SMBUS_SIS5595 0x06
#define I2C_HW_SMBUS_ALI1535 0x07
#define I2C_HW_SMBUS_SIS630 0x08
#define I2C_HW_SMBUS_SIS645 0x09
/* --- ISA pseudo-adapter */
#define I2C_HW_ISA 0x00
...
...
include/linux/i2c.h
View file @
3642fd58
...
...
@@ -66,7 +66,6 @@ struct i2c_driver;
struct
i2c_client_address_data
;
union
i2c_smbus_data
;
/*
* The master routines are the ones normally used to transmit data to devices
* on a bus (or read from them). Apart from two basic transfer functions to
...
...
include/linux/init.h
View file @
3642fd58
...
...
@@ -42,10 +42,15 @@
discard it in modules) */
#define __init __attribute__ ((__section__ (".init.text")))
#define __initdata __attribute__ ((__section__ (".init.data")))
#define __exit __attribute__ ((__section__(".exit.text")))
#define __exitdata __attribute__ ((__section__(".exit.data")))
#define __exit_call __attribute__ ((unused,__section__ (".exitcall.exit")))
#ifdef MODULE
#define __exit __attribute__ ((__section__(".exit.text")))
#else
#define __exit __attribute__ ((unused,__section__(".exit.text")))
#endif
/* For assembly routines */
#define __INIT .section ".init.text","ax"
#define __FINIT .previous
...
...
@@ -185,4 +190,10 @@ extern struct kernel_param __setup_start, __setup_end;
#define __devexit_p(x) NULL
#endif
#ifdef MODULE
#define __exit_p(x) x
#else
#define __exit_p(x) NULL
#endif
#endif
/* _LINUX_INIT_H */
net/netlink/netlink_dev.c
View file @
3642fd58
...
...
@@ -180,7 +180,7 @@ static struct { char *name; int minor; } entries[] = {
{
"route6"
,
11
},
{
"ip6_fw"
,
13
},
{
"dnrtmsg"
,
13
},
}
}
;
static
void
__init
make_devfs_entries
(
const
char
*
name
,
int
minor
)
{
...
...
@@ -192,6 +192,8 @@ static void __init make_devfs_entries (const char *name, int minor)
int
__init
init_netlink
(
void
)
{
int
i
;
if
(
register_chrdev
(
NETLINK_MAJOR
,
"netlink"
,
&
netlink_fops
))
{
printk
(
KERN_ERR
"netlink: unable to get major %d
\n
"
,
NETLINK_MAJOR
);
return
-
EIO
;
...
...
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