x86, quirks: Shut-up a long-standing gcc warning
So gcc nags about those since forever in randconfig builds. arch/x86/kernel/quirks.c: In function ‘ati_ixp4x0_rev’: arch/x86/kernel/quirks.c:361:4: warning: ‘b’ is used uninitialized in this function [-Wuninitialized] arch/x86/kernel/quirks.c: In function ‘ati_force_enable_hpet’: arch/x86/kernel/quirks.c:367:4: warning: ‘d’ may be used uninitialized in this function [-Wuninitialized] arch/x86/kernel/quirks.c:357:6: note: ‘d’ was declared here arch/x86/kernel/quirks.c:407:21: warning: ‘val’ may be used uninitialized in this function [-Wuninitialized] This function quirk is called on a SB400 chipset only anyway so the distant possibility of a PCI access failing becomes almost impossible there. Even if it did fail, then something else more serious is the problem. So zero-out the variables so that gcc shuts up but do a coarse check on the PCI accesses at the end and signal whether any of them had an error. They shouldn't but in case they do, we'll at least know and we can address it. Signed-off-by: Borislav Petkov <bp@suse.de> Link: http://lkml.kernel.org/r/1362428180-8865-6-git-send-email-bp@alien8.de Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
1423bed239
commit
73f460408c
1 changed files with 11 additions and 7 deletions
|
@ -354,18 +354,22 @@ static void ati_force_hpet_resume(void)
|
|||
|
||||
static u32 ati_ixp4x0_rev(struct pci_dev *dev)
|
||||
{
|
||||
u32 d;
|
||||
u8 b;
|
||||
int err = 0;
|
||||
u32 d = 0;
|
||||
u8 b = 0;
|
||||
|
||||
pci_read_config_byte(dev, 0xac, &b);
|
||||
err = pci_read_config_byte(dev, 0xac, &b);
|
||||
b &= ~(1<<5);
|
||||
pci_write_config_byte(dev, 0xac, b);
|
||||
pci_read_config_dword(dev, 0x70, &d);
|
||||
err |= pci_write_config_byte(dev, 0xac, b);
|
||||
err |= pci_read_config_dword(dev, 0x70, &d);
|
||||
d |= 1<<8;
|
||||
pci_write_config_dword(dev, 0x70, d);
|
||||
pci_read_config_dword(dev, 0x8, &d);
|
||||
err |= pci_write_config_dword(dev, 0x70, d);
|
||||
err |= pci_read_config_dword(dev, 0x8, &d);
|
||||
d &= 0xff;
|
||||
dev_printk(KERN_DEBUG, &dev->dev, "SB4X0 revision 0x%x\n", d);
|
||||
|
||||
WARN_ON_ONCE(err);
|
||||
|
||||
return d;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue