diff options
Diffstat (limited to 'drivers/base/platform.c')
| -rw-r--r-- | drivers/base/platform.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index af1d47f0e99..1e8f65420db 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -83,9 +83,16 @@ EXPORT_SYMBOL_GPL(platform_get_resource);   */  int platform_get_irq(struct platform_device *dev, unsigned int num)  { +#ifdef CONFIG_SPARC +	/* sparc does not have irqs represented as IORESOURCE_IRQ resources */ +	if (!dev || num >= dev->archdata.num_irqs) +		return -ENXIO; +	return dev->archdata.irqs[num]; +#else  	struct resource *r = platform_get_resource(dev, IORESOURCE_IRQ, num);  	return r ? r->start : -ENXIO; +#endif  }  EXPORT_SYMBOL_GPL(platform_get_irq);  |