All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liviu Dudau <Liviu.Dudau@arm.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Yinghai Lu <yinghai@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
	Rob Herring <robh+dt@kernel.org>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <Will.Deacon@arm.com>,
	Russell King <linux@arm.linux.org.uk>,
	linux-pci <linux-pci@vger.kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Tanmay Inamdar <tinamdar@apm.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Sinan Kaya <okaya@codeaurora.org>,
	Jingoo Han <jg1.han@samsung.com>,
	Kukjin Kim <kgene.kim@samsung.com>,
	Suravee Suthikulanit <suravee.suthikulpanit@amd.com>,
	linux-arch <linux-arch@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Device Tree ML <devicetree@vger.kernel.org>,
	LAKML <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v12 06/12] PCI: Create pci_host_bridge before its associated bus in pci_create_root_bus.
Date: Fri, 26 Sep 2014 15:58:54 +0100	[thread overview]
Message-ID: <20140926145854.GS841@e106497-lin.cambridge.arm.com> (raw)
In-Reply-To: <CAErSpo6eUEV81n1rFjjvRcFVmsFkeUxhdL6JauTmx_Et6XdBuQ@mail.gmail.com>

On Thu, Sep 25, 2014 at 08:59:26PM +0100, Bjorn Helgaas wrote:
> On Thu, Sep 25, 2014 at 12:15 PM, Yinghai Lu <yinghai@kernel.org> wrote:
> > On Tue, Sep 23, 2014 at 12:01 PM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> >> Before commit 7b5436635800 the pci_host_bridge was created before the root bus.
> >> As that commit has added a needless dependency on the bus for pci_alloc_host_bridge()
> >> the creation order has been changed for no good reason. Revert the order of
> >> creation as we are going to depend on the pci_host_bridge structure to retrieve the
> >> domain number of the root bus.
> >>
> >> Cc: Bjorn Helgaas <bhelgaas@google.com>
> >> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> >> Acked-by: Grant Likely <grant.likely@linaro.org>
> >> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
> >> Tested-by: Tanmay Inamdar <tinamdar@apm.com>
> >> ---
> >>  drivers/pci/probe.c | 32 +++++++++++++++++---------------
> >>  1 file changed, 17 insertions(+), 15 deletions(-)
> >>
> >> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> >> index e3cf8a2..5ff72ec 100644
> >> --- a/drivers/pci/probe.c
> >> +++ b/drivers/pci/probe.c
> >> @@ -515,7 +515,7 @@ static void pci_release_host_bridge_dev(struct device *dev)
> >>         kfree(bridge);
> >>  }
> >>
> >> -static struct pci_host_bridge *pci_alloc_host_bridge(struct pci_bus *b)
> >> +static struct pci_host_bridge *pci_alloc_host_bridge(void)
> >>  {
> >>         struct pci_host_bridge *bridge;
> >>
> >> @@ -524,7 +524,8 @@ static struct pci_host_bridge *pci_alloc_host_bridge(struct pci_bus *b)
> >>                 return NULL;
> >>
> >>         INIT_LIST_HEAD(&bridge->windows);
> >> -       bridge->bus = b;
> >> +       bridge->dev.release = pci_release_host_bridge_dev;
> >> +
> >>         return bridge;
> >>  }
> >>
> >> @@ -1761,9 +1762,15 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
> >>         char bus_addr[64];
> >>         char *fmt;
> >>
> >> +       bridge = pci_alloc_host_bridge();
> >> +       if (!bridge)
> >> +               return NULL;
> >> +
> >> +       bridge->dev.parent = parent;
> >> +
> >>         b = pci_alloc_bus();
> >>         if (!b)
> >> -               return NULL;
> >> +               goto err_out;
> >>
> >>         b->sysdata = sysdata;
> >>         b->ops = ops;
> >> @@ -1772,26 +1779,19 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
> >>         if (b2) {
> >>                 /* If we already got to this bus through a different bridge, ignore it */
> >>                 dev_dbg(&b2->dev, "bus already known\n");
> >> -               goto err_out;
> >> +               goto err_bus_out;
> >>         }
> >>
> >> -       bridge = pci_alloc_host_bridge(b);
> >> -       if (!bridge)
> >> -               goto err_out;
> >> -
> >> -       bridge->dev.parent = parent;
> >> -       bridge->dev.release = pci_release_host_bridge_dev;
> >> +       bridge->bus = b;
> >>         dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus);
> >>         error = pcibios_root_bridge_prepare(bridge);
> >> -       if (error) {
> >> -               kfree(bridge);
> >> +       if (error)
> >>                 goto err_out;
> >> -       }
> >>
> >>         error = device_register(&bridge->dev);
> >>         if (error) {
> >>                 put_device(&bridge->dev);
> >> -               goto err_out;
> >> +               goto err_bus_out;
> >>         }
> >>         b->bridge = get_device(&bridge->dev);
> >>         device_enable_async_suspend(b->bridge);
> >> @@ -1848,8 +1848,10 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
> >>  class_dev_reg_err:
> >>         put_device(&bridge->dev);
> >>         device_unregister(&bridge->dev);
> >> -err_out:
> >> +err_bus_out:
> >>         kfree(b);
> >> +err_out:
> >> +       kfree(bridge);
> >>         return NULL;
> >>  }
> >
> > Hi Bjorn,
> >
> > Noticed that you put this one into pci/next.
> >
> > This patch has problem for the class_dev_reg_err path.
> > as device_unregister(&bridge->dev) will trigger pci_release_host_bridge_dev.
> > So will have double free for bridge or else.
> >
> > Please drop this patch from pci/next.
> >
> > Also looks strange that the patch have long CC list, but just omit me
> > and Jiang Liu that
> > touched those code before.
> 
> Thanks for noticing that.  I was concerned, but couldn't remember the details.
> 
> I dropped this patch and the subsequent ones from pci/host and rebased
> my "next" branch.
> 
> Sorry I didn't notice you weren't on the CC list.
> 
> Bjorn
> 

Bjorn,

I have refreshed/rebuilt the series from what was on 25th in linux-next and I have
dropped this patch. I have pushed the series into 

git://linux-arm.org/linux-ld.git for-upstream/pci-next

I hope that I've carried all your Sign-off-bys correctly, but I would like to ask you
to double check that I haven't screwed up things.

This patch dates from the times I was trying to add the domain number information
into the pci_host_bridge structure. Now, with Catalin's patch that adds the data in
the pci_bus structure, this is not needed, so it is safe to drop. I did try to fix
the patch but I've realised how intricately linked pci_host_bridge and root bus are,
which to my opinion is a strong hint that the creation of the two should be split
into separate functions.

I can send an official v13 patchset to the mailing list if you want, but if not, here
is the changelog:

- updated "[PATCH 01/12] asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP" to match
  the patch that Thierry Reding has submitted through the asm-generic branch. If his
  series lands first upstream this patch will be skipped.
- updated "[PATCH 03/12] ARM: Define PCI_IOBASE as the base of virtual PCI IO space" to
  cast the PCI_IOBASE value to (void __iomem *) as is the case with most #defined versions
- dropped the patch that was changing the order of initialisation between pci_host_bridge
  and root bus in pci_create_root_bus()
- fixed "[PATCH 07/12] PCI: Add generic domain handling" to account for the previous patch
  being removed
- fixed the title of commit 08/12 to reflect the name of the functions that are actually
  added (s/of_pci_get_domain_nr/pci_get_new_domain_nr/)

I've compiled tested the series on sparc, microblaze (no)mmu_defconfig, arm omap2plus_defconfig
and multi_v7_defconfig and arm64. I've also tested the series on my Juno (arm64) board.

Sorry for causing this amount of churn! And to Yinghai Lu and Jiang Liu: appologies for not
including you in the Cc list, I'm still getting the grip on the whole submission process.

Best regards,
Liviu

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯


WARNING: multiple messages have this Message-ID (diff)
From: Liviu.Dudau@arm.com (Liviu Dudau)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v12 06/12] PCI: Create pci_host_bridge before its associated bus in pci_create_root_bus.
Date: Fri, 26 Sep 2014 15:58:54 +0100	[thread overview]
Message-ID: <20140926145854.GS841@e106497-lin.cambridge.arm.com> (raw)
In-Reply-To: <CAErSpo6eUEV81n1rFjjvRcFVmsFkeUxhdL6JauTmx_Et6XdBuQ@mail.gmail.com>

