]> git.karo-electronics.de Git - karo-tx-uboot.git/commitdiff
dm: core: Rename driver data function to dev_get_driver_data()
authorSimon Glass <sjg@chromium.org>
Wed, 25 Mar 2015 18:21:55 +0000 (12:21 -0600)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 8 Sep 2015 19:47:52 +0000 (21:47 +0200)
The existing get_get_of_data() function provides access to both the driver's
compatible string and its driver data. However only the latter is actually
useful. Update the interface to reflect this and fix up existing users.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Marek Vasut <marex@denx.de>
drivers/core/device.c
drivers/core/lists.c
drivers/i2c/s3c24x0_i2c.c
drivers/i2c/tegra_i2c.c
include/dm/device.h

index f1a03d92b74c8987a140aabd5e1022f692e61040..4fba11857c9e91a28591d8dfd5f5f1747d10590e 100644 (file)
@@ -467,9 +467,9 @@ struct udevice *dev_get_parent(struct udevice *child)
        return child->parent;
 }
 
-ulong dev_get_of_data(struct udevice *dev)
+ulong dev_get_driver_data(struct udevice *dev)
 {
-       return dev->of_id->data;
+       return dev->driver_data;
 }
 
 enum uclass_id device_get_uclass_id(struct udevice *dev)
index ff115c4723e7135986daced0f08dede34379838f..647e390bfe6743984c6d47fd14a9cd8882795c86 100644 (file)
@@ -168,7 +168,7 @@ int lists_bind_fdt(struct udevice *parent, const void *blob, int offset,
                        dm_warn("Error binding driver '%s'\n", entry->name);
                        return ret;
                } else {
-                       dev->of_id = id;
+                       dev->driver_data = id->data;
                        found = true;
                        if (devp)
                                *devp = dev;
index b4ee33f7daccf52a4dfced6a52dbcbc61f02f93b..27ff5874407f374a07d1cd0d3f59e486fe83614b 100644 (file)
@@ -1348,7 +1348,7 @@ static int s3c_i2c_ofdata_to_platdata(struct udevice *dev)
        struct s3c24x0_i2c_bus *i2c_bus = dev_get_priv(dev);
        int node, flags;
 
-       i2c_bus->is_highspeed = dev->of_id->data;
+       i2c_bus->is_highspeed = dev_get_driver_data(dev);
        node = dev->of_offset;
 
        if (i2c_bus->is_highspeed) {
index f4142870b304037273cb405f36e9ad2a39819d4b..fc95646994892219747354039c9826268b64c43e 100644 (file)
@@ -338,7 +338,7 @@ static int tegra_i2c_probe(struct udevice *dev)
        bool is_dvc;
 
        i2c_bus->id = dev->seq;
-       i2c_bus->type = dev_get_of_data(dev);
+       i2c_bus->type = dev_get_driver_data(dev);
        i2c_bus->regs = (struct i2c_ctlr *)fdtdec_get_addr(blob, node, "reg");
 
        /*
@@ -360,7 +360,7 @@ static int tegra_i2c_probe(struct udevice *dev)
        if (i2c_bus->periph_id == -1)
                return -EINVAL;
 
-       is_dvc = dev_get_of_data(dev) == TYPE_DVC;
+       is_dvc = dev_get_driver_data(dev) == TYPE_DVC;
        if (is_dvc) {
                i2c_bus->control =
                        &((struct dvc_ctlr *)i2c_bus->regs)->control;
@@ -469,7 +469,7 @@ int tegra_i2c_get_dvc_bus(struct udevice **busp)
        for (uclass_first_device(UCLASS_I2C, &bus);
             bus;
             uclass_next_device(&bus)) {
-               if (dev_get_of_data(bus) == TYPE_DVC) {
+               if (dev_get_driver_data(bus) == TYPE_DVC) {
                        *busp = bus;
                        return 0;
                }
index fafecceb1ab1137cabe99f0af5fafd050b119bf4..ec22885b34ffabdf7663851ed130cd7764afac11 100644 (file)
@@ -55,7 +55,8 @@ struct driver_info;
  * @platdata: Configuration data for this device
  * @parent_platdata: The parent bus's configuration data for this device
  * @of_offset: Device tree node offset for this device (- for none)
- * @of_id: Pointer to the udevice_id structure which created the device
+ * @driver_data: Driver data word for the entry that matched this device with
+ *             its driver
  * @parent: Parent of this device, or NULL for the top level device
  * @priv: Private data for this device
  * @uclass: Pointer to uclass for this device
@@ -75,7 +76,7 @@ struct udevice {
        void *platdata;
        void *parent_platdata;
        int of_offset;
-       const struct udevice_id *of_id;
+       ulong driver_data;
        struct udevice *parent;
        void *priv;
        struct uclass *uclass;
@@ -251,13 +252,18 @@ struct udevice *dev_get_parent(struct udevice *child);
 void *dev_get_uclass_priv(struct udevice *dev);
 
 /**
- * dev_get_of_data() - get the device tree data used to bind a device
+ * dev_get_driver_data() - get the driver data used to bind a device
  *
  * When a device is bound using a device tree node, it matches a
  * particular compatible string as in struct udevice_id. This function
- * returns the associated data value for that compatible string
+ * returns the associated data value for that compatible string. This is
+ * the 'data' field in struct udevice_id.
+ *
+ * For USB devices, this is the driver_info field in struct usb_device_id.
+ *
+ * @dev:       Device to check
  */
-ulong dev_get_of_data(struct udevice *dev);
+ulong dev_get_driver_data(struct udevice *dev);
 
 /*
  * device_get_uclass_id() - return the uclass ID of a device