mfd: syscon: Introduce syscon_base_lookup_by_phandle() function
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
parent
42193d5b66
commit
c2c5f48b91
|
@ -41,6 +41,26 @@ void __iomem *syscon_base_lookup_by_pdevname(const char *s)
|
||||||
return ERR_PTR(-ENODEV);
|
return ERR_PTR(-ENODEV);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void __iomem *syscon_base_lookup_by_phandle(struct device_node *np,
|
||||||
|
const char *property)
|
||||||
|
{
|
||||||
|
struct device_node *node;
|
||||||
|
struct syscon *syscon;
|
||||||
|
struct device_d *dev;
|
||||||
|
|
||||||
|
node = of_parse_phandle(np, property, 0);
|
||||||
|
if (!node)
|
||||||
|
return ERR_PTR(-ENODEV);
|
||||||
|
|
||||||
|
dev = of_find_device_by_node(node);
|
||||||
|
if (!dev)
|
||||||
|
return ERR_PTR(-ENODEV);
|
||||||
|
|
||||||
|
syscon = dev->priv;
|
||||||
|
|
||||||
|
return syscon->base;
|
||||||
|
}
|
||||||
|
|
||||||
static int syscon_probe(struct device_d *dev)
|
static int syscon_probe(struct device_d *dev)
|
||||||
{
|
{
|
||||||
struct syscon *syscon;
|
struct syscon *syscon;
|
||||||
|
|
|
@ -16,11 +16,19 @@
|
||||||
|
|
||||||
#ifdef CONFIG_MFD_SYSCON
|
#ifdef CONFIG_MFD_SYSCON
|
||||||
void __iomem *syscon_base_lookup_by_pdevname(const char *);
|
void __iomem *syscon_base_lookup_by_pdevname(const char *);
|
||||||
|
void __iomem *syscon_base_lookup_by_phandle
|
||||||
|
(struct device_node *np, const char *property);
|
||||||
#else
|
#else
|
||||||
static inline void __iomem *syscon_base_lookup_by_pdevname(const char *)
|
static inline void __iomem *syscon_base_lookup_by_pdevname(const char *)
|
||||||
{
|
{
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void __iomem *syscon_base_lookup_by_phandle
|
||||||
|
(struct device_node *np, const char *property)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue