public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: u-boot@lists.denx.de
Subject: [PATCH 21/26] dm: core: Use dev_has_ofnode() instead of dev_of_valid()
Date: Mon, 21 Dec 2020 13:41:47 +0200	[thread overview]
Message-ID: <20201221114147.GN4077@smile.fi.intel.com> (raw)
In-Reply-To: <20201219174018.1114146-20-sjg@chromium.org>

On Sat, Dec 19, 2020 at 10:40:13AM -0700, Simon Glass wrote:
> 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.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
>  drivers/clk/clk-uclass.c            |  2 +-
>  drivers/core/device.c               |  2 +-
>  drivers/gpio/sandbox.c              |  2 +-
>  drivers/i2c/designware_i2c_pci.c    |  4 ++--
>  drivers/i2c/i2c-uclass.c            |  2 +-
>  drivers/mmc/pci_mmc.c               |  2 +-
>  drivers/pci/pci-uclass.c            |  6 +++---
>  drivers/pinctrl/pinctrl-uclass.c    |  2 +-
>  drivers/spi/spi-uclass.c            |  2 +-
>  drivers/sysreset/sysreset_sandbox.c |  2 +-
>  drivers/timer/timer-uclass.c        |  2 +-
>  drivers/usb/host/usb-uclass.c       |  2 +-
>  include/dm/device.h                 | 13 ++++++++++++-
>  include/dm/read.h                   | 16 ----------------
>  test/dm/pci.c                       |  6 +++---
>  15 files changed, 30 insertions(+), 35 deletions(-)
> 
> diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c
> index ac954a34d27..5cfd00ce771 100644
> --- a/drivers/clk/clk-uclass.c
> +++ b/drivers/clk/clk-uclass.c
> @@ -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. */
> diff --git a/drivers/core/device.c b/drivers/core/device.c
> index 8c7ce220f84..bd4ecc9e24d 100644
> --- a/drivers/core/device.c
> +++ b/drivers/core/device.c
> @@ -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
> diff --git a/drivers/gpio/sandbox.c b/drivers/gpio/sandbox.c
> index 489271b560e..f8fa4baa2c3 100644
> --- a/drivers/gpio/sandbox.c
> +++ b/drivers/gpio/sandbox.c
> @@ -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;
>  
> diff --git a/drivers/i2c/designware_i2c_pci.c b/drivers/i2c/designware_i2c_pci.c
> index 18eef625f0f..ec0cdf62207 100644
> --- a/drivers/i2c/designware_i2c_pci.c
> +++ b/drivers/i2c/designware_i2c_pci.c
> @@ -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));
> diff --git a/drivers/i2c/i2c-uclass.c b/drivers/i2c/i2c-uclass.c
> index 456cf3b85fb..be56785217c 100644
> --- a/drivers/i2c/i2c-uclass.c
> +++ b/drivers/i2c/i2c-uclass.c
> @@ -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
> diff --git a/drivers/mmc/pci_mmc.c b/drivers/mmc/pci_mmc.c
> index fc09ad99e5e..c71c495d581 100644
> --- a/drivers/mmc/pci_mmc.c
> +++ b/drivers/mmc/pci_mmc.c
> @@ -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);
> diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
> index 1f6c51f1e8d..4cdd06b1257 100644
> --- a/drivers/pci/pci-uclass.c
> +++ b/drivers/pci/pci-uclass.c
> @@ -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);
> diff --git a/drivers/pinctrl/pinctrl-uclass.c b/drivers/pinctrl/pinctrl-uclass.c
> index 4653e86ba46..7919e54e8de 100644
> --- a/drivers/pinctrl/pinctrl-uclass.c
> +++ b/drivers/pinctrl/pinctrl-uclass.c
> @@ -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) {
> diff --git a/drivers/spi/spi-uclass.c b/drivers/spi/spi-uclass.c
> index f3b8ffad425..8bd35a551b8 100644
> --- a/drivers/spi/spi-uclass.c
> +++ b/drivers/spi/spi-uclass.c
> @@ -155,7 +155,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);
> diff --git a/drivers/sysreset/sysreset_sandbox.c b/drivers/sysreset/sysreset_sandbox.c
> index 7026a48c4b2..8eca7d8bfda 100644
> --- a/drivers/sysreset/sysreset_sandbox.c
> +++ b/drivers/sysreset/sysreset_sandbox.c
> @@ -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) {
> diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c
> index 8e63c17e9f3..da1a72f0252 100644
> --- a/drivers/timer/timer-uclass.c
> +++ b/drivers/timer/timer-uclass.c
> @@ -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);
> diff --git a/drivers/usb/host/usb-uclass.c b/drivers/usb/host/usb-uclass.c
> index ae6b1450d3a..e3b616c3266 100644
> --- a/drivers/usb/host/usb-uclass.c
> +++ b/drivers/usb/host/usb-uclass.c
> @@ -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 */
> diff --git a/include/dm/device.h b/include/dm/device.h
> index b15a14ec330..4a1224bcc26 100644
> --- a/include/dm/device.h
> +++ b/include/dm/device.h
> @@ -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);
>  }
> diff --git a/include/dm/read.h b/include/dm/read.h
> index 0585eb12281..d5cdd87911d 100644
> --- a/include/dm/read.h
> +++ b/include/dm/read.h
> @@ -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
>  
>  /**
> diff --git a/test/dm/pci.c b/test/dm/pci.c
> index 76490befdf5..fa2e4a85596 100644
> --- a/test/dm/pci.c
> +++ b/test/dm/pci.c
> @@ -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;
>  }
> -- 
> 2.29.2.684.gfbc64c5ab5-goog
> 

-- 
With Best Regards,
Andy Shevchenko

  reply	other threads:[~2020-12-21 11:41 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-19 17:39 [PATCH 00/26] dm: Preparation for enhanced of-platdata (part C) Simon Glass
2020-12-19 17:39 ` [PATCH 01/26] sandbox: serial: Move priv into a header file Simon Glass
2020-12-21 11:38   ` Andy Shevchenko
2020-12-28 16:26     ` Simon Glass
2020-12-19 17:39 ` [PATCH 02/26] sandbox: i2c: " Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:39 ` [PATCH 03/26] sandbox: Add a compatible string for spltest Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:39 ` [PATCH 04/26] sandbox: Update dts files to reduce SPL size Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:39 ` [PATCH 05/26] x86: apl: Move priv/plat structs to headers Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:39 ` [PATCH 06/26] x86: Move priv/plat structs for intel_common " Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:39 ` [PATCH 07/26] x86: spl: Move priv/plat structs " Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 08/26] spi: Tidy up get/set of device node Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 09/26] spi: Tweak a few strange SPI NOR features for of-platdata Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 10/26] x86: apl: Use struct spi_nor instead of struct spi_flash Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 11/26] dm: core: Move priv/plat structs for simple_bus to headers Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 12/26] x86: sysreset: Move priv/plat structs " Simon Glass
2020-12-21 11:38   ` Andy Shevchenko
2020-12-28 16:26     ` Simon Glass
2020-12-19 17:40 ` [PATCH 13/26] x86: apl: Adjust how the UART gets its platform data Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 14/26] x86: coral: Remove unwanted nodes from SPL/TPL Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 15/26] x86: Drop rtc from SPL Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 16/26] dm: core: Split out alloc code into a new function Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 17/26] dm: core: Rename sqq to seq_ Simon Glass
2020-12-21 11:41   ` Andy Shevchenko
2020-12-28 16:26     ` Simon Glass
2020-12-19 17:40 ` [PATCH 18/26] dm: core: Access device flags through functions Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 19/26] dm: core: Rename device flags to indicate it is private Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 20/26] dm: core: Rename dev_has_of_node() to dev_has_ofnode() Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 21/26] dm: core: Use dev_has_ofnode() instead of dev_of_valid() Simon Glass
2020-12-21 11:41   ` Andy Shevchenko [this message]
2020-12-28 16:26     ` Simon Glass
2021-01-04 11:01   ` Patrick DELAUNAY
2020-12-19 17:40 ` [PATCH 22/26] dm: core: Access device ofnode through functions Simon Glass
2020-12-28 16:26   ` Simon Glass
2021-01-04 13:02   ` Patrick DELAUNAY
2021-01-07 12:36     ` Simon Glass
2020-12-19 17:40 ` [PATCH 23/26] dm: core: Rename device node to indicate it is private Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 24/26] dm: core: Split out scanning code to dm_scan() Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 25/26] dm: core: Allow the uclass list to move Simon Glass
2020-12-28 16:26   ` Simon Glass
2020-12-19 17:40 ` [PATCH 26/26] dm: core: Add logging when lists_bind_fdt() fails Simon Glass
2020-12-28 16:26   ` Simon Glass

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201221114147.GN4077@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox