2017-08-13 14:54:40

by Julia Lawall

[permalink] [raw]
Subject: qustion about eeh_add_virt_device

Hello,

At the suggestion of Christoph Hellwig, I am working on inlining the
functions stored in the err_handler field of a pci_driver structure into
the pci_driver structure itself. A number of functions in the file
arch/powerpc/kernel/eeh_driver.c have code like:

if (!driver->err_handler ||
!driver->err_handler->error_detected) {
eeh_pcid_put(dev);
return NULL;
}

This I would just convert to:

if (!driver->error_detected) {
eeh_pcid_put(dev);
return NULL;
}

But I am not sure what is best to do about eeh_add_virt_device, which
contains:

if (driver->err_handler)
return NULL;

Should I try to find a subfield of the err_handler that is guaranteed to
be there if anything is there? Or could the test just be dropped, leaving
a direct return NULL?

thanks,
julia


2017-08-22 05:44:59

by Russell Currey

[permalink] [raw]
Subject: Re: qustion about eeh_add_virt_device

On Sun, 2017-08-13 at 16:54 +0200, Julia Lawall wrote:
> Hello,

Hello, sorry for the delayed response.

>
> At the suggestion of Christoph Hellwig, I am working on inlining the
> functions stored in the err_handler field of a pci_driver structure into
> the pci_driver structure itself. A number of functions in the file
> arch/powerpc/kernel/eeh_driver.c have code like:
>
> if (!driver->err_handler ||
> !driver->err_handler->error_detected) {
> eeh_pcid_put(dev);
> return NULL;
> }
>
> This I would just convert to:
>
> if (!driver->error_detected) {
> eeh_pcid_put(dev);
> return NULL;
> }
>
> But I am not sure what is best to do about eeh_add_virt_device, which
> contains:
>
> if (driver->err_handler)
> return NULL;
>
> Should I try to find a subfield of the err_handler that is guaranteed to
> be there if anything is there? Or could the test just be dropped, leaving
> a direct return NULL?

I believe the test can be dropped.

- Russell

>
> thanks,
> julia