On Thu, Sep 25, 2014 at 08:59:26PM +0100, Bjorn Helgaas wrote:
> On Thu, Sep 25, 2014 at 12:15 PM, Yinghai Lu <yinghai@kernel.org> wrote:
> > On Tue, Sep 23, 2014 at 12:01 PM, Liviu Dudau <Liviu.Dudau@arm.com> wrote:
> >> Before commit 7b5436635800 the pci_host_bridge was created before the root bus.
> >> As that commit has added a needless dependency on the bus for pci_alloc_host_bridge()
> >> the creation order has been changed for no good reason. Revert the order of
> >> creation as we are going to depend on the pci_host_bridge structure to retrieve the
> >> domain number of the root bus.
> >>
> >> Cc: Bjorn Helgaas <bhelgaas@google.com>
> >> Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
> >> Acked-by: Grant Likely <grant.likely@linaro.org>
> >> Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
> >> Tested-by: Tanmay Inamdar <tinamdar@apm.com>
> >> ---
> >>  drivers/pci/probe.c | 32 +++++++++++++++++---------------
> >>  1 file changed, 17 insertions(+), 15 deletions(-)
> >>
> >> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> >> index e3cf8a2..5ff72ec 100644
> >> --- a/drivers/pci/probe.c
> >> +++ b/drivers/pci/probe.c
> >> @@ -515,7 +515,7 @@ static void pci_release_host_bridge_dev(struct device *dev)
> >>         kfree(bridge);
> >>  }
> >>
> >> -static struct pci_host_bridge *pci_alloc_host_bridge(struct pci_bus *b)
> >> +static struct pci_host_bridge *pci_alloc_host_bridge(void)
> >>  {
> >>         struct pci_host_bridge *bridge;
> >>
> >> @@ -524,7 +524,8 @@ static struct pci_host_bridge *pci_alloc_host_bridge(struct pci_bus *b)
> >>                 return NULL;
> >>
> >>         INIT_LIST_HEAD(&bridge->windows);
> >> -       bridge->bus = b;
> >> +       bridge->dev.release = pci_release_host_bridge_dev;
> >> +
> >>         return bridge;
> >>  }
> >>
> >> @@ -1761,9 +1762,15 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
> >>         char bus_addr[64];
> >>         char *fmt;
> >>
> >> +       bridge = pci_alloc_host_bridge();
> >> +       if (!bridge)
> >> +               return NULL;
> >> +
> >> +       bridge->dev.parent = parent;
> >> +
> >>         b = pci_alloc_bus();
> >>         if (!b)
> >> -               return NULL;
> >> +               goto err_out;
> >>
> >>         b->sysdata = sysdata;
> >>         b->ops = ops;
> >> @@ -1772,26 +1779,19 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
> >>         if (b2) {
> >>                 /* If we already got to this bus through a different bridge, ignore it */
> >>                 dev_dbg(&b2->dev, "bus already known\n");
> >> -               goto err_out;
> >> +               goto err_bus_out;
> >>         }
> >>
> >> -       bridge = pci_alloc_host_bridge(b);
> >> -       if (!bridge)
> >> -               goto err_out;
> >> -
> >> -       bridge->dev.parent = parent;
> >> -       bridge->dev.release = pci_release_host_bridge_dev;
> >> +       bridge->bus = b;
> >>         dev_set_name(&bridge->dev, "pci%04x:%02x", pci_domain_nr(b), bus);
> >>         error = pcibios_root_bridge_prepare(bridge);
> >> -       if (error) {
> >> -               kfree(bridge);
> >> +       if (error)
> >>                 goto err_out;
> >> -       }
> >>
> >>         error = device_register(&bridge->dev);
> >>         if (error) {
> >>                 put_device(&bridge->dev);
> >> -               goto err_out;
> >> +               goto err_bus_out;
> >>         }
> >>         b->bridge = get_device(&bridge->dev);
> >>         device_enable_async_suspend(b->bridge);
> >> @@ -1848,8 +1848,10 @@ struct pci_bus *pci_create_root_bus(struct device *parent, int bus,
> >>  class_dev_reg_err:
> >>         put_device(&bridge->dev);
> >>         device_unregister(&bridge->dev);
> >> -err_out:
> >> +err_bus_out:
> >>         kfree(b);
> >> +err_out:
> >> +       kfree(bridge);
> >>         return NULL;
> >>  }
> >
> > Hi Bjorn,
> >
> > Noticed that you put this one into pci/next.
> >
> > This patch has problem for the class_dev_reg_err path.
> > as device_unregister(&bridge->dev) will trigger pci_release_host_bridge_dev.
> > So will have double free for bridge or else.
> >
> > Please drop this patch from pci/next.
> >
> > Also looks strange that the patch have long CC list, but just omit me
> > and Jiang Liu that
> > touched those code before.
> 
> Thanks for noticing that.  I was concerned, but couldn't remember the details.
> 
> I dropped this patch and the subsequent ones from pci/host and rebased
> my "next" branch.
> 
> Sorry I didn't notice you weren't on the CC list.
> 
> Bjorn
> 

