[rt2x00-users] [PATCH 2/2] rt2x00: Unconditionally enable PCI and SOC in rt2800pci.

Helmut Schaa helmut.schaa at googlemail.com
Thu Jul 22 00:54:03 AEST 2010


Am Samstag 17 Juli 2010 schrieb Gertjan van Wingerde:
> Instead of depending on out-of-tree Kconfig variables, simply enable PCI and SOC
> unconditionally for rt2800pci. The code savings are minimally anyway, so a
> clean Kconfig system is preferred here.
> 
> Signed-off-by: Gertjan van Wingerde <gwingerde at gmail.com>
> ---

Hmm, I've got problems with that one as my SOC device kernel doesn't have PCI
enabled. Any ideas?

Helmut

> Note: Compile tested only, as I do not own a SOC device.
> 
> ---
>  drivers/net/wireless/rt2x00/Kconfig     |   18 +++-----------
>  drivers/net/wireless/rt2x00/rt2800pci.c |   40 +------------------------------
>  2 files changed, 5 insertions(+), 53 deletions(-)
> 
> diff --git a/drivers/net/wireless/rt2x00/Kconfig b/drivers/net/wireless/rt2x00/Kconfig
> index eea1ef2..491c87f 100644
> --- a/drivers/net/wireless/rt2x00/Kconfig
> +++ b/drivers/net/wireless/rt2x00/Kconfig
> @@ -53,22 +53,12 @@ config RT61PCI
>  
>  	  When compiled as a module, this driver will be called rt61pci.
>  
> -config RT2800PCI_PCI
> -	boolean
> -	depends on PCI
> -	default y
> -
> -config RT2800PCI_SOC
> -	boolean
> -	depends on RALINK_RT288X || RALINK_RT305X
> -	default y
> -
>  config RT2800PCI
> -	tristate "Ralink rt28xx/rt30xx/rt35xx (PCI/PCIe/PCMCIA) support (EXPERIMENTAL)"
> -	depends on (RT2800PCI_PCI || RT2800PCI_SOC) && EXPERIMENTAL
> +	tristate "Ralink rt28xx/rt30xx/rt35xx (PCI/PCIe/PCMCIA) support"
> +	depends on PCI
>  	select RT2800_LIB
> -	select RT2X00_LIB_PCI if RT2800PCI_PCI
> -	select RT2X00_LIB_SOC if RT2800PCI_SOC
> +	select RT2X00_LIB_PCI
> +	select RT2X00_LIB_SOC
>  	select RT2X00_LIB_HT
>  	select RT2X00_LIB_FIRMWARE
>  	select RT2X00_LIB_CRYPTO
> diff --git a/drivers/net/wireless/rt2x00/rt2800pci.c b/drivers/net/wireless/rt2x00/rt2800pci.c
> index 76d902a..0318dba 100644
> --- a/drivers/net/wireless/rt2x00/rt2800pci.c
> +++ b/drivers/net/wireless/rt2x00/rt2800pci.c
> @@ -84,20 +84,13 @@ static void rt2800pci_mcu_status(struct rt2x00_dev *rt2x00dev, const u8 token)
>  	rt2800_register_write(rt2x00dev, H2M_MAILBOX_CID, ~0);
>  }
>  
> -#ifdef CONFIG_RT2800PCI_SOC
>  static void rt2800pci_read_eeprom_soc(struct rt2x00_dev *rt2x00dev)
>  {
>  	u32 *base_addr = (u32 *) ioremap(0x1F040000, EEPROM_SIZE);
>  
>  	memcpy_fromio(rt2x00dev->eeprom, base_addr, EEPROM_SIZE);
>  }
> -#else
> -static inline void rt2800pci_read_eeprom_soc(struct rt2x00_dev *rt2x00dev)
> -{
> -}
> -#endif /* CONFIG_RT2800PCI_SOC */
>  
> -#ifdef CONFIG_RT2800PCI_PCI
>  static void rt2800pci_eepromregister_read(struct eeprom_93cx6 *eeprom)
>  {
>  	struct rt2x00_dev *rt2x00dev = eeprom->data;
> @@ -168,20 +161,6 @@ static inline void rt2800pci_read_eeprom_efuse(struct rt2x00_dev *rt2x00dev)
>  {
>  	rt2800_read_eeprom_efuse(rt2x00dev);
>  }
> -#else
> -static inline void rt2800pci_read_eeprom_pci(struct rt2x00_dev *rt2x00dev)
> -{
> -}
> -
> -static inline int rt2800pci_efuse_detect(struct rt2x00_dev *rt2x00dev)
> -{
> -	return 0;
> -}
> -
> -static inline void rt2800pci_read_eeprom_efuse(struct rt2x00_dev *rt2x00dev)
> -{
> -}
> -#endif /* CONFIG_RT2800PCI_PCI */
>  
>  /*
>   * Firmware functions
> @@ -1087,7 +1066,6 @@ static const struct rt2x00_ops rt2800pci_ops = {
>  /*
>   * RT2800pci module information.
>   */
> -#ifdef CONFIG_RT2800PCI_PCI
>  static DEFINE_PCI_DEVICE_TABLE(rt2800pci_device_table) = {
>  	{ PCI_DEVICE(0x1814, 0x0601), PCI_DEVICE_DATA(&rt2800pci_ops) },
>  	{ PCI_DEVICE(0x1814, 0x0681), PCI_DEVICE_DATA(&rt2800pci_ops) },
> @@ -1116,19 +1094,15 @@ static DEFINE_PCI_DEVICE_TABLE(rt2800pci_device_table) = {
>  #endif
>  	{ 0, }
>  };
> -#endif /* CONFIG_RT2800PCI_PCI */
>  
>  MODULE_AUTHOR(DRV_PROJECT);
>  MODULE_VERSION(DRV_VERSION);
>  MODULE_DESCRIPTION("Ralink RT2800 PCI & PCMCIA Wireless LAN driver.");
>  MODULE_SUPPORTED_DEVICE("Ralink RT2860 PCI & PCMCIA chipset based cards");
> -#ifdef CONFIG_RT2800PCI_PCI
>  MODULE_FIRMWARE(FIRMWARE_RT2860);
>  MODULE_DEVICE_TABLE(pci, rt2800pci_device_table);
> -#endif /* CONFIG_RT2800PCI_PCI */
>  MODULE_LICENSE("GPL");
>  
> -#ifdef CONFIG_RT2800PCI_SOC
>  static int rt2800soc_probe(struct platform_device *pdev)
>  {
>  	return rt2x00soc_probe(pdev, &rt2800pci_ops);
> @@ -1145,9 +1119,7 @@ static struct platform_driver rt2800soc_driver = {
>  	.suspend	= rt2x00soc_suspend,
>  	.resume		= rt2x00soc_resume,
>  };
> -#endif /* CONFIG_RT2800PCI_SOC */
>  
> -#ifdef CONFIG_RT2800PCI_PCI
>  static struct pci_driver rt2800pci_driver = {
>  	.name		= KBUILD_MODNAME,
>  	.id_table	= rt2800pci_device_table,
> @@ -1156,38 +1128,28 @@ static struct pci_driver rt2800pci_driver = {
>  	.suspend	= rt2x00pci_suspend,
>  	.resume		= rt2x00pci_resume,
>  };
> -#endif /* CONFIG_RT2800PCI_PCI */
>  
>  static int __init rt2800pci_init(void)
>  {
>  	int ret = 0;
>  
> -#ifdef CONFIG_RT2800PCI_SOC
>  	ret = platform_driver_register(&rt2800soc_driver);
>  	if (ret)
>  		return ret;
> -#endif
> -#ifdef CONFIG_RT2800PCI_PCI
> +
>  	ret = pci_register_driver(&rt2800pci_driver);
>  	if (ret) {
> -#ifdef CONFIG_RT2800PCI_SOC
>  		platform_driver_unregister(&rt2800soc_driver);
> -#endif
>  		return ret;
>  	}
> -#endif
>  
>  	return ret;
>  }
>  
>  static void __exit rt2800pci_exit(void)
>  {
> -#ifdef CONFIG_RT2800PCI_PCI
>  	pci_unregister_driver(&rt2800pci_driver);
> -#endif
> -#ifdef CONFIG_RT2800PCI_SOC
>  	platform_driver_unregister(&rt2800soc_driver);
> -#endif
>  }
>  
>  module_init(rt2800pci_init);
> 





More information about the users mailing list