mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-17 21:03:30 +00:00
mhi: use irq_flags if controller driver configures it
This commit is contained in:
parent
89e39d8809
commit
d7780d7360
47
target/linux/generic/hack-5.10/994-mhi-use-irq-flags.patch
Normal file
47
target/linux/generic/hack-5.10/994-mhi-use-irq-flags.patch
Normal file
@ -0,0 +1,47 @@
|
||||
--- a/drivers/bus/mhi/core/init.c
|
||||
+++ b/drivers/bus/mhi/core/init.c
|
||||
@@ -151,12 +151,17 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
|
||||
{
|
||||
struct mhi_event *mhi_event = mhi_cntrl->mhi_event;
|
||||
struct device *dev = &mhi_cntrl->mhi_dev->dev;
|
||||
+ unsigned long irq_flags = IRQF_SHARED | IRQF_NO_SUSPEND;
|
||||
int i, ret;
|
||||
|
||||
+ /* if controller driver has set irq_flags, use it */
|
||||
+ if (mhi_cntrl->irq_flags)
|
||||
+ irq_flags = mhi_cntrl->irq_flags;
|
||||
+
|
||||
/* Setup BHI_INTVEC IRQ */
|
||||
ret = request_threaded_irq(mhi_cntrl->irq[0], mhi_intvec_handler,
|
||||
mhi_intvec_threaded_handler,
|
||||
- IRQF_SHARED | IRQF_NO_SUSPEND,
|
||||
+ irq_flags,
|
||||
"bhi", mhi_cntrl);
|
||||
if (ret)
|
||||
return ret;
|
||||
@@ -174,7 +179,7 @@ int mhi_init_irq_setup(struct mhi_controller *mhi_cntrl)
|
||||
|
||||
ret = request_irq(mhi_cntrl->irq[mhi_event->irq],
|
||||
mhi_irq_handler,
|
||||
- IRQF_SHARED | IRQF_NO_SUSPEND,
|
||||
+ irq_flags,
|
||||
"mhi", mhi_event);
|
||||
if (ret) {
|
||||
dev_err(dev, "Error requesting irq:%d for ev:%d\n",
|
||||
--- a/include/linux/mhi.h
|
||||
+++ b/include/linux/mhi.h
|
||||
@@ -353,6 +353,7 @@ struct mhi_controller_config {
|
||||
* @fbc_download: MHI host needs to do complete image transfer (optional)
|
||||
* @pre_init: MHI host needs to do pre-initialization before power up
|
||||
* @wake_set: Device wakeup set flag
|
||||
+ * @irq_flags: irq flags passed to request_irq (optional)
|
||||
*
|
||||
* Fields marked as (required) need to be populated by the controller driver
|
||||
* before calling mhi_register_controller(). For the fields marked as (optional)
|
||||
@@ -444,6 +445,7 @@ struct mhi_controller {
|
||||
bool fbc_download;
|
||||
bool pre_init;
|
||||
bool wake_set;
|
||||
+ unsigned long irq_flags;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user