1#ifndef __BOARD_H__ 2#define __BOARD_H__ 3 4#include <linux/init.h> 5#include <linux/of.h> 6 7struct board_staging_clk { 8 const char *clk; 9 const char *con_id; 10 const char *dev_id; 11}; 12 13struct board_staging_dev { 14 /* Platform Device */ 15 struct platform_device *pdev; 16 /* Clocks (optional) */ 17 const struct board_staging_clk *clocks; 18 unsigned int nclocks; 19 /* Generic PM Domain (optional) */ 20 const char *domain; 21}; 22 23struct resource; 24 25bool board_staging_dt_node_available(const struct resource *resource, 26 unsigned int num_resources); 27int board_staging_gic_setup_xlate(const char *gic_match, unsigned int base); 28void board_staging_gic_fixup_resources(struct resource *res, unsigned int nres); 29int board_staging_register_clock(const struct board_staging_clk *bsc); 30int board_staging_register_device(const struct board_staging_dev *dev); 31void board_staging_register_devices(const struct board_staging_dev *devs, 32 unsigned int ndevs); 33 34#define board_staging(str, fn) \ 35static int __init runtime_board_check(void) \ 36{ \ 37 if (of_machine_is_compatible(str)) \ 38 fn(); \ 39 \ 40 return 0; \ 41} \ 42 \ 43device_initcall(runtime_board_check) 44 45#endif /* __BOARD_H__ */ 46