Subject: Re: [PATCH] phy: IRQ cannot be shared

From: Sergei Shtylyov <[email-masked]>
Date: Fri, 27 Dec 2013 22:53:40 +0300

On 12/27/2013 09:43 PM, David Miller wrote:

>>> With the way PHY IRQ handler is implemented (all real handling being pushed to
>>> the workqueue and returning IRQ_HANDLED all the time PHY is active), we cannot
>>> really claim that PHY IRQ can be shared when calling request_irq().

>> Looks good, in the future we might want to be able to let the Ethernet
>> MAC driver specify the flags to pass down to request_irq()

    I don't think this is such a good idea now since the way to pass those 
flags would be quite clumsy (like it is for IRQs, via array of 32 entries).
I'd prefer irq_set_irq_type() if there'd be no objections.

>> but this is
>> good enough for me for the time being.

>>> Signed-off-by: Sergei Shtylyov <[email-masked]>

>> Acked-by: Florian Fainelli <[email-masked]>

> I really worry that putting this new restriction in place is going to
> break a bunch of drivers.

> Arguably they are broken,

    Yes, they already are.

> but they are least mostly working right now
> and probes will completely fail after this change.

    I don't see how the probes will fail. Have you seen the surrounding code? 
It should just switch to PHY polling if request_irq() fails and return 0. Am I 
missing something?

> Feel free to allay my concerns, but tossing this into 'net' and
> -stable with such a possible risk really concerns me.

    Up to you, of course.

WBR, Sergei