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
da6b4703
Commit
da6b4703
authored
Apr 03, 2002
by
Dave Jones
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] The last? strtok fixes.
Hopefully this is all of them..
parent
3c22e98a
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
113 additions
and
183 deletions
+113
-183
arch/s390/kernel/s390_ksyms.c
arch/s390/kernel/s390_ksyms.c
+1
-1
arch/s390x/kernel/s390_ksyms.c
arch/s390x/kernel/s390_ksyms.c
+1
-1
drivers/net/wan/sdla_ppp.c
drivers/net/wan/sdla_ppp.c
+2
-2
drivers/scsi/aic7xxx/aic7xxx_linux.c
drivers/scsi/aic7xxx/aic7xxx_linux.c
+5
-4
drivers/scsi/aic7xxx_old.c
drivers/scsi/aic7xxx_old.c
+2
-2
drivers/scsi/tmscsim.c
drivers/scsi/tmscsim.c
+73
-78
drivers/video/amifb.c
drivers/video/amifb.c
+4
-28
drivers/video/atafb.c
drivers/video/atafb.c
+22
-44
drivers/video/aty/atyfb_base.c
drivers/video/aty/atyfb_base.c
+3
-23
No files found.
arch/s390/kernel/s390_ksyms.c
View file @
da6b4703
...
...
@@ -44,7 +44,7 @@ EXPORT_SYMBOL_NOVERS(strncpy);
EXPORT_SYMBOL_NOVERS
(
strnlen
);
EXPORT_SYMBOL_NOVERS
(
strrchr
);
EXPORT_SYMBOL_NOVERS
(
strstr
);
EXPORT_SYMBOL_NOVERS
(
str
tok
);
EXPORT_SYMBOL_NOVERS
(
str
sep
);
EXPORT_SYMBOL_NOVERS
(
strpbrk
);
/*
...
...
arch/s390x/kernel/s390_ksyms.c
View file @
da6b4703
...
...
@@ -47,7 +47,7 @@ EXPORT_SYMBOL_NOVERS(strncpy);
EXPORT_SYMBOL_NOVERS
(
strnlen
);
EXPORT_SYMBOL_NOVERS
(
strrchr
);
EXPORT_SYMBOL_NOVERS
(
strstr
);
EXPORT_SYMBOL_NOVERS
(
str
tok
);
EXPORT_SYMBOL_NOVERS
(
str
sep
);
EXPORT_SYMBOL_NOVERS
(
strpbrk
);
/*
...
...
drivers/net/wan/sdla_ppp.c
View file @
da6b4703
...
...
@@ -1463,11 +1463,11 @@ static int tokenize (char *str, char **tokens)
{
int
cnt
=
0
;
tokens
[
0
]
=
str
tok
(
str
,
"/"
);
tokens
[
0
]
=
str
sep
(
&
str
,
"/"
);
while
(
tokens
[
cnt
]
&&
(
cnt
<
32
-
1
))
{
tokens
[
cnt
]
=
strstrip
(
tokens
[
cnt
],
"
\t
"
);
tokens
[
++
cnt
]
=
str
tok
(
NULL
,
"/"
);
tokens
[
++
cnt
]
=
str
sep
(
&
str
,
"/"
);
}
return
cnt
;
}
...
...
drivers/scsi/aic7xxx/aic7xxx_linux.c
View file @
da6b4703
...
...
@@ -906,7 +906,7 @@ ahc_softc_comp(struct ahc_softc *lahc, struct ahc_softc *rahc)
}
static
void
ahc_linux_setup_tag_info
(
char
*
p
,
char
*
end
)
ahc_linux_setup_tag_info
(
char
*
p
,
char
*
end
,
char
*
s
)
{
char
*
base
;
char
*
tok
;
...
...
@@ -986,7 +986,7 @@ ahc_linux_setup_tag_info(char *p, char *end)
}
}
while
((
p
!=
base
)
&&
(
p
!=
NULL
))
p
=
str
tok
(
NULL
,
",."
);
p
=
str
sep
(
&
s
,
",."
);
}
/*
...
...
@@ -1018,7 +1018,8 @@ aic7xxx_setup(char *s)
end
=
strchr
(
s
,
'\0'
);
for
(
p
=
strtok
(
s
,
",."
);
p
;
p
=
strtok
(
NULL
,
",."
))
{
while
((
p
=
strsep
(
&
s
,
",."
))
!=
NULL
)
{
if
(
!*
p
)
continue
;
for
(
i
=
0
;
i
<
NUM_ELEMENTS
(
options
);
i
++
)
{
n
=
strlen
(
options
[
i
].
name
);
...
...
@@ -1026,7 +1027,7 @@ aic7xxx_setup(char *s)
continue
;
if
(
strncmp
(
p
,
"tag_info"
,
n
)
==
0
)
{
ahc_linux_setup_tag_info
(
p
+
n
,
end
);
ahc_linux_setup_tag_info
(
p
+
n
,
end
,
s
);
}
else
if
(
p
[
n
]
==
':'
)
{
*
(
options
[
i
].
flag
)
=
simple_strtoul
(
p
+
n
+
1
,
NULL
,
0
);
...
...
drivers/scsi/aic7xxx_old.c
View file @
da6b4703
...
...
@@ -1443,7 +1443,7 @@ aic7xxx_setup(char *s)
end
=
strchr
(
s
,
'\0'
);
for
(
p
=
strtok
(
s
,
",."
);
p
;
p
=
strtok
(
NULL
,
",."
)
)
while
((
p
=
strsep
(
&
s
,
",."
))
!=
NULL
)
{
for
(
i
=
0
;
i
<
NUMBER
(
options
);
i
++
)
{
...
...
@@ -1525,7 +1525,7 @@ aic7xxx_setup(char *s)
}
}
while
((
p
!=
base
)
&&
(
p
!=
NULL
))
p
=
str
tok
(
NULL
,
",."
);
p
=
str
sep
(
&
s
,
",."
);
}
}
else
if
(
p
[
n
]
==
':'
)
...
...
drivers/scsi/tmscsim.c
View file @
da6b4703
...
...
@@ -2468,68 +2468,68 @@ void dc390_sendstart (PACB pACB, PDCB pDCB)
* '-' means no change
*******************************************************************/
static
int
dc390_scanf
(
char
**
p1
,
char
**
p2
,
int
*
var
)
static
int
dc390_scanf
(
char
**
buffer
,
char
**
pos
,
char
**
p0
,
int
*
var
)
{
*
p
2
=
*
p1
;
*
var
=
simple_strtoul
(
*
p
2
,
p1
,
10
);
if
(
*
p
2
==
*
p1
)
return
-
1
;
*
p
1
=
strtok
(
0
,
"
\t\n
:=,;."
);
*
p
0
=
*
pos
;
*
var
=
simple_strtoul
(
*
p
0
,
pos
,
10
);
if
(
*
p
0
==
*
pos
)
return
-
1
;
*
p
os
=
strsep
(
buffer
,
"
\t\n
:=,;."
);
return
0
;
};
#define SCANF(
p1, p2
, var, min, max) \
if (dc390_scanf (&
p1, &p2
, &var)) goto einv; \
#define SCANF(
buffer, pos, p0
, var, min, max) \
if (dc390_scanf (&
buffer, &pos, &p0
, &var)) goto einv; \
else if (var<min || var>max) goto einv2
static
int
dc390_yesno
(
char
**
p
,
char
*
var
,
char
bmask
)
static
int
dc390_yesno
(
char
**
buffer
,
char
**
pos
,
char
*
var
,
char
bmask
)
{
switch
(
**
p
)
switch
(
**
p
os
)
{
case
'Y'
:
*
var
|=
bmask
;
break
;
case
'N'
:
*
var
&=
~
bmask
;
break
;
case
'-'
:
break
;
default:
return
-
1
;
}
*
p
=
strtok
(
0
,
"
\t\n
:=,;"
);
*
p
os
=
strsep
(
buffer
,
"
\t\n
:=,;"
);
return
0
;
};
#define YESNO(
p
, var, bmask) \
if (dc390_yesno (&
p
, &var, bmask)) goto einv; \
#define YESNO(
buffer, pos
, var, bmask) \
if (dc390_yesno (&
buffer, &pos
, &var, bmask)) goto einv; \
else dc390_updateDCB (pACB, pDCB); \
if (!p) goto ok
static
int
dc390_search
(
char
**
p1
,
char
**
p2
,
char
*
var
,
char
*
txt
,
int
max
,
int
scale
,
char
*
ign
)
static
int
dc390_search
(
char
**
buffer
,
char
**
pos
,
char
**
p0
,
char
*
var
,
char
*
txt
,
int
max
,
int
scale
,
char
*
ign
)
{
int
dum
;
if
(
!
memcmp
(
*
p
1
,
txt
,
strlen
(
txt
)))
if
(
!
memcmp
(
*
p
os
,
txt
,
strlen
(
txt
)))
{
*
p
2
=
strtok
(
0
,
"
\t\n
:=,;"
);
if
(
!*
p
2
)
return
-
1
;
dum
=
simple_strtoul
(
*
p
2
,
p1
,
10
);
if
(
*
p
2
==
*
p1
)
return
-
1
;
*
p
0
=
strsep
(
buffer
,
"
\t\n
:=,;"
);
if
(
!*
p
0
)
return
-
1
;
dum
=
simple_strtoul
(
*
p
0
,
pos
,
10
);
if
(
*
p
0
==
*
pos
)
return
-
1
;
if
(
dum
>=
0
&&
dum
<=
max
)
{
*
var
=
(
dum
*
100
)
/
scale
;
}
else
return
-
2
;
*
p
1
=
strtok
(
0
,
"
\t\n
:=,;"
);
if
(
*
ign
&&
*
p
1
&&
strlen
(
*
p1
)
>=
strlen
(
ign
)
&&
!
(
memcmp
(
*
p
1
,
ign
,
strlen
(
ign
))))
*
p
1
=
strtok
(
0
,
"
\t\n
:=,;"
);
*
p
os
=
strsep
(
buffer
,
"
\t\n
:=,;"
);
if
(
*
ign
&&
*
p
os
&&
strlen
(
*
pos
)
>=
strlen
(
ign
)
&&
!
(
memcmp
(
*
p
os
,
ign
,
strlen
(
ign
))))
*
p
os
=
strsep
(
buffer
,
"
\t\n
:=,;"
);
}
return
0
;
};
#define SEARCH(
p1, p2
, var, txt, max) \
if (dc390_search (&
p1, &p2
, (PUCHAR)(&var), txt, max, 100, "")) goto einv2; \
#define SEARCH(
buffer, pos, p0
, var, txt, max) \
if (dc390_search (&
buffer, &pos, &p0
, (PUCHAR)(&var), txt, max, 100, "")) goto einv2; \
else if (!p1) goto ok2
#define SEARCH2(
p1, p2
, var, txt, max, scale) \
if (dc390_search (&
p1, &p2
, &var, txt, max, scale, "")) goto einv2; \
#define SEARCH2(
buffer, pos, p0
, var, txt, max, scale) \
if (dc390_search (&
buffer, &pos, &p0
, &var, txt, max, scale, "")) goto einv2; \
else if (!p1) goto ok2
#define SEARCH3(
p1, p2
, var, txt, max, scale, ign) \
if (dc390_search (&
p1, &p2
, &var, txt, max, scale, ign)) goto einv2; \
#define SEARCH3(
buffer, pos, &p0
, var, txt, max, scale, ign) \
if (dc390_search (&
buffer, &pos, p0
, &var, txt, max, scale, ign)) goto einv2; \
else if (!p1) goto ok2
...
...
@@ -2565,12 +2565,9 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
while
(
*
pos
)
{
if
(
*
pos
>=
'a'
&&
*
pos
<=
'z'
)
*
pos
=
*
pos
+
'A'
-
'a'
;
pos
++
;
};
/* We should protect __strtok ! */
/* spin_lock (strtok_lock); */
/* Remove WS */
pos
=
str
tok
(
buffer
,
"
\t
:
\n
=,;"
);
if
(
!
pos
)
goto
ok
;
pos
=
str
sep
(
&
buffer
,
"
\t
:
\n
=,;"
);
if
(
!
*
pos
)
goto
ok
;
next:
if
(
!
memcmp
(
pos
,
"RESET"
,
5
))
goto
reset
;
...
...
@@ -2586,10 +2583,10 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
int
dev
,
id
,
lun
;
char
*
pdec
;
char
olddevmode
;
SCANF
(
pos
,
p0
,
dev
,
0
,
pACB
->
DCBCnt
-
1
);
if
(
pos
)
{
SCANF
(
pos
,
p0
,
id
,
0
,
7
);
}
else
goto
einv
;
if
(
pos
)
{
SCANF
(
pos
,
p0
,
lun
,
0
,
7
);
}
else
goto
einv
;
if
(
!
pos
)
goto
einv
;
SCANF
(
buffer
,
pos
,
p0
,
dev
,
0
,
pACB
->
DCBCnt
-
1
);
if
(
*
pos
)
{
SCANF
(
buffer
,
pos
,
p0
,
id
,
0
,
7
);
}
else
goto
einv
;
if
(
*
pos
)
{
SCANF
(
buffer
,
pos
,
p0
,
lun
,
0
,
7
);
}
else
goto
einv
;
if
(
!
*
pos
)
goto
einv
;
PARSEDEBUG
(
printk
(
KERN_INFO
"DC390: config line %i %i %i:
\"
%s
\"\n
"
,
dev
,
id
,
lun
,
prstr
(
pos
,
&
buffer
[
length
]));)
pDCB
=
pACB
->
pLinkDCB
;
...
...
@@ -2610,20 +2607,20 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
};
olddevmode
=
pDCB
->
DevMode
;
YESNO
(
pos
,
pDCB
->
DevMode
,
PARITY_CHK_
);
YESNO
(
buffer
,
pos
,
pDCB
->
DevMode
,
PARITY_CHK_
);
needs_inquiry
++
;
YESNO
(
pos
,
pDCB
->
DevMode
,
SYNC_NEGO_
);
YESNO
(
buffer
,
pos
,
pDCB
->
DevMode
,
SYNC_NEGO_
);
if
((
olddevmode
&
SYNC_NEGO_
)
==
(
pDCB
->
DevMode
&
SYNC_NEGO_
))
needs_inquiry
--
;
needs_inquiry
++
;
YESNO
(
pos
,
pDCB
->
DevMode
,
EN_DISCONNECT_
);
YESNO
(
buffer
,
pos
,
pDCB
->
DevMode
,
EN_DISCONNECT_
);
if
((
olddevmode
&
EN_DISCONNECT_
)
==
(
pDCB
->
DevMode
&
EN_DISCONNECT_
))
needs_inquiry
--
;
YESNO
(
pos
,
pDCB
->
DevMode
,
SEND_START_
);
YESNO
(
buffer
,
pos
,
pDCB
->
DevMode
,
SEND_START_
);
needs_inquiry
++
;
YESNO
(
pos
,
pDCB
->
DevMode
,
TAG_QUEUEING_
);
YESNO
(
buffer
,
pos
,
pDCB
->
DevMode
,
TAG_QUEUEING_
);
if
((
olddevmode
&
TAG_QUEUEING_
)
==
(
pDCB
->
DevMode
&
TAG_QUEUEING_
))
needs_inquiry
--
;
dc390_updateDCB
(
pACB
,
pDCB
);
if
(
!
pos
)
goto
ok
;
if
(
!
*
pos
)
goto
ok
;
olddevmode
=
pDCB
->
NegoPeriod
;
/* Look for decimal point (Speed) */
...
...
@@ -2632,22 +2629,22 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
/* NegoPeriod */
if
(
*
pos
!=
'-'
)
{
SCANF
(
pos
,
p0
,
dum
,
72
,
800
);
SCANF
(
buffer
,
pos
,
p0
,
dum
,
72
,
800
);
pDCB
->
NegoPeriod
=
dum
>>
2
;
if
(
pDCB
->
NegoPeriod
!=
olddevmode
)
needs_inquiry
++
;
if
(
!
pos
)
goto
ok
;
if
(
memcmp
(
pos
,
"NS"
,
2
)
==
0
)
pos
=
str
tok
(
0
,
"
\t\n
:=,;."
);
if
(
memcmp
(
pos
,
"NS"
,
2
)
==
0
)
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;."
);
}
else
pos
=
str
tok
(
0
,
"
\t\n
:=,;."
);
if
(
!
pos
)
goto
ok
;
else
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;."
);
if
(
!
*
pos
)
goto
ok
;
/* Sync Speed in MHz */
if
(
*
pos
!=
'-'
)
{
SCANF
(
pos
,
p0
,
dum
,
1
,
13
);
SCANF
(
buffer
,
pos
,
p0
,
dum
,
1
,
13
);
pDCB
->
NegoPeriod
=
(
1000
/
dum
)
>>
2
;
if
(
pDCB
->
NegoPeriod
!=
olddevmode
&&
!
pos
)
needs_inquiry
++
;
if
(
!
pos
)
goto
ok
;
if
(
!
*
pos
)
goto
ok
;
/* decimal */
if
(
pos
-
1
==
pdec
)
{
...
...
@@ -2656,38 +2653,38 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
for
(;
p0
-
pos
>
1
;
p0
--
)
dum
/=
10
;
pDCB
->
NegoPeriod
=
(
100000
/
(
100
*
dumold
+
dum
))
>>
2
;
if
(
pDCB
->
NegoPeriod
<
19
)
pDCB
->
NegoPeriod
=
19
;
pos
=
str
tok
(
0
,
"
\t\n
:=,;"
);
if
(
!
pos
)
goto
ok
;
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;"
);
if
(
!
*
pos
)
goto
ok
;
};
if
(
*
pos
==
'M'
)
pos
=
str
tok
(
0
,
"
\t\n
:=,;"
);
if
(
*
pos
==
'M'
)
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;"
);
if
(
pDCB
->
NegoPeriod
!=
olddevmode
)
needs_inquiry
++
;
}
else
pos
=
str
tok
(
0
,
"
\t\n
:=,;"
);
else
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;"
);
/* dc390_updateDCB (pACB, pDCB); */
if
(
!
pos
)
goto
ok
;
if
(
!
*
pos
)
goto
ok
;
olddevmode
=
pDCB
->
SyncOffset
;
/* SyncOffs */
if
(
*
pos
!=
'-'
)
{
SCANF
(
pos
,
p0
,
dum
,
0
,
0x0f
);
SCANF
(
buffer
,
pos
,
p0
,
dum
,
0
,
0x0f
);
pDCB
->
SyncOffset
=
dum
;
if
(
pDCB
->
SyncOffset
>
olddevmode
)
needs_inquiry
++
;
}
else
pos
=
str
tok
(
0
,
"
\t\n
:=,;"
);
if
(
!
pos
)
goto
ok
;
else
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;"
);
if
(
!
*
pos
)
goto
ok
;
dc390_updateDCB
(
pACB
,
pDCB
);
//olddevmode = pDCB->MaxCommand;
/* MaxCommand (Tags) */
if
(
*
pos
!=
'-'
)
{
SCANF
(
pos
,
p0
,
dum
,
1
,
32
/*pACB->TagMaxNum*/
);
SCANF
(
buffer
,
pos
,
p0
,
dum
,
1
,
32
/*pACB->TagMaxNum*/
);
if
(
pDCB
->
SyncMode
&
EN_TAG_QUEUEING
)
pDCB
->
MaxCommand
=
dum
;
else
printk
(
KERN_INFO
"DC390: Can't set MaxCmd larger than one without Tag Queueing!
\n
"
);
}
else
pos
=
str
tok
(
0
,
"
\t\n
:=,;"
);
else
pos
=
str
sep
(
*
pos
,
"
\t\n
:=,;"
);
}
else
...
...
@@ -2696,14 +2693,14 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
PARSEDEBUG
(
printk
(
KERN_INFO
"DC390: chg adapt cfg
\"
%s
\"\n
"
,
prstr
(
pos
,
&
buffer
[
length
]));)
dum
=
GLITCH_TO_NS
(
pACB
->
glitch_cfg
);
/* Adapter setting */
SEARCH
(
pos
,
p0
,
pACB
->
pScsiHost
->
max_id
,
"MAXID"
,
8
);
SEARCH
(
pos
,
p0
,
pACB
->
pScsiHost
->
max_lun
,
"MAXLUN"
,
8
);
SEARCH
(
pos
,
p0
,
newadaptid
,
"ADAPTERID"
,
7
);
SEARCH
(
pos
,
p0
,
pACB
->
TagMaxNum
,
"TAGMAXNUM"
,
32
);
SEARCH
(
pos
,
p0
,
pACB
->
ACBFlag
,
"ACBFLAG"
,
255
);
SEARCH3
(
pos
,
p0
,
dum
,
"GLITCHEATER"
,
40
,
1000
,
"NS"
);
SEARCH3
(
pos
,
p0
,
pACB
->
sel_timeout
,
"SELTIMEOUT"
,
400
,
163
,
"MS"
);
SEARCH3
(
pos
,
p0
,
dc390_eepromBuf
[
pACB
->
AdapterIndex
][
EE_DELAY
],
"DELAYRESET"
,
180
,
100
,
"S"
);
SEARCH
(
buffer
,
pos
,
p0
,
pACB
->
pScsiHost
->
max_id
,
"MAXID"
,
8
);
SEARCH
(
buffer
,
pos
,
p0
,
pACB
->
pScsiHost
->
max_lun
,
"MAXLUN"
,
8
);
SEARCH
(
buffer
,
pos
,
p0
,
newadaptid
,
"ADAPTERID"
,
7
);
SEARCH
(
buffer
,
pos
,
p0
,
pACB
->
TagMaxNum
,
"TAGMAXNUM"
,
32
);
SEARCH
(
buffer
,
pos
,
p0
,
pACB
->
ACBFlag
,
"ACBFLAG"
,
255
);
SEARCH3
(
buffer
,
pos
,
p0
,
dum
,
"GLITCHEATER"
,
40
,
1000
,
"NS"
);
SEARCH3
(
buffer
,
pos
,
p0
,
pACB
->
sel_timeout
,
"SELTIMEOUT"
,
400
,
163
,
"MS"
);
SEARCH3
(
buffer
,
pos
,
p0
,
dc390_eepromBuf
[
pACB
->
AdapterIndex
][
EE_DELAY
],
"DELAYRESET"
,
180
,
100
,
"S"
);
ok2:
pACB
->
glitch_cfg
=
NS_TO_GLITCH
(
dum
);
if
(
pACB
->
sel_timeout
<
60
)
pACB
->
sel_timeout
=
60
;
...
...
@@ -2719,10 +2716,9 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
// All devs should be INQUIRED now
if
(
pos
==
p1
)
goto
einv
;
}
if
(
pos
)
goto
next
;
if
(
*
pos
)
goto
next
;
ok:
/* spin_unlock (strtok_lock); */
DC390_UNLOCK_ACB
;
if
(
needs_inquiry
)
{
dc390_updateDCB
(
pACB
,
pDCB
);
dc390_inquiry
(
pACB
,
pDCB
);
};
...
...
@@ -2732,7 +2728,6 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
einv2:
pos
=
p0
;
einv:
/* spin_unlock (strtok_lock); */
DC390_UNLOCK_ACB
;
DC390_UNLOCK_IO
(
pACB
.
pScsiHost
);
printk
(
KERN_WARNING
"DC390: parse error near
\"
%s
\"\n
"
,
(
pos
?
pos
:
"NULL"
));
...
...
@@ -2758,7 +2753,7 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
inquiry:
{
pos
=
str
tok
(
0
,
"
\t\n
.:;="
);
if
(
!
pos
)
goto
einv
;
pos
=
str
sep
(
*
pos
,
"
\t\n
.:;="
);
if
(
!*
pos
)
goto
einv
;
dev
=
simple_strtoul
(
pos
,
&
p0
,
10
);
if
(
dev
>=
pACB
->
DCBCnt
)
goto
einv_dev
;
for
(
dum
=
0
;
dum
<
dev
;
dum
++
)
pDCB
=
pDCB
->
pNextDCB
;
...
...
@@ -2772,7 +2767,7 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
remove:
{
pos
=
str
tok
(
0
,
"
\t\n
.:;="
);
if
(
!
pos
)
goto
einv
;
pos
=
str
sep
(
*
pos
,
"
\t\n
.:;="
);
if
(
!*
pos
)
goto
einv
;
dev
=
simple_strtoul
(
pos
,
&
p0
,
10
);
if
(
dev
>=
pACB
->
DCBCnt
)
goto
einv_dev
;
for
(
dum
=
0
;
dum
<
dev
;
dum
++
)
pDCB
=
pDCB
->
pNextDCB
;
...
...
@@ -2788,9 +2783,9 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
add:
{
int
id
,
lun
;
pos
=
str
tok
(
0
,
"
\t\n
.:;="
);
if
(
pos
)
{
SCANF
(
pos
,
p0
,
id
,
0
,
7
);
}
else
goto
einv
;
if
(
pos
)
{
SCANF
(
pos
,
p0
,
lun
,
0
,
7
);
}
else
goto
einv
;
pos
=
str
sep
(
*
pos
,
"
\t\n
.:;="
);
if
(
*
pos
)
{
SCANF
(
buffer
,
pos
,
p0
,
id
,
0
,
7
);
}
else
goto
einv
;
if
(
*
pos
)
{
SCANF
(
buffer
,
pos
,
p0
,
lun
,
0
,
7
);
}
else
goto
einv
;
pDCB
=
dc390_findDCB
(
pACB
,
id
,
lun
);
if
(
pDCB
)
{
printk
(
"DC390: ADD: Device already existing
\n
"
);
goto
einv
;
};
dc390_initDCB
(
pACB
,
&
pDCB
,
id
,
lun
);
...
...
@@ -2803,9 +2798,9 @@ int dc390_set_info (char *buffer, int length, PACB pACB)
start:
{
int
id
,
lun
;
pos
=
str
tok
(
0
,
"
\t\n
.:;="
);
if
(
pos
)
{
SCANF
(
pos
,
p0
,
id
,
0
,
7
);
}
else
goto
einv
;
if
(
pos
)
{
SCANF
(
pos
,
p0
,
lun
,
0
,
7
);
}
else
goto
einv
;
pos
=
str
sep
(
*
pos
,
"
\t\n
.:;="
);
if
(
*
pos
)
{
SCANF
(
buffer
,
pos
,
p0
,
id
,
0
,
7
);
}
else
goto
einv
;
if
(
*
pos
)
{
SCANF
(
buffer
,
pos
,
p0
,
lun
,
0
,
7
);
}
else
goto
einv
;
pDCB
=
dc390_findDCB
(
pACB
,
id
,
lun
);
if
(
pDCB
)
printk
(
"DC390: SendStart: Device already existing ...
\n
"
);
else
dc390_initDCB
(
pACB
,
&
pDCB
,
id
,
lun
);
...
...
drivers/video/amifb.c
View file @
da6b4703
...
...
@@ -1132,7 +1132,6 @@ static int flash_cursor(void);
static
void
amifb_interrupt
(
int
irq
,
void
*
dev_id
,
struct
pt_regs
*
fp
);
static
u_long
chipalloc
(
u_long
size
);
static
void
chipfree
(
void
);
static
char
*
strtoke
(
char
*
s
,
const
char
*
ct
);
/*
* Hardware routines
...
...
@@ -1224,22 +1223,22 @@ int __init amifb_setup(char *options)
* <H*> horizontal freq. in kHz
*/
if
(
!
(
p
=
str
toke
(
mcap_spec
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
vmin
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
vmin
<=
0
)
goto
cap_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
vmax
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
vmax
<=
0
||
vmax
<=
vmin
)
goto
cap_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
hmin
=
1000
*
simple_strtoul
(
p
,
NULL
,
10
);
if
(
hmin
<=
0
)
goto
cap_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
""
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
""
))
||
!*
p
)
goto
cap_invalid
;
hmax
=
1000
*
simple_strtoul
(
p
,
NULL
,
10
);
if
(
hmax
<=
0
||
hmax
<=
hmin
)
...
...
@@ -1915,29 +1914,6 @@ static void amifb_interrupt(int irq, void *dev_id, struct pt_regs *fp)
}
}
/*
* A strtok which returns empty strings, too
*/
static
char
__init
*
strtoke
(
char
*
s
,
const
char
*
ct
)
{
char
*
sbegin
,
*
send
;
static
char
*
ssave
=
NULL
;
sbegin
=
s
?
s
:
ssave
;
if
(
!
sbegin
)
return
NULL
;
if
(
*
sbegin
==
'\0'
)
{
ssave
=
NULL
;
return
NULL
;
}
send
=
strpbrk
(
sbegin
,
ct
);
if
(
send
&&
*
send
!=
'\0'
)
*
send
++
=
'\0'
;
ssave
=
send
;
return
sbegin
;
}
/* --------------------------- Hardware routines --------------------------- */
/*
...
...
drivers/video/atafb.c
View file @
da6b4703
...
...
@@ -2860,28 +2860,6 @@ int __init atafb_init(void)
return
0
;
}
/* a strtok which returns empty strings, too */
static
char
*
strtoke
(
char
*
s
,
const
char
*
ct
)
{
char
*
sbegin
,
*
send
;
static
char
*
ssave
=
NULL
;
sbegin
=
s
?
s
:
ssave
;
if
(
!
sbegin
)
{
return
NULL
;
}
if
(
*
sbegin
==
'\0'
)
{
ssave
=
NULL
;
return
NULL
;
}
send
=
strpbrk
(
sbegin
,
ct
);
if
(
send
&&
*
send
!=
'\0'
)
*
send
++
=
'\0'
;
ssave
=
send
;
return
sbegin
;
}
int
__init
atafb_setup
(
char
*
options
)
{
char
*
this_opt
;
...
...
@@ -2956,18 +2934,18 @@ int __init atafb_setup( char *options )
int
xres
;
char
*
p
;
if
(
!
(
p
=
str
toke
(
int_str
,
";"
))
||
!*
p
)
goto
int_invalid
;
if
(
!
(
p
=
str
sep
(
&
int_str
,
";"
))
||
!*
p
)
goto
int_invalid
;
xres
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
int_invalid
;
if
(
!
(
p
=
str
sep
(
&
int_str
,
";"
))
||
!*
p
)
goto
int_invalid
;
sttt_xres
=
xres
;
tt_yres
=
st_yres
=
simple_strtoul
(
p
,
NULL
,
10
);
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
int_str
,
";"
))
&&
*
p
)
{
sttt_xres_virtual
=
simple_strtoul
(
p
,
NULL
,
10
);
}
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
int_str
,
";"
))
&&
*
p
)
{
sttt_yres_virtual
=
simple_strtoul
(
p
,
NULL
,
0
);
}
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
int_str
,
";"
))
&&
*
p
)
{
ovsc_offset
=
simple_strtoul
(
p
,
NULL
,
0
);
}
...
...
@@ -2993,20 +2971,20 @@ int __init atafb_setup( char *options )
*
* Even xres_virtual is available, we neither support panning nor hw-scrolling!
*/
if
(
!
(
p
=
str
toke
(
ext_str
,
";"
))
||
!*
p
)
goto
ext_invalid
;
if
(
!
(
p
=
str
sep
(
&
ext_str
,
";"
))
||
!*
p
)
goto
ext_invalid
;
xres_virtual
=
xres
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
xres
<=
0
)
goto
ext_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
ext_invalid
;
if
(
!
(
p
=
str
sep
(
&
ext_str
,
";"
))
||
!*
p
)
goto
ext_invalid
;
yres
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
yres
<=
0
)
goto
ext_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
ext_invalid
;
if
(
!
(
p
=
str
sep
(
&
ext_str
,
";"
))
||
!*
p
)
goto
ext_invalid
;
depth
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
depth
!=
1
&&
depth
!=
2
&&
depth
!=
4
&&
depth
!=
8
&&
depth
!=
16
&&
depth
!=
24
)
goto
ext_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
ext_invalid
;
if
(
!
(
p
=
str
sep
(
&
ext_str
,
";"
))
||
!*
p
)
goto
ext_invalid
;
if
(
*
p
==
'i'
)
planes
=
FB_TYPE_INTERLEAVED_PLANES
;
else
if
(
*
p
==
'p'
)
...
...
@@ -3019,19 +2997,19 @@ int __init atafb_setup( char *options )
goto
ext_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
ext_invalid
;
if
(
!
(
p
=
str
sep
(
&
ext_str
,
";"
))
||
!*
p
)
goto
ext_invalid
;
addr
=
simple_strtoul
(
p
,
NULL
,
0
);
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
ext_str
,
";"
))
||
!*
p
)
len
=
xres
*
yres
*
depth
/
8
;
else
len
=
simple_strtoul
(
p
,
NULL
,
0
);
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
ext_str
,
";"
))
&&
*
p
)
{
external_vgaiobase
=
simple_strtoul
(
p
,
NULL
,
0
);
}
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
ext_str
,
";"
))
&&
*
p
)
{
external_bitspercol
=
simple_strtoul
(
p
,
NULL
,
0
);
if
(
external_bitspercol
>
8
)
external_bitspercol
=
8
;
...
...
@@ -3039,14 +3017,14 @@ int __init atafb_setup( char *options )
external_bitspercol
=
1
;
}
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
ext_str
,
";"
))
&&
*
p
)
{
if
(
!
strcmp
(
p
,
"vga"
))
external_card_type
=
IS_VGA
;
if
(
!
strcmp
(
p
,
"mv300"
))
external_card_type
=
IS_MV300
;
}
if
((
p
=
str
toke
(
NULL
,
";"
))
&&
*
p
)
{
if
((
p
=
str
sep
(
&
ext_str
,
";"
))
&&
*
p
)
{
xres_virtual
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
xres_virtual
<
xres
)
xres_virtual
=
xres
;
...
...
@@ -3089,16 +3067,16 @@ int __init atafb_setup( char *options )
* <V*> vertical freq. in Hz
* <H*> horizontal freq. in kHz
*/
if
(
!
(
p
=
str
toke
(
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
vmin
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
vmin
<=
0
)
goto
cap_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
cap_invalid
;
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
vmax
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
vmax
<=
0
||
vmax
<=
vmin
)
goto
cap_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
cap_invalid
;
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
";"
))
||
!*
p
)
goto
cap_invalid
;
hmin
=
1000
*
simple_strtoul
(
p
,
NULL
,
10
);
if
(
hmin
<=
0
)
goto
cap_invalid
;
if
(
!
(
p
=
str
toke
(
NULL
,
""
))
||
!*
p
)
goto
cap_invalid
;
if
(
!
(
p
=
str
sep
(
&
mcap_spec
,
""
))
||
!*
p
)
goto
cap_invalid
;
hmax
=
1000
*
simple_strtoul
(
p
,
NULL
,
10
);
if
(
hmax
<=
0
||
hmax
<=
hmin
)
goto
cap_invalid
;
...
...
@@ -3117,11 +3095,11 @@ int __init atafb_setup( char *options )
char
*
p
;
int
xres
,
yres
,
depth
,
temp
;
if
(
!
(
p
=
str
toke
(
user_mode
,
";"
))
||
!*
p
)
goto
user_invalid
;
if
(
!
(
p
=
str
sep
(
&
user_mode
,
";"
))
||
!*
p
)
goto
user_invalid
;
xres
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
goto
user_invalid
;
if
(
!
(
p
=
str
sep
(
&
user_mode
,
";"
))
||
!*
p
)
goto
user_invalid
;
yres
=
simple_strtoul
(
p
,
NULL
,
10
);
if
(
!
(
p
=
str
toke
(
NULL
,
""
))
||
!*
p
)
goto
user_invalid
;
if
(
!
(
p
=
str
sep
(
&
user_mode
,
""
))
||
!*
p
)
goto
user_invalid
;
depth
=
simple_strtoul
(
p
,
NULL
,
10
);
if
((
temp
=
get_video_mode
(
"user0"
)))
{
default_par
=
temp
;
...
...
drivers/video/aty/atyfb_base.c
View file @
da6b4703
...
...
@@ -178,7 +178,6 @@ static void atyfbcon_blank(int blank, struct fb_info *fb);
static
int
aty_init
(
struct
fb_info_aty
*
info
,
const
char
*
name
);
#ifdef CONFIG_ATARI
static
int
store_video_par
(
char
*
videopar
,
unsigned
char
m64_num
);
static
char
*
strtoke
(
char
*
s
,
const
char
*
ct
);
#endif
static
void
aty_set_crtc
(
const
struct
fb_info_aty
*
info
,
...
...
@@ -2595,13 +2594,13 @@ static int __init store_video_par(char *video_str, unsigned char m64_num)
printk
(
"store_video_par() '%s'
\n
"
,
video_str
);
if
(
!
(
p
=
str
toke
(
video_str
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
video_str
,
";"
))
||
!*
p
)
goto
mach64_invalid
;
vmembase
=
simple_strtoul
(
p
,
NULL
,
0
);
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
video_str
,
";"
))
||
!*
p
)
goto
mach64_invalid
;
size
=
simple_strtoul
(
p
,
NULL
,
0
);
if
(
!
(
p
=
str
toke
(
NULL
,
";"
))
||
!*
p
)
if
(
!
(
p
=
str
sep
(
&
video_str
,
";"
))
||
!*
p
)
goto
mach64_invalid
;
guiregbase
=
simple_strtoul
(
p
,
NULL
,
0
);
...
...
@@ -2616,25 +2615,6 @@ static int __init store_video_par(char *video_str, unsigned char m64_num)
phys_vmembase
[
m64_num
]
=
0
;
return
-
1
;
}
static
char
__init
*
strtoke
(
char
*
s
,
const
char
*
ct
)
{
static
char
*
ssave
=
NULL
;
char
*
sbegin
,
*
send
;
sbegin
=
s
?
s
:
ssave
;
if
(
!
sbegin
)
return
NULL
;
if
(
*
sbegin
==
'\0'
)
{
ssave
=
NULL
;
return
NULL
;
}
send
=
strpbrk
(
sbegin
,
ct
);
if
(
send
&&
*
send
!=
'\0'
)
*
send
++
=
'\0'
;
ssave
=
send
;
return
sbegin
;
}
#endif
/* CONFIG_ATARI */
static
int
atyfbcon_switch
(
int
con
,
struct
fb_info
*
fb
)
...
...
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