From ceb32d1a829006e1bdb3df4780ac9ecf70cbb331 Mon Sep 17 00:00:00 2001 From: yz70s Date: Sun, 22 Dec 2019 22:43:49 +0100 Subject: Corrections to legacy pci (nw) --- src/devices/bus/lpci/pci.cpp | 8 ++++---- src/devices/bus/lpci/pci.h | 9 ++++----- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/devices/bus/lpci/pci.cpp b/src/devices/bus/lpci/pci.cpp index 4a9ccaa1da7..41591758c7d 100644 --- a/src/devices/bus/lpci/pci.cpp +++ b/src/devices/bus/lpci/pci.cpp @@ -91,8 +91,8 @@ DEFINE_DEVICE_TYPE(PCI_BUS, pci_bus_device, "pci_bus", "PCI Bus") //------------------------------------------------- pci_bus_device::pci_bus_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, PCI_BUS, tag, owner, clock), m_busnum(0), - m_father(nullptr), m_address(0), m_devicenum(0), m_busnumber(0), m_busnumaddr(nullptr), - m_pcifather(*this, finder_base::DUMMY_TAG) + m_address(0), m_devicenum(0), m_busnumber(0), m_busnumaddr(nullptr), + m_father(*this, finder_base::DUMMY_TAG) { for (auto & elem : m_devtag) { elem= nullptr; @@ -285,8 +285,8 @@ void pci_bus_device::device_start() m_device[i] = nullptr; } - if (m_pcifather.found()) - m_pcifather->add_sibling(this, m_busnum); + if (m_father.found()) + m_father->add_sibling(this, m_busnum); /* register pci states */ save_item(NAME(m_address)); diff --git a/src/devices/bus/lpci/pci.h b/src/devices/bus/lpci/pci.h index a77191b1d1c..83606aec5da 100644 --- a/src/devices/bus/lpci/pci.h +++ b/src/devices/bus/lpci/pci.h @@ -79,9 +79,9 @@ public: DECLARE_WRITE64_MEMBER( write_64be ); void set_busnum(int busnum) { m_busnum = busnum; } - void set_father(const char* father) { m_father = father; m_pcifather.set_tag(m_father); } - void set_device(int num, const char *tag) { - m_devtag[num] = tag; } + template + void set_father(T &&tag) { m_father.set_tag(std::forward(tag)); } + void set_device(int num, const char *tag) { m_devtag[num] = tag; } pci_bus_device *pci_search_bustree(int busnum, int devicenum, pci_bus_device *pcibus); void add_sibling(pci_bus_device *sibling, int busnum); @@ -100,7 +100,6 @@ private: const char * m_devtag[32]; pci_device_interface *m_device[32]; - const char * m_father; pci_bus_device * m_siblings[8]; uint8_t m_siblings_busnum[8]; int m_siblings_count; @@ -110,7 +109,7 @@ private: int8_t m_busnumber; // pci bus number we are addressing pci_bus_device * m_busnumaddr; // pci bus we are addressing - optional_device m_pcifather; + optional_device m_father; }; // device type definition -- cgit v1.2.3