Message ID | 1422881149-8177-7-git-send-email-hanjun.guo@linaro.org |
---|---|
State | New |
Headers | show |
On 2015年02月03日 20:15, Catalin Marinas wrote: > On Mon, Feb 02, 2015 at 12:45:34PM +0000, Hanjun Guo wrote: >> diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c >> index ce5836c..c17e7ea 100644 >> --- a/arch/arm64/kernel/pci.c >> +++ b/arch/arm64/kernel/pci.c >> @@ -10,6 +10,7 @@ >> * >> */ >> >> +#include <linux/acpi.h> >> #include <linux/init.h> >> #include <linux/io.h> >> #include <linux/kernel.h> >> @@ -68,3 +69,27 @@ void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent) >> bus->domain_nr = domain; >> } >> #endif >> + >> +/* >> + * raw_pci_read/write - Platform-specific PCI config space access. >> + */ >> +int raw_pci_read(unsigned int domain, unsigned int bus, >> + unsigned int devfn, int reg, int len, u32 *val) >> +{ >> + return -EINVAL; >> +} >> + >> +int raw_pci_write(unsigned int domain, unsigned int bus, >> + unsigned int devfn, int reg, int len, u32 val) >> +{ >> + return -EINVAL; >> +} > > You said you'll make these return -ENOSYS, which I think makes more > sense. I'm sorry, I missed that, my bad, I will fix that in next version. Thanks Hanjun -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2015年02月03日 22:55, Rafael J. Wysocki wrote: > On Tuesday, February 03, 2015 09:30:00 PM Hanjun Guo wrote: >> On 2015年02月03日 20:15, Catalin Marinas wrote: >>> On Mon, Feb 02, 2015 at 12:45:34PM +0000, Hanjun Guo wrote: >>>> diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c >>>> index ce5836c..c17e7ea 100644 >>>> --- a/arch/arm64/kernel/pci.c >>>> +++ b/arch/arm64/kernel/pci.c >>>> @@ -10,6 +10,7 @@ >>>> * >>>> */ >>>> >>>> +#include <linux/acpi.h> >>>> #include <linux/init.h> >>>> #include <linux/io.h> >>>> #include <linux/kernel.h> >>>> @@ -68,3 +69,27 @@ void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent) >>>> bus->domain_nr = domain; >>>> } >>>> #endif >>>> + >>>> +/* >>>> + * raw_pci_read/write - Platform-specific PCI config space access. >>>> + */ >>>> +int raw_pci_read(unsigned int domain, unsigned int bus, >>>> + unsigned int devfn, int reg, int len, u32 *val) >>>> +{ >>>> + return -EINVAL; >>>> +} >>>> + >>>> +int raw_pci_write(unsigned int domain, unsigned int bus, >>>> + unsigned int devfn, int reg, int len, u32 val) >>>> +{ >>>> + return -EINVAL; >>>> +} >>> >>> You said you'll make these return -ENOSYS, which I think makes more >>> sense. >> >> I'm sorry, I missed that, my bad, I will fix that in next version. > > Actually, -ENOSYS *specifically* means "not implemented system call". > It should not be used for anything other than that. -ENXIO is what > should be used instead. Thanks for the suggestion :) Hanjun -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h index 872ba93..fded096 100644 --- a/arch/arm64/include/asm/pci.h +++ b/arch/arm64/include/asm/pci.h @@ -24,6 +24,12 @@ */ #define PCI_DMA_BUS_IS_PHYS (0) +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) +{ + /* no legacy IRQ on arm64 */ + return -ENODEV; +} + extern int isa_dma_bridge_buggy; #ifdef CONFIG_PCI diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c index ce5836c..c17e7ea 100644 --- a/arch/arm64/kernel/pci.c +++ b/arch/arm64/kernel/pci.c @@ -10,6 +10,7 @@ * */ +#include <linux/acpi.h> #include <linux/init.h> #include <linux/io.h> #include <linux/kernel.h> @@ -68,3 +69,27 @@ void pci_bus_assign_domain_nr(struct pci_bus *bus, struct device *parent) bus->domain_nr = domain; } #endif + +/* + * raw_pci_read/write - Platform-specific PCI config space access. + */ +int raw_pci_read(unsigned int domain, unsigned int bus, + unsigned int devfn, int reg, int len, u32 *val) +{ + return -EINVAL; +} + +int raw_pci_write(unsigned int domain, unsigned int bus, + unsigned int devfn, int reg, int len, u32 val) +{ + return -EINVAL; +} + +#ifdef CONFIG_ACPI +/* Root bridge scanning */ +struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) +{ + /* TODO: Should be revisited when implementing PCI on ACPI */ + return NULL; +} +#endif