/* Internal function that tells the architecture code whether a particular irq has been exclusively allocated or is available for driver use.  */
int can_request_irq(unsigned int irq, unsigned long irqflags)
/* Internal function that tells the architecture code whether a particular irq has been exclusively allocated or is available for driver use.  */
int can_request_irq(unsigned int irq, unsigned long irqflags)
{
	struct irq_desc *desc = irq_to_desc(irq);
	struct irqaction *action;
	if (!desc)
		return 0;
	if (desc->status & IRQ_NOREQUEST)
		return 0;
	action = desc->action;
	if (action)
		if (irqflags & action->flags & IRQF_SHARED)
			action = NULL;
	return !action;
}