From 3f603cbbb8e175e545d6037a783e1ef82bab30f9 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Thu, 11 Feb 2016 13:23:26 -0700 Subject: dm: Use uclass_first_device_err() where it is useful Use this new function in places where it simplifies the code. Signed-off-by: Simon Glass --- drivers/gpio/rk_gpio.c | 4 +--- drivers/misc/altera_sysid.c | 4 +--- drivers/pci/pci-uclass.c | 4 +--- drivers/power/regulator/regulator-uclass.c | 2 +- drivers/timer/timer-uclass.c | 4 +--- drivers/video/vidconsole-uclass.c | 6 ++---- 6 files changed, 7 insertions(+), 17 deletions(-) (limited to 'drivers') diff --git a/drivers/gpio/rk_gpio.c b/drivers/gpio/rk_gpio.c index c62f025..40e87bd 100644 --- a/drivers/gpio/rk_gpio.c +++ b/drivers/gpio/rk_gpio.c @@ -116,11 +116,9 @@ static int rockchip_gpio_probe(struct udevice *dev) /* This only supports RK3288 at present */ priv->regs = (struct rockchip_gpio_regs *)dev_get_addr(dev); - ret = uclass_first_device(UCLASS_PINCTRL, &priv->pinctrl); + ret = uclass_first_device_err(UCLASS_PINCTRL, &priv->pinctrl); if (ret) return ret; - if (!priv->pinctrl) - return -ENODEV; uc_priv->gpio_count = ROCKCHIP_GPIOS_PER_BANK; end = strrchr(dev->name, '@'); diff --git a/drivers/misc/altera_sysid.c b/drivers/misc/altera_sysid.c index 2d0fa2a..ed6d462 100644 --- a/drivers/misc/altera_sysid.c +++ b/drivers/misc/altera_sysid.c @@ -32,11 +32,9 @@ void display_sysid(void) int ret; /* the first misc device will be used */ - ret = uclass_first_device(UCLASS_MISC, &dev); + ret = uclass_first_device_err(UCLASS_MISC, &dev); if (ret) return; - if (!dev) - return; ret = misc_read(dev, 0, &sysid, sizeof(sysid)); if (ret) return; diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c index d01bfc1..519052e 100644 --- a/drivers/pci/pci-uclass.c +++ b/drivers/pci/pci-uclass.c @@ -30,11 +30,9 @@ int pci_get_bus(int busnum, struct udevice **busp) /* Since buses may not be numbered yet try a little harder with bus 0 */ if (ret == -ENODEV) { - ret = uclass_first_device(UCLASS_PCI, busp); + ret = uclass_first_device_err(UCLASS_PCI, busp); if (ret) return ret; - else if (!*busp) - return -ENODEV; ret = uclass_get_device_by_seq(UCLASS_PCI, busnum, busp); } diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c index 9fe07f2..4434e36 100644 --- a/drivers/power/regulator/regulator-uclass.c +++ b/drivers/power/regulator/regulator-uclass.c @@ -325,7 +325,7 @@ int regulators_enable_boot_on(bool verbose) if (ret) return ret; for (uclass_first_device(UCLASS_REGULATOR, &dev); - dev && !ret; + dev; uclass_next_device(&dev)) { ret = regulator_autoset(dev); if (ret == -EMEDIUMTYPE) { diff --git a/drivers/timer/timer-uclass.c b/drivers/timer/timer-uclass.c index 382c0f2..f8ddf93 100644 --- a/drivers/timer/timer-uclass.c +++ b/drivers/timer/timer-uclass.c @@ -82,11 +82,9 @@ int notrace dm_timer_init(void) node = fdtdec_get_chosen_node(blob, "tick-timer"); if (node < 0) { /* No chosen timer, trying first available timer */ - ret = uclass_first_device(UCLASS_TIMER, &dev); + ret = uclass_first_device_err(UCLASS_TIMER, &dev); if (ret) return ret; - if (!dev) - return -ENODEV; } else { if (uclass_get_device_by_of_offset(UCLASS_TIMER, node, &dev)) { /* diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c index 832e90a..c8cc05e 100644 --- a/drivers/video/vidconsole-uclass.c +++ b/drivers/video/vidconsole-uclass.c @@ -240,8 +240,7 @@ static int do_video_setcursor(cmd_tbl_t *cmdtp, int flag, int argc, if (argc != 3) return CMD_RET_USAGE; - uclass_first_device(UCLASS_VIDEO_CONSOLE, &dev); - if (!dev) + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) return CMD_RET_FAILURE; col = simple_strtoul(argv[1], NULL, 10); row = simple_strtoul(argv[2], NULL, 10); @@ -259,8 +258,7 @@ static int do_video_puts(cmd_tbl_t *cmdtp, int flag, int argc, if (argc != 2) return CMD_RET_USAGE; - uclass_first_device(UCLASS_VIDEO_CONSOLE, &dev); - if (!dev) + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev)) return CMD_RET_FAILURE; for (s = argv[1]; *s; s++) vidconsole_put_char(dev, *s); -- cgit v1.1