Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
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
Commits
84f05df4
Commit
84f05df4
authored
Apr 26, 2008
by
Bartlomiej Zolnierkiewicz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cmd640: use ide_find_port()
Signed-off-by:
Bartlomiej Zolnierkiewicz
<
bzolnier@gmail.com
>
parent
9523076a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
19 additions
and
10 deletions
+19
-10
drivers/ide/pci/cmd640.c
drivers/ide/pci/cmd640.c
+19
-10
No files found.
drivers/ide/pci/cmd640.c
View file @
84f05df4
...
...
@@ -744,18 +744,19 @@ static int __init cmd640x_init(void)
printk
(
KERN_INFO
"cmd640: buggy cmd640%c interface on %s, config=0x%02x"
"
\n
"
,
'a'
+
cmd640_chip_version
-
1
,
bus_type
,
cfr
);
cmd_hwif0
=
&
ide_hwifs
[
0
];
cmd_hwif1
=
&
ide_hwifs
[
1
];
cmd_hwif0
=
ide_find_port
();
/*
* Initialize data for primary port
*/
ide_init_port_hw
(
cmd_hwif0
,
&
hw
[
0
]);
if
(
cmd_hwif0
)
{
ide_init_port_hw
(
cmd_hwif0
,
&
hw
[
0
]);
#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED
cmd_hwif0
->
set_pio_mode
=
&
cmd640_set_pio_mode
;
cmd_hwif0
->
set_pio_mode
=
&
cmd640_set_pio_mode
;
#endif
/* CONFIG_BLK_DEV_CMD640_ENHANCED */
idx
[
0
]
=
cmd_hwif0
->
index
;
idx
[
0
]
=
cmd_hwif0
->
index
;
}
/*
* Ensure compatibility by always using the slowest timings
...
...
@@ -767,10 +768,13 @@ static int __init cmd640x_init(void)
put_cmd640_reg
(
CMDTIM
,
0
);
put_cmd640_reg
(
BRST
,
0x40
);
cmd_hwif1
=
ide_find_port
();
/*
* Try to enable the secondary interface, if not already enabled
*/
if
(
cmd_hwif1
->
drives
[
0
].
noprobe
&&
cmd_hwif1
->
drives
[
1
].
noprobe
)
{
if
(
cmd_hwif1
&&
cmd_hwif1
->
drives
[
0
].
noprobe
&&
cmd_hwif1
->
drives
[
1
].
noprobe
)
{
port2
=
"not probed"
;
}
else
{
b
=
get_cmd640_reg
(
CNTRL
);
...
...
@@ -801,7 +805,7 @@ static int __init cmd640x_init(void)
/*
* Initialize data for secondary cmd640 port, if enabled
*/
if
(
second_port_cmd640
)
{
if
(
second_port_cmd640
&&
cmd_hwif1
)
{
ide_init_port_hw
(
cmd_hwif1
,
&
hw
[
1
]);
#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED
cmd_hwif1
->
set_pio_mode
=
&
cmd640_set_pio_mode
;
...
...
@@ -809,7 +813,7 @@ static int __init cmd640x_init(void)
idx
[
1
]
=
cmd_hwif1
->
index
;
}
printk
(
KERN_INFO
"
%s: %sserialized, secondary interface %s
\n
"
,
cmd_hwif1
->
name
,
printk
(
KERN_INFO
"
cmd640: %sserialized, secondary interface %s
\n
"
,
second_port_cmd640
?
""
:
"not "
,
port2
);
/*
...
...
@@ -819,10 +823,15 @@ static int __init cmd640x_init(void)
for
(
index
=
0
;
index
<
(
2
+
(
second_port_cmd640
<<
1
));
index
++
)
{
ide_drive_t
*
drive
;
if
(
index
>
1
)
if
(
index
>
1
)
{
if
(
cmd_hwif1
==
NULL
)
continue
;
drive
=
&
cmd_hwif1
->
drives
[
index
&
1
];
else
}
else
{
if
(
cmd_hwif0
==
NULL
)
continue
;
drive
=
&
cmd_hwif0
->
drives
[
index
&
1
];
}
#ifdef CONFIG_BLK_DEV_CMD640_ENHANCED
if
(
drive
->
autotune
||
((
index
>
1
)
&&
second_port_toggled
))
{
...
...
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