On Isn, 2014-04-07 at 12:11 -0500, Josh Cartwright wrote: > On Mon, Apr 07, 2014 at 04:00:43PM +0800, Tien Hock Loh wrote: > > On Wed, Mar 19, 2014 at 6:09 PM, Tien Hock Loh <thloh@xxxxxxxxxx> wrote: > > > On Fri, Mar 7, 2014 at 11:14 PM, Josh Cartwright <joshc@xxxxxxxxxxxxxx> wrote: > > >> On Mon, Mar 03, 2014 at 06:27:43PM +0800, thloh@xxxxxxxxxx wrote: > > >>> From: Tien Hock Loh <thloh@xxxxxxxxxx> > [..] > > >>> + altera_gc->mapped_irq = irq_of_parse_and_map(node, 0); > > >>> > > >> > > >> platform_get_irq(pdev, 0); > > >> > > > OK. > > > > > > > platform_get_irq doesn't create the irq mapping which is needed by the > > driver. Since this driver is targeted at using of, should I be using > > irq_of_parse_and_map or should I still redo the codes with > > platform_get_irq and irq_create_mapping? I think the latter would be > > introducing code redundancy. Please advice. > > Yes, it is technically true that platform_get_irq() doesn't do the > mapping directly, but that's because the mapping is setup earlier, when > of_device_alloc() (drivers/of/platform.c) allocates resources for your > platform device. > > Calling irq_of_parse_and_map() should be unnecessary. I checked and tried running the without irq_create_mapping but it seems the mapping is not done. What I've seen other GPIO driver is doing is to create the mapping during the gpio_to_irq call. However Linus suggested we are avoiding that route, thus the use of irq_of_parse_and_map. Do you agree with my findings? > ________________________________ Confidentiality Notice. This message may contain information that is confidential or otherwise protected from disclosure. If you are not the intended recipient, you are hereby notified that any use, disclosure, dissemination, distribution, or copying of this message, or any attachments, is strictly prohibited. If you have received this message in error, please advise the sender by reply e-mail, and delete the message and any attachments. Thank you. ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f