2017-06-27 09:24:27

by Ryder Lee

[permalink] [raw]
Subject: [RESEND PATCH] critical patch to fix pci-tree build bot failure

Hi Stephen and Andrew,

Could you help to apply this patch? Seems Bjorn didn't response it these days.

This patch(based on pci-next tree) will fix the following build bot failure:
>> On Mon, Jun 26, 2017 at 09:47:36AM +0100, Build bot for Mark Brown wrote:
>>
>> This build failure is still present in -next:
>>
>> > arm-allmodconfig
>> > ../drivers/pci/host/pcie-mediatek.c:485:8: error: implicit
>> > declaration of function 'pci_register_host_bridge'
>> > [-Werror=implicit-function-declaration]
>>
>> and we're at -rc7 now.

This is because pci/host-mediatek is a seperate branch in pci-tree, but merge together without proper modifications(eg. some API changes).

Hi Bjorn,
I rewrote commit message. Please ignore my previous one, sorry for inconvenience.

Thanks a lot!

Ryder Lee (1):
PCI: mediatek: change to use the new host bridge interface

drivers/pci/host/pcie-mediatek.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

--
1.9.1


2017-06-27 09:24:37

by Ryder Lee

[permalink] [raw]
Subject: [PATCH] PCI: mediatek: change to use the new host bridge interface

With the introduction of pci_scan_root_bus_bridge() there is no need to
export pci_register_host_bridge() to other kernel subsystems other than the
PCI compilation unit that needs it.

Make pci_register_host_bridge() static to its compilation unit and convert
the existing drivers usage over to pci_scan_root_bus_bridge().

Also, when probing the PCI host controller driver, if an error occurs, the probe
function code does not free memory allocated for the struct pci_host_bridge
resulting in memory leakage.

This patch fixes them by using the methods that introduces by Lorenzo.

Signed-off-by: Ryder Lee <[email protected]>
---
drivers/pci/host/pcie-mediatek.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/host/pcie-mediatek.c b/drivers/pci/host/pcie-mediatek.c
index 3baafa8..514ef34 100644
--- a/drivers/pci/host/pcie-mediatek.c
+++ b/drivers/pci/host/pcie-mediatek.c
@@ -482,12 +482,10 @@ static int mtk_pcie_register_host(struct pci_host_bridge *host)
host->dev.parent = pcie->dev;
host->ops = &mtk_pcie_ops;

- err = pci_register_host_bridge(host);
+ err = pci_scan_root_bus_bridge(host);
if (err < 0)
return err;

- pci_scan_child_bus(host->bus);
-
pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci);
pci_bus_size_bridges(host->bus);
pci_bus_assign_resources(host->bus);
@@ -506,7 +504,7 @@ static int mtk_pcie_probe(struct platform_device *pdev)
struct pci_host_bridge *host;
int err;

- host = pci_alloc_host_bridge(sizeof(*pcie));
+ host = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
if (!host)
return -ENOMEM;

--
1.9.1

2017-06-27 13:20:51

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [RESEND PATCH] critical patch to fix pci-tree build bot failure

On Tue, Jun 27, 2017 at 4:24 AM, Ryder Lee <[email protected]> wrote:
> Hi Stephen and Andrew,
>
> Could you help to apply this patch? Seems Bjorn didn't response it these days.

I'm not dead, but I was on vacation most of last week. I'll resolve this today.

> This patch(based on pci-next tree) will fix the following build bot failure:
>>> On Mon, Jun 26, 2017 at 09:47:36AM +0100, Build bot for Mark Brown wrote:
>>>
>>> This build failure is still present in -next:
>>>
>>> > arm-allmodconfig
>>> > ../drivers/pci/host/pcie-mediatek.c:485:8: error: implicit
>>> > declaration of function 'pci_register_host_bridge'
>>> > [-Werror=implicit-function-declaration]
>>>
>>> and we're at -rc7 now.
>
> This is because pci/host-mediatek is a seperate branch in pci-tree, but merge together without proper modifications(eg. some API changes).
>
> Hi Bjorn,
> I rewrote commit message. Please ignore my previous one, sorry for inconvenience.
>
> Thanks a lot!
>
> Ryder Lee (1):
> PCI: mediatek: change to use the new host bridge interface
>
> drivers/pci/host/pcie-mediatek.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> --
> 1.9.1
>

2017-06-27 22:10:37

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [RESEND PATCH] critical patch to fix pci-tree build bot failure

Hi Bjorn,

