dm: core: Use dev_has_ofnode() instead of dev_of_valid()
We have two functions which do the same thing. Standardise on dev_has_ofnode() since there is no such thing as an 'invalid' ofnode in normal operation: it is either null or missing. Also move the functions into one place. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
c23405f817
commit
7d14ee443c
@ -345,7 +345,7 @@ int clk_set_defaults(struct udevice *dev, int stage)
|
||||
{
|
||||
int ret;
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
/* If this not in SPL and pre-reloc state, don't take any action. */
|
||||
|
@ -485,7 +485,7 @@ int device_probe(struct udevice *dev)
|
||||
}
|
||||
|
||||
/* Only handle devices that have a valid ofnode */
|
||||
if (dev_of_valid(dev)) {
|
||||
if (dev_has_ofnode(dev)) {
|
||||
/*
|
||||
* Process 'assigned-{clocks/clock-parents/clock-rates}'
|
||||
* properties
|
||||
|
@ -294,7 +294,7 @@ static int gpio_sandbox_probe(struct udevice *dev)
|
||||
{
|
||||
struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
/* Tell the uclass how many GPIOs we have */
|
||||
uc_priv->gpio_count = CONFIG_SANDBOX_GPIO_COUNT;
|
||||
|
||||
|
@ -92,7 +92,7 @@ static int designware_i2c_pci_bind(struct udevice *dev)
|
||||
{
|
||||
char name[20];
|
||||
|
||||
if (dev_of_valid(dev))
|
||||
if (dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
sprintf(name, "i2c_designware#%u", dev_seq(dev));
|
||||
@ -152,7 +152,7 @@ static int dw_i2c_acpi_fill_ssdt(const struct udevice *dev,
|
||||
int ret;
|
||||
|
||||
/* If no device-tree node, ignore this since we assume it isn't used */
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
ret = acpi_device_path(dev, path, sizeof(path));
|
||||
|
@ -678,7 +678,7 @@ static int i2c_child_post_bind(struct udevice *dev)
|
||||
#if CONFIG_IS_ENABLED(OF_CONTROL) && !CONFIG_IS_ENABLED(OF_PLATDATA)
|
||||
struct dm_i2c_chip *plat = dev_get_parent_plat(dev);
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
return i2c_chip_of_to_plat(dev, plat);
|
||||
#else
|
||||
|
@ -75,7 +75,7 @@ static int pci_mmc_acpi_fill_ssdt(const struct udevice *dev,
|
||||
struct acpi_dp *dp;
|
||||
int ret;
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
ret = gpio_get_acpi(&priv->cd_gpio, &gpio);
|
||||
|
@ -540,7 +540,7 @@ int pci_auto_config_devices(struct udevice *bus)
|
||||
int ret;
|
||||
|
||||
debug("%s: device %s\n", __func__, dev->name);
|
||||
if (dev_of_valid(dev) &&
|
||||
if (dev_has_ofnode(dev) &&
|
||||
dev_read_bool(dev, "pci,no-autoconfig"))
|
||||
continue;
|
||||
ret = dm_pciauto_config_device(dev);
|
||||
@ -1036,7 +1036,7 @@ static int pci_uclass_pre_probe(struct udevice *bus)
|
||||
hose->bus = bus;
|
||||
hose->first_busno = dev_seq(bus);
|
||||
hose->last_busno = dev_seq(bus);
|
||||
if (dev_of_valid(bus)) {
|
||||
if (dev_has_ofnode(bus)) {
|
||||
hose->skip_auto_config_until_reloc =
|
||||
dev_read_bool(bus,
|
||||
"u-boot,skip-auto-config-until-reloc");
|
||||
@ -1091,7 +1091,7 @@ static int pci_uclass_child_post_bind(struct udevice *dev)
|
||||
{
|
||||
struct pci_child_plat *pplat;
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
pplat = dev_get_parent_plat(dev);
|
||||
|
@ -112,7 +112,7 @@ static int pinconfig_post_bind(struct udevice *dev)
|
||||
ofnode node;
|
||||
int ret;
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
dev_for_each_subnode(node, dev) {
|
||||
|
@ -160,7 +160,7 @@ static int spi_child_post_bind(struct udevice *dev)
|
||||
{
|
||||
struct dm_spi_slave_plat *plat = dev_get_parent_plat(dev);
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
return spi_slave_of_to_plat(dev, plat);
|
||||
|
@ -50,7 +50,7 @@ static int sandbox_sysreset_request(struct udevice *dev, enum sysreset_t type)
|
||||
* (see the U_BOOT_DEVICE() declaration below) should not do anything.
|
||||
* If we are that device, return an error.
|
||||
*/
|
||||
if (state->fdt_fname && !dev_of_valid(dev))
|
||||
if (state->fdt_fname && !dev_has_ofnode(dev))
|
||||
return -ENODEV;
|
||||
|
||||
switch (type) {
|
||||
|
@ -54,7 +54,7 @@ static int timer_pre_probe(struct udevice *dev)
|
||||
ulong ret;
|
||||
|
||||
/* It is possible that a timer device has a null ofnode */
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
err = clk_get_by_index(dev, 0, &timer_clk);
|
||||
|
@ -773,7 +773,7 @@ static int usb_child_post_bind(struct udevice *dev)
|
||||
struct usb_dev_plat *plat = dev_get_parent_plat(dev);
|
||||
int val;
|
||||
|
||||
if (!dev_of_valid(dev))
|
||||
if (!dev_has_ofnode(dev))
|
||||
return 0;
|
||||
|
||||
/* We only support matching a few things */
|
||||
|
@ -192,6 +192,17 @@ static inline void dev_bic_flags(struct udevice *dev, u32 bic)
|
||||
dev->flags_ &= ~bic;
|
||||
}
|
||||
|
||||
/**
|
||||
* dev_ofnode() - get the DT node reference associated with a udevice
|
||||
*
|
||||
* @dev: device to check
|
||||
* @return reference of the the device's DT node
|
||||
*/
|
||||
static inline ofnode dev_ofnode(const struct udevice *dev)
|
||||
{
|
||||
return dev->node;
|
||||
}
|
||||
|
||||
/* Returns non-zero if the device is active (probed and not removed) */
|
||||
#define device_active(dev) (dev_get_flags(dev) & DM_FLAG_ACTIVATED)
|
||||
|
||||
@ -200,7 +211,7 @@ static inline int dev_of_offset(const struct udevice *dev)
|
||||
return ofnode_to_offset(dev->node);
|
||||
}
|
||||
|
||||
static inline bool dev_has_ofnode(struct udevice *dev)
|
||||
static inline bool dev_has_ofnode(const struct udevice *dev)
|
||||
{
|
||||
return ofnode_valid(dev->node);
|
||||
}
|
||||
|
@ -30,22 +30,6 @@ static inline const struct device_node *dev_np(const struct udevice *dev)
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* dev_ofnode() - get the DT node reference associated with a udevice
|
||||
*
|
||||
* @dev: device to check
|
||||
* @return reference of the the device's DT node
|
||||
*/
|
||||
static inline ofnode dev_ofnode(const struct udevice *dev)
|
||||
{
|
||||
return dev->node;
|
||||
}
|
||||
|
||||
static inline bool dev_of_valid(const struct udevice *dev)
|
||||
{
|
||||
return ofnode_valid(dev_ofnode(dev));
|
||||
}
|
||||
|
||||
#ifndef CONFIG_DM_DEV_READ_INLINE
|
||||
|
||||
/**
|
||||
|
@ -120,13 +120,13 @@ static int dm_test_pci_drvdata(struct unit_test_state *uts)
|
||||
|
||||
ut_assertok(dm_pci_bus_find_bdf(PCI_BDF(1, 0x08, 0), &swap));
|
||||
ut_asserteq(SWAP_CASE_DRV_DATA, swap->driver_data);
|
||||
ut_assertok(dev_of_valid(swap));
|
||||
ut_assertok(dev_has_ofnode(swap));
|
||||
ut_assertok(dm_pci_bus_find_bdf(PCI_BDF(1, 0x0c, 0), &swap));
|
||||
ut_asserteq(SWAP_CASE_DRV_DATA, swap->driver_data);
|
||||
ut_assertok(dev_of_valid(swap));
|
||||
ut_assertok(dev_has_ofnode(swap));
|
||||
ut_assertok(dm_pci_bus_find_bdf(PCI_BDF(1, 0x10, 0), &swap));
|
||||
ut_asserteq(SWAP_CASE_DRV_DATA, swap->driver_data);
|
||||
ut_assertok(!dev_of_valid(swap));
|
||||
ut_assertok(!dev_has_ofnode(swap));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user