static void of_platform_device_shutdown(struct device *dev) { struct of_device *of_dev = to_of_device(dev); struct of_platform_driver *drv = to_of_platform_driver(dev->driver); if (dev->driver && drv->shutdown) drv->shutdown(of_dev); }
static int of_platform_device_remove(struct device *dev) { struct of_device * of_dev = to_of_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 int of_platform_device_resume(struct device * dev) { struct of_device * of_dev = to_of_device(dev); struct of_platform_driver * drv = to_of_platform_driver(dev->driver); int error = 0; if (dev->driver && drv->resume) error = drv->resume(of_dev); return error; }
static int of_platform_device_suspend(struct device *dev, pm_message_t state) { struct of_device * of_dev = to_of_device(dev); struct of_platform_driver * drv = to_of_platform_driver(dev->driver); int error = 0; if (dev->driver && drv->suspend) error = drv->suspend(of_dev, state); return error; }
static int of_platform_legacy_resume(struct device *dev) { struct of_device *of_dev = to_of_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 of_platform_legacy_suspend(struct device *dev, pm_message_t mesg) { struct of_device *of_dev = to_of_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 of_platform_bus_match(struct device *dev, struct device_driver *drv) { struct of_device * of_dev = to_of_device(dev); struct of_platform_driver * of_drv = to_of_platform_driver(drv); const struct of_device_id * matches = of_drv->match_table; if (!matches) return 0; return of_match_device(matches, of_dev) != NULL; }
static int of_platform_device_probe(struct device *dev) { int error = -ENODEV; struct of_platform_driver *drv; struct of_device *of_dev; const struct of_device_id *match; drv = to_of_platform_driver(dev->driver); of_dev = to_of_device(dev); if (!drv->probe) return error; of_dev_get(of_dev); match = of_match_device(drv->match_table, of_dev); if (match) error = drv->probe(of_dev, match); if (error) of_dev_put(of_dev); return error; }