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

Commit 12a49961 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'irq-core-for-linus' of...

Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  pci/intr_remapping: Allocate irq_iommu on node
  irq: Add irq_node() primitive
  irq: Make sure irq_desc for legacy irq get correct node setting
  genirq: Add prototype for handle_nested_irq()
  irq: Remove superfluous NULL pointer check in check_irq_resend()
  irq: Clean up by removing irqfixup MODULE_PARM_DESC()
  genirq: Fix comment describing suspend_device_irqs()
  genirq: Remove obsolete defines and typedefs
parents eee2775d 70590ea7
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -394,15 +394,6 @@ Who: Thomas Gleixner <tglx@linutronix.de>

-----------------------------

What:	obsolete generic irq defines and typedefs
When:	2.6.30
Why:	The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t)
	have been kept around for migration reasons. After more than two years
	it's time to remove them finally
Who:	Thomas Gleixner <tglx@linutronix.de>

---------------------------

What:	fakephp and associated sysfs files in /sys/bus/pci/slots/
When:	2011
Why:	In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
+3 −11
Original line number Diff line number Diff line
@@ -55,15 +55,12 @@ static struct irq_2_iommu *irq_2_iommu(unsigned int irq)
	return desc->irq_2_iommu;
}

static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node)
static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq)
{
	struct irq_desc *desc;
	struct irq_2_iommu *irq_iommu;

	/*
	 * alloc irq desc if not allocated already.
	 */
	desc = irq_to_desc_alloc_node(irq, node);
	desc = irq_to_desc(irq);
	if (!desc) {
		printk(KERN_INFO "can not get irq_desc for %d\n", irq);
		return NULL;
@@ -72,16 +69,11 @@ static struct irq_2_iommu *irq_2_iommu_alloc_node(unsigned int irq, int node)
	irq_iommu = desc->irq_2_iommu;

	if (!irq_iommu)
		desc->irq_2_iommu = get_one_free_irq_2_iommu(node);
		desc->irq_2_iommu = get_one_free_irq_2_iommu(irq_node(irq));

	return desc->irq_2_iommu;
}

static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq)
{
	return irq_2_iommu_alloc_node(irq, cpu_to_node(boot_cpu_id));
}

#else /* !CONFIG_SPARSE_IRQ */

static struct irq_2_iommu irq_2_iommuX[NR_IRQS];
+1 −7
Original line number Diff line number Diff line
@@ -219,13 +219,6 @@ static inline struct irq_desc *move_irq_desc(struct irq_desc *desc, int node)

extern struct irq_desc *irq_to_desc_alloc_node(unsigned int irq, int node);

/*
 * Migration helpers for obsolete names, they will go away:
 */
#define hw_interrupt_type	irq_chip
#define no_irq_type		no_irq_chip
typedef struct irq_desc		irq_desc_t;

/*
 * Pick up the arch-dependent methods:
 */
@@ -289,6 +282,7 @@ extern void handle_edge_irq(unsigned int irq, struct irq_desc *desc);
extern void handle_simple_irq(unsigned int irq, struct irq_desc *desc);
extern void handle_percpu_irq(unsigned int irq, struct irq_desc *desc);
extern void handle_bad_irq(unsigned int irq, struct irq_desc *desc);
extern void handle_nested_irq(unsigned int irq);

/*
 * Monolithic do_IRQ implementation.
+6 −0
Original line number Diff line number Diff line
@@ -41,6 +41,12 @@ extern struct irq_desc *irq_to_desc(unsigned int irq);
			;						\
		else

#ifdef CONFIG_SMP
#define irq_node(irq)	(irq_to_desc(irq)->node)
#else
#define irq_node(irq)	0
#endif

#endif /* CONFIG_GENERIC_HARDIRQS */

#define for_each_irq_nr(irq)                   \
+4 −1
Original line number Diff line number Diff line
@@ -172,6 +172,9 @@ int __init early_irq_init(void)

	for (i = 0; i < legacy_count; i++) {
		desc[i].irq = i;
#ifdef CONFIG_SMP
		desc[i].node = node;
#endif
		desc[i].kstat_irqs = kstat_irqs_legacy + i * nr_cpu_ids;
		lockdep_set_class(&desc[i].lock, &irq_desc_lock_class);
		alloc_desc_masks(&desc[i], node, true);
Loading