Commit 60b4925d authored by Sui Jingfeng's avatar Sui Jingfeng Committed by Bjorn Helgaas
Browse files

PCI/VGA: Correct vga_update_device_decodes() parameter type

Previously vga_update_device_decodes() took "int new_decodes", but the
callers pass "unsigned int new_decodes".  Correct the
vga_update_device_decodes() parameter type to "unsigned int" to match.

In vga_arbiter_notify_clients(), the return from vgadev->set_decode() is
"unsigned int" but was stored as "uint32_t new_decodes".  Correct the
new_decodes type to "unsigned int".

[bhelgaas: use correct type for ->set_decode() return, commit log]
Link: https://lore.kernel.org/r/20230808223412.1743176-5-sui.jingfeng@linux.dev


Signed-off-by: default avatarSui Jingfeng <suijingfeng@loongson.cn>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
parent 04c1c3c4
Loading
Loading
Loading
Loading
+12 −13
Original line number Diff line number Diff line
@@ -864,24 +864,23 @@ static bool vga_arbiter_del_pci_device(struct pci_dev *pdev)
	return ret;
}

/* this is called with the lock */
static inline void vga_update_device_decodes(struct vga_device *vgadev,
					     int new_decodes)
/* This is called with the lock */
static void vga_update_device_decodes(struct vga_device *vgadev,
				      unsigned int new_decodes)
{
	struct device *dev = &vgadev->pdev->dev;
	int old_decodes, decodes_removed, decodes_unlocked;
	unsigned int old_decodes = vgadev->decodes;
	unsigned int decodes_removed = ~new_decodes & old_decodes;
	unsigned int decodes_unlocked = vgadev->locks & decodes_removed;

	old_decodes = vgadev->decodes;
	decodes_removed = ~new_decodes & old_decodes;
	decodes_unlocked = vgadev->locks & decodes_removed;
	vgadev->decodes = new_decodes;

	vgaarb_info(dev, "changed VGA decodes: olddecodes=%s,decodes=%s:owns=%s\n",
	vgaarb_info(dev, "VGA decodes changed: olddecodes=%s,decodes=%s:owns=%s\n",
		    vga_iostate_to_str(old_decodes),
		    vga_iostate_to_str(vgadev->decodes),
		    vga_iostate_to_str(vgadev->owns));

	/* if we removed locked decodes, lock count goes to zero, and release */
	/* If we removed locked decodes, lock count goes to zero, and release */
	if (decodes_unlocked) {
		if (decodes_unlocked & VGA_RSRC_LEGACY_IO)
			vgadev->io_lock_cnt = 0;
@@ -1472,7 +1471,7 @@ static void vga_arbiter_notify_clients(void)
{
	struct vga_device *vgadev;
	unsigned long flags;
	uint32_t new_decodes;
	unsigned int new_decodes;
	bool new_state;

	if (!vga_arbiter_used)