mei: move mei-me to separate module
mei layer provides host bus message layer, client management, and os interface mei-me - provides access to ME hardware through the pci bus Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b68301e9ac
commit
40e0b67be0
@@ -10,10 +10,9 @@ config INTEL_MEI
|
|||||||
<http://software.intel.com/en-us/manageability/>
|
<http://software.intel.com/en-us/manageability/>
|
||||||
|
|
||||||
config INTEL_MEI_ME
|
config INTEL_MEI_ME
|
||||||
bool "ME Enabled Intel Chipsets"
|
tristate "ME Enabled Intel Chipsets"
|
||||||
depends on INTEL_MEI
|
select INTEL_MEI
|
||||||
depends on X86 && PCI && WATCHDOG_CORE
|
depends on X86 && PCI && WATCHDOG_CORE
|
||||||
default y
|
|
||||||
help
|
help
|
||||||
MEI support for ME Enabled Intel chipsets.
|
MEI support for ME Enabled Intel chipsets.
|
||||||
|
|
||||||
|
@@ -10,5 +10,7 @@ mei-objs += client.o
|
|||||||
mei-objs += main.o
|
mei-objs += main.o
|
||||||
mei-objs += amthif.o
|
mei-objs += amthif.o
|
||||||
mei-objs += wd.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
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
#include <linux/wait.h>
|
#include <linux/wait.h>
|
||||||
@@ -67,6 +68,7 @@ void mei_device_init(struct mei_device *dev)
|
|||||||
mei_io_list_init(&dev->amthif_rd_complete_list);
|
mei_io_list_init(&dev->amthif_rd_complete_list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mei_device_init);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mei_start - initializes host and fw to start work.
|
* mei_start - initializes host and fw to start work.
|
||||||
@@ -136,6 +138,7 @@ err:
|
|||||||
mutex_unlock(&dev->device_lock);
|
mutex_unlock(&dev->device_lock);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mei_start);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mei_reset - resets host and fw.
|
* mei_reset - resets host and fw.
|
||||||
@@ -203,6 +206,7 @@ void mei_reset(struct mei_device *dev, int interrupts_enabled)
|
|||||||
/* remove all waiting requests */
|
/* remove all waiting requests */
|
||||||
mei_cl_all_write_clear(dev);
|
mei_cl_all_write_clear(dev);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mei_reset);
|
||||||
|
|
||||||
void mei_stop(struct mei_device *dev)
|
void mei_stop(struct mei_device *dev)
|
||||||
{
|
{
|
||||||
@@ -222,9 +226,8 @@ void mei_stop(struct mei_device *dev)
|
|||||||
flush_scheduled_work();
|
flush_scheduled_work();
|
||||||
|
|
||||||
mei_watchdog_unregister(dev);
|
mei_watchdog_unregister(dev);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mei_stop);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
@@ -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);
|
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
|
* _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:
|
end:
|
||||||
return ret;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mei_irq_write_handler);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -758,12 +758,16 @@ int mei_register(struct device *dev)
|
|||||||
mei_misc_device.parent = dev;
|
mei_misc_device.parent = dev;
|
||||||
return misc_register(&mei_misc_device);
|
return misc_register(&mei_misc_device);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mei_register);
|
||||||
|
|
||||||
void mei_deregister(void)
|
void mei_deregister(void)
|
||||||
{
|
{
|
||||||
misc_deregister(&mei_misc_device);
|
misc_deregister(&mei_misc_device);
|
||||||
mei_misc_device.parent = NULL;
|
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");
|
MODULE_LICENSE("GPL v2");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user