Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
898ec223
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
898ec223
编写于
1月 06, 2009
作者:
B
Bartlomiej Zolnierkiewicz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ide: remove HWIF() macro
Signed-off-by:
N
Bartlomiej Zolnierkiewicz
<
bzolnier@gmail.com
>
上级
b40d1b88
变更
35
隐藏空白更改
内联
并排
Showing
35 changed file
with
102 addition
and
103 deletion
+102
-103
drivers/ide/aec62xx.c
drivers/ide/aec62xx.c
+2
-2
drivers/ide/alim15x3.c
drivers/ide/alim15x3.c
+2
-2
drivers/ide/au1xxx-ide.c
drivers/ide/au1xxx-ide.c
+2
-2
drivers/ide/cmd64x.c
drivers/ide/cmd64x.c
+7
-7
drivers/ide/cs5520.c
drivers/ide/cs5520.c
+1
-1
drivers/ide/cy82c693.c
drivers/ide/cy82c693.c
+1
-1
drivers/ide/hpt366.c
drivers/ide/hpt366.c
+9
-9
drivers/ide/icside.c
drivers/ide/icside.c
+5
-5
drivers/ide/ide-acpi.c
drivers/ide/ide-acpi.c
+2
-2
drivers/ide/ide-disk.c
drivers/ide/ide-disk.c
+2
-2
drivers/ide/ide-io.c
drivers/ide/ide-io.c
+4
-4
drivers/ide/ide-iops.c
drivers/ide/ide-iops.c
+2
-2
drivers/ide/ide-pm.c
drivers/ide/ide-pm.c
+2
-2
drivers/ide/ide-probe.c
drivers/ide/ide-probe.c
+6
-6
drivers/ide/ide-taskfile.c
drivers/ide/ide-taskfile.c
+1
-1
drivers/ide/it8213.c
drivers/ide/it8213.c
+2
-2
drivers/ide/ns87415.c
drivers/ide/ns87415.c
+3
-3
drivers/ide/pdc202xx_new.c
drivers/ide/pdc202xx_new.c
+2
-2
drivers/ide/pdc202xx_old.c
drivers/ide/pdc202xx_old.c
+5
-5
drivers/ide/piix.c
drivers/ide/piix.c
+3
-3
drivers/ide/pmac.c
drivers/ide/pmac.c
+2
-2
drivers/ide/qd65xx.c
drivers/ide/qd65xx.c
+4
-3
drivers/ide/sc1200.c
drivers/ide/sc1200.c
+3
-3
drivers/ide/scc_pata.c
drivers/ide/scc_pata.c
+4
-4
drivers/ide/serverworks.c
drivers/ide/serverworks.c
+1
-1
drivers/ide/sgiioc4.c
drivers/ide/sgiioc4.c
+6
-6
drivers/ide/siimage.c
drivers/ide/siimage.c
+5
-5
drivers/ide/sis5513.c
drivers/ide/sis5513.c
+1
-1
drivers/ide/sl82c105.c
drivers/ide/sl82c105.c
+2
-2
drivers/ide/slc90e66.c
drivers/ide/slc90e66.c
+2
-2
drivers/ide/tc86c001.c
drivers/ide/tc86c001.c
+3
-3
drivers/ide/triflex.c
drivers/ide/triflex.c
+1
-1
drivers/ide/trm290.c
drivers/ide/trm290.c
+4
-4
drivers/ide/via82cxxx.c
drivers/ide/via82cxxx.c
+1
-1
include/linux/ide.h
include/linux/ide.h
+0
-2
未找到文件。
drivers/ide/aec62xx.c
浏览文件 @
898ec223
...
...
@@ -83,7 +83,7 @@ static u8 pci_bus_clock_list_ultra (u8 speed, struct chipset_bus_clock_list_entr
static
void
aec6210_set_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
struct
ide_host
*
host
=
pci_get_drvdata
(
dev
);
struct
chipset_bus_clock_list_entry
*
bus_clock
=
host
->
host_priv
;
...
...
@@ -111,7 +111,7 @@ static void aec6210_set_mode(ide_drive_t *drive, const u8 speed)
static
void
aec6260_set_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
struct
ide_host
*
host
=
pci_get_drvdata
(
dev
);
struct
chipset_bus_clock_list_entry
*
bus_clock
=
host
->
host_priv
;
...
...
drivers/ide/alim15x3.c
浏览文件 @
898ec223
...
...
@@ -68,7 +68,7 @@ static struct pci_dev *isa_dev;
static
void
ali_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
struct
ide_timing
*
t
=
ide_timing_find_mode
(
XFER_PIO_0
+
pio
);
int
s_time
=
t
->
setup
,
a_time
=
t
->
active
,
c_time
=
t
->
cycle
;
...
...
@@ -150,7 +150,7 @@ static u8 ali_udma_filter(ide_drive_t *drive)
static
void
ali_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
speed1
=
speed
;
u8
unit
=
drive
->
dn
&
1
;
...
...
drivers/ide/au1xxx-ide.c
浏览文件 @
898ec223
...
...
@@ -212,7 +212,7 @@ static void auide_set_dma_mode(ide_drive_t *drive, const u8 speed)
static
int
auide_build_dmatable
(
ide_drive_t
*
drive
)
{
int
i
,
iswrite
,
count
=
0
;
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
request
*
rq
=
hwif
->
rq
;
_auide_hwif
*
ahwif
=
&
auide_hwif
;
struct
scatterlist
*
sg
;
...
...
@@ -286,7 +286,7 @@ static int auide_build_dmatable(ide_drive_t *drive)
static
int
auide_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
if
(
hwif
->
sg_nents
)
{
ide_destroy_dmatable
(
drive
);
...
...
drivers/ide/cmd64x.c
浏览文件 @
898ec223
...
...
@@ -115,7 +115,7 @@ static void program_cycle_times (ide_drive_t *drive, int cycle_time, int active_
*/
static
void
cmd64x_tune_pio
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
struct
ide_timing
*
t
=
ide_timing_find_mode
(
XFER_PIO_0
+
pio
);
unsigned
int
cycle_time
;
...
...
@@ -180,7 +180,7 @@ static void cmd64x_set_pio_mode(ide_drive_t *drive, const u8 pio)
static
void
cmd64x_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
unit
=
drive
->
dn
&
0x01
;
u8
regU
=
0
,
pciU
=
hwif
->
channel
?
UDIDETCR1
:
UDIDETCR0
;
...
...
@@ -226,7 +226,7 @@ static void cmd64x_set_dma_mode(ide_drive_t *drive, const u8 speed)
static
int
cmd648_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
base
=
hwif
->
dma_base
-
(
hwif
->
channel
*
8
);
int
err
=
ide_dma_end
(
drive
);
u8
irq_mask
=
hwif
->
channel
?
MRDMODE_INTR_CH1
:
...
...
@@ -242,7 +242,7 @@ static int cmd648_dma_end(ide_drive_t *drive)
static
int
cmd64x_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
int
irq_reg
=
hwif
->
channel
?
ARTTIM23
:
CFR
;
u8
irq_mask
=
hwif
->
channel
?
ARTTIM23_INTR_CH1
:
...
...
@@ -259,7 +259,7 @@ static int cmd64x_dma_end(ide_drive_t *drive)
static
int
cmd648_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
base
=
hwif
->
dma_base
-
(
hwif
->
channel
*
8
);
u8
irq_mask
=
hwif
->
channel
?
MRDMODE_INTR_CH1
:
MRDMODE_INTR_CH0
;
...
...
@@ -282,7 +282,7 @@ static int cmd648_dma_test_irq(ide_drive_t *drive)
static
int
cmd64x_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
int
irq_reg
=
hwif
->
channel
?
ARTTIM23
:
CFR
;
u8
irq_mask
=
hwif
->
channel
?
ARTTIM23_INTR_CH1
:
...
...
@@ -313,7 +313,7 @@ static int cmd64x_dma_test_irq(ide_drive_t *drive)
static
int
cmd646_1_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u8
dma_stat
=
0
,
dma_cmd
=
0
;
drive
->
waiting_for_dma
=
0
;
...
...
drivers/ide/cs5520.c
浏览文件 @
898ec223
...
...
@@ -59,7 +59,7 @@ static struct pio_clocks cs5520_pio_clocks[]={
static
void
cs5520_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
pdev
=
to_pci_dev
(
hwif
->
dev
);
int
controller
=
drive
->
dn
>
1
?
1
:
0
;
...
...
drivers/ide/cy82c693.c
浏览文件 @
898ec223
...
...
@@ -203,7 +203,7 @@ static void cy82c693_set_dma_mode(ide_drive_t *drive, const u8 mode)
static
void
cy82c693_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
pio_clocks_t
pclk
;
unsigned
int
addrCtrl
;
...
...
drivers/ide/hpt366.c
浏览文件 @
898ec223
...
...
@@ -626,7 +626,7 @@ static struct hpt_info *hpt3xx_get_info(struct device *dev)
static
u8
hpt3xx_udma_filter
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
hpt_info
*
info
=
hpt3xx_get_info
(
hwif
->
dev
);
u8
mask
=
hwif
->
ultra_mask
;
...
...
@@ -665,7 +665,7 @@ static u8 hpt3xx_udma_filter(ide_drive_t *drive)
static
u8
hpt3xx_mdma_filter
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
hpt_info
*
info
=
hpt3xx_get_info
(
hwif
->
dev
);
switch
(
info
->
chip_type
)
{
...
...
@@ -743,7 +743,7 @@ static void hpt3xx_quirkproc(ide_drive_t *drive)
static
void
hpt3xx_maskproc
(
ide_drive_t
*
drive
,
int
mask
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
struct
hpt_info
*
info
=
hpt3xx_get_info
(
hwif
->
dev
);
...
...
@@ -788,7 +788,7 @@ static void hpt366_dma_lost_irq(ide_drive_t *drive)
static
void
hpt370_clear_engine
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
pci_write_config_byte
(
dev
,
hwif
->
select_data
,
0x37
);
...
...
@@ -797,7 +797,7 @@ static void hpt370_clear_engine(ide_drive_t *drive)
static
void
hpt370_irq_timeout
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u16
bfifo
=
0
;
u8
dma_cmd
;
...
...
@@ -822,7 +822,7 @@ static void hpt370_dma_start(ide_drive_t *drive)
static
int
hpt370_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u8
dma_stat
=
inb
(
hwif
->
dma_base
+
ATA_DMA_STATUS
);
if
(
dma_stat
&
0x01
)
{
...
...
@@ -844,7 +844,7 @@ static void hpt370_dma_timeout(ide_drive_t *drive)
/* returns 1 if DMA IRQ issued, 0 otherwise */
static
int
hpt374_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u16
bfifo
=
0
;
u8
dma_stat
;
...
...
@@ -865,7 +865,7 @@ static int hpt374_dma_test_irq(ide_drive_t *drive)
static
int
hpt374_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
mcr
=
0
,
mcr_addr
=
hwif
->
select_data
;
u8
bwsr
=
0
,
mask
=
hwif
->
channel
?
0x02
:
0x01
;
...
...
@@ -927,7 +927,7 @@ static void hpt3xxn_set_clock(ide_hwif_t *hwif, u8 mode)
static
void
hpt3xxn_rw_disk
(
ide_drive_t
*
drive
,
struct
request
*
rq
)
{
hpt3xxn_set_clock
(
HWIF
(
drive
)
,
rq_data_dir
(
rq
)
?
0x23
:
0x21
);
hpt3xxn_set_clock
(
drive
->
hwif
,
rq_data_dir
(
rq
)
?
0x23
:
0x21
);
}
/**
...
...
drivers/ide/icside.c
浏览文件 @
898ec223
...
...
@@ -166,7 +166,7 @@ static const expansioncard_ops_t icside_ops_arcin_v6 = {
*/
static
void
icside_maskproc
(
ide_drive_t
*
drive
,
int
mask
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
expansion_card
*
ec
=
ECARD_DEV
(
hwif
->
dev
);
struct
icside_state
*
state
=
ecard_get_drvdata
(
ec
);
unsigned
long
flags
;
...
...
@@ -284,7 +284,7 @@ static void icside_dma_host_set(ide_drive_t *drive, int on)
static
int
icside_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
expansion_card
*
ec
=
ECARD_DEV
(
hwif
->
dev
);
drive
->
waiting_for_dma
=
0
;
...
...
@@ -299,7 +299,7 @@ static int icside_dma_end(ide_drive_t *drive)
static
void
icside_dma_start
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
expansion_card
*
ec
=
ECARD_DEV
(
hwif
->
dev
);
/* We can not enable DMA on both channels simultaneously. */
...
...
@@ -309,7 +309,7 @@ static void icside_dma_start(ide_drive_t *drive)
static
int
icside_dma_setup
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
expansion_card
*
ec
=
ECARD_DEV
(
hwif
->
dev
);
struct
icside_state
*
state
=
ecard_get_drvdata
(
ec
);
struct
request
*
rq
=
hwif
->
rq
;
...
...
@@ -362,7 +362,7 @@ static void icside_dma_exec_cmd(ide_drive_t *drive, u8 cmd)
static
int
icside_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
expansion_card
*
ec
=
ECARD_DEV
(
hwif
->
dev
);
struct
icside_state
*
state
=
ecard_get_drvdata
(
ec
);
...
...
drivers/ide/ide-acpi.c
浏览文件 @
898ec223
...
...
@@ -218,7 +218,7 @@ static acpi_handle ide_acpi_hwif_get_handle(ide_hwif_t *hwif)
*/
static
acpi_handle
ide_acpi_drive_get_handle
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
int
port
;
acpi_handle
drive_handle
;
...
...
@@ -263,7 +263,7 @@ static int do_drive_get_GTF(ide_drive_t *drive,
acpi_status
status
;
struct
acpi_buffer
output
;
union
acpi_object
*
out_obj
;
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
device
*
dev
=
hwif
->
gendev
.
parent
;
int
err
=
-
ENODEV
;
int
port
;
...
...
drivers/ide/ide-disk.c
浏览文件 @
898ec223
...
...
@@ -89,7 +89,7 @@ static void ide_tf_set_cmd(ide_drive_t *drive, ide_task_t *task, u8 dma)
static
ide_startstop_t
__ide_do_rw_disk
(
ide_drive_t
*
drive
,
struct
request
*
rq
,
sector_t
block
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u16
nsectors
=
(
u16
)
rq
->
nr_sectors
;
u8
lba48
=
!!
(
drive
->
dev_flags
&
IDE_DFLAG_LBA48
);
u8
dma
=
!!
(
drive
->
dev_flags
&
IDE_DFLAG_USING_DMA
);
...
...
@@ -187,7 +187,7 @@ static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq,
static
ide_startstop_t
ide_do_rw_disk
(
ide_drive_t
*
drive
,
struct
request
*
rq
,
sector_t
block
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
BUG_ON
(
drive
->
dev_flags
&
IDE_DFLAG_BLOCKED
);
...
...
drivers/ide/ide-io.c
浏览文件 @
898ec223
...
...
@@ -463,7 +463,7 @@ EXPORT_SYMBOL_GPL(ide_init_sg_cmd);
static
ide_startstop_t
execute_drive_cmd
(
ide_drive_t
*
drive
,
struct
request
*
rq
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
ide_task_t
*
task
=
rq
->
special
;
if
(
task
)
{
...
...
@@ -587,7 +587,7 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq)
#ifdef DEBUG
printk
(
"%s: start_request: current=0x%08lx
\n
"
,
HWIF
(
drive
)
->
name
,
(
unsigned
long
)
rq
);
drive
->
hwif
->
name
,
(
unsigned
long
)
rq
);
#endif
/* bail early if we've exceeded max_failures */
...
...
@@ -833,7 +833,7 @@ void do_ide_request(struct request_queue *q)
*/
static
ide_startstop_t
ide_dma_timeout_retry
(
ide_drive_t
*
drive
,
int
error
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
request
*
rq
;
ide_startstop_t
ret
=
ide_stopped
;
...
...
@@ -955,7 +955,7 @@ void ide_timer_expiry (unsigned long data)
* globally mask the specific IRQ:
*/
spin_unlock
(
&
hwif
->
lock
);
hwif
=
HWIF
(
drive
)
;
hwif
=
drive
->
hwif
;
/* disable_irq_nosync ?? */
disable_irq
(
hwif
->
irq
);
/* local CPU only,
...
...
drivers/ide/ide-iops.c
浏览文件 @
898ec223
...
...
@@ -451,7 +451,7 @@ EXPORT_SYMBOL(ide_fixstring);
*/
int
drive_is_ready
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u8
stat
=
0
;
if
(
drive
->
waiting_for_dma
)
...
...
@@ -965,7 +965,7 @@ static void ide_reset_report_error(ide_hwif_t *hwif, u8 err)
*/
static
ide_startstop_t
reset_pollfunc
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
const
struct
ide_port_ops
*
port_ops
=
hwif
->
port_ops
;
u8
tmp
;
int
err
=
0
;
...
...
drivers/ide/ide-pm.c
浏览文件 @
898ec223
...
...
@@ -5,7 +5,7 @@
int
generic_ide_suspend
(
struct
device
*
dev
,
pm_message_t
mesg
)
{
ide_drive_t
*
drive
=
dev
->
driver_data
,
*
pair
=
ide_get_pair_dev
(
drive
);
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
request
*
rq
;
struct
request_pm_state
rqpm
;
ide_task_t
args
;
...
...
@@ -39,7 +39,7 @@ int generic_ide_suspend(struct device *dev, pm_message_t mesg)
int
generic_ide_resume
(
struct
device
*
dev
)
{
ide_drive_t
*
drive
=
dev
->
driver_data
,
*
pair
=
ide_get_pair_dev
(
drive
);
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
request
*
rq
;
struct
request_pm_state
rqpm
;
ide_task_t
args
;
...
...
drivers/ide/ide-probe.c
浏览文件 @
898ec223
...
...
@@ -189,7 +189,7 @@ static void ide_classify_atapi_dev(ide_drive_t *drive)
static
void
do_identify
(
ide_drive_t
*
drive
,
u8
cmd
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u16
*
id
=
drive
->
id
;
char
*
m
=
(
char
*
)
&
id
[
ATA_ID_PROD
];
unsigned
long
flags
;
...
...
@@ -266,7 +266,7 @@ static void do_identify(ide_drive_t *drive, u8 cmd)
static
int
actual_try_to_identify
(
ide_drive_t
*
drive
,
u8
cmd
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
ide_io_ports
*
io_ports
=
&
hwif
->
io_ports
;
const
struct
ide_tp_ops
*
tp_ops
=
hwif
->
tp_ops
;
int
use_altstatus
=
0
,
rc
;
...
...
@@ -341,7 +341,7 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd)
static
int
try_to_identify
(
ide_drive_t
*
drive
,
u8
cmd
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
const
struct
ide_tp_ops
*
tp_ops
=
hwif
->
tp_ops
;
int
retval
;
int
autoprobe
=
0
;
...
...
@@ -438,7 +438,7 @@ static u8 ide_read_device(ide_drive_t *drive)
static
int
do_probe
(
ide_drive_t
*
drive
,
u8
cmd
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
const
struct
ide_tp_ops
*
tp_ops
=
hwif
->
tp_ops
;
int
rc
;
u8
present
=
!!
(
drive
->
dev_flags
&
IDE_DFLAG_PRESENT
),
stat
;
...
...
@@ -522,7 +522,7 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
*/
static
void
enable_nest
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
const
struct
ide_tp_ops
*
tp_ops
=
hwif
->
tp_ops
;
u8
stat
;
...
...
@@ -869,7 +869,7 @@ static void ide_port_tune_devices(ide_hwif_t *hwif)
static
int
ide_init_queue
(
ide_drive_t
*
drive
)
{
struct
request_queue
*
q
;
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
int
max_sectors
=
256
;
int
max_sg_entries
=
PRD_ENTRIES
;
...
...
drivers/ide/ide-taskfile.c
浏览文件 @
898ec223
...
...
@@ -58,7 +58,7 @@ static ide_startstop_t task_in_intr(ide_drive_t *);
ide_startstop_t
do_rw_taskfile
(
ide_drive_t
*
drive
,
ide_task_t
*
task
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
ide_taskfile
*
tf
=
&
task
->
tf
;
ide_handler_t
*
handler
=
NULL
;
const
struct
ide_tp_ops
*
tp_ops
=
hwif
->
tp_ops
;
...
...
drivers/ide/it8213.c
浏览文件 @
898ec223
...
...
@@ -25,7 +25,7 @@
static
void
it8213_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
int
is_slave
=
drive
->
dn
&
1
;
int
master_port
=
0x40
;
...
...
@@ -82,7 +82,7 @@ static void it8213_set_pio_mode(ide_drive_t *drive, const u8 pio)
static
void
it8213_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
maslave
=
0x40
;
int
a_speed
=
3
<<
(
drive
->
dn
*
4
);
...
...
drivers/ide/ns87415.c
浏览文件 @
898ec223
...
...
@@ -138,12 +138,12 @@ static unsigned int ns87415_count = 0, ns87415_control[MAX_HWIFS] = { 0 };
/*
* This routine either enables/disables (according to IDE_DFLAG_PRESENT)
* the IRQ associated with the port
(HWIF(drive))
,
* the IRQ associated with the port,
* and selects either PIO or DMA handshaking for the next I/O operation.
*/
static
void
ns87415_prepare_drive
(
ide_drive_t
*
drive
,
unsigned
int
use_dma
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
unsigned
int
bit
,
other
,
new
,
*
old
=
(
unsigned
int
*
)
hwif
->
select_data
;
unsigned
long
flags
;
...
...
@@ -197,7 +197,7 @@ static void ns87415_selectproc (ide_drive_t *drive)
static
int
ns87415_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u8
dma_stat
=
0
,
dma_cmd
=
0
;
drive
->
waiting_for_dma
=
0
;
...
...
drivers/ide/pdc202xx_new.c
浏览文件 @
898ec223
...
...
@@ -143,7 +143,7 @@ static struct udma_timing {
static
void
pdcnew_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
adj
=
(
drive
->
dn
&
1
)
?
0x08
:
0x00
;
...
...
@@ -219,7 +219,7 @@ static void pdcnew_reset(ide_drive_t *drive)
* Deleted this because it is redundant from the caller.
*/
printk
(
KERN_WARNING
"pdc202xx_new: %s channel reset.
\n
"
,
HWIF
(
drive
)
->
channel
?
"Secondary"
:
"Primary"
);
drive
->
hwif
->
channel
?
"Secondary"
:
"Primary"
);
}
/**
...
...
drivers/ide/pdc202xx_old.c
浏览文件 @
898ec223
...
...
@@ -39,7 +39,7 @@ static void pdc_old_disable_66MHz_clock(ide_hwif_t *);
static
void
pdc202xx_set_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
drive_pci
=
0x60
+
(
drive
->
dn
<<
2
);
...
...
@@ -169,7 +169,7 @@ static void pdc202xx_dma_start(ide_drive_t *drive)
if
(
drive
->
current_speed
>
XFER_UDMA_2
)
pdc_old_enable_66MHz_clock
(
drive
->
hwif
);
if
(
drive
->
media
!=
ide_disk
||
(
drive
->
dev_flags
&
IDE_DFLAG_LBA48
))
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
request
*
rq
=
hwif
->
rq
;
unsigned
long
high_16
=
hwif
->
extra_base
-
16
;
unsigned
long
atapi_reg
=
high_16
+
(
hwif
->
channel
?
0x24
:
0x20
);
...
...
@@ -189,7 +189,7 @@ static void pdc202xx_dma_start(ide_drive_t *drive)
static
int
pdc202xx_dma_end
(
ide_drive_t
*
drive
)
{
if
(
drive
->
media
!=
ide_disk
||
(
drive
->
dev_flags
&
IDE_DFLAG_LBA48
))
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
high_16
=
hwif
->
extra_base
-
16
;
unsigned
long
atapi_reg
=
high_16
+
(
hwif
->
channel
?
0x24
:
0x20
);
u8
clock
=
0
;
...
...
@@ -205,7 +205,7 @@ static int pdc202xx_dma_end(ide_drive_t *drive)
static
int
pdc202xx_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
high_16
=
hwif
->
extra_base
-
16
;
u8
dma_stat
=
inb
(
hwif
->
dma_base
+
ATA_DMA_STATUS
);
u8
sc1d
=
inb
(
high_16
+
0x001d
);
...
...
@@ -243,7 +243,7 @@ static void pdc202xx_reset_host (ide_hwif_t *hwif)
static
void
pdc202xx_reset
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
ide_hwif_t
*
mate
=
hwif
->
mate
;
pdc202xx_reset_host
(
hwif
);
...
...
drivers/ide/piix.c
浏览文件 @
898ec223
...
...
@@ -67,7 +67,7 @@ static int no_piix_dma;
static
void
piix_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
int
is_slave
=
drive
->
dn
&
1
;
int
master_port
=
hwif
->
channel
?
0x42
:
0x40
;
...
...
@@ -136,7 +136,7 @@ static void piix_set_pio_mode(ide_drive_t *drive, const u8 pio)
static
void
piix_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
maslave
=
hwif
->
channel
?
0x42
:
0x40
;
int
a_speed
=
3
<<
(
drive
->
dn
*
4
);
...
...
@@ -224,7 +224,7 @@ static unsigned int init_chipset_ich(struct pci_dev *dev)
*/
static
void
ich_clear_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u8
dma_stat
;
/*
...
...
drivers/ide/pmac.c
浏览文件 @
898ec223
...
...
@@ -1513,7 +1513,7 @@ pmac_ide_build_dmatable(ide_drive_t *drive, struct request *rq)
static
int
pmac_ide_dma_setup
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
pmac_ide_hwif_t
*
pmif
=
(
pmac_ide_hwif_t
*
)
dev_get_drvdata
(
hwif
->
gendev
.
parent
);
struct
request
*
rq
=
hwif
->
rq
;
...
...
@@ -1637,7 +1637,7 @@ pmac_ide_dma_test_irq (ide_drive_t *drive)
break
;
if
(
++
timeout
>
100
)
{
printk
(
KERN_WARNING
"ide%d, ide_dma_test_irq \
timeout flushing channel
\n
"
,
HWIF
(
drive
)
->
index
);
timeout flushing channel
\n
"
,
hwif
->
index
);
break
;
}
}
...
...
drivers/ide/qd65xx.c
浏览文件 @
898ec223
...
...
@@ -202,7 +202,8 @@ static void qd6500_set_pio_mode(ide_drive_t *drive, const u8 pio)
recovery_time
=
drive
->
id
[
ATA_ID_EIDE_PIO
]
-
120
;
}
qd_set_timing
(
drive
,
qd6500_compute_timing
(
HWIF
(
drive
),
active_time
,
recovery_time
));
qd_set_timing
(
drive
,
qd6500_compute_timing
(
drive
->
hwif
,
active_time
,
recovery_time
));
}
static
void
qd6580_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
...
...
@@ -245,11 +246,11 @@ static void qd6580_set_pio_mode(ide_drive_t *drive, const u8 pio)
printk
(
KERN_INFO
"%s: PIO mode%d
\n
"
,
drive
->
name
,
pio
);
}
if
(
!
HWIF
(
drive
)
->
channel
&&
drive
->
media
!=
ide_disk
)
{
if
(
!
hwif
->
channel
&&
drive
->
media
!=
ide_disk
)
{
outb
(
0x5f
,
QD_CONTROL_PORT
);
printk
(
KERN_WARNING
"%s: ATAPI: disabled read-ahead FIFO "
"and post-write buffer on %s.
\n
"
,
drive
->
name
,
HWIF
(
drive
)
->
name
);
drive
->
name
,
hwif
->
name
);
}
qd_set_timing
(
drive
,
qd6580_compute_timing
(
active_time
,
recovery_time
));
...
...
drivers/ide/sc1200.c
浏览文件 @
898ec223
...
...
@@ -125,7 +125,7 @@ static u8 sc1200_udma_filter(ide_drive_t *drive)
static
void
sc1200_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
mode
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
unsigned
int
reg
,
timings
;
unsigned
short
pci_clock
;
...
...
@@ -170,7 +170,7 @@ static void sc1200_set_dma_mode(ide_drive_t *drive, const u8 mode)
*/
static
int
sc1200_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
dma_base
=
hwif
->
dma_base
;
byte
dma_stat
;
...
...
@@ -199,7 +199,7 @@ static int sc1200_dma_end(ide_drive_t *drive)
static
void
sc1200_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
int
mode
=
-
1
;
/*
...
...
drivers/ide/scc_pata.c
浏览文件 @
898ec223
...
...
@@ -217,7 +217,7 @@ scc_ide_outsl(unsigned long port, void *addr, u32 count)
static
void
scc_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
scc_ports
*
ports
=
ide_get_hwifdata
(
hwif
);
unsigned
long
ctl_base
=
ports
->
ctl
;
unsigned
long
cckctrl_port
=
ctl_base
+
0xff0
;
...
...
@@ -249,7 +249,7 @@ static void scc_set_pio_mode(ide_drive_t *drive, const u8 pio)
static
void
scc_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
scc_ports
*
ports
=
ide_get_hwifdata
(
hwif
);
unsigned
long
ctl_base
=
ports
->
ctl
;
unsigned
long
cckctrl_port
=
ctl_base
+
0xff0
;
...
...
@@ -387,7 +387,7 @@ static int __scc_dma_end(ide_drive_t *drive)
static
int
scc_dma_end
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
void
__iomem
*
dma_base
=
(
void
__iomem
*
)
hwif
->
dma_base
;
unsigned
long
intsts_port
=
hwif
->
dma_base
+
0x014
;
u32
reg
;
...
...
@@ -496,7 +496,7 @@ static int scc_dma_end(ide_drive_t *drive)
/* returns 1 if dma irq issued, 0 otherwise */
static
int
scc_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u32
int_stat
=
in_be32
((
void
__iomem
*
)
hwif
->
dma_base
+
0x014
);
/* SCC errata A252,A308 workaround: Step4 */
...
...
drivers/ide/serverworks.c
浏览文件 @
898ec223
...
...
@@ -151,7 +151,7 @@ static void svwks_set_dma_mode(ide_drive_t *drive, const u8 speed)
static
const
u8
dma_modes
[]
=
{
0x77
,
0x21
,
0x20
};
static
const
u8
drive_pci2
[]
=
{
0x45
,
0x44
,
0x47
,
0x46
};
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
unit
=
drive
->
dn
&
1
;
...
...
drivers/ide/sgiioc4.c
浏览文件 @
898ec223
...
...
@@ -123,7 +123,7 @@ static int
sgiioc4_clearirq
(
ide_drive_t
*
drive
)
{
u32
intr_reg
;
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
ide_io_ports
*
io_ports
=
&
hwif
->
io_ports
;
unsigned
long
other_ir
=
io_ports
->
irq_addr
+
(
IOC4_INTR_REG
<<
2
);
...
...
@@ -181,7 +181,7 @@ sgiioc4_clearirq(ide_drive_t * drive)
static
void
sgiioc4_dma_start
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
ioc4_dma_addr
=
hwif
->
dma_base
+
IOC4_DMA_CTRL
*
4
;
unsigned
int
reg
=
readl
((
void
__iomem
*
)
ioc4_dma_addr
);
unsigned
int
temp_reg
=
reg
|
IOC4_S_DMA_START
;
...
...
@@ -209,7 +209,7 @@ sgiioc4_ide_dma_stop(ide_hwif_t *hwif, u64 dma_base)
static
int
sgiioc4_dma_end
(
ide_drive_t
*
drive
)
{
u32
ioc4_dma
,
bc_dev
,
bc_mem
,
num
,
valid
=
0
,
cnt
=
0
;
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
dma_base
=
hwif
->
dma_base
;
int
dma_stat
=
0
;
unsigned
long
*
ending_dma
=
ide_get_hwifdata
(
hwif
);
...
...
@@ -271,7 +271,7 @@ static void sgiioc4_set_dma_mode(ide_drive_t *drive, const u8 speed)
/* returns 1 if dma irq issued, 0 otherwise */
static
int
sgiioc4_dma_test_irq
(
ide_drive_t
*
drive
)
{
return
sgiioc4_checkirq
(
HWIF
(
drive
)
);
return
sgiioc4_checkirq
(
drive
->
hwif
);
}
static
void
sgiioc4_dma_host_set
(
ide_drive_t
*
drive
,
int
on
)
...
...
@@ -367,7 +367,7 @@ static void
sgiioc4_configure_for_dma
(
int
dma_direction
,
ide_drive_t
*
drive
)
{
u32
ioc4_dma
;
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
dma_base
=
hwif
->
dma_base
;
unsigned
long
ioc4_dma_addr
=
dma_base
+
IOC4_DMA_CTRL
*
4
;
u32
dma_addr
,
ending_dma_addr
;
...
...
@@ -427,7 +427,7 @@ sgiioc4_configure_for_dma(int dma_direction, ide_drive_t * drive)
static
unsigned
int
sgiioc4_build_dma_table
(
ide_drive_t
*
drive
,
struct
request
*
rq
,
int
ddir
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
int
*
table
=
hwif
->
dmatable_cpu
;
unsigned
int
count
=
0
,
i
=
1
;
struct
scatterlist
*
sg
;
...
...
drivers/ide/siimage.c
浏览文件 @
898ec223
...
...
@@ -114,7 +114,7 @@ static unsigned long siimage_selreg(ide_hwif_t *hwif, int r)
static
inline
unsigned
long
siimage_seldev
(
ide_drive_t
*
drive
,
int
r
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
base
=
(
unsigned
long
)
hwif
->
hwif_data
;
u8
unit
=
drive
->
dn
&
1
;
...
...
@@ -243,7 +243,7 @@ static void sil_set_pio_mode(ide_drive_t *drive, u8 pio)
static
const
u16
tf_speed
[]
=
{
0x328a
,
0x2283
,
0x1281
,
0x10c3
,
0x10c1
};
static
const
u16
data_speed
[]
=
{
0x328a
,
0x2283
,
0x1104
,
0x10c3
,
0x10c1
};
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
ide_drive_t
*
pair
=
ide_get_pair_dev
(
drive
);
u32
speedt
=
0
;
...
...
@@ -300,7 +300,7 @@ static void sil_set_dma_mode(ide_drive_t *drive, const u8 speed)
static
const
u8
ultra5
[]
=
{
0x0C
,
0x07
,
0x05
,
0x04
,
0x02
,
0x01
};
static
const
u16
dma
[]
=
{
0x2208
,
0x10C2
,
0x10C1
};
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
unsigned
long
base
=
(
unsigned
long
)
hwif
->
hwif_data
;
u16
ultra
=
0
,
multi
=
0
;
...
...
@@ -340,7 +340,7 @@ static void sil_set_dma_mode(ide_drive_t *drive, const u8 speed)
/* returns 1 if dma irq issued, 0 otherwise */
static
int
siimage_io_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
dma_altstat
=
0
;
unsigned
long
addr
=
siimage_selreg
(
hwif
,
1
);
...
...
@@ -367,7 +367,7 @@ static int siimage_io_dma_test_irq(ide_drive_t *drive)
static
int
siimage_mmio_dma_test_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
addr
=
siimage_selreg
(
hwif
,
0x1
);
void
__iomem
*
sata_error_addr
=
(
void
__iomem
*
)
hwif
->
sata_scr
[
SATA_ERROR_OFFSET
];
...
...
drivers/ide/sis5513.c
浏览文件 @
898ec223
...
...
@@ -274,7 +274,7 @@ static void sis_program_timings(ide_drive_t *drive, const u8 mode)
static
void
config_drive_art_rwp
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
reg4bh
=
0
;
u8
rw_prefetch
=
0
;
...
...
drivers/ide/sl82c105.c
浏览文件 @
898ec223
...
...
@@ -140,7 +140,7 @@ static inline void sl82c105_reset_host(struct pci_dev *dev)
*/
static
void
sl82c105_dma_lost_irq
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u32
val
,
mask
=
hwif
->
channel
?
CTRL_IDE_IRQB
:
CTRL_IDE_IRQA
;
u8
dma_cmd
;
...
...
@@ -177,7 +177,7 @@ static void sl82c105_dma_lost_irq(ide_drive_t *drive)
*/
static
void
sl82c105_dma_start
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
int
reg
=
0x44
+
drive
->
dn
*
4
;
...
...
drivers/ide/slc90e66.c
浏览文件 @
898ec223
...
...
@@ -20,7 +20,7 @@ static DEFINE_SPINLOCK(slc90e66_lock);
static
void
slc90e66_set_pio_mode
(
ide_drive_t
*
drive
,
const
u8
pio
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
int
is_slave
=
drive
->
dn
&
1
;
int
master_port
=
hwif
->
channel
?
0x42
:
0x40
;
...
...
@@ -73,7 +73,7 @@ static void slc90e66_set_pio_mode(ide_drive_t *drive, const u8 pio)
static
void
slc90e66_set_dma_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u8
maslave
=
hwif
->
channel
?
0x42
:
0x40
;
int
sitre
=
0
,
a_speed
=
7
<<
(
drive
->
dn
*
4
);
...
...
drivers/ide/tc86c001.c
浏览文件 @
898ec223
...
...
@@ -15,7 +15,7 @@
static
void
tc86c001_set_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
scr_port
=
hwif
->
config_data
+
(
drive
->
dn
?
0x02
:
0x00
);
u16
mode
,
scr
=
inw
(
scr_port
);
...
...
@@ -62,7 +62,7 @@ static void tc86c001_set_pio_mode(ide_drive_t *drive, const u8 pio)
*/
static
int
tc86c001_timer_expiry
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
ide_expiry_t
*
expiry
=
ide_get_hwifdata
(
hwif
);
u8
dma_stat
=
inb
(
hwif
->
dma_base
+
ATA_DMA_STATUS
);
...
...
@@ -109,7 +109,7 @@ static int tc86c001_timer_expiry(ide_drive_t *drive)
static
void
tc86c001_dma_start
(
ide_drive_t
*
drive
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
unsigned
long
sc_base
=
hwif
->
config_data
;
unsigned
long
twcr_port
=
sc_base
+
(
drive
->
dn
?
0x06
:
0x04
);
unsigned
long
nsectors
=
hwif
->
rq
->
nr_sectors
;
...
...
drivers/ide/triflex.c
浏览文件 @
898ec223
...
...
@@ -36,7 +36,7 @@
static
void
triflex_set_mode
(
ide_drive_t
*
drive
,
const
u8
speed
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
struct
pci_dev
*
dev
=
to_pci_dev
(
hwif
->
dev
);
u32
triflex_timings
=
0
;
u16
timing
=
0
;
...
...
drivers/ide/trm290.c
浏览文件 @
898ec223
...
...
@@ -144,7 +144,7 @@
static
void
trm290_prepare_drive
(
ide_drive_t
*
drive
,
unsigned
int
use_dma
)
{
ide_hwif_t
*
hwif
=
HWIF
(
drive
)
;
ide_hwif_t
*
hwif
=
drive
->
hwif
;
u16
reg
=
0
;
unsigned
long
flags
;
...
...
@@ -222,15 +222,15 @@ static int trm290_dma_end(ide_drive_t *drive)
drive
->
waiting_for_dma
=
0
;
/* purge DMA mappings */
ide_destroy_dmatable
(
drive
);
status
=
inw
(
HWIF
(
drive
)
->
dma_base
+
2
);
status
=
inw
(
drive
->
hwif
->
dma_base
+
2
);
return
status
!=
0x00ff
;
}
static
int
trm290_dma_test_irq
(
ide_drive_t
*
drive
)
{
u16
status
;
u16
status
=
inw
(
drive
->
hwif
->
dma_base
+
2
)
;
status
=
inw
(
HWIF
(
drive
)
->
dma_base
+
2
);
return
status
==
0x00ff
;
}
...
...
drivers/ide/via82cxxx.c
浏览文件 @
898ec223
...
...
@@ -178,7 +178,7 @@ static void via_set_drive(ide_drive_t *drive, const u8 speed)
ide_timing_merge
(
&
p
,
&
t
,
&
t
,
IDE_TIMING_8BIT
);
}
via_set_speed
(
HWIF
(
drive
)
,
drive
->
dn
,
&
t
);
via_set_speed
(
hwif
,
drive
->
dn
,
&
t
);
}
/**
...
...
include/linux/ide.h
浏览文件 @
898ec223
...
...
@@ -42,8 +42,6 @@ typedef unsigned char byte; /* used everywhere */
#define ERROR_RESET 3
/* Reset controller every 4th retry */
#define ERROR_RECAL 1
/* Recalibrate every 2nd retry */
#define HWIF(drive) ((ide_hwif_t *)((drive)->hwif))
/*
* Definitions for accessing IDE controller registers
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录