/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __BOARD_H__ #define __BOARD_H__ #include #include struct board_staging_clk { const char *clk; const char *con_id; const char *dev_id; }; struct board_staging_dev { /* Platform Device */ struct platform_device *pdev; /* Clocks (optional) */ const struct board_staging_clk *clocks; unsigned int nclocks; /* Generic PM Domain (optional) */ const char *domain; }; struct resource; bool board_staging_dt_node_available(const struct resource *resource, unsigned int num_resources); int board_staging_gic_setup_xlate(const char *gic_match, unsigned int base); void board_staging_gic_fixup_resources(struct resource *res, unsigned int nres); int board_staging_register_clock(const struct board_staging_clk *bsc); int board_staging_register_device(const struct board_staging_dev *dev); void board_staging_register_devices(const struct board_staging_dev *devs, unsigned int ndevs); #define board_staging(str, fn) \ static int __init runtime_board_check(void) \ { \ if (of_machine_is_compatible(str)) \ fn(); \ \ return 0; \ } \ \ device_initcall(runtime_board_check) #endif /* __BOARD_H__ */