Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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__ */