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
2d691920
Commit
2d691920
authored
Jul 24, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
http://linux-isdn.bkbits.net/linux-2.5.isdn
into home.osdl.org:/home/torvalds/v2.5/linux
parents
03b0b9ec
bb4e009a
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
112 additions
and
95 deletions
+112
-95
drivers/isdn/hardware/eicon/capimain.c
drivers/isdn/hardware/eicon/capimain.c
+0
-3
drivers/isdn/hardware/eicon/diva_didd.c
drivers/isdn/hardware/eicon/diva_didd.c
+0
-3
drivers/isdn/hardware/eicon/divamnt.c
drivers/isdn/hardware/eicon/divamnt.c
+0
-3
drivers/isdn/hardware/eicon/divasi.c
drivers/isdn/hardware/eicon/divasi.c
+0
-3
drivers/isdn/hardware/eicon/divasmain.c
drivers/isdn/hardware/eicon/divasmain.c
+2
-9
drivers/isdn/hardware/eicon/i4lididrv.c
drivers/isdn/hardware/eicon/i4lididrv.c
+0
-3
drivers/isdn/hisax/avm_pci.c
drivers/isdn/hisax/avm_pci.c
+3
-6
drivers/isdn/hisax/config.c
drivers/isdn/hisax/config.c
+100
-60
drivers/isdn/hisax/fsm.c
drivers/isdn/hisax/fsm.c
+1
-1
drivers/isdn/hisax/st5481_init.c
drivers/isdn/hisax/st5481_init.c
+2
-1
drivers/isdn/i4l/isdn_common.c
drivers/isdn/i4l/isdn_common.c
+2
-3
kernel/sched.c
kernel/sched.c
+2
-0
No files found.
drivers/isdn/hardware/eicon/capimain.c
View file @
2d691920
...
...
@@ -160,8 +160,6 @@ static int DIVA_INIT_FUNCTION divacapi_init(void)
char
tmprev
[
32
];
int
ret
=
0
;
MOD_INC_USE_COUNT
;
sprintf
(
DRIVERRELEASE
,
"%d.%d%s"
,
DRRELMAJOR
,
DRRELMINOR
,
DRRELEXTRA
);
...
...
@@ -177,7 +175,6 @@ static int DIVA_INIT_FUNCTION divacapi_init(void)
ret
=
-
EIO
;
}
MOD_DEC_USE_COUNT
;
return
ret
;
}
...
...
drivers/isdn/hardware/eicon/diva_didd.c
View file @
2d691920
...
...
@@ -135,8 +135,6 @@ static int DIVA_INIT_FUNCTION divadidd_init(void)
char
tmprev
[
32
];
int
ret
=
0
;
MOD_INC_USE_COUNT
;
printk
(
KERN_INFO
"%s
\n
"
,
DRIVERNAME
);
printk
(
KERN_INFO
"%s: Rel:%s Rev:"
,
DRIVERLNAME
,
DRIVERRELEASE
);
strcpy
(
tmprev
,
main_revision
);
...
...
@@ -159,7 +157,6 @@ static int DIVA_INIT_FUNCTION divadidd_init(void)
}
out:
MOD_DEC_USE_COUNT
;
return
(
ret
);
}
...
...
drivers/isdn/hardware/eicon/divamnt.c
View file @
2d691920
...
...
@@ -442,8 +442,6 @@ static int DIVA_INIT_FUNCTION maint_init(void)
int
ret
=
0
;
void
*
buffer
=
0
;
MOD_INC_USE_COUNT
;
do_gettimeofday
(
&
start_time
);
init_waitqueue_head
(
&
msgwaitq
);
...
...
@@ -479,7 +477,6 @@ static int DIVA_INIT_FUNCTION maint_init(void)
(
diva_dbg_mem
==
0
)
?
"internal"
:
"external"
);
out:
MOD_DEC_USE_COUNT
;
return
(
ret
);
}
...
...
drivers/isdn/hardware/eicon/divasi.c
View file @
2d691920
...
...
@@ -192,8 +192,6 @@ static int DIVA_INIT_FUNCTION divasi_init(void)
char
tmprev
[
50
];
int
ret
=
0
;
MOD_INC_USE_COUNT
;
printk
(
KERN_INFO
"%s
\n
"
,
DRIVERNAME
);
printk
(
KERN_INFO
"%s: Rel:%s Rev:"
,
DRIVERLNAME
,
DRIVERRELEASE
);
strcpy
(
tmprev
,
main_revision
);
...
...
@@ -223,7 +221,6 @@ static int DIVA_INIT_FUNCTION divasi_init(void)
}
out:
MOD_DEC_USE_COUNT
;
return
(
ret
);
}
...
...
drivers/isdn/hardware/eicon/divasmain.c
View file @
2d691920
...
...
@@ -508,15 +508,11 @@ int
diva_os_register_io_port
(
int
on
,
unsigned
long
port
,
unsigned
long
length
,
const
char
*
name
)
{
int
ret
;
if
(
on
)
{
if
((
ret
=
check_region
(
port
,
length
))
<
0
)
{
DBG_ERR
((
"A: I/O: can't register port=%08x, error=%d"
,
port
,
ret
))
if
(
!
request_region
(
port
,
length
,
name
))
{
DBG_ERR
((
"A: I/O: can't register port=%08x"
,
port
))
return
(
-
1
);
}
request_region
(
port
,
length
,
name
);
}
else
{
release_region
(
port
,
length
);
}
...
...
@@ -880,8 +876,6 @@ static int DIVA_INIT_FUNCTION divas_init(void)
char
tmprev
[
50
];
int
ret
=
0
;
MOD_INC_USE_COUNT
;
printk
(
KERN_INFO
"%s
\n
"
,
DRIVERNAME
);
printk
(
KERN_INFO
"%s: Rel:%s Rev:"
,
DRIVERLNAME
,
DRIVERRELEASE
);
strcpy
(
tmprev
,
main_revision
);
...
...
@@ -932,7 +926,6 @@ static int DIVA_INIT_FUNCTION divas_init(void)
}
out:
MOD_DEC_USE_COUNT
;
return
(
ret
);
}
...
...
drivers/isdn/hardware/eicon/i4lididrv.c
View file @
2d691920
...
...
@@ -1354,8 +1354,6 @@ i4l_idi_init(void)
status_lock
=
SPIN_LOCK_UNLOCKED
;
ll_lock
=
SPIN_LOCK_UNLOCKED
;
MOD_INC_USE_COUNT
;
if
(
strlen
(
id
)
<
1
)
strcpy
(
id
,
"diva"
);
...
...
@@ -1382,7 +1380,6 @@ i4l_idi_init(void)
create_proc
();
out:
MOD_DEC_USE_COUNT
;
return
(
ret
);
}
...
...
drivers/isdn/hisax/avm_pci.c
View file @
2d691920
...
...
@@ -530,21 +530,17 @@ inithdlc(struct IsdnCardState *cs)
modehdlc
(
cs
->
bcs
+
1
,
-
1
,
1
);
}
static
void
static
irqreturn_t
avm_pcipnp_interrupt
(
int
intno
,
void
*
dev_id
,
struct
pt_regs
*
regs
)
{
struct
IsdnCardState
*
cs
=
dev_id
;
u8
val
;
u8
sval
;
if
(
!
cs
)
{
printk
(
KERN_WARNING
"AVM PCI: Spurious interrupt!
\n
"
);
return
;
}
sval
=
inb
(
cs
->
hw
.
avm
.
cfg_reg
+
2
);
if
((
sval
&
AVM_STATUS0_IRQ_MASK
)
==
AVM_STATUS0_IRQ_MASK
)
/* possible a shared IRQ reqest */
return
;
return
IRQ_NONE
;
if
(
!
(
sval
&
AVM_STATUS0_IRQ_ISAC
))
{
val
=
ReadISAC
(
cs
,
ISAC_ISTA
);
isac_interrupt
(
cs
,
val
);
...
...
@@ -554,6 +550,7 @@ avm_pcipnp_interrupt(int intno, void *dev_id, struct pt_regs *regs)
}
WriteISAC
(
cs
,
ISAC_MASK
,
0xFF
);
WriteISAC
(
cs
,
ISAC_MASK
,
0x0
);
return
IRQ_HANDLED
;
}
static
int
...
...
drivers/isdn/hisax/config.c
View file @
2d691920
...
...
@@ -859,6 +859,65 @@ free_IsdnCardState(struct IsdnCardState *cs)
kfree
(
cs
);
}
static
void
do_register_isdn
(
struct
IsdnCardState
*
cs
)
{
if
(
!
cs
->
iif
.
owner
)
cs
->
iif
.
owner
=
THIS_MODULE
;
cs
->
iif
.
channels
=
2
;
cs
->
iif
.
maxbufsize
=
MAX_DATA_SIZE
;
cs
->
iif
.
hl_hdrlen
=
MAX_HEADER_LEN
;
cs
->
iif
.
features
=
ISDN_FEATURE_L2_X75I
|
ISDN_FEATURE_L2_HDLC
|
ISDN_FEATURE_L2_HDLC_56K
|
ISDN_FEATURE_L2_TRANS
|
ISDN_FEATURE_L3_TRANS
|
#ifdef CONFIG_HISAX_1TR6
ISDN_FEATURE_P_1TR6
|
#endif
#ifdef CONFIG_HISAX_EURO
ISDN_FEATURE_P_EURO
|
#endif
#ifdef CONFIG_HISAX_NI1
ISDN_FEATURE_P_NI1
|
#endif
0
;
cs
->
iif
.
command
=
HiSax_command
;
cs
->
iif
.
writecmd
=
NULL
;
cs
->
iif
.
writebuf_skb
=
HiSax_writebuf_skb
;
cs
->
iif
.
readstat
=
HiSax_readstatus
;
register_isdn
(
&
cs
->
iif
);
cs
->
myid
=
cs
->
iif
.
channels
;
printk
(
KERN_INFO
"HiSax: Card %d Protocol %s Id=%s (%d)
\n
"
,
cs
->
cardnr
+
1
,
(
cs
->
protocol
==
ISDN_PTYPE_1TR6
)
?
"1TR6"
:
(
cs
->
protocol
==
ISDN_PTYPE_EURO
)
?
"EDSS1"
:
(
cs
->
protocol
==
ISDN_PTYPE_LEASED
)
?
"LEASED"
:
(
cs
->
protocol
==
ISDN_PTYPE_NI1
)
?
"NI1"
:
"NONE"
,
cs
->
iif
.
id
,
cs
->
myid
);
}
static
int
do_init
(
struct
IsdnCardState
*
cs
)
{
int
ret
;
init_tei
(
cs
,
cs
->
protocol
);
ret
=
CallcNewChan
(
cs
);
if
(
ret
)
return
-
EIO
;
/* ISAR needs firmware download first */
if
(
!
test_bit
(
HW_ISAR
,
&
cs
->
HW_Flags
))
ll_run
(
cs
,
0
);
return
0
;
}
static
int
__devinit
checkcard
(
int
cardnr
,
char
*
id
,
int
*
busy_flag
)
{
int
ret
=
0
;
...
...
@@ -889,41 +948,8 @@ static int __devinit checkcard(int cardnr, char *id, int *busy_flag)
"HiSax: Card Type %d out of range
\n
"
,
card
->
typ
);
goto
outf_cs
;
}
cs
->
iif
.
owner
=
THIS_MODULE
;
strcpy
(
cs
->
iif
.
id
,
id
);
cs
->
iif
.
channels
=
2
;
cs
->
iif
.
maxbufsize
=
MAX_DATA_SIZE
;
cs
->
iif
.
hl_hdrlen
=
MAX_HEADER_LEN
;
cs
->
iif
.
features
=
ISDN_FEATURE_L2_X75I
|
ISDN_FEATURE_L2_HDLC
|
ISDN_FEATURE_L2_HDLC_56K
|
ISDN_FEATURE_L2_TRANS
|
ISDN_FEATURE_L3_TRANS
|
#ifdef CONFIG_HISAX_1TR6
ISDN_FEATURE_P_1TR6
|
#endif
#ifdef CONFIG_HISAX_EURO
ISDN_FEATURE_P_EURO
|
#endif
#ifdef CONFIG_HISAX_NI1
ISDN_FEATURE_P_NI1
|
#endif
0
;
cs
->
iif
.
command
=
HiSax_command
;
cs
->
iif
.
writecmd
=
NULL
;
cs
->
iif
.
writebuf_skb
=
HiSax_writebuf_skb
;
cs
->
iif
.
readstat
=
HiSax_readstatus
;
register_isdn
(
&
cs
->
iif
);
cs
->
myid
=
cs
->
iif
.
channels
;
printk
(
KERN_INFO
"HiSax: Card %d Protocol %s Id=%s (%d)
\n
"
,
cardnr
+
1
,
(
card
->
protocol
==
ISDN_PTYPE_1TR6
)
?
"1TR6"
:
(
card
->
protocol
==
ISDN_PTYPE_EURO
)
?
"EDSS1"
:
(
card
->
protocol
==
ISDN_PTYPE_LEASED
)
?
"LEASED"
:
(
card
->
protocol
==
ISDN_PTYPE_NI1
)
?
"NI1"
:
"NONE"
,
cs
->
iif
.
id
,
cs
->
myid
);
do_register_isdn
(
cs
);
switch
(
card
->
typ
)
{
#ifdef CONFIG_HISAX_16_0
case
ISDN_CTYPE_16_0
:
...
...
@@ -1117,17 +1143,11 @@ static int __devinit checkcard(int cardnr, char *id, int *busy_flag)
ret
=
0
;
goto
outf_cs
;
}
init_tei
(
cs
,
cs
->
protocol
);
ret
=
CallcNewChan
(
cs
);
if
(
ret
)
{
if
(
do_init
(
cs
))
{
closecard
(
cardnr
);
ret
=
0
;
goto
outf_cs
;
}
/* ISAR needs firmware download first */
if
(
!
test_bit
(
HW_ISAR
,
&
cs
->
HW_Flags
))
ll_run
(
cs
,
0
);
ret
=
1
;
goto
out
;
...
...
@@ -1677,43 +1697,61 @@ static void hisax_bc_close(struct BCState *bcs);
static
void
hisax_bh
(
void
*
data
);
static
void
EChannel_proc_rcv
(
struct
hisax_d_if
*
d_if
);
static
int
hisax_l1_open
(
struct
PStack
*
st
,
struct
IsdnCardState
*
cs
)
{
st
->
l1
.
l2l1
=
hisax_d_l2l1
;
return
0
;
}
static
struct
dc_l1_ops
hisax_l1_ops
=
{
.
open
=
hisax_l1_open
,
.
bh_func
=
hisax_bh
,
};
static
struct
bc_l1_ops
hisax_bc_l1_ops
=
{
.
open
=
hisax_bc_setstack
,
.
close
=
hisax_bc_close
,
};
int
hisax_register
(
struct
hisax_d_if
*
hisax_d_if
,
struct
hisax_b_if
*
b_if
[],
char
*
name
,
int
protocol
)
{
int
i
,
retval
;
char
id
[
20
];
int
i
;
struct
IsdnCardState
*
cs
;
for
(
i
=
0
;
i
<
HISAX_MAX_CARDS
;
i
++
)
{
if
(
!
cards
[
i
].
typ
)
break
;
}
if
(
i
>=
HISAX_MAX_CARDS
)
return
-
EBUSY
;
cards
[
i
].
typ
=
ISDN_CTYPE_DYNAMIC
;
cards
[
i
].
protocol
=
protocol
;
sprintf
(
id
,
"%s%d"
,
name
,
i
);
nrcards
++
;
retval
=
checkcard
(
i
,
id
,
0
);
if
(
retval
==
0
)
{
// yuck
cards
[
i
].
typ
=
0
;
nrcards
--
;
return
retval
;
}
cs
=
cards
[
i
].
cs
;
cs
=
alloc_IsdnCardState
();
if
(
!
cs
)
return
-
ENOMEM
;
#if TEI_PER_CARD
if
(
protocol
==
ISDN_PTYPE_NI1
)
test_and_set_bit
(
FLG_TWO_DCHAN
,
&
cs
->
HW_Flags
);
#else
test_and_set_bit
(
FLG_TWO_DCHAN
,
&
cs
->
HW_Flags
);
#endif
cs
->
cardnr
=
i
;
cs
->
protocol
=
protocol
;
cs
->
typ
=
ISDN_CTYPE_DYNAMIC
;
sprintf
(
cs
->
iif
.
id
,
"%s%d"
,
name
,
i
);
do_register_isdn
(
cs
);
hisax_d_if
->
cs
=
cs
;
cs
->
hw
.
hisax_d_if
=
hisax_d_if
;
cs
->
iif
.
owner
=
hisax_d_if
->
owner
;
// FIXME should be done before registering
cs
->
iif
.
owner
=
hisax_d_if
->
owner
;
dc_l1_init
(
cs
,
&
hisax_l1_ops
);
cs
->
channel
[
0
].
d_st
->
l1
.
l2l1
=
hisax_d_l2l1
;
cs
->
bc_l1_ops
->
open
=
hisax_bc_setstack
;
cs
->
bc_l1_ops
->
close
=
hisax_bc_close
;
cs
->
bc_l1_ops
=
&
hisax_bc_l1_ops
;
for
(
i
=
0
;
i
<
2
;
i
++
)
{
b_if
[
i
]
->
ifc
.
l1l2
=
hisax_b_l1l2
;
...
...
@@ -1724,6 +1762,8 @@ int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[],
skb_queue_head_init
(
&
hisax_d_if
->
erq
);
clear_bit
(
0
,
&
hisax_d_if
->
ph_state
);
do_init
(
cs
);
return
0
;
}
...
...
drivers/isdn/hisax/fsm.c
View file @
2d691920
...
...
@@ -20,7 +20,7 @@
#define FSM_TIMER_DEBUG 0
int
__init
int
FsmNew
(
struct
Fsm
*
fsm
,
struct
FsmNode
*
fnlist
,
int
fncount
)
{
int
i
;
...
...
drivers/isdn/hisax/st5481_init.c
View file @
2d691920
...
...
@@ -196,7 +196,7 @@ static int __init st5481_usb_init(void)
st5481_debug
=
debug
;
#endif
printk
(
KERN_INFO
"hiax_st5481: ST5481 USB ISDN driver v0.1.0
\n
"
);
printk
(
KERN_INFO
"hi
s
ax_st5481: ST5481 USB ISDN driver v0.1.0
\n
"
);
retval
=
st5481_d_init
();
if
(
retval
<
0
)
...
...
@@ -217,6 +217,7 @@ static int __init st5481_usb_init(void)
static
void
__exit
st5481_usb_exit
(
void
)
{
usb_deregister
(
&
st5481_usb_driver
);
st5481_d_exit
();
}
module_init
(
st5481_usb_init
);
...
...
drivers/isdn/i4l/isdn_common.c
View file @
2d691920
...
...
@@ -534,8 +534,7 @@ get_drv_by_nr(int di)
unsigned
long
flags
;
struct
isdn_driver
*
drv
;
if
(
di
<
0
)
return
NULL
;
BUG_ON
(
di
<
0
||
di
>=
ISDN_MAX_DRIVERS
);
spin_lock_irqsave
(
&
drivers_lock
,
flags
);
drv
=
drivers
[
di
];
...
...
@@ -1148,7 +1147,7 @@ get_slot_by_minor(int minor)
int
di
,
ch
;
struct
isdn_driver
*
drv
;
for
(
di
=
0
;
di
<
ISDN_MAX_
CHANNEL
S
;
di
++
)
{
for
(
di
=
0
;
di
<
ISDN_MAX_
DRIVER
S
;
di
++
)
{
drv
=
get_drv_by_nr
(
di
);
if
(
!
drv
)
continue
;
...
...
kernel/sched.c
View file @
2d691920
...
...
@@ -1151,6 +1151,8 @@ static inline void rebalance_tick(runqueue_t *this_rq, int idle)
DEFINE_PER_CPU
(
struct
kernel_stat
,
kstat
)
=
{
{
0
}
};
EXPORT_PER_CPU_SYMBOL
(
kstat
);
/*
* We place interactive tasks back into the active array, if possible.
*
...
...
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