mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-28 08:35:38 +00:00
DM: OMAP24XX_I2C: Reduce overhead when used with OF_PLATDATA
Platforms with limited resources in SPL may enably OF_PLATDATA, this limits some of the library functions and cannot extract data from the device tree. This patch adds additional wrappers around these functions to only allow them when OF_CONTROL is enabled and OF_PLATDATA is not. Signed-off-by: Adam Ford <aford173@gmail.com>
This commit is contained in:
parent
afa8cdd607
commit
410c505cc1
1 changed files with 10 additions and 6 deletions
|
@ -890,6 +890,7 @@ static int omap_i2c_probe(struct udevice *bus)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||||
static int omap_i2c_ofdata_to_platdata(struct udevice *bus)
|
static int omap_i2c_ofdata_to_platdata(struct udevice *bus)
|
||||||
{
|
{
|
||||||
struct omap_i2c *priv = dev_get_priv(bus);
|
struct omap_i2c *priv = dev_get_priv(bus);
|
||||||
|
@ -901,23 +902,26 @@ static int omap_i2c_ofdata_to_platdata(struct udevice *bus)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct udevice_id omap_i2c_ids[] = {
|
||||||
|
{ .compatible = "ti,omap3-i2c" },
|
||||||
|
{ .compatible = "ti,omap4-i2c" },
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
static const struct dm_i2c_ops omap_i2c_ops = {
|
static const struct dm_i2c_ops omap_i2c_ops = {
|
||||||
.xfer = omap_i2c_xfer,
|
.xfer = omap_i2c_xfer,
|
||||||
.probe_chip = omap_i2c_probe_chip,
|
.probe_chip = omap_i2c_probe_chip,
|
||||||
.set_bus_speed = omap_i2c_set_bus_speed,
|
.set_bus_speed = omap_i2c_set_bus_speed,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct udevice_id omap_i2c_ids[] = {
|
|
||||||
{ .compatible = "ti,omap3-i2c" },
|
|
||||||
{ .compatible = "ti,omap4-i2c" },
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
U_BOOT_DRIVER(i2c_omap) = {
|
U_BOOT_DRIVER(i2c_omap) = {
|
||||||
.name = "i2c_omap",
|
.name = "i2c_omap",
|
||||||
.id = UCLASS_I2C,
|
.id = UCLASS_I2C,
|
||||||
|
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||||
.of_match = omap_i2c_ids,
|
.of_match = omap_i2c_ids,
|
||||||
.ofdata_to_platdata = omap_i2c_ofdata_to_platdata,
|
.ofdata_to_platdata = omap_i2c_ofdata_to_platdata,
|
||||||
|
#endif
|
||||||
.probe = omap_i2c_probe,
|
.probe = omap_i2c_probe,
|
||||||
.priv_auto_alloc_size = sizeof(struct omap_i2c),
|
.priv_auto_alloc_size = sizeof(struct omap_i2c),
|
||||||
.ops = &omap_i2c_ops,
|
.ops = &omap_i2c_ops,
|
||||||
|
|
Loading…
Add table
Reference in a new issue