Skip to content

Commit

Permalink
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/ker…
Browse files Browse the repository at this point in the history
…nel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  pata_platform: don't use generic ata_port_start
  Use menuconfig objects: libata
  add the ATI SB700 SATA controller device id to AHCI pci table
  Add the combined mode for ATI SB700
  pata_pcmcia: recognize 2GB CompactFlash from Transcend
  git-libata-all: sata_via build fix
  libata-acpi: clean up parameters and misc stuff
  libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/
  libata: give devices one last chance even if recovery failed with -EINVAL
  libata: fallback to the other IDENTIFY on device error, take#2
  libata: ignore EH scheduling during initialization
  libata: clean up SFF init mess
  libata: implement libata.spindown_compat
  libata: reimplement suspend/resume support using sdev->manage_start_stop
  • Loading branch information
Linus Torvalds committed May 11, 2007
2 parents 9ce3075 + b9a3b4d commit fb2c922
Show file tree
Hide file tree
Showing 63 changed files with 532 additions and 1,025 deletions.
19 changes: 19 additions & 0 deletions Documentation/feature-removal-schedule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -328,3 +328,22 @@ Who: Adrian Bunk <bunk@stusta.de>

---------------------------

What: libata.spindown_compat module parameter
When: Dec 2008
Why: halt(8) synchronizes caches for and spins down libata disks
because libata didn't use to spin down disk on system halt
(only synchronized caches).
Spin down on system halt is now implemented and can be tested
using sysfs node /sys/class/scsi_disk/h:c:i:l/manage_start_stop.
Because issuing spin down command to an already spun down disk
makes some disks spin up just to spin down again, the old
behavior needs to be maintained till userspace tool is updated
to check the sysfs node and not to spin down disks with the
node set to one.
This module parameter is to give userspace tool the time to
get updated and should be removed after userspace is
reasonably updated.
Who: Tejun Heo <htejun@gmail.com>

---------------------------

36 changes: 16 additions & 20 deletions drivers/ata/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,9 @@
# SATA/PATA driver configuration
#

menu "Serial ATA (prod) and Parallel ATA (experimental) drivers"
menuconfig ATA
tristate "Serial ATA (prod) and Parallel ATA (experimental) drivers"
depends on HAS_IOMEM

config ATA
tristate "ATA device support"
depends on BLOCK
depends on !(M32R || M68K) || BROKEN
depends on !SUN4 || BROKEN
Expand All @@ -24,6 +22,19 @@ config ATA_NONSTANDARD
bool
default n

config ATA_ACPI
bool
depends on ACPI && PCI
default y
help
This option adds support for ATA-related ACPI objects.
These ACPI objects add the ability to retrieve taskfiles
from the ACPI BIOS and write them to the disk controller.
These objects may be related to performance, security,
power management, or other areas.
You can disable this at kernel boot time by using the
option libata.noacpi=1

config SATA_AHCI
tristate "AHCI SATA support"
depends on PCI
Expand Down Expand Up @@ -157,19 +168,6 @@ config SATA_INIC162X
help
This option enables support for Initio 162x Serial ATA.

config SATA_ACPI
bool
depends on ACPI && PCI
default y
help
This option adds support for SATA-related ACPI objects.
These ACPI objects add the ability to retrieve taskfiles
from the ACPI BIOS and write them to the disk controller.
These objects may be related to performance, security,
power management, or other areas.
You can disable this at kernel boot time by using the
option libata.noacpi=1

config PATA_ALI
tristate "ALi PATA support (Experimental)"
depends on PCI && EXPERIMENTAL
Expand Down Expand Up @@ -585,6 +583,4 @@ config PATA_SCC

If unsure, say N.

endif
endmenu

endif # ATA
2 changes: 1 addition & 1 deletion drivers/ata/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,4 @@ obj-$(CONFIG_ATA_GENERIC) += ata_generic.o
obj-$(CONFIG_PATA_LEGACY) += pata_legacy.o

libata-objs := libata-core.o libata-scsi.o libata-sff.o libata-eh.o
libata-$(CONFIG_SATA_ACPI) += libata-acpi.o
libata-$(CONFIG_ATA_ACPI) += libata-acpi.o
5 changes: 1 addition & 4 deletions drivers/ata/ahci.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,10 +250,6 @@ static struct scsi_host_template ahci_sht = {
.slave_configure = ata_scsi_slave_config,
.slave_destroy = ata_scsi_slave_destroy,
.bios_param = ata_std_bios_param,
#ifdef CONFIG_PM
.suspend = ata_scsi_device_suspend,
.resume = ata_scsi_device_resume,
#endif
};

