diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2012-12-25 19:06:06 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-07 10:31:29 -0800 |
commit | 3a65dd4ea32c3e3a3befec58ad20d1c96580834e (patch) | |
tree | 4c8226f14b9cb96b68faecf19f3b3fe8c12d5ddd /drivers/misc/mei/interrupt.c | |
parent | db7da79df1a9eafb4f07653bf9011537325a9b62 (diff) | |
download | talos-obmc-linux-3a65dd4ea32c3e3a3befec58ad20d1c96580834e.tar.gz talos-obmc-linux-3a65dd4ea32c3e3a3befec58ad20d1c96580834e.zip |
mei: move hw dependent functions to interface.c
1. move direct register handling to interface.c and make them static
2. add new function mei_clear_interrupts that wraps direct register
access
3. export other functions in mei_dev.h
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/interrupt.c')
-rw-r--r-- | drivers/misc/mei/interrupt.c | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c index 0a020ad92f00..cd89b68fcf43 100644 --- a/drivers/misc/mei/interrupt.c +++ b/drivers/misc/mei/interrupt.c @@ -28,28 +28,6 @@ /** - * mei_interrupt_quick_handler - The ISR of the MEI device - * - * @irq: The irq number - * @dev_id: pointer to the device structure - * - * returns irqreturn_t - */ -irqreturn_t mei_interrupt_quick_handler(int irq, void *dev_id) -{ - struct mei_device *dev = (struct mei_device *) dev_id; - u32 csr_reg = mei_hcsr_read(dev); - - if ((csr_reg & H_IS) != H_IS) - return IRQ_NONE; - - /* clear H_IS bit in H_CSR */ - mei_reg_write(dev, H_CSR, csr_reg); - - return IRQ_WAKE_THREAD; -} - -/** * _mei_cmpl - processes completed operation. * * @cl: private data of the file object. @@ -1150,7 +1128,7 @@ irqreturn_t mei_interrupt_thread_handler(int irq, void *dev_id) /* Ack the interrupt here * In case of MSI we don't go through the quick handler */ if (pci_dev_msi_enabled(dev->pdev)) - mei_reg_write(dev, H_CSR, dev->host_hw_state); + mei_clear_interrupts(dev); dev->me_hw_state = mei_mecsr_read(dev); |