This patch moves SPARC architecture specific data members out of struct of_device and into the pdev_archdata structure. The reason for this change is to unify the struct of_device definition amongst all the architectures. It also remvoes the .sysdata, .slot, .portid and .clock_freq properties because they aren't actually used by anything. A subsequent patch will replace struct of_device entirely with struct platform_device and the of_platform support code will share common routines with the platform bus (but the bus instances themselves can remain separate). This patch also adds 'struct resources *resource' and num_resources to match the fields defined in struct platform_device. After this change, 'struct platform_device' can be used as a drop-in replacement for 'struct of_platform'. This change is in preparation for merging the of_platform_bus_type with the platform_bus_type. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: David S. Miller <davem@davemloft.net> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
34 lines
882 B
C
34 lines
882 B
C
#ifndef _ASM_SPARC_OF_DEVICE_H
|
|
#define _ASM_SPARC_OF_DEVICE_H
|
|
#ifdef __KERNEL__
|
|
|
|
#include <linux/device.h>
|
|
#include <linux/of.h>
|
|
#include <linux/mod_devicetable.h>
|
|
#include <asm/openprom.h>
|
|
|
|
/*
|
|
* The of_device is a kind of "base class" that is a superset of
|
|
* struct device for use by devices attached to an OF node and
|
|
* probed using OF properties.
|
|
*/
|
|
struct of_device
|
|
{
|
|
struct device dev;
|
|
u32 num_resources;
|
|
struct resource *resource;
|
|
|
|
struct pdev_archdata archdata;
|
|
};
|
|
|
|
extern void __iomem *of_ioremap(struct resource *res, unsigned long offset, unsigned long size, char *name);
|
|
extern void of_iounmap(struct resource *res, void __iomem *base, unsigned long size);
|
|
|
|
extern void of_propagate_archdata(struct of_device *bus);
|
|
|
|
/* This is just here during the transition */
|
|
#include <linux/of_platform.h>
|
|
|
|
#endif /* __KERNEL__ */
|
|
#endif /* _ASM_SPARC_OF_DEVICE_H */
|