Re: [PATCH v2] include/linux/vfio.h: Guard powerpc-specific functions with CONFIG_VFIO_SPAPR_EEH

From: Alexey Kardashevskiy
Date: Tue Jul 25 2017 - 22:06:34 EST


On 26/07/17 01:44, Alex Williamson wrote:
> [cc +Alexey, David]
>
> Any comments from the usual suspects for vfio/spapr? Thanks,

[trying once again as mailists rejected the previous response due to broken
outgoing mail encoding config in my thunderbird]

Reviewed-by: Alexey Kardashevskiy <aik@xxxxxxxxx>


Having EEH + VFIO_PCI and not having VFIO_SPAPR_EEH does not make practical
sense and won't be seen in the wild so EEH + VFIO should enforce
VFIO_SPAPR_EEH but this is for another patch.


>
> Alex
>
> On Tue, 25 Jul 2017 10:56:38 -0300
> Murilo Opsfelder AraÃjo <mopsfelder@xxxxxxxxx> wrote:
>
>> On 07/18/2017 02:22 PM, Murilo Opsfelder Araujo wrote:
>>> When CONFIG_EEH=y and CONFIG_VFIO_SPAPR_EEH=n, build fails with the
>>> following:
>>>
>>> drivers/vfio/pci/vfio_pci.o: In function `.vfio_pci_release':
>>> vfio_pci.c:(.text+0xa98): undefined reference to `.vfio_spapr_pci_eeh_release'
>>> drivers/vfio/pci/vfio_pci.o: In function `.vfio_pci_open':
>>> vfio_pci.c:(.text+0x1420): undefined reference to `.vfio_spapr_pci_eeh_open'
>>>
>>> In this case, vfio_pci.c should use the empty definitions of
>>> vfio_spapr_pci_eeh_open and vfio_spapr_pci_eeh_release functions.
>>>
>>> This patch fixes it by guarding these function definitions with
>>> CONFIG_VFIO_SPAPR_EEH, the symbol that controls whether vfio_spapr_eeh.c is
>>> built, which is where the non-empty versions of these functions are. We need to
>>> make use of IS_ENABLED() macro because CONFIG_VFIO_SPAPR_EEH is a tristate
>>> option.
>>>
>>> This issue was found during a randconfig build. Logs are here:
>>>
>>> http://kisskb.ellerman.id.au/kisskb/buildresult/12982362/
>>>
>>> Signed-off-by: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx>
>>> ---
>>>
>>> Changes from v1:
>>> - Rebased on top of next-20170718.
>>
>> Hi, Alex.
>>
>> Are you applying this?
>>
>> Thanks!
>>
>


--
Alexey