RE: [PATCH v3 3/7] x86/hyper-v: reenlightenment notifications support

Michael Kelley (EOSG)
2018-01-23T14:02:07Z

Vitaly Kuznetsov <vkuznets@redhat.com> writes:
>
> > "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com> writes:
> >
> >> On Fri, 19 Jan 2018, Thomas Gleixner wrote:
> >>
> >>>
> >>> You added '#include <linux/interrupt.h>' to mshyperv.h which is included in
> >>> vclock_gettime.c and pulls in other stuff which fails to expand....
> >>
> >> Is the declaration of hyperv_reenlightenment_intr() even needed in
> >> mshyperv.h? The '#include <linux/interrupt.h>' is there for the __irq_entry
> >> annotation on that declaration. There's a declaration of the parallel (and
> >> unannotated) hyperv_vector_handler(), but that looks like a fossil that
> >> isn't needed either.
> >>
> >
> > True,
> >
> > the only need for the declaration in mshyperv.h is to silence "warning:
> > no previous prototype for ‘hyperv_reenlightenment_intr’"; I'm not sure
> > if this actually needs fixing.
>
> It seems we can get away with dropping '__visible' and '__irq_entry'
> qualifiers from 'hyperv_reenlightenment_intr' declaration in mshyperv.h
> while keeping them in hv_init.c for the implementation. This way we can
> avoid the nasty 'no previous prototype' warning and not have to add
> '#include <linux/interrupt.h>' to mshyperv.h breaking vdso.

Where exactly is the 'no previous prototype' warning being generated?
I was thinking the only references to hyperv_reenlightenment_intr()
would be in entry_32.S and entry_64.S, but maybe there's another one
I missed.

Michael

>
> I'm inclined to go ahead with this in v4 if nobody objects.
>
> --
> Vitaly