static const struct ata_port_operations ahci_ops = {
Expand Down Expand Up @@ -400,6 +396,7 @@ static const struct pci_device_id ahci_pci_tbl[] = {

/* ATI */
{ PCI_VDEVICE(ATI, 0x4380), board_ahci_sb600 }, /* ATI SB600 */
{ PCI_VDEVICE(ATI, 0x4390), board_ahci_sb600 }, /* ATI SB700 */

/* VIA */
{ PCI_VDEVICE(VIA, 0x3349), board_ahci_vt8251 }, /* VIA VT8251 */
Expand Down
12 changes: 4 additions & 8 deletions drivers/ata/ata_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ static int generic_set_mode(struct ata_port *ap, struct ata_device **unused)

for (i = 0; i < ATA_MAX_DEVICES; i++) {
struct ata_device *dev = &ap->device[i];
if (ata_dev_ready(dev)) {
if (ata_dev_enabled(dev)) {
/* We don't really care */
dev->pio_mode = XFER_PIO_0;
dev->dma_mode = XFER_MW_DMA_0;
Expand Down Expand Up @@ -90,10 +90,6 @@ static struct scsi_host_template generic_sht = {
.slave_configure = ata_scsi_slave_config,
.slave_destroy = ata_scsi_slave_destroy,
.bios_param = ata_std_bios_param,
#ifdef CONFIG_PM
.resume = ata_scsi_device_resume,
.suspend = ata_scsi_device_suspend,
#endif
};

static struct ata_port_operations generic_port_ops = {
Expand Down Expand Up @@ -145,15 +141,15 @@ static int all_generic_ide; /* Set to claim all devices */
static int ata_generic_init_one(struct pci_dev *dev, const struct pci_device_id *id)
{
u16 command;
static struct ata_port_info info = {
static const struct ata_port_info info = {
.sht = &generic_sht,
.flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
.pio_mask = 0x1f,
.mwdma_mask = 0x07,
.udma_mask = 0x3f,
.port_ops = &generic_port_ops
};
static struct ata_port_info *port_info[2] = { &info, &info };
const struct ata_port_info *ppi[] = { &info, NULL };

/* Don't use the generic entry unless instructed to do so */
if (id->driver_data == 1 && all_generic_ide == 0)
Expand All @@ -179,7 +175,7 @@ static int ata_generic_init_one(struct pci_dev *dev, const struct pci_device_id
if (dev->vendor == PCI_VENDOR_ID_AL)
ata_pci_clear_simplex(dev);

return ata_pci_init_one(dev, port_info, 2);
return ata_pci_init_one(dev, ppi);
}

static struct pci_device_id ata_generic[] = {
Expand Down
8 changes: 2 additions & 6 deletions drivers/ata/ata_piix.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,10 +275,6 @@ static struct scsi_host_template piix_sht = {
.slave_configure = ata_scsi_slave_config,
.slave_destroy = ata_scsi_slave_destroy,
.bios_param = ata_std_bios_param,
#ifdef CONFIG_PM
.resume = ata_scsi_device_resume,
.suspend = ata_scsi_device_suspend,
#endif
};

static const struct ata_port_operations piix_pata_ops = {
Expand Down Expand Up @@ -1034,7 +1030,7 @@ static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
static int printed_version;
struct device *dev = &pdev->dev;
struct ata_port_info port_info[2];
struct ata_port_info *ppinfo[2] = { &port_info[0], &port_info[1] };
const struct ata_port_info *ppi[] = { &port_info[0], &port_info[1] };
struct piix_host_priv *hpriv;
unsigned long port_flags;

Expand Down Expand Up @@ -1093,7 +1089,7 @@ static int piix_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
port_info[1].mwdma_mask = 0;
port_info[1].udma_mask = 0;
}
return ata_pci_init_one(pdev, ppinfo, 2);
return ata_pci_init_one(pdev, ppi);
}

static int __init piix_init(void)
Expand Down
Loading

0 comments on commit fb2c922

Please sign in to comment.