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
5d4c51f6
Commit
5d4c51f6
authored
May 26, 2007
by
Alessandro Zummo
Committed by
Jeff Garzik
Jul 09, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[libata] pata_ixp4xx: convert to new EH
Signed-off-by:
Jeff Garzik
<
jeff@garzik.org
>
parent
49de0ac8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
42 deletions
+31
-42
drivers/ata/pata_ixp4xx_cf.c
drivers/ata/pata_ixp4xx_cf.c
+31
-42
No files found.
drivers/ata/pata_ixp4xx_cf.c
View file @
5d4c51f6
/*
* ixp4xx PATA/Compact Flash driver
* Copyright (
c) 2006
Tower Technologies
* Copyright (
C) 2006-07
Tower Technologies
* Author: Alessandro Zummo <a.zummo@towertech.it>
*
* An ATA driver to handle a Compact Flash connected
* to the ixp4xx expansion bus in TrueIDE mode. The CF
* must have it chip selects connected to two CS lines
* on the ixp4xx. The interrupt line is optional, if not
* specified the driver will run in polling mode.
* on the ixp4xx. In the irq is not available, you might
* want to modify both this driver and libata to run in
* polling mode.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
...
...
@@ -23,7 +24,7 @@
#include <scsi/scsi_host.h>
#define DRV_NAME "pata_ixp4xx_cf"
#define DRV_VERSION "0.
1.3
"
#define DRV_VERSION "0.
2
"
static
int
ixp4xx_set_mode
(
struct
ata_port
*
ap
,
struct
ata_device
**
error
)
{
...
...
@@ -42,13 +43,6 @@ static int ixp4xx_set_mode(struct ata_port *ap, struct ata_device **error)
return
0
;
}
static
void
ixp4xx_phy_reset
(
struct
ata_port
*
ap
)
{
ap
->
cbl
=
ATA_CBL_PATA40
;
ata_port_probe
(
ap
);
ata_bus_reset
(
ap
);
}
static
void
ixp4xx_mmio_data_xfer
(
struct
ata_device
*
adev
,
unsigned
char
*
buf
,
unsigned
int
buflen
,
int
write_data
)
{
...
...
@@ -92,10 +86,6 @@ static void ixp4xx_mmio_data_xfer(struct ata_device *adev, unsigned char *buf,
*
data
->
cs0_cfg
|=
0x01
;
}
static
void
ixp4xx_irq_clear
(
struct
ata_port
*
ap
)
{
}
static
struct
scsi_host_template
ixp4xx_sht
=
{
.
module
=
THIS_MODULE
,
.
name
=
DRV_NAME
,
...
...
@@ -115,29 +105,32 @@ static struct scsi_host_template ixp4xx_sht = {
};
static
struct
ata_port_operations
ixp4xx_port_ops
=
{
.
set_mode
=
ixp4xx_set_mode
,
.
mode_filter
=
ata_pci_default_filter
,
.
port_disable
=
ata_port_disable
,
.
tf_load
=
ata_tf_load
,
.
tf_read
=
ata_tf_read
,
.
check_status
=
ata_check_status
,
.
exec_command
=
ata_exec_command
,
.
dev_select
=
ata_std_dev_select
,
.
qc_prep
=
ata_qc_prep
,
.
qc_issue
=
ata_qc_issue_prot
,
.
eng_timeout
=
ata_eng_timeout
,
.
data_xfer
=
ixp4xx_mmio_data_xfer
,
.
cable_detect
=
ata_cable_40wire
,
.
irq_clear
=
ixp4xx_irq_clear
,
.
irq_on
=
ata_irq_on
,
.
irq_ack
=
ata_irq_ack
,
.
port_start
=
ata_port_start
,
.
phy_reset
=
ixp4xx_phy_reset
,
.
set_mode
=
ixp4xx_set_mode
,
.
mode_filter
=
ata_pci_default_filter
,
.
port_disable
=
ata_port_disable
,
.
tf_load
=
ata_tf_load
,
.
tf_read
=
ata_tf_read
,
.
exec_command
=
ata_exec_command
,
.
check_status
=
ata_check_status
,
.
dev_select
=
ata_std_dev_select
,
.
freeze
=
ata_bmdma_freeze
,
.
thaw
=
ata_bmdma_thaw
,
.
error_handler
=
ata_bmdma_error_handler
,
.
post_internal_cmd
=
ata_bmdma_post_internal_cmd
,
.
qc_prep
=
ata_qc_prep
,
.
qc_issue
=
ata_qc_issue_prot
,
.
data_xfer
=
ixp4xx_mmio_data_xfer
,
.
cable_detect
=
ata_cable_40wire
,
.
irq_handler
=
ata_interrupt
,
.
irq_clear
=
ata_bmdma_irq_clear
,
.
irq_on
=
ata_irq_on
,
.
irq_ack
=
ata_dummy_irq_ack
,
.
port_start
=
ata_port_start
,
};
static
void
ixp4xx_setup_port
(
struct
ata_ioports
*
ioaddr
,
...
...
@@ -211,10 +204,6 @@ static __devinit int ixp4xx_pata_probe(struct platform_device *pdev)
ap
->
pio_mask
=
0x1f
;
/* PIO4 */
ap
->
flags
|=
ATA_FLAG_MMIO
|
ATA_FLAG_NO_LEGACY
|
ATA_FLAG_NO_ATAPI
;
/* run in polling mode if no irq has been assigned */
if
(
!
irq
)
ap
->
flags
|=
ATA_FLAG_PIO_POLLING
;
ixp4xx_setup_port
(
&
ap
->
ioaddr
,
data
);
dev_printk
(
KERN_INFO
,
&
pdev
->
dev
,
"version "
DRV_VERSION
"
\n
"
);
...
...
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