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
87e807b6
Commit
87e807b6
authored
Sep 23, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'upstream' from master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev
parents
2ead1aa6
536f8098
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
54 additions
and
34 deletions
+54
-34
drivers/scsi/ata_piix.c
drivers/scsi/ata_piix.c
+0
-1
drivers/scsi/libata-core.c
drivers/scsi/libata-core.c
+49
-32
drivers/scsi/sata_nv.c
drivers/scsi/sata_nv.c
+2
-0
include/linux/libata.h
include/linux/libata.h
+1
-0
include/linux/pci_ids.h
include/linux/pci_ids.h
+2
-1
No files found.
drivers/scsi/ata_piix.c
View file @
87e807b6
...
...
@@ -442,7 +442,6 @@ static void piix_sata_phy_reset(struct ata_port *ap)
* piix_set_piomode - Initialize host controller PATA PIO timings
* @ap: Port whose timings we are configuring
* @adev: um
* @pio: PIO mode, 0 - 4
*
* Set PIO mode for device, in host controller PCI config space.
*
...
...
drivers/scsi/libata-core.c
View file @
87e807b6
...
...
@@ -4131,6 +4131,53 @@ int ata_device_add(struct ata_probe_ent *ent)
return
0
;
}
/**
* ata_host_set_remove - PCI layer callback for device removal
* @host_set: ATA host set that was removed
*
* Unregister all objects associated with this host set. Free those
* objects.
*
* LOCKING:
* Inherited from calling layer (may sleep).
*/
void
ata_host_set_remove
(
struct
ata_host_set
*
host_set
)
{
struct
ata_port
*
ap
;
unsigned
int
i
;
for
(
i
=
0
;
i
<
host_set
->
n_ports
;
i
++
)
{
ap
=
host_set
->
ports
[
i
];
scsi_remove_host
(
ap
->
host
);
}
free_irq
(
host_set
->
irq
,
host_set
);
for
(
i
=
0
;
i
<
host_set
->
n_ports
;
i
++
)
{
ap
=
host_set
->
ports
[
i
];
ata_scsi_release
(
ap
->
host
);
if
((
ap
->
flags
&
ATA_FLAG_NO_LEGACY
)
==
0
)
{
struct
ata_ioports
*
ioaddr
=
&
ap
->
ioaddr
;
if
(
ioaddr
->
cmd_addr
==
0x1f0
)
release_region
(
0x1f0
,
8
);
else
if
(
ioaddr
->
cmd_addr
==
0x170
)
release_region
(
0x170
,
8
);
}
scsi_host_put
(
ap
->
host
);
}
if
(
host_set
->
ops
->
host_stop
)
host_set
->
ops
->
host_stop
(
host_set
);
kfree
(
host_set
);
}
/**
* ata_scsi_release - SCSI layer callback hook for host unload
* @host: libata host to be unloaded
...
...
@@ -4471,39 +4518,8 @@ void ata_pci_remove_one (struct pci_dev *pdev)
{
struct
device
*
dev
=
pci_dev_to_dev
(
pdev
);
struct
ata_host_set
*
host_set
=
dev_get_drvdata
(
dev
);
struct
ata_port
*
ap
;
unsigned
int
i
;
for
(
i
=
0
;
i
<
host_set
->
n_ports
;
i
++
)
{
ap
=
host_set
->
ports
[
i
];
scsi_remove_host
(
ap
->
host
);
}
free_irq
(
host_set
->
irq
,
host_set
);
for
(
i
=
0
;
i
<
host_set
->
n_ports
;
i
++
)
{
ap
=
host_set
->
ports
[
i
];
ata_scsi_release
(
ap
->
host
);
if
((
ap
->
flags
&
ATA_FLAG_NO_LEGACY
)
==
0
)
{
struct
ata_ioports
*
ioaddr
=
&
ap
->
ioaddr
;
if
(
ioaddr
->
cmd_addr
==
0x1f0
)
release_region
(
0x1f0
,
8
);
else
if
(
ioaddr
->
cmd_addr
==
0x170
)
release_region
(
0x170
,
8
);
}
scsi_host_put
(
ap
->
host
);
}
if
(
host_set
->
ops
->
host_stop
)
host_set
->
ops
->
host_stop
(
host_set
);
kfree
(
host_set
);
ata_host_set_remove
(
host_set
);
pci_release_regions
(
pdev
);
pci_disable_device
(
pdev
);
dev_set_drvdata
(
dev
,
NULL
);
...
...
@@ -4573,6 +4589,7 @@ module_exit(ata_exit);
EXPORT_SYMBOL_GPL
(
ata_std_bios_param
);
EXPORT_SYMBOL_GPL
(
ata_std_ports
);
EXPORT_SYMBOL_GPL
(
ata_device_add
);
EXPORT_SYMBOL_GPL
(
ata_host_set_remove
);
EXPORT_SYMBOL_GPL
(
ata_sg_init
);
EXPORT_SYMBOL_GPL
(
ata_sg_init_one
);
EXPORT_SYMBOL_GPL
(
ata_qc_complete
);
...
...
drivers/scsi/sata_nv.c
View file @
87e807b6
...
...
@@ -158,6 +158,8 @@ static struct pci_device_id nv_pci_tbl[] = {
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
MCP51
},
{
PCI_VENDOR_ID_NVIDIA
,
PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
MCP55
},
{
PCI_VENDOR_ID_NVIDIA
,
PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA2
,
PCI_ANY_ID
,
PCI_ANY_ID
,
0
,
0
,
MCP55
},
{
PCI_VENDOR_ID_NVIDIA
,
PCI_ANY_ID
,
PCI_ANY_ID
,
PCI_ANY_ID
,
PCI_CLASS_STORAGE_IDE
<<
8
,
0xffff00
,
GENERIC
},
...
...
include/linux/libata.h
View file @
87e807b6
...
...
@@ -393,6 +393,7 @@ extern int ata_pci_init_one (struct pci_dev *pdev, struct ata_port_info **port_i
extern
void
ata_pci_remove_one
(
struct
pci_dev
*
pdev
);
#endif
/* CONFIG_PCI */
extern
int
ata_device_add
(
struct
ata_probe_ent
*
ent
);
extern
void
ata_host_set_remove
(
struct
ata_host_set
*
host_set
);
extern
int
ata_scsi_detect
(
Scsi_Host_Template
*
sht
);
extern
int
ata_scsi_ioctl
(
struct
scsi_device
*
dev
,
int
cmd
,
void
__user
*
arg
);
extern
int
ata_scsi_queuecmd
(
struct
scsi_cmnd
*
cmd
,
void
(
*
done
)(
struct
scsi_cmnd
*
));
...
...
include/linux/pci_ids.h
View file @
87e807b6
...
...
@@ -1268,7 +1268,8 @@
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA 0x0266
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_SATA2 0x0267
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_IDE 0x036E
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA 0x036F
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA 0x037E
#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_SATA2 0x037F
#define PCI_DEVICE_ID_NVIDIA_NVENET_12 0x0268
#define PCI_DEVICE_ID_NVIDIA_NVENET_13 0x0269
#define PCI_DEVICE_ID_NVIDIA_MCP51_AUDIO 0x026B
...
...
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