On Fri, 2014-09-05 at 10:20 +0000, Chen, Alvin wrote: > > > - port->bgc.gc.ngpio = ngpio; > > > - port->bgc.gc.of_node = port_np; > > > +#ifdef CONFIG_OF_GPIO > > > > Do we really need this #ifdef ? > > of_node will be NULL anyway, or I missed something? > Yes, otherwise, can't compile it. Please refer 'struct gpio_chip', 'gc.of_node' is in OF_GPIO micro also. Ah, okay. Thus, it depends to Linus opinion, since I, for example, would like to see this field present in the structure independently of OF_GPIO. > > > > + if (pp->irq) > > > > irq == 0 is a valid hwirq (hardware irq) number. Yes, there is unlikely we have it > > somewhere, but still it's possible. And yes, IRQ framework doesn't work with > > virq == 0 (*virtual* irq), but accepts hwirq == 0. I recommend to use int type for > > irq line number, and recognize negative value (usually -1) as no irq needed / > > found. > Understand. But if you refer the original code, you can see: > irq = irq_of_parse_and_map(node, 0); > If (!irq) { > ...... > return; > } > From above code, if irq=0, it indicates irq is not supported for OF devices. If we use '-1' to indicate irq is not supported. To make OF work, then our code should be: Yes, like I said above. You introduce hw irq in the pdata, which could be 0. > irq = irq_of_parse_and_map(node, 0); > If (!irq) { > pp->irq = -1; > return; > } else { > pp->irq = irq; > } > Then the code looks strange. > > How do you think? If I understood correctly you messed up with hwirq vs. virq. Otherwise you have mention that you are using virq everywhere (I guess you may rename the field in the structure), but in this case the field in the platform_data looks a bit strange. Linus, what do you think? P.S. Please, remove my Reviewed-by tag since code is changed enough. -- Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Intel Finland Oy --------------------------------------------------------------------- Intel Finland Oy Registered Address: PL 281, 00181 Helsinki Business Identity Code: 0357606 - 4 Domiciled in Helsinki This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ��.n��������+%������w��{.n�����{�� b���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f