Bjorn,

I have refreshed/rebuilt the series from what was on 25th in linux-next and I have
dropped this patch. I have pushed the series into 

git://linux-arm.org/linux-ld.git for-upstream/pci-next

I hope that I've carried all your Sign-off-bys correctly, but I would like to ask you
to double check that I haven't screwed up things.

This patch dates from the times I was trying to add the domain number information
into the pci_host_bridge structure. Now, with Catalin's patch that adds the data in
the pci_bus structure, this is not needed, so it is safe to drop. I did try to fix
the patch but I've realised how intricately linked pci_host_bridge and root bus are,
which to my opinion is a strong hint that the creation of the two should be split
into separate functions.

I can send an official v13 patchset to the mailing list if you want, but if not, here
is the changelog:

- updated "[PATCH 01/12] asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP" to match
  the patch that Thierry Reding has submitted through the asm-generic branch. If his
  series lands first upstream this patch will be skipped.
- updated "[PATCH 03/12] ARM: Define PCI_IOBASE as the base of virtual PCI IO space" to
  cast the PCI_IOBASE value to (void __iomem *) as is the case with most #defined versions
- dropped the patch that was changing the order of initialisation between pci_host_bridge
  and root bus in pci_create_root_bus()
- fixed "[PATCH 07/12] PCI: Add generic domain handling" to account for the previous patch
  being removed
- fixed the title of commit 08/12 to reflect the name of the functions that are actually
  added (s/of_pci_get_domain_nr/pci_get_new_domain_nr/)

I've compiled tested the series on sparc, microblaze (no)mmu_defconfig, arm omap2plus_defconfig
and multi_v7_defconfig and arm64. I've also tested the series on my Juno (arm64) board.

Sorry for causing this amount of churn! And to Yinghai Lu and Jiang Liu: appologies for not
including you in the Cc list, I'm still getting the grip on the whole submission process.

Best regards,
Liviu

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ?\_(?)_/?

  reply	other threads:[~2014-09-26 14:59 UTC|newest]

Thread overview: 101+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-23 19:01 [PATCH v12 00/12] Support for creating generic PCI host bridges from DT Liviu Dudau
2014-09-23 19:01 ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 01/12] Fix ioport_map() for !CONFIG_GENERIC_IOMAP cases Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 02/12] PCI: Introduce helper functions to deal with PCI I/O ranges Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 03/12] ARM: Define PCI_IOBASE as the base of virtual PCI IO space Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 04/12] PCI: OF: Move of_pci_range_to_resources() into address.c Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 05/12] PCI: OF: Fix the conversion of IO ranges into IO resources Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-24  0:22   ` Bjorn Helgaas
2014-09-24  0:22     ` Bjorn Helgaas
2014-09-24  0:22     ` Bjorn Helgaas
2014-09-24  1:12     ` Liviu Dudau
2014-09-24  1:12       ` Liviu Dudau
2014-09-24  1:12       ` Liviu Dudau
2014-09-24  1:16       ` Bjorn Helgaas
2014-09-24  1:16         ` Bjorn Helgaas
2014-09-24  1:16         ` Bjorn Helgaas
2014-09-24  9:20         ` Robert Richter
2014-09-24  9:20           ` Robert Richter
2014-09-24  9:20           ` Robert Richter
2014-09-24 10:14     ` Andrew Murray
2014-09-24 10:14       ` Andrew Murray
2014-09-24 10:14       ` Andrew Murray
2014-09-23 19:01 ` [PATCH v12 06/12] PCI: Create pci_host_bridge before its associated bus in pci_create_root_bus Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-25 18:15   ` Yinghai Lu
2014-09-25 18:15     ` Yinghai Lu
2014-09-25 19:59     ` Bjorn Helgaas
2014-09-25 19:59       ` Bjorn Helgaas
2014-09-26 14:58       ` Liviu Dudau [this message]
2014-09-26 14:58         ` Liviu Dudau
2014-09-26 16:17         ` Bjorn Helgaas
2014-09-26 16:17           ` Bjorn Helgaas
2014-09-23 19:01 ` [PATCH v12 07/12] PCI: Introduce generic domain handling for PCI busses Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 08/12] PCI: OF: Introduce helper function for retrieving PCI domain numbers Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-26 18:20   ` Rob Herring
2014-09-26 18:20     ` Rob Herring
2014-09-26 21:20     ` liviu
2014-09-26 21:20       ` liviu at dudau.co.uk
2014-09-26 21:20       ` liviu
2014-09-26 21:53       ` Rob Herring
2014-09-26 21:53         ` Rob Herring
2014-09-26 21:53         ` Rob Herring
2014-09-26 22:47         ` Liviu Dudau
2014-09-26 22:47           ` Liviu Dudau
2014-09-27 20:18           ` Bjorn Helgaas
2014-09-27 20:18             ` Bjorn Helgaas
2014-09-27 20:18             ` Bjorn Helgaas
2014-09-23 19:01 ` [PATCH v12 09/12] OF: PCI: Add support for parsing PCI host bridge resources from DT Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-24 16:43   ` Liviu Dudau
2014-09-24 16:43     ` Liviu Dudau
2014-09-24 17:31     ` Bjorn Helgaas
2014-09-24 17:31       ` Bjorn Helgaas
2014-09-24 17:53       ` Liviu Dudau
2014-09-24 17:53         ` Liviu Dudau
2014-09-24 18:01         ` Will Deacon
2014-09-24 18:01           ` Will Deacon
2014-09-25  8:54           ` Liviu Dudau
2014-09-25  8:54             ` Liviu Dudau
2014-09-25  9:04             ` Will Deacon
2014-09-25  9:04               ` Will Deacon
2014-09-23 19:01 ` [PATCH v12 10/12] PCI: Assign unassigned bus resources in pci_scan_root_bus() Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-24  1:18   ` Liviu Dudau
2014-09-24  1:18     ` Liviu Dudau
2014-09-24  1:18     ` Liviu Dudau
2014-09-24  1:41     ` Bjorn Helgaas
2014-09-24  1:41       ` Bjorn Helgaas
2014-09-24  1:48       ` Liviu Dudau
2014-09-24  1:48         ` Liviu Dudau
2014-09-28 21:16       ` Suravee Suthikulpanit
2014-09-28 21:16         ` Suravee Suthikulpanit
2014-09-29 18:18         ` Arnd Bergmann
2014-09-29 18:18           ` Arnd Bergmann
2014-09-23 19:01 ` [PATCH v12 11/12] PCI: Introduce pci_remap_iospace() for remapping PCI I/O bus resources into CPU space Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 19:01 ` [PATCH v12 12/12] arm64: Add architectural support for PCIe Liviu Dudau
2014-09-23 19:01   ` Liviu Dudau
2014-09-23 21:54 ` [PATCH v12 00/12] Support for creating generic PCI host bridges from DT Bjorn Helgaas
2014-09-23 21:54   ` Bjorn Helgaas
2014-09-23 22:48   ` Liviu Dudau
2014-09-23 22:48     ` Liviu Dudau
2014-09-23 23:00     ` Bjorn Helgaas
2014-09-23 23:00       ` Bjorn Helgaas
2014-09-24 13:30       ` Rob Herring
2014-09-24 13:30         ` Rob Herring
2014-09-24 14:23         ` Liviu Dudau
2014-09-24 14:23           ` Liviu Dudau
2014-09-24 15:38           ` Bjorn Helgaas
2014-09-24 15:38             ` Bjorn Helgaas
2014-09-23 22:49 ` Liviu Dudau
2014-09-23 22:49   ` Liviu Dudau
2014-09-23 22:49   ` Liviu Dudau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140926145854.GS841@e106497-lin.cambridge.arm.com \
    --to=liviu.dudau@arm.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jg1.han@samsung.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=kgene.kim@samsung.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=okaya@codeaurora.org \
    --cc=robh+dt@kernel.org \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=tinamdar@apm.com \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.