diff options
author | Tejun Heo <htejun@gmail.com> | 2006-11-01 18:38:52 +0900 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-01 22:41:31 -0500 |
commit | efdaedc443e935eda82e9e78a6e65d1f993d242f (patch) | |
tree | 8bcdc05ec85f7a9e7b0a5b1e5014ec21cf4e8aac /drivers/ata/sata_sil.c | |
parent | ad616ffbda8caf3ce76d2b43027e789d732abf48 (diff) | |
download | kernel_samsung_smdk4412-efdaedc443e935eda82e9e78a6e65d1f993d242f.zip kernel_samsung_smdk4412-efdaedc443e935eda82e9e78a6e65d1f993d242f.tar.gz kernel_samsung_smdk4412-efdaedc443e935eda82e9e78a6e65d1f993d242f.tar.bz2 |
[PATCH] libata: implement ATA_EHI_PRINTINFO
Implement ehi flag ATA_EHI_PRINTINFO. This flag is set when device
configuration needs to print out device info. This used to be handled
by @print_info argument to ata_dev_configure() but LLDs also need to
know about it in ->dev_config() callback.
This patch replaces @print_info w/ ATA_EHI_PRINTINFO and make sata_sil
print workaround messages only on the initial configuration.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/sata_sil.c')
-rw-r--r-- | drivers/ata/sata_sil.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c index ca8d993..f844a1f 100644 --- a/drivers/ata/sata_sil.c +++ b/drivers/ata/sata_sil.c @@ -534,6 +534,7 @@ static void sil_thaw(struct ata_port *ap) */ static void sil_dev_config(struct ata_port *ap, struct ata_device *dev) { + int print_info = ap->eh_context.i.flags & ATA_EHI_PRINTINFO; unsigned int n, quirks = 0; unsigned char model_num[41]; @@ -549,16 +550,18 @@ static void sil_dev_config(struct ata_port *ap, struct ata_device *dev) if (slow_down || ((ap->flags & SIL_FLAG_MOD15WRITE) && (quirks & SIL_QUIRK_MOD15WRITE))) { - ata_dev_printk(dev, KERN_INFO, "applying Seagate errata fix " - "(mod15write workaround)\n"); + if (print_info) + ata_dev_printk(dev, KERN_INFO, "applying Seagate " + "errata fix (mod15write workaround)\n"); dev->max_sectors = 15; return; } /* limit to udma5 */ if (quirks & SIL_QUIRK_UDMA5MAX) { - ata_dev_printk(dev, KERN_INFO, - "applying Maxtor errata fix %s\n", model_num); + if (print_info) + ata_dev_printk(dev, KERN_INFO, "applying Maxtor " + "errata fix %s\n", model_num); dev->udma_mask &= ATA_UDMA5; return; } |