diff options
author | Sui Jingfeng <suijingfeng@loongson.cn> | 2023-08-09 06:34:08 +0800 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2023-08-23 17:19:14 -0500 |
commit | 4582db1d0a41ed07de140a8bfe8e802749579563 (patch) | |
tree | 5fdb1f0b57e904e01a8fb5c3376a424304116546 /drivers/pci/vgaarb.c | |
parent | b421364a905e05d62f889786d25954c5a4128c80 (diff) |
PCI/VGA: Simplify vga_client_register()
Reorganize vga_client_register() to avoid the goto and the need to save the
return value. Update the kernel-doc to reflect -ENODEV on failure. No
functional change intended.
[bhelgaas: drop "ret" variable, commit log]
Link: https://lore.kernel.org/r/20230808223412.1743176-8-sui.jingfeng@linux.dev
Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/vgaarb.c')
-rw-r--r-- | drivers/pci/vgaarb.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c index 685681b0e5af..93e15dab5501 100644 --- a/drivers/pci/vgaarb.c +++ b/drivers/pci/vgaarb.c @@ -967,27 +967,22 @@ EXPORT_SYMBOL(vga_set_legacy_decoding); * * To unregister just call vga_client_unregister(). * - * Returns: 0 on success, -1 on failure + * Returns: 0 on success, -ENODEV on failure */ int vga_client_register(struct pci_dev *pdev, unsigned int (*set_decode)(struct pci_dev *pdev, bool decode)) { - int ret = -ENODEV; - struct vga_device *vgadev; unsigned long flags; + struct vga_device *vgadev; spin_lock_irqsave(&vga_lock, flags); vgadev = vgadev_find(pdev); - if (!vgadev) - goto bail; - - vgadev->set_decode = set_decode; - ret = 0; - -bail: + if (vgadev) + vgadev->set_decode = set_decode; spin_unlock_irqrestore(&vga_lock, flags); - return ret; - + if (!vgadev) + return -ENODEV; + return 0; } EXPORT_SYMBOL(vga_client_register); |