On Wed, Nov 25, 2020 at 12:26:12PM +0200, Andy Shevchenko wrote: > On Wed, Nov 25, 2020 at 1:46 AM Wei Liu <wei.liu@xxxxxxxxxx> wrote: > > > > We are about to implement an irqchip for IO-APIC when Linux runs as root > > on Microsoft Hypervisor. At the same time we would like to reuse > > existing code as much as possible. > > > > Move mp_chip_data to io_apic.h and make a few helper functions > > non-static. > > > +struct mp_chip_data { > > + struct list_head irq_2_pin; > > + struct IO_APIC_route_entry entry; > > + int trigger; > > + int polarity; > > + u32 count; > > + bool isa_irq; > > +}; > > Since I see only this patch I am puzzled why you need to have this in > the header? > Maybe a couple of words in the commit message to elaborate? Andy, does the following answer your question? "The chip_data stashed in IO-APIC's irq chip is mp_chip_data. The implementation of Microsoft Hypevisor's IO-APIC irqdomain would like to manipulate that data structure, so move it to io_apic.h as well." If that's good enough, I can add it to the commit message. Wei.