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

Commit 64c4813d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm

parents babf68de 664399e1
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -177,7 +177,7 @@ static void locomo_handler(unsigned int irq, struct irqdesc *desc,
		d = irq_desc + irq;
		for (i = 0; i <= 3; i++, d++, irq++) {
			if (req & (0x0100 << i)) {
				d->handle(irq, d, regs);
				desc_handle_irq(irq, d, regs);
			}

		}
@@ -220,7 +220,7 @@ static void locomo_key_handler(unsigned int irq, struct irqdesc *desc,

	if (locomo_readl(mapbase + LOCOMO_KEYBOARD + LOCOMO_KIC) & 0x0001) {
		d = irq_desc + LOCOMO_IRQ_KEY_START;
		d->handle(LOCOMO_IRQ_KEY_START, d, regs);
		desc_handle_irq(LOCOMO_IRQ_KEY_START, d, regs);
	}
}

@@ -273,7 +273,7 @@ static void locomo_gpio_handler(unsigned int irq, struct irqdesc *desc,
		d = irq_desc + LOCOMO_IRQ_GPIO_START;
		for (i = 0; i <= 15; i++, irq++, d++) {
			if (req & (0x0001 << i)) {
				d->handle(irq, d, regs);
				desc_handle_irq(irq, d, regs);
			}
		}
	}
@@ -328,7 +328,7 @@ static void locomo_lt_handler(unsigned int irq, struct irqdesc *desc,

	if (locomo_readl(mapbase + LOCOMO_LTINT) & 0x0001) {
		d = irq_desc + LOCOMO_IRQ_LT_START;
		d->handle(LOCOMO_IRQ_LT_START, d, regs);
		desc_handle_irq(LOCOMO_IRQ_LT_START, d, regs);
	}
}

@@ -379,7 +379,7 @@ static void locomo_spi_handler(unsigned int irq, struct irqdesc *desc,

		for (i = 0; i <= 3; i++, irq++, d++) {
			if (req & (0x0001 << i)) {
				d->handle(irq, d, regs);
				desc_handle_irq(irq, d, regs);
			}
		}
	}
@@ -651,16 +651,16 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
	return ret;
}

static void __locomo_remove(struct locomo *lchip)
static int locomo_remove_child(struct device *dev, void *data)
{
	struct list_head *l, *n;

	list_for_each_safe(l, n, &lchip->dev->children) {
		struct device *d = list_to_dev(l);

		device_unregister(d);
	device_unregister(dev);
	return 0;
} 

static void __locomo_remove(struct locomo *lchip)
{
	device_for_each_child(lchip->dev, NULL, locomo_remove_child);

	if (lchip->irq != NO_IRQ) {
		set_irq_chained_handler(lchip->irq, NULL);
		set_irq_data(lchip->irq, NULL);
+4 −4
Original line number Diff line number Diff line
@@ -268,8 +268,8 @@ static struct irqchip sa1111_low_chip = {
	.mask		= sa1111_mask_lowirq,
	.unmask		= sa1111_unmask_lowirq,
	.retrigger	= sa1111_retrigger_lowirq,
	.type		= sa1111_type_lowirq,
	.wake		= sa1111_wake_lowirq,
	.set_type	= sa1111_type_lowirq,
	.set_wake	= sa1111_wake_lowirq,
};

static void sa1111_mask_highirq(unsigned int irq)
@@ -364,8 +364,8 @@ static struct irqchip sa1111_high_chip = {
	.mask		= sa1111_mask_highirq,
	.unmask		= sa1111_unmask_highirq,
	.retrigger	= sa1111_retrigger_highirq,
	.type		= sa1111_type_highirq,
	.wake		= sa1111_wake_highirq,
	.set_type	= sa1111_type_highirq,
	.set_wake	= sa1111_wake_highirq,
};

static void sa1111_setup_irq(struct sa1111 *sachip)
+2 −2
Original line number Diff line number Diff line
@@ -585,7 +585,7 @@ ecard_irq_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs)

		if (pending) {
			struct irqdesc *d = irq_desc + ec->irq;
			d->handle(ec->irq, d, regs);
			desc_handle_irq(ec->irq, d, regs);
			called ++;
		}
	}
@@ -632,7 +632,7 @@ ecard_irqexp_handler(unsigned int irq, struct irqdesc *desc, struct pt_regs *reg
			 * Serial cards should go in 0/1, ethernet/scsi in 2/3
			 * otherwise you will lose serial data at high speeds!
			 */
			d->handle(ec->irq, d, regs);
			desc_handle_irq(ec->irq, d, regs);
		} else {
			printk(KERN_WARNING "card%d: interrupt from unclaimed "
			       "card???\n", slot);
+10 −10
Original line number Diff line number Diff line
@@ -207,8 +207,8 @@ void enable_irq_wake(unsigned int irq)
	unsigned long flags;

	spin_lock_irqsave(&irq_controller_lock, flags);
	if (desc->chip->wake)
		desc->chip->wake(irq, 1);
	if (desc->chip->set_wake)
		desc->chip->set_wake(irq, 1);
	spin_unlock_irqrestore(&irq_controller_lock, flags);
}
EXPORT_SYMBOL(enable_irq_wake);
@@ -219,8 +219,8 @@ void disable_irq_wake(unsigned int irq)
	unsigned long flags;

	spin_lock_irqsave(&irq_controller_lock, flags);
	if (desc->chip->wake)
		desc->chip->wake(irq, 0);
	if (desc->chip->set_wake)
		desc->chip->set_wake(irq, 0);
	spin_unlock_irqrestore(&irq_controller_lock, flags);
}
EXPORT_SYMBOL(disable_irq_wake);
@@ -517,7 +517,7 @@ static void do_pending_irqs(struct pt_regs *regs)
		list_for_each_safe(l, n, &head) {
			desc = list_entry(l, struct irqdesc, pend);
			list_del_init(&desc->pend);
			desc->handle(desc - irq_desc, desc, regs);
			desc_handle_irq(desc - irq_desc, desc, regs);
		}

		/*
@@ -545,7 +545,7 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs)

	irq_enter();
	spin_lock(&irq_controller_lock);
	desc->handle(irq, desc, regs);
	desc_handle_irq(irq, desc, regs);

	/*
	 * Now re-run any pending interrupts.
@@ -624,9 +624,9 @@ int set_irq_type(unsigned int irq, unsigned int type)
	}

	desc = irq_desc + irq;
	if (desc->chip->type) {
	if (desc->chip->set_type) {
		spin_lock_irqsave(&irq_controller_lock, flags);
		ret = desc->chip->type(irq, type);
		ret = desc->chip->set_type(irq, type);
		spin_unlock_irqrestore(&irq_controller_lock, flags);
	}

@@ -846,8 +846,8 @@ unsigned long probe_irq_on(void)

		irq_desc[i].probing = 1;
		irq_desc[i].triggered = 0;
		if (irq_desc[i].chip->type)
			irq_desc[i].chip->type(i, IRQT_PROBE);
		if (irq_desc[i].chip->set_type)
			irq_desc[i].chip->set_type(i, IRQT_PROBE);
		irq_desc[i].chip->unmask(i);
		irqs += 1;
	}
+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ int __cpuinit __cpu_up(unsigned int cpu)
	 * We need to tell the secondary core where to find
	 * its stack and the page tables.
	 */
	secondary_data.stack = (void *)idle->thread_info + THREAD_SIZE - 8;
	secondary_data.stack = (void *)idle->thread_info + THREAD_START_SP;
	secondary_data.pgdir = virt_to_phys(pgd);
	wmb();

Loading