Search Linux Wireless

Re: [PATCH 2/7] ath5k: Remove opaque pointers from ath5k_hw_attach()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2007/11/1, Luis R. Rodriguez <mcgrof@xxxxxxxxx>:
> Since we don't have a HAL anymore there is no point to use opaque pointers
> in ath5k_hw_attach(). This will also give hw.c access to ath5k_softc
> structure now when needed. While we're at it, lets also give some ah_sh
> a reasonable name, ah_sh --> ah_iobase.
>
> Changes to base.c
> Changes-licensed-under: 3-clause-BSD
>
> Changes to ath5k.h, hw.c
> Changes-licensed-under: ISC
>
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxx>
> ---
>  drivers/net/wireless/ath5k/ath5k.h |   10 +++++-----
>  drivers/net/wireless/ath5k/base.c  |    2 +-
>  drivers/net/wireless/ath5k/hw.c    |   11 +++++------
>  3 files changed, 11 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/net/wireless/ath5k/ath5k.h b/drivers/net/wireless/ath5k/ath5k.h
> index 4122466..20567b1 100644
> --- a/drivers/net/wireless/ath5k/ath5k.h
> +++ b/drivers/net/wireless/ath5k/ath5k.h
> @@ -943,8 +943,8 @@ struct ath5k_capabilities {
>  struct ath5k_hw {
>         u32                     ah_magic;
>
> -       void                    *ah_sc;
> -       void __iomem            *ah_sh;
> +       struct ath5k_softc      *ah_sc;
> +       void __iomem            *ah_iobase;
>
>         enum ath5k_int          ah_imr;
>
> @@ -1042,7 +1042,7 @@ struct ath5k_hw {
>  /* General Functions */
>  extern int ath5k_hw_register_timeout(struct ath5k_hw *ah, u32 reg, u32 flag, u32 val, bool is_set);
>  /* Attach/Detach Functions */
> -extern struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc, void __iomem *sh);
> +extern struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version);
>  extern const struct ath5k_rate_table *ath5k_hw_get_rate_table(struct ath5k_hw *ah, unsigned int mode);
>  extern void ath5k_hw_detach(struct ath5k_hw *ah);
>  /* Reset Functions */
> @@ -1151,12 +1151,12 @@ extern int ath5k_hw_set_txpower_limit(struct ath5k_hw *ah, unsigned int power);
>
>  static inline u32 ath5k_hw_reg_read(struct ath5k_hw *ah, u16 reg)
>  {
> -       return ioread32(ah->ah_sh + reg);
> +       return ioread32(ah->ah_iobase + reg);
>  }
>
>  static inline void ath5k_hw_reg_write(struct ath5k_hw *ah, u32 val, u16 reg)
>  {
> -       iowrite32(val, ah->ah_sh + reg);
> +       iowrite32(val, ah->ah_iobase + reg);
>  }
>
>  #endif
> diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c
> index 4b4ddf4..15ae868 100644
> --- a/drivers/net/wireless/ath5k/base.c
> +++ b/drivers/net/wireless/ath5k/base.c
> @@ -559,7 +559,7 @@ ath5k_pci_probe(struct pci_dev *pdev,
>         }
>
>         /* Initialize device */
> -       sc->ah = ath5k_hw_attach(pdev->device, id->driver_data, sc, sc->iobase);
> +       sc->ah = ath5k_hw_attach(sc, id->driver_data);
>         if (IS_ERR(sc->ah)) {
>                 ret = PTR_ERR(sc->ah);
>                 goto err_irq;
> diff --git a/drivers/net/wireless/ath5k/hw.c b/drivers/net/wireless/ath5k/hw.c
> index 8ac88e7..320e32e 100644
> --- a/drivers/net/wireless/ath5k/hw.c
> +++ b/drivers/net/wireless/ath5k/hw.c
> @@ -27,8 +27,8 @@
>  #include <linux/pci.h>
>  #include <linux/delay.h>
>
> -#include "ath5k.h"
>  #include "reg.h"
> +#include "base.h"
>
>  /*Rate tables*/
>  static const struct ath5k_rate_table ath5k_rt_11a = AR5K_RATES_11A;
> @@ -187,8 +187,7 @@ int ath5k_hw_register_timeout(struct ath5k_hw *ah, u32 reg, u32 flag, u32 val,
>  /*
>   * Check if the device is supported and initialize the needed structs
>   */
> -struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc,
> -               void __iomem *sh)
> +struct ath5k_hw *ath5k_hw_attach(struct ath5k_softc *sc, u8 mac_version)
>  {
>         struct ath5k_hw *ah;
>         u8 mac[ETH_ALEN];
> @@ -204,7 +203,7 @@ struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc,
>         }
>
>         ah->ah_sc = sc;
> -       ah->ah_sh = sh;
> +       ah->ah_iobase = sc->iobase;
>
>         /*
>          * HW information
> @@ -323,7 +322,7 @@ struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc,
>         ret = ath5k_hw_get_capabilities(ah);
>         if (ret) {
>                 AR5K_PRINTF("unable to get device capabilities: 0x%04x\n",
> -                       device);
> +                       sc->pdev->device);
>                 goto err_free;
>         }
>
> @@ -331,7 +330,7 @@ struct ath5k_hw *ath5k_hw_attach(u16 device, u8 mac_version, void *sc,
>         ret = ath5k_eeprom_read_mac(ah, mac);
>         if (ret) {
>                 AR5K_PRINTF("unable to read address from EEPROM: 0x%04x\n",
> -                       device);
> +                       sc->pdev->device);
>                 goto err_free;
>         }
>
> --
> 1.5.2.5
>

Acked-by: Nick Kossifidis <mickflemm@xxxxxxxxx>

-- 
GPG ID: 0xD21DB2DB
As you read this post global entropy rises. Have Fun ;-)
Nick
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux