Patchwork pci: fix i82801b11 bridge

login
register
mail settings
Submitter Gerd Hoffmann
Date Aug. 5, 2013, 8:50 a.m.
Message ID <1375692609-3730-1-git-send-email-kraxel@redhat.com>
Download mbox | patch
Permalink /patch/264620/
State New
Headers show

Comments

Gerd Hoffmann - Aug. 5, 2013, 8:50 a.m.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/pci-bridge/i82801b11.c |    1 +
 1 file changed, 1 insertion(+)
Andreas Färber - Aug. 5, 2013, 9:45 a.m.
Am 05.08.2013 10:50, schrieb Gerd Hoffmann:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  hw/pci-bridge/i82801b11.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
> index 8a5e426..14cd7fd 100644
> --- a/hw/pci-bridge/i82801b11.c
> +++ b/hw/pci-bridge/i82801b11.c
> @@ -90,6 +90,7 @@ static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
>      k->device_id = PCI_DEVICE_ID_INTEL_82801BA_11;
>      k->revision = ICH9_D2P_A2_REVISION;
>      k->init = i82801b11_bridge_initfn;
> +    k->config_write = pci_bridge_write_config;
>      set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
>  }
>  

We have an abstract TYPE_PCI_BRIDGE now, suggest to set it in its
class_init instead if that's a generic bridge function.

Probably should be for-1.6?

Cheers,
Andreas
Gerd Hoffmann - Aug. 5, 2013, 10:33 a.m.
On 08/05/13 11:45, Andreas Färber wrote:
> Am 05.08.2013 10:50, schrieb Gerd Hoffmann:
>> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>> ---
>>  hw/pci-bridge/i82801b11.c |    1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
>> index 8a5e426..14cd7fd 100644
>> --- a/hw/pci-bridge/i82801b11.c
>> +++ b/hw/pci-bridge/i82801b11.c
>> @@ -90,6 +90,7 @@ static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
>>      k->device_id = PCI_DEVICE_ID_INTEL_82801BA_11;
>>      k->revision = ICH9_D2P_A2_REVISION;
>>      k->init = i82801b11_bridge_initfn;
>> +    k->config_write = pci_bridge_write_config;
>>      set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
>>  }
>>  
> 
> We have an abstract TYPE_PCI_BRIDGE now, suggest to set it in its
> class_init instead if that's a generic bridge function.

Well, depends on the bridge device.  When they have stuff beside core
pci bridge functionality (such as shpc hotplug support like the
'pci-bridge' device) they need their private function.  But those can
still override config_write in the device init I guess.

/me leaves that to mst to decide.  Beside that it should most likely go
into a separate cleanup patch as there are other devices which hook
pci_bridge_write_config the same way.

> Probably should be for-1.6?

Yes.

cheers,
  Gerd
Michael S. Tsirkin - Aug. 5, 2013, 3:39 p.m.
On Mon, Aug 05, 2013 at 12:33:14PM +0200, Gerd Hoffmann wrote:
> On 08/05/13 11:45, Andreas Färber wrote:
> > Am 05.08.2013 10:50, schrieb Gerd Hoffmann:
> >> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> >> ---
> >>  hw/pci-bridge/i82801b11.c |    1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
> >> index 8a5e426..14cd7fd 100644
> >> --- a/hw/pci-bridge/i82801b11.c
> >> +++ b/hw/pci-bridge/i82801b11.c
> >> @@ -90,6 +90,7 @@ static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
> >>      k->device_id = PCI_DEVICE_ID_INTEL_82801BA_11;
> >>      k->revision = ICH9_D2P_A2_REVISION;
> >>      k->init = i82801b11_bridge_initfn;
> >> +    k->config_write = pci_bridge_write_config;
> >>      set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> >>  }
> >>  
> > 
> > We have an abstract TYPE_PCI_BRIDGE now, suggest to set it in its
> > class_init instead if that's a generic bridge function.
> 
> Well, depends on the bridge device.  When they have stuff beside core
> pci bridge functionality (such as shpc hotplug support like the
> 'pci-bridge' device) they need their private function.  But those can
> still override config_write in the device init I guess.
> 
> /me leaves that to mst to decide.  Beside that it should most likely go
> into a separate cleanup patch as there are other devices which hook
> pci_bridge_write_config the same way.

Yea, it's probably not 1.6 material.


> > Probably should be for-1.6?
> 
> Yes.
> 
> cheers,
>   Gerd
>

Patch

diff --git a/hw/pci-bridge/i82801b11.c b/hw/pci-bridge/i82801b11.c
index 8a5e426..14cd7fd 100644
--- a/hw/pci-bridge/i82801b11.c
+++ b/hw/pci-bridge/i82801b11.c
@@ -90,6 +90,7 @@  static void i82801b11_bridge_class_init(ObjectClass *klass, void *data)
     k->device_id = PCI_DEVICE_ID_INTEL_82801BA_11;
     k->revision = ICH9_D2P_A2_REVISION;
     k->init = i82801b11_bridge_initfn;
+    k->config_write = pci_bridge_write_config;
     set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
 }