rtc-cmos.c (eea3a00264cf243a28e4331566ce67b86059339d) | rtc-cmos.c (a737e835e5769ef22897179ed7f82b1fc50bfa58) |
---|---|
1/* 2 * RTC class driver for "CMOS RTC": PCs, ACPI, etc 3 * 4 * Copyright (C) 1996 Paul Gortmaker (drivers/char/rtc.c) 5 * Copyright (C) 2006 David Brownell (convert to new framework) 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License --- 14 unchanged lines hidden (view full) --- 23 * bypass the RTC framework, directly reading the RTC during boot 24 * and updating minutes/seconds for systems using NTP synch) and 25 * utilities (like userspace 'hwclock', if no /dev node exists). 26 * 27 * So **ALL** calls to CMOS_READ and CMOS_WRITE must be done with 28 * interrupts disabled, holding the global rtc_lock, to exclude those 29 * other drivers and utilities on correctly configured systems. 30 */ | 1/* 2 * RTC class driver for "CMOS RTC": PCs, ACPI, etc 3 * 4 * Copyright (C) 1996 Paul Gortmaker (drivers/char/rtc.c) 5 * Copyright (C) 2006 David Brownell (convert to new framework) 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License --- 14 unchanged lines hidden (view full) --- 23 * bypass the RTC framework, directly reading the RTC during boot 24 * and updating minutes/seconds for systems using NTP synch) and 25 * utilities (like userspace 'hwclock', if no /dev node exists). 26 * 27 * So **ALL** calls to CMOS_READ and CMOS_WRITE must be done with 28 * interrupts disabled, holding the global rtc_lock, to exclude those 29 * other drivers and utilities on correctly configured systems. 30 */ |
31 32#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt 33 |
|
31#include <linux/kernel.h> 32#include <linux/module.h> 33#include <linux/init.h> 34#include <linux/interrupt.h> 35#include <linux/spinlock.h> 36#include <linux/platform_device.h> 37#include <linux/log2.h> 38#include <linux/pm.h> --- 341 unchanged lines hidden (view full) --- 380/* 381 * Do not disable RTC alarm on shutdown - workaround for b0rked BIOSes. 382 */ 383static bool alarm_disable_quirk; 384 385static int __init set_alarm_disable_quirk(const struct dmi_system_id *id) 386{ 387 alarm_disable_quirk = true; | 34#include <linux/kernel.h> 35#include <linux/module.h> 36#include <linux/init.h> 37#include <linux/interrupt.h> 38#include <linux/spinlock.h> 39#include <linux/platform_device.h> 40#include <linux/log2.h> 41#include <linux/pm.h> --- 341 unchanged lines hidden (view full) --- 383/* 384 * Do not disable RTC alarm on shutdown - workaround for b0rked BIOSes. 385 */ 386static bool alarm_disable_quirk; 387 388static int __init set_alarm_disable_quirk(const struct dmi_system_id *id) 389{ 390 alarm_disable_quirk = true; |
388 pr_info("rtc-cmos: BIOS has alarm-disable quirk. "); 389 pr_info("RTC alarms disabled\n"); | 391 pr_info("BIOS has alarm-disable quirk - RTC alarms disabled\n"); |
390 return 0; 391} 392 393static const struct dmi_system_id rtc_quirks[] __initconst = { 394 /* https://bugzilla.novell.com/show_bug.cgi?id=805740 */ 395 { 396 .callback = set_alarm_disable_quirk, 397 .ident = "IBM Truman", --- 874 unchanged lines hidden --- | 392 return 0; 393} 394 395static const struct dmi_system_id rtc_quirks[] __initconst = { 396 /* https://bugzilla.novell.com/show_bug.cgi?id=805740 */ 397 { 398 .callback = set_alarm_disable_quirk, 399 .ident = "IBM Truman", --- 874 unchanged lines hidden --- |