Thread (48 messages) 48 messages, 6 authors, 2014-09-25

[RFC Part2 v1 01/21] irqdomain: Introduce new interfaces to support hierarchy irqdomains

From: Jiang Liu <hidden>
Date: 2014-09-24 07:23:31
Also in: linux-acpi, linux-pci, lkml


On 2014/9/24 14:55, Yasuaki Ishimatsu wrote:
(2014/09/11 23:03), Jiang Liu wrote:
quoted
+static void irq_domain_free_irq_data(unsigned int virq, unsigned int nr_irqs)
+{
+	int i;
+	struct irq_data *irq_data, *tmp;
+
+	for (i = 0; i < nr_irqs; i++) {
quoted
+		irq_data = irq_get_irq_data(virq + i);
+		tmp = irq_data->parent_data;
Why don't you care NULL condition?
Yeah, there's an explicitly assumption that, irq_get_irq_data()
always return valid pointer once we have allocated the irq number
and associated irq_desc. If preferred, I will add a check here.
quoted
+		irq_data->parent_data = NULL;
+		irq_data->domain = NULL;
+
+		while (tmp) {
+			irq_data = tmp;
+			tmp = tmp->parent_data;
+			kfree(irq_data);
+		}
+	}
+}
+
+static int irq_domain_alloc_irq_data(struct irq_domain *domain,
+				     unsigned int virq, unsigned int nr_irqs)
+{
+	int i;
+	struct irq_data *irq_data;
+	struct irq_domain *parent;
+
+	/* The outmost irq_data is embedded in struct irq_desc */
+	for (i = 0; i < nr_irqs; i++) {
quoted
+		irq_data = irq_get_irq_data(virq + i);
+		irq_data->domain = domain;
ditto.
Seems as above.
Regards!
Gerry
Thanks,
Yasuaki Ishimatsu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help