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

Commit 08876fe8 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Matt Turner
Browse files

alpha: marvel: Convert irq_chip functions

parent c0497664
Loading
Loading
Loading
Loading
+19 −23
Original line number Diff line number Diff line
@@ -104,9 +104,10 @@ io7_get_irq_ctl(unsigned int irq, struct io7 **pio7)
}

static void
io7_enable_irq(unsigned int irq)
io7_enable_irq(struct irq_data *d)
{
	volatile unsigned long *ctl;
	unsigned int irq = d->irq;
	struct io7 *io7;

	ctl = io7_get_irq_ctl(irq, &io7);
@@ -124,9 +125,10 @@ io7_enable_irq(unsigned int irq)
}

static void
io7_disable_irq(unsigned int irq)
io7_disable_irq(struct irq_data *d)
{
	volatile unsigned long *ctl;
	unsigned int irq = d->irq;
	struct io7 *io7;

	ctl = io7_get_irq_ctl(irq, &io7);
@@ -144,35 +146,29 @@ io7_disable_irq(unsigned int irq)
}

static void
marvel_irq_noop(unsigned int irq) 
marvel_irq_noop(struct irq_data *d)
{
	return;
}

static unsigned int
marvel_irq_noop_return(unsigned int irq) 
{ 
	return 0; 
}

static struct irq_chip marvel_legacy_irq_type = {
	.name		= "LEGACY",
	.mask		= marvel_irq_noop,
	.unmask		= marvel_irq_noop,
	.irq_mask	= marvel_irq_noop,
	.irq_unmask	= marvel_irq_noop,
};

static struct irq_chip io7_lsi_irq_type = {
	.name		= "LSI",
	.unmask		= io7_enable_irq,
	.mask		= io7_disable_irq,
	.mask_ack	= io7_disable_irq,
	.irq_unmask	= io7_enable_irq,
	.irq_mask	= io7_disable_irq,
	.irq_mask_ack	= io7_disable_irq,
};

static struct irq_chip io7_msi_irq_type = {
	.name		= "MSI",
	.unmask		= io7_enable_irq,
	.mask		= io7_disable_irq,
	.ack		= marvel_irq_noop,
	.irq_unmask	= io7_enable_irq,
	.irq_mask	= io7_disable_irq,
	.irq_ack	= marvel_irq_noop,
};

static void
@@ -280,8 +276,8 @@ init_io7_irqs(struct io7 *io7,

	/* Set up the lsi irqs.  */
	for (i = 0; i < 128; ++i) {
		irq_to_desc(base + i)->status |= IRQ_LEVEL;
		set_irq_chip_and_handler(base + i, lsi_ops, handle_level_irq);
		irq_set_status_flags(i, IRQ_LEVEL);
	}

	/* Disable the implemented irqs in hardware.  */
@@ -294,8 +290,8 @@ init_io7_irqs(struct io7 *io7,

	/* Set up the msi irqs.  */
	for (i = 128; i < (128 + 512); ++i) {
		irq_to_desc(base + i)->status |= IRQ_LEVEL;
		set_irq_chip_and_handler(base + i, msi_ops, handle_level_irq);
		irq_set_status_flags(i, IRQ_LEVEL);
	}

	for (i = 0; i < 16; ++i)