[coreboot] [PATCH] v2: Trim i82801xx driver to only a sensible subset

Uwe Hermann uwe at hermann-uwe.de
Thu Oct 23 22:00:38 CEST 2008


On Fri, Oct 17, 2008 at 07:06:21PM +0200, Uwe Hermann wrote:
> See patch.
> 
> ICH0-ICH6 make sense for this driver, ICH7 and higher will be in a
> different driver/directory.
> 
> AFAIK Stefan has been (or still is) working on a (yet to be released)
> ICH7 driver which is totally different from the other i82801xx stuff
> so it makes perfect sense to put it in a different driver/directory.
> 
> Uwe.
> -- 
> http://www.hermann-uwe.de  | http://www.holsham-traders.de
> http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

> Trim down the list of southbridges supported by the i82801xx driver
> to only a set of reasonably similar ones, namely (for now) ICH0* - ICH6*,
> and C-ICH.
> 
> All later ICH* southbridges (ICH7-ICH10) are _very_ different and were surely
> not working with this driver anyway (and there's no chance to support
> them reasonably with this driver without ending up in #ifdef hell).
> 
> ICH7* will have an extra driver later, whether ICH8-ICH10 are similar
> enough to be supported by that ICH7 driver remains to be seen.
> 
> Signed-off-by: Uwe Hermann <uwe at hermann-uwe.de>

*ping*

Any objections?


> Index: src/southbridge/intel/i82801xx/i82801xx_ac97.c
> ===================================================================
> --- src/southbridge/intel/i82801xx/i82801xx_ac97.c	(Revision 3667)
> +++ src/southbridge/intel/i82801xx/i82801xx_ac97.c	(Arbeitskopie)
> @@ -126,19 +126,3 @@
>  	.vendor	= PCI_VENDOR_ID_INTEL,
>  	.device	= PCI_DEVICE_ID_INTEL_82801FB_AC97_MODEM,
>  };
> -
> -/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
> -/* Note: 82801GU (ICH7-U) doesn't have AC97 audio/modem. */
> -static const struct pci_driver i82801gb_ac97_audio __pci_driver = {
> -	.ops	= &ac97_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_AC97_AUDIO,
> -};
> -
> -static const struct pci_driver i82801gb_ac97_modem __pci_driver = {
> -	.ops	= &ac97_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_AC97_MODEM,
> -};
> -
> -/* Note: There's no AC97 audio/modem on ICH8/ICH9/C-ICH. */
> Index: src/southbridge/intel/i82801xx/i82801xx_nic.c
> ===================================================================
> --- src/southbridge/intel/i82801xx/i82801xx_nic.c	(Revision 3667)
> +++ src/southbridge/intel/i82801xx/i82801xx_nic.c	(Arbeitskopie)
> @@ -63,28 +63,6 @@
>  	.device	= PCI_DEVICE_ID_INTEL_82801FB_LAN,
>  };
>  
> -/* 82801GB/GR/GDH/GBM/GHM (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH) */
> -/* Note: 82801GU (ICH7-U) doesn't have a NIC. */
> -static const struct pci_driver i82801gb_nic __pci_driver = {
> -	.ops	= &nic_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_LAN,
> -};
> -
> -/* 82801HB/HR/HDH/HDO/HBM/HEM (ICH8/ICH8R/ICH8DH/ICH8DO/ICH8M/ICH8M-E) */
> -static const struct pci_driver i82801hb_nic __pci_driver = {
> -	.ops	= &nic_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_LAN,
> -};
> -
> -/* 82801IB/IR/IH/IO (ICH9/ICH9R/ICH9DH/ICH9DO) */
> -static const struct pci_driver i82801ib_nic __pci_driver = {
> -	.ops	= &nic_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_LAN,
> -};
> -
>  /* 82801E (C-ICH) */
>  static const struct pci_driver i82801e_nic1 __pci_driver = {
>  	.ops	= &nic_ops,
> Index: src/southbridge/intel/i82801xx/i82801xx_smbus.c
> ===================================================================
> --- src/southbridge/intel/i82801xx/i82801xx_smbus.c	(Revision 3667)
> +++ src/southbridge/intel/i82801xx/i82801xx_smbus.c	(Arbeitskopie)
> @@ -101,27 +101,6 @@
>  	.device	= PCI_DEVICE_ID_INTEL_82801FB_SMB,
>  };
>  
> -/* 82801GB/GR/GDH/GBM/GHM/GU (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH/ICH7-U) */
> -static const struct pci_driver i82801gb_smb __pci_driver = {
> -	.ops	= &smbus_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_SMB,
> -};
> -
> -/* 82801HB/HR/HDH/HDO/HBM/HEM (ICH8/ICH8R/ICH8DH/ICH8DO/ICH8M/ICH8M-E) */
> -static const struct pci_driver i82801hb_smb __pci_driver = {
> -	.ops	= &smbus_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_LAN,
> -};
> -
> -/* 82801IB/IR/IH/IO (ICH9/ICH9R/ICH9DH/ICH9DO) */
> -static const struct pci_driver i82801ib_smb __pci_driver = {
> -	.ops	= &smbus_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_SMB,
> -};
> -
>  /* 82801E (C-ICH) */
>  static const struct pci_driver i82801e_smb __pci_driver = {
>  	.ops	= &smbus_ops,
> Index: src/southbridge/intel/i82801xx/i82801xx_usb.c
> ===================================================================
> --- src/southbridge/intel/i82801xx/i82801xx_usb.c	(Revision 3667)
> +++ src/southbridge/intel/i82801xx/i82801xx_usb.c	(Arbeitskopie)
> @@ -155,99 +155,6 @@
>  	.device	= PCI_DEVICE_ID_INTEL_82801FB_USB4,
>  };
>  
> -/* 82801GB/GR/GDH/GBM/GHM/GU (ICH7/ICH7R/ICH7DH/ICH7-M/ICH7-M DH/ICH7-U) */
> -static const struct pci_driver i82801gb_usb1 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_USB1,
> -};
> -
> -static const struct pci_driver i82801gb_usb2 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_USB2,
> -};
> -
> -static const struct pci_driver i82801gb_usb3 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_USB3,
> -};
> -
> -static const struct pci_driver i82801gb_usb4 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801GB_USB4,
> -};
> -
> -/* 82801HB/HR/HDH/HDO/HBM/HEM (ICH8/ICH8R/ICH8DH/ICH8DO/ICH8M/ICH8M-E) */
> -static const struct pci_driver i82801hb_usb1 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_USB1,
> -};
> -
> -static const struct pci_driver i82801hb_usb2 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_USB2,
> -};
> -
> -static const struct pci_driver i82801hb_usb3 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_USB3,
> -};
> -
> -static const struct pci_driver i82801hb_usb4 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_USB4,
> -};
> -
> -static const struct pci_driver i82801hb_usb5 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801HB_USB5,
> -};
> -
> -/* 82801IB/IR/IH/IO (ICH9/ICH9R/ICH9DH/ICH9DO) */
> -static const struct pci_driver i82801ib_usb1 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_USB1,
> -};
> -
> -static const struct pci_driver i82801ib_usb2 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_USB2,
> -};
> -
> -static const struct pci_driver i82801ib_usb3 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_USB3,
> -};
> -
> -static const struct pci_driver i82801ib_usb4 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_USB4,
> -};
> -
> -static const struct pci_driver i82801ib_usb5 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_USB5,
> -};
> -
> -static const struct pci_driver i82801ib_usb6 __pci_driver = {
> -	.ops	= &usb_ops,
> -	.vendor	= PCI_VENDOR_ID_INTEL,
> -	.device	= PCI_DEVICE_ID_INTEL_82801IB_USB6,
> -};
> -
>  /* 82801E (C-ICH) */
>  static const struct pci_driver i82801e_usb __pci_driver = {
>  	.ops	= &usb_ops,

> --
> coreboot mailing list: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot

-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org




More information about the coreboot mailing list