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
@ -15,16 +15,6 @@
|
|||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/of.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,
|
extern ssize_t of_device_get_modalias(struct of_device *ofdev,
|
||||||
char *str, ssize_t len);
|
char *str, ssize_t len);
|
||||||
|
|
||||||
|
@ -5,17 +5,6 @@
|
|||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
#include <linux/of.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,
|
extern struct of_device *of_device_alloc(struct device_node *np,
|
||||||
const char *bus_id,
|
const char *bus_id,
|
||||||
struct device *parent);
|
struct device *parent);
|
||||||
|
@ -457,8 +457,8 @@ extern void smu_poll(void);
|
|||||||
*/
|
*/
|
||||||
extern int smu_init(void);
|
extern int smu_init(void);
|
||||||
extern int smu_present(void);
|
extern int smu_present(void);
|
||||||
struct of_device;
|
struct platform_device;
|
||||||
extern struct of_device *smu_get_ofdev(void);
|
extern struct platform_device *smu_get_ofdev(void);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -9,13 +9,13 @@
|
|||||||
#include <asm/openprom.h>
|
#include <asm/openprom.h>
|
||||||
|
|
||||||
struct device_node;
|
struct device_node;
|
||||||
struct of_device;
|
struct platform_device;
|
||||||
|
|
||||||
struct dev_archdata {
|
struct dev_archdata {
|
||||||
void *iommu;
|
void *iommu;
|
||||||
void *stc;
|
void *stc;
|
||||||
void *host_controller;
|
void *host_controller;
|
||||||
struct of_device *op;
|
struct platform_device *op;
|
||||||
int numa_node;
|
int numa_node;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -7,20 +7,6 @@
|
|||||||
#include <linux/mod_devicetable.h>
|
#include <linux/mod_devicetable.h>
|
||||||
#include <asm/openprom.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 __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_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 *);
|
int (*link_status)(struct niu *np, int *);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct of_device;
|
struct platform_device;
|
||||||
struct niu {
|
struct niu {
|
||||||
void __iomem *regs;
|
void __iomem *regs;
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
@ -3297,7 +3297,7 @@ struct niu {
|
|||||||
struct niu_vpd vpd;
|
struct niu_vpd vpd;
|
||||||
u32 eeprom_len;
|
u32 eeprom_len;
|
||||||
|
|
||||||
struct of_device *op;
|
struct platform_device *op;
|
||||||
void __iomem *vir_regs_1;
|
void __iomem *vir_regs_1;
|
||||||
void __iomem *vir_regs_2;
|
void __iomem *vir_regs_2;
|
||||||
};
|
};
|
||||||
|
@ -3,9 +3,26 @@
|
|||||||
|
|
||||||
#ifdef CONFIG_OF_DEVICE
|
#ifdef CONFIG_OF_DEVICE
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
#include <linux/platform_device.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/mod_devicetable.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>
|
#include <asm/of_device.h>
|
||||||
|
|
||||||
#define to_of_device(d) container_of(d, struct of_device, dev)
|
#define to_of_device(d) container_of(d, struct of_device, dev)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user