On 07/26/2014 11:21 AM, Geert Uytterhoeven wrote:
I applied Nick's cleanup (which is not yet in mainline, just in the m68k repo) because I thought Nick was right (in this particular case ;-), cfr. my reasoning in www.spinics.net/lists/kernel/msg1774736.html W.r.t. the signess, I didn't see the compiler warning, as the version of gcc I'm using didn't print that warning. However, irq_startup() converts the value returned by .irq_startup() from unsigned to signed. I assume this is just a missing conversion when the genirq framework itself was introduced (m68k was converted quite late)? W.r.t. the actual value, any non-zero value is treated the same. I can change it to 1, if that makes you feel better. If returning a non-zero value here is wrong, presumable the code has been wrong since it incarnation. As we're close to the opening of the merge window, it would be nice if we could conclude on this ;-)
From my standpoint there are two issues here:
1. The whole signed/unsigned mishmash here. Pretty much any solution besides implicitly converting a signed value into an unsigned one which then gets treated as something else entirely should be acceptable here. 2. Beyond semantics, the original patch also changed the behaviour of the code. What previously was a soft printk() is now a hard error. Does it break any systems? Cornercases? I dunno, but I can assure you that this wasn't tested at all. To sum it up, a solution would be welcome. The patch you currently have in the m68k repo isn't a solution. Thanks, Sasha -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html