1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __BOARD_H__
- #define __BOARD_H__
- #include <linux/init.h>
- #include <linux/of.h>
- 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__ */
|