From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH for-4.5 6/8] xen/arm: IRQ: Add lock contrainst for gic_irq_{startup, shutdown} Date: Wed, 19 Feb 2014 14:51:13 +0000 Message-ID: <5304C4E1.2070901@linaro.org> References: <1390581822-32624-1-git-send-email-julien.grall@linaro.org> <1390581822-32624-7-git-send-email-julien.grall@linaro.org> <1392810675.29739.15.camel@kazak.uk.xensource.com> <5304C13C.5060505@linaro.org> <1392820736.29739.86.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WG8UX-0005tv-OH for xen-devel@lists.xenproject.org; Wed, 19 Feb 2014 14:51:17 +0000 Received: by mail-ea0-f181.google.com with SMTP id k10so416756eaj.12 for ; Wed, 19 Feb 2014 06:51:16 -0800 (PST) In-Reply-To: <1392820736.29739.86.camel@kazak.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: "Keir (Xen.org)" , patches@linaro.org, tim@xen.org, stefano.stabellini@citrix.com, Jan Beulich , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org Adding Keir and Jan. On 02/19/2014 02:38 PM, Ian Campbell wrote: > On Wed, 2014-02-19 at 14:35 +0000, Julien Grall wrote: > >>>> -static void gic_irq_enable(struct irq_desc *desc) >>>> +static unsigned int gic_irq_startup(struct irq_desc *desc) >>> >>> unsigned? What are the error codes here going to be? >> >> This is the return type requested by hw_interrupt_type.startup. >> >> It seems that the return is never checked (even in x86 code). Maybe we >> should change the prototype of hw_interrupt_type.startup. > > Worth investigating. I wonder if someone thought this might return the > resulting interrupt number (those are normally unsigned int I think) or > if it actually did used to etc. I think it was copied from Linux which also have unsigned int. I gave a quick look to the code and this callback is only used in 2 places which always return 0. Surprisingly, the wrapper irq_startup (kernel/irq/manage.c) is returning an int... I can create a patch to return void instead of unsigned if everyone is happy with this solution. -- Julien Grall