On Tue, 27 Jun 2017 08:20:44 -0500 Bjorn Helgaas <[email protected]> wrote:
>
> On Tue, Jun 27, 2017 at 4:24 AM, Ryder Lee <[email protected]> wrote:
> > Hi Stephen and Andrew,
> >
> > Could you help to apply this patch? Seems Bjorn didn't response it these days.
>
> I'm not dead, but I was on vacation most of last week. I'll resolve this today.

Should I just add this patch to linux-next today (if you don't get
around to it in the next hour or so)?

--
Cheers,
Stephen Rothwell

2017-06-27 22:24:08

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [RESEND PATCH] critical patch to fix pci-tree build bot failure

On Wed, Jun 28, 2017 at 08:10:26AM +1000, Stephen Rothwell wrote:
> Hi Bjorn,
>
> On Tue, 27 Jun 2017 08:20:44 -0500 Bjorn Helgaas <[email protected]> wrote:
> >
> > On Tue, Jun 27, 2017 at 4:24 AM, Ryder Lee <[email protected]> wrote:
> > > Hi Stephen and Andrew,
> > >
> > > Could you help to apply this patch? Seems Bjorn didn't response it these days.
> >
> > I'm not dead, but I was on vacation most of last week. I'll resolve this today.
>
> Should I just add this patch to linux-next today (if you don't get
> around to it in the next hour or so)?

Sure, I think that would be OK. Thanks!

2017-06-27 22:30:51

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] PCI: mediatek: change to use the new host bridge interface

On Tue, Jun 27, 2017 at 05:24:11PM +0800, Ryder Lee wrote:
> With the introduction of pci_scan_root_bus_bridge() there is no need to
> export pci_register_host_bridge() to other kernel subsystems other than the
> PCI compilation unit that needs it.
>
> Make pci_register_host_bridge() static to its compilation unit and convert
> the existing drivers usage over to pci_scan_root_bus_bridge().
>
> Also, when probing the PCI host controller driver, if an error occurs, the probe
> function code does not free memory allocated for the struct pci_host_bridge
> resulting in memory leakage.
>
> This patch fixes them by using the methods that introduces by Lorenzo.
>
> Signed-off-by: Ryder Lee <[email protected]>

I rebased my pci/host-mediatek branch on top of pci/enumeration (which
contains the series from Lorenzo), and folded this into the initial
MediaTek driver commit.

This branch:

https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=pci/host-mediatek&id=b6ca15d18881b784dc9efc5d81989be26ecd9fc8

should have all the MediaTek bits I know about. Can you double-check
it, please?

If all goes well, I'll incorporate this into -next tomorrow.

> ---
> drivers/pci/host/pcie-mediatek.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/pci/host/pcie-mediatek.c b/drivers/pci/host/pcie-mediatek.c
> index 3baafa8..514ef34 100644
> --- a/drivers/pci/host/pcie-mediatek.c
> +++ b/drivers/pci/host/pcie-mediatek.c
> @@ -482,12 +482,10 @@ static int mtk_pcie_register_host(struct pci_host_bridge *host)
> host->dev.parent = pcie->dev;
> host->ops = &mtk_pcie_ops;
>
> - err = pci_register_host_bridge(host);
> + err = pci_scan_root_bus_bridge(host);
> if (err < 0)
> return err;
>
> - pci_scan_child_bus(host->bus);
> -
> pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci);
> pci_bus_size_bridges(host->bus);
> pci_bus_assign_resources(host->bus);
> @@ -506,7 +504,7 @@ static int mtk_pcie_probe(struct platform_device *pdev)
> struct pci_host_bridge *host;
> int err;
>
> - host = pci_alloc_host_bridge(sizeof(*pcie));
> + host = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
> if (!host)
> return -ENOMEM;
>
> --
> 1.9.1
>

2017-06-27 23:21:07

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] PCI: mediatek: change to use the new host bridge interface

On Tue, Jun 27, 2017 at 05:30:40PM -0500, Bjorn Helgaas wrote:
> On Tue, Jun 27, 2017 at 05:24:11PM +0800, Ryder Lee wrote:
> > With the introduction of pci_scan_root_bus_bridge() there is no need to
> > export pci_register_host_bridge() to other kernel subsystems other than the
> > PCI compilation unit that needs it.
> >
> > Make pci_register_host_bridge() static to its compilation unit and convert
> > the existing drivers usage over to pci_scan_root_bus_bridge().
> >
> > Also, when probing the PCI host controller driver, if an error occurs, the probe
> > function code does not free memory allocated for the struct pci_host_bridge
> > resulting in memory leakage.
> >
> > This patch fixes them by using the methods that introduces by Lorenzo.
> >
> > Signed-off-by: Ryder Lee <[email protected]>
>
> I rebased my pci/host-mediatek branch on top of pci/enumeration (which
> contains the series from Lorenzo), and folded this into the initial
> MediaTek driver commit.
>
> This branch:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=pci/host-mediatek&id=b6ca15d18881b784dc9efc5d81989be26ecd9fc8
>
> should have all the MediaTek bits I know about. Can you double-check
> it, please?

