On 2014/9/24 14:55, Yasuaki Ishimatsu wrote:
> (2014/09/11 23:03), Jiang Liu wrote:
>> +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++) {
> 
>> +            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.

> 
>> +            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++) {
> 
> 
>> +            irq_data = irq_get_irq_data(virq + i);
>> +            irq_data->domain = domain;
> 
> ditto.
Seems as above.
Regards!
Gerry

> 
> Thanks,
> Yasuaki Ishimatsu
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to