Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6bf05fd7 authored by Christian Krafft's avatar Christian Krafft Committed by Arnd Bergmann
Browse files

[POWERPC] add of_iomap function



The of_iomap function maps memory for a given
device_node and returns a pointer to that memory.
This is used at some places, so it makes sense to
a seperate function.

Signed-off-by: default avatarChristian Krafft <krafft@de.ibm.com>
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
parent 4a065f94
Loading
Loading
Loading
Loading
+2 −17
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@
#include <asm/of_platform.h>
#include <asm/io.h>
#include <asm/pmi.h>

#include <asm/prom.h>

struct pmi_data {
	struct list_head	handler;
@@ -49,21 +49,6 @@ struct pmi_data {
};



static void __iomem *of_iomap(struct device_node *np)
{
	struct resource res;

	if (of_address_to_resource(np, 0, &res))
		return NULL;

	pr_debug("Resource start: 0x%lx\n", res.start);
	pr_debug("Resource end: 0x%lx\n", res.end);

	return ioremap(res.start, 1 + res.end - res.start);
}


static int pmi_irq_handler(int irq, void *dev_id)
{
	struct pmi_data *data;
@@ -154,7 +139,7 @@ static int pmi_of_probe(struct of_device *dev,
		goto out;
	}

	data->pmi_reg = of_iomap(np);
	data->pmi_reg = of_iomap(np, 0);
	if (!data->pmi_reg) {
		printk(KERN_ERR "pmi: invalid register address.\n");
		rc = -EFAULT;
+11 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <linux/platform_device.h>
#include <asm/irq.h>
#include <asm/atomic.h>
#include <asm/io.h>

/* Definitions used by the flattened device tree */
#define OF_DT_HEADER		0xd00dfeed	/* marker */
@@ -355,6 +356,16 @@ static inline int of_irq_to_resource(struct device_node *dev, int index, struct
	return irq;
}

static inline void __iomem *of_iomap(struct device_node *np, int index)
{
	struct resource res;

	if (of_address_to_resource(np, index, &res))
		return NULL;

	return ioremap(res.start, 1 + res.end - res.start);
}


#endif /* __KERNEL__ */
#endif /* _POWERPC_PROM_H */