'cxl_dev_context_init()' returns an error pointer in case of error, not
NULL. So test it with IS_ERR.
Signed-off-by: Christophe JAILLET <[email protected]>
---
un-compiled because I don't have the required cross build environment.
---
drivers/misc/cxl/pci.c | 2 +-
drivers/misc/cxl/phb.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/misc/cxl/pci.c b/drivers/misc/cxl/pci.c
index e96be9ca4e60..80a87ab25b83 100644
--- a/drivers/misc/cxl/pci.c
+++ b/drivers/misc/cxl/pci.c
@@ -1921,7 +1921,7 @@ static pci_ers_result_t cxl_pci_slot_reset(struct pci_dev *pdev)
goto err;
ctx = cxl_dev_context_init(afu_dev);
- if (!ctx)
+ if (IS_ERR(ctx))
goto err;
afu_dev->dev.archdata.cxl_ctx = ctx;
diff --git a/drivers/misc/cxl/phb.c b/drivers/misc/cxl/phb.c
index 0935d44c1770..6ec69ada19f4 100644
--- a/drivers/misc/cxl/phb.c
+++ b/drivers/misc/cxl/phb.c
@@ -20,7 +20,7 @@ bool _cxl_pci_associate_default_context(struct pci_dev *dev, struct cxl_afu *afu
* in the virtual phb, we'll need a default context to attach them to.
*/
ctx = cxl_dev_context_init(dev);
- if (!ctx)
+ if (IS_ERR(ctx))
return false;
dev->dev.archdata.cxl_ctx = ctx;
--
2.9.3
Christophe JAILLET <[email protected]> writes:
> 'cxl_dev_context_init()' returns an error pointer in case of error, not
> NULL. So test it with IS_ERR.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
> un-compiled because I don't have the required cross build environment.
Do you run Ubuntu or Fedora? If so it's just a dnf/apt-get away:
$ sudo dnf install gcc-c++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu gcc-powerpc64-linux-gnu
or
$ sudo apt-get install gcc-powerpc64le-linux-gnu gcc-powerpc-linux-gnu libc-dev-powerpc-cross libc-dev-ppc64el-cross
More here:
https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
cheers
On 31/10/16 08:40, Christophe JAILLET wrote:
> 'cxl_dev_context_init()' returns an error pointer in case of error, not
> NULL. So test it with IS_ERR.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
Reviewed-by: Andrew Donnellan <[email protected]>
> ---
> un-compiled because I don't have the required cross build environment.
Builds for me.
--
Andrew Donnellan OzLabs, ADL Canberra
[email protected] IBM Australia Limited
On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman <[email protected]> wrote:
> Christophe JAILLET <[email protected]> writes:
>
>> 'cxl_dev_context_init()' returns an error pointer in case of error, not
>> NULL. So test it with IS_ERR.
>>
>> Signed-off-by: Christophe JAILLET <[email protected]>
>> ---
>> un-compiled because I don't have the required cross build environment.
>
> Do you run Ubuntu or Fedora? If so it's just a dnf/apt-get away:
>
> $ sudo dnf install gcc-c++-powerpc64-linux-gnu binutils-powerpc64-linux-gnu gcc-powerpc64-linux-gnu
> or
> $ sudo apt-get install gcc-powerpc64le-linux-gnu gcc-powerpc-linux-gnu libc-dev-powerpc-cross libc-dev-ppc64el-cross
>
> More here:
>
> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
Cool; the little-endian build worked fine, but
jim@krebstar:~/linux-rc$ make ARCH=powerpc
CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
make: powerpc64-linux-gnu-gcc: Command not found
make: powerpc64-linux-gnu-gcc: Command not found
scripts/kconfig/conf --silentoldconfig Kconfig
make: powerpc64-linux-gnu-gcc: Command not found
This is on Ubuntu 16.04; there's a /usr/bin/powerpc64le-linux-gnu-gcc
from installing gcc-powerpc64le-linux-gnu, and a
/usr/bin/powerpc-linux-gnu-gcc from installing gcc-powerpc-linux-gnu,
but no /usr/bin/powerpc64-linux-gnu-gcc.
--
Jim
Jim Davis <[email protected]> writes:
> On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman <[email protected]> wrote:
>> More here:
>>
>> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
>
> Cool; the little-endian build worked fine, but
Yay, thanks for trying.
> jim@krebstar:~/linux-rc$ make ARCH=powerpc
> CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
> make: powerpc64-linux-gnu-gcc: Command not found
> make: powerpc64-linux-gnu-gcc: Command not found
> scripts/kconfig/conf --silentoldconfig Kconfig
> make: powerpc64-linux-gnu-gcc: Command not found
Ah sorry.
> This is on Ubuntu 16.04; there's a /usr/bin/powerpc64le-linux-gnu-gcc
> from installing gcc-powerpc64le-linux-gnu, and a
> /usr/bin/powerpc-linux-gnu-gcc from installing gcc-powerpc-linux-gnu,
> but no /usr/bin/powerpc64-linux-gnu-gcc.
It's the powerpc-linux-gnu-gcc one.
That is a 32 and 64-bit compiler, it's 32-bit by default, but the kernel
Makefiles will pass -m64 appropriately.
You can actually build a single compiler that builds 32/64-bit BE, and
64-bit LE, but the distros don't do that for whatever reason.
cheers
Le 30/10/2016 ? 22:40, Christophe JAILLET a ?crit :
> 'cxl_dev_context_init()' returns an error pointer in case of error, not
> NULL. So test it with IS_ERR.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> ---
Thanks for the 3 patches!
Acked-by: Frederic Barrat <[email protected]>
On Wed, Nov 2, 2016 at 4:12 AM, Michael Ellerman <[email protected]> wrote:
> Jim Davis <[email protected]> writes:
>
>> On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman <[email protected]> wrote:
>>> More here:
>>>
>>> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
>>
>> Cool; the little-endian build worked fine, but
>
> Yay, thanks for trying.
>
>> jim@krebstar:~/linux-rc$ make ARCH=powerpc
>> CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
>> make: powerpc64-linux-gnu-gcc: Command not found
>> make: powerpc64-linux-gnu-gcc: Command not found
>> scripts/kconfig/conf --silentoldconfig Kconfig
>> make: powerpc64-linux-gnu-gcc: Command not found
But I cleverly tried to run the Fedora command on Ubuntu... when I run
the right command for Ubuntu, the build worked just fine. D'oh!
Nit: make distclean missed a few files
jim@krebstar:~/linux-rc$ make distclean; git clean -fdx
CLEAN .
CLEAN drivers/tty/vt
CLEAN drivers/video/logo
CLEAN firmware
CLEAN kernel
CLEAN lib
CLEAN usr
CLEAN .tmp_versions
CLEAN scripts/basic
CLEAN scripts/dtc
CLEAN scripts/genksyms
CLEAN scripts/kconfig
CLEAN scripts/mod
CLEAN scripts
CLEAN include/config include/generated arch/powerpc/include/generated
CLEAN .config .version Module.symvers
Removing arch/powerpc/kernel/systbl_chk.i
Removing arch/powerpc/kernel/vdso32/vdso32.lds
Removing arch/powerpc/kernel/vdso32/vdso32.so
Removing arch/powerpc/kernel/vdso32/vdso32.so.dbg
Removing arch/powerpc/kernel/vdso64/vdso64.lds
Removing arch/powerpc/kernel/vdso64/vdso64.so
Removing arch/powerpc/kernel/vdso64/vdso64.so.dbg
Removing arch/powerpc/kernel/vmlinux.lds
--
Jim
Jim Davis <[email protected]> writes:
> On Wed, Nov 2, 2016 at 4:12 AM, Michael Ellerman <[email protected]> wrote:
>> Jim Davis <[email protected]> writes:
>>
>>> On Sun, Oct 30, 2016 at 10:37 PM, Michael Ellerman <[email protected]> wrote:
>>>> More here:
>>>>
>>>> https://github.com/linuxppc/linux/wiki/Building-powerpc-kernels
>>>
>>> Cool; the little-endian build worked fine, but
>>
>> Yay, thanks for trying.
>>
>>> jim@krebstar:~/linux-rc$ make ARCH=powerpc
>>> CROSS_COMPILE=powerpc64-linux-gnu- vmlinux
>>> make: powerpc64-linux-gnu-gcc: Command not found
>>> make: powerpc64-linux-gnu-gcc: Command not found
>>> scripts/kconfig/conf --silentoldconfig Kconfig
>>> make: powerpc64-linux-gnu-gcc: Command not found
>
> But I cleverly tried to run the Fedora command on Ubuntu... when I run
> the right command for Ubuntu, the build worked just fine. D'oh!
>
> Nit: make distclean missed a few files
Ah thanks. I literally never do that, but it is supposed work. Have
filed a bug for it.
cheers
On Sun, 2016-10-30 at 21:40:47 UTC, Christophe Jaillet wrote:
> 'cxl_dev_context_init()' returns an error pointer in case of error, not
> NULL. So test it with IS_ERR.
>
> Signed-off-by: Christophe JAILLET <[email protected]>
> Reviewed-by: Andrew Donnellan <[email protected]>
> Acked-by: Frederic Barrat <[email protected]>
> Acked-by: Ian Munsie <[email protected]>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/bb81733de28c99e10b61dcaff15921
cheers