Skip to content

Commit

Permalink
hw/i2c/smbus_ich9: Inline ich9_smb_init() and remove it
Browse files Browse the repository at this point in the history
ich9_smb_init() is a legacy init function, so modernize the code.

Note that the smb_io_base parameter was unused.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Acked-by: Corey Minyard <cminyard@mvista.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230213173033.98762-6-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
  • Loading branch information
shentok authored and philmd committed Feb 27, 2023
1 parent d73c2b1 commit 07981e8
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 14 deletions.
13 changes: 3 additions & 10 deletions hw/i2c/smbus_ich9.c
Expand Up @@ -105,6 +105,9 @@ static void ich9_smbus_realize(PCIDevice *d, Error **errp)
pm_smbus_init(&d->qdev, &s->smb, false);
pci_register_bar(d, ICH9_SMB_SMB_BASE_BAR, PCI_BASE_ADDRESS_SPACE_IO,
&s->smb.io);

s->smb.set_irq = ich9_smb_set_irq;
s->smb.opaque = s;
}

static void build_ich9_smb_aml(AcpiDevAmlIf *adev, Aml *scope)
Expand Down Expand Up @@ -137,16 +140,6 @@ static void ich9_smb_class_init(ObjectClass *klass, void *data)
adevc->build_dev_aml = build_ich9_smb_aml;
}

I2CBus *ich9_smb_init(PCIBus *bus, int devfn, uint32_t smb_io_base)
{
PCIDevice *d =
pci_create_simple_multifunction(bus, devfn, true, TYPE_ICH9_SMB_DEVICE);
ICH9SMBState *s = ICH9_SMB_DEVICE(d);
s->smb.set_irq = ich9_smb_set_irq;
s->smb.opaque = s;
return s->smb.smbus;
}

static const TypeInfo ich9_smb_info = {
.name = TYPE_ICH9_SMB_DEVICE,
.parent = TYPE_PCI_DEVICE,
Expand Down
11 changes: 8 additions & 3 deletions hw/i386/pc_q35.c
Expand Up @@ -315,10 +315,15 @@ static void pc_q35_init(MachineState *machine)
}

if (pcms->smbus_enabled) {
PCIDevice *smb;

/* TODO: Populate SPD eeprom data. */
pcms->smbus = ich9_smb_init(host_bus,
PCI_DEVFN(ICH9_SMB_DEV, ICH9_SMB_FUNC),
0xb100);
smb = pci_create_simple_multifunction(host_bus,
PCI_DEVFN(ICH9_SMB_DEV,
ICH9_SMB_FUNC),
true, TYPE_ICH9_SMB_DEVICE);
pcms->smbus = I2C_BUS(qdev_get_child_bus(DEVICE(smb), "i2c"));

smbus_eeprom_init(pcms->smbus, 8, NULL, 0);
}

Expand Down
1 change: 0 additions & 1 deletion include/hw/i386/ich9.h
Expand Up @@ -9,7 +9,6 @@
#include "qom/object.h"

void ich9_lpc_pm_init(PCIDevice *pci_lpc, bool smm_enabled);
I2CBus *ich9_smb_init(PCIBus *bus, int devfn, uint32_t smb_io_base);

void ich9_generate_smi(void);

Expand Down

0 comments on commit 07981e8

Please sign in to comment.