[PATCH] staging: brcm80211: simplify pci_config_read/write osl routines.
Greg KH
greg at kroah.com
Sat Nov 13 00:15:26 UTC 2010
On Fri, Nov 12, 2010 at 03:28:30PM -0800, Brett Rudley wrote:
> Start simplifying osl with goal of purging it entirely.
>
> Signed-off-by: Brett Rudley <brudley at broadcom.com>
> ---
> drivers/staging/brcm80211/util/linux_osl.c | 47 +++-------------------------
> 1 files changed, 5 insertions(+), 42 deletions(-)
>
> diff --git a/drivers/staging/brcm80211/util/linux_osl.c b/drivers/staging/brcm80211/util/linux_osl.c
> index 7211f8a..461ecba 100644
> --- a/drivers/staging/brcm80211/util/linux_osl.c
> +++ b/drivers/staging/brcm80211/util/linux_osl.c
> @@ -30,8 +30,6 @@
> #include <pcicfg.h>
>
>
> -#define PCI_CFG_RETRY 10
> -
> #define OS_HANDLE_MAGIC 0x1234abcd /* Magic # to recognise osh */
> #define BCM_MEM_FILENAME_LEN 24 /* Mem. filename length */
>
> @@ -139,51 +137,16 @@ void BCMFASTPATH osl_pktfree(osl_t *osh, void *p, bool send)
>
> u32 osl_pci_read_config(osl_t *osh, uint offset, uint size)
> {
> - uint val = 0;
> - uint retry = PCI_CFG_RETRY;
> -
> - ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
> -
> - /* only 4byte access supported */
> - ASSERT(size == 4);
> -
> - do {
> - pci_read_config_dword(osh->pdev, offset, &val);
> - if (val != 0xffffffff)
> - break;
> - } while (retry--);
> -
> -#ifdef BCMDBG
> - if (retry < PCI_CFG_RETRY)
> - printk("PCI CONFIG READ access to %d required %d retries\n",
> - offset, (PCI_CFG_RETRY - retry));
> -#endif /* BCMDBG */
> -
> + uint val;
> + pci_read_config_dword(osh->pdev, offset, &val);
> return val;
Heh, that's funny. Someone went through a lot of work for no reason.
> }
>
> void osl_pci_write_config(osl_t *osh, uint offset, uint size, uint val)
> {
> - uint retry = PCI_CFG_RETRY;
> -
> - ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
> -
> - /* only 4byte access supported */
> - ASSERT(size == 4);
> -
> - do {
> - pci_write_config_dword(osh->pdev, offset, val);
> - if (offset != PCI_BAR0_WIN)
> - break;
> - if (osl_pci_read_config(osh, offset, size) == val)
> - break;
> - } while (retry--);
> -
> -#if defined(BCMDBG) && !defined(BRCM_FULLMAC)
> - if (retry < PCI_CFG_RETRY)
> - printk("PCI CONFIG WRITE access to %d required %d retries\n",
> - offset, (PCI_CFG_RETRY - retry));
> -#endif /* BCMDBG */
> + pci_write_config_dword(osh->pdev, offset, val);
> + if (offset == PCI_BAR0_WIN)
> + ASSERT(osl_pci_read_config(osh, offset, size) == val);
Do you really want to read every write that happens here for one
specific offset? Why?
And ASSERTs should be removed anyway, right?
I'll queue up the patch.
thanks,
greg k-h
More information about the devel
mailing list