diff options
author | Simon Glass <sjg@chromium.org> | 2015-03-05 12:25:20 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-04-16 19:27:42 -0600 |
commit | e564f054af002d9e6a1080ed9d4bc2c6052a4435 (patch) | |
tree | 7b945d568d32c7febf5a8b70c6bce26b5157663c /include | |
parent | 106cce9604306743c86addd4d27426cce498c9d1 (diff) | |
download | u-boot-imx-e564f054af002d9e6a1080ed9d4bc2c6052a4435.zip u-boot-imx-e564f054af002d9e6a1080ed9d4bc2c6052a4435.tar.gz u-boot-imx-e564f054af002d9e6a1080ed9d4bc2c6052a4435.tar.bz2 |
dm: core: Add dev_get_uclass_priv() to access uclass private data
Add a convenience function to access the private data that a uclass stores
for each of its devices. Convert over most existing uses for consistency
and to provide an example for others.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/dm/device.h | 10 | ||||
-rw-r--r-- | include/i2c.h | 8 |
2 files changed, 14 insertions, 4 deletions
diff --git a/include/dm/device.h b/include/dm/device.h index 7a48eb8..6980954 100644 --- a/include/dm/device.h +++ b/include/dm/device.h @@ -238,6 +238,16 @@ void *dev_get_priv(struct udevice *dev); struct udevice *dev_get_parent(struct udevice *child); /** + * dev_get_uclass_priv() - Get the private uclass data for a device + * + * This checks that dev is not NULL, but no other checks for now + * + * @dev Device to check + * @return private uclass data for this device, or NULL if none + */ +void *dev_get_uclass_priv(struct udevice *dev); + +/** * dev_get_of_data() - get the device tree data used to bind a device * * When a device is bound using a device tree node, it matches a diff --git a/include/i2c.h b/include/i2c.h index 31b0389..6fd73fa 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -64,8 +64,8 @@ struct dm_i2c_chip { * bus can operate at different speeds (measured in Hz, typically 100KHz * or 400KHz). * - * To obtain this structure, use bus->uclass_priv where bus is the I2C - * bus udevice. + * To obtain this structure, use dev_get_uclass_priv(bus) where bus is the + * I2C bus udevice. * * @speed_hz: Bus speed in hertz (typically 100000) */ @@ -340,7 +340,7 @@ struct dm_i2c_ops { * The bus speed value will be updated by the uclass if this function * does not return an error. This method is optional - if it is not * provided then the driver can read the speed from - * bus->uclass_priv->speed_hz + * dev_get_uclass_priv(bus)->speed_hz * * @bus: Bus to adjust * @speed: Requested speed in Hz @@ -354,7 +354,7 @@ struct dm_i2c_ops { * Normally this can be provided by the uclass, but if you want your * driver to check the bus speed by looking at the hardware, you can * implement that here. This method is optional. This method would - * normally be expected to return bus->uclass_priv->speed_hz. + * normally be expected to return dev_get_uclass_priv(bus)->speed_hz. * * @bus: Bus to check * @return speed of selected I2C bus in Hz, -ve on error |