Merge tag 'vexpress-modules-for-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into arm/soc
VExpress modularization This series enables building various Versatile Express platform drivers as modules. The primary target is the Fast Model FVP which is supported in Android. As Android is moving towards their GKI, or generic kernel, the hardware support has to be in modules. Currently ARCH_VEXPRESS enables several built-in only drivers. Some of these are needed, but some are only needed for older 32-bit VExpress platforms and can just be disabled. * tag 'vexpress-modules-for-soc-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: ARM: vexpress: Don't select VEXPRESS_CONFIG bus: vexpress-config: Support building as module vexpress: Move setting master site to vexpress-config bus bus: vexpress-config: simplify config bus probing bus: vexpress-config: Merge vexpress-syscfg into vexpress-config mfd: vexpress-sysreg: Support building as a module mfd: vexpress-sysreg: Use devres API variants mfd: vexpress-sysreg: Drop unused syscon child devices mfd: vexpress-sysreg: Drop selecting CONFIG_CLKSRC_MMIO clk: vexpress-osc: Support building as a module clk: vexpress-osc: Use the devres clock API variants clk: versatile: Only enable SP810 on 32-bit by default clk: versatile: Rework kconfig structure amba: Retry adding deferred devices at late_initcall arm64: vexpress: Don't select CONFIG_POWER_RESET_VEXPRESS ARM: vexpress: Move vexpress_flags_set() into arch code Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
@@ -10,38 +10,8 @@
|
||||
#include <linux/device.h>
|
||||
#include <linux/regmap.h>
|
||||
|
||||
#define VEXPRESS_SITE_MB 0
|
||||
#define VEXPRESS_SITE_DB1 1
|
||||
#define VEXPRESS_SITE_DB2 2
|
||||
#define VEXPRESS_SITE_MASTER 0xf
|
||||
|
||||
/* Config infrastructure */
|
||||
|
||||
void vexpress_config_set_master(u32 site);
|
||||
u32 vexpress_config_get_master(void);
|
||||
|
||||
void vexpress_config_lock(void *arg);
|
||||
void vexpress_config_unlock(void *arg);
|
||||
|
||||
int vexpress_config_get_topo(struct device_node *node, u32 *site,
|
||||
u32 *position, u32 *dcc);
|
||||
|
||||
/* Config bridge API */
|
||||
|
||||
struct vexpress_config_bridge_ops {
|
||||
struct regmap * (*regmap_init)(struct device *dev, void *context);
|
||||
void (*regmap_exit)(struct regmap *regmap, void *context);
|
||||
};
|
||||
|
||||
struct device *vexpress_config_bridge_register(struct device *parent,
|
||||
struct vexpress_config_bridge_ops *ops, void *context);
|
||||
|
||||
/* Config regmap API */
|
||||
|
||||
struct regmap *devm_regmap_init_vexpress_config(struct device *dev);
|
||||
|
||||
/* Platform control */
|
||||
|
||||
void vexpress_flags_set(u32 data);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user