Commit 3f603cbbb8e175e545d6037a783e1ef82bab30f9

Authored by Simon Glass
1 parent b06750501f

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 <sjg@chromium.org>

Showing 17 changed files with 30 additions and 54 deletions Side-by-side Diff

arch/arm/mach-rockchip/rk3288/sdram_rk3288.c
... ... @@ -756,7 +756,7 @@
756 756 struct udevice *pmic;
757 757 int ret;
758 758  
759   - ret = uclass_first_device(UCLASS_PMIC, &pmic);
  759 + ret = uclass_first_device_err(UCLASS_PMIC, &pmic);
760 760 if (ret)
761 761 return ret;
762 762  
arch/nios2/cpu/cpu.c
... ... @@ -63,11 +63,9 @@
63 63 struct udevice *dev;
64 64 int ret;
65 65  
66   - ret = uclass_first_device(UCLASS_CPU, &dev);
  66 + ret = uclass_first_device_err(UCLASS_CPU, &dev);
67 67 if (ret)
68 68 return ret;
69   - if (!dev)
70   - return -ENODEV;
71 69  
72 70 gd->ram_size = CONFIG_SYS_SDRAM_SIZE;
73 71 #ifndef CONFIG_ROM_STUBS
arch/x86/cpu/interrupts.c
... ... @@ -249,7 +249,7 @@
249 249 int ret;
250 250  
251 251 /* Try to set up the interrupt router, but don't require one */
252   - ret = uclass_first_device(UCLASS_IRQ, &dev);
  252 + ret = uclass_first_device_err(UCLASS_IRQ, &dev);
253 253 if (ret && ret != -ENODEV)
254 254 return ret;
255 255  
arch/x86/cpu/ivybridge/cpu.c
... ... @@ -104,9 +104,9 @@
104 104 /* TODO(sjg@chromium.org): Get rid of gd->hose */
105 105 gd->hose = hose;
106 106  
107   - ret = uclass_first_device(UCLASS_LPC, &dev);
108   - if (!dev)
109   - return -ENODEV;
  107 + ret = uclass_first_device_err(UCLASS_LPC, &dev);
  108 + if (ret)
  109 + return ret;
110 110  
111 111 /*
112 112 * We should do as little as possible before the serial console is
113 113  
... ... @@ -210,11 +210,9 @@
210 210 /* Early chipset init required before RAM init can work */
211 211 uclass_first_device(UCLASS_NORTHBRIDGE, &dev);
212 212  
213   - ret = uclass_first_device(UCLASS_LPC, &lpc);
  213 + ret = uclass_first_device_err(UCLASS_LPC, &lpc);
214 214 if (ret)
215 215 return ret;
216   - if (!dev)
217   - return -ENODEV;
218 216  
219 217 /* Cause the SATA device to do its early init */
220 218 uclass_first_device(UCLASS_DISK, &dev);
221 219  
... ... @@ -236,11 +234,9 @@
236 234 post_code(POST_EARLY_INIT);
237 235  
238 236 /* Enable SPD ROMs and DDR-III DRAM */
239   - ret = uclass_first_device(UCLASS_I2C, &dev);
  237 + ret = uclass_first_device_err(UCLASS_I2C, &dev);
240 238 if (ret)
241 239 return ret;
242   - if (!dev)
243   - return -ENODEV;
244 240  
245 241 /* Prepare USB controller early in S3 resume */
246 242 if (boot_mode == PEI_BOOT_RESUME)
arch/x86/cpu/ivybridge/gma.c
... ... @@ -812,9 +812,9 @@
812 812 writew(0x0010, RCB_REG(DISPBDF));
813 813 setbits_le32(RCB_REG(FD2), PCH_ENABLE_DBDF);
814 814  
815   - ret = uclass_first_device(UCLASS_NORTHBRIDGE, &nbridge);
816   - if (!nbridge)
817   - return -ENODEV;
  815 + ret = uclass_first_device_err(UCLASS_NORTHBRIDGE, &nbridge);
  816 + if (ret)
  817 + return ret;
818 818 rev = bridge_silicon_revision(nbridge);
819 819 sandybridge_setup_graphics(nbridge, dev);
820 820  
arch/x86/cpu/ivybridge/sata.c
... ... @@ -229,11 +229,9 @@
229 229 struct udevice *pch;
230 230 int ret;
231 231  
232   - ret = uclass_first_device(UCLASS_PCH, &pch);
  232 + ret = uclass_first_device_err(UCLASS_PCH, &pch);
233 233 if (ret)
234 234 return ret;
235   - if (!pch)
236   - return -ENODEV;
237 235  
238 236 if (!(gd->flags & GD_FLG_RELOC))
239 237 bd82x6x_sata_enable(dev);
arch/x86/cpu/ivybridge/sdram.c
... ... @@ -736,11 +736,9 @@
736 736 struct udevice *dev, *me_dev;
737 737 int ret;
738 738  
739   - ret = uclass_first_device(UCLASS_NORTHBRIDGE, &dev);
  739 + ret = uclass_first_device_err(UCLASS_NORTHBRIDGE, &dev);
740 740 if (ret)
741 741 return ret;
742   - if (!dev)
743   - return -ENODEV;
744 742 ret = syscon_get_by_driver_data(X86_SYSCON_ME, &me_dev);
745 743 if (ret)
746 744 return ret;
arch/x86/lib/mpspec.c
... ... @@ -297,7 +297,7 @@
297 297 const u32 *cell;
298 298 int i, ret;
299 299  
300   - ret = uclass_first_device(UCLASS_IRQ, &dev);
  300 + ret = uclass_first_device_err(UCLASS_IRQ, &dev);
