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.
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 <redacted>
---
include/linux/vfio.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2017-06-07 10:49:28
Murilo Opsfelder Araujo [off-list ref] writes:
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.
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 <redacted>
---
include/linux/vfio.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Alex I assume you will take this, thanks.
cheers
drivers/vfio/vfio_spapr_eeh.c:22:6: error: redefinition of 'vfio_spapr_pci_eeh_open'
void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:160:20: note: previous definition of 'vfio_spapr_pci_eeh_open' was here
static inline void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
quoted
drivers/vfio/vfio_spapr_eeh.c:28:6: error: redefinition of 'vfio_spapr_pci_eeh_release'
void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:164:20: note: previous definition of 'vfio_spapr_pci_eeh_release' was here
static inline void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
quoted
drivers/vfio/vfio_spapr_eeh.c:34:6: error: redefinition of 'vfio_spapr_iommu_eeh_ioctl'
long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:168:20: note: previous definition of 'vfio_spapr_iommu_eeh_ioctl' was here
static inline long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/vfio_spapr_pci_eeh_open +22 drivers/vfio/vfio_spapr_eeh.c
1b69be5e Gavin Shan 2014-06-10 16
89a2edd6 Alexey Kardashevskiy 2014-08-08 17 #define DRIVER_VERSION "0.1"
89a2edd6 Alexey Kardashevskiy 2014-08-08 18 #define DRIVER_AUTHOR "Gavin Shan, IBM Corporation"
89a2edd6 Alexey Kardashevskiy 2014-08-08 19 #define DRIVER_DESC "VFIO IOMMU SPAPR EEH"
89a2edd6 Alexey Kardashevskiy 2014-08-08 20
1b69be5e Gavin Shan 2014-06-10 21 /* We might build address mapping here for "fast" path later */
9b936c96 Alexey Kardashevskiy 2014-08-08 @22 void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 23 {
9b936c96 Alexey Kardashevskiy 2014-08-08 24 eeh_dev_open(pdev);
1b69be5e Gavin Shan 2014-06-10 25 }
92d18a68 Gavin Shan 2014-08-08 26 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_open);
1b69be5e Gavin Shan 2014-06-10 27
1b69be5e Gavin Shan 2014-06-10 @28 void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 29 {
1b69be5e Gavin Shan 2014-06-10 30 eeh_dev_release(pdev);
1b69be5e Gavin Shan 2014-06-10 31 }
92d18a68 Gavin Shan 2014-08-08 32 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_release);
1b69be5e Gavin Shan 2014-06-10 33
1b69be5e Gavin Shan 2014-06-10 @34 long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
1b69be5e Gavin Shan 2014-06-10 35 unsigned int cmd, unsigned long arg)
1b69be5e Gavin Shan 2014-06-10 36 {
1b69be5e Gavin Shan 2014-06-10 37 struct eeh_pe *pe;
:::::: The code at line 22 was first introduced by commit
:::::: 9b936c960f22954bfb89f2fefd8f96916bb42908 drivers/vfio: Enable VFIO if EEH is not supported
:::::: TO: Alexey Kardashevskiy [off-list ref]
:::::: CC: Alex Williamson [off-list ref]
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
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 <redacted>
---
v1..v2:
- Make use of IS_ENABLED() macro because CONFIG_VFIO_SPAPR_EEH is a tristate
option (fix http://www.spinics.net/lists/kvm/msg151032.html).
include/linux/vfio.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Hi,
How did you manage to have CONFIG_EEH=y and CONFIG_VFIO_SPAPR_EEH=n? "make
oldconfig" fixes this to CONFIG_VFIO_SPAPR_EEH=y.
On 08/06/17 02:31, kbuild test robot wrote:
drivers/vfio/vfio_spapr_eeh.c:22:6: error: redefinition of 'vfio_spapr_pci_eeh_open'
void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:160:20: note: previous definition of 'vfio_spapr_pci_eeh_open' was here
static inline void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
quoted
quoted
drivers/vfio/vfio_spapr_eeh.c:28:6: error: redefinition of 'vfio_spapr_pci_eeh_release'
void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:164:20: note: previous definition of 'vfio_spapr_pci_eeh_release' was here
static inline void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
quoted
quoted
drivers/vfio/vfio_spapr_eeh.c:34:6: error: redefinition of 'vfio_spapr_iommu_eeh_ioctl'
long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:168:20: note: previous definition of 'vfio_spapr_iommu_eeh_ioctl' was here
static inline long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/vfio_spapr_pci_eeh_open +22 drivers/vfio/vfio_spapr_eeh.c
1b69be5e Gavin Shan 2014-06-10 16
89a2edd6 Alexey Kardashevskiy 2014-08-08 17 #define DRIVER_VERSION "0.1"
89a2edd6 Alexey Kardashevskiy 2014-08-08 18 #define DRIVER_AUTHOR "Gavin Shan, IBM Corporation"
89a2edd6 Alexey Kardashevskiy 2014-08-08 19 #define DRIVER_DESC "VFIO IOMMU SPAPR EEH"
89a2edd6 Alexey Kardashevskiy 2014-08-08 20
1b69be5e Gavin Shan 2014-06-10 21 /* We might build address mapping here for "fast" path later */
9b936c96 Alexey Kardashevskiy 2014-08-08 @22 void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 23 {
9b936c96 Alexey Kardashevskiy 2014-08-08 24 eeh_dev_open(pdev);
1b69be5e Gavin Shan 2014-06-10 25 }
92d18a68 Gavin Shan 2014-08-08 26 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_open);
1b69be5e Gavin Shan 2014-06-10 27
1b69be5e Gavin Shan 2014-06-10 @28 void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 29 {
1b69be5e Gavin Shan 2014-06-10 30 eeh_dev_release(pdev);
1b69be5e Gavin Shan 2014-06-10 31 }
92d18a68 Gavin Shan 2014-08-08 32 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_release);
1b69be5e Gavin Shan 2014-06-10 33
1b69be5e Gavin Shan 2014-06-10 @34 long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
1b69be5e Gavin Shan 2014-06-10 35 unsigned int cmd, unsigned long arg)
1b69be5e Gavin Shan 2014-06-10 36 {
1b69be5e Gavin Shan 2014-06-10 37 struct eeh_pe *pe;
:::::: The code at line 22 was first introduced by commit
:::::: 9b936c960f22954bfb89f2fefd8f96916bb42908 drivers/vfio: Enable VFIO if EEH is not supported
:::::: TO: Alexey Kardashevskiy [off-list ref]
:::::: CC: Alex Williamson [off-list ref]
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
drivers/vfio/vfio_spapr_eeh.c:22:6: error: redefinition of 'vfio_spapr_pci_eeh_open'
void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:160:20: note: previous definition of 'vfio_spapr_pci_eeh_open' was here
static inline void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
quoted
quoted
drivers/vfio/vfio_spapr_eeh.c:28:6: error: redefinition of 'vfio_spapr_pci_eeh_release'
void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:164:20: note: previous definition of 'vfio_spapr_pci_eeh_release' was here
static inline void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
quoted
quoted
drivers/vfio/vfio_spapr_eeh.c:34:6: error: redefinition of 'vfio_spapr_iommu_eeh_ioctl'
long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:168:20: note: previous definition of 'vfio_spapr_iommu_eeh_ioctl' was here
static inline long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/vfio_spapr_pci_eeh_open +22 drivers/vfio/vfio_spapr_eeh.c
1b69be5e Gavin Shan 2014-06-10 16
89a2edd6 Alexey Kardashevskiy 2014-08-08 17 #define DRIVER_VERSION "0.1"
89a2edd6 Alexey Kardashevskiy 2014-08-08 18 #define DRIVER_AUTHOR "Gavin Shan, IBM Corporation"
89a2edd6 Alexey Kardashevskiy 2014-08-08 19 #define DRIVER_DESC "VFIO IOMMU SPAPR EEH"
89a2edd6 Alexey Kardashevskiy 2014-08-08 20
1b69be5e Gavin Shan 2014-06-10 21 /* We might build address mapping here for "fast" path later */
9b936c96 Alexey Kardashevskiy 2014-08-08 @22 void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 23 {
9b936c96 Alexey Kardashevskiy 2014-08-08 24 eeh_dev_open(pdev);
1b69be5e Gavin Shan 2014-06-10 25 }
92d18a68 Gavin Shan 2014-08-08 26 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_open);
1b69be5e Gavin Shan 2014-06-10 27
1b69be5e Gavin Shan 2014-06-10 @28 void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 29 {
1b69be5e Gavin Shan 2014-06-10 30 eeh_dev_release(pdev);
1b69be5e Gavin Shan 2014-06-10 31 }
92d18a68 Gavin Shan 2014-08-08 32 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_release);
1b69be5e Gavin Shan 2014-06-10 33
1b69be5e Gavin Shan 2014-06-10 @34 long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
1b69be5e Gavin Shan 2014-06-10 35 unsigned int cmd, unsigned long arg)
1b69be5e Gavin Shan 2014-06-10 36 {
1b69be5e Gavin Shan 2014-06-10 37 struct eeh_pe *pe;
:::::: The code at line 22 was first introduced by commit
:::::: 9b936c960f22954bfb89f2fefd8f96916bb42908 drivers/vfio: Enable VFIO if EEH is not supported
:::::: TO: Alexey Kardashevskiy [off-list ref]
:::::: CC: Alex Williamson [off-list ref]
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Hi,
How did you manage to have CONFIG_EEH=y and CONFIG_VFIO_SPAPR_EEH=n? "make
oldconfig" fixes this to CONFIG_VFIO_SPAPR_EEH=y.
Hmm, Murilo did you confirm the bug still happens on upstream with that
rand config?
Yes, it's still happening with next-20170607.
For me, `make oldconfig` hasn't changed it to CONFIG_VFIO_SPAPR_EEH=y. See:
$ git clean -dfxq
$ git reset --hard origin/master
HEAD is now at 8d1b80c Add linux-next specific files for 20170607
$ curl http://kisskb.ellerman.id.au/kisskb/buildresult/12982362/config/ -o .config
$ grep -E 'EEH|SPAPR' .config
CONFIG_EEH=y
# CONFIG_SPAPR_TCE_IOMMU is not set
$ yes '' | make oldconfig
$ grep -E 'EEH|SPAPR' .config
CONFIG_EEH=y
# CONFIG_SPAPR_TCE_IOMMU is not set
$ make -j 160 ARCH=powerpc
...
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'
make: *** [vmlinux] Error 1
--
Murilo
Hi,
How did you manage to have CONFIG_EEH=y and CONFIG_VFIO_SPAPR_EEH=n? "make
oldconfig" fixes this to CONFIG_VFIO_SPAPR_EEH=y.
Hmm, Murilo did you confirm the bug still happens on upstream with that
rand config?
Yes, it's still happening with next-20170607.
The config you attached in the first mail has CONFIG_VFIO_SPAPR_EEH=m, here
is my confusion. The config from the link below does not have KVM_BOOK3S_64
which selects SPAPR_TCE_IOMMU and which in turn selects VFIO_IOMMU_SPAPR_TCE.
So
https://github.com/0day-ci/linux/commit/36ed1ddb05e132aa3cfbb610f0f8402a0774da12
looks correct.
For me, `make oldconfig` hasn't changed it to CONFIG_VFIO_SPAPR_EEH=y. See:
$ git clean -dfxq
$ git reset --hard origin/master
HEAD is now at 8d1b80c Add linux-next specific files for 20170607
$ curl http://kisskb.ellerman.id.au/kisskb/buildresult/12982362/config/ -o .config
$ grep -E 'EEH|SPAPR' .config
CONFIG_EEH=y
# CONFIG_SPAPR_TCE_IOMMU is not set
$ yes '' | make oldconfig
$ grep -E 'EEH|SPAPR' .config
CONFIG_EEH=y
# CONFIG_SPAPR_TCE_IOMMU is not set
$ make -j 160 ARCH=powerpc
...
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'
make: *** [vmlinux] Error 1
On 06/08/2017 10:10 AM, Alexey Kardashevskiy wrote:
[...]
The config you attached in the first mail has CONFIG_VFIO_SPAPR_EEH=m, here
is my confusion. The config from the link below does not have KVM_BOOK3S_64
which selects SPAPR_TCE_IOMMU and which in turn selects VFIO_IOMMU_SPAPR_TCE.
So
https://github.com/0day-ci/linux/commit/36ed1ddb05e132aa3cfbb610f0f8402a0774da12
looks correct.
It wasn't me that attached the .config.gz, it was this 0dayci robot.
When CONFIG_VFIO_SPAPR_EEH=m, there is no definition of it in autoconf.h, only
CONFIG_VFIO_SPAPR_EEH_MODULE is defined:
$ grep 'VFIO_SPAPR_EEH' ./include/generated/autoconf.h
#define CONFIG_VFIO_SPAPR_EEH_MODULE 1
In this case, `#ifdef CONFIG_VFIO_SPAPR_EEH` will be false. That's why my v1
patch failed with the 0dayci .config and robot reported back.
This was addressed in my v2 patch using the IS_ENABLED() macro, which checks for
both CONFIG_<name> and CONFIG_<name>_MODULE definitions.
--
Murilo
From: Ye Xiaolong <hidden> Date: 2017-06-13 08:36:38
On 06/08, Alexey Kardashevskiy wrote:
On 08/06/17 15:35, Alexey Kardashevskiy wrote:
quoted
Hi,
How did you manage to have CONFIG_EEH=y and CONFIG_VFIO_SPAPR_EEH=n? "make
oldconfig" fixes this to CONFIG_VFIO_SPAPR_EEH=y.
Also, the attached config has "CONFIG_VFIO_SPAPR_EEH=m" and cannot produce
the error below, what am I missing here?
Sorry for the late, I can reproduce below error by following below steps with
attached config in original report:
wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=powerpc
What's your steps?
Thanks,
Xiaolong
drivers/vfio/vfio_spapr_eeh.c:22:6: error: redefinition of 'vfio_spapr_pci_eeh_open'
void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:160:20: note: previous definition of 'vfio_spapr_pci_eeh_open' was here
static inline void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~
quoted
quoted
drivers/vfio/vfio_spapr_eeh.c:28:6: error: redefinition of 'vfio_spapr_pci_eeh_release'
void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:164:20: note: previous definition of 'vfio_spapr_pci_eeh_release' was here
static inline void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
^~~~~~~~~~~~~~~~~~~~~~~~~~
quoted
quoted
drivers/vfio/vfio_spapr_eeh.c:34:6: error: redefinition of 'vfio_spapr_iommu_eeh_ioctl'
long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from drivers/vfio/vfio_spapr_eeh.c:14:0:
include/linux/vfio.h:168:20: note: previous definition of 'vfio_spapr_iommu_eeh_ioctl' was here
static inline long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/vfio_spapr_pci_eeh_open +22 drivers/vfio/vfio_spapr_eeh.c
1b69be5e Gavin Shan 2014-06-10 16
89a2edd6 Alexey Kardashevskiy 2014-08-08 17 #define DRIVER_VERSION "0.1"
89a2edd6 Alexey Kardashevskiy 2014-08-08 18 #define DRIVER_AUTHOR "Gavin Shan, IBM Corporation"
89a2edd6 Alexey Kardashevskiy 2014-08-08 19 #define DRIVER_DESC "VFIO IOMMU SPAPR EEH"
89a2edd6 Alexey Kardashevskiy 2014-08-08 20
1b69be5e Gavin Shan 2014-06-10 21 /* We might build address mapping here for "fast" path later */
9b936c96 Alexey Kardashevskiy 2014-08-08 @22 void vfio_spapr_pci_eeh_open(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 23 {
9b936c96 Alexey Kardashevskiy 2014-08-08 24 eeh_dev_open(pdev);
1b69be5e Gavin Shan 2014-06-10 25 }
92d18a68 Gavin Shan 2014-08-08 26 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_open);
1b69be5e Gavin Shan 2014-06-10 27
1b69be5e Gavin Shan 2014-06-10 @28 void vfio_spapr_pci_eeh_release(struct pci_dev *pdev)
1b69be5e Gavin Shan 2014-06-10 29 {
1b69be5e Gavin Shan 2014-06-10 30 eeh_dev_release(pdev);
1b69be5e Gavin Shan 2014-06-10 31 }
92d18a68 Gavin Shan 2014-08-08 32 EXPORT_SYMBOL_GPL(vfio_spapr_pci_eeh_release);
1b69be5e Gavin Shan 2014-06-10 33
1b69be5e Gavin Shan 2014-06-10 @34 long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group,
1b69be5e Gavin Shan 2014-06-10 35 unsigned int cmd, unsigned long arg)
1b69be5e Gavin Shan 2014-06-10 36 {
1b69be5e Gavin Shan 2014-06-10 37 struct eeh_pe *pe;
:::::: The code at line 22 was first introduced by commit
:::::: 9b936c960f22954bfb89f2fefd8f96916bb42908 drivers/vfio: Enable VFIO if EEH is not supported
:::::: TO: Alexey Kardashevskiy [off-list ref]
:::::: CC: Alex Williamson [off-list ref]
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation