2011-05-09 18:56:46 +02:00
# ifndef LINUX_BCMA_PRIVATE_H_
# define LINUX_BCMA_PRIVATE_H_
# ifndef pr_fmt
# define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
# endif
# include <linux/bcma/bcma.h>
# include <linux/delay.h>
# define BCMA_CORE_SIZE 0x1000
2012-07-05 22:07:32 +02:00
# define bcma_err(bus, fmt, ...) \
pr_err ( " bus%d: " fmt , ( bus ) - > num , # # __VA_ARGS__ )
# define bcma_warn(bus, fmt, ...) \
pr_warn ( " bus%d: " fmt , ( bus ) - > num , # # __VA_ARGS__ )
# define bcma_info(bus, fmt, ...) \
pr_info ( " bus%d: " fmt , ( bus ) - > num , # # __VA_ARGS__ )
# define bcma_debug(bus, fmt, ...) \
pr_debug ( " bus%d: " fmt , ( bus ) - > num , # # __VA_ARGS__ )
2011-05-09 18:56:46 +02:00
struct bcma_bus ;
/* main.c */
2012-01-31 00:03:34 +01:00
int __devinit bcma_bus_register ( struct bcma_bus * bus ) ;
2011-06-18 01:01:59 +02:00
void bcma_bus_unregister ( struct bcma_bus * bus ) ;
2011-07-23 01:20:07 +02:00
int __init bcma_bus_early_register ( struct bcma_bus * bus ,
struct bcma_device * core_cc ,
struct bcma_device * core_mips ) ;
2011-12-09 22:16:07 +01:00
# ifdef CONFIG_PM
2012-01-13 23:58:40 +01:00
int bcma_bus_suspend ( struct bcma_bus * bus ) ;
2011-12-09 22:16:07 +01:00
int bcma_bus_resume ( struct bcma_bus * bus ) ;
# endif
2013-01-04 00:51:20 +01:00
struct bcma_device * bcma_find_core_unit ( struct bcma_bus * bus , u16 coreid ,
u8 unit ) ;
2011-05-09 18:56:46 +02:00
/* scan.c */
int bcma_bus_scan ( struct bcma_bus * bus ) ;
2011-07-23 01:20:07 +02:00
int __init bcma_bus_scan_early ( struct bcma_bus * bus ,
struct bcma_device_id * match ,
struct bcma_device * core ) ;
void bcma_init_bus ( struct bcma_bus * bus ) ;
2011-05-09 18:56:46 +02:00
2011-06-02 02:08:51 +02:00
/* sprom.c */
int bcma_sprom_get ( struct bcma_bus * bus ) ;
2011-07-23 01:20:10 +02:00
/* driver_chipcommon.c */
# ifdef CONFIG_BCMA_DRIVER_MIPS
void bcma_chipco_serial_init ( struct bcma_drv_cc * cc ) ;
# endif /* CONFIG_BCMA_DRIVER_MIPS */
/* driver_chipcommon_pmu.c */
2012-12-07 12:56:56 +01:00
u32 bcma_pmu_get_alp_clock ( struct bcma_drv_cc * cc ) ;
u32 bcma_pmu_get_cpu_clock ( struct bcma_drv_cc * cc ) ;
2011-07-23 01:20:10 +02:00
2012-07-17 16:26:41 +02:00
# ifdef CONFIG_BCMA_SFLASH
/* driver_chipcommon_sflash.c */
int bcma_sflash_init ( struct bcma_drv_cc * cc ) ;
2012-08-10 21:23:53 +02:00
extern struct platform_device bcma_sflash_dev ;
2012-07-17 16:26:41 +02:00
# else
static inline int bcma_sflash_init ( struct bcma_drv_cc * cc )
{
bcma_err ( cc - > core - > bus , " Serial flash not supported \n " ) ;
return 0 ;
}
# endif /* CONFIG_BCMA_SFLASH */
# ifdef CONFIG_BCMA_NFLASH
/* driver_chipcommon_nflash.c */
int bcma_nflash_init ( struct bcma_drv_cc * cc ) ;
2012-08-12 13:08:05 +02:00
extern struct platform_device bcma_nflash_dev ;
2012-07-17 16:26:41 +02:00
# else
static inline int bcma_nflash_init ( struct bcma_drv_cc * cc )
{
bcma_err ( cc - > core - > bus , " NAND flash not supported \n " ) ;
return 0 ;
}
# endif /* CONFIG_BCMA_NFLASH */
2011-05-09 18:56:46 +02:00
# ifdef CONFIG_BCMA_HOST_PCI
/* host_pci.c */
extern int __init bcma_host_pci_init ( void ) ;
extern void __exit bcma_host_pci_exit ( void ) ;
# endif /* CONFIG_BCMA_HOST_PCI */
2012-01-31 00:03:33 +01:00
/* driver_pci.c */
u32 bcma_pcie_read ( struct bcma_drv_pci * pc , u32 address ) ;
2012-12-05 18:46:02 +01:00
extern int bcma_chipco_watchdog_register ( struct bcma_drv_cc * cc ) ;
2011-07-05 19:48:26 +02:00
# ifdef CONFIG_BCMA_DRIVER_PCI_HOSTMODE
2012-01-31 00:03:35 +01:00
bool __devinit bcma_core_pci_is_in_hostmode ( struct bcma_drv_pci * pc ) ;
2012-01-31 00:03:34 +01:00
void __devinit bcma_core_pci_hostmode_init ( struct bcma_drv_pci * pc ) ;
2011-07-05 19:48:26 +02:00
# endif /* CONFIG_BCMA_DRIVER_PCI_HOSTMODE */
2012-11-20 22:24:30 +00:00
# ifdef CONFIG_BCMA_DRIVER_GPIO
/* driver_gpio.c */
int bcma_gpio_init ( struct bcma_drv_cc * cc ) ;
# else
static inline int bcma_gpio_init ( struct bcma_drv_cc * cc )
{
return - ENOTSUPP ;
}
# endif /* CONFIG_BCMA_DRIVER_GPIO */
2011-05-09 18:56:46 +02:00
# endif