/* * Freescale Management Complex (MC) bus private declarations * * Copyright (C) 2016 Freescale Semiconductor, Inc. * * This file is licensed under the terms of the GNU General Public * License version 2. This program is licensed "as is" without any * warranty of any kind, whether express or implied. */ #ifndef _FSL_MC_PRIVATE_H_ #define _FSL_MC_PRIVATE_H_ #include "../include/mc.h" #include "../include/mc-bus.h" int __must_check fsl_mc_device_add(struct dprc_obj_desc *obj_desc, struct fsl_mc_io *mc_io, struct device *parent_dev, struct fsl_mc_device **new_mc_dev); void fsl_mc_device_remove(struct fsl_mc_device *mc_dev); int __init dprc_driver_init(void); void dprc_driver_exit(void); int __init fsl_mc_allocator_driver_init(void); void fsl_mc_allocator_driver_exit(void); int __must_check fsl_mc_resource_allocate(struct fsl_mc_bus *mc_bus, enum fsl_mc_pool_type pool_type, struct fsl_mc_resource **new_resource); void fsl_mc_resource_free(struct fsl_mc_resource *resource); int fsl_mc_msi_domain_alloc_irqs(struct device *dev, unsigned int irq_count); void fsl_mc_msi_domain_free_irqs(struct device *dev); int __init its_fsl_mc_msi_init(void); void its_fsl_mc_msi_cleanup(void); int __must_check fsl_create_mc_io(struct device *dev, phys_addr_t mc_portal_phys_addr, u32 mc_portal_size, struct fsl_mc_device *dpmcp_dev, u32 flags, struct fsl_mc_io **new_mc_io); void fsl_destroy_mc_io(struct fsl_mc_io *mc_io); #endif /* _FSL_MC_PRIVATE_H_ */