Subject: Re: linux-next: manual merge of the pci tree with the risc-v tree

From: Stafford Horne <[email-masked]>
Date: Mon, 25 Jul 2022 09:59:04 +0900

On Mon, Jul 25, 2022 at 10:22:21AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the pci tree got a conflict in:
> 
>   arch/riscv/include/asm/pci.h
> 
> between commit:
> 
>   bb356ddb78b2 ("RISC-V: PCI: Avoid handing out address 0 to devices")
> 
> from the risc-v tree and commit:
> 
>   a2912b45b082 ("asm-generic: Add new pci.h and use it")
> 
> from the pci tree.

Hi Stephen,

We had anticipated this and I believe Palmer should be merging the pci changes
to his branch to resolve the merge conflict before sending the changes upstream.

> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc arch/riscv/include/asm/pci.h
> index 830ac621dbbc,6ef4a1426194..000000000000
> --- a/arch/riscv/include/asm/pci.h
> +++ b/arch/riscv/include/asm/pci.h
> @@@ -12,31 -12,7 +12,10 @@@
>   
>   #include <asm/io.h>
>   
>  +#define PCIBIOS_MIN_IO		4
>  +#define PCIBIOS_MIN_MEM		16
>  +
> - /* RISC-V shim does not initialize PCI bus */
> - #define pcibios_assign_all_busses() 1
> - 
> - #define ARCH_GENERIC_PCI_MMAP_RESOURCE 1
> - 
> - extern int isa_dma_bridge_buggy;
> - 
> - #ifdef CONFIG_PCI
> - static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
> - {
> - 	/* no legacy IRQ on risc-v */
> - 	return -ENODEV;
> - }
> - 
> - static inline int pci_proc_domain(struct pci_bus *bus)
> - {
> - 	/* always show the domain in /proc */
> - 	return 1;
> - }
> - 
> - #ifdef	CONFIG_NUMA
> - 
> + #if defined(CONFIG_PCI) && defined(CONFIG_NUMA)
>   static inline int pcibus_to_node(struct pci_bus *bus)
>   {
>   	return dev_to_node(&bus->dev);

Your conflict resolution patch looks good to me.

-Stafford