aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_ali.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata/pata_ali.c')
-rw-r--r--drivers/ata/pata_ali.c36
1 files changed, 16 insertions, 20 deletions
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c
index d40edebb510a..3c55a5ff74c7 100644
--- a/drivers/ata/pata_ali.c
+++ b/drivers/ata/pata_ali.c
@@ -291,10 +291,6 @@ static struct scsi_host_template ali_sht = {
291 .slave_configure = ata_scsi_slave_config, 291 .slave_configure = ata_scsi_slave_config,
292 .slave_destroy = ata_scsi_slave_destroy, 292 .slave_destroy = ata_scsi_slave_destroy,
293 .bios_param = ata_std_bios_param, 293 .bios_param = ata_std_bios_param,
294#ifdef CONFIG_PM
295 .resume = ata_scsi_device_resume,
296 .suspend = ata_scsi_device_suspend,
297#endif
298}; 294};
299 295
300/* 296/*
@@ -522,14 +518,14 @@ static void ali_init_chipset(struct pci_dev *pdev)
522 518
523static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id) 519static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
524{ 520{
525 static struct ata_port_info info_early = { 521 static const struct ata_port_info info_early = {
526 .sht = &ali_sht, 522 .sht = &ali_sht,
527 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST, 523 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
528 .pio_mask = 0x1f, 524 .pio_mask = 0x1f,
529 .port_ops = &ali_early_port_ops 525 .port_ops = &ali_early_port_ops
530 }; 526 };
531 /* Revision 0x20 added DMA */ 527 /* Revision 0x20 added DMA */
532 static struct ata_port_info info_20 = { 528 static const struct ata_port_info info_20 = {
533 .sht = &ali_sht, 529 .sht = &ali_sht,
534 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, 530 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48,
535 .pio_mask = 0x1f, 531 .pio_mask = 0x1f,
@@ -537,7 +533,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
537 .port_ops = &ali_20_port_ops 533 .port_ops = &ali_20_port_ops
538 }; 534 };
539 /* Revision 0x20 with support logic added UDMA */ 535 /* Revision 0x20 with support logic added UDMA */
540 static struct ata_port_info info_20_udma = { 536 static const struct ata_port_info info_20_udma = {
541 .sht = &ali_sht, 537 .sht = &ali_sht,
542 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, 538 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48,
543 .pio_mask = 0x1f, 539 .pio_mask = 0x1f,
@@ -546,7 +542,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
546 .port_ops = &ali_20_port_ops 542 .port_ops = &ali_20_port_ops
547 }; 543 };
548 /* Revision 0xC2 adds UDMA66 */ 544 /* Revision 0xC2 adds UDMA66 */
549 static struct ata_port_info info_c2 = { 545 static const struct ata_port_info info_c2 = {
550 .sht = &ali_sht, 546 .sht = &ali_sht,
551 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, 547 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48,
552 .pio_mask = 0x1f, 548 .pio_mask = 0x1f,
@@ -555,7 +551,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
555 .port_ops = &ali_c2_port_ops 551 .port_ops = &ali_c2_port_ops
556 }; 552 };
557 /* Revision 0xC3 is UDMA100 */ 553 /* Revision 0xC3 is UDMA100 */
558 static struct ata_port_info info_c3 = { 554 static const struct ata_port_info info_c3 = {
559 .sht = &ali_sht, 555 .sht = &ali_sht,
560 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, 556 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48,
561 .pio_mask = 0x1f, 557 .pio_mask = 0x1f,
@@ -564,7 +560,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
564 .port_ops = &ali_c2_port_ops 560 .port_ops = &ali_c2_port_ops
565 }; 561 };
566 /* Revision 0xC4 is UDMA133 */ 562 /* Revision 0xC4 is UDMA133 */
567 static struct ata_port_info info_c4 = { 563 static const struct ata_port_info info_c4 = {
568 .sht = &ali_sht, 564 .sht = &ali_sht,
569 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48, 565 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST | ATA_FLAG_PIO_LBA48,
570 .pio_mask = 0x1f, 566 .pio_mask = 0x1f,
@@ -573,7 +569,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
573 .port_ops = &ali_c2_port_ops 569 .port_ops = &ali_c2_port_ops
574 }; 570 };
575 /* Revision 0xC5 is UDMA133 with LBA48 DMA */ 571 /* Revision 0xC5 is UDMA133 with LBA48 DMA */
576 static struct ata_port_info info_c5 = { 572 static const struct ata_port_info info_c5 = {
577 .sht = &ali_sht, 573 .sht = &ali_sht,
578 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST, 574 .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SRST,
579 .pio_mask = 0x1f, 575 .pio_mask = 0x1f,
@@ -582,7 +578,7 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
582 .port_ops = &ali_c5_port_ops 578 .port_ops = &ali_c5_port_ops
583 }; 579 };
584 580
585 static struct ata_port_info *port_info[2]; 581 const struct ata_port_info *ppi[] = { NULL, NULL };
586 u8 rev, tmp; 582 u8 rev, tmp;
587 struct pci_dev *isa_bridge; 583 struct pci_dev *isa_bridge;
588 584
@@ -594,17 +590,17 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
594 */ 590 */
595 591
596 if (rev < 0x20) { 592 if (rev < 0x20) {
597 port_info[0] = port_info[1] = &info_early; 593 ppi[0] = &info_early;
598 } else if (rev < 0xC2) { 594 } else if (rev < 0xC2) {
599 port_info[0] = port_info[1] = &info_20; 595 ppi[0] = &info_20;
600 } else if (rev == 0xC2) { 596 } else if (rev == 0xC2) {
601 port_info[0] = port_info[1] = &info_c2; 597 ppi[0] = &info_c2;
602 } else if (rev == 0xC3) { 598 } else if (rev == 0xC3) {
603 port_info[0] = port_info[1] = &info_c3; 599 ppi[0] = &info_c3;
604 } else if (rev == 0xC4) { 600 } else if (rev == 0xC4) {
605 port_info[0] = port_info[1] = &info_c4; 601 ppi[0] = &info_c4;
606 } else 602 } else
607 port_info[0] = port_info[1] = &info_c5; 603 ppi[0] = &info_c5;
608 604
609 ali_init_chipset(pdev); 605 ali_init_chipset(pdev);
610 606
@@ -613,10 +609,10 @@ static int ali_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
613 /* Are we paired with a UDMA capable chip */ 609 /* Are we paired with a UDMA capable chip */
614 pci_read_config_byte(isa_bridge, 0x5E, &tmp); 610 pci_read_config_byte(isa_bridge, 0x5E, &tmp);
615 if ((tmp & 0x1E) == 0x12) 611 if ((tmp & 0x1E) == 0x12)
616 port_info[0] = port_info[1] = &info_20_udma; 612 ppi[0] = &info_20_udma;
617 pci_dev_put(isa_bridge); 613 pci_dev_put(isa_bridge);
618 } 614 }
619 return ata_pci_init_one(pdev, port_info, 2); 615 return ata_pci_init_one(pdev, ppi);
620} 616}
621 617
622#ifdef CONFIG_PM 618#ifdef CONFIG_PM