Sorry, that's wrong; I see your controller powerup stuff in patchwork, and
that's *not* included yet.

2017-06-28 01:21:37

by Ryder Lee

[permalink] [raw]
Subject: Re: [PATCH] PCI: mediatek: change to use the new host bridge interface

On Tue, 2017-06-27 at 18:20 -0500, Bjorn Helgaas wrote:
> On Tue, Jun 27, 2017 at 05:30:40PM -0500, Bjorn Helgaas wrote:
> > On Tue, Jun 27, 2017 at 05:24:11PM +0800, Ryder Lee wrote:
> > > With the introduction of pci_scan_root_bus_bridge() there is no need to
> > > export pci_register_host_bridge() to other kernel subsystems other than the
> > > PCI compilation unit that needs it.
> > >
> > > Make pci_register_host_bridge() static to its compilation unit and convert
> > > the existing drivers usage over to pci_scan_root_bus_bridge().
> > >
> > > Also, when probing the PCI host controller driver, if an error occurs, the probe
> > > function code does not free memory allocated for the struct pci_host_bridge
> > > resulting in memory leakage.
> > >
> > > This patch fixes them by using the methods that introduces by Lorenzo.
> > >
> > > Signed-off-by: Ryder Lee <[email protected]>
> >
> > I rebased my pci/host-mediatek branch on top of pci/enumeration (which
> > contains the series from Lorenzo), and folded this into the initial
> > MediaTek driver commit.
> >
> > This branch:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?h=pci/host-mediatek&id=b6ca15d18881b784dc9efc5d81989be26ecd9fc8
> >
> > should have all the MediaTek bits I know about. Can you double-check
> > it, please?
>
> Sorry, that's wrong; I see your controller powerup stuff in patchwork, and
> that's *not* included yet.

Yes, that should be folded into the initial commit if possible.
Thanks for your help!

Ryder


2017-06-28 20:43:26

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [RESEND PATCH] critical patch to fix pci-tree build bot failure

On Wed, Jun 28, 2017 at 08:10:26AM +1000, Stephen Rothwell wrote:
> Hi Bjorn,
>
> On Tue, 27 Jun 2017 08:20:44 -0500 Bjorn Helgaas <[email protected]> wrote:
> >
> > On Tue, Jun 27, 2017 at 4:24 AM, Ryder Lee <[email protected]> wrote:
> > > Hi Stephen and Andrew,
> > >
> > > Could you help to apply this patch? Seems Bjorn didn't response it these days.
> >
> > I'm not dead, but I was on vacation most of last week. I'll resolve this today.
>
> Should I just add this patch to linux-next today (if you don't get
> around to it in the next hour or so)?

Just FYI, this should be fixed in my -next branch now, so you shouldn't
need to add the patch yourself, Stephen.

2017-06-28 21:55:49

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [RESEND PATCH] critical patch to fix pci-tree build bot failure

Hi Bjorn,

On Wed, 28 Jun 2017 15:43:17 -0500 Bjorn Helgaas <[email protected]> wrote:
>
> On Wed, Jun 28, 2017 at 08:10:26AM +1000, Stephen Rothwell wrote:
> > Hi Bjorn,
> >
> > On Tue, 27 Jun 2017 08:20:44 -0500 Bjorn Helgaas <[email protected]> wrote:
> > >
> > > On Tue, Jun 27, 2017 at 4:24 AM, Ryder Lee <[email protected]> wrote:
> > > > Hi Stephen and Andrew,
> > > >
> > > > Could you help to apply this patch? Seems Bjorn didn't response it these days.
> > >
> > > I'm not dead, but I was on vacation most of last week. I'll resolve this today.
> >
> > Should I just add this patch to linux-next today (if you don't get
> > around to it in the next hour or so)?
>
> Just FYI, this should be fixed in my -next branch now, so you shouldn't
> need to add the patch yourself, Stephen.

Excellent, thanks.

--
Cheers,
Stephen Rothwell