pci: Divided pci code of the powerpc
RFC PATCH 1/1 pci: Divided pci code of the powerpc
A source code of pci is written mainly on powerpc. Macro uses a pci source code of powerpc because other architecture (ex. SuperH) doesn't work.
I made asm-ppc/pci.h and moved macro of pci.
Other archtecture need to make the following macro in asm-xxx/pci.h
#define pci_phys_to_mem(dev, addr) (addr) #define pci_mem_to_phys(dev, addr) (addr) #define pci_phys_to_io(dev, addr) (addr) #define pci_io_to_phys(dev, addr) (addr)
Or have to make a function for pci address conversion. However, I want comment because I do not know the other architecture.
--- include/asm-ppc/pci.h | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ include/asm-sh/pci.h | 5 ++++ include/pci.h | 22 +------------------- 3 files changed, 59 insertions(+), 21 deletions(-) create mode 100644 include/asm-ppc/pci.h
include/asm-ppc/pci.h new file +53 -0
@@ -0,0 +1,53 @@ +/* +* (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com> +* Andreas Heppel <[email protected]> +* +* (C) Copyright 2002 +* Wolfgang Denk, DENX Software Engineering, wd at denx.de. +* +* See file CREDITS for list of people who contributed to this +* project. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License as +* published by the Free Software Foundation; either version 2 of +* the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* aloong with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +* MA 02111-1307 USA +*/ + +#ifndef _ASM_PCI_H +#define _ASM_PCI_H + +extern phys_addr_t pci_hose_bus_to_phys (struct pci_controller * hose, +unsigned long addr,unsigned long flags); +extern unsigned long pci_hose_phys_to_bus (struct pci_controller * hose, +phys_addr_t addr,unsigned long flags); + +#define pci_phys_to_bus (dev, addr, flags) \ + pci_hose_phys_to_bus(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags)) +#define pci_bus_to_phys (dev, addr, flags) \ + pci_hose_bus_to_phys(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags)) + +#define pci_phys_to_mem (dev, addr) pci_phys_to_bus((dev), (addr), PCI_REGION_MEM) +#define pci_mem_to_phys (dev, addr) pci_bus_to_phys((dev), (addr), PCI_REGION_MEM) +#define pci_phys_to_io (dev, addr) pci_phys_to_bus((dev), (addr), PCI_REGION_IO) +#define pci_io_to_phys (dev, addr) pci_bus_to_phys((dev), (addr), PCI_REGION_IO) + +#ifdef CONFIG_MPC824X +extern void pci_mpc824x_init (struct pci_controller *hose); +#endif + +#ifdef CONFIG_MPC85xx +extern void pci_mpc85xx_init (struct pci_controller *hose); +#endif + +#endif /* _ASM_PCI_H */
include/asm-sh/pci.h +5 -0
@@ -44,4 +44,9 @@ int pci_sh4_read_config_dword(struct pci_controller *hose,int pci_sh4_write_config_dword (struct pci_controller *hose,pci_dev_t dev,int offset,u32 value); +#define pci_phys_to_mem (dev, addr) (addr) +#define pci_mem_to_phys (dev, addr) (addr) +#define pci_phys_to_io (dev, addr) (addr) +#define pci_io_to_phys (dev, addr) (addr) +#endif /* _ASM_PCI_H_ */
include/pci.h +1 -21
@@ -432,21 +432,6 @@ extern __inline__ void pci_set_ops(struct pci_controller *hose,extern void pci_setup_indirect (struct pci_controller * hose,u32 cfg_addr,u32 cfg_data); -extern phys_addr_t pci_hose_bus_to_phys (struct pci_controller * hose, -unsigned long addr,unsigned long flags); -extern unsigned long pci_hose_phys_to_bus (struct pci_controller * hose, -phys_addr_t addr,unsigned long flags); - -#define pci_phys_to_bus (dev, addr, flags) \ - pci_hose_phys_to_bus(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags)) -#define pci_bus_to_phys (dev, addr, flags) \ - pci_hose_bus_to_phys(pci_bus_to_hose(PCI_BUS(dev)), (addr), (flags)) - -#define pci_phys_to_mem (dev, addr) pci_phys_to_bus((dev), (addr), PCI_REGION_MEM) -#define pci_mem_to_phys (dev, addr) pci_bus_to_phys((dev), (addr), PCI_REGION_MEM) -#define pci_phys_to_io (dev, addr) pci_phys_to_bus((dev), (addr), PCI_REGION_IO) -#define pci_io_to_phys (dev, addr) pci_bus_to_phys((dev), (addr), PCI_REGION_IO) -extern int pci_hose_read_config_byte (struct pci_controller *hose,pci_dev_t dev,int where,u8 *val); extern int pci_hose_read_config_word(struct pci_controller *hose,
@@ -503,11 +488,6 @@ extern int pci_hose_config_device(struct pci_controller *hose,unsigned long mem, unsigned long command); -#ifdef CONFIG_MPC824X -extern void pci_mpc824x_init (struct pci_controller *hose); -#endif +#include <asm/pci.h> -#ifdef CONFIG_MPC85xx -extern void pci_mpc85xx_init (struct pci_controller *hose); -#endif #endif /* _PCI_H */
Signature · 1 line
1.5.5.1
RFC PATCH 1/1 pci: Divided pci code of the powerpc
Hi, all.
Could comment about this patch.
Best regards,
Nobuhiro
Quoted 15 lines · Nobuhiro Iwamatsu
A source code of pci is written mainly on powerpc. Macro uses a pci source code of powerpc because other architecture (ex. SuperH) doesn't work.
I made
asm-ppc/pci.hand moved macro of pci.
Other archtecture need to make the following macro inasm-xxx/pci.h#define pci_phys_to_mem(dev, addr) (addr) #define pci_mem_to_phys(dev, addr) (addr) #define pci_phys_to_io(dev, addr) (addr) #define pci_io_to_phys(dev, addr) (addr)Or have to make a function for pci address conversion. However, I want comment because I do not know the other architecture.
Signed-off-by Nobuhiro Iwamatsu <[email protected]>
RFC PATCH 1/1 pci: Divided pci code of the powerpc
Hi, all.
Please pickup this RFC/patch.
Best regards,
Nobuhiro
2008/6/30 Nobuhiro Iwamatsu <[email protected]>:
Quoted 23 lines
Hi, all.
Could comment about this patch.
Best regards,
NobuhiroQuoted 15 lines · Nobuhiro Iwamatsu
A source code of pci is written mainly on powerpc. Macro uses a pci source code of powerpc because other architecture (ex. SuperH) doesn't work.
I made
asm-ppc/pci.hand moved macro of pci.
Other archtecture need to make the following macro inasm-xxx/pci.h#define pci_phys_to_mem(dev, addr) (addr) #define pci_mem_to_phys(dev, addr) (addr) #define pci_phys_to_io(dev, addr) (addr) #define pci_io_to_phys(dev, addr) (addr)Or have to make a function for pci address conversion. However, I want comment because I do not know the other architecture.
Signed-off-by Nobuhiro Iwamatsu <[email protected]>
RFC PATCH 1/1 pci: Divided pci code of the powerpc
Dear "Nobuhiro Iwamatsu",
Quoted 2 lines · In message <[email protected]> you…
Please pickup this RFC/patch.
What do you mean by "pick up"? Is it a RFC, or is it supposed to be a patch? If the latter, then please rebase and resubmit (without the RFC in the subject).
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "We don't have to protect the environment -- the Second Coming is at hand." - James Watt
RFC PATCH 1/1 pci: Divided pci code of the powerpc
Hi, Wolfgang .
2008/8/11 Wolfgang Denk <[email protected]>:
Quoted 9 lines
Dear "Nobuhiro Iwamatsu",
Quoted 2 lines · In message <[email protected]> you…
Please pickup this RFC/patch.
What do you mean by "pick up"? Is it a RFC, or is it supposed to be a patch? If the latter, then please rebase and resubmit (without the RFC in the subject).
It meant "RFC".
However, I resubmit it to this email as a patch again because there is not comment.
Best regards,
Nobuhiro