From: lizf@kernel.org
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Yinghai Lu <yinghai@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Dirk Behme <dirk.behme@gmail.com>, Zefan Li <lizefan@huawei.com>
Subject: [PATCH 3.4 166/172] PCI: Convert pcibios_resource_to_bus() to take a pci_bus, not a pci_dev
Date: Tue, 16 Jun 2015 16:37:00 +0800 [thread overview]
Message-ID: <1434443826-4929-166-git-send-email-lizf@kernel.org> (raw)
In-Reply-To: <1434443587-4599-1-git-send-email-lizf@kernel.org>
From: Yinghai Lu <yinghai@kernel.org>
3.4.108-rc1 review patch. If anyone has any objections, please let me know.
------------------
commit fc2798502f860b18f3c7121e4dc659d3d9d28d74 upstream.
These interfaces:
pcibios_resource_to_bus(struct pci_dev *dev, *bus_region, *resource)
pcibios_bus_to_resource(struct pci_dev *dev, *resource, *bus_region)
took a pci_dev, but they really depend only on the pci_bus. And we want to
use them in resource allocation paths where we have the bus but not a
device, so this patch converts them to take the pci_bus instead of the
pci_dev:
pcibios_resource_to_bus(struct pci_bus *bus, *bus_region, *resource)
pcibios_bus_to_resource(struct pci_bus *bus, *resource, *bus_region)
In fact, with standard PCI-PCI bridges, they only depend on the host
bridge, because that's the only place address translation occurs, but
we aren't going that far yet.
[bhelgaas: changelog]
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Dirk Behme <dirk.behme@gmail.com>
[lizf: Backported to 3.4:
- make changes to pci_host_bridge() instead of find_pci_root_bus()
- adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
---
arch/alpha/kernel/pci-sysfs.c | 4 ++--
arch/powerpc/kernel/pci_of_scan.c | 4 ++--
arch/powerpc/platforms/powernv/pci-ioda.c | 4 ++--
arch/sparc/kernel/pci.c | 12 ++++++------
drivers/pci/probe.c | 32 +++++++++++++++----------------
drivers/pci/quirks.c | 2 +-
drivers/pci/rom.c | 2 +-
drivers/pci/setup-bus.c | 14 +++++++-------
drivers/pci/setup-res.c | 2 +-
drivers/pcmcia/i82092.c | 2 +-
drivers/pcmcia/yenta_socket.c | 6 +++---
drivers/scsi/sym53c8xx_2/sym_glue.c | 5 +++--
drivers/video/arkfb.c | 2 +-
drivers/video/s3fb.c | 2 +-
drivers/video/vt8623fb.c | 2 +-
include/linux/pci.h | 4 ++--
16 files changed, 49 insertions(+), 50 deletions(-)
diff --git a/arch/alpha/kernel/pci-sysfs.c b/arch/alpha/kernel/pci-sysfs.c
index 53649c7..1a33355 100644
--- a/arch/alpha/kernel/pci-sysfs.c
+++ b/arch/alpha/kernel/pci-sysfs.c
@@ -84,7 +84,7 @@ static int pci_mmap_resource(struct kobject *kobj,
if (iomem_is_exclusive(res->start))
return -EINVAL;
- pcibios_resource_to_bus(pdev, &bar, res);
+ pcibios_resource_to_bus(pdev->bus, &bar, res);
vma->vm_pgoff += bar.start >> (PAGE_SHIFT - (sparse ? 5 : 0));
mmap_type = res->flags & IORESOURCE_MEM ? pci_mmap_mem : pci_mmap_io;
@@ -140,7 +140,7 @@ static int sparse_mem_mmap_fits(struct pci_dev *pdev, int num)
long dense_offset;
unsigned long sparse_size;
- pcibios_resource_to_bus(pdev, &bar, &pdev->resource[num]);
+ pcibios_resource_to_bus(pdev->bus, &bar, &pdev->resource[num]);
/* All core logic chips have 4G sparse address space, except
CIA which has 16G (see xxx_SPARSE_MEM and xxx_DENSE_MEM
diff --git a/arch/powerpc/kernel/pci_of_scan.c b/arch/powerpc/kernel/pci_of_scan.c
index 89dde17..55551a8 100644
--- a/arch/powerpc/kernel/pci_of_scan.c
+++ b/arch/powerpc/kernel/pci_of_scan.c
@@ -111,7 +111,7 @@ static void of_pci_parse_addrs(struct device_node *node, struct pci_dev *dev)
res->name = pci_name(dev);
region.start = base;
region.end = base + size - 1;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
}
@@ -276,7 +276,7 @@ void __devinit of_scan_pci_bridge(struct pci_dev *dev)
res->flags = flags;
region.start = of_read_number(&ranges[1], 2);
region.end = region.start + size - 1;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
sprintf(bus->name, "PCI Bus %04x:%02x", pci_domain_nr(bus),
bus->number);
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index 5da8e8d..79a17f7 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -392,7 +392,7 @@ static void __devinit pnv_ioda_setup_pe_segments(struct pci_dev *dev)
/* Setup IO segments */
if (io_res.start < io_res.end) {
- pcibios_resource_to_bus(dev, ®ion, &io_res);
+ pcibios_resource_to_bus(dev->bus, ®ion, &io_res);
pos = region.start;
i = pos / phb->ioda.io_segsize;
while(i < phb->ioda.total_pe && pos <= region.end) {
@@ -422,7 +422,7 @@ static void __devinit pnv_ioda_setup_pe_segments(struct pci_dev *dev)
/* Setup M32 segments */
if (m32_res.start < m32_res.end) {
- pcibios_resource_to_bus(dev, ®ion, &m32_res);
+ pcibios_resource_to_bus(dev->bus, ®ion, &m32_res);
pos = region.start;
i = pos / phb->ioda.m32_segsize;
while(i < phb->ioda.total_pe && pos <= region.end) {
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 8c5c9a5..ab5f471 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -409,7 +409,7 @@ static void __devinit pci_cfg_fake_ranges(struct pci_dev *dev,
res2.flags = res->flags;
region.start = base;
region.end = limit + 0xfff;
- pcibios_bus_to_resource(dev, &res2, ®ion);
+ pcibios_bus_to_resource(dev->bus, &res2, ®ion);
if (!res->start)
res->start = res2.start;
if (!res->end)
@@ -427,7 +427,7 @@ static void __devinit pci_cfg_fake_ranges(struct pci_dev *dev,
IORESOURCE_MEM);
region.start = base;
region.end = limit + 0xfffff;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
pci_read_config_word(dev, PCI_PREF_MEMORY_BASE, &mem_base_lo);
@@ -458,7 +458,7 @@ static void __devinit pci_cfg_fake_ranges(struct pci_dev *dev,
IORESOURCE_MEM | IORESOURCE_PREFETCH);
region.start = base;
region.end = limit + 0xfffff;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
}
@@ -480,7 +480,7 @@ static void __devinit apb_fake_ranges(struct pci_dev *dev,
res->flags = IORESOURCE_IO;
region.start = (first << 21);
region.end = (last << 21) + ((1 << 21) - 1);
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
pci_read_config_byte(dev, APB_MEM_ADDRESS_MAP, &map);
apb_calc_first_last(map, &first, &last);
@@ -488,7 +488,7 @@ static void __devinit apb_fake_ranges(struct pci_dev *dev,
res->flags = IORESOURCE_MEM;
region.start = (first << 29);
region.end = (last << 29) + ((1 << 29) - 1);
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm,
@@ -579,7 +579,7 @@ static void __devinit of_scan_pci_bridge(struct pci_pbm_info *pbm,
res->flags = flags;
region.start = GET_64BIT(ranges, 1);
region.end = region.start + size - 1;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
after_ranges:
sprintf(bus->name, "PCI Bus %04x:%02x", pci_domain_nr(bus),
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index d62ad0b..868440f 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -44,12 +44,10 @@ int no_pci_devices(void)
}
EXPORT_SYMBOL(no_pci_devices);
-static struct pci_host_bridge *pci_host_bridge(struct pci_dev *dev)
+static struct pci_host_bridge *pci_host_bridge(struct pci_bus *bus)
{
- struct pci_bus *bus;
struct pci_host_bridge *bridge;
- bus = dev->bus;
while (bus->parent)
bus = bus->parent;
@@ -66,10 +64,10 @@ static bool resource_contains(struct resource *res1, struct resource *res2)
return res1->start <= res2->start && res1->end >= res2->end;
}
-void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
+void pcibios_resource_to_bus(struct pci_bus *bus, struct pci_bus_region *region,
struct resource *res)
{
- struct pci_host_bridge *bridge = pci_host_bridge(dev);
+ struct pci_host_bridge *bridge = pci_host_bridge(bus);
struct pci_host_bridge_window *window;
resource_size_t offset = 0;
@@ -94,10 +92,10 @@ static bool region_contains(struct pci_bus_region *region1,
return region1->start <= region2->start && region1->end >= region2->end;
}
-void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
+void pcibios_bus_to_resource(struct pci_bus *bus, struct resource *res,
struct pci_bus_region *region)
{
- struct pci_host_bridge *bridge = pci_host_bridge(dev);
+ struct pci_host_bridge *bridge = pci_host_bridge(bus);
struct pci_host_bridge_window *window;
struct pci_bus_region bus_region;
resource_size_t offset = 0;
@@ -298,11 +296,11 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
pci_write_config_dword(dev, pos + 4, 0);
region.start = 0;
region.end = sz64;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
} else {
region.start = l64;
region.end = l64 + sz64;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
dev_printk(KERN_DEBUG, &dev->dev, "reg %x: %pR\n",
pos, res);
}
@@ -314,7 +312,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
region.start = l;
region.end = l + sz;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
dev_printk(KERN_DEBUG, &dev->dev, "reg %x: %pR\n", pos, res);
}
@@ -373,7 +371,7 @@ static void __devinit pci_read_bridge_io(struct pci_bus *child)
res2.flags = res->flags;
region.start = base;
region.end = limit + 0xfff;
- pcibios_bus_to_resource(dev, &res2, ®ion);
+ pcibios_bus_to_resource(dev->bus, &res2, ®ion);
if (!res->start)
res->start = res2.start;
if (!res->end)
@@ -399,7 +397,7 @@ static void __devinit pci_read_bridge_mmio(struct pci_bus *child)
res->flags = (mem_base_lo & PCI_MEMORY_RANGE_TYPE_MASK) | IORESOURCE_MEM;
region.start = base;
region.end = limit + 0xfffff;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
dev_printk(KERN_DEBUG, &dev->dev, " bridge window %pR\n", res);
}
}
@@ -448,7 +446,7 @@ static void __devinit pci_read_bridge_mmio_pref(struct pci_bus *child)
res->flags |= IORESOURCE_MEM_64;
region.start = base;
region.end = limit + 0xfffff;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
dev_printk(KERN_DEBUG, &dev->dev, " bridge window %pR\n", res);
}
}
@@ -1063,24 +1061,24 @@ int pci_setup_device(struct pci_dev *dev)
region.end = 0x1F7;
res = &dev->resource[0];
res->flags = LEGACY_IO_RESOURCE;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
region.start = 0x3F6;
region.end = 0x3F6;
res = &dev->resource[1];
res->flags = LEGACY_IO_RESOURCE;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
if ((progif & 4) == 0) {
region.start = 0x170;
region.end = 0x177;
res = &dev->resource[2];
res->flags = LEGACY_IO_RESOURCE;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
region.start = 0x376;
region.end = 0x376;
res = &dev->resource[3];
res->flags = LEGACY_IO_RESOURCE;
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
}
}
break;
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index ffde183..c030024 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -393,7 +393,7 @@ static void __devinit quirk_io_region(struct pci_dev *dev, unsigned region,
/* Convert from PCI bus to resource space. */
bus_region.start = res->start;
bus_region.end = res->end;
- pcibios_bus_to_resource(dev, res, &bus_region);
+ pcibios_bus_to_resource(dev->bus, res, &bus_region);
if (pci_claim_resource(dev, nr) == 0)
dev_info(&dev->dev, "quirk: %pR claimed by %s\n",
diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c
index e31659c..336b999 100644
--- a/drivers/pci/rom.c
+++ b/drivers/pci/rom.c
@@ -31,7 +31,7 @@ int pci_enable_rom(struct pci_dev *pdev)
if (!res->flags)
return -1;
- pcibios_resource_to_bus(pdev, ®ion, res);
+ pcibios_resource_to_bus(pdev->bus, ®ion, res);
pci_read_config_dword(pdev, pdev->rom_base_reg, &rom_addr);
rom_addr &= ~PCI_ROM_ADDRESS_MASK;
rom_addr |= region.start | PCI_ROM_ADDRESS_ENABLE;
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 8fa2d4b..244ada4 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -408,7 +408,7 @@ void pci_setup_cardbus(struct pci_bus *bus)
bus->secondary, bus->subordinate);
res = bus->resource[0];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_IO) {
/*
* The IO resource is allocated a range twice as large as it
@@ -422,7 +422,7 @@ void pci_setup_cardbus(struct pci_bus *bus)
}
res = bus->resource[1];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_IO) {
dev_info(&bridge->dev, " bridge window %pR\n", res);
pci_write_config_dword(bridge, PCI_CB_IO_BASE_1,
@@ -432,7 +432,7 @@ void pci_setup_cardbus(struct pci_bus *bus)
}
res = bus->resource[2];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_MEM) {
dev_info(&bridge->dev, " bridge window %pR\n", res);
pci_write_config_dword(bridge, PCI_CB_MEMORY_BASE_0,
@@ -442,7 +442,7 @@ void pci_setup_cardbus(struct pci_bus *bus)
}
res = bus->resource[3];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_MEM) {
dev_info(&bridge->dev, " bridge window %pR\n", res);
pci_write_config_dword(bridge, PCI_CB_MEMORY_BASE_1,
@@ -473,7 +473,7 @@ static void pci_setup_bridge_io(struct pci_bus *bus)
/* Set up the top and bottom of the PCI I/O segment for this bus. */
res = bus->resource[0];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_IO) {
pci_read_config_dword(bridge, PCI_IO_BASE, &l);
l &= 0xffff0000;
@@ -504,7 +504,7 @@ static void pci_setup_bridge_mmio(struct pci_bus *bus)
/* Set up the top and bottom of the PCI Memory segment for this bus. */
res = bus->resource[1];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_MEM) {
l = (region.start >> 16) & 0xfff0;
l |= region.end & 0xfff00000;
@@ -530,7 +530,7 @@ static void pci_setup_bridge_mmio_pref(struct pci_bus *bus)
/* Set up PREF base/limit. */
bu = lu = 0;
res = bus->resource[2];
- pcibios_resource_to_bus(bridge, ®ion, res);
+ pcibios_resource_to_bus(bridge->bus, ®ion, res);
if (res->flags & IORESOURCE_PREFETCH) {
l = (region.start >> 16) & 0xfff0;
l |= region.end & 0xfff00000;
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index be76eba..d427277 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -50,7 +50,7 @@ void pci_update_resource(struct pci_dev *dev, int resno)
if (res->flags & IORESOURCE_PCI_FIXED)
return;
- pcibios_resource_to_bus(dev, ®ion, res);
+ pcibios_resource_to_bus(dev->bus, ®ion, res);
new = region.start | (res->flags & PCI_REGION_FLAG_MASK);
if (res->flags & IORESOURCE_IO)
diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c
index 4e8831b..099034b 100644
--- a/drivers/pcmcia/i82092.c
+++ b/drivers/pcmcia/i82092.c
@@ -610,7 +610,7 @@ static int i82092aa_set_mem_map(struct pcmcia_socket *socket, struct pccard_mem_
enter("i82092aa_set_mem_map");
- pcibios_resource_to_bus(sock_info->dev, ®ion, mem->res);
+ pcibios_resource_to_bus(sock_info->dev->bus, ®ion, mem->res);
map = mem->map;
if (map > 4) {
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index d07f9ac..13e76f9 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -445,7 +445,7 @@ static int yenta_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *
unsigned int start, stop, card_start;
unsigned short word;
- pcibios_resource_to_bus(socket->dev, ®ion, mem->res);
+ pcibios_resource_to_bus(socket->dev->bus, ®ion, mem->res);
map = mem->map;
start = region.start;
@@ -709,7 +709,7 @@ static int yenta_allocate_res(struct yenta_socket *socket, int nr, unsigned type
region.start = config_readl(socket, addr_start) & mask;
region.end = config_readl(socket, addr_end) | ~mask;
if (region.start && region.end > region.start && !override_bios) {
- pcibios_bus_to_resource(dev, res, ®ion);
+ pcibios_bus_to_resource(dev->bus, res, ®ion);
if (pci_claim_resource(dev, PCI_BRIDGE_RESOURCES + nr) == 0)
return 0;
dev_printk(KERN_INFO, &dev->dev,
@@ -1033,7 +1033,7 @@ static void yenta_config_init(struct yenta_socket *socket)
struct pci_dev *dev = socket->dev;
struct pci_bus_region region;
- pcibios_resource_to_bus(socket->dev, ®ion, &dev->resource[0]);
+ pcibios_resource_to_bus(socket->dev->bus, ®ion, &dev->resource[0]);
config_writel(socket, CB_LEGACY_MODE_BASE, 0);
config_writel(socket, PCI_BASE_ADDRESS_0, region.start);
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index 36d1ed7..1e3d789 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -1609,7 +1609,7 @@ sym_iomap_device(struct sym_device *device)
struct pci_bus_region bus_addr;
int i = 2;
- pcibios_resource_to_bus(pdev, &bus_addr, &pdev->resource[1]);
+ pcibios_resource_to_bus(pdev->bus, &bus_addr, &pdev->resource[1]);
device->mmio_base = bus_addr.start;
if (device->chip.features & FE_RAM) {
@@ -1619,7 +1619,8 @@ sym_iomap_device(struct sym_device *device)
*/
if (!pdev->resource[i].flags)
i++;
- pcibios_resource_to_bus(pdev, &bus_addr, &pdev->resource[i]);
+ pcibios_resource_to_bus(pdev->bus, &bus_addr,
+ &pdev->resource[i]);
device->ram_base = bus_addr.start;
}
diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c
index 555dd4c..65196fe 100644
--- a/drivers/video/arkfb.c
+++ b/drivers/video/arkfb.c
@@ -1014,7 +1014,7 @@ static int __devinit ark_pci_probe(struct pci_dev *dev, const struct pci_device_
vga_res.flags = IORESOURCE_IO;
- pcibios_bus_to_resource(dev, &vga_res, &bus_reg);
+ pcibios_bus_to_resource(dev->bus, &vga_res, &bus_reg);
par->state.vgabase = (void __iomem *) vga_res.start;
diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c
index 2c80246..7b7af8c 100644
--- a/drivers/video/s3fb.c
+++ b/drivers/video/s3fb.c
@@ -1172,7 +1172,7 @@ static int __devinit s3_pci_probe(struct pci_dev *dev, const struct pci_device_i
vga_res.flags = IORESOURCE_IO;
- pcibios_bus_to_resource(dev, &vga_res, &bus_reg);
+ pcibios_bus_to_resource(dev->bus, &vga_res, &bus_reg);
par->state.vgabase = (void __iomem *) vga_res.start;
diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c
index 4e74d26..dfecf02 100644
--- a/drivers/video/vt8623fb.c
+++ b/drivers/video/vt8623fb.c
@@ -727,7 +727,7 @@ static int __devinit vt8623_pci_probe(struct pci_dev *dev, const struct pci_devi
vga_res.flags = IORESOURCE_IO;
- pcibios_bus_to_resource(dev, &vga_res, &bus_reg);
+ pcibios_bus_to_resource(dev->bus, &vga_res, &bus_reg);
par->state.vgabase = (void __iomem *) vga_res.start;
diff --git a/include/linux/pci.h b/include/linux/pci.h
index e444f5b..469c953 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -648,9 +648,9 @@ void pci_fixup_cardbus(struct pci_bus *);
/* Generic PCI functions used internally */
-void pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region,
+void pcibios_resource_to_bus(struct pci_bus *bus, struct pci_bus_region *region,
struct resource *res);
-void pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res,
+void pcibios_bus_to_resource(struct pci_bus *bus, struct resource *res,
struct pci_bus_region *region);
void pcibios_scan_specific_bus(int busn);
extern struct pci_bus *pci_find_bus(int domain, int busnr);
--
1.9.1
next prev parent reply other threads:[~2015-06-16 8:50 UTC|newest]
Thread overview: 182+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-16 8:33 [PATCH 3.4 000/172] 3.4.108-rc1 review lizf
2015-06-16 8:34 ` [PATCH 3.4 001/172] ARM: pxa: add regulator_has_full_constraints to corgi board file lizf
2015-06-16 8:34 ` [PATCH 3.4 002/172] ARM: pxa: add regulator_has_full_constraints to poodle " lizf
2015-06-16 8:34 ` [PATCH 3.4 003/172] ARM: pxa: add regulator_has_full_constraints to spitz " lizf
2015-06-16 8:34 ` [PATCH 3.4 004/172] hx4700: regulator: declare full constraints lizf
2015-06-16 8:34 ` [PATCH 3.4 005/172] PCI: Generate uppercase hex for modalias var in uevent lizf
2015-06-16 8:34 ` [PATCH 3.4 006/172] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN lizf
2015-06-16 8:34 ` [PATCH 3.4 007/172] axonram: Fix bug in direct_access lizf
2015-06-16 8:34 ` [PATCH 3.4 008/172] Bluetooth: ath3k: Add support of AR3012 bluetooth 13d3:3423 device lizf
2015-06-16 8:34 ` [PATCH 3.4 009/172] smack: fix possible use after frees in task_security() callers lizf
2015-06-16 8:34 ` [PATCH 3.4 010/172] KVM: s390: base hrtimer on a monotonic clock lizf
2015-06-16 8:34 ` [PATCH 3.4 011/172] PCI: Fix infinite loop with ROM image of size 0 lizf
2015-06-16 8:34 ` [PATCH 3.4 012/172] USB: cp210x: add ID for RUGGEDCOM USB Serial Console lizf
2015-06-16 8:34 ` [PATCH 3.4 013/172] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back lizf
2015-06-16 8:34 ` [PATCH 3.4 014/172] ARM: 8284/1: sa1100: clear RCSR_SMR on resume lizf
2015-06-16 8:34 ` [PATCH 3.4 015/172] xprtrdma: Free the pd if ib_query_qp() fails lizf
2015-06-16 8:34 ` [PATCH 3.4 016/172] cdc-acm: add sanity checks lizf
2015-06-16 8:34 ` [PATCH 3.4 017/172] USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) lizf
2015-06-16 8:34 ` [PATCH 3.4 018/172] USB: fix use-after-free bug in usb_hcd_unlink_urb() lizf
2015-06-16 8:34 ` [PATCH 3.4 019/172] vt: provide notifications on selection changes lizf
2015-06-16 8:34 ` [PATCH 3.4 020/172] tty: Prevent untrappable signals from malicious program lizf
2015-06-16 8:34 ` [PATCH 3.4 021/172] ath5k: fix spontaneus AR5312 freezes lizf
2015-06-16 8:34 ` [PATCH 3.4 022/172] rtnetlink: ifla_vf_policy: fix misuses of NLA_BINARY lizf
2015-06-16 8:34 ` [PATCH 3.4 023/172] ALSA: off by one bug in snd_riptide_joystick_probe() lizf
2015-06-16 8:34 ` [PATCH 3.4 024/172] fsnotify: fix handling of renames in audit lizf
2015-06-16 8:34 ` [PATCH 3.4 025/172] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args lizf
2015-06-16 8:34 ` [PATCH 3.4 026/172] cpufreq: speedstep-smi: enable interrupts when waiting lizf
2015-06-16 8:34 ` [PATCH 3.4 027/172] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() lizf
2015-06-16 8:34 ` [PATCH 3.4 028/172] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection lizf
2015-06-16 8:34 ` [PATCH 3.4 029/172] mm/hugetlb: add migration entry check in __unmap_hugepage_range lizf
2015-06-16 8:34 ` [PATCH 3.4 030/172] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() lizf
2015-06-16 8:34 ` [PATCH 3.4 031/172] mm/nommu.c: " lizf
2015-06-16 8:34 ` [PATCH 3.4 032/172] iscsi-target: Drop problematic active_ts_list usage lizf
2015-06-16 8:34 ` [PATCH 3.4 033/172] mm/memory.c: actually remap enough memory lizf
2015-06-16 8:34 ` [PATCH 3.4 034/172] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary lizf
2015-06-16 8:34 ` [PATCH 3.4 035/172] ALSA: hdspm - Constrain periods to 2 on older cards lizf
2015-06-16 9:45 ` Adrian Knoth
2015-06-18 3:18 ` Zefan Li
2015-06-16 8:34 ` [PATCH 3.4 036/172] jffs2: fix handling of corrupted summary length lizf
2015-06-16 8:34 ` [PATCH 3.4 037/172] dm mirror: do not degrade the mirror on discard error lizf
2015-06-16 8:34 ` [PATCH 3.4 038/172] dm io: reject unsupported DISCARD requests with EOPNOTSUPP lizf
2015-06-16 8:34 ` [PATCH 3.4 039/172] ipv6: fix ipv6_cow_metrics for non DST_HOST case lizf
2015-06-16 8:34 ` [PATCH 3.4 040/172] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit lizf
2015-06-16 8:34 ` [PATCH 3.4 041/172] sg: fix read() error reporting lizf
2015-06-16 8:34 ` [PATCH 3.4 042/172] IB/qib: Do not write EEPROM lizf
2015-06-16 8:34 ` [PATCH 3.4 043/172] dm: fix a race condition in dm_get_md lizf
2015-06-16 8:34 ` [PATCH 3.4 044/172] dm snapshot: fix a possible invalid memory access on unload lizf
2015-06-16 8:34 ` [PATCH 3.4 045/172] kdb: fix incorrect counts in KDB summary command output lizf
2015-06-16 8:35 ` [PATCH 3.4 046/172] debugfs: leave freeing a symlink body until inode eviction lizf
2015-06-16 8:35 ` [PATCH 3.4 047/172] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation lizf
2015-06-16 8:35 ` [PATCH 3.4 048/172] gpio: tps65912: fix wrong container_of arguments lizf
2015-06-16 8:35 ` [PATCH 3.4 049/172] ALSA: pcm: Don't leave PREPARED state after draining lizf
2015-06-16 8:35 ` [PATCH 3.4 050/172] nilfs2: fix potential memory overrun on inode lizf
2015-06-16 8:35 ` [PATCH 3.4 051/172] netfilter: xt_socket: fix a stack corruption bug lizf
2015-06-16 10:23 ` Pablo Neira Ayuso
2015-06-16 8:35 ` [PATCH 3.4 052/172] team: fix possible null pointer dereference in team_handle_frame lizf
2015-06-16 8:35 ` [PATCH 3.4 053/172] KVM: emulate: fix CMPXCHG8B on 32-bit hosts lizf
2015-06-16 8:35 ` [PATCH 3.4 054/172] xhci: Allocate correct amount of scratchpad buffers lizf
2015-06-16 8:35 ` [PATCH 3.4 055/172] USB: usbfs: don't leak kernel data in siginfo lizf
2015-06-16 8:35 ` [PATCH 3.4 056/172] USB: ftdi_sio: add PIDs for Actisense USB devices lizf
2015-06-16 8:35 ` [PATCH 3.4 057/172] USB: serial: fix potential use-after-free after failed probe lizf
2015-06-16 8:35 ` [PATCH 3.4 058/172] USB: serial: fix tty-device error handling at probe lizf
2015-06-16 8:35 ` [PATCH 3.4 059/172] mac80211: Send EAPOL frames at lowest rate lizf
2015-06-16 8:35 ` [PATCH 3.4 060/172] USB: serial: cp210x: Adding Seletek device id's lizf
2015-06-16 8:35 ` [PATCH 3.4 061/172] NFSv4: Don't call put_rpccred() under the rcu_read_lock() lizf
2015-06-16 8:35 ` [PATCH 3.4 062/172] usb: ftdi_sio: Add jtag quirk support for Cyber Cortex AV boards lizf
2015-06-16 8:35 ` [PATCH 3.4 063/172] eCryptfs: don't pass fs-specific ioctl commands through lizf
2015-06-16 8:35 ` [PATCH 3.4 064/172] drm/radeon: do a posting read in r100_set_irq lizf
2015-06-16 8:35 ` [PATCH 3.4 065/172] drm/radeon: do a posting read in rs600_set_irq lizf
2015-06-16 8:35 ` [PATCH 3.4 066/172] drm/radeon: do a posting read in r600_set_irq lizf
2015-06-16 8:35 ` [PATCH 3.4 067/172] drm/radeon: do a posting read in evergreen_set_irq lizf
2015-06-16 8:35 ` [PATCH 3.4 068/172] drm/radeon: do a posting read in si_set_irq lizf
2015-06-16 8:35 ` [PATCH 3.4 069/172] drm/radeon: fix DRM_IOCTL_RADEON_CS oops lizf
2015-06-16 8:35 ` [PATCH 3.4 070/172] ACPI / video: Load the module even if ACPI is disabled lizf
2015-06-16 8:35 ` [PATCH 3.4 071/172] ASoC: omap-pcm: Correct dma mask lizf
2015-06-16 8:35 ` [PATCH 3.4 072/172] x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization lizf
2015-06-16 8:35 ` [PATCH 3.4 073/172] xhci: fix reporting of 0-sized URBs in control endpoint lizf
2015-06-16 8:35 ` [PATCH 3.4 074/172] xhci: Workaround for PME stuck issues in Intel xhci lizf
2015-06-16 8:35 ` [PATCH 3.4 075/172] Change email address for 8250_pci lizf
2015-06-16 8:35 ` [PATCH 3.4 076/172] tty: fix up atime/mtime mess, take four lizf
2015-06-16 8:35 ` [PATCH 3.4 077/172] console: Fix console name size mismatch lizf
2015-06-16 8:35 ` [PATCH 3.4 078/172] net: irda: fix wait_until_sent poll timeout lizf
2015-06-16 8:35 ` [PATCH 3.4 079/172] TTY: fix tty_wait_until_sent on 64-bit machines lizf
2015-06-16 8:35 ` [PATCH 3.4 080/172] sunrpc: fix braino in ->poll() lizf
2015-06-16 8:35 ` [PATCH 3.4 081/172] gadgetfs: use-after-free in ->aio_read() lizf
2015-06-16 8:35 ` [PATCH 3.4 082/172] ipvs: add missing ip_vs_pe_put in sync code lizf
2015-06-16 8:35 ` [PATCH 3.4 083/172] ARM: at91: pm: fix at91rm9200 standby lizf
2015-06-16 8:35 ` [PATCH 3.4 084/172] bnx2x: Force fundamental reset for EEH recovery lizf
2015-06-16 8:35 ` [PATCH 3.4 085/172] libsas: Fix Kernel Crash in smp_execute_task lizf
2015-06-16 8:35 ` [PATCH 3.4 086/172] can: add missing initialisations in CAN related skbuffs lizf
2015-06-16 8:35 ` [PATCH 3.4 087/172] ftrace: Fix en(dis)able graph caller when en(dis)abling record via sysctl lizf
2015-06-16 8:35 ` [PATCH 3.4 088/172] ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled lizf
2015-06-16 8:35 ` [PATCH 3.4 089/172] xen-pciback: limit guest control of command register lizf
2015-06-16 8:35 ` [PATCH 3.4 090/172] drm/vmwgfx: Reorder device takedown somewhat lizf
2015-06-16 8:35 ` [PATCH 3.4 091/172] ALSA: control: Add sanity checks for user ctl id name string lizf
2015-06-16 8:35 ` [PATCH 3.4 092/172] ALSA: snd-usb: add quirks for Roland UA-22 lizf
2015-06-16 8:35 ` [PATCH 3.4 093/172] fuse: notify: don't move pages lizf
2015-06-16 8:35 ` [PATCH 3.4 094/172] fuse: set stolen page uptodate lizf
2015-06-16 8:35 ` [PATCH 3.4 095/172] dm: hold suspend_lock while suspending device during device deletion lizf
2015-06-16 8:35 ` [PATCH 3.4 096/172] dm io: deal with wandering queue limits when handling REQ_DISCARD and REQ_WRITE_SAME lizf
2015-06-16 8:35 ` [PATCH 3.4 097/172] mac80211: drop unencrypted frames in mesh fwding lizf
2015-06-16 8:35 ` [PATCH 3.4 098/172] mac80211: set only VO as a U-APSD enabled AC lizf
2015-06-16 8:35 ` [PATCH 3.4 099/172] mac80211: disable u-APSD queues by default lizf
2015-06-16 8:35 ` [PATCH 3.4 100/172] virtio_console: init work unconditionally lizf
2015-06-16 8:35 ` [PATCH 3.4 101/172] virtio_console: avoid config access from irq lizf
2015-06-16 8:35 ` [PATCH 3.4 102/172] x86/vdso: Fix the build on GCC5 lizf
2015-06-16 8:35 ` [PATCH 3.4 103/172] ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP lizf
2015-06-16 8:35 ` [PATCH 3.4 104/172] Input: synaptics - query min dimensions for fw v8.1 lizf
2015-06-16 8:35 ` [PATCH 3.4 105/172] Input: synaptics - fix middle button on Lenovo 2015 products lizf
2015-06-16 8:36 ` [PATCH 3.4 106/172] Input: synaptics - handle spurious release of trackstick buttons lizf
2015-06-16 8:36 ` [PATCH 3.4 107/172] vt6655: RFbSetPower fix missing rate RATE_12M lizf
2015-06-16 8:36 ` [PATCH 3.4 108/172] x86/asm/entry/32: Fix user_mode() misuses lizf
2015-06-16 8:36 ` [PATCH 3.4 109/172] ASoC: adav80x: Fix wrong value references for boolean kctl lizf
2015-06-16 8:36 ` [PATCH 3.4 110/172] ASoC: ak4641: " lizf
2015-06-16 8:36 ` [PATCH 3.4 111/172] ASoC: cs4271: " lizf
2015-06-16 8:36 ` [PATCH 3.4 112/172] ASoC: wm2000: " lizf
2015-06-16 8:36 ` [PATCH 3.4 113/172] ASoC: wm8731: " lizf
2015-06-16 8:36 ` [PATCH 3.4 114/172] ASoC: wm8903: " lizf
2015-06-16 8:36 ` [PATCH 3.4 115/172] ASoC: wm8904: " lizf
2015-06-16 8:36 ` [PATCH 3.4 116/172] ASoC: wm8955: " lizf
2015-06-16 8:36 ` [PATCH 3.4 117/172] ASoC: wm8960: " lizf
2015-06-16 8:36 ` [PATCH 3.4 118/172] crypto: aesni - fix memory usage in GCM decryption lizf
2015-06-16 8:36 ` [PATCH 3.4 119/172] nl80211: ignore HT/VHT capabilities without QoS/WMM lizf
2015-06-16 8:36 ` [PATCH 3.4 120/172] IB/mlx4: Saturate RoCE port PMA counters in case of overflow lizf
2015-06-16 8:36 ` [PATCH 3.4 121/172] tcm_fc: missing curly braces in ft_invl_hw_context() lizf
2015-06-16 8:36 ` [PATCH 3.4 122/172] target/pscsi: Fix NULL pointer dereference in get_device_type lizf
2015-06-16 8:36 ` [PATCH 3.4 123/172] writeback: add missing INITIAL_JIFFIES init in global_update_bandwidth() lizf
2015-06-16 8:36 ` [PATCH 3.4 124/172] nbd: fix possible memory leak lizf
2015-06-16 8:36 ` [PATCH 3.4 125/172] net: ethernet: pcnet32: Setup the SRAM and NOUFLO on Am79C97{3, 5} lizf
2015-06-16 8:36 ` [PATCH 3.4 126/172] perf: Fix irq_work 'tail' recursion lizf
2015-06-16 8:36 ` [PATCH 3.4 127/172] sched: Fix RLIMIT_RTTIME when PI-boosting to RT lizf
2015-06-16 8:36 ` [PATCH 3.4 128/172] writeback: fix possible underflow in write bandwidth calculation lizf
2015-06-16 8:36 ` [PATCH 3.4 129/172] selinux: fix sel_write_enforce broken return value lizf
2015-06-16 8:36 ` [PATCH 3.4 130/172] hfsplus: fix B-tree corruption after insertion at position 0 lizf
2015-06-16 8:36 ` [PATCH 3.4 131/172] ALSA: hda - Add one more node in the EAPD supporting candidate list lizf
2015-06-16 8:36 ` [PATCH 3.4 132/172] USB: ftdi_sio: Added custom PID for Synapse Wireless product lizf
2015-06-16 8:36 ` [PATCH 3.4 133/172] cifs: fix use-after-free bug in find_writable_file lizf
2015-06-16 8:36 ` [PATCH 3.4 134/172] usb: xhci: handle Config Error Change (CEC) in xhci driver lizf
2015-06-16 8:36 ` [PATCH 3.4 135/172] usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers lizf
2015-06-16 8:36 ` [PATCH 3.4 136/172] net: use for_each_netdev_safe() in rtnl_group_changelink() lizf
2015-06-16 8:36 ` [PATCH 3.4 137/172] USB: ftdi_sio: Use jtag quirk for SNAP Connect E10 lizf
2015-06-16 8:36 ` [PATCH 3.4 138/172] radeon: Do not directly dereference pointers to BIOS area lizf
2015-06-16 8:36 ` [PATCH 3.4 139/172] x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk lizf
2015-06-16 8:36 ` [PATCH 3.4 140/172] mac80211: fix RX A-MPDU session reorder timer deletion lizf
2015-06-16 8:36 ` [PATCH 3.4 141/172] IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic lizf
2015-06-16 8:36 ` [PATCH 3.4 142/172] be2iscsi: Fix kernel panic when device initialization fails lizf
2015-06-16 8:36 ` [PATCH 3.4 143/172] Defer processing of REQ_PREEMPT requests for blocked devices lizf
2015-06-16 8:36 ` [PATCH 3.4 144/172] ocfs2: _really_ sync the right range lizf
2015-06-16 8:36 ` [PATCH 3.4 145/172] ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support lizf
2015-06-16 8:36 ` [PATCH 3.4 146/172] x86/reboot: Fix a warning message triggered by stop_other_cpus() lizf
2015-06-16 8:36 ` [PATCH 3.4 147/172] softirq: reduce latencies lizf
2015-06-16 8:36 ` [PATCH 3.4 148/172] Fix lockup related to stop_machine being stuck in __do_softirq lizf
2015-06-16 8:36 ` [PATCH 3.4 149/172] splice: Apply generic position and size checks to each write lizf
2015-06-16 8:36 ` [PATCH 3.4 150/172] powerpc/mpc85xx: Add ranges to etsec2 nodes lizf
2015-06-16 8:36 ` [PATCH 3.4 151/172] sb_edac: Fix erroneous bytes->gigabytes conversion lizf
2015-06-16 8:36 ` [PATCH 3.4 152/172] spi: spidev: fix possible arithmetic overflow for multi-transfer message lizf
2015-06-16 8:36 ` [PATCH 3.4 153/172] IB/core: Avoid leakage from kernel to user space lizf
2015-06-16 8:36 ` [PATCH 3.4 154/172] hpsa: refine the pci enable/disable handling lizf
2015-06-16 8:36 ` [PATCH 3.4 155/172] hpsa: add missing pci_set_master in kdump path lizf
2015-06-16 8:36 ` [PATCH 3.4 156/172] hpsa: turn off interrupts when kdump starts lizf
2015-06-16 8:36 ` [PATCH 3.4 157/172] hpsa: fix memory leak in kdump hard reset lizf
2015-06-16 8:36 ` [PATCH 3.4 158/172] fs: take i_mutex during prepare_binprm for set[ug]id executables lizf
2015-06-16 8:36 ` [PATCH 3.4 159/172] openvswitch: Check currect return value from skb_gso_segment() lizf
2015-06-16 8:36 ` [PATCH 3.4 160/172] net: make skb_gso_segment error handling more robust lizf
2015-06-16 8:36 ` [PATCH 3.4 161/172] ipvs: uninitialized data with IP_VS_IPV6 lizf
2015-06-16 8:36 ` [PATCH 3.4 162/172] autofs4: check dev ioctl size before allocating lizf
2015-06-16 8:36 ` [PATCH 3.4 163/172] UBI: fix soft lockup in ubi_check_volume() lizf
2015-06-16 8:36 ` [PATCH 3.4 164/172] perf tools: Fix build with perl 5.18 lizf
2015-06-16 8:36 ` [PATCH 3.4 165/172] config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected lizf
2015-06-16 8:37 ` lizf [this message]
2015-06-16 8:37 ` [PATCH 3.4 167/172] don't bugger nd->seq on set_root_rcu() from follow_dotdot_rcu() lizf
2015-06-16 8:37 ` [PATCH 3.4 168/172] cdc-acm: prevent infinite loop when parsing CDC headers lizf
2015-06-16 8:37 ` [PATCH 3.4 169/172] IB/core: don't disallow registering region starting at 0x0 lizf
2015-06-16 8:37 ` [PATCH 3.4 170/172] writeback: use |1 instead of +1 to protect against div by zero lizf
2015-06-16 8:37 ` [PATCH 3.4 171/172] xen-pciback: Add name prefix to global 'permissive' variable lizf
2015-06-16 8:37 ` [PATCH 3.4 172/172] slub: refactoring unfreeze_partials() lizf
2015-06-16 8:49 ` [PATCH 3.4 000/172] 3.4.108-rc1 review Guenter Roeck
2015-06-18 3:16 ` Zefan Li
2015-06-16 8:58 ` lizf
2015-06-16 15:13 ` Ian Campbell
2015-06-18 3:19 ` Zefan Li
2015-06-18 8:34 ` Ian Campbell
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=1434443826-4929-166-git-send-email-lizf@kernel.org \
--to=lizf@kernel.org \
--cc=bhelgaas@google.com \
--cc=dirk.behme@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=stable@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox