| /* |
| * 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_ |
| |
| 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_ */ |