301 301 if (ret && ret != -ENODEV) {
302 302 debug("%s: Cannot find irq router node\n", __func__);
303 303 return ret;
... ... @@ -246,18 +246,14 @@
246 246 addr = map_to_sysmem(bmp);
247 247  
248 248 #ifdef CONFIG_DM_VIDEO
249   - ret = uclass_first_device(UCLASS_VIDEO, &dev);
  249 + ret = uclass_first_device_err(UCLASS_VIDEO, &dev);
250 250 if (!ret) {
251   - if (!dev)
252   - ret = -ENODEV;
253   - if (!ret) {
254   - bool align = false;
  251 + bool align = false;
255 252  
256 253 # ifdef CONFIG_SPLASH_SCREEN_ALIGN
257   - align = true;
  254 + align = true;
258 255 # endif /* CONFIG_SPLASH_SCREEN_ALIGN */
259   - ret = video_bmp_display(dev, addr, x, y, align);
260   - }
  256 + ret = video_bmp_display(dev, addr, x, y, align);
261 257 }
262 258 #elif defined(CONFIG_LCD)
263 259 ret = lcd_display_bitmap(addr, x, y);
... ... @@ -447,8 +447,8 @@
447 447 {
448 448 int rc;
449 449  
450   - rc = uclass_first_device(UCLASS_TPM, devp);
451   - if (rc || !*devp) {
  450 + rc = uclass_first_device_err(UCLASS_TPM, devp);
  451 + if (rc) {
452 452 printf("Could not find TPM (ret=%d)\n", rc);
453 453 return CMD_RET_FAILURE;
454 454 }
drivers/gpio/rk_gpio.c
... ... @@ -116,11 +116,9 @@
116 116  
117 117 /* This only supports RK3288 at present */
118 118 priv->regs = (struct rockchip_gpio_regs *)dev_get_addr(dev);
119   - ret = uclass_first_device(UCLASS_PINCTRL, &priv->pinctrl);
  119 + ret = uclass_first_device_err(UCLASS_PINCTRL, &priv->pinctrl);
120 120 if (ret)
121 121 return ret;
122   - if (!priv->pinctrl)
123   - return -ENODEV;
124 122  
125 123 uc_priv->gpio_count = ROCKCHIP_GPIOS_PER_BANK;
126 124 end = strrchr(dev->name, '@');
drivers/misc/altera_sysid.c
... ... @@ -32,10 +32,8 @@
32 32 int ret;
33 33  
34 34 /* the first misc device will be used */
35   - ret = uclass_first_device(UCLASS_MISC, &dev);
  35 + ret = uclass_first_device_err(UCLASS_MISC, &dev);
36 36 if (ret)
37   - return;
38   - if (!dev)
39 37 return;
40 38 ret = misc_read(dev, 0, &sysid, sizeof(sysid));
41 39 if (ret)
drivers/pci/pci-uclass.c
... ... @@ -30,11 +30,9 @@
30 30  
31 31 /* Since buses may not be numbered yet try a little harder with bus 0 */
32 32 if (ret == -ENODEV) {
33   - ret = uclass_first_device(UCLASS_PCI, busp);
  33 + ret = uclass_first_device_err(UCLASS_PCI, busp);
34 34 if (ret)
35 35 return ret;
36   - else if (!*busp)
37   - return -ENODEV;
38 36 ret = uclass_get_device_by_seq(UCLASS_PCI, busnum, busp);
39 37 }
40 38  
drivers/power/regulator/regulator-uclass.c
... ... @@ -325,7 +325,7 @@
325 325 if (ret)
326 326 return ret;
327 327 for (uclass_first_device(UCLASS_REGULATOR, &dev);
328   - dev && !ret;
  328 + dev;
329 329 uclass_next_device(&dev)) {
330 330 ret = regulator_autoset(dev);
331 331 if (ret == -EMEDIUMTYPE) {
drivers/timer/timer-uclass.c
... ... @@ -82,11 +82,9 @@
82 82 node = fdtdec_get_chosen_node(blob, "tick-timer");
83 83 if (node < 0) {
84 84 /* No chosen timer, trying first available timer */
85   - ret = uclass_first_device(UCLASS_TIMER, &dev);
  85 + ret = uclass_first_device_err(UCLASS_TIMER, &dev);
86 86 if (ret)
87 87 return ret;
88   - if (!dev)
89   - return -ENODEV;
90 88 } else {
91 89 if (uclass_get_device_by_of_offset(UCLASS_TIMER, node, &dev)) {
92 90 /*
drivers/video/vidconsole-uclass.c
... ... @@ -240,8 +240,7 @@
240 240 if (argc != 3)
241 241 return CMD_RET_USAGE;
242 242  
243   - uclass_first_device(UCLASS_VIDEO_CONSOLE, &dev);
244   - if (!dev)
  243 + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
245 244 return CMD_RET_FAILURE;
246 245 col = simple_strtoul(argv[1], NULL, 10);
247 246 row = simple_strtoul(argv[2], NULL, 10);
... ... @@ -259,8 +258,7 @@
259 258 if (argc != 2)
260 259 return CMD_RET_USAGE;
261 260  
262   - uclass_first_device(UCLASS_VIDEO_CONSOLE, &dev);
263   - if (!dev)
  261 + if (uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev))
264 262 return CMD_RET_FAILURE;
265 263 for (s = argv[1]; *s; s++)
266 264 vidconsole_put_char(dev, *s);
... ... @@ -242,7 +242,7 @@
242 242 response_length = sizeof(response_buffer);
243 243 }
244 244  
245   - ret = uclass_first_device(UCLASS_TPM, &dev);
  245 + ret = uclass_first_device_err(UCLASS_TPM, &dev);
246 246 if (ret)
247 247 return ret;
248 248 err = tpm_xfer(dev, command, tpm_command_size(command),
... ... @@ -261,8 +261,8 @@
261 261 int err;
262 262 struct udevice *dev;
263 263  
264   - err = uclass_first_device(UCLASS_TPM, &dev);
265   - if (err || !dev)
  264 + err = uclass_first_device_err(UCLASS_TPM, &dev);
  265 + if (err)
266 266 return err;
267 267 return tpm_open(dev);
268 268 }