diff for duplicates of <1452785776.28109.22.camel@redhat.com> diff --git a/a/1.txt b/N1/1.txt index df62a46..b5e4d49 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,22 +7,22 @@ On Wed, 2016-01-13 at 14:21 +0100, Tomasz Nowicki wrote: > DECLARE_ACPI_MCFG_FIXUP() and keep self contained. Example, > > static const struct dmi_system_id foo_dmi[] = { -> { -> .ident = "<Platform ident string>", -> .callback = <handler>, -> .matches = { -> DMI_MATCH(DMI_SYS_VENDOR, "<system vendor>"), -> DMI_MATCH(DMI_PRODUCT_NAME, "<product name>"), -> DMI_MATCH(DMI_PRODUCT_VERSION, "product version"), -> }, -> }, -> { } +> ????????{ +> ????????????????.ident = "<Platform ident string>", +> ????????????????.callback = <handler>, +> ????????????????.matches = { +> ????????????????????????DMI_MATCH(DMI_SYS_VENDOR, "<system vendor>"), +> ????????????????????????DMI_MATCH(DMI_PRODUCT_NAME, "<product name>"), +> ????????????????????????DMI_MATCH(DMI_PRODUCT_VERSION, "product version"), +> ????????????????}, +> ????????}, +> ????????{ } > }; > > static struct pci_ops foo_ecam_pci_ops = { -> .map_bus = pci_mcfg_dev_base, -> .read = foo_ecam_config_read, -> .write = foo_ecam_config_write, +> ????????.map_bus = pci_mcfg_dev_base, +> ????????.read = foo_ecam_config_read, +> ????????.write = foo_ecam_config_write, > }; > DECLARE_ACPI_MCFG_FIXUP(foo_dmi, NULL, &foo_ecam_pci_ops, <domain_nr>, <bus_nr>); > @@ -32,16 +32,16 @@ On Wed, 2016-01-13 at 14:21 +0100, Tomasz Nowicki wrote: > > static int boo_match(struct pci_mcfg_fixup *fixup, struct acpi_pci_root *root) > { -> return [condition] ? 1 : 0; +> ????????return [condition] ? 1 : 0; > } > > int boo_ecam_config_read(struct pci_bus *bus, unsigned int devfn, -> int where, int size, u32 *val) +> ??????????????????????????int where, int size, u32 *val) > { -> struct acpi_pci_root *root = bus->sysdata; -> struct boo_priv_data *boo_data = root->sysdata; +> ????????struct acpi_pci_root *root = bus->sysdata; +> ????????struct boo_priv_data *boo_data = root->sysdata; > -> [..] +> ????????[..] > } > > static struct pci_ops boo_ecam_pci_ops = { @@ -53,28 +53,28 @@ On Wed, 2016-01-13 at 14:21 +0100, Tomasz Nowicki wrote: > > Signed-off-by: Tomasz Nowicki <tn@semihalf.com> > --- -> drivers/acpi/mcfg.c | 33 +++++++++++++++++++++++++++++++-- -> include/acpi/acpi_bus.h | 1 + -> include/asm-generic/vmlinux.lds.h | 7 +++++++ -> include/linux/ecam.h | 18 ++++++++++++++++++ -> 4 files changed, 57 insertions(+), 2 deletions(-) +> ?drivers/acpi/mcfg.c???????????????| 33 +++++++++++++++++++++++++++++++-- +> ?include/acpi/acpi_bus.h???????????|??1 + +> ?include/asm-generic/vmlinux.lds.h |??7 +++++++ +> ?include/linux/ecam.h??????????????| 18 ++++++++++++++++++ +> ?4 files changed, 57 insertions(+), 2 deletions(-) > > diff --git a/drivers/acpi/mcfg.c b/drivers/acpi/mcfg.c > index dfc2d14..ec5fe7b 100644 > --- a/drivers/acpi/mcfg.c > +++ b/drivers/acpi/mcfg.c > @@ -8,6 +8,7 @@ -> */ -> -> #include <linux/acpi.h> +> ? */ +> ? +> ?#include <linux/acpi.h> > +#include <linux/dmi.h> -> #include <linux/ecam.h> -> #include <linux/pci.h> -> #include <linux/pci-acpi.h> +> ?#include <linux/ecam.h> +> ?#include <linux/pci.h> +> ?#include <linux/pci-acpi.h> > @@ -34,6 +35,29 @@ int __weak raw_pci_write(unsigned int domain, unsigned int bus, -> return PCIBIOS_DEVICE_NOT_FOUND; -> } -> +> ? return PCIBIOS_DEVICE_NOT_FOUND; +> ?} +> ? > +extern struct pci_mcfg_fixup __start_acpi_mcfg_fixups[]; > +extern struct pci_mcfg_fixup __end_acpi_mcfg_fixups[]; > + @@ -85,88 +85,88 @@ On Wed, 2016-01-13 at 14:21 +0100, Tomasz Nowicki wrote: > + int domain = root->segment; > + > + /* -> + * First match against PCI topology <domain:bus> then use DMI or -> + * custom match handler. -> + */ +> + ?* First match against PCI topology <domain:bus> then use DMI or +> + ?* custom match handler. +> + ?*/ > + for (f = __start_acpi_mcfg_fixups; f < __end_acpi_mcfg_fixups; f++) { > + if ((f->domain == domain || f->domain == PCI_MCFG_DOMAIN_ANY) && -> + (f->bus_num == bus_num || f->bus_num == PCI_MCFG_BUS_ANY) && -> + (f->system ? dmi_check_system(f->system) : 0 || -> + f->match ? f->match(f, root) : 0)) +> + ????(f->bus_num == bus_num || f->bus_num == PCI_MCFG_BUS_ANY) && +> + ????(f->system ? dmi_check_system(f->system) : 0 || +> + ?????f->match ? f->match(f, root) : 0)) > + return f->ops; I think this would be better as: - (f->system ? dmi_check_system(f->system) : 1 && - f->match ? f->match(f, root) : 1)) + ????(f->system ? dmi_check_system(f->system) : 1 && + ?????f->match ? f->match(f, root) : 1)) return f->ops; Otherwise, one has to call dmi_check_system() from f->match() if access to root is needed. - +?? > + } > + return NULL; > +} > + -> void __iomem * -> pci_mcfg_dev_base(struct pci_bus *bus, unsigned int devfn, int offset) -> { +> ?void __iomem * +> ?pci_mcfg_dev_base(struct pci_bus *bus, unsigned int devfn, int offset) +> ?{ > @@ -56,10 +80,15 @@ static struct pci_ops default_pci_mcfg_ops = { -> -> struct pci_ops *pci_mcfg_get_ops(struct acpi_pci_root *root) -> { +> ? +> ?struct pci_ops *pci_mcfg_get_ops(struct acpi_pci_root *root) +> ?{ > + struct pci_ops *pci_mcfg_ops_quirk; > + -> /* -> - * TODO: Match against platform specific quirks and return -> - * corresponding PCI config space accessor set. -> + * Match against platform specific quirks and return corresponding -> + * PCI config space accessor set. -> */ +> ? /* +> - ?* TODO: Match against platform specific quirks and return +> - ?* corresponding PCI config space accessor set. +> + ?* Match against platform specific quirks and return corresponding +> + ?* PCI config space accessor set. +> ? ?*/ > + pci_mcfg_ops_quirk = pci_mcfg_check_quirks(root); > + if (pci_mcfg_ops_quirk) > + return pci_mcfg_ops_quirk; -> -> return &default_pci_mcfg_ops; -> } +> ? +> ? return &default_pci_mcfg_ops; +> ?} > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h > index ad0a5ff..ea4d2b5 100644 > --- a/include/acpi/acpi_bus.h > +++ b/include/acpi/acpi_bus.h > @@ -554,6 +554,7 @@ struct acpi_pci_root { -> struct pci_bus *bus; -> u16 segment; -> struct resource secondary; /* downstream bus range */ +> ? struct pci_bus *bus; +> ? u16 segment; +> ? struct resource secondary; /* downstream bus range */ > + void *sysdata; -> -> u32 osc_support_set; /* _OSC state of support bits */ -> u32 osc_control_set; /* _OSC state of control bits */ +> ? +> ? u32 osc_support_set; /* _OSC state of support bits */ +> ? u32 osc_control_set; /* _OSC state of control bits */ > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index c4bd0e2..c93fc97 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -298,6 +298,13 @@ -> VMLINUX_SYMBOL(__end_pci_fixups_suspend_late) = .; \ -> } \ -> \ +> ? VMLINUX_SYMBOL(__end_pci_fixups_suspend_late) = .; \ +> ? } \ +> ? \ > + /* ACPI MCFG quirks */ \ -> + .acpi_fixup : AT(ADDR(.acpi_fixup) - LOAD_OFFSET) { \ +> + .acpi_fixup????????: AT(ADDR(.acpi_fixup) - LOAD_OFFSET) { \ > + VMLINUX_SYMBOL(__start_acpi_mcfg_fixups) = .; \ > + *(.acpi_fixup_mcfg) \ > + VMLINUX_SYMBOL(__end_acpi_mcfg_fixups) = .; \ > + } \ > + \ -> /* Built-in firmware blobs */ \ -> .builtin_fw : AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \ -> VMLINUX_SYMBOL(__start_builtin_fw) = .; \ +> ? /* Built-in firmware blobs */ \ +> ? .builtin_fw????????: AT(ADDR(.builtin_fw) - LOAD_OFFSET) { \ +> ? VMLINUX_SYMBOL(__start_builtin_fw) = .; \ > diff --git a/include/linux/ecam.h b/include/linux/ecam.h > index e0f322e..21215be 100644 > --- a/include/linux/ecam.h > +++ b/include/linux/ecam.h > @@ -20,6 +20,24 @@ struct pci_mmcfg_region { -> bool hot_added; -> }; -> +> ? bool hot_added; +> ?}; +> ? > +struct pci_mcfg_fixup { > + const struct dmi_system_id *system; > + int (*match)(struct pci_mcfg_fixup *, struct acpi_pci_root *); @@ -181,10 +181,10 @@ access to root is needed. > +/* Designate a routine to fix up buggy MCFG */ > +#define DECLARE_ACPI_MCFG_FIXUP(system, match, ops, dom, bus) \ > + static const struct pci_mcfg_fixup __mcfg_fixup_##system##dom##bus\ -> + __used __attribute__((__section__(".acpi_fixup_mcfg"), \ +> + ?__used __attribute__((__section__(".acpi_fixup_mcfg"), \ > + aligned((sizeof(void *))))) = \ > + { system, match, ops, dom, bus }; > + -> struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus); -> struct pci_mmcfg_region *pci_mmconfig_alloc(int segment, int start, -> int end, u64 addr); +> ?struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus); +> ?struct pci_mmcfg_region *pci_mmconfig_alloc(int segment, int start, +> ? ???int end, u64 addr); diff --git a/a/content_digest b/N1/content_digest index e362798..da117cf 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,33 +1,9 @@ "ref\01452691267-32240-1-git-send-email-tn@semihalf.com\0" "ref\01452691267-32240-21-git-send-email-tn@semihalf.com\0" - "From\0Mark Salter <msalter@redhat.com>\0" - "Subject\0Re: [PATCH V3 20/21] pci, acpi: Match PCI config space accessors against platfrom specific quirks.\0" + "From\0msalter@redhat.com (Mark Salter)\0" + "Subject\0[PATCH V3 20/21] pci, acpi: Match PCI config space accessors against platfrom specific quirks.\0" "Date\0Thu, 14 Jan 2016 10:36:16 -0500\0" - "To\0Tomasz Nowicki <tn@semihalf.com>" - bhelgaas@google.com - arnd@arndb.de - will.deacon@arm.com - catalin.marinas@arm.com - rjw@rjwysocki.net - hanjun.guo@linaro.org - Lorenzo.Pieralisi@arm.com - okaya@codeaurora.org - jiang.liu@linux.intel.com - " Stefano.Stabellini@eu.citrix.com\0" - "Cc\0robert.richter@caviumnetworks.com" - mw@semihalf.com - Liviu.Dudau@arm.com - ddaney@caviumnetworks.com - tglx@linutronix.de - wangyijing@huawei.com - Suravee.Suthikulpanit@amd.com - linux-pci@vger.kernel.org - linux-arm-kernel@lists.infradead.org - linux-acpi@vger.kernel.org - linux-kernel@vger.kernel.org - linaro-acpi@lists.linaro.org - jchandra@broadcom.com - " jcm@redhat.com\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "On Wed, 2016-01-13 at 14:21 +0100, Tomasz Nowicki wrote:\n" @@ -39,22 +15,22 @@ "> DECLARE_ACPI_MCFG_FIXUP() and keep self contained. Example,\n" "> \n" "> static const struct dmi_system_id foo_dmi[] = {\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240{\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240.ident = \"<Platform ident string>\",\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240.callback = <handler>,\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240.matches = {\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240DMI_MATCH(DMI_SYS_VENDOR, \"<system vendor>\"),\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240DMI_MATCH(DMI_PRODUCT_NAME, \"<product name>\"),\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240DMI_MATCH(DMI_PRODUCT_VERSION, \"product version\"),\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240},\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240},\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240{ }\n" + "> ????????{\n" + "> ????????????????.ident = \"<Platform ident string>\",\n" + "> ????????????????.callback = <handler>,\n" + "> ????????????????.matches = {\n" + "> ????????????????????????DMI_MATCH(DMI_SYS_VENDOR, \"<system vendor>\"),\n" + "> ????????????????????????DMI_MATCH(DMI_PRODUCT_NAME, \"<product name>\"),\n" + "> ????????????????????????DMI_MATCH(DMI_PRODUCT_VERSION, \"product version\"),\n" + "> ????????????????},\n" + "> ????????},\n" + "> ????????{ }\n" "> };\n" "> \n" "> static struct pci_ops foo_ecam_pci_ops = {\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240.map_bus = pci_mcfg_dev_base,\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240.read = foo_ecam_config_read,\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240.write = foo_ecam_config_write,\n" + "> ????????.map_bus = pci_mcfg_dev_base,\n" + "> ????????.read = foo_ecam_config_read,\n" + "> ????????.write = foo_ecam_config_write,\n" "> };\n" "> DECLARE_ACPI_MCFG_FIXUP(foo_dmi, NULL, &foo_ecam_pci_ops, <domain_nr>, <bus_nr>);\n" "> \n" @@ -64,16 +40,16 @@ "> \n" "> static int boo_match(struct pci_mcfg_fixup *fixup, struct acpi_pci_root *root)\n" "> {\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240return [condition] ? 1 : 0;\n" + "> ????????return [condition] ? 1 : 0;\n" "> }\n" "> \n" "> int boo_ecam_config_read(struct pci_bus *bus, unsigned int devfn,\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240int where, int size, u32 *val)\n" + "> ??????????????????????????int where, int size, u32 *val)\n" "> {\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct acpi_pci_root *root = bus->sysdata;\n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240struct boo_priv_data *boo_data = root->sysdata;\n" + "> ????????struct acpi_pci_root *root = bus->sysdata;\n" + "> ????????struct boo_priv_data *boo_data = root->sysdata;\n" "> \n" - "> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240[..]\n" + "> ????????[..]\n" "> }\n" "> \n" "> static struct pci_ops boo_ecam_pci_ops = {\n" @@ -85,28 +61,28 @@ "> \n" "> Signed-off-by: Tomasz Nowicki <tn@semihalf.com>\n" "> ---\n" - "> \302\240drivers/acpi/mcfg.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 33 +++++++++++++++++++++++++++++++--\n" - "> \302\240include/acpi/acpi_bus.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240|\302\240\302\2401 +\n" - "> \302\240include/asm-generic/vmlinux.lds.h |\302\240\302\2407 +++++++\n" - "> \302\240include/linux/ecam.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 18 ++++++++++++++++++\n" - "> \302\2404 files changed, 57 insertions(+), 2 deletions(-)\n" + "> ?drivers/acpi/mcfg.c???????????????| 33 +++++++++++++++++++++++++++++++--\n" + "> ?include/acpi/acpi_bus.h???????????|??1 +\n" + "> ?include/asm-generic/vmlinux.lds.h |??7 +++++++\n" + "> ?include/linux/ecam.h??????????????| 18 ++++++++++++++++++\n" + "> ?4 files changed, 57 insertions(+), 2 deletions(-)\n" "> \n" "> diff --git a/drivers/acpi/mcfg.c b/drivers/acpi/mcfg.c\n" "> index dfc2d14..ec5fe7b 100644\n" "> --- a/drivers/acpi/mcfg.c\n" "> +++ b/drivers/acpi/mcfg.c\n" "> @@ -8,6 +8,7 @@\n" - "> \302\240 */\n" - "> \302\240\n" - "> \302\240#include <linux/acpi.h>\n" + "> ? */\n" + "> ?\n" + "> ?#include <linux/acpi.h>\n" "> +#include <linux/dmi.h>\n" - "> \302\240#include <linux/ecam.h>\n" - "> \302\240#include <linux/pci.h>\n" - "> \302\240#include <linux/pci-acpi.h>\n" + "> ?#include <linux/ecam.h>\n" + "> ?#include <linux/pci.h>\n" + "> ?#include <linux/pci-acpi.h>\n" "> @@ -34,6 +35,29 @@ int __weak raw_pci_write(unsigned int domain, unsigned int bus,\n" - "> \302\240\treturn PCIBIOS_DEVICE_NOT_FOUND;\n" - "> \302\240}\n" - "> \302\240\n" + "> ?\treturn PCIBIOS_DEVICE_NOT_FOUND;\n" + "> ?}\n" + "> ?\n" "> +extern struct pci_mcfg_fixup __start_acpi_mcfg_fixups[];\n" "> +extern struct pci_mcfg_fixup __end_acpi_mcfg_fixups[];\n" "> +\n" @@ -117,88 +93,88 @@ "> +\tint domain = root->segment;\n" "> +\n" "> +\t/*\n" - "> +\t\302\240* First match against PCI topology <domain:bus> then use DMI or\n" - "> +\t\302\240* custom match handler.\n" - "> +\t\302\240*/\n" + "> +\t?* First match against PCI topology <domain:bus> then use DMI or\n" + "> +\t?* custom match handler.\n" + "> +\t?*/\n" "> +\tfor (f = __start_acpi_mcfg_fixups; f < __end_acpi_mcfg_fixups; f++) {\n" "> +\t\tif ((f->domain == domain || f->domain == PCI_MCFG_DOMAIN_ANY) &&\n" - "> +\t\t\302\240\302\240\302\240\302\240(f->bus_num == bus_num || f->bus_num == PCI_MCFG_BUS_ANY) &&\n" - "> +\t\t\302\240\302\240\302\240\302\240(f->system ? dmi_check_system(f->system) : 0 ||\n" - "> +\t\t\302\240\302\240\302\240\302\240\302\240f->match ? f->match(f, root) : 0))\n" + "> +\t\t????(f->bus_num == bus_num || f->bus_num == PCI_MCFG_BUS_ANY) &&\n" + "> +\t\t????(f->system ? dmi_check_system(f->system) : 0 ||\n" + "> +\t\t?????f->match ? f->match(f, root) : 0))\n" "> +\t\t\treturn f->ops;\n" "\n" "I think this would be better as:\n" "\n" - "\t\t\302\240\302\240\302\240\302\240(f->system ? dmi_check_system(f->system) : 1 &&\n" - "\t\t\302\240\302\240\302\240\302\240\302\240f->match ? f->match(f, root) : 1))\n" + "\t\t????(f->system ? dmi_check_system(f->system) : 1 &&\n" + "\t\t?????f->match ? f->match(f, root) : 1))\n" "\t\t\treturn f->ops;\n" "\n" "Otherwise, one has to call dmi_check_system() from f->match() if\n" "access to root is needed.\n" - "\302\240\302\240\n" + "??\n" "> +\t}\n" "> +\treturn NULL;\n" "> +}\n" "> +\n" - "> \302\240void __iomem *\n" - "> \302\240pci_mcfg_dev_base(struct pci_bus *bus, unsigned int devfn, int offset)\n" - "> \302\240{\n" + "> ?void __iomem *\n" + "> ?pci_mcfg_dev_base(struct pci_bus *bus, unsigned int devfn, int offset)\n" + "> ?{\n" "> @@ -56,10 +80,15 @@ static struct pci_ops default_pci_mcfg_ops = {\n" - "> \302\240\n" - "> \302\240struct pci_ops *pci_mcfg_get_ops(struct acpi_pci_root *root)\n" - "> \302\240{\n" + "> ?\n" + "> ?struct pci_ops *pci_mcfg_get_ops(struct acpi_pci_root *root)\n" + "> ?{\n" "> +\tstruct pci_ops *pci_mcfg_ops_quirk;\n" "> +\n" - "> \302\240\t/*\n" - "> -\t\302\240* TODO: Match against platform specific quirks and return\n" - "> -\t\302\240* corresponding PCI config space accessor set.\n" - "> +\t\302\240* Match against platform specific quirks and return corresponding\n" - "> +\t\302\240* PCI config space accessor set.\n" - "> \302\240\t\302\240*/\n" + "> ?\t/*\n" + "> -\t?* TODO: Match against platform specific quirks and return\n" + "> -\t?* corresponding PCI config space accessor set.\n" + "> +\t?* Match against platform specific quirks and return corresponding\n" + "> +\t?* PCI config space accessor set.\n" + "> ?\t?*/\n" "> +\tpci_mcfg_ops_quirk = pci_mcfg_check_quirks(root);\n" "> +\tif (pci_mcfg_ops_quirk)\n" "> +\t\treturn pci_mcfg_ops_quirk;\n" - "> \302\240\n" - "> \302\240\treturn &default_pci_mcfg_ops;\n" - "> \302\240}\n" + "> ?\n" + "> ?\treturn &default_pci_mcfg_ops;\n" + "> ?}\n" "> diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h\n" "> index ad0a5ff..ea4d2b5 100644\n" "> --- a/include/acpi/acpi_bus.h\n" "> +++ b/include/acpi/acpi_bus.h\n" "> @@ -554,6 +554,7 @@ struct acpi_pci_root {\n" - "> \302\240\tstruct pci_bus *bus;\n" - "> \302\240\tu16 segment;\n" - "> \302\240\tstruct resource secondary;\t/* downstream bus range */\n" + "> ?\tstruct pci_bus *bus;\n" + "> ?\tu16 segment;\n" + "> ?\tstruct resource secondary;\t/* downstream bus range */\n" "> +\tvoid *sysdata;\n" - "> \302\240\n" - "> \302\240\tu32 osc_support_set;\t/* _OSC state of support bits */\n" - "> \302\240\tu32 osc_control_set;\t/* _OSC state of control bits */\n" + "> ?\n" + "> ?\tu32 osc_support_set;\t/* _OSC state of support bits */\n" + "> ?\tu32 osc_control_set;\t/* _OSC state of control bits */\n" "> diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h\n" "> index c4bd0e2..c93fc97 100644\n" "> --- a/include/asm-generic/vmlinux.lds.h\n" "> +++ b/include/asm-generic/vmlinux.lds.h\n" "> @@ -298,6 +298,13 @@\n" - "> \302\240\t\tVMLINUX_SYMBOL(__end_pci_fixups_suspend_late) = .;\t\\\n" - "> \302\240\t}\t\t\t\t\t\t\t\t\\\n" - "> \302\240\t\t\t\t\t\t\t\t\t\\\n" + "> ?\t\tVMLINUX_SYMBOL(__end_pci_fixups_suspend_late) = .;\t\\\n" + "> ?\t}\t\t\t\t\t\t\t\t\\\n" + "> ?\t\t\t\t\t\t\t\t\t\\\n" "> +\t/* ACPI MCFG quirks */\t\t\t\t\t\t\\\n" - "> +\t.acpi_fixup\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240: AT(ADDR(.acpi_fixup) - LOAD_OFFSET) {\t\\\n" + "> +\t.acpi_fixup????????: AT(ADDR(.acpi_fixup) - LOAD_OFFSET) {\t\\\n" "> +\t\tVMLINUX_SYMBOL(__start_acpi_mcfg_fixups) = .;\t\t\\\n" "> +\t\t*(.acpi_fixup_mcfg)\t\t\t\t\t\\\n" "> +\t\tVMLINUX_SYMBOL(__end_acpi_mcfg_fixups) = .;\t\t\\\n" "> +\t}\t\t\t\t\t\t\t\t\\\n" "> +\t\t\t\t\t\t\t\t\t\\\n" - "> \302\240\t/* Built-in firmware blobs */\t\t\t\t\t\\\n" - "> \302\240\t.builtin_fw\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240: AT(ADDR(.builtin_fw) - LOAD_OFFSET) {\t\\\n" - "> \302\240\t\tVMLINUX_SYMBOL(__start_builtin_fw) = .;\t\t\t\\\n" + "> ?\t/* Built-in firmware blobs */\t\t\t\t\t\\\n" + "> ?\t.builtin_fw????????: AT(ADDR(.builtin_fw) - LOAD_OFFSET) {\t\\\n" + "> ?\t\tVMLINUX_SYMBOL(__start_builtin_fw) = .;\t\t\t\\\n" "> diff --git a/include/linux/ecam.h b/include/linux/ecam.h\n" "> index e0f322e..21215be 100644\n" "> --- a/include/linux/ecam.h\n" "> +++ b/include/linux/ecam.h\n" "> @@ -20,6 +20,24 @@ struct pci_mmcfg_region {\n" - "> \302\240\tbool hot_added;\n" - "> \302\240};\n" - "> \302\240\n" + "> ?\tbool hot_added;\n" + "> ?};\n" + "> ?\n" "> +struct pci_mcfg_fixup {\n" "> +\tconst struct dmi_system_id *system;\n" "> +\tint (*match)(struct pci_mcfg_fixup *, struct acpi_pci_root *);\n" @@ -213,12 +189,12 @@ "> +/* Designate a routine to fix up buggy MCFG */\n" "> +#define DECLARE_ACPI_MCFG_FIXUP(system, match, ops, dom, bus)\t\t\\\n" "> +\tstatic const struct pci_mcfg_fixup __mcfg_fixup_##system##dom##bus\\\n" - "> +\t\302\240__used\t__attribute__((__section__(\".acpi_fixup_mcfg\"),\t\t\\\n" + "> +\t?__used\t__attribute__((__section__(\".acpi_fixup_mcfg\"),\t\t\\\n" "> +\t\t\t\taligned((sizeof(void *))))) =\t\t\\\n" "> +\t{ system, match, ops, dom, bus };\n" "> +\n" - "> \302\240struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus);\n" - "> \302\240struct pci_mmcfg_region *pci_mmconfig_alloc(int segment, int start,\n" - "> \302\240\t\t\t\t\t\t\302\240\302\240\302\240int end, u64 addr);" + "> ?struct pci_mmcfg_region *pci_mmconfig_lookup(int segment, int bus);\n" + "> ?struct pci_mmcfg_region *pci_mmconfig_alloc(int segment, int start,\n" + "> ?\t\t\t\t\t\t???int end, u64 addr);" -1897377271ef3ab675d0cd6374c517f26c09b096cd743d8646e7420fcd4efcf0 +bc078aa46707892709bb6903103034a6aca2dc4dd17024a14573c92a1c25ad9b
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.