Re: [PATCH v1 3/5] ipmi: remove unused PCI probe coded

Corey Minyard
2009-12-01T23:18:46Z

On Tue, Nov 17, 2009 at 05:05:24PM -0700, Bjorn Helgaas wrote:
> --- a/drivers/char/ipmi/ipmi_si_intf.c
> +++ b/drivers/char/ipmi/ipmi_si_intf.c
> @@ -2202,7 +2202,6 @@ static int __devinit ipmi_pci_probe(struct pci_dev *pdev,
> int rv;
> int class_type = pdev->class & PCI_ERMC_CLASSCODE_TYPE_MASK;
> struct smi_info *info;
> - int first_reg_offset = 0;
>
> info = kzalloc(sizeof(*info), GFP_KERNEL);
> if (!info)
> @@ -2241,9 +2240,6 @@ static int __devinit ipmi_pci_probe(struct pci_dev *pdev,
> info->addr_source_cleanup = ipmi_pci_cleanup;
> info->addr_source_data = pdev;
>
> - if (pdev->subsystem_vendor == PCI_HP_VENDOR_ID)
> - first_reg_offset = 1;
> -
> if (pci_resource_flags(pdev, 0) & IORESOURCE_IO) {
> info->io_setup = port_setup;
> info->io.addr_type = IPMI_IO_ADDR_SPACE;
>

Unfortunately, the above patch points to some missing code later, not dead
code. The patch that follows will set it back to the original function.
Since no one has noticed, it may be best to remove the code, but as far
as I know, that HP system is the only one that uses PCI.

I looked over the other patches in this series and they look fine.

On a PCI update, the offset for HP PCI interfaces to the IPMI controller
was left off. Add the offset back in.

Signed-off-by: Corey Minyard <cminyard@mvista.com>

Index: linux-2.6.30/drivers/char/ipmi/ipmi_si_intf.c
===================================================================
--- linux-2.6.30.orig/drivers/char/ipmi/ipmi_si_intf.c
+++ linux-2.6.30/drivers/char/ipmi/ipmi_si_intf.c
@@ -2293,7 +2293,7 @@ static int __devinit ipmi_pci_probe(stru
info->io_setup = mem_setup;
info->io.addr_type = IPMI_MEM_ADDR_SPACE;
}
- info->io.addr_data = pci_resource_start(pdev, 0);
+ info->io.addr_data = pci_resource_start(pdev, 0) + first_reg_offset;

info->io.regspacing = DEFAULT_REGSPACING;
info->io.regsize = DEFAULT_REGSPACING;