diff options
author | Joe Perches <joe@perches.com> | 2011-04-15 18:51:59 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2011-07-23 17:57:36 -0400 |
commit | a9a79dfec239568bdbf778242f8fcd10bcc5b9e2 (patch) | |
tree | 620648585f89cdb589d1625431f8c21ef70a9258 /drivers/ata/libata-pmp.c | |
parent | a44fec1fce5d5d14cc3ac4545b8da346394de666 (diff) |
ata: Convert ata_<foo>_printk(KERN_<LEVEL> to ata_<foo>_<level>
Saves text by removing nearly duplicated text format strings by
creating ata_<foo>_printk functions and printf extension %pV.
ata defconfig size shrinks ~5% (~8KB), allyesconfig ~2.5% (~13KB)
Format string duplication comes from:
#define ata_link_printk(link, lv, fmt, args...) do { \
if (sata_pmp_attached((link)->ap) || (link)->ap->slave_link) \
printk("%sata%u.%02u: "fmt, lv, (link)->ap->print_id, \
(link)->pmp , ##args); \
else \
printk("%sata%u: "fmt, lv, (link)->ap->print_id , ##args); \
} while(0)
Coalesce long formats.
$ size drivers/ata/built-in.*
text data bss dec hex filename
544969 73893 116584 735446 b38d6 drivers/ata/built-in.allyesconfig.ata.o
558429 73893 117864 750186 b726a drivers/ata/built-in.allyesconfig.dev_level.o
141328 14689 4220 160237 271ed drivers/ata/built-in.defconfig.ata.o
149567 14689 4220 168476 2921c drivers/ata/built-in.defconfig.dev_level.o
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/ata/libata-pmp.c')
-rw-r--r-- | drivers/ata/libata-pmp.c | 123 |
1 files changed, 59 insertions, 64 deletions
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c index f06b7ea590d3..3eb2b816eb2a 100644 --- a/drivers/ata/libata-pmp.c +++ b/drivers/ata/libata-pmp.c | |||
@@ -147,8 +147,8 @@ int sata_pmp_scr_read(struct ata_link *link, int reg, u32 *r_val) | |||
147 | 147 | ||
148 | err_mask = sata_pmp_read(link, reg, r_val); | 148 | err_mask = sata_pmp_read(link, reg, r_val); |
149 | if (err_mask) { | 149 | if (err_mask) { |
150 | ata_link_printk(link, KERN_WARNING, "failed to read SCR %d " | 150 | ata_link_warn(link, "failed to read SCR %d (Emask=0x%x)\n", |
151 | "(Emask=0x%x)\n", reg, err_mask); | 151 | reg, err_mask); |
152 | return -EIO; | 152 | return -EIO; |
153 | } | 153 | } |
154 | return 0; | 154 | return 0; |
@@ -178,8 +178,8 @@ int sata_pmp_scr_write(struct ata_link *link, int reg, u32 val) | |||
178 | 178 | ||
179 | err_mask = sata_pmp_write(link, reg, val); | 179 | err_mask = sata_pmp_write(link, reg, val); |
180 | if (err_mask) { | 180 | if (err_mask) { |
181 | ata_link_printk(link, KERN_WARNING, "failed to write SCR %d " | 181 | ata_link_warn(link, "failed to write SCR %d (Emask=0x%x)\n", |
182 | "(Emask=0x%x)\n", reg, err_mask); | 182 | reg, err_mask); |
183 | return -EIO; | 183 | return -EIO; |
184 | } | 184 | } |
185 | return 0; | 185 | return 0; |
@@ -231,8 +231,8 @@ static int sata_pmp_read_gscr(struct ata_device *dev, u32 *gscr) | |||
231 | 231 | ||
232 | err_mask = sata_pmp_read(dev->link, reg, &gscr[reg]); | 232 | err_mask = sata_pmp_read(dev->link, reg, &gscr[reg]); |
233 | if (err_mask) { | 233 | if (err_mask) { |
234 | ata_dev_printk(dev, KERN_ERR, "failed to read PMP " | 234 | ata_dev_err(dev, "failed to read PMP GSCR[%d] (Emask=0x%x)\n", |
235 | "GSCR[%d] (Emask=0x%x)\n", reg, err_mask); | 235 | reg, err_mask); |
236 | return -EIO; | 236 | return -EIO; |
237 | } | 237 | } |
238 | } | 238 | } |
@@ -311,26 +311,25 @@ static int sata_pmp_configure(struct ata_device *dev, int print_info) | |||
311 | } | 311 | } |
312 | 312 | ||
313 | if (print_info) { | 313 | if (print_info) { |
314 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier %s, " | 314 | ata_dev_info(dev, "Port Multiplier %s, " |
315 | "0x%04x:0x%04x r%d, %d ports, feat 0x%x/0x%x\n", | 315 | "0x%04x:0x%04x r%d, %d ports, feat 0x%x/0x%x\n", |
316 | sata_pmp_spec_rev_str(gscr), vendor, devid, | 316 | sata_pmp_spec_rev_str(gscr), vendor, devid, |
317 | sata_pmp_gscr_rev(gscr), | 317 | sata_pmp_gscr_rev(gscr), |
318 | nr_ports, gscr[SATA_PMP_GSCR_FEAT_EN], | 318 | nr_ports, gscr[SATA_PMP_GSCR_FEAT_EN], |
319 | gscr[SATA_PMP_GSCR_FEAT]); | 319 | gscr[SATA_PMP_GSCR_FEAT]); |
320 | 320 | ||
321 | if (!(dev->flags & ATA_DFLAG_AN)) | 321 | if (!(dev->flags & ATA_DFLAG_AN)) |
322 | ata_dev_printk(dev, KERN_INFO, | 322 | ata_dev_info(dev, |
323 | "Asynchronous notification not supported, " | 323 | "Asynchronous notification not supported, " |
324 | "hotplug won't\n work on fan-out " | 324 | "hotplug won't work on fan-out ports. Use warm-plug instead.\n"); |
325 | "ports. Use warm-plug instead.\n"); | ||
326 | } | 325 | } |
327 | 326 | ||
328 | return 0; | 327 | return 0; |
329 | 328 | ||
330 | fail: | 329 | fail: |
331 | ata_dev_printk(dev, KERN_ERR, | 330 | ata_dev_err(dev, |
332 | "failed to configure Port Multiplier (%s, Emask=0x%x)\n", | 331 | "failed to configure Port Multiplier (%s, Emask=0x%x)\n", |
333 | reason, err_mask); | 332 | reason, err_mask); |
334 | return rc; | 333 | return rc; |
335 | } | 334 | } |
336 | 335 | ||
@@ -485,20 +484,17 @@ int sata_pmp_attach(struct ata_device *dev) | |||
485 | 484 | ||
486 | /* is it hanging off the right place? */ | 485 | /* is it hanging off the right place? */ |
487 | if (!sata_pmp_supported(ap)) { | 486 | if (!sata_pmp_supported(ap)) { |
488 | ata_dev_printk(dev, KERN_ERR, | 487 | ata_dev_err(dev, "host does not support Port Multiplier\n"); |
489 | "host does not support Port Multiplier\n"); | ||
490 | return -EINVAL; | 488 | return -EINVAL; |
491 | } | 489 | } |
492 | 490 | ||
493 | if (!ata_is_host_link(link)) { | 491 | if (!ata_is_host_link(link)) { |
494 | ata_dev_printk(dev, KERN_ERR, | 492 | ata_dev_err(dev, "Port Multipliers cannot be nested\n"); |
495 | "Port Multipliers cannot be nested\n"); | ||
496 | return -EINVAL; | 493 | return -EINVAL; |
497 | } | 494 | } |
498 | 495 | ||
499 | if (dev->devno) { | 496 | if (dev->devno) { |
500 | ata_dev_printk(dev, KERN_ERR, | 497 | ata_dev_err(dev, "Port Multiplier must be the first device\n"); |
501 | "Port Multiplier must be the first device\n"); | ||
502 | return -EINVAL; | 498 | return -EINVAL; |
503 | } | 499 | } |
504 | 500 | ||
@@ -517,8 +513,7 @@ int sata_pmp_attach(struct ata_device *dev) | |||
517 | 513 | ||
518 | rc = sata_pmp_init_links(ap, sata_pmp_gscr_ports(dev->gscr)); | 514 | rc = sata_pmp_init_links(ap, sata_pmp_gscr_ports(dev->gscr)); |
519 | if (rc) { | 515 | if (rc) { |
520 | ata_dev_printk(dev, KERN_INFO, | 516 | ata_dev_info(dev, "failed to initialize PMP links\n"); |
521 | "failed to initialize PMP links\n"); | ||
522 | goto fail; | 517 | goto fail; |
523 | } | 518 | } |
524 | 519 | ||
@@ -562,7 +557,7 @@ static void sata_pmp_detach(struct ata_device *dev) | |||
562 | struct ata_link *tlink; | 557 | struct ata_link *tlink; |
563 | unsigned long flags; | 558 | unsigned long flags; |
564 | 559 | ||
565 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier detaching\n"); | 560 | ata_dev_info(dev, "Port Multiplier detaching\n"); |
566 | 561 | ||
567 | WARN_ON(!ata_is_host_link(link) || dev->devno || | 562 | WARN_ON(!ata_is_host_link(link) || dev->devno || |
568 | link->pmp != SATA_PMP_CTRL_PORT); | 563 | link->pmp != SATA_PMP_CTRL_PORT); |
@@ -609,23 +604,23 @@ static int sata_pmp_same_pmp(struct ata_device *dev, const u32 *new_gscr) | |||
609 | new_nr_ports = sata_pmp_gscr_ports(new_gscr); | 604 | new_nr_ports = sata_pmp_gscr_ports(new_gscr); |
610 | 605 | ||
611 | if (old_vendor != new_vendor) { | 606 | if (old_vendor != new_vendor) { |
612 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier " | 607 | ata_dev_info(dev, |
613 | "vendor mismatch '0x%x' != '0x%x'\n", | 608 | "Port Multiplier vendor mismatch '0x%x' != '0x%x'\n", |
614 | old_vendor, new_vendor); | 609 | old_vendor, new_vendor); |
615 | return 0; | 610 | return 0; |
616 | } | 611 | } |
617 | 612 | ||
618 | if (old_devid != new_devid) { | 613 | if (old_devid != new_devid) { |
619 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier " | 614 | ata_dev_info(dev, |
620 | "device ID mismatch '0x%x' != '0x%x'\n", | 615 | "Port Multiplier device ID mismatch '0x%x' != '0x%x'\n", |
621 | old_devid, new_devid); | 616 | old_devid, new_devid); |
622 | return 0; | 617 | return 0; |
623 | } | 618 | } |
624 | 619 | ||
625 | if (old_nr_ports != new_nr_ports) { | 620 | if (old_nr_ports != new_nr_ports) { |
626 | ata_dev_printk(dev, KERN_INFO, "Port Multiplier " | 621 | ata_dev_info(dev, |
627 | "nr_ports mismatch '0x%x' != '0x%x'\n", | 622 | "Port Multiplier nr_ports mismatch '0x%x' != '0x%x'\n", |
628 | old_nr_ports, new_nr_ports); | 623 | old_nr_ports, new_nr_ports); |
629 | return 0; | 624 | return 0; |
630 | } | 625 | } |
631 | 626 | ||
@@ -691,8 +686,7 @@ static int sata_pmp_revalidate(struct ata_device *dev, unsigned int new_class) | |||
691 | return 0; | 686 | return 0; |
692 | 687 | ||
693 | fail: | 688 | fail: |
694 | ata_dev_printk(dev, KERN_ERR, | 689 | ata_dev_err(dev, "PMP revalidation failed (errno=%d)\n", rc); |
695 | "PMP revalidation failed (errno=%d)\n", rc); | ||
696 | DPRINTK("EXIT, rc=%d\n", rc); | 690 | DPRINTK("EXIT, rc=%d\n", rc); |
697 | return rc; | 691 | return rc; |
698 | } | 692 | } |
@@ -716,13 +710,14 @@ static int sata_pmp_revalidate_quick(struct ata_device *dev) | |||
716 | 710 | ||
717 | err_mask = sata_pmp_read(dev->link, SATA_PMP_GSCR_PROD_ID, &prod_id); | 711 | err_mask = sata_pmp_read(dev->link, SATA_PMP_GSCR_PROD_ID, &prod_id); |
718 | if (err_mask) { | 712 | if (err_mask) { |
719 | ata_dev_printk(dev, KERN_ERR, "failed to read PMP product ID " | 713 | ata_dev_err(dev, |
720 | "(Emask=0x%x)\n", err_mask); | 714 | "failed to read PMP product ID (Emask=0x%x)\n", |
715 | err_mask); | ||
721 | return -EIO; | 716 | return -EIO; |
722 | } | 717 | } |
723 | 718 | ||
724 | if (prod_id != dev->gscr[SATA_PMP_GSCR_PROD_ID]) { | 719 | if (prod_id != dev->gscr[SATA_PMP_GSCR_PROD_ID]) { |
725 | ata_dev_printk(dev, KERN_ERR, "PMP product ID mismatch\n"); | 720 | ata_dev_err(dev, "PMP product ID mismatch\n"); |
726 | /* something weird is going on, request full PMP recovery */ | 721 | /* something weird is going on, request full PMP recovery */ |
727 | return -EIO; | 722 | return -EIO; |
728 | } | 723 | } |
@@ -777,8 +772,7 @@ static int sata_pmp_eh_recover_pmp(struct ata_port *ap, | |||
777 | rc = ata_eh_reset(link, 0, prereset, softreset, hardreset, | 772 | rc = ata_eh_reset(link, 0, prereset, softreset, hardreset, |
778 | postreset); | 773 | postreset); |
779 | if (rc) { | 774 | if (rc) { |
780 | ata_link_printk(link, KERN_ERR, | 775 | ata_link_err(link, "failed to reset PMP, giving up\n"); |
781 | "failed to reset PMP, giving up\n"); | ||
782 | goto fail; | 776 | goto fail; |
783 | } | 777 | } |
784 | 778 | ||
@@ -819,9 +813,9 @@ static int sata_pmp_eh_recover_pmp(struct ata_port *ap, | |||
819 | ehc->i.action |= ATA_EH_RESET; | 813 | ehc->i.action |= ATA_EH_RESET; |
820 | goto retry; | 814 | goto retry; |
821 | } else { | 815 | } else { |
822 | ata_dev_printk(dev, KERN_ERR, "failed to recover PMP " | 816 | ata_dev_err(dev, |
823 | "after %d tries, giving up\n", | 817 | "failed to recover PMP after %d tries, giving up\n", |
824 | ATA_EH_PMP_TRIES); | 818 | ATA_EH_PMP_TRIES); |
825 | goto fail; | 819 | goto fail; |
826 | } | 820 | } |
827 | } | 821 | } |
@@ -867,8 +861,9 @@ static int sata_pmp_eh_handle_disabled_links(struct ata_port *ap) | |||
867 | /* unconditionally clear SError.N */ | 861 | /* unconditionally clear SError.N */ |
868 | rc = sata_scr_write(link, SCR_ERROR, SERR_PHYRDY_CHG); | 862 | rc = sata_scr_write(link, SCR_ERROR, SERR_PHYRDY_CHG); |
869 | if (rc) { | 863 | if (rc) { |
870 | ata_link_printk(link, KERN_ERR, "failed to clear " | 864 | ata_link_err(link, |
871 | "SError.N (errno=%d)\n", rc); | 865 | "failed to clear SError.N (errno=%d)\n", |
866 | rc); | ||
872 | return rc; | 867 | return rc; |
873 | } | 868 | } |
874 | 869 | ||
@@ -890,7 +885,7 @@ static int sata_pmp_handle_link_fail(struct ata_link *link, int *link_tries) | |||
890 | 885 | ||
891 | /* disable this link */ | 886 | /* disable this link */ |
892 | if (!(link->flags & ATA_LFLAG_DISABLED)) { | 887 | if (!(link->flags & ATA_LFLAG_DISABLED)) { |
893 | ata_link_printk(link, KERN_WARNING, | 888 | ata_link_warn(link, |
894 | "failed to recover link after %d tries, disabling\n", | 889 | "failed to recover link after %d tries, disabling\n", |
895 | ATA_EH_PMP_LINK_TRIES); | 890 | ATA_EH_PMP_LINK_TRIES); |
896 | 891 | ||
@@ -974,7 +969,7 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
974 | err_mask = sata_pmp_write(pmp_link, SATA_PMP_GSCR_FEAT_EN, | 969 | err_mask = sata_pmp_write(pmp_link, SATA_PMP_GSCR_FEAT_EN, |
975 | gscr[SATA_PMP_GSCR_FEAT_EN]); | 970 | gscr[SATA_PMP_GSCR_FEAT_EN]); |
976 | if (err_mask) { | 971 | if (err_mask) { |
977 | ata_link_printk(pmp_link, KERN_WARNING, | 972 | ata_link_warn(pmp_link, |
978 | "failed to disable NOTIFY (err_mask=0x%x)\n", | 973 | "failed to disable NOTIFY (err_mask=0x%x)\n", |
979 | err_mask); | 974 | err_mask); |
980 | goto pmp_fail; | 975 | goto pmp_fail; |
@@ -1018,8 +1013,9 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
1018 | err_mask = sata_pmp_write(pmp_link, SATA_PMP_GSCR_FEAT_EN, | 1013 | err_mask = sata_pmp_write(pmp_link, SATA_PMP_GSCR_FEAT_EN, |
1019 | gscr[SATA_PMP_GSCR_FEAT_EN]); | 1014 | gscr[SATA_PMP_GSCR_FEAT_EN]); |
1020 | if (err_mask) { | 1015 | if (err_mask) { |
1021 | ata_dev_printk(pmp_dev, KERN_ERR, "failed to write " | 1016 | ata_dev_err(pmp_dev, |
1022 | "PMP_FEAT_EN (Emask=0x%x)\n", err_mask); | 1017 | "failed to write PMP_FEAT_EN (Emask=0x%x)\n", |
1018 | err_mask); | ||
1023 | rc = -EIO; | 1019 | rc = -EIO; |
1024 | goto pmp_fail; | 1020 | goto pmp_fail; |
1025 | } | 1021 | } |
@@ -1028,8 +1024,9 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
1028 | /* check GSCR_ERROR */ | 1024 | /* check GSCR_ERROR */ |
1029 | err_mask = sata_pmp_read(pmp_link, SATA_PMP_GSCR_ERROR, &gscr_error); | 1025 | err_mask = sata_pmp_read(pmp_link, SATA_PMP_GSCR_ERROR, &gscr_error); |
1030 | if (err_mask) { | 1026 | if (err_mask) { |
1031 | ata_dev_printk(pmp_dev, KERN_ERR, "failed to read " | 1027 | ata_dev_err(pmp_dev, |
1032 | "PMP_GSCR_ERROR (Emask=0x%x)\n", err_mask); | 1028 | "failed to read PMP_GSCR_ERROR (Emask=0x%x)\n", |
1029 | err_mask); | ||
1033 | rc = -EIO; | 1030 | rc = -EIO; |
1034 | goto pmp_fail; | 1031 | goto pmp_fail; |
1035 | } | 1032 | } |
@@ -1043,17 +1040,16 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
1043 | ata_ehi_hotplugged(&link->eh_context.i); | 1040 | ata_ehi_hotplugged(&link->eh_context.i); |
1044 | cnt++; | 1041 | cnt++; |
1045 | } else { | 1042 | } else { |
1046 | ata_link_printk(link, KERN_WARNING, | 1043 | ata_link_warn(link, |
1047 | "PHY status changed but maxed out on retries, " | 1044 | "PHY status changed but maxed out on retries, giving up\n"); |
1048 | "giving up\n"); | 1045 | ata_link_warn(link, |
1049 | ata_link_printk(link, KERN_WARNING, | 1046 | "Manually issue scan to resume this link\n"); |
1050 | "Manully issue scan to resume this link\n"); | ||
1051 | } | 1047 | } |
1052 | } | 1048 | } |
1053 | 1049 | ||
1054 | if (cnt) { | 1050 | if (cnt) { |
1055 | ata_port_printk(ap, KERN_INFO, "PMP SError.N set for some " | 1051 | ata_port_info(ap, |
1056 | "ports, repeating recovery\n"); | 1052 | "PMP SError.N set for some ports, repeating recovery\n"); |
1057 | goto retry; | 1053 | goto retry; |
1058 | } | 1054 | } |
1059 | 1055 | ||
@@ -1081,9 +1077,8 @@ static int sata_pmp_eh_recover(struct ata_port *ap) | |||
1081 | goto retry; | 1077 | goto retry; |
1082 | } | 1078 | } |
1083 | 1079 | ||
1084 | ata_port_printk(ap, KERN_ERR, | 1080 | ata_port_err(ap, "failed to recover PMP after %d tries, giving up\n", |
1085 | "failed to recover PMP after %d tries, giving up\n", | 1081 | ATA_EH_PMP_TRIES); |
1086 | ATA_EH_PMP_TRIES); | ||
1087 | sata_pmp_detach(pmp_dev); | 1082 | sata_pmp_detach(pmp_dev); |
1088 | ata_dev_disable(pmp_dev); | 1083 | ata_dev_disable(pmp_dev); |
1089 | 1084 | ||