Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
bug2833
cloud-kernel
提交
374b1873
cloud-kernel
项目概览
bug2833
/
cloud-kernel
与 Fork 源项目一致
Fork自
openanolis / cloud-kernel
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
374b1873
编写于
8月 30, 2005
作者:
J
Jeff Garzik
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[libata] update several drivers to use pci_iomap()/pci_iounmap()
上级
ea6ba10b
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
46 addition
and
39 deletion
+46
-39
drivers/scsi/ahci.c
drivers/scsi/ahci.c
+3
-4
drivers/scsi/ata_piix.c
drivers/scsi/ata_piix.c
+4
-5
drivers/scsi/libata-core.c
drivers/scsi/libata-core.c
+10
-1
drivers/scsi/sata_nv.c
drivers/scsi/sata_nv.c
+5
-4
drivers/scsi/sata_promise.c
drivers/scsi/sata_promise.c
+4
-4
drivers/scsi/sata_qstor.c
drivers/scsi/sata_qstor.c
+4
-4
drivers/scsi/sata_sil.c
drivers/scsi/sata_sil.c
+4
-3
drivers/scsi/sata_svw.c
drivers/scsi/sata_svw.c
+2
-3
drivers/scsi/sata_sx4.c
drivers/scsi/sata_sx4.c
+7
-8
drivers/scsi/sata_vsc.c
drivers/scsi/sata_vsc.c
+2
-3
include/linux/libata.h
include/linux/libata.h
+1
-0
未找到文件。
drivers/scsi/ahci.c
浏览文件 @
374b1873
...
@@ -995,8 +995,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
...
@@ -995,8 +995,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
AHCI_PCI_BAR
),
mmio_base
=
pci_iomap
(
pdev
,
AHCI_PCI_BAR
,
0
);
pci_resource_len
(
pdev
,
AHCI_PCI_BAR
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_free_ent
;
goto
err_out_free_ent
;
...
@@ -1040,7 +1039,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
...
@@ -1040,7 +1039,7 @@ static int ahci_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
err_out_hpriv:
err_out_hpriv:
kfree
(
hpriv
);
kfree
(
hpriv
);
err_out_iounmap:
err_out_iounmap:
iounmap
(
mmio_base
);
pci_iounmap
(
pdev
,
mmio_base
);
err_out_free_ent:
err_out_free_ent:
kfree
(
probe_ent
);
kfree
(
probe_ent
);
err_out_msi:
err_out_msi:
...
@@ -1081,7 +1080,7 @@ static void ahci_remove_one (struct pci_dev *pdev)
...
@@ -1081,7 +1080,7 @@ static void ahci_remove_one (struct pci_dev *pdev)
}
}
kfree
(
hpriv
);
kfree
(
hpriv
);
iounmap
(
host_set
->
mmio_base
);
pci_iounmap
(
pdev
,
host_set
->
mmio_base
);
kfree
(
host_set
);
kfree
(
host_set
);
if
(
have_msi
)
if
(
have_msi
)
...
...
drivers/scsi/ata_piix.c
浏览文件 @
374b1873
...
@@ -584,7 +584,6 @@ static void pci_enable_intx(struct pci_dev *pdev)
...
@@ -584,7 +584,6 @@ static void pci_enable_intx(struct pci_dev *pdev)
static
int
piix_disable_ahci
(
struct
pci_dev
*
pdev
)
static
int
piix_disable_ahci
(
struct
pci_dev
*
pdev
)
{
{
void
__iomem
*
mmio
;
void
__iomem
*
mmio
;
unsigned
long
addr
;
u32
tmp
;
u32
tmp
;
int
rc
=
0
;
int
rc
=
0
;
...
@@ -592,11 +591,11 @@ static int piix_disable_ahci(struct pci_dev *pdev)
...
@@ -592,11 +591,11 @@ static int piix_disable_ahci(struct pci_dev *pdev)
* works because this device is usually set up by BIOS.
* works because this device is usually set up by BIOS.
*/
*/
addr
=
pci_resource_start
(
pdev
,
AHCI_PCI_BAR
);
if
(
!
pci_resource_start
(
pdev
,
AHCI_PCI_BAR
)
||
if
(
!
addr
||
!
pci_resource_len
(
pdev
,
AHCI_PCI_BAR
))
!
pci_resource_len
(
pdev
,
AHCI_PCI_BAR
))
return
0
;
return
0
;
mmio
=
ioremap
(
addr
,
64
);
mmio
=
pci_iomap
(
pdev
,
AHCI_PCI_BAR
,
64
);
if
(
!
mmio
)
if
(
!
mmio
)
return
-
ENOMEM
;
return
-
ENOMEM
;
...
@@ -610,7 +609,7 @@ static int piix_disable_ahci(struct pci_dev *pdev)
...
@@ -610,7 +609,7 @@ static int piix_disable_ahci(struct pci_dev *pdev)
rc
=
-
EIO
;
rc
=
-
EIO
;
}
}
iounmap
(
mmio
);
pci_iounmap
(
pdev
,
mmio
);
return
rc
;
return
rc
;
}
}
...
...
drivers/scsi/libata-core.c
浏览文件 @
374b1873
...
@@ -4200,6 +4200,15 @@ ata_probe_ent_alloc(struct device *dev, struct ata_port_info *port)
...
@@ -4200,6 +4200,15 @@ ata_probe_ent_alloc(struct device *dev, struct ata_port_info *port)
#ifdef CONFIG_PCI
void
ata_pci_host_stop
(
struct
ata_host_set
*
host_set
)
{
struct
pci_dev
*
pdev
=
to_pci_dev
(
host_set
->
dev
);
pci_iounmap
(
pdev
,
host_set
->
mmio_base
);
}
/**
/**
* ata_pci_init_native_mode - Initialize native-mode driver
* ata_pci_init_native_mode - Initialize native-mode driver
* @pdev: pci device to be initialized
* @pdev: pci device to be initialized
...
@@ -4212,7 +4221,6 @@ ata_probe_ent_alloc(struct device *dev, struct ata_port_info *port)
...
@@ -4212,7 +4221,6 @@ ata_probe_ent_alloc(struct device *dev, struct ata_port_info *port)
* ata_probe_ent structure should then be freed with kfree().
* ata_probe_ent structure should then be freed with kfree().
*/
*/
#ifdef CONFIG_PCI
struct
ata_probe_ent
*
struct
ata_probe_ent
*
ata_pci_init_native_mode
(
struct
pci_dev
*
pdev
,
struct
ata_port_info
**
port
)
ata_pci_init_native_mode
(
struct
pci_dev
*
pdev
,
struct
ata_port_info
**
port
)
{
{
...
@@ -4595,6 +4603,7 @@ EXPORT_SYMBOL_GPL(ata_scsi_simulate);
...
@@ -4595,6 +4603,7 @@ EXPORT_SYMBOL_GPL(ata_scsi_simulate);
#ifdef CONFIG_PCI
#ifdef CONFIG_PCI
EXPORT_SYMBOL_GPL
(
pci_test_config_bits
);
EXPORT_SYMBOL_GPL
(
pci_test_config_bits
);
EXPORT_SYMBOL_GPL
(
ata_pci_host_stop
);
EXPORT_SYMBOL_GPL
(
ata_pci_init_native_mode
);
EXPORT_SYMBOL_GPL
(
ata_pci_init_native_mode
);
EXPORT_SYMBOL_GPL
(
ata_pci_init_one
);
EXPORT_SYMBOL_GPL
(
ata_pci_init_one
);
EXPORT_SYMBOL_GPL
(
ata_pci_remove_one
);
EXPORT_SYMBOL_GPL
(
ata_pci_remove_one
);
...
...
drivers/scsi/sata_nv.c
浏览文件 @
374b1873
...
@@ -351,6 +351,7 @@ static void nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val)
...
@@ -351,6 +351,7 @@ static void nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val)
static
void
nv_host_stop
(
struct
ata_host_set
*
host_set
)
static
void
nv_host_stop
(
struct
ata_host_set
*
host_set
)
{
{
struct
nv_host
*
host
=
host_set
->
private_data
;
struct
nv_host
*
host
=
host_set
->
private_data
;
struct
pci_dev
*
pdev
=
to_pci_dev
(
host_set
->
dev
);
// Disable hotplug event interrupts.
// Disable hotplug event interrupts.
if
(
host
->
host_desc
->
disable_hotplug
)
if
(
host
->
host_desc
->
disable_hotplug
)
...
@@ -358,7 +359,8 @@ static void nv_host_stop (struct ata_host_set *host_set)
...
@@ -358,7 +359,8 @@ static void nv_host_stop (struct ata_host_set *host_set)
kfree
(
host
);
kfree
(
host
);
ata_host_stop
(
host_set
);
if
(
host_set
->
mmio_base
)
pci_iounmap
(
pdev
,
host_set
->
mmio_base
);
}
}
static
int
nv_init_one
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
ent
)
static
int
nv_init_one
(
struct
pci_dev
*
pdev
,
const
struct
pci_device_id
*
ent
)
...
@@ -420,8 +422,7 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
...
@@ -420,8 +422,7 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
if
(
host
->
host_flags
&
NV_HOST_FLAGS_SCR_MMIO
)
{
if
(
host
->
host_flags
&
NV_HOST_FLAGS_SCR_MMIO
)
{
unsigned
long
base
;
unsigned
long
base
;
probe_ent
->
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
5
),
probe_ent
->
mmio_base
=
pci_iomap
(
pdev
,
5
,
0
);
pci_resource_len
(
pdev
,
5
));
if
(
probe_ent
->
mmio_base
==
NULL
)
{
if
(
probe_ent
->
mmio_base
==
NULL
)
{
rc
=
-
EIO
;
rc
=
-
EIO
;
goto
err_out_free_host
;
goto
err_out_free_host
;
...
@@ -457,7 +458,7 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
...
@@ -457,7 +458,7 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
err_out_iounmap:
err_out_iounmap:
if
(
host
->
host_flags
&
NV_HOST_FLAGS_SCR_MMIO
)
if
(
host
->
host_flags
&
NV_HOST_FLAGS_SCR_MMIO
)
iounmap
(
probe_ent
->
mmio_base
);
pci_iounmap
(
pdev
,
probe_ent
->
mmio_base
);
err_out_free_host:
err_out_free_host:
kfree
(
host
);
kfree
(
host
);
err_out_free_ent:
err_out_free_ent:
...
...
drivers/scsi/sata_promise.c
浏览文件 @
374b1873
...
@@ -92,6 +92,7 @@ static void pdc_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf);
...
@@ -92,6 +92,7 @@ static void pdc_exec_command_mmio(struct ata_port *ap, struct ata_taskfile *tf);
static
void
pdc_irq_clear
(
struct
ata_port
*
ap
);
static
void
pdc_irq_clear
(
struct
ata_port
*
ap
);
static
int
pdc_qc_issue_prot
(
struct
ata_queued_cmd
*
qc
);
static
int
pdc_qc_issue_prot
(
struct
ata_queued_cmd
*
qc
);
static
Scsi_Host_Template
pdc_ata_sht
=
{
static
Scsi_Host_Template
pdc_ata_sht
=
{
.
module
=
THIS_MODULE
,
.
module
=
THIS_MODULE
,
.
name
=
DRV_NAME
,
.
name
=
DRV_NAME
,
...
@@ -132,7 +133,7 @@ static struct ata_port_operations pdc_sata_ops = {
...
@@ -132,7 +133,7 @@ static struct ata_port_operations pdc_sata_ops = {
.
scr_write
=
pdc_sata_scr_write
,
.
scr_write
=
pdc_sata_scr_write
,
.
port_start
=
pdc_port_start
,
.
port_start
=
pdc_port_start
,
.
port_stop
=
pdc_port_stop
,
.
port_stop
=
pdc_port_stop
,
.
host_stop
=
ata_host_stop
,
.
host_stop
=
ata_
pci_
host_stop
,
};
};
static
struct
ata_port_operations
pdc_pata_ops
=
{
static
struct
ata_port_operations
pdc_pata_ops
=
{
...
@@ -153,7 +154,7 @@ static struct ata_port_operations pdc_pata_ops = {
...
@@ -153,7 +154,7 @@ static struct ata_port_operations pdc_pata_ops = {
.
port_start
=
pdc_port_start
,
.
port_start
=
pdc_port_start
,
.
port_stop
=
pdc_port_stop
,
.
port_stop
=
pdc_port_stop
,
.
host_stop
=
ata_host_stop
,
.
host_stop
=
ata_
pci_
host_stop
,
};
};
static
struct
ata_port_info
pdc_port_info
[]
=
{
static
struct
ata_port_info
pdc_port_info
[]
=
{
...
@@ -663,8 +664,7 @@ static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
...
@@ -663,8 +664,7 @@ static int pdc_ata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
3
),
mmio_base
=
pci_iomap
(
pdev
,
3
,
0
);
pci_resource_len
(
pdev
,
3
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_free_ent
;
goto
err_out_free_ent
;
...
...
drivers/scsi/sata_qstor.c
浏览文件 @
374b1873
...
@@ -538,11 +538,12 @@ static void qs_port_stop(struct ata_port *ap)
...
@@ -538,11 +538,12 @@ static void qs_port_stop(struct ata_port *ap)
static
void
qs_host_stop
(
struct
ata_host_set
*
host_set
)
static
void
qs_host_stop
(
struct
ata_host_set
*
host_set
)
{
{
void
__iomem
*
mmio_base
=
host_set
->
mmio_base
;
void
__iomem
*
mmio_base
=
host_set
->
mmio_base
;
struct
pci_dev
*
pdev
=
to_pci_dev
(
host_set
->
dev
);
writeb
(
0
,
mmio_base
+
QS_HCT_CTRL
);
/* disable host interrupts */
writeb
(
0
,
mmio_base
+
QS_HCT_CTRL
);
/* disable host interrupts */
writeb
(
QS_CNFG3_GSRST
,
mmio_base
+
QS_HCF_CNFG3
);
/* global reset */
writeb
(
QS_CNFG3_GSRST
,
mmio_base
+
QS_HCF_CNFG3
);
/* global reset */
ata_host_stop
(
host_set
);
pci_iounmap
(
pdev
,
mmio_base
);
}
}
static
void
qs_host_init
(
unsigned
int
chip_id
,
struct
ata_probe_ent
*
pe
)
static
void
qs_host_init
(
unsigned
int
chip_id
,
struct
ata_probe_ent
*
pe
)
...
@@ -646,8 +647,7 @@ static int qs_ata_init_one(struct pci_dev *pdev,
...
@@ -646,8 +647,7 @@ static int qs_ata_init_one(struct pci_dev *pdev,
goto
err_out_regions
;
goto
err_out_regions
;
}
}
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
4
),
mmio_base
=
pci_iomap
(
pdev
,
4
,
0
);
pci_resource_len
(
pdev
,
4
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_regions
;
goto
err_out_regions
;
...
@@ -697,7 +697,7 @@ static int qs_ata_init_one(struct pci_dev *pdev,
...
@@ -697,7 +697,7 @@ static int qs_ata_init_one(struct pci_dev *pdev,
return
0
;
return
0
;
err_out_iounmap:
err_out_iounmap:
iounmap
(
mmio_base
);
pci_iounmap
(
pdev
,
mmio_base
);
err_out_regions:
err_out_regions:
pci_release_regions
(
pdev
);
pci_release_regions
(
pdev
);
err_out:
err_out:
...
...
drivers/scsi/sata_sil.c
浏览文件 @
374b1873
...
@@ -86,6 +86,7 @@ static u32 sil_scr_read (struct ata_port *ap, unsigned int sc_reg);
...
@@ -86,6 +86,7 @@ static u32 sil_scr_read (struct ata_port *ap, unsigned int sc_reg);
static
void
sil_scr_write
(
struct
ata_port
*
ap
,
unsigned
int
sc_reg
,
u32
val
);
static
void
sil_scr_write
(
struct
ata_port
*
ap
,
unsigned
int
sc_reg
,
u32
val
);
static
void
sil_post_set_mode
(
struct
ata_port
*
ap
);
static
void
sil_post_set_mode
(
struct
ata_port
*
ap
);
static
struct
pci_device_id
sil_pci_tbl
[]
=
{
static
struct
pci_device_id
sil_pci_tbl
[]
=
{
{
0x1095
,
0x3112
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
sil_3112_m15w
},
{
0x1095
,
0x3112
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
sil_3112_m15w
},
{
0x1095
,
0x0240
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
sil_3112_m15w
},
{
0x1095
,
0x0240
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
sil_3112_m15w
},
...
@@ -172,7 +173,7 @@ static struct ata_port_operations sil_ops = {
...
@@ -172,7 +173,7 @@ static struct ata_port_operations sil_ops = {
.
scr_write
=
sil_scr_write
,
.
scr_write
=
sil_scr_write
,
.
port_start
=
ata_port_start
,
.
port_start
=
ata_port_start
,
.
port_stop
=
ata_port_stop
,
.
port_stop
=
ata_port_stop
,
.
host_stop
=
ata_host_stop
,
.
host_stop
=
ata_
pci_
host_stop
,
};
};
static
struct
ata_port_info
sil_port_info
[]
=
{
static
struct
ata_port_info
sil_port_info
[]
=
{
...
@@ -231,6 +232,7 @@ MODULE_LICENSE("GPL");
...
@@ -231,6 +232,7 @@ MODULE_LICENSE("GPL");
MODULE_DEVICE_TABLE
(
pci
,
sil_pci_tbl
);
MODULE_DEVICE_TABLE
(
pci
,
sil_pci_tbl
);
MODULE_VERSION
(
DRV_VERSION
);
MODULE_VERSION
(
DRV_VERSION
);
static
unsigned
char
sil_get_device_cache_line
(
struct
pci_dev
*
pdev
)
static
unsigned
char
sil_get_device_cache_line
(
struct
pci_dev
*
pdev
)
{
{
u8
cache_line
=
0
;
u8
cache_line
=
0
;
...
@@ -426,8 +428,7 @@ static int sil_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
...
@@ -426,8 +428,7 @@ static int sil_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
probe_ent
->
irq_flags
=
SA_SHIRQ
;
probe_ent
->
irq_flags
=
SA_SHIRQ
;
probe_ent
->
host_flags
=
sil_port_info
[
ent
->
driver_data
].
host_flags
;
probe_ent
->
host_flags
=
sil_port_info
[
ent
->
driver_data
].
host_flags
;
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
5
),
mmio_base
=
pci_iomap
(
pdev
,
5
,
0
);
pci_resource_len
(
pdev
,
5
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_free_ent
;
goto
err_out_free_ent
;
...
...
drivers/scsi/sata_svw.c
浏览文件 @
374b1873
...
@@ -318,7 +318,7 @@ static struct ata_port_operations k2_sata_ops = {
...
@@ -318,7 +318,7 @@ static struct ata_port_operations k2_sata_ops = {
.
scr_write
=
k2_sata_scr_write
,
.
scr_write
=
k2_sata_scr_write
,
.
port_start
=
ata_port_start
,
.
port_start
=
ata_port_start
,
.
port_stop
=
ata_port_stop
,
.
port_stop
=
ata_port_stop
,
.
host_stop
=
ata_host_stop
,
.
host_stop
=
ata_
pci_
host_stop
,
};
};
static
void
k2_sata_setup_port
(
struct
ata_ioports
*
port
,
unsigned
long
base
)
static
void
k2_sata_setup_port
(
struct
ata_ioports
*
port
,
unsigned
long
base
)
...
@@ -392,8 +392,7 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
...
@@ -392,8 +392,7 @@ static int k2_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *e
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
5
),
mmio_base
=
pci_iomap
(
pdev
,
5
,
0
);
pci_resource_len
(
pdev
,
5
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_free_ent
;
goto
err_out_free_ent
;
...
...
drivers/scsi/sata_sx4.c
浏览文件 @
374b1873
...
@@ -245,13 +245,14 @@ static struct pci_driver pdc_sata_pci_driver = {
...
@@ -245,13 +245,14 @@ static struct pci_driver pdc_sata_pci_driver = {
static
void
pdc20621_host_stop
(
struct
ata_host_set
*
host_set
)
static
void
pdc20621_host_stop
(
struct
ata_host_set
*
host_set
)
{
{
struct
pci_dev
*
pdev
=
to_pci_dev
(
host_set
->
dev
);
struct
pdc_host_priv
*
hpriv
=
host_set
->
private_data
;
struct
pdc_host_priv
*
hpriv
=
host_set
->
private_data
;
void
*
dimm_mmio
=
hpriv
->
dimm_mmio
;
void
*
dimm_mmio
=
hpriv
->
dimm_mmio
;
iounmap
(
dimm_mmio
);
pci_iounmap
(
pdev
,
dimm_mmio
);
kfree
(
hpriv
);
kfree
(
hpriv
);
ata_host_stop
(
host_set
);
pci_iounmap
(
pdev
,
host_set
->
mmio_base
);
}
}
static
int
pdc_port_start
(
struct
ata_port
*
ap
)
static
int
pdc_port_start
(
struct
ata_port
*
ap
)
...
@@ -1418,8 +1419,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
...
@@ -1418,8 +1419,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
3
),
mmio_base
=
pci_iomap
(
pdev
,
3
,
0
);
pci_resource_len
(
pdev
,
3
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_free_ent
;
goto
err_out_free_ent
;
...
@@ -1433,8 +1433,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
...
@@ -1433,8 +1433,7 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
}
}
memset
(
hpriv
,
0
,
sizeof
(
*
hpriv
));
memset
(
hpriv
,
0
,
sizeof
(
*
hpriv
));
dimm_mmio
=
ioremap
(
pci_resource_start
(
pdev
,
4
),
dimm_mmio
=
pci_iomap
(
pdev
,
4
,
0
);
pci_resource_len
(
pdev
,
4
));
if
(
!
dimm_mmio
)
{
if
(
!
dimm_mmio
)
{
kfree
(
hpriv
);
kfree
(
hpriv
);
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
...
@@ -1481,9 +1480,9 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
...
@@ -1481,9 +1480,9 @@ static int pdc_sata_init_one (struct pci_dev *pdev, const struct pci_device_id *
err_out_iounmap_dimm:
/* only get to this label if 20621 */
err_out_iounmap_dimm:
/* only get to this label if 20621 */
kfree
(
hpriv
);
kfree
(
hpriv
);
iounmap
(
dimm_mmio
);
pci_iounmap
(
pdev
,
dimm_mmio
);
err_out_iounmap:
err_out_iounmap:
iounmap
(
mmio_base
);
pci_iounmap
(
pdev
,
mmio_base
);
err_out_free_ent:
err_out_free_ent:
kfree
(
probe_ent
);
kfree
(
probe_ent
);
err_out_regions:
err_out_regions:
...
...
drivers/scsi/sata_vsc.c
浏览文件 @
374b1873
...
@@ -252,7 +252,7 @@ static struct ata_port_operations vsc_sata_ops = {
...
@@ -252,7 +252,7 @@ static struct ata_port_operations vsc_sata_ops = {
.
scr_write
=
vsc_sata_scr_write
,
.
scr_write
=
vsc_sata_scr_write
,
.
port_start
=
ata_port_start
,
.
port_start
=
ata_port_start
,
.
port_stop
=
ata_port_stop
,
.
port_stop
=
ata_port_stop
,
.
host_stop
=
ata_host_stop
,
.
host_stop
=
ata_
pci_
host_stop
,
};
};
static
void
__devinit
vsc_sata_setup_port
(
struct
ata_ioports
*
port
,
unsigned
long
base
)
static
void
__devinit
vsc_sata_setup_port
(
struct
ata_ioports
*
port
,
unsigned
long
base
)
...
@@ -326,8 +326,7 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d
...
@@ -326,8 +326,7 @@ static int __devinit vsc_sata_init_one (struct pci_dev *pdev, const struct pci_d
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
probe_ent
->
dev
=
pci_dev_to_dev
(
pdev
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
INIT_LIST_HEAD
(
&
probe_ent
->
node
);
mmio_base
=
ioremap
(
pci_resource_start
(
pdev
,
0
),
mmio_base
=
pci_iomap
(
pdev
,
0
,
0
);
pci_resource_len
(
pdev
,
0
));
if
(
mmio_base
==
NULL
)
{
if
(
mmio_base
==
NULL
)
{
rc
=
-
ENOMEM
;
rc
=
-
ENOMEM
;
goto
err_out_free_ent
;
goto
err_out_free_ent
;
...
...
include/linux/libata.h
浏览文件 @
374b1873
...
@@ -450,6 +450,7 @@ struct pci_bits {
...
@@ -450,6 +450,7 @@ struct pci_bits {
unsigned
long
val
;
unsigned
long
val
;
};
};
extern
void
ata_pci_host_stop
(
struct
ata_host_set
*
host_set
);
extern
struct
ata_probe_ent
*
extern
struct
ata_probe_ent
*
ata_pci_init_native_mode
(
struct
pci_dev
*
pdev
,
struct
ata_port_info
**
port
);
ata_pci_init_native_mode
(
struct
pci_dev
*
pdev
,
struct
ata_port_info
**
port
);
extern
int
pci_test_config_bits
(
struct
pci_dev
*
pdev
,
struct
pci_bits
*
bits
);
extern
int
pci_test_config_bits
(
struct
pci_dev
*
pdev
,
struct
pci_bits
*
bits
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录