Re: [PATCH v2 0/2] staging: panel: fix sparse warnings.
Hi Bastien, On Fri, Apr 18, 2014 at 06:09:18PM +0200, Bastien Armand wrote: This serie of two patch fix the following sparse warnings in panel.c : panel.c:1235:26: warning: incorrect type in argument 1 (different address spaces) panel.c:1235:26:expected void const volatile [noderef] asn:1*noident panel.c:1235:26:got char const *tmp panel.c:1353:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) panel.c:1353:20:expected int ( *write )( ... ) panel.c:1353:20:got int ( static [toplevel] *noident )( ... ) panel.c:1591:17: warning: incorrect type in argument 1 (different address spaces) panel.c:1591:17:expected void const volatile [noderef] asn:1*noident panel.c:1591:17:got char *tmp panel.c:1620:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) panel.c:1620:20:expected int ( *read )( ... ) panel.c:1620:20:got int ( static [toplevel] *noident )( ... ) Changes since v1 : - splitted patch in two Bastien Armand (2): staging: panel: fix sparse warnings in keypad_read staging: panel: fix sparse warnings in lcd_write Just reviewed them both and I'm fine with these patches. You can add my : Acked-by: Willy Tarreau w...@1wt.eu Willy ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 00/10] staging: rtl8188eu: Refactor and cleanup led related code.
From: navin patidar navin.pati...@gmail.com This patch series refactors and performs various cleanups on the driver's code responsible for led functionality. navin patidar (10): staging: rtl8188eu: Remove empty header file staging: rtl8188eu: Remove rtw_led_blink_cmd() function. staging: rtl8188eu: Remove _ReadLEDSetting() function. staging: rtl8188eu: Remove _InitHWLed() function. staging: rtl8188eu: Simplify led blinking strategy code. staging: rtl8188eu: Remove enum LED_STRATEGY_871x . staging: rtl8188eu: refactor led related structures. staging: rtl8188eu: Remove unused macros. staging: rtl8188eu: Remove unused enum LED_STATE_871x members. staging: rtl8188eu: Remove unused enum LED_CTL_MODE members. drivers/staging/rtl8188eu/core/rtw_cmd.c | 35 - drivers/staging/rtl8188eu/core/rtw_led.c | 1415 ++-- drivers/staging/rtl8188eu/hal/rtl8188eu_led.c | 43 +- drivers/staging/rtl8188eu/hal/usb_halinit.c| 26 - drivers/staging/rtl8188eu/include/drv_types.h |1 - .../staging/rtl8188eu/include/drv_types_linux.h| 24 - drivers/staging/rtl8188eu/include/rtw_cmd.h|1 - drivers/staging/rtl8188eu/include/rtw_led.h| 119 +- 8 files changed, 137 insertions(+), 1527 deletions(-) delete mode 100644 drivers/staging/rtl8188eu/include/drv_types_linux.h -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 01/10] staging: rtl8188eu: Remove empty header file
drv_types_linux.h is empty, so remove the header file and its reference. Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/include/drv_types.h |1 - .../staging/rtl8188eu/include/drv_types_linux.h| 24 2 files changed, 25 deletions(-) delete mode 100644 drivers/staging/rtl8188eu/include/drv_types_linux.h diff --git a/drivers/staging/rtl8188eu/include/drv_types.h b/drivers/staging/rtl8188eu/include/drv_types.h index 936c196..10cc1a1 100644 --- a/drivers/staging/rtl8188eu/include/drv_types.h +++ b/drivers/staging/rtl8188eu/include/drv_types.h @@ -31,7 +31,6 @@ #include osdep_service.h #include wlan_bssdef.h -#include drv_types_linux.h #include rtw_ht.h #include rtw_cmd.h #include rtw_xmit.h diff --git a/drivers/staging/rtl8188eu/include/drv_types_linux.h b/drivers/staging/rtl8188eu/include/drv_types_linux.h deleted file mode 100644 index 812b744..000 --- a/drivers/staging/rtl8188eu/include/drv_types_linux.h +++ /dev/null @@ -1,24 +0,0 @@ -/** - * - * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * - **/ -#ifndef __DRV_TYPES_LINUX_H__ -#define __DRV_TYPES_LINUX_H__ - - -#endif -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 02/10] staging: rtl8188eu: Remove rtw_led_blink_cmd() function.
rtw_led_blink_cmd() isn't being used by driver. Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/core/rtw_cmd.c| 35 --- drivers/staging/rtl8188eu/include/rtw_cmd.h |1 - 2 files changed, 36 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_cmd.c b/drivers/staging/rtl8188eu/core/rtw_cmd.c index c2fb050..1e0b8b4 100644 --- a/drivers/staging/rtl8188eu/core/rtw_cmd.c +++ b/drivers/staging/rtl8188eu/core/rtw_cmd.c @@ -1431,41 +1431,6 @@ exit: return res; } -u8 rtw_led_blink_cmd(struct adapter *padapter, struct LED_871x *pLed) -{ - struct cmd_obj *pcmdobj; - struct LedBlink_param *ledBlink_param; - struct cmd_priv *pcmdpriv = padapter-cmdpriv; - - u8 res = _SUCCESS; - - - RT_TRACE(_module_rtl871x_cmd_c_, _drv_notice_, (+rtw_led_blink_cmd\n)); - - pcmdobj = (struct cmd_obj *)rtw_zmalloc(sizeof(struct cmd_obj)); - if (pcmdobj == NULL) { - res = _FAIL; - goto exit; - } - - ledBlink_param = (structLedBlink_param *)rtw_zmalloc(sizeof(struct LedBlink_param)); - if (ledBlink_param == NULL) { - kfree(pcmdobj); - res = _FAIL; - goto exit; - } - - ledBlink_param-pLed = pLed; - - init_h2fwcmd_w_parm_no_rsp(pcmdobj, ledBlink_param, GEN_CMD_CODE(_LedBlink)); - res = rtw_enqueue_cmd(pcmdpriv, pcmdobj); - -exit: - - - return res; -} - u8 rtw_set_csa_cmd(struct adapter *padapter, u8 new_ch_no) { struct cmd_obj *pcmdobj; diff --git a/drivers/staging/rtl8188eu/include/rtw_cmd.h b/drivers/staging/rtl8188eu/include/rtw_cmd.h index 3d34702..66467f7 100644 --- a/drivers/staging/rtl8188eu/include/rtw_cmd.h +++ b/drivers/staging/rtl8188eu/include/rtw_cmd.h @@ -807,7 +807,6 @@ u8 rtw_chk_hi_queue_cmd(struct adapter *padapter); u8 rtw_set_ch_cmd(struct adapter *padapter, u8 ch, u8 bw, u8 ch_offset, u8 enqueue); u8 rtw_set_chplan_cmd(struct adapter *padapter, u8 chplan, u8 enqueue); -u8 rtw_led_blink_cmd(struct adapter *padapter, struct LED_871x *pLed); u8 rtw_set_csa_cmd(struct adapter *padapter, u8 new_ch_no); u8 rtw_tdls_cmd(struct adapter *padapter, u8 *addr, u8 option); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 05/10] staging: rtl8188eu: Simplify led blinking strategy code.
driver has code to blink the led in 7 different ways. struct led_priv contains an enum LED_STRATEGY_871x variable which is initialized to SW_LED_MODE1 inside rtl8188eu_InitSwLeds() function. it means driver is hard coded to use only SW_LED_MODE1 blinking strategy. so we can remove the code related to other blinking strategies e.g. SW_LED_MODE[0|2|3|4|5|6]. Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/core/rtw_led.c | 1412 +++--- 1 file changed, 101 insertions(+), 1311 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_led.c b/drivers/staging/rtl8188eu/core/rtw_led.c index 42b41ab..c42e176 100644 --- a/drivers/staging/rtl8188eu/core/rtw_led.c +++ b/drivers/staging/rtl8188eu/core/rtw_led.c @@ -40,7 +40,6 @@ void BlinkTimerCallback(void *data) /* */ /* Description: */ /* Callback function of LED BlinkWorkItem. */ -/* We dispatch acture LED blink action according to LedStrategy. */ /* */ void BlinkWorkItemCallback(struct work_struct *work) { @@ -101,87 +100,6 @@ void DeInitLed871x(struct LED_871x *pLed) /* It toggle off LED and schedule corresponding timer if necessary. */ /* */ -static void SwLedBlink(struct LED_871x *pLed) -{ - struct adapter *padapter = pLed-padapter; - struct mlme_priv *pmlmepriv = (padapter-mlmepriv); - u8 bStopBlinking = false; - - /* Change LED according to BlinkingLedState specified. */ - if (pLed-BlinkingLedState == RTW_LED_ON) { - SwLedOn(padapter, pLed); - RT_TRACE(_module_rtl8712_led_c_, _drv_info_, (Blinktimes (%d): turn on\n, pLed-BlinkTimes)); - } else { - SwLedOff(padapter, pLed); - RT_TRACE(_module_rtl8712_led_c_, _drv_info_, (Blinktimes (%d): turn off\n, pLed-BlinkTimes)); - } - - /* Determine if we shall change LED state again. */ - pLed-BlinkTimes--; - switch (pLed-CurrLedState) { - case LED_BLINK_NORMAL: - if (pLed-BlinkTimes == 0) - bStopBlinking = true; - break; - case LED_BLINK_StartToBlink: - if (check_fwstate(pmlmepriv, _FW_LINKED) check_fwstate(pmlmepriv, WIFI_STATION_STATE)) - bStopBlinking = true; - if (check_fwstate(pmlmepriv, _FW_LINKED) - (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE))) - bStopBlinking = true; - else if (pLed-BlinkTimes == 0) - bStopBlinking = true; - break; - case LED_BLINK_WPS: - if (pLed-BlinkTimes == 0) - bStopBlinking = true; - break; - default: - bStopBlinking = true; - break; - } - - if (bStopBlinking) { - /* if (padapter-pwrctrlpriv.cpwm = PS_STATE_S2) */ - if (0) { - SwLedOff(padapter, pLed); - } else if ((check_fwstate(pmlmepriv, _FW_LINKED)) (!pLed-bLedOn)) { - SwLedOn(padapter, pLed); - } else if ((check_fwstate(pmlmepriv, _FW_LINKED)) pLed-bLedOn) { - SwLedOff(padapter, pLed); - } - pLed-BlinkTimes = 0; - pLed-bLedBlinkInProgress = false; - } else { - /* Assign LED state to toggle. */ - if (pLed-BlinkingLedState == RTW_LED_ON) - pLed-BlinkingLedState = RTW_LED_OFF; - else - pLed-BlinkingLedState = RTW_LED_ON; - - /* Schedule a timer to toggle LED state. */ - switch (pLed-CurrLedState) { - case LED_BLINK_NORMAL: - _set_timer((pLed-BlinkTimer), LED_BLINK_NORMAL_INTERVAL); - break; - case LED_BLINK_SLOWLY: - case LED_BLINK_StartToBlink: - _set_timer((pLed-BlinkTimer), LED_BLINK_SLOWLY_INTERVAL); - break; - case LED_BLINK_WPS: - if (pLed-BlinkingLedState == RTW_LED_ON) - _set_timer((pLed-BlinkTimer), LED_BLINK_LONG_INTERVAL); - else - _set_timer((pLed-BlinkTimer), LED_BLINK_LONG_INTERVAL); - break; - default: - _set_timer((pLed-BlinkTimer), LED_BLINK_SLOWLY_INTERVAL); - break; - } - } -} - static void SwLedBlink1(struct LED_871x *pLed) { struct adapter *padapter = pLed-padapter; @@ -277,1051 +195,115 @@ static void SwLedBlink1(struct LED_871x *pLed) } pLed-BlinkTimes = 0; pLed-bLedBlinkInProgress = false; -
[PATCH 03/10] staging: rtl8188eu: Remove _ReadLEDSetting() function.
_ReadLEDSetting() doesn't read led settings this function actually initialize member variables of struct led_priv, we should do that inside rtl8188eu_InitSwLeds(). Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/hal/rtl8188eu_led.c |4 drivers/staging/rtl8188eu/hal/usb_halinit.c | 12 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c index 08dfd94..01eeb70 100644 --- a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c +++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c @@ -92,8 +92,12 @@ exit: void rtl8188eu_InitSwLeds(struct adapter *padapter) { struct led_priv *pledpriv = (padapter-ledpriv); + struct hal_data_8188e *haldata = GET_HAL_DATA(padapter); + pledpriv-bRegUseLed = true; + pledpriv-LedStrategy = SW_LED_MODE1; pledpriv-LedControlHandler = LedControl8188eu; + haldata-bLedOpenDrain = true; InitLed871x(padapter, (pledpriv-SwLed0), LED_PIN_LED0); diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c index c92067f..0dfd62b 100644 --- a/drivers/staging/rtl8188eu/hal/usb_halinit.c +++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c @@ -1129,16 +1129,6 @@ static unsigned int rtl8188eu_inirp_deinit(struct adapter *Adapter) /* EEPROM/EFUSE Content Parsing */ /* */ /* */ -static void _ReadLEDSetting(struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail) -{ - struct led_priv *pledpriv = (Adapter-ledpriv); - struct hal_data_8188e *haldata = GET_HAL_DATA(Adapter); - - pledpriv-bRegUseLed = true; - pledpriv-LedStrategy = SW_LED_MODE1; - haldata-bLedOpenDrain = true;/* Support Open-drain arrangement for controlling the LED. */ -} - static void Hal_EfuseParsePIDVID_8188EU(struct adapter *adapt, u8 *hwinfo, bool AutoLoadFail) { struct hal_data_8188e *haldata = GET_HAL_DATA(adapt); @@ -1215,8 +1205,6 @@ readAdapterInfo_8188EU( /* */ Hal_InitChannelPlan(adapt); Hal_CustomizeByCustomerID_8188EU(adapt); - - _ReadLEDSetting(adapt, eeprom-efuse_eeprom_data, eeprom-bautoload_fail_flag); } static void _ReadPROMContent( -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 04/10] staging: rtl8188eu: Remove _InitHWLed() function.
_InitHWLed() function does nothing. Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/hal/usb_halinit.c | 14 -- 1 file changed, 14 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/usb_halinit.c b/drivers/staging/rtl8188eu/hal/usb_halinit.c index 0dfd62b..617e4c6 100644 --- a/drivers/staging/rtl8188eu/hal/usb_halinit.c +++ b/drivers/staging/rtl8188eu/hal/usb_halinit.c @@ -424,18 +424,6 @@ static void _InitBeaconMaxError(struct adapter *Adapter, bool InfraMode) { } -static void _InitHWLed(struct adapter *Adapter) -{ - struct led_priv *pledpriv = (Adapter-ledpriv); - - if (pledpriv-LedStrategy != HW_LED) - return; - -/* HW led control */ -/* to do */ -/* must consider cases of antenna diversity/ commbo card/solo card/mini card */ -} - static void _InitRDGSetting(struct adapter *Adapter) { rtw_write8(Adapter, REG_RD_CTRL, 0xFF); @@ -870,8 +858,6 @@ static u32 rtl8188eu_hal_init(struct adapter *Adapter) rtw_write16(Adapter, REG_PKT_VO_VI_LIFE_TIME, 0x0400); /* unit: 256us. 256ms */ rtw_write16(Adapter, REG_PKT_BE_BK_LIFE_TIME, 0x0400); /* unit: 256us. 256ms */ - _InitHWLed(Adapter); - /* Keep RfRegChnlVal for later use. */ haldata-RfRegChnlVal[0] = PHY_QueryRFReg(Adapter, (enum rf_radio_path)0, RF_CHNLBW, bRFRegOffsetMask); haldata-RfRegChnlVal[1] = PHY_QueryRFReg(Adapter, (enum rf_radio_path)1, RF_CHNLBW, bRFRegOffsetMask); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 06/10] staging: rtl8188eu: Remove enum LED_STRATEGY_871x .
Now driver has only one type of led blinking strategy, so we don't need enum LED_STRATEGY_871x variable to store led blinking strategy type. Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/hal/rtl8188eu_led.c |1 - drivers/staging/rtl8188eu/include/rtw_led.h | 18 -- 2 files changed, 19 deletions(-) diff --git a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c index 01eeb70..e3c86f7 100644 --- a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c +++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c @@ -95,7 +95,6 @@ void rtl8188eu_InitSwLeds(struct adapter *padapter) struct hal_data_8188e *haldata = GET_HAL_DATA(padapter); pledpriv-bRegUseLed = true; - pledpriv-LedStrategy = SW_LED_MODE1; pledpriv-LedControlHandler = LedControl8188eu; haldata-bLedOpenDrain = true; diff --git a/drivers/staging/rtl8188eu/include/rtw_led.h b/drivers/staging/rtl8188eu/include/rtw_led.h index 0da4e27..690c82a 100644 --- a/drivers/staging/rtl8188eu/include/rtw_led.h +++ b/drivers/staging/rtl8188eu/include/rtw_led.h @@ -143,30 +143,12 @@ struct LED_871x { (((struct LED_871x *)_LED_871x)-bLedWPSBlinkInProgress || \ ((struct LED_871x *)_LED_871x)-bLedScanBlinkInProgress) -/* LED customization. */ - -enum LED_STRATEGY_871x { - SW_LED_MODE0 = 0, /* SW control 1 LED via GPIO0. It is default option.*/ - SW_LED_MODE1 = 1, /* 2 LEDs, through LED0 and LED1. For ALPHA. */ - SW_LED_MODE2 = 2, /* SW control 1 LED via GPIO0, customized for AzWave - * 8187 minicard. */ - SW_LED_MODE3 = 3, /* SW control 1 LED via GPIO0, customized for Sercomm - * Printer Server case. */ - SW_LED_MODE4 = 4, /* for Edimax / Belkin */ - SW_LED_MODE5 = 5, /* for Sercomm / Belkin */ - SW_LED_MODE6 = 6, /* for 88CU minicard, porting from ce SW_LED_MODE7 */ - HW_LED = 50, /* HW control 2 LEDs, LED0 and LED1 (there are 4 - * different control modes, see MAC.CONFIG1 for details.)*/ - LED_ST_NONE = 99, -}; - void LedControl8188eu(struct adapter *padapter, enum LED_CTL_MODE LedAction); struct led_priv{ /* add for led control */ struct LED_871x SwLed0; struct LED_871x SwLed1; - enum LED_STRATEGY_871x LedStrategy; u8 bRegUseLed; void (*LedControlHandler)(struct adapter *padapter, enum LED_CTL_MODE LedAction); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 07/10] staging: rtl8188eu: refactor led related structures.
struct led_priv contains two variables SwLed0 and SwLed1 but only SwLed0 is being used by SwLedControlModel1() function. SwLedControlModel1() function performs led operations. This patch removes SwLed1 and code which uses SwLed1. Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/core/rtw_led.c |3 +- drivers/staging/rtl8188eu/hal/rtl8188eu_led.c | 40 ++--- drivers/staging/rtl8188eu/include/rtw_led.h | 14 + 3 files changed, 11 insertions(+), 46 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_led.c b/drivers/staging/rtl8188eu/core/rtw_led.c index c42e176..87d6f06 100644 --- a/drivers/staging/rtl8188eu/core/rtw_led.c +++ b/drivers/staging/rtl8188eu/core/rtw_led.c @@ -70,10 +70,9 @@ void ResetLedStatus(struct LED_871x *pLed) /*Description: */ /* Initialize an LED_871x object. */ -void InitLed871x(struct adapter *padapter, struct LED_871x *pLed, enum LED_PIN_871x LedPin) +void InitLed871x(struct adapter *padapter, struct LED_871x *pLed) { pLed-padapter = padapter; - pLed-LedPin = LedPin; ResetLedStatus(pLed); diff --git a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c index e3c86f7..77dce58 100644 --- a/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c +++ b/drivers/staging/rtl8188eu/hal/rtl8188eu_led.c @@ -35,16 +35,7 @@ void SwLedOn(struct adapter *padapter, struct LED_871x *pLed) if (padapter-bSurpriseRemoved || padapter-bDriverStopped) return; LedCfg = rtw_read8(padapter, REG_LEDCFG2); - switch (pLed-LedPin) { - case LED_PIN_LED0: - rtw_write8(padapter, REG_LEDCFG2, (LedCfg0xf0)|BIT5|BIT6); /* SW control led0 on. */ - break; - case LED_PIN_LED1: - rtw_write8(padapter, REG_LEDCFG2, (LedCfg0x0f)|BIT5); /* SW control led1 on. */ - break; - default: - break; - } + rtw_write8(padapter, REG_LEDCFG2, (LedCfg0xf0)|BIT5|BIT6); /* SW control led0 on. */ pLed-bLedOn = true; } @@ -60,25 +51,15 @@ void SwLedOff(struct adapter *padapter, struct LED_871x *pLed) LedCfg = rtw_read8(padapter, REG_LEDCFG2);/* 0x4E */ - switch (pLed-LedPin) { - case LED_PIN_LED0: - if (pHalData-bLedOpenDrain) { + if (pHalData-bLedOpenDrain) { /* Open-drain arrangement for controlling the LED) */ - LedCfg = 0x90; /* Set to software control. */ - rtw_write8(padapter, REG_LEDCFG2, (LedCfg|BIT3)); - LedCfg = rtw_read8(padapter, REG_MAC_PINMUX_CFG); - LedCfg = 0xFE; - rtw_write8(padapter, REG_MAC_PINMUX_CFG, LedCfg); - } else { - rtw_write8(padapter, REG_LEDCFG2, (LedCfg|BIT3|BIT5|BIT6)); - } - break; - case LED_PIN_LED1: - LedCfg = 0x0f; /* Set to software control. */ + LedCfg = 0x90; /* Set to software control. */ rtw_write8(padapter, REG_LEDCFG2, (LedCfg|BIT3)); - break; - default: - break; + LedCfg = rtw_read8(padapter, REG_MAC_PINMUX_CFG); + LedCfg = 0xFE; + rtw_write8(padapter, REG_MAC_PINMUX_CFG, LedCfg); + } else { + rtw_write8(padapter, REG_LEDCFG2, (LedCfg|BIT3|BIT5|BIT6)); } exit: pLed-bLedOn = false; @@ -98,9 +79,7 @@ void rtl8188eu_InitSwLeds(struct adapter *padapter) pledpriv-LedControlHandler = LedControl8188eu; haldata-bLedOpenDrain = true; - InitLed871x(padapter, (pledpriv-SwLed0), LED_PIN_LED0); - - InitLed871x(padapter, (pledpriv-SwLed1), LED_PIN_LED1); + InitLed871x(padapter, (pledpriv-SwLed0)); } /* Description: */ @@ -110,5 +89,4 @@ void rtl8188eu_DeInitSwLeds(struct adapter *padapter) struct led_priv *ledpriv = (padapter-ledpriv); DeInitLed871x((ledpriv-SwLed0)); - DeInitLed871x((ledpriv-SwLed1)); } diff --git a/drivers/staging/rtl8188eu/include/rtw_led.h b/drivers/staging/rtl8188eu/include/rtw_led.h index 690c82a..ed1c687 100644 --- a/drivers/staging/rtl8188eu/include/rtw_led.h +++ b/drivers/staging/rtl8188eu/include/rtw_led.h @@ -96,19 +96,9 @@ enum LED_STATE_871x { LED_BLINK_ALWAYS_ON = 16, }; -enum LED_PIN_871x { - LED_PIN_NULL = 0, - LED_PIN_LED0 = 1, - LED_PIN_LED1 = 2, - LED_PIN_LED2 = 3, - LED_PIN_GPIO0 = 4, -}; - struct LED_871x { struct adapter *padapter; - enum LED_PIN_871x LedPin; /* Identify how to implement this -* SW led. */ enum LED_STATE_871x CurrLedState; /* Current LED state. */ enum LED_STATE_871x BlinkingLedState; /* Next state for blinking,
[PATCH 09/10] staging: rtl8188eu: Remove unused enum LED_STATE_871x members.
Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/include/rtw_led.h | 30 +-- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/rtw_led.h b/drivers/staging/rtl8188eu/include/rtw_led.h index 2f81fab..2ad7e4a 100644 --- a/drivers/staging/rtl8188eu/include/rtw_led.h +++ b/drivers/staging/rtl8188eu/include/rtw_led.h @@ -47,26 +47,16 @@ enum LED_CTL_MODE { }; enum LED_STATE_871x { - LED_UNKNOWN = 0, - RTW_LED_ON = 1, - RTW_LED_OFF = 2, - LED_BLINK_NORMAL = 3, - LED_BLINK_SLOWLY = 4, - LED_BLINK_POWER_ON = 5, - LED_BLINK_SCAN = 6, /* LED is blinking during scanning period, -* the # of times to blink is depend on time -* for scanning. */ - LED_BLINK_NO_LINK = 7, /* LED is blinking during no link state. */ - LED_BLINK_StartToBlink = 8,/* Customzied for Sercomm Printer - * Server case */ - LED_BLINK_TXRX = 9, - LED_BLINK_WPS = 10, /* LED is blinkg during WPS communication */ - LED_BLINK_WPS_STOP = 11,/* for ALPHA */ - LED_BLINK_WPS_STOP_OVERLAP = 12,/* for BELKIN */ - LED_BLINK_RUNTOP = 13, /* Customized for RunTop */ - LED_BLINK_CAMEO = 14, - LED_BLINK_XAVI = 15, - LED_BLINK_ALWAYS_ON = 16, + LED_UNKNOWN, + RTW_LED_ON, + RTW_LED_OFF, + LED_BLINK_NORMAL, + LED_BLINK_SLOWLY, + LED_BLINK_POWER_ON, + LED_BLINK_SCAN, + LED_BLINK_TXRX, + LED_BLINK_WPS, + LED_BLINK_WPS_STOP }; struct LED_871x { -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 08/10] staging: rtl8188eu: Remove unused macros.
Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/include/rtw_led.h | 31 --- 1 file changed, 31 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/rtw_led.h b/drivers/staging/rtl8188eu/include/rtw_led.h index ed1c687..2f81fab 100644 --- a/drivers/staging/rtl8188eu/include/rtw_led.h +++ b/drivers/staging/rtl8188eu/include/rtw_led.h @@ -23,39 +23,12 @@ #include osdep_service.h #include drv_types.h -#define MSECS(t)(HZ * ((t) / 1000) + (HZ * ((t) % 1000)) / 1000) - -#define LED_BLINK_NORMAL_INTERVAL 100 -#define LED_BLINK_SLOWLY_INTERVAL 200 -#define LED_BLINK_LONG_INTERVAL400 - #define LED_BLINK_NO_LINK_INTERVAL_ALPHA 1000 #define LED_BLINK_LINK_INTERVAL_ALPHA 500 /* 500 */ #define LED_BLINK_SCAN_INTERVAL_ALPHA 180 /* 150 */ #define LED_BLINK_FASTER_INTERVAL_ALPHA50 #define LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA5000 -#define LED_BLINK_NORMAL_INTERVAL_NETTRONIX100 -#define LED_BLINK_SLOWLY_INTERVAL_NETTRONIX2000 - -#define LED_BLINK_SLOWLY_INTERVAL_PORNET 1000 -#define LED_BLINK_NORMAL_INTERVAL_PORNET 100 - -#define LED_BLINK_FAST_INTERVAL_BITLAND30 - -/* 060403, rcnjko: Customized for AzWave. */ -#define LED_CM2_BLINK_ON_INTERVAL 250 -#define LED_CM2_BLINK_OFF_INTERVAL 4750 - -#define LED_CM8_BLINK_INTERVAL 500 /* for QMI */ -#define LED_CM8_BLINK_OFF_INTERVAL 3750/* for QMI */ - -/* 080124, lanhsin: Customized for RunTop */ -#define LED_RunTop_BLINK_INTERVAL 300 - -/* 060421, rcnjko: Customized for Sercomm Printer Server case. */ -#define LED_CM3_BLINK_INTERVAL 1500 - enum LED_CTL_MODE { LED_CTL_POWER_ON = 1, LED_CTL_LINK = 2, @@ -129,10 +102,6 @@ struct LED_871x { ((struct LED_871x *)_LED_871x)-CurrLedState == LED_BLINK_WPS_STOP || \ ((struct LED_871x *)_LED_871x)-bLedWPSBlinkInProgress) -#define IS_LED_BLINKING(_LED_871x) \ - (((struct LED_871x *)_LED_871x)-bLedWPSBlinkInProgress || \ - ((struct LED_871x *)_LED_871x)-bLedScanBlinkInProgress) - void LedControl8188eu(struct adapter *padapter, enum LED_CTL_MODE LedAction); struct led_priv{ -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 10/10] staging: rtl8188eu: Remove unused enum LED_CTL_MODE members.
Signed-off-by: navin patidar navin.pati...@gmail.com --- drivers/staging/rtl8188eu/include/rtw_led.h | 26 -- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/drivers/staging/rtl8188eu/include/rtw_led.h b/drivers/staging/rtl8188eu/include/rtw_led.h index 2ad7e4a..c5194b6 100644 --- a/drivers/staging/rtl8188eu/include/rtw_led.h +++ b/drivers/staging/rtl8188eu/include/rtw_led.h @@ -30,20 +30,18 @@ #define LED_BLINK_WPS_SUCESS_INTERVAL_ALPHA5000 enum LED_CTL_MODE { - LED_CTL_POWER_ON = 1, - LED_CTL_LINK = 2, - LED_CTL_NO_LINK = 3, - LED_CTL_TX = 4, - LED_CTL_RX = 5, - LED_CTL_SITE_SURVEY = 6, - LED_CTL_POWER_OFF = 7, - LED_CTL_START_TO_LINK = 8, - LED_CTL_START_WPS = 9, - LED_CTL_STOP_WPS = 10, - LED_CTL_START_WPS_BOTTON = 11, /* added for runtop */ - LED_CTL_STOP_WPS_FAIL = 12, /* added for ALPHA */ - LED_CTL_STOP_WPS_FAIL_OVERLAP = 13, /* added for BELKIN */ - LED_CTL_CONNECTION_NO_TRANSFER = 14, + LED_CTL_POWER_ON, + LED_CTL_LINK, + LED_CTL_NO_LINK, + LED_CTL_TX, + LED_CTL_RX , + LED_CTL_SITE_SURVEY, + LED_CTL_POWER_OFF, + LED_CTL_START_TO_LINK, + LED_CTL_START_WPS, + LED_CTL_STOP_WPS, + LED_CTL_START_WPS_BOTTON, + LED_CTL_STOP_WPS_FAIL }; enum LED_STATE_871x { -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/1] staging: android: Fix warning cast removes address space of expression
Fix sparse warning cast removes address space of expression Add lost flag __user due to cast Signed-off-by: Camille Bordignon camille.bordig...@gmail.com --- diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c index cfe4bc8..952c4ae 100644 --- a/drivers/staging/android/binder.c +++ b/drivers/staging/android/binder.c @@ -2683,16 +2683,21 @@ static long binder_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) binder_free_thread(proc, thread); thread = NULL; break; - case BINDER_VERSION: - if (size != sizeof(struct binder_version)) { + case BINDER_VERSION: { + struct binder_version __user *bv = ubuf; + + if (size != sizeof(*bv)) { ret = -EINVAL; goto err; } - if (put_user(BINDER_CURRENT_PROTOCOL_VERSION, ((struct binder_version *)ubuf)-protocol_version)) { + + if (put_user(BINDER_CURRENT_PROTOCOL_VERSION, + bv-protocol_version)) { ret = -EINVAL; goto err; } break; + } default: ret = -EINVAL; goto err; ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging:dgap:dgap_tty.c: Upgraded driver to use Mutex instead of semaphore
On Sun, Apr 20, 2014 at 10:19:14AM +0530, Kumar Gaurav wrote: Hi All, Any update on below patch. Do i need to make any modification? Please give an overworked maintainer a chance to catch up on his email. If after a week you haven't heard anything, then ask again. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 2/2] Staging: dgnc: dgnc_driver: fixed incorrect braces
From: Son P. Nguyen fastmu...@gmail.com Fixed incorrect braces (coding style) Signed-off-by: Son P. Nguyen fastmu...@gmail.com --- drivers/staging/dgnc/dgnc_driver.c | 21 +++-- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c index 6af1ab3..de76eb5 100644 --- a/drivers/staging/dgnc/dgnc_driver.c +++ b/drivers/staging/dgnc/dgnc_driver.c @@ -158,8 +158,7 @@ struct board_id { unsigned int is_pci_express; }; -static struct board_id dgnc_Ids[] = -{ +static struct board_id dgnc_Ids[] = { { PCI_DEVICE_CLASSIC_4_PCI_NAME, 4, 0 }, { PCI_DEVICE_CLASSIC_4_422_PCI_NAME, 4, 0 }, { PCI_DEVICE_CLASSIC_8_PCI_NAME, 8, 0 }, @@ -224,9 +223,8 @@ int dgnc_init_module(void) */ rc = dgnc_start(); - if (rc 0) { + if (rc 0) return rc; - } /* * Find and configure all the cards @@ -244,8 +242,7 @@ int dgnc_init_module(void) pr_warn(WARNING: dgnc driver load failed. No Digi Neo or Classic boards found.\n); dgnc_cleanup_module(); - } - else { + } else { dgnc_create_driver_sysfiles(dgnc_driver); } @@ -524,9 +521,8 @@ static int dgnc_found_board(struct pci_dev *pdev, int id) brd-state = BOARD_FOUND; - for (i = 0; i MAXPORTS; i++) { + for (i = 0; i MAXPORTS; i++) brd-channels[i] = NULL; - } /* store which card revision we have */ pci_read_config_word(pdev, PCI_SUBSYSTEM_VENDOR_ID, brd-subvendor); @@ -804,9 +800,8 @@ static void dgnc_poll_handler(ulong dummy) * driver tells us its up and running, and has * everything it needs. */ - if (dgnc_driver_state != DRIVER_READY) { + if (dgnc_driver_state != DRIVER_READY) goto schedule_poller; - } /* Go thru each board, kicking off a tasklet for each if needed */ for (i = 0; i dgnc_NumBoards; i++) { @@ -836,9 +831,8 @@ schedule_poller: new_time = dgnc_poll_time - jiffies; - if ((ulong) new_time = 2 * dgnc_poll_tick) { + if ((ulong) new_time = 2 * dgnc_poll_tick) dgnc_poll_time = jiffies + dgnc_jiffies_from_ms(dgnc_poll_tick); - } init_timer(dgnc_poll_timer); dgnc_poll_timer.function = dgnc_poll_handler; @@ -865,9 +859,8 @@ static void dgnc_init_globals(void) dgnc_trcbuf_size= trcbuf_size; dgnc_debug = debug; - for (i = 0; i MAXBOARDS; i++) { + for (i = 0; i MAXBOARDS; i++) dgnc_Board[i] = NULL; - } init_timer(dgnc_poll_timer); } -- 1.8.1.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2 1/2] Staging: dgnc: dgnc_driver: fixed dgnc_pci_tbl definition
From: Son P. Nguyen fastmu...@gmail.com Fixed dgnc_pci_tbl definition for correct coding style PS: This is for task 10 of eudyptula-challenge. Signed-off-by: Son P. Nguyen fastmu...@gmail.com --- drivers/staging/dgnc/dgnc_driver.c | 39 +- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c index b1a39b2..6af1ab3 100644 --- a/drivers/staging/dgnc/dgnc_driver.c +++ b/drivers/staging/dgnc/dgnc_driver.c @@ -125,26 +125,31 @@ static uint dgnc_poll_stop; /* Used to tell poller to stop */ static struct timer_list dgnc_poll_timer; + +#define DIGIVID_PCI_DEVICE_ID(subdevice, driver_data) \ + { DIGI_VID, PCI_DEVICE_##subdevice, PCI_ANY_ID, 0, 0, driver_data } + static struct pci_device_id dgnc_pci_tbl[] = { - { DIGI_VID, PCI_DEVICE_CLASSIC_4_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, - { DIGI_VID, PCI_DEVICE_CLASSIC_4_422_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, - { DIGI_VID, PCI_DEVICE_CLASSIC_8_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2 }, - { DIGI_VID, PCI_DEVICE_CLASSIC_8_422_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3 }, - { DIGI_VID, PCI_DEVICE_NEO_4_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4 }, - { DIGI_VID, PCI_DEVICE_NEO_8_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 5 }, - { DIGI_VID, PCI_DEVICE_NEO_2DB9_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0,6 }, - { DIGI_VID, PCI_DEVICE_NEO_2DB9PRI_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 7 }, - { DIGI_VID, PCI_DEVICE_NEO_2RJ45_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 8 }, - { DIGI_VID, PCI_DEVICE_NEO_2RJ45PRI_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0,9 }, - { DIGI_VID, PCI_DEVICE_NEO_1_422_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 10 }, - { DIGI_VID, PCI_DEVICE_NEO_1_422_485_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11 }, - { DIGI_VID, PCI_DEVICE_NEO_2_422_485_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12 }, - { DIGI_VID, PCI_DEVICE_NEO_EXPRESS_8_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0,13 }, - { DIGI_VID, PCI_DEVICE_NEO_EXPRESS_4_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14 }, - { DIGI_VID, PCI_DEVICE_NEO_EXPRESS_4RJ45_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 15 }, - { DIGI_VID, PCI_DEVICE_NEO_EXPRESS_8RJ45_DID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 16 }, + { DIGIVID_PCI_DEVICE_ID(CLASSIC_4_DID, 0) }, + { DIGIVID_PCI_DEVICE_ID(CLASSIC_4_422_DID, 1) }, + { DIGIVID_PCI_DEVICE_ID(CLASSIC_8_DID, 2) }, + { DIGIVID_PCI_DEVICE_ID(CLASSIC_8_422_DID, 3) }, + { DIGIVID_PCI_DEVICE_ID(NEO_4_DID, 4) }, + { DIGIVID_PCI_DEVICE_ID(NEO_8_DID, 5) }, + { DIGIVID_PCI_DEVICE_ID(NEO_2DB9_DID, 6) }, + { DIGIVID_PCI_DEVICE_ID(NEO_2DB9PRI_DID,7) }, + { DIGIVID_PCI_DEVICE_ID(NEO_2RJ45_DID, 8) }, + { DIGIVID_PCI_DEVICE_ID(NEO_2RJ45PRI_DID, 9) }, + { DIGIVID_PCI_DEVICE_ID(NEO_1_422_DID, 10) }, + { DIGIVID_PCI_DEVICE_ID(NEO_1_422_485_DID, 11) }, + { DIGIVID_PCI_DEVICE_ID(NEO_2_422_485_DID, 12) }, + { DIGIVID_PCI_DEVICE_ID(NEO_EXPRESS_8_DID, 13) }, + { DIGIVID_PCI_DEVICE_ID(NEO_EXPRESS_4_DID, 14) }, + { DIGIVID_PCI_DEVICE_ID(NEO_EXPRESS_4RJ45_DID, 15) }, + { DIGIVID_PCI_DEVICE_ID(NEO_EXPRESS_8RJ45_DID, 16) }, {0,}/* 0 terminated list. */ }; + MODULE_DEVICE_TABLE(pci, dgnc_pci_tbl); struct board_id { -- 1.8.1.2 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel