[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 13/20] hw/i2c/smbus_ich9: Inline ich9_smb_init() and remove it
From: |
Bernhard Beschow |
Subject: |
[PATCH v2 13/20] hw/i2c/smbus_ich9: Inline ich9_smb_init() and remove it |
Date: |
Tue, 31 Jan 2023 12:53:19 +0100 |
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>
---
include/hw/i386/ich9.h | 1 -
hw/i2c/smbus_ich9.c | 13 +++----------
hw/i386/pc_q35.c | 11 ++++++++---
3 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/include/hw/i386/ich9.h b/include/hw/i386/ich9.h
index 05464f6965..52ea116f44 100644
--- a/include/hw/i386/ich9.h
+++ b/include/hw/i386/ich9.h
@@ -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);
diff --git a/hw/i2c/smbus_ich9.c b/hw/i2c/smbus_ich9.c
index 06d97ac942..c7fdf32db0 100644
--- a/hw/i2c/smbus_ich9.c
+++ b/hw/i2c/smbus_ich9.c
@@ -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)
@@ -140,16 +143,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,
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index a4d5c89409..fab8e57913 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -312,10 +312,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);
}
--
2.39.1
- Re: [PATCH v2 04/20] hw/i386/pc_q35: Resolve redundant q35_host variable, (continued)
- [PATCH v2 07/20] hw/i386/pc: Initialize ram_memory variable directly, Bernhard Beschow, 2023/01/31
- [PATCH v2 08/20] hw/i386/ich9: Rename Q35_MASK to ICH9_MASK, Bernhard Beschow, 2023/01/31
- [PATCH v2 09/20] hw/isa/lpc_ich9: Unexport PIRQ functions, Bernhard Beschow, 2023/01/31
- [PATCH v2 10/20] hw/isa/lpc_ich9: Eliminate ICH9LPCState::isa_bus, Bernhard Beschow, 2023/01/31
- [PATCH v2 11/20] hw/isa/lpc_ich9: Reuse memory and io address space of PCI bus, Bernhard Beschow, 2023/01/31
- [PATCH v2 12/20] hw/i2c/smbus_ich9: Move ich9_smb_set_irq() in front of ich9_smbus_realize(), Bernhard Beschow, 2023/01/31
- [PATCH v2 13/20] hw/i2c/smbus_ich9: Inline ich9_smb_init() and remove it,
Bernhard Beschow <=
- [PATCH v2 14/20] hw/i386/pc_q35: Allow for setting properties before realizing TYPE_ICH9_LPC_DEVICE, Bernhard Beschow, 2023/01/31
- [PATCH v2 15/20] hw/isa/lpc_ich9: Connect pm stuff to lpc internally, Bernhard Beschow, 2023/01/31
- [PATCH v2 17/20] hw/i386/ich9: Remove redundant GSI_NUM_PINS, Bernhard Beschow, 2023/01/31
- [PATCH v2 16/20] hw/isa/lpc_ich9: Remove redundant ich9_lpc_reset() invocation, Bernhard Beschow, 2023/01/31
- [PATCH v2 18/20] hw: Move ioapic*.h to intc/, Bernhard Beschow, 2023/01/31
- [PATCH v2 19/20] hw/i386/ich9: Clean up includes, Bernhard Beschow, 2023/01/31
- [PATCH v2 20/20] hw: Move ich9.h to southbridge/, Bernhard Beschow, 2023/01/31