Merge remote-tracking branch 'usb-gadget/next'
[deliverable/linux.git] / drivers / usb / common / ulpi.c
index e04a34e7a341d64af2262cf0dd436875794ac09a..8b317702d7610d3dae663df4f1fc0feff87c36f6 100644 (file)
 
 int ulpi_read(struct ulpi *ulpi, u8 addr)
 {
-       return ulpi->ops->read(ulpi->ops, addr);
+       return ulpi->ops->read(ulpi->dev.parent, addr);
 }
 EXPORT_SYMBOL_GPL(ulpi_read);
 
 int ulpi_write(struct ulpi *ulpi, u8 addr, u8 val)
 {
-       return ulpi->ops->write(ulpi->ops, addr, val);
+       return ulpi->ops->write(ulpi->dev.parent, addr, val);
 }
 EXPORT_SYMBOL_GPL(ulpi_write);
 
@@ -157,6 +157,8 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi)
 {
        int ret;
 
+       ulpi->dev.parent = dev; /* needed early for ops */
+
        /* Test the interface */
        ret = ulpi_write(ulpi, ULPI_SCRATCH, 0xaa);
        if (ret < 0)
@@ -175,7 +177,6 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi)
        ulpi->id.product = ulpi_read(ulpi, ULPI_PRODUCT_ID_LOW);
        ulpi->id.product |= ulpi_read(ulpi, ULPI_PRODUCT_ID_HIGH) << 8;
 
-       ulpi->dev.parent = dev;
        ulpi->dev.bus = &ulpi_bus;
        ulpi->dev.type = &ulpi_dev_type;
        dev_set_name(&ulpi->dev, "%s.ulpi", dev_name(dev));
@@ -202,7 +203,8 @@ static int ulpi_register(struct device *dev, struct ulpi *ulpi)
  * Allocates and registers a ULPI device and an interface for it. Called from
  * the USB controller that provides the ULPI interface.
  */
-struct ulpi *ulpi_register_interface(struct device *dev, struct ulpi_ops *ops)
+struct ulpi *ulpi_register_interface(struct device *dev,
+                                    const struct ulpi_ops *ops)
 {
        struct ulpi *ulpi;
        int ret;
@@ -212,7 +214,6 @@ struct ulpi *ulpi_register_interface(struct device *dev, struct ulpi_ops *ops)
                return ERR_PTR(-ENOMEM);
 
        ulpi->ops = ops;
-       ops->dev = dev;
 
        ret = ulpi_register(dev, ulpi);
        if (ret) {
This page took 0.024732 seconds and 5 git commands to generate.