[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v2 05/15] xen/arm: segregate GIC low level functionality



On Wed, 2014-04-09 at 09:36 +0100, Julien Grall wrote:
> >> [..]
> >>
> >>> +    void (*enable_irq)(int);
> >>> +    void (*disable_irq)(int);
> >>> +    void (*eoi_irq)(int);
> >>> +    void (*deactivate_irq)(int);
> >>> +    unsigned int (*ack_irq)(void);
> >>
> >> I would prefer to introduce a new hw_irq_controller here rather than
> >> adding another abstraction.
> >>
> >    hw_irq_controller can be used only for enable_irq, disable_irq  & 
> > eoi_irq.
> > other callbacks in hw_irq_controller cannot be used.
> >
> > Ex: ack_irq in our case returns the irq where as 'ack' callback in
> > hw_irq_controller
> > does not return a value. So not suitable here.
> 
> Hmmm... rigth for deactivate_irq and ack_irq. For the others you can 
> definitely use the hw_irq_controller.

Perhaps
        struct gic_irq_controller {
                struct hw_irq_controller hw_irq;
                unsigned int (*ack_irq)(void)
        }

And use container_of to go fom a hw_Irq to a gic_irq_controller when
needed?

Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.