Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6824cec2 authored by Vatsal Bucha's avatar Vatsal Bucha Committed by Gerrit - the friendly Code Review server
Browse files

Asoc: swr: Handle MBHC and IRQ interrupts from tx slave



Interrupts will be handled by slave driver. This
needs slave pointer to store virtual interrupt and
pass it as a parameter to handle_nested_irq.

Change-Id: I356102a04b4fda7e5863f809cd848d7a82b82f36
Signed-off-by: default avatarVatsal Bucha <vbucha@codeaurora.org>
parent ec5eab55
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <linux/device.h>
#include <linux/mutex.h>
#include <linux/mod_devicetable.h>
#include <linux/irqdomain.h>

extern struct bus_type soundwire_type;

@@ -204,7 +205,7 @@ struct swr_device {
	struct device    dev;
	unsigned long    addr;
	u8 group_id;
	u8 slave_irq;
	struct irq_domain *slave_irq;
};

static inline struct swr_device *to_swr_device(struct device *dev)
+3 −1
Original line number Diff line number Diff line
@@ -1078,7 +1078,9 @@ static irqreturn_t swr_mstr_interrupt(int irq, void *dev)
				if (swr_dev->dev_num != devnum)
					continue;
				if (swr_dev->slave_irq)
					handle_nested_irq(swr_dev->slave_irq);
					handle_nested_irq(
						irq_find_mapping(
						swr_dev->slave_irq, 0));
			}
			break;
		case SWRM_INTERRUPT_STATUS_NEW_SLAVE_ATTACHED: