Hi Simon, On Fri, Nov 13, 2015 at 5:45 AM, Simon Glass <s...@chromium.org> wrote: > We eventually need to drop the compatibility functions for driver model. As > a first step, create a configuration option to enable them and hide them > when the option is disabled. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > arch/arm/mach-tegra/Kconfig | 2 ++ > arch/x86/Kconfig | 3 +++ > configs/sandbox_defconfig | 10 +++++----- > drivers/pci/Kconfig | 9 +++++++++ > drivers/pci/Makefile | 3 ++- > include/pci.h | 21 +++++++++++++++++---- > 6 files changed, 38 insertions(+), 10 deletions(-) > > diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig > index e5215ab..3906fc1 100644 > --- a/arch/arm/mach-tegra/Kconfig > +++ b/arch/arm/mach-tegra/Kconfig > @@ -13,6 +13,7 @@ config TEGRA_ARMV7_COMMON > select DM_SPI > select DM_GPIO > select DM_PCI > + select DM_PCI_COMPAT > > choice > prompt "Tegra SoC select" > @@ -45,6 +46,7 @@ config TEGRA210 > select DM_SPI > select DM_GPIO > select DM_PCI > + select DM_PCI_COMPAT > > endchoice > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index f92082d..e972973 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -93,6 +93,9 @@ config SYS_X86_START16 > depends on X86_RESET_VECTOR > default 0xfffff800 > > +config DM_PCI_COMPAT > + default y # Until we finish moving over to the new API > + > config BOARD_ROMSIZE_KB_512 > bool > config BOARD_ROMSIZE_KB_1024 > diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig > index 94c8e68..92725d8 100644 > --- a/configs/sandbox_defconfig > +++ b/configs/sandbox_defconfig > @@ -6,6 +6,7 @@ CONFIG_FIT_SIGNATURE=y > # CONFIG_CMD_ELF is not set > # CONFIG_CMD_IMLS is not set > # CONFIG_CMD_FLASH is not set > +CONFIG_CMD_REMOTEPROC=y > # CONFIG_CMD_SETEXPR is not set > CONFIG_CMD_SOUND=y > CONFIG_BOOTSTAGE=y > @@ -19,6 +20,8 @@ CONFIG_OF_HOSTFILE=y > CONFIG_REGMAP=y > CONFIG_SYSCON=y > CONFIG_DEVRES=y > +CONFIG_ADC=y > +CONFIG_ADC_SANDBOX=y > CONFIG_CLK=y > CONFIG_SANDBOX_GPIO=y > CONFIG_SYS_I2C_SANDBOX=y > @@ -34,6 +37,7 @@ CONFIG_SPI_FLASH_SANDBOX=y > CONFIG_SPI_FLASH=y > CONFIG_DM_ETH=y > CONFIG_DM_PCI=y > +CONFIG_DM_PCI_COMPAT=y > CONFIG_PCI_SANDBOX=y > CONFIG_PINCTRL=y > CONFIG_PINCONF=y > @@ -43,12 +47,12 @@ CONFIG_DM_PMIC_SANDBOX=y > CONFIG_DM_REGULATOR=y > CONFIG_DM_REGULATOR_SANDBOX=y > CONFIG_RAM=y > +CONFIG_REMOTEPROC_SANDBOX=y > CONFIG_DM_RTC=y > CONFIG_SANDBOX_SERIAL=y > CONFIG_SOUND=y > CONFIG_SOUND_SANDBOX=y > CONFIG_SANDBOX_SPI=y > -CONFIG_DM_TPM=y > CONFIG_TPM_TIS_SANDBOX=y > CONFIG_USB=y > CONFIG_DM_USB=y > @@ -63,7 +67,3 @@ CONFIG_UNIT_TEST=y > CONFIG_UT_TIME=y > CONFIG_UT_DM=y > CONFIG_UT_ENV=y > -CONFIG_REMOTEPROC_SANDBOX=y > -CONFIG_CMD_REMOTEPROC=y > -CONFIG_ADC=y > -CONFIG_ADC_SANDBOX=y > diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig > index c219c19..26aa2b0 100644 > --- a/drivers/pci/Kconfig > +++ b/drivers/pci/Kconfig > @@ -9,6 +9,15 @@ config DM_PCI > available PCI devices, allows scanning of PCI buses and provides > device configuration support. > > +config DM_PCI_COMPAT > + bool "Enable compatible functions for PCI" > + depends on DM_PCI > + help > + Enable compatibility functions for PCI so that old code can be used > + with CONFIG_DM_PCI enabled. This should be used as an interim > + measure when porting a board to use driver model for PCI. Once the > + board is fully supported, this option should be disabled. > + > config PCI_SANDBOX > bool "Sandbox PCI support" > depends on SANDBOX && DM_PCI > diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile > index 1f8f86f..6b761b4 100644 > --- a/drivers/pci/Makefile > +++ b/drivers/pci/Makefile > @@ -6,7 +6,8 @@ > # > > ifneq ($(CONFIG_DM_PCI),) > -obj-$(CONFIG_PCI) += pci-uclass.o pci_compat.o > +obj-$(CONFIG_PCI) += pci-uclass.o > +obj-$(CONFIG_DM_PCI_COMPAT) += pci_compat.o > obj-$(CONFIG_PCI_SANDBOX) += pci_sandbox.o > obj-$(CONFIG_SANDBOX) += pci-emul-uclass.o > obj-$(CONFIG_X86) += pci_x86.o > diff --git a/include/pci.h b/include/pci.h > index c4f6577..fc7d494 100644 > --- a/include/pci.h > +++ b/include/pci.h > @@ -656,6 +656,7 @@ extern pci_addr_t pci_hose_phys_to_bus(struct > pci_controller* hose, > pci_bus_to_virt((dev), (addr), PCI_REGION_IO, (len), (map_flags)) > > /* For driver model these are defined in macros in pci_compat.c */ > +#if !defined(CONFIG_DM_PCI) || defined(CONFIG_DM_PCI_COMPAT) > 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, > @@ -668,6 +669,7 @@ extern int pci_hose_write_config_word(struct > pci_controller *hose, > pci_dev_t dev, int where, u16 val); > extern int pci_hose_write_config_dword(struct pci_controller *hose, > pci_dev_t dev, int where, u32 val); > +#endif > > #ifndef CONFIG_DM_PCI > extern int pci_read_config_byte(pci_dev_t dev, int where, u8 *val); > @@ -678,6 +680,13 @@ extern int pci_write_config_word(pci_dev_t dev, int > where, u16 val); > extern int pci_write_config_dword(pci_dev_t dev, int where, u32 val); > #endif > > +void pciauto_region_init(struct pci_region *res); > +void pciauto_region_align(struct pci_region *res, pci_size_t size); > +void pciauto_config_init(struct pci_controller *hose); > +int pciauto_region_allocate(struct pci_region *res, pci_size_t size, > + pci_addr_t *bar); > + > +#if !defined(CONFIG_DM_PCI) || defined(CONFIG_DM_PCI_COMPAT) > extern int pci_hose_read_config_byte_via_dword(struct pci_controller *hose, > pci_dev_t dev, int where, u8 > *val); > extern int pci_hose_read_config_word_via_dword(struct pci_controller *hose, > @@ -696,9 +705,6 @@ extern int pci_skip_dev(struct pci_controller *hose, > pci_dev_t dev); > extern int pci_hose_scan(struct pci_controller *hose); > extern int pci_hose_scan_bus(struct pci_controller *hose, int bus); > > -extern void pciauto_region_init(struct pci_region* res); > -extern void pciauto_region_align(struct pci_region *res, pci_size_t size); > -extern int pciauto_region_allocate(struct pci_region* res, pci_size_t size, > pci_addr_t *bar); > extern void pciauto_setup_device(struct pci_controller *hose, > pci_dev_t dev, int bars_num, > struct pci_region *mem, > @@ -708,7 +714,6 @@ extern void pciauto_prescan_setup_bridge(struct > pci_controller *hose, > pci_dev_t dev, int sub_bus); > extern void pciauto_postscan_setup_bridge(struct pci_controller *hose, > pci_dev_t dev, int sub_bus); > -extern void pciauto_config_init(struct pci_controller *hose); > extern int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev); > > extern pci_dev_t pci_find_device (unsigned int vendor, unsigned int device, > int index); > @@ -739,6 +744,7 @@ extern void board_pci_fixup_dev(struct pci_controller > *hose, pci_dev_t dev, > unsigned short device, > unsigned short class); > #endif > +#endif /* !defined(CONFIG_DM_PCI) || defined(CONFIG_DM_PCI_COMPAT) */ > > const char * pci_class_str(u8 class); > int pci_last_busno(void); > @@ -747,6 +753,7 @@ int pci_last_busno(void); > extern void pci_mpc85xx_init (struct pci_controller *hose); > #endif > > +#if !defined(CONFIG_DM_PCI) || defined(CONFIG_DM_PCI_COMPAT) > /** > * pci_write_bar32() - Write the address of a BAR including control bits > * > @@ -783,6 +790,7 @@ u32 pci_read_bar32(struct pci_controller *hose, pci_dev_t > dev, int barnum); > */ > pci_dev_t pci_hose_find_devices(struct pci_controller *hose, int busnum, > struct pci_device_id *ids, int *indexp); > +#endif /* !CONFIG_DM_PCI || CONFIG_DM_PCI_COMPAT */ > > /* Access sizes for PCI reads and writes */ > enum pci_size_t { > @@ -1041,6 +1049,7 @@ int dm_pci_write_config32(struct udevice *dev, int > offset, u32 value); > */ > int pci_write_config32(pci_dev_t pcidev, int offset, u32 value); > > +#ifdef CONFIG_DM_PCI_COMPAT > /* Compatibility with old naming */ > static inline int pci_write_config_dword(pci_dev_t pcidev, int offset, > u32 value) > @@ -1093,6 +1102,10 @@ static inline int pci_read_config_byte(pci_dev_t > pcidev, int offset, > return pci_read_config8(pcidev, offset, valuep); > } > > +int dm_pciauto_config_device(struct udevice *dev);
Why is this declaration put inside #ifdef CONFIG_DM_PCI_COMPAT #endif? > + > +#endif /* CONFIG_DM_PCI_COMPAT */ > + > /** > * pci_conv_32_to_size() - convert a 32-bit read value to the given size > * > -- Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot