of: kill struct of_device
Now that the device tree node pointer has been moved out of struct of_device and into the common struct device, there isn't anything unique about of_device anymore. In fact, there isn't much need for a separate of_bus when all busses have access to OF style probing. arch/powerpc and arch/microblaze are moving away from using the of_bus and using the regular platform bus instead for mmio devices. This patch makes of_device the same as platform_device as a stepping stone in migrating of_platform_drivers over to the platform bus. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: David S. Miller <davem@davemloft.net> Cc: Michal Simek <monstr@monstr.eu> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
This commit is contained in:
parent
1636f8ac2b
commit
b505ff5e72
7 changed files with 23 additions and 41 deletions
|
@ -15,16 +15,6 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/of.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; /* Generic device interface */
|
||||
struct pdev_archdata archdata;
|
||||
};
|
||||
|
||||
extern ssize_t of_device_get_modalias(struct of_device *ofdev,
|
||||
char *str, ssize_t len);
|
||||
|
||||
|
|
|
@ -5,17 +5,6 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/of.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; /* Generic device interface */
|
||||
struct pdev_archdata archdata;
|
||||
};
|
||||
|
||||
extern struct of_device *of_device_alloc(struct device_node *np,
|
||||
const char *bus_id,
|
||||
struct device *parent);
|
||||
|
|
|
@ -457,8 +457,8 @@ extern void smu_poll(void);
|
|||
*/
|
||||
extern int smu_init(void);
|
||||
extern int smu_present(void);
|
||||
struct of_device;
|
||||
extern struct of_device *smu_get_ofdev(void);
|
||||
struct platform_device;
|
||||
extern struct platform_device *smu_get_ofdev(void);
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
#include <asm/openprom.h>
|
||||
|
||||
struct device_node;
|
||||
struct of_device;
|
||||
struct platform_device;
|
||||
|
||||
struct dev_archdata {
|
||||
void *iommu;
|
||||
void *stc;
|
||||
void *host_controller;
|
||||
struct of_device *op;
|
||||
struct platform_device *op;
|
||||
int numa_node;
|
||||
};
|
||||
|
||||
|
|
|
@ -7,20 +7,6 @@
|
|||
#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);
|
||||
|
||||
|
|
|
@ -3236,7 +3236,7 @@ struct niu_phy_ops {
|
|||
int (*link_status)(struct niu *np, int *);
|
||||
};
|
||||
|
||||
struct of_device;
|
||||
struct platform_device;
|
||||
struct niu {
|
||||
void __iomem *regs;
|
||||
struct net_device *dev;
|
||||
|
@ -3297,7 +3297,7 @@ struct niu {
|
|||
struct niu_vpd vpd;
|
||||
u32 eeprom_len;
|
||||
|
||||
struct of_device *op;
|
||||
struct platform_device *op;
|
||||
void __iomem *vir_regs_1;
|
||||
void __iomem *vir_regs_2;
|
||||
};
|
||||
|
|
|
@ -3,9 +3,26 @@
|
|||
|
||||
#ifdef CONFIG_OF_DEVICE
|
||||
#include <linux/device.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
|
||||
|
||||
/*
|
||||
* The of_device *was* a kind of "base class" that was a superset of
|
||||
* struct device for use by devices attached to an OF node and probed
|
||||
* using OF properties. However, the important bit of OF-style
|
||||
* probing, namely the device node pointer, has been moved into the
|
||||
* common struct device when CONFIG_OF is set to make OF-style probing
|
||||
* available to all bus types. So now, just make of_device and
|
||||
* platform_device equivalent so that current of_platform bus users
|
||||
* can be transparently migrated over to using the platform bus.
|
||||
*
|
||||
* This line will go away once all references to of_device are removed
|
||||
* from the kernel.
|
||||
*/
|
||||
#define of_device platform_device
|
||||
|
||||
#include <asm/of_device.h>
|
||||
|
||||
#define to_of_device(d) container_of(d, struct of_device, dev)
|
||||
|
|
Loading…
Reference in a new issue