mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
mfd: vexpress: Define the device as MFD cells
This patch - finally, after over 6 months! :-( - addresses Samuel's request to split the vexpress-sysreg driver into smaller portions and define the device in a form of MFD cells: * LEDs code has been completely removed and replaced with "gpio-leds" nodes in the tree (referencing dedicated GPIO subnodes in sysreg - bindings documentation updated); this also better fits the reality as some variants of the motherboard don't have all the LEDs populated * syscfg bridge code has been extracted into a separate driver (placed in drivers/misc for no better place) * all the ID & MISC registers are defined as sysconf making them available for other drivers should they need to use them (and also to the user via /sys/kernel/debug/regmap which can be helpful in platform debugging) Signed-off-by: Pawel Moll <pawel.moll@arm.com> Acked-by: Lee Jones <lee.jones@linaro.org>
This commit is contained in:
@@ -24,18 +24,6 @@
|
||||
#define VEXPRESS_SITE_DB2 2
|
||||
#define VEXPRESS_SITE_MASTER 0xf
|
||||
|
||||
#define VEXPRESS_GPIO_MMC_CARDIN 0
|
||||
#define VEXPRESS_GPIO_MMC_WPROT 1
|
||||
#define VEXPRESS_GPIO_FLASH_WPn 2
|
||||
#define VEXPRESS_GPIO_LED0 3
|
||||
#define VEXPRESS_GPIO_LED1 4
|
||||
#define VEXPRESS_GPIO_LED2 5
|
||||
#define VEXPRESS_GPIO_LED3 6
|
||||
#define VEXPRESS_GPIO_LED4 7
|
||||
#define VEXPRESS_GPIO_LED5 8
|
||||
#define VEXPRESS_GPIO_LED6 9
|
||||
#define VEXPRESS_GPIO_LED7 10
|
||||
|
||||
#define VEXPRESS_RES_FUNC(_site, _func) \
|
||||
{ \
|
||||
.start = (_site), \
|
||||
@@ -70,14 +58,14 @@ struct regmap *devm_regmap_init_vexpress_config(struct device *dev);
|
||||
|
||||
/* Platform control */
|
||||
|
||||
unsigned int vexpress_get_mci_cardin(struct device *dev);
|
||||
u32 vexpress_get_procid(int site);
|
||||
u32 vexpress_get_hbi(int site);
|
||||
void *vexpress_get_24mhz_clock_base(void);
|
||||
void vexpress_flags_set(u32 data);
|
||||
|
||||
void vexpress_sysreg_early_init(void __iomem *base);
|
||||
void vexpress_sysreg_of_early_init(void);
|
||||
int vexpress_sysreg_config_device_register(struct platform_device *pdev);
|
||||
int vexpress_syscfg_device_register(struct platform_device *pdev);
|
||||
|
||||
/* Clocks */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user