Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6
* 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6: (21 commits) tty: serial: altera_jtaguart: Add device tree support tty: serial: altera_uart: Add devicetree support dt: eliminate of_platform_driver shim code dt: Eliminate of_platform_{,un}register_driver dt/serial: Eliminate users of of_platform_{,un}register_driver dt/usb: Eliminate users of of_platform_{,un}register_driver dt/video: Eliminate users of of_platform_{,un}register_driver dt/net: Eliminate users of of_platform_{,un}register_driver dt/sound: Eliminate users of of_platform_{,un}register_driver dt/spi: Eliminate users of of_platform_{,un}register_driver dt: uartlite: merge platform and of_platform driver bindings dt: xilinx_hwicap: merge platform and of_platform driver bindings ipmi: convert OF driver to platform driver leds/leds-gpio: merge platform_driver with of_platform_driver dt/sparc: Eliminate users of of_platform_{,un}register_driver dt/powerpc: Eliminate users of of_platform_{,un}register_driver dt/powerpc: move of_bus_type infrastructure to ibmebus drivercore/dt: add a match table pointer to struct device dt: Typo fix. altera_ps2: Add devicetree support ...
This commit is contained in:
@@ -164,13 +164,13 @@ extern void setup_indirect_pci(struct pci_controller* hose,
|
||||
resource_size_t cfg_addr,
|
||||
resource_size_t cfg_data, u32 flags);
|
||||
|
||||
#ifndef CONFIG_PPC64
|
||||
|
||||
static inline struct pci_controller *pci_bus_to_host(const struct pci_bus *bus)
|
||||
{
|
||||
return bus->sysdata;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_PPC64
|
||||
|
||||
static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus)
|
||||
{
|
||||
struct pci_controller *host;
|
||||
@@ -228,19 +228,10 @@ extern void * update_dn_pci_info(struct device_node *dn, void *data);
|
||||
|
||||
/* Get a device_node from a pci_dev. This code must be fast except
|
||||
* in the case where the sysdata is incorrect and needs to be fixed
|
||||
* up (this will only happen once).
|
||||
* In this case the sysdata will have been inherited from a PCI host
|
||||
* bridge or a PCI-PCI bridge further up the tree, so it will point
|
||||
* to a valid struct pci_dn, just not the one we want.
|
||||
*/
|
||||
* up (this will only happen once). */
|
||||
static inline struct device_node *pci_device_to_OF_node(struct pci_dev *dev)
|
||||
{
|
||||
struct device_node *dn = dev->sysdata;
|
||||
struct pci_dn *pdn = dn->data;
|
||||
|
||||
if (pdn && pdn->devfn == dev->devfn && pdn->busno == dev->bus->number)
|
||||
return dn; /* fast path. sysdata is good */
|
||||
return fetch_dev_dn(dev);
|
||||
return dev->dev.of_node ? dev->dev.of_node : fetch_dev_dn(dev);
|
||||
}
|
||||
|
||||
static inline int pci_device_from_OF_node(struct device_node *np,
|
||||
@@ -258,7 +249,7 @@ static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus)
|
||||
if (bus->self)
|
||||
return pci_device_to_OF_node(bus->self);
|
||||
else
|
||||
return bus->sysdata; /* Must be root bus (PHB) */
|
||||
return bus->dev.of_node; /* Must be root bus (PHB) */
|
||||
}
|
||||
|
||||
/** Find the bus corresponding to the indicated device node */
|
||||
@@ -270,14 +261,6 @@ extern void pcibios_remove_pci_devices(struct pci_bus *bus);
|
||||
/** Discover new pci devices under this bus, and add them */
|
||||
extern void pcibios_add_pci_devices(struct pci_bus *bus);
|
||||
|
||||
static inline struct pci_controller *pci_bus_to_host(const struct pci_bus *bus)
|
||||
{
|
||||
struct device_node *busdn = bus->sysdata;
|
||||
|
||||
BUG_ON(busdn == NULL);
|
||||
return PCI_DN(busdn)->phb;
|
||||
}
|
||||
|
||||
|
||||
extern void isa_bridge_find_early(struct pci_controller *hose);
|
||||
|
||||
|
@@ -201,7 +201,7 @@ extern void pci_resource_to_user(const struct pci_dev *dev, int bar,
|
||||
extern void pcibios_setup_bus_devices(struct pci_bus *bus);
|
||||
extern void pcibios_setup_bus_self(struct pci_bus *bus);
|
||||
extern void pcibios_setup_phb_io_space(struct pci_controller *hose);
|
||||
extern void pcibios_scan_phb(struct pci_controller *hose, void *sysdata);
|
||||
extern void pcibios_scan_phb(struct pci_controller *hose);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __ASM_POWERPC_PCI_H */
|
||||
|
@@ -201,13 +201,14 @@ int ibmebus_register_driver(struct of_platform_driver *drv)
|
||||
/* If the driver uses devices that ibmebus doesn't know, add them */
|
||||
ibmebus_create_devices(drv->driver.of_match_table);
|
||||
|
||||
return of_register_driver(drv, &ibmebus_bus_type);
|
||||
drv->driver.bus = &ibmebus_bus_type;
|
||||
return driver_register(&drv->driver);
|
||||
}
|
||||
EXPORT_SYMBOL(ibmebus_register_driver);
|
||||
|
||||
void ibmebus_unregister_driver(struct of_platform_driver *drv)
|
||||
{
|
||||
of_unregister_driver(drv);
|
||||
driver_unregister(&drv->driver);
|
||||
}
|
||||
EXPORT_SYMBOL(ibmebus_unregister_driver);
|
||||
|
||||
@@ -308,15 +309,410 @@ static ssize_t ibmebus_store_remove(struct bus_type *bus,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static struct bus_attribute ibmebus_bus_attrs[] = {
|
||||
__ATTR(probe, S_IWUSR, NULL, ibmebus_store_probe),
|
||||
__ATTR(remove, S_IWUSR, NULL, ibmebus_store_remove),
|
||||
__ATTR_NULL
|
||||
};
|
||||
|
||||
static int ibmebus_bus_bus_match(struct device *dev, struct device_driver *drv)
|
||||
{
|
||||
const struct of_device_id *matches = drv->of_match_table;
|
||||
|
||||
if (!matches)
|
||||
return 0;
|
||||
|
||||
return of_match_device(matches, dev) != NULL;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_device_probe(struct device *dev)
|
||||
{
|
||||
int error = -ENODEV;
|
||||
struct of_platform_driver *drv;
|
||||
struct platform_device *of_dev;
|
||||
const struct of_device_id *match;
|
||||
|
||||
drv = to_of_platform_driver(dev->driver);
|
||||
of_dev = to_platform_device(dev);
|
||||
|
||||
if (!drv->probe)
|
||||
return error;
|
||||
|
||||
of_dev_get(of_dev);
|
||||
|
||||
match = of_match_device(drv->driver.of_match_table, dev);
|
||||
if (match)
|
||||
error = drv->probe(of_dev, match);
|
||||
if (error)
|
||||
of_dev_put(of_dev);
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_device_remove(struct device *dev)
|
||||
{
|
||||
struct platform_device *of_dev = to_platform_device(dev);
|
||||
struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
|
||||
|
||||
if (dev->driver && drv->remove)
|
||||
drv->remove(of_dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ibmebus_bus_device_shutdown(struct device *dev)
|
||||
{
|
||||
struct platform_device *of_dev = to_platform_device(dev);
|
||||
struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
|
||||
|
||||
if (dev->driver && drv->shutdown)
|
||||
drv->shutdown(of_dev);
|
||||
}
|
||||
|
||||
/*
|
||||
* ibmebus_bus_device_attrs
|
||||
*/
|
||||
static ssize_t devspec_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct platform_device *ofdev;
|
||||
|
||||
ofdev = to_platform_device(dev);
|
||||
return sprintf(buf, "%s\n", ofdev->dev.of_node->full_name);
|
||||
}
|
||||
|
||||
static ssize_t name_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
struct platform_device *ofdev;
|
||||
|
||||
ofdev = to_platform_device(dev);
|
||||
return sprintf(buf, "%s\n", ofdev->dev.of_node->name);
|
||||
}
|
||||
|
||||
static ssize_t modalias_show(struct device *dev,
|
||||
struct device_attribute *attr, char *buf)
|
||||
{
|
||||
ssize_t len = of_device_get_modalias(dev, buf, PAGE_SIZE - 2);
|
||||
buf[len] = '\n';
|
||||
buf[len+1] = 0;
|
||||
return len+1;
|
||||
}
|
||||
|
||||
struct device_attribute ibmebus_bus_device_attrs[] = {
|
||||
__ATTR_RO(devspec),
|
||||
__ATTR_RO(name),
|
||||
__ATTR_RO(modalias),
|
||||
__ATTR_NULL
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int ibmebus_bus_legacy_suspend(struct device *dev, pm_message_t mesg)
|
||||
{
|
||||
struct platform_device *of_dev = to_platform_device(dev);
|
||||
struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
|
||||
int ret = 0;
|
||||
|
||||
if (dev->driver && drv->suspend)
|
||||
ret = drv->suspend(of_dev, mesg);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_legacy_resume(struct device *dev)
|
||||
{
|
||||
struct platform_device *of_dev = to_platform_device(dev);
|
||||
struct of_platform_driver *drv = to_of_platform_driver(dev->driver);
|
||||
int ret = 0;
|
||||
|
||||
if (dev->driver && drv->resume)
|
||||
ret = drv->resume(of_dev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_prepare(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (drv && drv->pm && drv->pm->prepare)
|
||||
ret = drv->pm->prepare(dev);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void ibmebus_bus_pm_complete(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
|
||||
if (drv && drv->pm && drv->pm->complete)
|
||||
drv->pm->complete(dev);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SUSPEND
|
||||
|
||||
static int ibmebus_bus_pm_suspend(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->suspend)
|
||||
ret = drv->pm->suspend(dev);
|
||||
} else {
|
||||
ret = ibmebus_bus_legacy_suspend(dev, PMSG_SUSPEND);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_suspend_noirq(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->suspend_noirq)
|
||||
ret = drv->pm->suspend_noirq(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_resume(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->resume)
|
||||
ret = drv->pm->resume(dev);
|
||||
} else {
|
||||
ret = ibmebus_bus_legacy_resume(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_resume_noirq(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->resume_noirq)
|
||||
ret = drv->pm->resume_noirq(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#else /* !CONFIG_SUSPEND */
|
||||
|
||||
#define ibmebus_bus_pm_suspend NULL
|
||||
#define ibmebus_bus_pm_resume NULL
|
||||
#define ibmebus_bus_pm_suspend_noirq NULL
|
||||
#define ibmebus_bus_pm_resume_noirq NULL
|
||||
|
||||
#endif /* !CONFIG_SUSPEND */
|
||||
|
||||
#ifdef CONFIG_HIBERNATION
|
||||
|
||||
static int ibmebus_bus_pm_freeze(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->freeze)
|
||||
ret = drv->pm->freeze(dev);
|
||||
} else {
|
||||
ret = ibmebus_bus_legacy_suspend(dev, PMSG_FREEZE);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_freeze_noirq(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->freeze_noirq)
|
||||
ret = drv->pm->freeze_noirq(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_thaw(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->thaw)
|
||||
ret = drv->pm->thaw(dev);
|
||||
} else {
|
||||
ret = ibmebus_bus_legacy_resume(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_thaw_noirq(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->thaw_noirq)
|
||||
ret = drv->pm->thaw_noirq(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_poweroff(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->poweroff)
|
||||
ret = drv->pm->poweroff(dev);
|
||||
} else {
|
||||
ret = ibmebus_bus_legacy_suspend(dev, PMSG_HIBERNATE);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_poweroff_noirq(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->poweroff_noirq)
|
||||
ret = drv->pm->poweroff_noirq(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_restore(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->restore)
|
||||
ret = drv->pm->restore(dev);
|
||||
} else {
|
||||
ret = ibmebus_bus_legacy_resume(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int ibmebus_bus_pm_restore_noirq(struct device *dev)
|
||||
{
|
||||
struct device_driver *drv = dev->driver;
|
||||
int ret = 0;
|
||||
|
||||
if (!drv)
|
||||
return 0;
|
||||
|
||||
if (drv->pm) {
|
||||
if (drv->pm->restore_noirq)
|
||||
ret = drv->pm->restore_noirq(dev);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#else /* !CONFIG_HIBERNATION */
|
||||
|
||||
#define ibmebus_bus_pm_freeze NULL
|
||||
#define ibmebus_bus_pm_thaw NULL
|
||||
#define ibmebus_bus_pm_poweroff NULL
|
||||
#define ibmebus_bus_pm_restore NULL
|
||||
#define ibmebus_bus_pm_freeze_noirq NULL
|
||||
#define ibmebus_bus_pm_thaw_noirq NULL
|
||||
#define ibmebus_bus_pm_poweroff_noirq NULL
|
||||
#define ibmebus_bus_pm_restore_noirq NULL
|
||||
|
||||
#endif /* !CONFIG_HIBERNATION */
|
||||
|
||||
static struct dev_pm_ops ibmebus_bus_dev_pm_ops = {
|
||||
.prepare = ibmebus_bus_pm_prepare,
|
||||
.complete = ibmebus_bus_pm_complete,
|
||||
.suspend = ibmebus_bus_pm_suspend,
|
||||
.resume = ibmebus_bus_pm_resume,
|
||||
.freeze = ibmebus_bus_pm_freeze,
|
||||
.thaw = ibmebus_bus_pm_thaw,
|
||||
.poweroff = ibmebus_bus_pm_poweroff,
|
||||
.restore = ibmebus_bus_pm_restore,
|
||||
.suspend_noirq = ibmebus_bus_pm_suspend_noirq,
|
||||
.resume_noirq = ibmebus_bus_pm_resume_noirq,
|
||||
.freeze_noirq = ibmebus_bus_pm_freeze_noirq,
|
||||
.thaw_noirq = ibmebus_bus_pm_thaw_noirq,
|
||||
.poweroff_noirq = ibmebus_bus_pm_poweroff_noirq,
|
||||
.restore_noirq = ibmebus_bus_pm_restore_noirq,
|
||||
};
|
||||
|
||||
#define IBMEBUS_BUS_PM_OPS_PTR (&ibmebus_bus_dev_pm_ops)
|
||||
|
||||
#else /* !CONFIG_PM_SLEEP */
|
||||
|
||||
#define IBMEBUS_BUS_PM_OPS_PTR NULL
|
||||
|
||||
#endif /* !CONFIG_PM_SLEEP */
|
||||
|
||||
struct bus_type ibmebus_bus_type = {
|
||||
.name = "ibmebus",
|
||||
.uevent = of_device_uevent,
|
||||
.bus_attrs = ibmebus_bus_attrs
|
||||
.bus_attrs = ibmebus_bus_attrs,
|
||||
.match = ibmebus_bus_bus_match,
|
||||
.probe = ibmebus_bus_device_probe,
|
||||
.remove = ibmebus_bus_device_remove,
|
||||
.shutdown = ibmebus_bus_device_shutdown,
|
||||
.dev_attrs = ibmebus_bus_device_attrs,
|
||||
.pm = IBMEBUS_BUS_PM_OPS_PTR,
|
||||
};
|
||||
EXPORT_SYMBOL(ibmebus_bus_type);
|
||||
|
||||
@@ -326,7 +722,7 @@ static int __init ibmebus_bus_init(void)
|
||||
|
||||
printk(KERN_INFO "IBM eBus Device Driver\n");
|
||||
|
||||
err = of_bus_type_init(&ibmebus_bus_type, "ibmebus");
|
||||
err = bus_register(&ibmebus_bus_type);
|
||||
if (err) {
|
||||
printk(KERN_ERR "%s: failed to register IBM eBus.\n",
|
||||
__func__);
|
||||
|
@@ -36,8 +36,7 @@
|
||||
* lacking some bits needed here.
|
||||
*/
|
||||
|
||||
static int __devinit of_pci_phb_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit of_pci_phb_probe(struct platform_device *dev)
|
||||
{
|
||||
struct pci_controller *phb;
|
||||
|
||||
@@ -74,7 +73,7 @@ static int __devinit of_pci_phb_probe(struct platform_device *dev,
|
||||
#endif /* CONFIG_EEH */
|
||||
|
||||
/* Scan the bus */
|
||||
pcibios_scan_phb(phb, dev->dev.of_node);
|
||||
pcibios_scan_phb(phb);
|
||||
if (phb->bus == NULL)
|
||||
return -ENXIO;
|
||||
|
||||
@@ -104,7 +103,7 @@ static struct of_device_id of_pci_phb_ids[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver of_pci_phb_driver = {
|
||||
static struct platform_driver of_pci_phb_driver = {
|
||||
.probe = of_pci_phb_probe,
|
||||
.driver = {
|
||||
.name = "of-pci",
|
||||
@@ -115,7 +114,7 @@ static struct of_platform_driver of_pci_phb_driver = {
|
||||
|
||||
static __init int of_pci_phb_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&of_pci_phb_driver);
|
||||
return platform_driver_register(&of_pci_phb_driver);
|
||||
}
|
||||
|
||||
device_initcall(of_pci_phb_init);
|
||||
|
@@ -1688,13 +1688,8 @@ int early_find_capability(struct pci_controller *hose, int bus, int devfn,
|
||||
/**
|
||||
* pci_scan_phb - Given a pci_controller, setup and scan the PCI bus
|
||||
* @hose: Pointer to the PCI host controller instance structure
|
||||
* @sysdata: value to use for sysdata pointer. ppc32 and ppc64 differ here
|
||||
*
|
||||
* Note: the 'data' pointer is a temporary measure. As 32 and 64 bit
|
||||
* pci code gets merged, this parameter should become unnecessary because
|
||||
* both will use the same value.
|
||||
*/
|
||||
void __devinit pcibios_scan_phb(struct pci_controller *hose, void *sysdata)
|
||||
void __devinit pcibios_scan_phb(struct pci_controller *hose)
|
||||
{
|
||||
struct pci_bus *bus;
|
||||
struct device_node *node = hose->dn;
|
||||
@@ -1704,13 +1699,13 @@ void __devinit pcibios_scan_phb(struct pci_controller *hose, void *sysdata)
|
||||
node ? node->full_name : "<NO NAME>");
|
||||
|
||||
/* Create an empty bus for the toplevel */
|
||||
bus = pci_create_bus(hose->parent, hose->first_busno, hose->ops,
|
||||
sysdata);
|
||||
bus = pci_create_bus(hose->parent, hose->first_busno, hose->ops, hose);
|
||||
if (bus == NULL) {
|
||||
pr_err("Failed to create bus for PCI domain %04x\n",
|
||||
hose->global_number);
|
||||
return;
|
||||
}
|
||||
bus->dev.of_node = of_node_get(node);
|
||||
bus->secondary = hose->first_busno;
|
||||
hose->bus = bus;
|
||||
|
||||
|
@@ -381,7 +381,7 @@ static int __init pcibios_init(void)
|
||||
if (pci_assign_all_buses)
|
||||
hose->first_busno = next_busno;
|
||||
hose->last_busno = 0xff;
|
||||
pcibios_scan_phb(hose, hose);
|
||||
pcibios_scan_phb(hose);
|
||||
pci_bus_add_devices(hose->bus);
|
||||
if (pci_assign_all_buses || next_busno <= hose->last_busno)
|
||||
next_busno = hose->last_busno + pcibios_assign_bus_offset;
|
||||
|
@@ -64,7 +64,7 @@ static int __init pcibios_init(void)
|
||||
|
||||
/* Scan all of the recorded PCI controllers. */
|
||||
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
|
||||
pcibios_scan_phb(hose, hose->dn);
|
||||
pcibios_scan_phb(hose);
|
||||
pci_bus_add_devices(hose->bus);
|
||||
}
|
||||
|
||||
@@ -242,10 +242,10 @@ long sys_pciconfig_iobase(long which, unsigned long in_bus,
|
||||
break;
|
||||
bus = NULL;
|
||||
}
|
||||
if (bus == NULL || bus->sysdata == NULL)
|
||||
if (bus == NULL || bus->dev.of_node == NULL)
|
||||
return -ENODEV;
|
||||
|
||||
hose_node = (struct device_node *)bus->sysdata;
|
||||
hose_node = bus->dev.of_node;
|
||||
hose = PCI_DN(hose_node)->phb;
|
||||
|
||||
switch (which) {
|
||||
|
@@ -161,7 +161,7 @@ static void *is_devfn_node(struct device_node *dn, void *data)
|
||||
/*
|
||||
* This is the "slow" path for looking up a device_node from a
|
||||
* pci_dev. It will hunt for the device under its parent's
|
||||
* phb and then update sysdata for a future fastpath.
|
||||
* phb and then update of_node pointer.
|
||||
*
|
||||
* It may also do fixups on the actual device since this happens
|
||||
* on the first read/write.
|
||||
@@ -170,16 +170,19 @@ static void *is_devfn_node(struct device_node *dn, void *data)
|
||||
* In this case it may probe for real hardware ("just in case")
|
||||
* and add a device_node to the device tree if necessary.
|
||||
*
|
||||
* Is this function necessary anymore now that dev->dev.of_node is
|
||||
* used to store the node pointer?
|
||||
*
|
||||
*/
|
||||
struct device_node *fetch_dev_dn(struct pci_dev *dev)
|
||||
{
|
||||
struct device_node *orig_dn = dev->sysdata;
|
||||
struct device_node *orig_dn = dev->dev.of_node;
|
||||
struct device_node *dn;
|
||||
unsigned long searchval = (dev->bus->number << 8) | dev->devfn;
|
||||
|
||||
dn = traverse_pci_devices(orig_dn, is_devfn_node, (void *)searchval);
|
||||
if (dn)
|
||||
dev->sysdata = dn;
|
||||
dev->dev.of_node = dn;
|
||||
return dn;
|
||||
}
|
||||
EXPORT_SYMBOL(fetch_dev_dn);
|
||||
|
@@ -135,7 +135,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
|
||||
pr_debug(" create device, devfn: %x, type: %s\n", devfn, type);
|
||||
|
||||
dev->bus = bus;
|
||||
dev->sysdata = node;
|
||||
dev->dev.of_node = of_node_get(node);
|
||||
dev->dev.parent = bus->bridge;
|
||||
dev->dev.bus = &pci_bus_type;
|
||||
dev->devfn = devfn;
|
||||
@@ -238,7 +238,7 @@ void __devinit of_scan_pci_bridge(struct device_node *node,
|
||||
bus->primary = dev->bus->number;
|
||||
bus->subordinate = busrange[1];
|
||||
bus->bridge_ctl = 0;
|
||||
bus->sysdata = node;
|
||||
bus->dev.of_node = of_node_get(node);
|
||||
|
||||
/* parse ranges property */
|
||||
/* PCI #address-cells == 3 and #size-cells == 2 always */
|
||||
|
@@ -147,8 +147,7 @@ mpc52xx_wkup_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit mpc52xx_wkup_gpiochip_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit mpc52xx_wkup_gpiochip_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct mpc52xx_gpiochip *chip;
|
||||
struct mpc52xx_gpio_wkup __iomem *regs;
|
||||
@@ -191,7 +190,7 @@ static const struct of_device_id mpc52xx_wkup_gpiochip_match[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver mpc52xx_wkup_gpiochip_driver = {
|
||||
static struct platform_driver mpc52xx_wkup_gpiochip_driver = {
|
||||
.driver = {
|
||||
.name = "gpio_wkup",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -310,8 +309,7 @@ mpc52xx_simple_gpio_dir_out(struct gpio_chip *gc, unsigned int gpio, int val)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit mpc52xx_simple_gpiochip_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit mpc52xx_simple_gpiochip_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct mpc52xx_gpiochip *chip;
|
||||
struct gpio_chip *gc;
|
||||
@@ -349,7 +347,7 @@ static const struct of_device_id mpc52xx_simple_gpiochip_match[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver mpc52xx_simple_gpiochip_driver = {
|
||||
static struct platform_driver mpc52xx_simple_gpiochip_driver = {
|
||||
.driver = {
|
||||
.name = "gpio",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -361,10 +359,10 @@ static struct of_platform_driver mpc52xx_simple_gpiochip_driver = {
|
||||
|
||||
static int __init mpc52xx_gpio_init(void)
|
||||
{
|
||||
if (of_register_platform_driver(&mpc52xx_wkup_gpiochip_driver))
|
||||
if (platform_driver_register(&mpc52xx_wkup_gpiochip_driver))
|
||||
printk(KERN_ERR "Unable to register wakeup GPIO driver\n");
|
||||
|
||||
if (of_register_platform_driver(&mpc52xx_simple_gpiochip_driver))
|
||||
if (platform_driver_register(&mpc52xx_simple_gpiochip_driver))
|
||||
printk(KERN_ERR "Unable to register simple GPIO driver\n");
|
||||
|
||||
return 0;
|
||||
|
@@ -721,8 +721,7 @@ static inline int mpc52xx_gpt_wdt_setup(struct mpc52xx_gpt_priv *gpt,
|
||||
/* ---------------------------------------------------------------------
|
||||
* of_platform bus binding code
|
||||
*/
|
||||
static int __devinit mpc52xx_gpt_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit mpc52xx_gpt_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct mpc52xx_gpt_priv *gpt;
|
||||
|
||||
@@ -781,7 +780,7 @@ static const struct of_device_id mpc52xx_gpt_match[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver mpc52xx_gpt_driver = {
|
||||
static struct platform_driver mpc52xx_gpt_driver = {
|
||||
.driver = {
|
||||
.name = "mpc52xx-gpt",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -793,10 +792,7 @@ static struct of_platform_driver mpc52xx_gpt_driver = {
|
||||
|
||||
static int __init mpc52xx_gpt_init(void)
|
||||
{
|
||||
if (of_register_platform_driver(&mpc52xx_gpt_driver))
|
||||
pr_err("error registering MPC52xx GPT driver\n");
|
||||
|
||||
return 0;
|
||||
return platform_driver_register(&mpc52xx_gpt_driver);
|
||||
}
|
||||
|
||||
/* Make sure GPIOs and IRQs get set up before anyone tries to use them */
|
||||
|
@@ -436,8 +436,7 @@ void mpc52xx_lpbfifo_abort(struct mpc52xx_lpbfifo_request *req)
|
||||
}
|
||||
EXPORT_SYMBOL(mpc52xx_lpbfifo_abort);
|
||||
|
||||
static int __devinit mpc52xx_lpbfifo_probe(struct platform_device *op,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit mpc52xx_lpbfifo_probe(struct platform_device *op)
|
||||
{
|
||||
struct resource res;
|
||||
int rc = -ENOMEM;
|
||||
@@ -536,7 +535,7 @@ static struct of_device_id mpc52xx_lpbfifo_match[] __devinitconst = {
|
||||
{},
|
||||
};
|
||||
|
||||
static struct of_platform_driver mpc52xx_lpbfifo_driver = {
|
||||
static struct platform_driver mpc52xx_lpbfifo_driver = {
|
||||
.driver = {
|
||||
.name = "mpc52xx-lpbfifo",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -551,14 +550,12 @@ static struct of_platform_driver mpc52xx_lpbfifo_driver = {
|
||||
*/
|
||||
static int __init mpc52xx_lpbfifo_init(void)
|
||||
{
|
||||
pr_debug("Registering LocalPlus bus FIFO driver\n");
|
||||
return of_register_platform_driver(&mpc52xx_lpbfifo_driver);
|
||||
return platform_driver_register(&mpc52xx_lpbfifo_driver);
|
||||
}
|
||||
module_init(mpc52xx_lpbfifo_init);
|
||||
|
||||
static void __exit mpc52xx_lpbfifo_exit(void)
|
||||
{
|
||||
pr_debug("Unregistering LocalPlus bus FIFO driver\n");
|
||||
of_unregister_platform_driver(&mpc52xx_lpbfifo_driver);
|
||||
platform_driver_unregister(&mpc52xx_lpbfifo_driver);
|
||||
}
|
||||
module_exit(mpc52xx_lpbfifo_exit);
|
||||
|
@@ -111,8 +111,7 @@ static struct mdiobb_ctrl ep8248e_mdio_ctrl = {
|
||||
.ops = &ep8248e_mdio_ops,
|
||||
};
|
||||
|
||||
static int __devinit ep8248e_mdio_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit ep8248e_mdio_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct mii_bus *bus;
|
||||
struct resource res;
|
||||
@@ -167,7 +166,7 @@ static const struct of_device_id ep8248e_mdio_match[] = {
|
||||
{},
|
||||
};
|
||||
|
||||
static struct of_platform_driver ep8248e_mdio_driver = {
|
||||
static struct platform_driver ep8248e_mdio_driver = {
|
||||
.driver = {
|
||||
.name = "ep8248e-mdio-bitbang",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -308,7 +307,7 @@ static __initdata struct of_device_id of_bus_ids[] = {
|
||||
static int __init declare_of_platform_devices(void)
|
||||
{
|
||||
of_platform_bus_probe(NULL, of_bus_ids, NULL);
|
||||
of_register_platform_driver(&ep8248e_mdio_driver);
|
||||
platform_driver_register(&ep8248e_mdio_driver);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -318,14 +318,18 @@ static const struct platform_suspend_ops mpc83xx_suspend_ops = {
|
||||
.end = mpc83xx_suspend_end,
|
||||
};
|
||||
|
||||
static int pmc_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
static int pmc_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct device_node *np = ofdev->dev.of_node;
|
||||
struct resource res;
|
||||
struct pmc_type *type = match->data;
|
||||
struct pmc_type *type;
|
||||
int ret = 0;
|
||||
|
||||
if (!ofdev->dev.of_match)
|
||||
return -EINVAL;
|
||||
|
||||
type = ofdev->dev.of_match->data;
|
||||
|
||||
if (!of_device_is_available(np))
|
||||
return -ENODEV;
|
||||
|
||||
@@ -422,7 +426,7 @@ static struct of_device_id pmc_match[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver pmc_driver = {
|
||||
static struct platform_driver pmc_driver = {
|
||||
.driver = {
|
||||
.name = "mpc83xx-pmc",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -434,7 +438,7 @@ static struct of_platform_driver pmc_driver = {
|
||||
|
||||
static int pmc_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&pmc_driver);
|
||||
return platform_driver_register(&pmc_driver);
|
||||
}
|
||||
|
||||
module_init(pmc_init);
|
||||
|
@@ -328,7 +328,7 @@ static struct irq_host_ops msic_host_ops = {
|
||||
.map = msic_host_map,
|
||||
};
|
||||
|
||||
static int axon_msi_shutdown(struct platform_device *device)
|
||||
static void axon_msi_shutdown(struct platform_device *device)
|
||||
{
|
||||
struct axon_msic *msic = dev_get_drvdata(&device->dev);
|
||||
u32 tmp;
|
||||
@@ -338,12 +338,9 @@ static int axon_msi_shutdown(struct platform_device *device)
|
||||
tmp = dcr_read(msic->dcr_host, MSIC_CTRL_REG);
|
||||
tmp &= ~MSIC_CTRL_ENABLE & ~MSIC_CTRL_IRQ_ENABLE;
|
||||
msic_dcr_write(msic, MSIC_CTRL_REG, tmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int axon_msi_probe(struct platform_device *device,
|
||||
const struct of_device_id *device_id)
|
||||
static int axon_msi_probe(struct platform_device *device)
|
||||
{
|
||||
struct device_node *dn = device->dev.of_node;
|
||||
struct axon_msic *msic;
|
||||
@@ -446,7 +443,7 @@ static const struct of_device_id axon_msi_device_id[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver axon_msi_driver = {
|
||||
static struct platform_driver axon_msi_driver = {
|
||||
.probe = axon_msi_probe,
|
||||
.shutdown = axon_msi_shutdown,
|
||||
.driver = {
|
||||
@@ -458,7 +455,7 @@ static struct of_platform_driver axon_msi_driver = {
|
||||
|
||||
static int __init axon_msi_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&axon_msi_driver);
|
||||
return platform_driver_register(&axon_msi_driver);
|
||||
}
|
||||
subsys_initcall(axon_msi_init);
|
||||
|
||||
|
@@ -216,8 +216,7 @@ static int gpio_mdio_reset(struct mii_bus *bus)
|
||||
}
|
||||
|
||||
|
||||
static int __devinit gpio_mdio_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit gpio_mdio_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct device *dev = &ofdev->dev;
|
||||
struct device_node *np = ofdev->dev.of_node;
|
||||
@@ -299,7 +298,7 @@ static struct of_device_id gpio_mdio_match[] =
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, gpio_mdio_match);
|
||||
|
||||
static struct of_platform_driver gpio_mdio_driver =
|
||||
static struct platform_driver gpio_mdio_driver =
|
||||
{
|
||||
.probe = gpio_mdio_probe,
|
||||
.remove = gpio_mdio_remove,
|
||||
@@ -326,13 +325,13 @@ int gpio_mdio_init(void)
|
||||
if (!gpio_regs)
|
||||
return -ENODEV;
|
||||
|
||||
return of_register_platform_driver(&gpio_mdio_driver);
|
||||
return platform_driver_register(&gpio_mdio_driver);
|
||||
}
|
||||
module_init(gpio_mdio_init);
|
||||
|
||||
void gpio_mdio_exit(void)
|
||||
{
|
||||
of_unregister_platform_driver(&gpio_mdio_driver);
|
||||
platform_driver_unregister(&gpio_mdio_driver);
|
||||
if (gpio_regs)
|
||||
iounmap(gpio_regs);
|
||||
}
|
||||
|
@@ -149,7 +149,7 @@ struct pci_controller * __devinit init_phb_dynamic(struct device_node *dn)
|
||||
if (dn->child)
|
||||
eeh_add_device_tree_early(dn);
|
||||
|
||||
pcibios_scan_phb(phb, dn);
|
||||
pcibios_scan_phb(phb);
|
||||
pcibios_finish_adding_to_bus(phb->bus);
|
||||
|
||||
return phb;
|
||||
|
@@ -172,10 +172,9 @@ static const struct block_device_operations axon_ram_devops = {
|
||||
|
||||
/**
|
||||
* axon_ram_probe - probe() method for platform driver
|
||||
* @device, @device_id: see of_platform_driver method
|
||||
* @device: see platform_driver method
|
||||
*/
|
||||
static int axon_ram_probe(struct platform_device *device,
|
||||
const struct of_device_id *device_id)
|
||||
static int axon_ram_probe(struct platform_device *device)
|
||||
{
|
||||
static int axon_ram_bank_id = -1;
|
||||
struct axon_ram_bank *bank;
|
||||
@@ -326,7 +325,7 @@ static struct of_device_id axon_ram_device_id[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver axon_ram_driver = {
|
||||
static struct platform_driver axon_ram_driver = {
|
||||
.probe = axon_ram_probe,
|
||||
.remove = axon_ram_remove,
|
||||
.driver = {
|
||||
@@ -350,7 +349,7 @@ axon_ram_init(void)
|
||||
}
|
||||
azfs_minor = 0;
|
||||
|
||||
return of_register_platform_driver(&axon_ram_driver);
|
||||
return platform_driver_register(&axon_ram_driver);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -359,7 +358,7 @@ axon_ram_init(void)
|
||||
static void __exit
|
||||
axon_ram_exit(void)
|
||||
{
|
||||
of_unregister_platform_driver(&axon_ram_driver);
|
||||
platform_driver_unregister(&axon_ram_driver);
|
||||
unregister_blkdev(azfs_major, AXON_RAM_DEVICE_NAME);
|
||||
}
|
||||
|
||||
|
@@ -365,8 +365,7 @@ bcom_engine_cleanup(void)
|
||||
/* OF platform driver */
|
||||
/* ======================================================================== */
|
||||
|
||||
static int __devinit mpc52xx_bcom_probe(struct platform_device *op,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit mpc52xx_bcom_probe(struct platform_device *op)
|
||||
{
|
||||
struct device_node *ofn_sram;
|
||||
struct resource res_bcom;
|
||||
@@ -492,7 +491,7 @@ static struct of_device_id mpc52xx_bcom_of_match[] = {
|
||||
MODULE_DEVICE_TABLE(of, mpc52xx_bcom_of_match);
|
||||
|
||||
|
||||
static struct of_platform_driver mpc52xx_bcom_of_platform_driver = {
|
||||
static struct platform_driver mpc52xx_bcom_of_platform_driver = {
|
||||
.probe = mpc52xx_bcom_probe,
|
||||
.remove = mpc52xx_bcom_remove,
|
||||
.driver = {
|
||||
@@ -510,13 +509,13 @@ static struct of_platform_driver mpc52xx_bcom_of_platform_driver = {
|
||||
static int __init
|
||||
mpc52xx_bcom_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&mpc52xx_bcom_of_platform_driver);
|
||||
return platform_driver_register(&mpc52xx_bcom_of_platform_driver);
|
||||
}
|
||||
|
||||
static void __exit
|
||||
mpc52xx_bcom_exit(void)
|
||||
{
|
||||
of_unregister_platform_driver(&mpc52xx_bcom_of_platform_driver);
|
||||
platform_driver_unregister(&mpc52xx_bcom_of_platform_driver);
|
||||
}
|
||||
|
||||
/* If we're not a module, we must make sure everything is setup before */
|
||||
|
@@ -71,8 +71,7 @@ static int __init get_offset_from_cmdline(char *str)
|
||||
__setup("cache-sram-size=", get_size_from_cmdline);
|
||||
__setup("cache-sram-offset=", get_offset_from_cmdline);
|
||||
|
||||
static int __devinit mpc85xx_l2ctlr_of_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit mpc85xx_l2ctlr_of_probe(struct platform_device *dev)
|
||||
{
|
||||
long rval;
|
||||
unsigned int rem;
|
||||
@@ -204,7 +203,7 @@ static struct of_device_id mpc85xx_l2ctlr_of_match[] = {
|
||||
{},
|
||||
};
|
||||
|
||||
static struct of_platform_driver mpc85xx_l2ctlr_of_platform_driver = {
|
||||
static struct platform_driver mpc85xx_l2ctlr_of_platform_driver = {
|
||||
.driver = {
|
||||
.name = "fsl-l2ctlr",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -216,12 +215,12 @@ static struct of_platform_driver mpc85xx_l2ctlr_of_platform_driver = {
|
||||
|
||||
static __init int mpc85xx_l2ctlr_of_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&mpc85xx_l2ctlr_of_platform_driver);
|
||||
return platform_driver_register(&mpc85xx_l2ctlr_of_platform_driver);
|
||||
}
|
||||
|
||||
static void __exit mpc85xx_l2ctlr_of_exit(void)
|
||||
{
|
||||
of_unregister_platform_driver(&mpc85xx_l2ctlr_of_platform_driver);
|
||||
platform_driver_unregister(&mpc85xx_l2ctlr_of_platform_driver);
|
||||
}
|
||||
|
||||
subsys_initcall(mpc85xx_l2ctlr_of_init);
|
||||
|
@@ -273,8 +273,7 @@ static int fsl_of_msi_remove(struct platform_device *ofdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __devinit fsl_of_msi_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit fsl_of_msi_probe(struct platform_device *dev)
|
||||
{
|
||||
struct fsl_msi *msi;
|
||||
struct resource res;
|
||||
@@ -282,11 +281,15 @@ static int __devinit fsl_of_msi_probe(struct platform_device *dev,
|
||||
int rc;
|
||||
int virt_msir;
|
||||
const u32 *p;
|
||||
struct fsl_msi_feature *features = match->data;
|
||||
struct fsl_msi_feature *features;
|
||||
struct fsl_msi_cascade_data *cascade_data = NULL;
|
||||
int len;
|
||||
u32 offset;
|
||||
|
||||
if (!dev->dev.of_match)
|
||||
return -EINVAL;
|
||||
features = dev->dev.of_match->data;
|
||||
|
||||
printk(KERN_DEBUG "Setting up Freescale MSI support\n");
|
||||
|
||||
msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL);
|
||||
@@ -411,7 +414,7 @@ static const struct of_device_id fsl_of_msi_ids[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
static struct of_platform_driver fsl_of_msi_driver = {
|
||||
static struct platform_driver fsl_of_msi_driver = {
|
||||
.driver = {
|
||||
.name = "fsl-msi",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -423,7 +426,7 @@ static struct of_platform_driver fsl_of_msi_driver = {
|
||||
|
||||
static __init int fsl_of_msi_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&fsl_of_msi_driver);
|
||||
return platform_driver_register(&fsl_of_msi_driver);
|
||||
}
|
||||
|
||||
subsys_initcall(fsl_of_msi_init);
|
||||
|
@@ -58,8 +58,7 @@ static const struct platform_suspend_ops pmc_suspend_ops = {
|
||||
.enter = pmc_suspend_enter,
|
||||
};
|
||||
|
||||
static int pmc_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *id)
|
||||
static int pmc_probe(struct platform_device *ofdev)
|
||||
{
|
||||
pmc_regs = of_iomap(ofdev->dev.of_node, 0);
|
||||
if (!pmc_regs)
|
||||
@@ -76,7 +75,7 @@ static const struct of_device_id pmc_ids[] = {
|
||||
{ },
|
||||
};
|
||||
|
||||
static struct of_platform_driver pmc_driver = {
|
||||
static struct platform_driver pmc_driver = {
|
||||
.driver = {
|
||||
.name = "fsl-pmc",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -87,6 +86,6 @@ static struct of_platform_driver pmc_driver = {
|
||||
|
||||
static int __init pmc_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&pmc_driver);
|
||||
return platform_driver_register(&pmc_driver);
|
||||
}
|
||||
device_initcall(pmc_init);
|
||||
|
@@ -1570,8 +1570,7 @@ err_ops:
|
||||
|
||||
/* The probe function for RapidIO peer-to-peer network.
|
||||
*/
|
||||
static int __devinit fsl_of_rio_rpn_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
static int __devinit fsl_of_rio_rpn_probe(struct platform_device *dev)
|
||||
{
|
||||
int rc;
|
||||
printk(KERN_INFO "Setting up RapidIO peer-to-peer network %s\n",
|
||||
@@ -1594,7 +1593,7 @@ static const struct of_device_id fsl_of_rio_rpn_ids[] = {
|
||||
{},
|
||||
};
|
||||
|
||||
static struct of_platform_driver fsl_of_rio_rpn_driver = {
|
||||
static struct platform_driver fsl_of_rio_rpn_driver = {
|
||||
.driver = {
|
||||
.name = "fsl-of-rio",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -1605,7 +1604,7 @@ static struct of_platform_driver fsl_of_rio_rpn_driver = {
|
||||
|
||||
static __init int fsl_of_rio_rpn_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&fsl_of_rio_rpn_driver);
|
||||
return platform_driver_register(&fsl_of_rio_rpn_driver);
|
||||
}
|
||||
|
||||
subsys_initcall(fsl_of_rio_rpn_init);
|
||||
|
@@ -121,8 +121,7 @@ static void pmi_notify_handlers(struct work_struct *work)
|
||||
spin_unlock(&data->handler_spinlock);
|
||||
}
|
||||
|
||||
static int pmi_of_probe(struct platform_device *dev,
|
||||
const struct of_device_id *match)
|
||||
static int pmi_of_probe(struct platform_device *dev)
|
||||
{
|
||||
struct device_node *np = dev->dev.of_node;
|
||||
int rc;
|
||||
@@ -205,7 +204,7 @@ static int pmi_of_remove(struct platform_device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct of_platform_driver pmi_of_platform_driver = {
|
||||
static struct platform_driver pmi_of_platform_driver = {
|
||||
.probe = pmi_of_probe,
|
||||
.remove = pmi_of_remove,
|
||||
.driver = {
|
||||
@@ -217,13 +216,13 @@ static struct of_platform_driver pmi_of_platform_driver = {
|
||||
|
||||
static int __init pmi_module_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&pmi_of_platform_driver);
|
||||
return platform_driver_register(&pmi_of_platform_driver);
|
||||
}
|
||||
module_init(pmi_module_init);
|
||||
|
||||
static void __exit pmi_module_exit(void)
|
||||
{
|
||||
of_unregister_platform_driver(&pmi_of_platform_driver);
|
||||
platform_driver_unregister(&pmi_of_platform_driver);
|
||||
}
|
||||
module_exit(pmi_module_exit);
|
||||
|
||||
|
@@ -659,8 +659,7 @@ static int qe_resume(struct platform_device *ofdev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int qe_probe(struct platform_device *ofdev,
|
||||
const struct of_device_id *id)
|
||||
static int qe_probe(struct platform_device *ofdev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -670,7 +669,7 @@ static const struct of_device_id qe_ids[] = {
|
||||
{ },
|
||||
};
|
||||
|
||||
static struct of_platform_driver qe_driver = {
|
||||
static struct platform_driver qe_driver = {
|
||||
.driver = {
|
||||
.name = "fsl-qe",
|
||||
.owner = THIS_MODULE,
|
||||
@@ -682,7 +681,7 @@ static struct of_platform_driver qe_driver = {
|
||||
|
||||
static int __init qe_drv_init(void)
|
||||
{
|
||||
return of_register_platform_driver(&qe_driver);
|
||||
return platform_driver_register(&qe_driver);
|
||||
}
|
||||
device_initcall(qe_drv_init);
|
||||
#endif /* defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx) */
|
||||
|
Reference in New Issue
Block a user