Commit 3f603cbbb8e175e545d6037a783e1ef82bab30f9
1 parent
b06750501f
Exists in
v2017.01-smarct4x
and in
29 other branches
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
- arch/nios2/cpu/cpu.c
- arch/x86/cpu/interrupts.c
- arch/x86/cpu/ivybridge/cpu.c
- arch/x86/cpu/ivybridge/gma.c
- arch/x86/cpu/ivybridge/sata.c
- arch/x86/cpu/ivybridge/sdram.c
- arch/x86/lib/mpspec.c
- cmd/bmp.c
- cmd/tpm.c
- drivers/gpio/rk_gpio.c
- drivers/misc/altera_sysid.c
- drivers/pci/pci-uclass.c
- drivers/power/regulator/regulator-uclass.c
- drivers/timer/timer-uclass.c
- drivers/video/vidconsole-uclass.c
- lib/tpm.c
arch/arm/mach-rockchip/rk3288/sdram_rk3288.c
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
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; |
cmd/bmp.c
... | ... | @@ -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); |
cmd/tpm.c
... | ... | @@ -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
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); |
lib/tpm.c
... | ... | @@ -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 | } |