diff options
author | Tejun Heo <htejun@gmail.com> | 2009-08-16 08:02:36 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2009-09-08 21:17:48 -0400 |
commit | 3e5cd1f2576c720f1d0705fdd7ba64f27e8836b7 (patch) | |
tree | 631d41c950d2dc93c110ca86e779cb749c9a8987 /drivers/ata/ahci.c | |
parent | 02c24fa87724bb3af969463cd74dc3b3feb24740 (diff) |
dmi: extend dmi_get_year() to dmi_get_date()
There are cases where full date information is required instead of
just the year. Add month and day parsing to dmi_get_year() and rename
it to dmi_get_date().
As the original function only required '/' followed by any number of
parseable characters at the end of the string, keep that behavior to
avoid upsetting existing users.
The new function takes dates of format [mm[/dd]]/yy[yy]. Year, month
and date are checked to be in the ranges of [1-9999], [1-12] and
[1-31] respectively and any invalid or out-of-range component is
returned as zero.
The dummy implementation is updated accordingly but the return value
is updated to indicate field not found which is consistent with how
other dummy functions behave.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r-- | drivers/ata/ahci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index be4c39f8ab81..147b9be3b4d2 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -2679,7 +2679,7 @@ static bool ahci_asus_m2a_vm_32bit_only(struct pci_dev *pdev) | |||
2679 | * different versions. | 2679 | * different versions. |
2680 | */ | 2680 | */ |
2681 | date = dmi_get_system_info(DMI_BIOS_DATE); | 2681 | date = dmi_get_system_info(DMI_BIOS_DATE); |
2682 | year = dmi_get_year(DMI_BIOS_DATE); | 2682 | dmi_get_date(DMI_BIOS_DATE, &year, NULL, NULL); |
2683 | if (date && strlen(date) >= 10 && date[2] == '/' && date[5] == '/' && | 2683 | if (date && strlen(date) >= 10 && date[2] == '/' && date[5] == '/' && |
2684 | (year > 2007 || | 2684 | (year > 2007 || |
2685 | (year == 2007 && strncmp(date, cutoff_mmdd, 5) >= 0))) | 2685 | (year == 2007 && strncmp(date, cutoff_mmdd, 5) >= 0))) |