diff --git a/drivers/misc/mei/Kconfig b/drivers/misc/mei/Kconfig index d21b4d006a5519c7a658558a115b8044d5c7b2d0..c76fa31e9bf6926aac9cc181846d383f1325c8da 100644 --- a/drivers/misc/mei/Kconfig +++ b/drivers/misc/mei/Kconfig @@ -10,10 +10,9 @@ config INTEL_MEI config INTEL_MEI_ME - bool "ME Enabled Intel Chipsets" - depends on INTEL_MEI + tristate "ME Enabled Intel Chipsets" + select INTEL_MEI depends on X86 && PCI && WATCHDOG_CORE - default y help MEI support for ME Enabled Intel chipsets. diff --git a/drivers/misc/mei/Makefile b/drivers/misc/mei/Makefile index 040af6c7b147dbb95a437937ab29638c6f573fe5..2c336d08774928c3fdf75bd72dc38eeaff1fde28 100644 --- a/drivers/misc/mei/Makefile +++ b/drivers/misc/mei/Makefile @@ -10,5 +10,7 @@ mei-objs += client.o mei-objs += main.o mei-objs += amthif.o mei-objs += wd.o -mei-$(CONFIG_INTEL_MEI_ME) += pci-me.o -mei-$(CONFIG_INTEL_MEI_ME) += hw-me.o + +obj-$(CONFIG_INTEL_MEI_ME) += mei-me.o +mei-me-objs := pci-me.o +mei-me-objs += hw-me.o diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c index b3f7c3e761a0dbd2300ce05b961a0aa34f412cb8..c1c8d760bc34dd3fd96120567191ad13040203a6 100644 --- a/drivers/misc/mei/init.c +++ b/drivers/misc/mei/init.c @@ -14,6 +14,7 @@ * */ +#include #include #include #include @@ -67,6 +68,7 @@ void mei_device_init(struct mei_device *dev) mei_io_list_init(&dev->amthif_rd_complete_list); } +EXPORT_SYMBOL_GPL(mei_device_init); /** * mei_start - initializes host and fw to start work. @@ -136,6 +138,7 @@ int mei_start(struct mei_device *dev) mutex_unlock(&dev->device_lock); return -ENODEV; } +EXPORT_SYMBOL_GPL(mei_start); /** * mei_reset - resets host and fw. @@ -203,6 +206,7 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled) /* remove all waiting requests */ mei_cl_all_write_clear(dev); } +EXPORT_SYMBOL_GPL(mei_reset); void mei_stop(struct mei_device *dev) { @@ -222,9 +226,8 @@ void mei_stop(struct mei_device *dev) flush_scheduled_work(); mei_watchdog_unregister(dev); - } - +EXPORT_SYMBOL_GPL(mei_stop); diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c index 73fbce3e77460f83cdce0a5034c52353b2606991..6ce45ef2cd6cb8f8c86ed7524722f882a2f55244 100644 --- a/drivers/misc/mei/interrupt.c +++ b/drivers/misc/mei/interrupt.c @@ -15,6 +15,7 @@ */ +#include #include #include #include @@ -78,6 +79,7 @@ void mei_irq_compl_handler(struct mei_device *dev, struct mei_cl_cb *compl_list) mei_cl_complete_handler(cl, cb); } } +EXPORT_SYMBOL_GPL(mei_irq_compl_handler); /** * _mei_irq_thread_state_ok - checks if mei header matches file private data * @@ -440,6 +442,7 @@ int mei_irq_read_handler(struct mei_device *dev, end: return ret; } +EXPORT_SYMBOL_GPL(mei_irq_read_handler); /** @@ -590,6 +593,7 @@ int mei_irq_write_handler(struct mei_device *dev, struct mei_cl_cb *cmpl_list) } return 0; } +EXPORT_SYMBOL_GPL(mei_irq_write_handler); diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c index 903f809b21f79302fedca41a843f6add85ebe12c..27b3df2ba0700908afc0457f8db859be167dd4a0 100644 --- a/drivers/misc/mei/main.c +++ b/drivers/misc/mei/main.c @@ -758,12 +758,16 @@ int mei_register(struct device *dev) mei_misc_device.parent = dev; return misc_register(&mei_misc_device); } +EXPORT_SYMBOL_GPL(mei_register); void mei_deregister(void) { misc_deregister(&mei_misc_device); mei_misc_device.parent = NULL; } +EXPORT_SYMBOL_GPL(mei_deregister); +MODULE_AUTHOR("Intel Corporation"); +MODULE_DESCRIPTION("Intel(R) Management Engine Interface"); MODULE_LICENSE("GPL v2");