diff options
author | Andres Salomon <dilinger@queued.net> | 2010-10-10 23:35:05 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2010-10-12 23:58:27 -0400 |
commit | 52f6537cb2f0b461a9ce3457c01a6cfa2ae0bb22 (patch) | |
tree | db720ce58637b3c70277f9b0fbe5082fcf6f9b94 /drivers/of/platform.c | |
parent | e2f2a93b6384cfe0face0be595bfbda1475d864b (diff) |
of/irq: remove references to NO_IRQ in drivers/of/platform.c
Instead of referencing NO_IRQ in platform.c, define some helper functions
in irq.c to call instead from platform.c. Keep NO_IRQ usage local to
irq.c, and define NO_IRQ if not defined in headers.
Signed-off-by: Andres Salomon <dilinger@queued.net>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/of/platform.c')
-rw-r--r-- | drivers/of/platform.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/of/platform.c b/drivers/of/platform.c index bb72223c22ae..30726c8b0693 100644 --- a/drivers/of/platform.c +++ b/drivers/of/platform.c | |||
@@ -584,14 +584,13 @@ struct platform_device *of_device_alloc(struct device_node *np, | |||
584 | struct device *parent) | 584 | struct device *parent) |
585 | { | 585 | { |
586 | struct platform_device *dev; | 586 | struct platform_device *dev; |
587 | int rc, i, num_reg = 0, num_irq = 0; | 587 | int rc, i, num_reg = 0, num_irq; |
588 | struct resource *res, temp_res; | 588 | struct resource *res, temp_res; |
589 | 589 | ||
590 | /* First count how many resources are needed */ | 590 | /* First count how many resources are needed */ |
591 | while (of_address_to_resource(np, num_reg, &temp_res) == 0) | 591 | while (of_address_to_resource(np, num_reg, &temp_res) == 0) |
592 | num_reg++; | 592 | num_reg++; |
593 | while (of_irq_to_resource(np, num_irq, &temp_res) != NO_IRQ) | 593 | num_irq = of_irq_count(np); |
594 | num_irq++; | ||
595 | 594 | ||
596 | /* Allocate memory for both the struct device and the resource table */ | 595 | /* Allocate memory for both the struct device and the resource table */ |
597 | dev = kzalloc(sizeof(*dev) + (sizeof(*res) * (num_reg + num_irq)), | 596 | dev = kzalloc(sizeof(*dev) + (sizeof(*res) * (num_reg + num_irq)), |
@@ -608,10 +607,7 @@ struct platform_device *of_device_alloc(struct device_node *np, | |||
608 | rc = of_address_to_resource(np, i, res); | 607 | rc = of_address_to_resource(np, i, res); |
609 | WARN_ON(rc); | 608 | WARN_ON(rc); |
610 | } | 609 | } |
611 | for (i = 0; i < num_irq; i++, res++) { | 610 | WARN_ON(of_irq_to_resource_table(np, res, num_irq) != num_irq); |
612 | rc = of_irq_to_resource(np, i, res); | ||
613 | WARN_ON(rc == NO_IRQ); | ||
614 | } | ||
615 | } | 611 | } |
616 | 612 | ||
617 | dev->dev.of_node = of_node_get(np); | 613 | dev->dev.of_node = of_node_get(np); |