Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.10-rc5 68 lines 1.6 kB view raw
1/* 2 * common EDAC components that must be in kernel 3 * 4 * Author: Dave Jiang <djiang@mvista.com> 5 * 6 * 2007 (c) MontaVista Software, Inc. 7 * 2010 (c) Advanced Micro Devices Inc. 8 * Borislav Petkov <bp@alien8.de> 9 * 10 * This file is licensed under the terms of the GNU General Public 11 * License version 2. This program is licensed "as is" without any 12 * warranty of any kind, whether express or implied. 13 * 14 */ 15#include <linux/module.h> 16#include <linux/edac.h> 17#include <linux/atomic.h> 18#include <linux/device.h> 19 20int edac_op_state = EDAC_OPSTATE_INVAL; 21EXPORT_SYMBOL_GPL(edac_op_state); 22 23atomic_t edac_handlers = ATOMIC_INIT(0); 24EXPORT_SYMBOL_GPL(edac_handlers); 25 26int edac_err_assert = 0; 27EXPORT_SYMBOL_GPL(edac_err_assert); 28 29int edac_report_status = EDAC_REPORTING_ENABLED; 30EXPORT_SYMBOL_GPL(edac_report_status); 31 32static int __init edac_report_setup(char *str) 33{ 34 if (!str) 35 return -EINVAL; 36 37 if (!strncmp(str, "on", 2)) 38 set_edac_report_status(EDAC_REPORTING_ENABLED); 39 else if (!strncmp(str, "off", 3)) 40 set_edac_report_status(EDAC_REPORTING_DISABLED); 41 else if (!strncmp(str, "force", 5)) 42 set_edac_report_status(EDAC_REPORTING_FORCE); 43 44 return 0; 45} 46__setup("edac_report=", edac_report_setup); 47 48/* 49 * called to determine if there is an EDAC driver interested in 50 * knowing an event (such as NMI) occurred 51 */ 52int edac_handler_set(void) 53{ 54 if (edac_op_state == EDAC_OPSTATE_POLL) 55 return 0; 56 57 return atomic_read(&edac_handlers); 58} 59EXPORT_SYMBOL_GPL(edac_handler_set); 60 61/* 62 * handler for NMI type of interrupts to assert error 63 */ 64void edac_atomic_assert_error(void) 65{ 66 edac_err_assert++; 67} 68EXPORT_SYMBOL_GPL(edac_atomic_assert_error);