[PATCH 00/29] staging: rtl8723au: Remove bad layer API

Jes.Sorensen at redhat.com Jes.Sorensen at redhat.com
Mon Jul 21 09:24:40 UTC 2014


From: Jes Sorensen <Jes.Sorensen at redhat.com>

Greg,

Another set of rtl8723au changes - this was meant to be a 'I'll just
fix this little issue' but snowballed into a fair bit more, as I
realized just how bad the original code was (patch 10 onwards).

The bulk of this set removes a bad layered API. The original driver is
trying to moduralize different components (RF handling, baseband
handling, 80211 handling etc). They try to create layer independant
types they can pass around (which is bad enough by itself), but in
this particular case they registered pointers to the original values
and derefenced those, losing all type checking in the process and kept
multiple defines of the same constants to use in each layer (patch 17). 

In addition there are a few other remove empty function fixes, and
patch 29/29 fixes a locking issue that could be relevant for 3.16.

The set is clean against staging-next as of this morning.

Cheers,
Jes

Jes Sorensen (29):
  staging: rtl8723au: Fold odm_EdcaTurboCheck23aCE23a() into
    odm_EdcaTurboCheck23a()
  staging: rtl8723au: Declare odm_EdcaTurbo*() functions static
  staging: rtl8723au: bDMInitialGainEnable is always true
  staging: rtl8723au: Remove unused DefaultInitialGain array
  staging: rtl8723au: Remove some redundant check for hw_init_completed
  staging: rtl8723au: Remove no-op rtl8723a_deinit_dm_priv()
  staging: rtl8723au: Remove no-op function dm_CheckStatistics()
  staging: rtl8723au: Remove write-only struct dm_priv->DM_Type variable
  staging: rtl8723au: Remove write-only variables struct
    dm_priv->{Init,}DMFlag
  staging: rtl8723au: Remove ODM_CMNINFO_[RT]X_UNI and related code
  staging: rtl8723au: Remove useless ODM_CMNINFO_{WM_MODE,BAND} related
    code
  staging: rtl8723au: Remove another pile of useless ODM variables
  staging: rtl8723au: Remove another pile of awful unused ODM variables
  staging: rtl8723au: We don't need two APIs to set
    pHalData->odmpriv.SupportAbility
  staging: rtl8723au: ODM_DMWatchdog23a(): Take a struct hal_data_8723a
    *
  staging: rtl8723au: Eliminate ugly ODM_CMNINFO_SEC_CHNL_OFFSET usage
  staging: rtl8723au: Eliminate ODM_CMNINFO_BW usage
  staging: rtl8723au: Eliminate ODM_CMNINFO_CHNL usage
  staging: rtl8723au: Eliminate ODM_CMNINFO_SCAN related code
  staging: rtl8723au: Eliminate ODM_CMNINFO_POWER_SAVING usage
  staging: rtl8723au: Eliminate obsolete odm_CmnInfoHook_Debug23a()
  staging: rtl8723au: Remove obsolete ODM23a_CmnInfoHook()
  staging: rtl8723au: Merge Init_ODM_ComInfo_8723a() into
    rtl8723a_init_dm_priv()
  staging: rtl8723au: odm_CommonInfoSelfInit23a(): Use proper register
    defines
  staging: rtl8723au: Remove a pile of fluff for calling into a bunch of
    no-op functions
  staging: rtl8723au: Fold rtl8723a_set_nav_upper() into
    rtl8723au_hal_init()
  staging: rtl8723au: Reduce wrapper layers around hal_{de,}init() calls
  staging: rtl8723au: Fold rtw_resume_process23a() into rtw_resume()
  staging: rtl8723au: rtw_resume(): release semaphore before exit on
    error

 drivers/staging/rtl8723au/hal/hal_com.c          |  24 +-
 drivers/staging/rtl8723au/hal/odm.c              | 291 ++++-------------------
 drivers/staging/rtl8723au/hal/odm_HWConfig.c     |   2 -
 drivers/staging/rtl8723au/hal/rtl8723a_cmd.c     |   3 +-
 drivers/staging/rtl8723au/hal/rtl8723a_dm.c      |  81 +------
 drivers/staging/rtl8723au/hal/usb_halinit.c      |  60 ++---
 drivers/staging/rtl8723au/include/hal_com.h      |   1 -
 drivers/staging/rtl8723au/include/hal_intf.h     |   5 +-
 drivers/staging/rtl8723au/include/odm.h          |  85 +------
 drivers/staging/rtl8723au/include/rtl8723a_dm.h  |   4 -
 drivers/staging/rtl8723au/include/rtl8723a_hal.h |   1 -
 drivers/staging/rtl8723au/os_dep/os_intfs.c      |   8 +-
 drivers/staging/rtl8723au/os_dep/usb_intf.c      |  15 +-
 13 files changed, 98 insertions(+), 482 deletions(-)

-- 
1.9.3



More information about the devel mailing list