static int ulpi_remove(struct device *dev) { struct ulpi_driver *drv = to_ulpi_driver(dev->driver); if (drv->remove) drv->remove(to_ulpi_dev(dev)); return 0; }
static int ulpi_probe(struct device *dev) { struct ulpi_driver *drv = to_ulpi_driver(dev->driver); int ret; ret = of_clk_set_defaults(dev->of_node, false); if (ret < 0) return ret; return drv->probe(to_ulpi_dev(dev)); }
static int ulpi_match(struct device *dev, struct device_driver *driver) { struct ulpi_driver *drv = to_ulpi_driver(driver); struct ulpi *ulpi = to_ulpi_dev(dev); const struct ulpi_device_id *id; for (id = drv->id_table; id->vendor; id++) if (id->vendor == ulpi->id.vendor && id->product == ulpi->id.product) return 1; return 0; }
static int ulpi_match(struct device *dev, struct device_driver *driver) { struct ulpi_driver *drv = to_ulpi_driver(driver); struct ulpi *ulpi = to_ulpi_dev(dev); const struct ulpi_device_id *id; /* Some ULPI devices don't have a vendor id so rely on OF match */ if (ulpi->id.vendor == 0) return of_driver_match_device(dev, driver); for (id = drv->id_table; id->vendor; id++) if (id->vendor == ulpi->id.vendor && id->product == ulpi->id.product) return 1; return 0; }
static int ulpi_probe(struct device *dev) { struct ulpi_driver *drv = to_ulpi_driver(dev->driver); return drv->probe(to_ulpi_dev(dev)); }