diff options
Diffstat (limited to 'drivers/ata/pata_via.c')
-rw-r--r-- | drivers/ata/pata_via.c | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c index 3740644e7f43..e4c71f76bd55 100644 --- a/drivers/ata/pata_via.c +++ b/drivers/ata/pata_via.c | |||
@@ -421,7 +421,7 @@ static void via_config_fifo(struct pci_dev *pdev, unsigned int flags) | |||
421 | static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | 421 | static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) |
422 | { | 422 | { |
423 | /* Early VIA without UDMA support */ | 423 | /* Early VIA without UDMA support */ |
424 | static struct ata_port_info via_mwdma_info = { | 424 | static const struct ata_port_info via_mwdma_info = { |
425 | .sht = &via_sht, | 425 | .sht = &via_sht, |
426 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, | 426 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, |
427 | .pio_mask = 0x1f, | 427 | .pio_mask = 0x1f, |
@@ -429,7 +429,7 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
429 | .port_ops = &via_port_ops | 429 | .port_ops = &via_port_ops |
430 | }; | 430 | }; |
431 | /* Ditto with IRQ masking required */ | 431 | /* Ditto with IRQ masking required */ |
432 | static struct ata_port_info via_mwdma_info_borked = { | 432 | static const struct ata_port_info via_mwdma_info_borked = { |
433 | .sht = &via_sht, | 433 | .sht = &via_sht, |
434 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, | 434 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, |
435 | .pio_mask = 0x1f, | 435 | .pio_mask = 0x1f, |
@@ -437,7 +437,7 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
437 | .port_ops = &via_port_ops_noirq, | 437 | .port_ops = &via_port_ops_noirq, |
438 | }; | 438 | }; |
439 | /* VIA UDMA 33 devices (and borked 66) */ | 439 | /* VIA UDMA 33 devices (and borked 66) */ |
440 | static struct ata_port_info via_udma33_info = { | 440 | static const struct ata_port_info via_udma33_info = { |
441 | .sht = &via_sht, | 441 | .sht = &via_sht, |
442 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, | 442 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, |
443 | .pio_mask = 0x1f, | 443 | .pio_mask = 0x1f, |
@@ -446,7 +446,7 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
446 | .port_ops = &via_port_ops | 446 | .port_ops = &via_port_ops |
447 | }; | 447 | }; |
448 | /* VIA UDMA 66 devices */ | 448 | /* VIA UDMA 66 devices */ |
449 | static struct ata_port_info via_udma66_info = { | 449 | static const struct ata_port_info via_udma66_info = { |
450 | .sht = &via_sht, | 450 | .sht = &via_sht, |
451 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, | 451 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, |
452 | .pio_mask = 0x1f, | 452 | .pio_mask = 0x1f, |
@@ -455,7 +455,7 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
455 | .port_ops = &via_port_ops | 455 | .port_ops = &via_port_ops |
456 | }; | 456 | }; |
457 | /* VIA UDMA 100 devices */ | 457 | /* VIA UDMA 100 devices */ |
458 | static struct ata_port_info via_udma100_info = { | 458 | static const struct ata_port_info via_udma100_info = { |
459 | .sht = &via_sht, | 459 | .sht = &via_sht, |
460 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, | 460 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, |
461 | .pio_mask = 0x1f, | 461 | .pio_mask = 0x1f, |
@@ -464,7 +464,7 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
464 | .port_ops = &via_port_ops | 464 | .port_ops = &via_port_ops |
465 | }; | 465 | }; |
466 | /* UDMA133 with bad AST (All current 133) */ | 466 | /* UDMA133 with bad AST (All current 133) */ |
467 | static struct ata_port_info via_udma133_info = { | 467 | static const struct ata_port_info via_udma133_info = { |
468 | .sht = &via_sht, | 468 | .sht = &via_sht, |
469 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, | 469 | .flags = ATA_FLAG_SLAVE_POSS | ATA_FLAG_SETXFER_POLLING, |
470 | .pio_mask = 0x1f, | 470 | .pio_mask = 0x1f, |
@@ -472,7 +472,8 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
472 | .udma_mask = 0x7f, /* FIXME: should check north bridge */ | 472 | .udma_mask = 0x7f, /* FIXME: should check north bridge */ |
473 | .port_ops = &via_port_ops | 473 | .port_ops = &via_port_ops |
474 | }; | 474 | }; |
475 | struct ata_port_info *port_info[2], *type; | 475 | struct ata_port_info type; |
476 | const struct ata_port_info *ppi[] = { &type, NULL }; | ||
476 | struct pci_dev *isa = NULL; | 477 | struct pci_dev *isa = NULL; |
477 | const struct via_isa_bridge *config; | 478 | const struct via_isa_bridge *config; |
478 | static int printed_version; | 479 | static int printed_version; |
@@ -517,25 +518,25 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
517 | switch(config->flags & VIA_UDMA) { | 518 | switch(config->flags & VIA_UDMA) { |
518 | case VIA_UDMA_NONE: | 519 | case VIA_UDMA_NONE: |
519 | if (config->flags & VIA_NO_UNMASK) | 520 | if (config->flags & VIA_NO_UNMASK) |
520 | type = &via_mwdma_info_borked; | 521 | type = via_mwdma_info_borked; |
521 | else | 522 | else |
522 | type = &via_mwdma_info; | 523 | type = via_mwdma_info; |
523 | break; | 524 | break; |
524 | case VIA_UDMA_33: | 525 | case VIA_UDMA_33: |
525 | type = &via_udma33_info; | 526 | type = via_udma33_info; |
526 | break; | 527 | break; |
527 | case VIA_UDMA_66: | 528 | case VIA_UDMA_66: |
528 | type = &via_udma66_info; | 529 | type = via_udma66_info; |
529 | /* The 66 MHz devices require we enable the clock */ | 530 | /* The 66 MHz devices require we enable the clock */ |
530 | pci_read_config_dword(pdev, 0x50, &timing); | 531 | pci_read_config_dword(pdev, 0x50, &timing); |
531 | timing |= 0x80008; | 532 | timing |= 0x80008; |
532 | pci_write_config_dword(pdev, 0x50, timing); | 533 | pci_write_config_dword(pdev, 0x50, timing); |
533 | break; | 534 | break; |
534 | case VIA_UDMA_100: | 535 | case VIA_UDMA_100: |
535 | type = &via_udma100_info; | 536 | type = via_udma100_info; |
536 | break; | 537 | break; |
537 | case VIA_UDMA_133: | 538 | case VIA_UDMA_133: |
538 | type = &via_udma133_info; | 539 | type = via_udma133_info; |
539 | break; | 540 | break; |
540 | default: | 541 | default: |
541 | WARN_ON(1); | 542 | WARN_ON(1); |
@@ -550,10 +551,9 @@ static int via_init_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
550 | } | 551 | } |
551 | 552 | ||
552 | /* We have established the device type, now fire it up */ | 553 | /* We have established the device type, now fire it up */ |
553 | type->private_data = (void *)config; | 554 | type.private_data = (void *)config; |
554 | 555 | ||
555 | port_info[0] = port_info[1] = type; | 556 | return ata_pci_init_one(pdev, ppi); |
556 | return ata_pci_init_one(pdev, port_info, 2); | ||
557 | } | 557 | } |
558 | 558 | ||
559 | #ifdef CONFIG_PM | 559 | #ifdef CONFIG_PM |