hw/ide/via82c: Convert reset handler to DeviceReset
The VIA82C686B IDE controller is a PCI device, it will be reset when the PCI bus it stands on is reset. Convert its reset handler into a proper Device reset method. Reviewed-by: Li Qiang <liq3ea@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20191010131527.32513-6-philmd@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
		
							parent
							
								
									d96c81f9b8
								
							
						
					
					
						commit
						71d3bacd7f
					
				
							
								
								
									
										10
									
								
								hw/ide/via.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								hw/ide/via.c
									
									
									
									
									
								
							@ -29,7 +29,6 @@
 | 
			
		||||
#include "migration/vmstate.h"
 | 
			
		||||
#include "qemu/module.h"
 | 
			
		||||
#include "sysemu/dma.h"
 | 
			
		||||
#include "sysemu/reset.h"
 | 
			
		||||
 | 
			
		||||
#include "hw/ide/pci.h"
 | 
			
		||||
#include "trace.h"
 | 
			
		||||
@ -120,10 +119,10 @@ static void via_ide_set_irq(void *opaque, int n, int level)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void via_ide_reset(void *opaque)
 | 
			
		||||
static void via_ide_reset(DeviceState *dev)
 | 
			
		||||
{
 | 
			
		||||
    PCIIDEState *d = opaque;
 | 
			
		||||
    PCIDevice *pd = PCI_DEVICE(d);
 | 
			
		||||
    PCIIDEState *d = PCI_IDE(dev);
 | 
			
		||||
    PCIDevice *pd = PCI_DEVICE(dev);
 | 
			
		||||
    uint8_t *pci_conf = pd->config;
 | 
			
		||||
    int i;
 | 
			
		||||
 | 
			
		||||
@ -172,8 +171,6 @@ static void via_ide_realize(PCIDevice *dev, Error **errp)
 | 
			
		||||
    pci_set_long(pci_conf + PCI_CAPABILITY_LIST, 0x000000c0);
 | 
			
		||||
    dev->wmask[PCI_INTERRUPT_LINE] = 0xf;
 | 
			
		||||
 | 
			
		||||
    qemu_register_reset(via_ide_reset, d);
 | 
			
		||||
 | 
			
		||||
    memory_region_init_io(&d->data_bar[0], OBJECT(d), &pci_ide_data_le_ops,
 | 
			
		||||
                          &d->bus[0], "via-ide0-data", 8);
 | 
			
		||||
    pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &d->data_bar[0]);
 | 
			
		||||
@ -229,6 +226,7 @@ static void via_ide_class_init(ObjectClass *klass, void *data)
 | 
			
		||||
    DeviceClass *dc = DEVICE_CLASS(klass);
 | 
			
		||||
    PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 | 
			
		||||
 | 
			
		||||
    dc->reset = via_ide_reset;
 | 
			
		||||
    k->realize = via_ide_realize;
 | 
			
		||||
    k->exit = via_ide_exitfn;
 | 
			
		||||
    k->vendor_id = PCI_VENDOR_ID_VIA;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user