Re: [jes:rtl8723au-devel 206/499] WARNING: __func__ should be used instead of gcc specific __FUNCTION__

2014-06-26 Thread Jes Sorensen
Fengguang Wu fengguang...@intel.com writes:
 tree:   git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git 
 rtl8723au-devel
 head:   07068767ab5cc9eb549dc85cb858e00c384ade4c
 commit: 068bf12cd5cc11f85a5b4d5423e629b640e12df7 [206/499] staging: 
 rtl8723au: hal/usb_ops_linux.c: Various cleanups

 scripts/checkpatch.pl 
 0001-staging-rtl8723au-hal-usb_ops_linux.c-Various-cleanu.patch
 # many are suggestions rather than must-fix

 WARNING: quoted string split across lines
 #27: drivers/staging/rtl8723au/hal/usb_ops_linux.c:41:
 +  (usbctrl_vendorreq:(padapter-bSurpriseRemoved||
 +   adapter-pwrctrlpriv.pnp_bstop_trx)!!!\n));

 WARNING: __func__ should be used instead of gcc specific __FUNCTION__
 #35: drivers/staging/rtl8723au/hal/usb_ops_linux.c:48:
 +   __FUNCTION__);

 WARNING: Missing a blank line after declarations
 #57: drivers/staging/rtl8723au/hal/usb_ops_linux.c:100:
 + struct hal_data_8723a *pHalData;
 + pHalData = GET_HAL_DATA(padapter);

Hi Fengguang,

Thanks for the report, I fixed the above. The rest of the reports here
seem to have been fixed already through other patches.

Cheers,
Jes
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 03/10] staging: rtl8723au: rtw_sta_mgt.c: Use ether_addr_{copy, equal}()

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c 
b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
index 14a82be..62e35dd 100644
--- a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
+++ b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
@@ -126,7 +126,7 @@ rtw_alloc_stainfo23a(struct sta_priv *pstapriv, u8 *hwaddr, 
gfp_t gfp)
 
psta-padapter = pstapriv-padapter;
 
-   memcpy(psta-hwaddr, hwaddr, ETH_ALEN);
+   ether_addr_copy(psta-hwaddr, hwaddr);
 
index = wifi_mac_hash(hwaddr);
 
@@ -363,10 +363,10 @@ struct sta_info *rtw_get_stainfo23a(struct sta_priv 
*pstapriv, const u8 *hwaddr)
list_for_each(plist, phead) {
psta = container_of(plist, struct sta_info, hash_list);
 
-   if (!memcmp(psta-hwaddr, addr, ETH_ALEN)) {
-   /*  if found the matched address */
+   /*  if found the matched address */
+   if (ether_addr_equal(psta-hwaddr, addr))
break;
-   }
+
psta = NULL;
}
spin_unlock_bh(pstapriv-sta_hash_lock);
@@ -422,7 +422,7 @@ bool rtw_access_ctrl23a(struct rtw_adapter *padapter, u8 
*mac_addr)
list_for_each(plist, phead) {
paclnode = container_of(plist, struct rtw_wlan_acl_node, list);
 
-   if (!memcmp(paclnode-addr, mac_addr, ETH_ALEN)) {
+   if (ether_addr_equal(paclnode-addr, mac_addr)) {
if (paclnode-valid) {
match = true;
break;
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 00/10] staging: rtl8723au: sparse fixes and some cleanups

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

Greg,

A couple of sparse fixes (a fix from Clement Calmels and one reported
by Fengguang Wu) as well as some cleanups removing dead code.

Cheers,
Jes

Clément Calmels (1):
  staging: rtl8723au: fix sparse warning

Jes Sorensen (9):
  staging: rtl8723au: usb_ops_linux.c: Add blank line between
declaration and usage
  staging: rtl8723au: rtw_sta_mgt.c: Use ether_addr_{copy,equal}()
  staging: rtl8723au: rtw_sta_mgt.c: One copy of the broadcast address
should suffice
  staging: rtl8723au: rtw_allow_stainfo23a(): Make hwaddr argument const
  staging: rtl8723au: Remove unused rtw_sreset_get_wifi_status()
  staging: rtl8723au: Wifi_Error_Status isn't used for anything
  staging: rtl8723au: sreset_priv-dbg_trigger_point is never set
  staging: rtl8723au: Remove no-op rtl8723a_sreset_linked_status_check()
  staging: rtl8723au: Remove unused rtw_pwr_wakeup_ex()

 drivers/staging/rtl8723au/core/rtw_mlme.c  |  2 +-
 drivers/staging/rtl8723au/core/rtw_mlme_ext.c  |  2 -
 drivers/staging/rtl8723au/core/rtw_sreset.c| 47 --
 drivers/staging/rtl8723au/core/rtw_sta_mgt.c   | 21 +-
 drivers/staging/rtl8723au/hal/rtl8723a_sreset.c| 19 -
 drivers/staging/rtl8723au/hal/usb_ops_linux.c  | 11 -
 .../staging/rtl8723au/include/rtl8723a_sreset.h|  1 -
 drivers/staging/rtl8723au/include/rtw_mlme.h   |  2 +-
 drivers/staging/rtl8723au/include/rtw_pwrctrl.h|  2 -
 drivers/staging/rtl8723au/include/rtw_sreset.h | 20 -
 drivers/staging/rtl8723au/include/sta_info.h   |  2 +-
 drivers/staging/rtl8723au/os_dep/usb_ops_linux.c   |  2 -
 12 files changed, 13 insertions(+), 118 deletions(-)

-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 09/10] staging: rtl8723au: Remove no-op rtl8723a_sreset_linked_status_check()

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/core/rtw_mlme_ext.c   | 2 --
 drivers/staging/rtl8723au/hal/rtl8723a_sreset.c | 4 
 drivers/staging/rtl8723au/include/rtl8723a_sreset.h | 1 -
 3 files changed, 7 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c 
b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
index 09e5a59..3655ee5 100644
--- a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
+++ b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
@@ -5215,8 +5215,6 @@ void linked_status_chk23a(struct rtw_adapter *padapter)
struct mlme_ext_info *pmlmeinfo = pmlmeext-mlmext_info;
struct sta_priv *pstapriv = padapter-stapriv;
 
-   rtl8723a_sreset_linked_status_check(padapter);
-
if (is_client_associated_to_ap23a(padapter)) {
/* linked infrastructure client mode */
 
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c 
b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
index 54a08a1..3c46294 100644
--- a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
+++ b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
@@ -53,7 +53,3 @@ void rtl8723a_sreset_xmit_status_check(struct rtw_adapter 
*padapter)
}
}
 }
-
-void rtl8723a_sreset_linked_status_check(struct rtw_adapter *padapter)
-{
-}
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_sreset.h 
b/drivers/staging/rtl8723au/include/rtl8723a_sreset.h
index 82af6a2..6197910 100644
--- a/drivers/staging/rtl8723au/include/rtl8723a_sreset.h
+++ b/drivers/staging/rtl8723au/include/rtl8723a_sreset.h
@@ -20,6 +20,5 @@
 #include rtw_sreset.h
 
 void rtl8723a_sreset_xmit_status_check(struct rtw_adapter *padapter);
-void rtl8723a_sreset_linked_status_check(struct rtw_adapter *padapter);
 
 #endif
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 02/10] staging: rtl8723au: usb_ops_linux.c: Add blank line between declaration and usage

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

This fixes a minor sparse warning.

Reported-by: Fengguang Wu fengguang...@intel.com
Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/hal/usb_ops_linux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/rtl8723au/hal/usb_ops_linux.c 
b/drivers/staging/rtl8723au/hal/usb_ops_linux.c
index 8e9e61c..6acb0e3 100644
--- a/drivers/staging/rtl8723au/hal/usb_ops_linux.c
+++ b/drivers/staging/rtl8723au/hal/usb_ops_linux.c
@@ -28,7 +28,6 @@ static int usbctrl_vendorreq(struct rtw_adapter *padapter, u8 
request,
 {
struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter);
struct usb_device *udev = pdvobjpriv-pusbdev;
-
unsigned int pipe;
int status = 0;
u8 reqtype;
@@ -97,6 +96,7 @@ static int usbctrl_vendorreq(struct rtw_adapter *padapter, u8 
request,
padapter-bSurpriseRemoved = true;
else {
struct hal_data_8723a *pHalData;
+
pHalData = GET_HAL_DATA(padapter);
pHalData-srestpriv.Wifi_Error_Status =
USB_VEN_REQ_CMD_FAIL;
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 08/10] staging: rtl8723au: sreset_priv-dbg_trigger_point is never set

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

No point carrying a bunch of code around that is never going to get
called.

Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/core/rtw_sreset.c |  7 ---
 drivers/staging/rtl8723au/hal/rtl8723a_sreset.c | 14 --
 drivers/staging/rtl8723au/include/rtw_sreset.h  |  8 
 3 files changed, 29 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_sreset.c 
b/drivers/staging/rtl8723au/core/rtw_sreset.c
index c19831c..c152aef 100644
--- a/drivers/staging/rtl8723au/core/rtw_sreset.c
+++ b/drivers/staging/rtl8723au/core/rtw_sreset.c
@@ -37,13 +37,6 @@ void rtw_sreset_reset_value(struct rtw_adapter *padapter)
psrtpriv-last_tx_complete_time = 0;
 }
 
-void sreset_set_trigger_point(struct rtw_adapter *padapter, s32 tgp)
-{
-   struct hal_data_8723a   *pHalData = GET_HAL_DATA(padapter);
-
-   pHalData-srestpriv.dbg_trigger_point = tgp;
-}
-
 bool rtw_sreset_inprogress(struct rtw_adapter *padapter)
 {
struct rtw_adapter *primary_adapter = GET_PRIMARY_ADAPTER(padapter);
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c 
b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
index 4374036..54a08a1 100644
--- a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
+++ b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
@@ -52,22 +52,8 @@ void rtl8723a_sreset_xmit_status_check(struct rtw_adapter 
*padapter)
}
}
}
-
-   if (psrtpriv-dbg_trigger_point == SRESET_TGP_XMIT_STATUS) {
-   psrtpriv-dbg_trigger_point = SRESET_TGP_NULL;
-   rtw_sreset_reset(padapter);
-   return;
-   }
 }
 
 void rtl8723a_sreset_linked_status_check(struct rtw_adapter *padapter)
 {
-   struct hal_data_8723a   *pHalData = GET_HAL_DATA(padapter);
-   struct sreset_priv *psrtpriv = pHalData-srestpriv;
-
-   if (psrtpriv-dbg_trigger_point == SRESET_TGP_LINK_STATUS) {
-   psrtpriv-dbg_trigger_point = SRESET_TGP_NULL;
-   rtw_sreset_reset(padapter);
-   return;
-   }
 }
diff --git a/drivers/staging/rtl8723au/include/rtw_sreset.h 
b/drivers/staging/rtl8723au/include/rtw_sreset.h
index 4799614..60fa829 100644
--- a/drivers/staging/rtl8723au/include/rtw_sreset.h
+++ b/drivers/staging/rtl8723au/include/rtw_sreset.h
@@ -18,19 +18,11 @@
 #include osdep_service.h
 #include drv_types.h
 
-enum {
-   SRESET_TGP_NULL = 0,
-   SRESET_TGP_XMIT_STATUS = 1,
-   SRESET_TGP_LINK_STATUS = 2,
-};
-
 struct sreset_priv {
struct mutexsilentreset_mutex;
u8  silent_reset_inprogress;
unsigned long last_tx_time;
unsigned long last_tx_complete_time;
-
-   s32 dbg_trigger_point;
 };
 
 #include rtl8723a_hal.h
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 04/10] staging: rtl8723au: rtw_sta_mgt.c: One copy of the broadcast address should suffice

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/core/rtw_sta_mgt.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c 
b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
index 62e35dd..f13a470 100644
--- a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
+++ b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
@@ -22,6 +22,8 @@
 #include sta_info.h
 #include rtl8723a_hal.h
 
+static u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+
 static void _rtw_init_stainfo(struct sta_info *psta)
 {
memset((u8 *)psta, 0, sizeof (struct sta_info));
@@ -344,7 +346,6 @@ struct sta_info *rtw_get_stainfo23a(struct sta_priv 
*pstapriv, const u8 *hwaddr)
struct sta_info *psta = NULL;
u32 index;
const u8 *addr;
-   u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
if (hwaddr == NULL)
return NULL;
@@ -379,9 +380,8 @@ int rtw_init_bcmc_stainfo23a(struct rtw_adapter* padapter)
struct sta_info *psta;
struct tx_servq *ptxservq;
int res = _SUCCESS;
-   unsigned char bcast_addr[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
-   psta = rtw_alloc_stainfo23a(pstapriv, bcast_addr, GFP_KERNEL);
+   psta = rtw_alloc_stainfo23a(pstapriv, bc_addr, GFP_KERNEL);
if (psta == NULL) {
res = _FAIL;
RT_TRACE(_module_rtl871x_sta_mgt_c_, _drv_err_,
@@ -399,9 +399,8 @@ struct sta_info *rtw_get_bcmc_stainfo23a(struct rtw_adapter 
*padapter)
 {
struct sta_info *psta;
struct sta_priv *pstapriv = padapter-stapriv;
-   u8 bc_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
 
-psta = rtw_get_stainfo23a(pstapriv, bc_addr);
+   psta = rtw_get_stainfo23a(pstapriv, bc_addr);
return psta;
 }
 
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 06/10] staging: rtl8723au: Remove unused rtw_sreset_get_wifi_status()

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/core/rtw_sreset.c| 29 --
 drivers/staging/rtl8723au/include/rtw_sreset.h |  1 -
 2 files changed, 30 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_sreset.c 
b/drivers/staging/rtl8723au/core/rtw_sreset.c
index 18a42a2..8142dd1 100644
--- a/drivers/staging/rtl8723au/core/rtw_sreset.c
+++ b/drivers/staging/rtl8723au/core/rtw_sreset.c
@@ -39,35 +39,6 @@ void rtw_sreset_reset_value(struct rtw_adapter *padapter)
psrtpriv-last_tx_complete_time = 0;
 }
 
-u8 rtw_sreset_get_wifi_status(struct rtw_adapter *padapter)
-{
-   struct hal_data_8723a *pHalData = GET_HAL_DATA(padapter);
-   struct sreset_priv *psrtpriv = pHalData-srestpriv;
-   u8 status = WIFI_STATUS_SUCCESS;
-   u32 val32 = 0;
-
-   if (psrtpriv-silent_reset_inprogress)
-   return status;
-   val32 = rtl8723au_read32(padapter, REG_TXDMA_STATUS);
-   if (val32 == 0xeaeaeaea) {
-   psrtpriv-Wifi_Error_Status = WIFI_IF_NOT_EXIST;
-   } else if (val32 != 0) {
-   DBG_8723A(txdmastatu(%x)\n, val32);
-   psrtpriv-Wifi_Error_Status = WIFI_MAC_TXDMA_ERROR;
-   }
-
-   if (WIFI_STATUS_SUCCESS != psrtpriv-Wifi_Error_Status) {
-   DBG_8723A(==%s error_status(0x%x)\n, __func__, 
psrtpriv-Wifi_Error_Status);
-   status = (psrtpriv-Wifi_Error_Status 
~(USB_READ_PORT_FAIL|USB_WRITE_PORT_FAIL));
-   }
-   DBG_8723A(== %s wifi_status(0x%x)\n, __func__, status);
-
-   /* status restore */
-   psrtpriv-Wifi_Error_Status = WIFI_STATUS_SUCCESS;
-
-   return status;
-}
-
 void sreset_set_wifi_error_status23a(struct rtw_adapter *padapter, u32 status)
 {
struct hal_data_8723a   *pHalData = GET_HAL_DATA(padapter);
diff --git a/drivers/staging/rtl8723au/include/rtw_sreset.h 
b/drivers/staging/rtl8723au/include/rtw_sreset.h
index 77cc794..a4c45cb 100644
--- a/drivers/staging/rtl8723au/include/rtw_sreset.h
+++ b/drivers/staging/rtl8723au/include/rtw_sreset.h
@@ -47,7 +47,6 @@ struct sreset_priv {
 
 void rtw_sreset_init(struct rtw_adapter *padapter);
 void rtw_sreset_reset_value(struct rtw_adapter *padapter);
-u8 rtw_sreset_get_wifi_status(struct rtw_adapter *padapter);
 bool rtw_sreset_inprogress(struct rtw_adapter *padapter);
 void sreset_set_wifi_error_status23a(struct rtw_adapter *padapter, u32 status);
 void sreset_set_trigger_point(struct rtw_adapter *padapter, s32 tgp);
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH 07/10] staging: rtl8723au: Wifi_Error_Status isn't used for anything

2014-06-26 Thread Jes . Sorensen
From: Jes Sorensen jes.soren...@redhat.com

Signed-off-by: Jes Sorensen jes.soren...@redhat.com
---
 drivers/staging/rtl8723au/core/rtw_sreset.c  | 11 ---
 drivers/staging/rtl8723au/hal/rtl8723a_sreset.c  |  1 -
 drivers/staging/rtl8723au/hal/usb_ops_linux.c| 11 ---
 drivers/staging/rtl8723au/include/rtw_sreset.h   | 11 ---
 drivers/staging/rtl8723au/os_dep/usb_ops_linux.c |  2 --
 5 files changed, 36 deletions(-)

diff --git a/drivers/staging/rtl8723au/core/rtw_sreset.c 
b/drivers/staging/rtl8723au/core/rtw_sreset.c
index 8142dd1..c19831c 100644
--- a/drivers/staging/rtl8723au/core/rtw_sreset.c
+++ b/drivers/staging/rtl8723au/core/rtw_sreset.c
@@ -23,7 +23,6 @@ void rtw_sreset_init(struct rtw_adapter *padapter)
 
mutex_init(psrtpriv-silentreset_mutex);
psrtpriv-silent_reset_inprogress = false;
-   psrtpriv-Wifi_Error_Status = WIFI_STATUS_SUCCESS;
psrtpriv-last_tx_time = 0;
psrtpriv-last_tx_complete_time = 0;
 }
@@ -34,18 +33,10 @@ void rtw_sreset_reset_value(struct rtw_adapter *padapter)
struct sreset_priv *psrtpriv = pHalData-srestpriv;
 
psrtpriv-silent_reset_inprogress = false;
-   psrtpriv-Wifi_Error_Status = WIFI_STATUS_SUCCESS;
psrtpriv-last_tx_time = 0;
psrtpriv-last_tx_complete_time = 0;
 }
 
-void sreset_set_wifi_error_status23a(struct rtw_adapter *padapter, u32 status)
-{
-   struct hal_data_8723a   *pHalData = GET_HAL_DATA(padapter);
-
-   pHalData-srestpriv.Wifi_Error_Status = status;
-}
-
 void sreset_set_trigger_point(struct rtw_adapter *padapter, s32 tgp)
 {
struct hal_data_8723a   *pHalData = GET_HAL_DATA(padapter);
@@ -213,8 +204,6 @@ void rtw_sreset_reset(struct rtw_adapter *active_adapter)
 
DBG_8723A(%s\n, __func__);
 
-   psrtpriv-Wifi_Error_Status = WIFI_STATUS_SUCCESS;
-
mutex_lock(psrtpriv-silentreset_mutex);
psrtpriv-silent_reset_inprogress = true;
pwrpriv-change_rfpwrstate = rf_off;
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c 
b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
index 0680e29..4374036 100644
--- a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
+++ b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
@@ -46,7 +46,6 @@ void rtl8723a_sreset_xmit_status_check(struct rtw_adapter 
*padapter)
} else {
diff_time = jiffies_to_msecs(jiffies - 
psrtpriv-last_tx_complete_time);
if (diff_time  4000) {
-   /* padapter-Wifi_Error_Status = 
WIFI_TX_HANG; */
DBG_8723A(%s tx hang\n, __func__);
rtw_sreset_reset(padapter);
}
diff --git a/drivers/staging/rtl8723au/hal/usb_ops_linux.c 
b/drivers/staging/rtl8723au/hal/usb_ops_linux.c
index 6acb0e3..23af718 100644
--- a/drivers/staging/rtl8723au/hal/usb_ops_linux.c
+++ b/drivers/staging/rtl8723au/hal/usb_ops_linux.c
@@ -94,13 +94,6 @@ static int usbctrl_vendorreq(struct rtw_adapter *padapter, 
u8 request,
if (status  0) {
if (status == -ESHUTDOWN || status == -ENODEV)
padapter-bSurpriseRemoved = true;
-   else {
-   struct hal_data_8723a *pHalData;
-
-   pHalData = GET_HAL_DATA(padapter);
-   pHalData-srestpriv.Wifi_Error_Status =
-   USB_VEN_REQ_CMD_FAIL;
-   }
} else { /*  status != len  status = 0 */
if (status  0) {
if (requesttype == 0x01) {
@@ -647,7 +640,6 @@ static void usb_read_port_complete(struct urb *purb)
struct recv_buf *precvbuf = (struct recv_buf *)purb-context;
struct rtw_adapter *padapter = (struct rtw_adapter *)precvbuf-adapter;
struct recv_priv *precvpriv = padapter-recvpriv;
-   struct hal_data_8723a *pHalData;
 
RT_TRACE(_module_hci_ops_os_c_, _drv_err_,
 (usb_read_port_complete!!!\n));
@@ -726,9 +718,6 @@ static void usb_read_port_complete(struct urb *purb)
break;
case -EPROTO:
case -EOVERFLOW:
-   pHalData = GET_HAL_DATA(padapter);
-   pHalData-srestpriv.Wifi_Error_Status =
-   USB_READ_PORT_FAIL;
rtl8723au_read_port(padapter, RECV_BULK_IN_ADDR, 0,
precvbuf);
break;
diff --git a/drivers/staging/rtl8723au/include/rtw_sreset.h 
b/drivers/staging/rtl8723au/include/rtw_sreset.h
index a4c45cb..4799614 100644
--- a/drivers/staging/rtl8723au/include/rtw_sreset.h
+++ 

Re: [PATCH net-next] hyperv: Add handler for RNDIS_STATUS_NETWORK_CHANGE event

2014-06-26 Thread Olaf Hering
On Mon, Jun 23, Haiyang Zhang wrote:

 Yes, there is a link down/up event from the host, we currently call 
 netif_carrier_off() 
 / netif_carrier_on() with these events. Will hotplug scripts be triggered by 
 netif_carrier_off/on? Where are the scripts located at (SLES)?

In /etc/sysconfig/network/ifcfg-eth0 STARTMODE= should be set to
ifplugd, this will most likely fix this sort of setup.

Olaf
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: unisys: remove unused macros

2014-06-26 Thread Paul Bolle
The macros CONFIG_SPAR_GUEST, GUESTDRIVERBUILD, and NOAUTOVERSION are
defined in Makefiles for the Unisys SPAR driver. They are never used.
Remove the lines that define these macros.

Signed-off-by: Paul Bolle pebo...@tiscali.nl
---
Compile tested only, on top of next-20140626, by fiddling with BROKEN
and setting all CONFIG_UNISYS* options to y.

 drivers/staging/unisys/channels/Makefile | 2 --
 drivers/staging/unisys/uislib/Makefile   | 3 ---
 drivers/staging/unisys/virthba/Makefile  | 3 ---
 drivers/staging/unisys/virtpci/Makefile  | 3 ---
 drivers/staging/unisys/visorchannel/Makefile | 2 --
 drivers/staging/unisys/visorchipset/Makefile | 2 --
 drivers/staging/unisys/visorutil/Makefile| 1 -
 7 files changed, 16 deletions(-)

diff --git a/drivers/staging/unisys/channels/Makefile 
b/drivers/staging/unisys/channels/Makefile
index e60b0aef4dcd..adc184206035 100644
--- a/drivers/staging/unisys/channels/Makefile
+++ b/drivers/staging/unisys/channels/Makefile
@@ -9,5 +9,3 @@ visorchannelstub-y := channel.o chanstub.o
 ccflags-y += -Idrivers/staging/unisys/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include/channels
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-
diff --git a/drivers/staging/unisys/uislib/Makefile 
b/drivers/staging/unisys/uislib/Makefile
index 6e44d49458f5..08e620d17497 100644
--- a/drivers/staging/unisys/uislib/Makefile
+++ b/drivers/staging/unisys/uislib/Makefile
@@ -12,6 +12,3 @@ ccflags-y += -Idrivers/staging/unisys/visorchipset
 ccflags-y += -Idrivers/staging/unisys/sparstopdriver
 ccflags-y += -Idrivers/staging/unisys/common-spar/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include/channels
-
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-
diff --git a/drivers/staging/unisys/virthba/Makefile 
b/drivers/staging/unisys/virthba/Makefile
index 632b1c08b975..ba55ae12488e 100644
--- a/drivers/staging/unisys/virthba/Makefile
+++ b/drivers/staging/unisys/virthba/Makefile
@@ -11,6 +11,3 @@ ccflags-y += -Idrivers/staging/unisys/visorchipset
 ccflags-y += -Idrivers/staging/unisys/virtpci
 ccflags-y += -Idrivers/staging/unisys/common-spar/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include/channels
-
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-
diff --git a/drivers/staging/unisys/virtpci/Makefile 
b/drivers/staging/unisys/virtpci/Makefile
index f9399aabddd1..a26c696219a5 100644
--- a/drivers/staging/unisys/virtpci/Makefile
+++ b/drivers/staging/unisys/virtpci/Makefile
@@ -8,6 +8,3 @@ ccflags-y += -Idrivers/staging/unisys/include
 ccflags-y += -Idrivers/staging/unisys/uislib
 ccflags-y += -Idrivers/staging/unisys/common-spar/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include/channels
-
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-
diff --git a/drivers/staging/unisys/visorchannel/Makefile 
b/drivers/staging/unisys/visorchannel/Makefile
index f0060be55bc5..e079c96b1cdf 100644
--- a/drivers/staging/unisys/visorchannel/Makefile
+++ b/drivers/staging/unisys/visorchannel/Makefile
@@ -10,5 +10,3 @@ ccflags-y += -Idrivers/staging/unisys/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include/channels
 ccflags-y += -Idrivers/staging/unisys/visorutil
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-
diff --git a/drivers/staging/unisys/visorchipset/Makefile 
b/drivers/staging/unisys/visorchipset/Makefile
index ead4b9c02715..5071878e57da 100644
--- a/drivers/staging/unisys/visorchipset/Makefile
+++ b/drivers/staging/unisys/visorchipset/Makefile
@@ -14,5 +14,3 @@ ccflags-y += -Idrivers/staging/unisys/common-spar/include
 ccflags-y += -Idrivers/staging/unisys/common-spar/include/channels
 ccflags-y += -Idrivers/staging/unisys/visorutil
 ccflags-y += -Iinclude/generated
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-
diff --git a/drivers/staging/unisys/visorutil/Makefile 
b/drivers/staging/unisys/visorutil/Makefile
index 3f463888dcec..d871bbb78cef 100644
--- a/drivers/staging/unisys/visorutil/Makefile
+++ b/drivers/staging/unisys/visorutil/Makefile
@@ -8,4 +8,3 @@ visorutil-y := charqueue.o  easyproc.o  periodic_work.o  
procobjecttree.o  \
memregion_direct.o visorkmodutils.o
 
 ccflags-y += -Idrivers/staging/unisys/include
-ccflags-y += -DCONFIG_SPAR_GUEST -DGUESTDRIVERBUILD -DNOAUTOVERSION
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/4] Staging: unisys: remove references to __DATE__ and __TIME__

2014-06-26 Thread Ken Cox


On 06/25/2014 10:57 PM, Greg KH wrote:

On Wed, Jun 25, 2014 at 11:48:23AM -0500, Ken Cox wrote:

--snip--

.id_table = virthba_id_table,
.probe = virthba_probe,
.remove = virthba_remove,
@@ -1413,9 +1413,6 @@ info_proc_read(struct file *file, char __user *buf, 
size_t len, loff_t *offset)
length += sprintf(vbuf + length, \nvirthba result queue poll 
wait:%d usecs.\n,
  rsltq_wait_usecs);
  
-		length += sprintf(vbuf + length,

- \nModule build: Date:%s Time:%s\n,
- __DATE__, __TIME__);
length += sprintf(vbuf + length, \ninterrupts_rcvd = %llu, 
interrupts_disabled = %llu\n,
  virthbainfo-interrupts_rcvd,
  virthbainfo-interrupts_disabled);

Why not just delete this proc file entirely?  You'll have to do that
eventually anyway :)
Ben Romer is working on a patch set to remove all the proc files for the 
Unisys drivers.  He is travelling right now but I think he will be 
submitting it in the next few days.  Is it ok to leave this for now and 
let his patches remove all proc entries at the same time?


___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH RFC v2 3/8] component: add support for component match array

2014-06-26 Thread Philipp Zabel
Hi Russell,

On Tue, Jun 24, 2014 at 9:29 PM, Russell King
rmk+ker...@arm.linux.org.uk wrote:
[...]
 +/*
 + * Add a component to be matched.
 + *
 + * The match array is first created or extended if necessary.
 + */
 +void component_match_add(struct device *dev, struct component_match 
 **matchptr,
 +   int (*compare)(struct device *, void *), void *compare_data)
 +{
 +   struct component_match *match = *matchptr;
 +
 +   if (IS_ERR(match))
 +   return;
 +
 +   if (!match || match-num == match-alloc) {
 +   size_t new_size = match ? match-alloc + 16 : 15;
 +
 +   match = component_match_realloc(dev, match, new_size);
 +
 +   *matchptr = match;
 +
 +   if (IS_ERR(match))
 +   return;
 +   }
 +
 +   match-compare[match-num].fn = compare;
 +   match-compare[match-num].data = compare_data;
 +   match-num++;
 +}

component_match_add should be exported.

regards
Philipp
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/4] Staging: unisys: remove references to __DATE__ and __TIME__

2014-06-26 Thread Greg KH
On Thu, Jun 26, 2014 at 05:37:35AM -0500, Ken Cox wrote:
 
 On 06/25/2014 10:57 PM, Greg KH wrote:
 On Wed, Jun 25, 2014 at 11:48:23AM -0500, Ken Cox wrote:
 --snip--
 .id_table = virthba_id_table,
 .probe = virthba_probe,
 .remove = virthba_remove,
 @@ -1413,9 +1413,6 @@ info_proc_read(struct file *file, char __user *buf, 
 size_t len, loff_t *offset)
 length += sprintf(vbuf + length, \nvirthba result queue poll 
  wait:%d usecs.\n,
   rsltq_wait_usecs);
 -   length += sprintf(vbuf + length,
 - \nModule build: Date:%s Time:%s\n,
 - __DATE__, __TIME__);
 length += sprintf(vbuf + length, \ninterrupts_rcvd = %llu, 
  interrupts_disabled = %llu\n,
   virthbainfo-interrupts_rcvd,
   virthbainfo-interrupts_disabled);
 Why not just delete this proc file entirely?  You'll have to do that
 eventually anyway :)
 Ben Romer is working on a patch set to remove all the proc files for the
 Unisys drivers.  He is travelling right now but I think he will be
 submitting it in the next few days.  Is it ok to leave this for now and let
 his patches remove all proc entries at the same time?

That is fine.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging: wlan-ng/hfa384x_usb.c: add blank line after declarations

2014-06-26 Thread Cheng-Wei Lee
This patch fixes the following checkpatch.pl issues in hfa384x_usb.c:
WARNING: Missing a blank line after declarations

Signed-off-by: Quentin Lee lee.rhaps...@gmail.com
---
 drivers/staging/wlan-ng/hfa384x_usb.c |1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c
b/drivers/staging/wlan-ng/hfa384x_usb.c
index 98343ff7..07cee56 100644
--- a/drivers/staging/wlan-ng/hfa384x_usb.c
+++ b/drivers/staging/wlan-ng/hfa384x_usb.c
@@ -3705,6 +3705,7 @@ static void hfa384x_usbout_callback(struct urb *urb)
case -EPIPE:
{
hfa384x_t *hw = wlandev-priv;
+
netdev_warn(hw-wlandev-netdev,
%s tx pipe stalled: requesting 
reset\n,
wlandev-netdev-name);
-- 
1.7.9.5
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH RFC v2 3/8] component: add support for component match array

2014-06-26 Thread Russell King - ARM Linux
On Thu, Jun 26, 2014 at 02:34:17PM +0200, Philipp Zabel wrote:
 Hi Russell,
 
 On Tue, Jun 24, 2014 at 9:29 PM, Russell King
 rmk+ker...@arm.linux.org.uk wrote:
 [...]
  +/*
  + * Add a component to be matched.
  + *
  + * The match array is first created or extended if necessary.
  + */
  +void component_match_add(struct device *dev, struct component_match 
  **matchptr,
  +   int (*compare)(struct device *, void *), void *compare_data)
  +{
  +   struct component_match *match = *matchptr;
  +
  +   if (IS_ERR(match))
  +   return;
  +
  +   if (!match || match-num == match-alloc) {
  +   size_t new_size = match ? match-alloc + 16 : 15;
  +
  +   match = component_match_realloc(dev, match, new_size);
  +
  +   *matchptr = match;
  +
  +   if (IS_ERR(match))
  +   return;
  +   }
  +
  +   match-compare[match-num].fn = compare;
  +   match-compare[match-num].data = compare_data;
  +   match-num++;
  +}
 
 component_match_add should be exported.

Fixed, thanks.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 0/2] Staging: unisys: Remove references to __DATE__ and __TIME__

2014-06-26 Thread Ken Cox
This series removes all references to __DATE__ and __TIME__ from the
unisys drivers and also removes BROKEN from the Kconfig so the drivers
can be built.


___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 1/2] Staging: unisys: remove references to __DATE__ and __TIME__

2014-06-26 Thread Ken Cox
The use of __DATE__ and __TIME__ is no longer allowed in the kernel so this
commit removes those.  They were once useful when the drivers were being
built externally, but now that the drivers are in the kernel the use of the
macros is redundant since the kernel already has the same information
elsewhere.

In addition, using these macros breaks the build if using gcc 4.9.0

Reported-by: Greg Kroah-Hartman gre...@linuxfoundation.org
Signed-off-by: Ken Cox j...@redhat.com
---
 drivers/staging/unisys/include/vbushelper.h |  8 +++-
 drivers/staging/unisys/uislib/uisutils.c| 11 ---
 drivers/staging/unisys/virthba/virthba.c|  5 -
 drivers/staging/unisys/virtpci/virtpci.c| 14 +++---
 drivers/staging/unisys/virtpci/virtpci.h|  2 --
 drivers/staging/unisys/visorchipset/visorchipset_main.c |  4 ++--
 6 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/drivers/staging/unisys/include/vbushelper.h 
b/drivers/staging/unisys/include/vbushelper.h
index 93e35f0..ed94375 100644
--- a/drivers/staging/unisys/include/vbushelper.h
+++ b/drivers/staging/unisys/include/vbushelper.h
@@ -28,8 +28,7 @@
 static inline void
 BusDeviceInfo_Init(ULTRA_VBUS_DEVICEINFO *pBusDeviceInfo,
   const char *deviceType, const char *driverName,
-  const char *ver, const char *verTag,
-  const char *buildDate, const char *buildTime)
+  const char *ver, const char *verTag)
 {
memset(pBusDeviceInfo, 0, sizeof(ULTRA_VBUS_DEVICEINFO));
snprintf(pBusDeviceInfo-devType, sizeof(pBusDeviceInfo-devType),
@@ -37,11 +36,10 @@ BusDeviceInfo_Init(ULTRA_VBUS_DEVICEINFO *pBusDeviceInfo,
snprintf(pBusDeviceInfo-drvName, sizeof(pBusDeviceInfo-drvName),
 %s, (driverName) ? driverName : unknownDriver);
snprintf(pBusDeviceInfo-infoStrings,
-sizeof(pBusDeviceInfo-infoStrings), %s\t%s\t%s %s\t%s,
+sizeof(pBusDeviceInfo-infoStrings), %s\t%s\t%s,
 (ver) ? ver : unknownVer,
 (verTag) ? verTag : unknownVerTag,
-(buildDate) ? buildDate : noBuildDate,
-(buildTime) ? buildTime : nobuildTime, TARGET_HOSTNAME);
+TARGET_HOSTNAME);
 }
 
 #endif
diff --git a/drivers/staging/unisys/uislib/uisutils.c 
b/drivers/staging/unisys/uislib/uisutils.c
index 0f1bb73..07e5535 100644
--- a/drivers/staging/unisys/uislib/uisutils.c
+++ b/drivers/staging/unisys/uislib/uisutils.c
@@ -96,9 +96,8 @@ uisctrl_register_req_handler(int type, void *fptr,
return 0;
}
if (chipset_DriverInfo)
-   BusDeviceInfo_Init(chipset_DriverInfo,
-  chipset, uislib,
-  VERSION, NULL, __DATE__, __TIME__);
+   BusDeviceInfo_Init(chipset_DriverInfo, chipset, uislib,
+  VERSION, NULL);
 
return 1;
 }
@@ -149,10 +148,8 @@ uisctrl_register_req_handler_ex(uuid_le switchTypeGuid,
 Away:
if (rc) {
if (chipset_DriverInfo)
-   BusDeviceInfo_Init(chipset_DriverInfo,
-  chipset, uislib,
-  VERSION, NULL,
-  __DATE__, __TIME__);
+   BusDeviceInfo_Init(chipset_DriverInfo, chipset,
+  uislib, VERSION, NULL);
} else
LOGERR(failed to register type %pUL.\n, switchTypeGuid);
 
diff --git a/drivers/staging/unisys/virthba/virthba.c 
b/drivers/staging/unisys/virthba/virthba.c
index 5c5aa70..4d1347a 100644
--- a/drivers/staging/unisys/virthba/virthba.c
+++ b/drivers/staging/unisys/virthba/virthba.c
@@ -139,8 +139,6 @@ static struct virtpci_driver virthba_driver = {
.name = uisvirthba,
.version = VERSION,
.vertag = NULL,
-   .build_date = __DATE__,
-   .build_time = __TIME__,
.id_table = virthba_id_table,
.probe = virthba_probe,
.remove = virthba_remove,
@@ -1413,9 +1411,6 @@ info_proc_read(struct file *file, char __user *buf, 
size_t len, loff_t *offset)
length += sprintf(vbuf + length, \nvirthba result queue poll 
wait:%d usecs.\n,
  rsltq_wait_usecs);
 
-   length += sprintf(vbuf + length,
- \nModule build: Date:%s Time:%s\n,
- __DATE__, __TIME__);
length += sprintf(vbuf + length, \ninterrupts_rcvd = %llu, 
interrupts_disabled = %llu\n,
  virthbainfo-interrupts_rcvd,
  virthbainfo-interrupts_disabled);
diff --git a/drivers/staging/unisys/virtpci/virtpci.c 
b/drivers/staging/unisys/virtpci/virtpci.c
index 71246fe..5ab17e7 100644
--- 

[PATCH v2 2/2] Staging: unisys Remove BROKEN from Kconfig to allow compilation

2014-06-26 Thread Ken Cox
The unisys drivers now properly check to make sure they are running
on the s-Par platform before they will initialize.  This was fixed in
commit fcd0157ece so it is safe to allow the unisys drivers to be built.

This has been tested in the same qemu environment that originally
produced the panic and the kernel now runs as expected.

Reported-by: Fengguang Wu fengguang...@intel.com
Reported-by: Sasha Levin sasha.le...@oracle.com
Tested-by: Ken Cox j...@redhat.com
Signed-off-by: Ken Cox j...@redhat.com
---
 drivers/staging/unisys/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/unisys/Kconfig b/drivers/staging/unisys/Kconfig
index 6bae2af..ac080c9 100644
--- a/drivers/staging/unisys/Kconfig
+++ b/drivers/staging/unisys/Kconfig
@@ -3,7 +3,7 @@
 #
 menuconfig UNISYSSPAR
bool Unisys SPAR driver support
-   depends on X86_64  BROKEN
+   depends on X86_64
---help---
Support for the Unisys SPAR drivers
 
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: Question about patches for bcm

2014-06-26 Thread Matthias Beyer
On 26-06-2014 10:58:20, Kevin McKinney wrote:
On Thu, Jun 26, 2014 at 10:42 AM, Matthias Beyer m...@beyermatthias.de
wrote:
 
  Hi,
 
  I have a question related to some patches I send in.
 
  (I send them to de...@driverdev.osuosl.org, but they show up in the
  archives of this list... so I'm asking here)
 
  I send 6 patch sets since the beginning of the month. Some of them
  where reviewed, some not. None of them is upstream by now. Did
  something got stuck?
 
  I did some research and found a message in the archives[0] related to
  the bcm driver. It seems that there is still work in progress on this
  driver, so I guess my patches are not obsolete, right?
 
  I have more cleanup patchsets for this driver lying around (about 70
  patches overall, ca 1/4 already submitted but not yet applied).
  I don't want to send all of them at once, as this just leads to
  confusion (as they are split up into 13 branches/patchsets).
 
  I almost patched all files in the driver. My second iteration would
  contain some refactoring of the type / member names, moving headers
  around, maybe splitting files, etc. Is this okay for you?
 
  Is there someone out there who actively works on the driver? Maybe I
  could send my patches to this person instead to the ML, so we can
  sync up our workflow to get this stuff done faster?
 
Hi Matthias,
I have been working on this driver for a while now. I am currently fixing
a 64 bit casting bug; and I think I have a fix but I trying to get the
hardware so I can test. A I believe it has to do with the ntohl function
only accepting 32 bit values, and not 64 bit. But I need the hardware in
order to test this theory. A We can work together to get this driver
completed faster if you like. A I can review your patches? Can you resend
your last iteration of patches? A I hope to have the hardware soon, and we
can really get some good testing going on.
A 

Hi Kevin,

I can send the patches, sure. Shall I send them directly to you or
with this ML in CC? Should I send the 6 already submitted patchsets or
should I submit all patches I have done so far?

I guess you do just reviewing, greg k-h still applies them, right?

I do not have the hardware, I do my patches, compile them and run them
through checkpatch.pl, but I have no hardware to test. All my patches
are just cleanup patches (line shortening, code simplifications,
oursourcing of code chunks into functions and the like), I just got
into kernel stuff (and I love doing it :-) ).

-- 
Mit freundlichen Grüßen,
Kind regards,
Matthias Beyer

Proudly sent with mutt.
Happily signed with gnupg.


pgpXcqzXE0oy5.pgp
Description: PGP signature
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH net-next] hyperv: Add handler for RNDIS_STATUS_NETWORK_CHANGE event

2014-06-26 Thread Haiyang Zhang


 -Original Message-
 From: Olaf Hering [mailto:o...@aepfle.de]
 Sent: Thursday, June 26, 2014 4:46 AM
 To: Haiyang Zhang
 Cc: Greg KH; net...@vger.kernel.org; jasow...@redhat.com; driverdev-
 de...@linuxdriverproject.org; linux-ker...@vger.kernel.org;
 da...@davemloft.net
 Subject: Re: [PATCH net-next] hyperv: Add handler for
 RNDIS_STATUS_NETWORK_CHANGE event
 
 On Mon, Jun 23, Haiyang Zhang wrote:
 
  Yes, there is a link down/up event from the host, we currently call
  netif_carrier_off() / netif_carrier_on() with these events. Will
  hotplug scripts be triggered by netif_carrier_off/on? Where are the scripts
 located at (SLES)?
 
 In /etc/sysconfig/network/ifcfg-eth0 STARTMODE= should be set to ifplugd,
 this will most likely fix this sort of setup.

Thanks for the info! I'll let our team know.

- Haiyang
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: Question about patches for bcm

2014-06-26 Thread Matthias Beyer
Hi,

your email client sends HTML-Emails. Can you switch this off? Maybe
that's also the reason why your emails don't show up in the
archives[0]!

I will send my patches tomorrow, no time now.

Regards,
Matthias

[0]: 
http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2014-June/thread.html

On 26-06-2014 11:11:40, Kevin McKinney wrote:
On Thu, Jun 26, 2014 at 11:02 AM, Matthias Beyer m...@beyermatthias.de
wrote:
 
  On 26-06-2014 10:58:20, Kevin McKinney wrote:
   A  A On Thu, Jun 26, 2014 at 10:42 AM, Matthias Beyer
  m...@beyermatthias.de
   A  A wrote:
  
   A  A  A Hi,
  
   A  A  A I have a question related to some patches I send in.
  
   A  A  A (I send them to de...@driverdev.osuosl.org, but they show up
  in the
   A  A  A archives of this list... so I'm asking here)
  
   A  A  A I send 6 patch sets since the beginning of the month. Some of
  them
   A  A  A where reviewed, some not. None of them is upstream by now. Did
   A  A  A something got stuck?
  
   A  A  A I did some research and found a message in the archives[0]
  related to
   A  A  A the bcm driver. It seems that there is still work in progress
  on this
   A  A  A driver, so I guess my patches are not obsolete, right?
  
   A  A  A I have more cleanup patchsets for this driver lying around
  (about 70
   A  A  A patches overall, ca 1/4 already submitted but not yet
  applied).
   A  A  A I don't want to send all of them at once, as this just leads
  to
   A  A  A confusion (as they are split up into 13 branches/patchsets).
  
   A  A  A I almost patched all files in the driver. My second iteration
  would
   A  A  A contain some refactoring of the type / member names, moving
  headers
   A  A  A around, maybe splitting files, etc. Is this okay for you?
  
   A  A  A Is there someone out there who actively works on the driver?
  Maybe I
   A  A  A could send my patches to this person instead to the ML, so we
  can
   A  A  A sync up our workflow to get this stuff done faster?
  
   A  A Hi Matthias,
   A  A I have been working on this driver for a while now. I am
  currently fixing
   A  A a 64 bit casting bug; and I think I have a fix but I trying to
  get the
   A  A hardware so I can test. A I believe it has to do with the ntohl
  function
   A  A only accepting 32 bit values, and not 64 bit. But I need the
  hardware in
   A  A order to test this theory. A We can work together to get this
  driver
   A  A completed faster if you like. A I can review your patches? Can
  you resend
   A  A your last iteration of patches? A I hope to have the hardware
  soon, and we
   A  A can really get some good testing going on.
   A  A A
 
  Hi Kevin,
 
  I can send the patches, sure. Shall I send them directly to you or
  with this ML in CC? Should I send the 6 already submitted patchsets or
  should I submit all patches I have done so far?
 
Yes, please send to ML and CC me.
A 
 
  I guess you do just reviewing, greg k-h still applies them, right?
 
Yes, Greg always reviews and applies patches. A There are also other
reviewers with a lot more experience than me :)
A 
 
  I do not have the hardware, I do my patches, compile them and run them
  through checkpatch.pl, but I have no hardware to test. All my patches
  are just cleanup patches (line shortening, code simplifications,
  oursourcing of code chunks into functions and the like), I just got
  into kernel stuff (and I love doing it :-) ).
 
That's okay about not having the hardware.
A 
 
  --
  Mit freundlichen GrA 1/4A*en,
  Kind regards,
  Matthias Beyer
 
  Proudly sent with mutt.
  Happily signed with gnupg.

-- 
Mit freundlichen Grüßen,
Kind regards,
Matthias Beyer

Proudly sent with mutt.
Happily signed with gnupg.


pgpP1enWdS2Mc.pgp
Description: PGP signature
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: Question about patches for bcm

2014-06-26 Thread Kevin McKinney
On Thu, Jun 26, 2014 at 11:14 AM, Matthias Beyer m...@beyermatthias.de wrote:
 Hi,

 your email client sends HTML-Emails. Can you switch this off? Maybe
 that's also the reason why your emails don't show up in the
 archives[0]!

Yeh, sorry about that. During the day I use gmail instead of mutt and
I forget to turn off HTML emails.

 I will send my patches tomorrow, no time now.

No problem, I typically work in the evenings EST.

 Regards,
 Matthias

 [0]: 
 http://driverdev.linuxdriverproject.org/pipermail/driverdev-devel/2014-June/thread.html

 On 26-06-2014 11:11:40, Kevin McKinney wrote:
On Thu, Jun 26, 2014 at 11:02 AM, Matthias Beyer m...@beyermatthias.de
wrote:

  On 26-06-2014 10:58:20, Kevin McKinney wrote:
   A  A On Thu, Jun 26, 2014 at 10:42 AM, Matthias Beyer
  m...@beyermatthias.de
   A  A wrote:
  
   A  A  A Hi,
  
   A  A  A I have a question related to some patches I send in.
  
   A  A  A (I send them to de...@driverdev.osuosl.org, but they show up
  in the
   A  A  A archives of this list... so I'm asking here)
  
   A  A  A I send 6 patch sets since the beginning of the month. Some of
  them
   A  A  A where reviewed, some not. None of them is upstream by now. Did
   A  A  A something got stuck?
  
   A  A  A I did some research and found a message in the archives[0]
  related to
   A  A  A the bcm driver. It seems that there is still work in progress
  on this
   A  A  A driver, so I guess my patches are not obsolete, right?
  
   A  A  A I have more cleanup patchsets for this driver lying around
  (about 70
   A  A  A patches overall, ca 1/4 already submitted but not yet
  applied).
   A  A  A I don't want to send all of them at once, as this just leads
  to
   A  A  A confusion (as they are split up into 13 branches/patchsets).
  
   A  A  A I almost patched all files in the driver. My second iteration
  would
   A  A  A contain some refactoring of the type / member names, moving
  headers
   A  A  A around, maybe splitting files, etc. Is this okay for you?
  
   A  A  A Is there someone out there who actively works on the driver?
  Maybe I
   A  A  A could send my patches to this person instead to the ML, so we
  can
   A  A  A sync up our workflow to get this stuff done faster?
  
   A  A Hi Matthias,
   A  A I have been working on this driver for a while now. I am
  currently fixing
   A  A a 64 bit casting bug; and I think I have a fix but I trying to
  get the
   A  A hardware so I can test. A I believe it has to do with the ntohl
  function
   A  A only accepting 32 bit values, and not 64 bit. But I need the
  hardware in
   A  A order to test this theory. A We can work together to get this
  driver
   A  A completed faster if you like. A I can review your patches? Can
  you resend
   A  A your last iteration of patches? A I hope to have the hardware
  soon, and we
   A  A can really get some good testing going on.
   A  A A

  Hi Kevin,

  I can send the patches, sure. Shall I send them directly to you or
  with this ML in CC? Should I send the 6 already submitted patchsets or
  should I submit all patches I have done so far?

Yes, please send to ML and CC me.
A

  I guess you do just reviewing, greg k-h still applies them, right?

Yes, Greg always reviews and applies patches. A There are also other
reviewers with a lot more experience than me :)
A

  I do not have the hardware, I do my patches, compile them and run them
  through checkpatch.pl, but I have no hardware to test. All my patches
  are just cleanup patches (line shortening, code simplifications,
  oursourcing of code chunks into functions and the like), I just got
  into kernel stuff (and I love doing it :-) ).

That's okay about not having the hardware.
A

  --
  Mit freundlichen GrA 1/4A*en,
  Kind regards,
  Matthias Beyer

  Proudly sent with mutt.
  Happily signed with gnupg.

 --
 Mit freundlichen Grüßen,
 Kind regards,
 Matthias Beyer

 Proudly sent with mutt.
 Happily signed with gnupg.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 9/16] staging: comedi: ni_stc.h: the boardinfo 'name' should be first

2014-06-26 Thread H Hartley Sweeten
By convention, the first member of the boardinfo is a 'const char *' to
the board name, especially for those comedi drivers that rely on the
comedi core to set dev-board_ptr to the entry matching the board name
when doing a legacy (*attach) to a comedi driver.

Modify the ni_board_struct appropriately for consistency, although the
board name is only used for informational purposes by this driver (only
the driver name is matched by the comedi core).

For aesthetics, also move the members in the boardinfo declarations.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
v2: modify commit message based on comments from Ian Abbott
patches 1-8 and 10-16 have not changed

 drivers/staging/comedi/drivers/ni_atmio.c  | 16 
 drivers/staging/comedi/drivers/ni_mio_cs.c | 12 ++--
 drivers/staging/comedi/drivers/ni_stc.h|  2 +-
 3 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_atmio.c 
b/drivers/staging/comedi/drivers/ni_atmio.c
index 3ea49c7..230879f 100644
--- a/drivers/staging/comedi/drivers/ni_atmio.c
+++ b/drivers/staging/comedi/drivers/ni_atmio.c
@@ -107,9 +107,9 @@ are not supported.
 
 static const struct ni_board_struct ni_boards[] = {
{
+   .name   = at-mio-16e-1,
.device_id  = 44,
.isapnp_id  = 0x,   /* XXX unknown */
-   .name   = at-mio-16e-1,
.n_adchan   = 16,
.adbits = 12,
.ai_fifo_depth  = 8192,
@@ -124,9 +124,9 @@ static const struct ni_board_struct ni_boards[] = {
.num_p0_dio_channels = 8,
.caldac = { mb88341 },
}, {
+   .name   = at-mio-16e-2,
.device_id  = 25,
.isapnp_id  = 0x1900,
-   .name   = at-mio-16e-2,
.n_adchan   = 16,
.adbits = 12,
.ai_fifo_depth  = 2048,
@@ -141,9 +141,9 @@ static const struct ni_board_struct ni_boards[] = {
.num_p0_dio_channels = 8,
.caldac = { mb88341 },
}, {
+   .name   = at-mio-16e-10,
.device_id  = 36,
.isapnp_id  = 0x2400,
-   .name   = at-mio-16e-10,
.n_adchan   = 16,
.adbits = 12,
.ai_fifo_depth  = 512,
@@ -157,9 +157,9 @@ static const struct ni_board_struct ni_boards[] = {
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
}, {
+   .name   = at-mio-16de-10,
.device_id  = 37,
.isapnp_id  = 0x2500,
-   .name   = at-mio-16de-10,
.n_adchan   = 16,
.adbits = 12,
.ai_fifo_depth  = 512,
@@ -174,9 +174,9 @@ static const struct ni_board_struct ni_boards[] = {
.caldac = { ad8804_debug },
.has_8255   = 1,
}, {
+   .name   = at-mio-64e-3,
.device_id  = 38,
.isapnp_id  = 0x2600,
-   .name   = at-mio-64e-3,
.n_adchan   = 64,
.adbits = 12,
.ai_fifo_depth  = 2048,
@@ -191,9 +191,9 @@ static const struct ni_board_struct ni_boards[] = {
.num_p0_dio_channels = 8,
.caldac = { ad8804_debug },
}, {
+   .name   = at-mio-16xe-50,
.device_id  = 39,
.isapnp_id  = 0x2700,
-   .name   = at-mio-16xe-50,
.n_adchan   = 16,
.adbits = 16,
.ai_fifo_depth  = 512,
@@ -207,9 +207,9 @@ static const struct ni_board_struct ni_boards[] = {
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043 },
}, {
+   .name   = at-mio-16xe-10,
.device_id  = 50,
.isapnp_id  = 0x,   /* XXX unknown */
-   .name   = at-mio-16xe-10,
.n_adchan   = 16,
.adbits = 16,
.ai_fifo_depth  = 512,
@@ -225,9 +225,9 @@ static const struct ni_board_struct ni_boards[] = {
.num_p0_dio_channels = 8,
.caldac = { dac8800, dac8043, ad8522 },
}, {
+   .name   = at-ai-16xe-10,
.device_id  = 51,
.isapnp_id  = 0x,   /* XXX unknown */
-   .name   = at-ai-16xe-10,
.n_adchan   = 16,
.adbits = 16,

Re: [PATCH 00/16] staging: comedi: remove some cruft from the NI drivers

2014-06-26 Thread Ian Abbott
On 2014/06/20 07:10 PM, H Hartley Sweeten wrote:
 The National Instruments MIO drivers, ni_pcimio, ni_mio_cs, and ni_atmio, all
 include the ni_mio_common.c source file to provide the common functionality
 for the drivers. Including source files is a bit ugly.
 
 Remove some cruft from the NI drivers in preparation of converting 
 ni_mio_common
 to a kernel module.
 
 H Hartley Sweeten (16):
   staging: comedi: ni_pcimio: remove forward declarations
   staging: comedi: ni_mio_common.c: remove interrupt_pin() macros
   staging: comedi: ni_mio_common drivers: remove NI_E_IRQ_FLAGS defines
   staging: comedi: ni_mio_common.c: remove IRQ_POLARITY defines
   staging: comedi: ni_atmio: remove '= 0' boardinfo data
   staging: comedi: ni_atmio: remove NI_SIZE define
   staging: comedi: ni_mio_cs: remove NI_SIZE define
   staging: comedi: ni_atmio: tidy up the boardinfo
   staging: comedi: ni_stc.h: the boardinfo 'name' should be first
   staging: comedi: ni_pcimio: remove DRV_NAME define
   staging: comedi: ni_atmio: remove ATMIO and PCIMIO defines
   staging: comedi: ni_mio_cs: remove ATMIO and PCIMIO defines
   staging: comedi: ni_pcimio: remove ATMIO and PCIMIO defines
   staging: comedi: mite.h: remove mite_irq()
   staging: comedi: mite.h: remove mite_device()
   staging: comedi: mite: cleanup mite_unsetup()

Reviewed-by: Ian Abbott abbo...@mev.co.uk
with the revised commit message for PATCH 09/16 from message-id
1403802788-38959-1-git-send-email-hswee...@visionengravers.com,
subject [PATCH v2 9/16] staging: comedi: ni_stc.h: the boardinfo 'name'
should be first

-- 
-=( Ian Abbott @ MEV Ltd.E-mail: abbo...@mev.co.uk )=-
-=( Tel: +44 (0)161 477 1898   FAX: +44 (0)161 718 3587  )=-
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 13/18] staging: comedi: ni_65xx: update the MODULE_DESCRIPTION

2014-06-26 Thread H Hartley Sweeten
Update the MODULE_DESCRIPTION to better describe the driver.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 3b56359..e547c2f 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -781,5 +781,5 @@ static struct pci_driver ni_65xx_pci_driver = {
 module_comedi_pci_driver(ni_65xx_driver, ni_65xx_pci_driver);
 
 MODULE_AUTHOR(Comedi http://www.comedi.org;);
-MODULE_DESCRIPTION(Comedi low-level driver);
+MODULE_DESCRIPTION(Comedi driver for NI PCI-65xx static dio boards);
 MODULE_LICENSE(GPL);
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 03/18] staging: comedi: ni_65xx: cleanup recurring register map

2014-06-26 Thread H Hartley Sweeten
Convert the inline functions used to calculate the offsets to the
recurring port registers and rename them to remove the CamelCase.

Define all the recurring registers.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 88 ++--
 1 file changed, 37 insertions(+), 51 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 42d2c24..83e4144 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -96,34 +96,22 @@ except maybe the 6514.
 #define NI_65XX_WDOG_STATUS_EXP(1  0)
 #define NI_65XX_WDOG_INTERVAL_REG  0x18 /* 32-bit */
 
+/* Recurring port registers (8-bit) */
+#define NI_65XX_PORT(x)((x) * 0x10)
+#define NI_65XX_IO_DATA_REG(x) (0x40 + NI_65XX_PORT(x))
+#define NI_65XX_IO_SEL_REG(x)  (0x41 + NI_65XX_PORT(x))
+#define NI_65XX_IO_SEL_OUTPUT  (0  0)
+#define NI_65XX_IO_SEL_INPUT   (1  0)
+#define NI_65XX_RISE_EDGE_ENA_REG(x)   (0x42 + NI_65XX_PORT(x))
+#define NI_65XX_FALL_EDGE_ENA_REG(x)   (0x43 + NI_65XX_PORT(x))
+#define NI_65XX_FILTER_ENA(x)  (0x44 + NI_65XX_PORT(x))
+#define NI_65XX_WDOG_HIZ_REG(x)(0x46 + NI_65XX_PORT(x))
+#define NI_65XX_WDOG_ENA(x)(0x47 + NI_65XX_PORT(x))
+#define NI_65XX_WDOG_HI_LO_REG(x)  (0x48 + NI_65XX_PORT(x))
+#define NI_65XX_RTSI_ENA(x)(0x49 + NI_65XX_PORT(x))
+
 #define NI_65XX_MAX_NUM_PORTS 12
 static const unsigned ni_65xx_channels_per_port = 8;
-static const unsigned ni_65xx_port_offset = 0x10;
-
-static inline unsigned Port_Data(unsigned port)
-{
-   return 0x40 + port * ni_65xx_port_offset;
-}
-
-static inline unsigned Port_Select(unsigned port)
-{
-   return 0x41 + port * ni_65xx_port_offset;
-}
-
-static inline unsigned Rising_Edge_Detection_Enable(unsigned port)
-{
-   return 0x42 + port * ni_65xx_port_offset;
-}
-
-static inline unsigned Falling_Edge_Detection_Enable(unsigned port)
-{
-   return 0x43 + port * ni_65xx_port_offset;
-}
-
-static inline unsigned Filter_Enable(unsigned port)
-{
-   return 0x44 + port * ni_65xx_port_offset;
-}
 
 enum ni_65xx_boardid {
BOARD_PCI6509,
@@ -333,7 +321,7 @@ static int ni_65xx_config_filter(struct comedi_device *dev,
}
 
writeb(devpriv-filter_enable[port],
-  devpriv-mmio + Filter_Enable(port));
+  devpriv-mmio + NI_65XX_FILTER_ENA(port));
 
return 2;
 }
@@ -357,14 +345,16 @@ static int ni_65xx_dio_insn_config(struct comedi_device 
*dev,
if (s-type != COMEDI_SUBD_DIO)
return -EINVAL;
devpriv-dio_direction[port] = COMEDI_OUTPUT;
-   writeb(0, devpriv-mmio + Port_Select(port));
+   writeb(NI_65XX_IO_SEL_OUTPUT,
+  devpriv-mmio + NI_65XX_IO_SEL_REG(port));
return 1;
break;
case INSN_CONFIG_DIO_INPUT:
if (s-type != COMEDI_SUBD_DIO)
return -EINVAL;
devpriv-dio_direction[port] = COMEDI_INPUT;
-   writeb(1, devpriv-mmio + Port_Select(port));
+   writeb(NI_65XX_IO_SEL_INPUT,
+  devpriv-mmio + NI_65XX_IO_SEL_REG(port));
return 1;
break;
case INSN_CONFIG_DIO_QUERY:
@@ -419,9 +409,10 @@ static int ni_65xx_dio_insn_bits(struct comedi_device *dev,
bits = devpriv-output_bits[port];
if (board-invert_outputs)
bits = ~bits;
-   writeb(bits, devpriv-mmio + Port_Data(port));
+   writeb(bits, devpriv-mmio + NI_65XX_IO_DATA_REG(port));
}
-   port_read_bits = readb(devpriv-mmio + Port_Data(port));
+   port_read_bits = readb(devpriv-mmio +
+  NI_65XX_IO_DATA_REG(port));
if (s-type == COMEDI_SUBD_DO  board-invert_outputs) {
/* Outputs inverted, so invert value read back from
 * DO subdevice.  (Does not apply to boards with DIO
@@ -547,21 +538,15 @@ static int ni_65xx_intr_insn_config(struct comedi_device 
*dev,
if (data[0] != INSN_CONFIG_CHANGE_NOTIFY)
return -EINVAL;
 
-   writeb(data[1], devpriv-mmio + Rising_Edge_Detection_Enable(0));
-   writeb(data[1]  8,
-  devpriv-mmio + Rising_Edge_Detection_Enable(0x10));
-   writeb(data[1]  16,
-  devpriv-mmio + Rising_Edge_Detection_Enable(0x20));
-   writeb(data[1]  24,
-  devpriv-mmio + Rising_Edge_Detection_Enable(0x30));
-
-   writeb(data[2], devpriv-mmio + Falling_Edge_Detection_Enable(0));
-   writeb(data[2]  8,

[PATCH v2 14/18] staging: comedi: ni_65xx: tidy ni_65xx_intr_insn_bits() declaration

2014-06-26 Thread H Hartley Sweeten
For aesthetics, tidy up the whitespace of this function declarations to
follow the form in the rest of the driver.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index e547c2f..46d4ebc 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -511,7 +511,8 @@ static int ni_65xx_intr_cancel(struct comedi_device *dev,
 
 static int ni_65xx_intr_insn_bits(struct comedi_device *dev,
  struct comedi_subdevice *s,
- struct comedi_insn *insn, unsigned int *data)
+ struct comedi_insn *insn,
+ unsigned int *data)
 {
data[1] = 0;
return insn-n;
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 16/18] staging: comedi: ni_65xx: use the subdevice 'io_bits' to handle the 'invert_outputs'

2014-06-26 Thread H Hartley Sweeten
Some of the boards supported by this driver have output ports that are
inverted from the comedi view of the output state. For these boards the
read values from the output ports needs to be inverted before being
modified and inverted again before being written back in the (*insn_bits)
operation.

Currently the subdevice type and the boardinfo is checked in the (*insn_bits)
to determine if the inverted outputs need to be handled.

Since thise driver does not use the subdevice 'io_bits', simplify the driver
a bit by initializing the 'io_bits' during the attach to handle the inversion.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 15 ++-
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index a6d5fde..3e25e4e 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -362,19 +362,13 @@ static int ni_65xx_dio_insn_bits(struct comedi_device 
*dev,
 struct comedi_insn *insn,
 unsigned int *data)
 {
-   const struct ni_65xx_board *board = comedi_board(dev);
struct ni_65xx_private *devpriv = dev-private;
unsigned long base_port = (unsigned long)s-private;
unsigned int base_chan = CR_CHAN(insn-chanspec);
int last_port_offset = NI_65XX_CHAN_TO_PORT(s-n_chan - 1);
-   unsigned invert = 0x00;
unsigned read_bits = 0;
int port_offset;
 
-   /* handle inverted outputs if necessary */
-   if (s-type == COMEDI_SUBD_DO  board-invert_outputs)
-   invert = 0xff;
-
for (port_offset = NI_65XX_CHAN_TO_PORT(base_chan);
 port_offset = last_port_offset; port_offset++) {
unsigned port = base_port + port_offset;
@@ -399,16 +393,16 @@ static int ni_65xx_dio_insn_bits(struct comedi_device 
*dev,
/* update the outputs */
if (port_mask) {
bits = readb(devpriv-mmio + NI_65XX_IO_DATA_REG(port));
-   bits ^= invert;
+   bits ^= s-io_bits; /* invert if necessary */
bits = ~port_mask;
bits |= (port_data  port_mask);
-   bits ^= invert;
+   bits ^= s-io_bits; /* invert back */
writeb(bits, devpriv-mmio + NI_65XX_IO_DATA_REG(port));
}
 
/* read back the actual state */
bits = readb(devpriv-mmio + NI_65XX_IO_DATA_REG(port));
-   bits ^= invert;
+   bits ^= s-io_bits; /* invert if necessary */
if (bitshift  0)
bits = bitshift;
else
@@ -662,6 +656,9 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
 
/* the output ports always start after the input ports */
s-private = (void *)(unsigned long)board-num_di_ports;
+
+   /* use the io_bits to handle the inverted outputs */
+   s-io_bits  = (board-invert_outputs) ? 0xff : 0x00;
} else {
s-type = COMEDI_SUBD_UNUSED;
}
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 09/18] staging: comedi: ni_65xx: tidy up the port-chan conversions

2014-06-26 Thread H Hartley Sweeten
Introduce some convienence macros to handle the port to channel,
channel to port, and channel mask calculations based on the 8
channels per port of the hardware.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 40 ++--
 1 file changed, 17 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 742d3cd..5218e67 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -110,8 +110,10 @@ except maybe the 6514.
 #define NI_65XX_WDOG_HI_LO_REG(x)  (0x48 + NI_65XX_PORT(x))
 #define NI_65XX_RTSI_ENA(x)(0x49 + NI_65XX_PORT(x))
 
-#define NI_65XX_MAX_NUM_PORTS 12
-static const unsigned ni_65xx_channels_per_port = 8;
+#define NI_65XX_MAX_NUM_PORTS  12
+#define NI_65XX_PORT_TO_CHAN(x)((x) * 8)
+#define NI_65XX_CHAN_TO_PORT(x)((x) / 8)
+#define NI_65XX_CHAN_TO_MASK(x)(1  ((x) % 8))
 
 enum ni_65xx_boardid {
BOARD_PCI6509,
@@ -258,11 +260,6 @@ static const struct ni_65xx_board ni_65xx_boards[] = {
},
 };
 
-static inline unsigned ni_65xx_port_by_channel(unsigned channel)
-{
-   return channel / ni_65xx_channels_per_port;
-}
-
 static inline unsigned ni_65xx_total_num_ports(const struct ni_65xx_board
   *board)
 {
@@ -282,8 +279,8 @@ static int ni_65xx_dio_insn_config(struct comedi_device 
*dev,
struct ni_65xx_private *devpriv = dev-private;
unsigned long base_port = (unsigned long)s-private;
unsigned int chan = CR_CHAN(insn-chanspec);
-   unsigned int chan_mask = 1  (chan % ni_65xx_channels_per_port);
-   unsigned port = base_port + ni_65xx_port_by_channel(chan);
+   unsigned int chan_mask = NI_65XX_CHAN_TO_MASK(chan);
+   unsigned port = base_port + NI_65XX_CHAN_TO_PORT(chan);
unsigned int interval;
unsigned int val;
 
@@ -345,23 +342,23 @@ static int ni_65xx_dio_insn_config(struct comedi_device 
*dev,
 
 static int ni_65xx_dio_insn_bits(struct comedi_device *dev,
 struct comedi_subdevice *s,
-struct comedi_insn *insn, unsigned int *data)
+struct comedi_insn *insn,
+unsigned int *data)
 {
const struct ni_65xx_board *board = comedi_board(dev);
-   unsigned long base_port = (unsigned long)s-private;
struct ni_65xx_private *devpriv = dev-private;
-   int base_bitfield_channel;
+   unsigned long base_port = (unsigned long)s-private;
+   unsigned int base_chan = CR_CHAN(insn-chanspec);
+   int last_port_offset = NI_65XX_CHAN_TO_PORT(s-n_chan - 1);
unsigned read_bits = 0;
-   int last_port_offset = ni_65xx_port_by_channel(s-n_chan - 1);
int port_offset;
 
-   base_bitfield_channel = CR_CHAN(insn-chanspec);
-   for (port_offset = ni_65xx_port_by_channel(base_bitfield_channel);
+   for (port_offset = NI_65XX_CHAN_TO_PORT(base_chan);
 port_offset = last_port_offset; port_offset++) {
unsigned port = base_port + port_offset;
-   int base_port_channel = port_offset * ni_65xx_channels_per_port;
+   int base_port_channel = NI_65XX_PORT_TO_CHAN(port_offset);
unsigned port_mask, port_data, port_read_bits;
-   int bitshift = base_port_channel - base_bitfield_channel;
+   int bitshift = base_port_channel - base_chan;
 
if (bitshift = 32)
break;
@@ -623,8 +620,7 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
if (board-num_di_ports) {
s-type = COMEDI_SUBD_DI;
s-subdev_flags = SDF_READABLE;
-   s-n_chan =
-   board-num_di_ports * ni_65xx_channels_per_port;
+   s-n_chan = NI_65XX_PORT_TO_CHAN(board-num_di_ports);
s-range_table = range_digital;
s-maxdata = 1;
s-insn_config = ni_65xx_dio_insn_config;
@@ -640,8 +636,7 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
if (board-num_do_ports) {
s-type = COMEDI_SUBD_DO;
s-subdev_flags = SDF_READABLE | SDF_WRITABLE;
-   s-n_chan =
-   board-num_do_ports * ni_65xx_channels_per_port;
+   s-n_chan = NI_65XX_PORT_TO_CHAN(board-num_do_ports);
s-range_table = range_digital;
s-maxdata = 1;
s-insn_bits = ni_65xx_dio_insn_bits;
@@ -656,8 +651,7 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
if (board-num_dio_ports) {
s-type = COMEDI_SUBD_DIO;
s-subdev_flags = SDF_READABLE | 

[PATCH v2 11/18] staging: comedi: ni_65xx: tidy up the comedi_driver declaration

2014-06-26 Thread H Hartley Sweeten
For aesthetics, add some whitespace to the comedi_driver declaration.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 07d5949..6c194fc 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -714,10 +714,10 @@ static void ni_65xx_detach(struct comedi_device *dev)
 }
 
 static struct comedi_driver ni_65xx_driver = {
-   .driver_name = ni_65xx,
-   .module = THIS_MODULE,
-   .auto_attach = ni_65xx_auto_attach,
-   .detach = ni_65xx_detach,
+   .driver_name= ni_65xx,
+   .module = THIS_MODULE,
+   .auto_attach= ni_65xx_auto_attach,
+   .detach = ni_65xx_detach,
 };
 
 static int ni_65xx_pci_probe(struct pci_dev *dev,
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 01/18] staging: comedi: ni_65xx: filter interval register is 32-bit

2014-06-26 Thread H Hartley Sweeten
According to the register programming manual, the filter interval
register is 32-bit. Fix the writes to this register.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index d6c1140..292355b 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -299,7 +299,7 @@ static int ni_65xx_config_filter(struct comedi_device *dev,
data[1] = interval * filter_resolution_ns;
 
if (interval != devpriv-filter_interval) {
-   writeb(interval, devpriv-mmio + Filter_Interval);
+   writel(interval, devpriv-mmio + Filter_Interval);
devpriv-filter_interval = interval;
}
 
@@ -689,7 +689,7 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
writeb(0x00, devpriv-mmio + Master_Interrupt_Control);
 
/* Set filter interval to 0  (32bit reg) */
-   writeb(0x, devpriv-mmio + Filter_Interval);
+   writel(0x, devpriv-mmio + Filter_Interval);
 
ret = request_irq(dev-irq, ni_65xx_interrupt, IRQF_SHARED,
  ni_65xx, dev);
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 17/18] staging: comedi: ni_65xx: fix digital output reset during attach

2014-06-26 Thread H Hartley Sweeten
During the attach of this driver, the digital output ports are all
initialized to a known state. Some of the boards supported by this
driver have output ports that are inverted from the comedi view of
the output state. For these boards the values written to the ports
needs to be inverted.

Currently, only bit 0 of each port is inverted when the boardinfo
indicates that the outputs are inverted. This results in channels
0, 8, 16, etc. being set to '0' and all other channels being set
to '1'. If the boardinfo does not indicate that the outputs are
inverted, all the channels are set to '0'.

This initialization is unnecessary for the input only ports. The
input/output ports also do not need to be initialized since they
are configured as inputs during the attach.

Move the output port initialization so it occurs when the digital
output subdevice is setup. Use the 's-io_bits' value to initialize
the ports so that the correct inverted/non-inverted state is used
for the comedi '0' value.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 3e25e4e..a0deb01 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -659,6 +659,13 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
 
/* use the io_bits to handle the inverted outputs */
s-io_bits  = (board-invert_outputs) ? 0xff : 0x00;
+
+   /* reset all output ports to comedi '0' */
+   for (i = 0; i  board-num_do_ports; ++i) {
+   writeb(s-io_bits,  /* inverted if necessary */
+  devpriv-mmio +
+  NI_65XX_IO_DATA_REG(board-num_di_ports + i));
+   }
} else {
s-type = COMEDI_SUBD_UNUSED;
}
@@ -702,13 +709,8 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
s-cancel   = ni_65xx_intr_cancel;
}
 
-   for (i = 0; i  ni_65xx_total_num_ports(board); ++i) {
+   for (i = 0; i  ni_65xx_total_num_ports(board); ++i)
writeb(0x00, devpriv-mmio + NI_65XX_FILTER_ENA(i));
-   if (board-invert_outputs)
-   writeb(0x01, devpriv-mmio + NI_65XX_IO_DATA_REG(i));
-   else
-   writeb(0x00, devpriv-mmio + NI_65XX_IO_DATA_REG(i));
-   }
 
/* Set filter interval to 0  (32bit reg) */
writel(0x, devpriv-mmio + NI_65XX_FILTER_REG);
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 15/18] staging: comedi: ni_65xx: remove 'output_bits' from private data

2014-06-26 Thread H Hartley Sweeten
Remove the need for the 'output_bits' in the private data by just
reading the current state of the data port when updating the output
channels in the (*insn_bits) function.

Add a local variable to handle the inverting of the hardware values
when the boardinfo indicates that the outputs are inverted.

Rename the local variable 'port_read_bits' to 'bits' so that we can
use it for updating the output channels and reading back the actual
state to return to the user.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 41 
 1 file changed, 20 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 46d4ebc..a6d5fde 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -129,7 +129,6 @@
 #define NI_65XX_WDOG_HI_LO_REG(x)  (0x48 + NI_65XX_PORT(x))
 #define NI_65XX_RTSI_ENA(x)(0x49 + NI_65XX_PORT(x))
 
-#define NI_65XX_MAX_NUM_PORTS  12
 #define NI_65XX_PORT_TO_CHAN(x)((x) * 8)
 #define NI_65XX_CHAN_TO_PORT(x)((x) / 8)
 #define NI_65XX_CHAN_TO_MASK(x)(1  ((x) % 8))
@@ -287,7 +286,6 @@ static inline unsigned ni_65xx_total_num_ports(const struct 
ni_65xx_board
 
 struct ni_65xx_private {
void __iomem *mmio;
-   unsigned short output_bits[NI_65XX_MAX_NUM_PORTS];
 };
 
 static int ni_65xx_dio_insn_config(struct comedi_device *dev,
@@ -369,14 +367,19 @@ static int ni_65xx_dio_insn_bits(struct comedi_device 
*dev,
unsigned long base_port = (unsigned long)s-private;
unsigned int base_chan = CR_CHAN(insn-chanspec);
int last_port_offset = NI_65XX_CHAN_TO_PORT(s-n_chan - 1);
+   unsigned invert = 0x00;
unsigned read_bits = 0;
int port_offset;
 
+   /* handle inverted outputs if necessary */
+   if (s-type == COMEDI_SUBD_DO  board-invert_outputs)
+   invert = 0xff;
+
for (port_offset = NI_65XX_CHAN_TO_PORT(base_chan);
 port_offset = last_port_offset; port_offset++) {
unsigned port = base_port + port_offset;
int base_port_channel = NI_65XX_PORT_TO_CHAN(port_offset);
-   unsigned port_mask, port_data, port_read_bits;
+   unsigned port_mask, port_data, bits;
int bitshift = base_port_channel - base_chan;
 
if (bitshift = 32)
@@ -392,30 +395,26 @@ static int ni_65xx_dio_insn_bits(struct comedi_device 
*dev,
}
port_mask = 0xff;
port_data = 0xff;
+
+   /* update the outputs */
if (port_mask) {
-   unsigned bits;
-   devpriv-output_bits[port] = ~port_mask;
-   devpriv-output_bits[port] |=
-   port_data  port_mask;
-   bits = devpriv-output_bits[port];
-   if (board-invert_outputs)
-   bits = ~bits;
+   bits = readb(devpriv-mmio + NI_65XX_IO_DATA_REG(port));
+   bits ^= invert;
+   bits = ~port_mask;
+   bits |= (port_data  port_mask);
+   bits ^= invert;
writeb(bits, devpriv-mmio + NI_65XX_IO_DATA_REG(port));
}
-   port_read_bits = readb(devpriv-mmio +
-  NI_65XX_IO_DATA_REG(port));
-   if (s-type == COMEDI_SUBD_DO  board-invert_outputs) {
-   /* Outputs inverted, so invert value read back from
-* DO subdevice.  (Does not apply to boards with DIO
-* subdevice.) */
-   port_read_bits ^= 0xFF;
-   }
+
+   /* read back the actual state */
+   bits = readb(devpriv-mmio + NI_65XX_IO_DATA_REG(port));
+   bits ^= invert;
if (bitshift  0)
-   port_read_bits = bitshift;
+   bits = bitshift;
else
-   port_read_bits = -bitshift;
+   bits = -bitshift;
 
-   read_bits |= port_read_bits;
+   read_bits |= bits;
}
data[1] = read_bits;
return insn-n;
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 18/18] staging: comedi: ni_65xx: factor input filter disable out of (*auto_attach)

2014-06-26 Thread H Hartley Sweeten
For aesthetics, factor the code that disables the input filters out of
ni_65xx_auto_attach().

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 31 ---
 1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index a0deb01..cad2c28 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -278,16 +278,29 @@ static const struct ni_65xx_board ni_65xx_boards[] = {
},
 };
 
-static inline unsigned ni_65xx_total_num_ports(const struct ni_65xx_board
-  *board)
-{
-   return board-num_dio_ports + board-num_di_ports + board-num_do_ports;
-}
-
 struct ni_65xx_private {
void __iomem *mmio;
 };
 
+static void ni_65xx_disable_input_filters(struct comedi_device *dev)
+{
+   const struct ni_65xx_board *board = comedi_board(dev);
+   struct ni_65xx_private *devpriv = dev-private;
+   unsigned num_ports;
+   int i;
+
+   num_ports = board-num_dio_ports +
+   board-num_di_ports +
+   board-num_do_ports;
+
+   /* disable input filtering on all ports */
+   for (i = 0; i  num_ports; ++i)
+   writeb(0x00, devpriv-mmio + NI_65XX_FILTER_ENA(i));
+
+   /* set filter interval to 0 (32bit reg) */
+   writel(0x, devpriv-mmio + NI_65XX_FILTER_REG);
+}
+
 static int ni_65xx_dio_insn_config(struct comedi_device *dev,
   struct comedi_subdevice *s,
   struct comedi_insn *insn,
@@ -709,11 +722,7 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
s-cancel   = ni_65xx_intr_cancel;
}
 
-   for (i = 0; i  ni_65xx_total_num_ports(board); ++i)
-   writeb(0x00, devpriv-mmio + NI_65XX_FILTER_ENA(i));
-
-   /* Set filter interval to 0  (32bit reg) */
-   writel(0x, devpriv-mmio + NI_65XX_FILTER_REG);
+   ni_65xx_disable_input_filters(dev);
 
return 0;
 }
-- 
1.9.3

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 06/18] staging: comedi: ni_65xx: remove the need for the subdevice private data

2014-06-26 Thread H Hartley Sweeten
There is only one member in the subdevice private data, an unsigned value
that is the 'base_port' that the subdevice uses to access the port registers.

Just cast the appropriate value into s-private instead of allocating the
private data for each subdevice. The casts are a bit of a nusance but it
removes the unnecessary allocations.

Signed-off-by: H Hartley Sweeten hswee...@visionengravers.com
Cc: Ian Abbott abbo...@mev.co.uk
Cc: Greg Kroah-Hartman gr...@linuxfoundation.org
---
 drivers/staging/comedi/drivers/ni_65xx.c | 39 
 1 file changed, 14 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_65xx.c 
b/drivers/staging/comedi/drivers/ni_65xx.c
index 4b3f504..7e562f1 100644
--- a/drivers/staging/comedi/drivers/ni_65xx.c
+++ b/drivers/staging/comedi/drivers/ni_65xx.c
@@ -274,25 +274,16 @@ struct ni_65xx_private {
unsigned short output_bits[NI_65XX_MAX_NUM_PORTS];
 };
 
-struct ni_65xx_subdevice_private {
-   unsigned base_port;
-};
-
-static inline struct ni_65xx_subdevice_private *sprivate(struct 
comedi_subdevice
-*subdev)
-{
-   return subdev-private;
-}
-
 static int ni_65xx_dio_insn_config(struct comedi_device *dev,
   struct comedi_subdevice *s,
   struct comedi_insn *insn,
   unsigned int *data)
 {
struct ni_65xx_private *devpriv = dev-private;
+   unsigned long base_port = (unsigned long)s-private;
unsigned int chan = CR_CHAN(insn-chanspec);
unsigned int chan_mask = 1  (chan % ni_65xx_channels_per_port);
-   unsigned port = sprivate(s)-base_port + ni_65xx_port_by_channel(chan);
+   unsigned port = base_port + ni_65xx_port_by_channel(chan);
unsigned int interval;
unsigned int val;
 
@@ -357,6 +348,7 @@ static int ni_65xx_dio_insn_bits(struct comedi_device *dev,
 struct comedi_insn *insn, unsigned int *data)
 {
const struct ni_65xx_board *board = comedi_board(dev);
+   unsigned long base_port = (unsigned long)s-private;
struct ni_65xx_private *devpriv = dev-private;
int base_bitfield_channel;
unsigned read_bits = 0;
@@ -366,7 +358,7 @@ static int ni_65xx_dio_insn_bits(struct comedi_device *dev,
base_bitfield_channel = CR_CHAN(insn-chanspec);
for (port_offset = ni_65xx_port_by_channel(base_bitfield_channel);
 port_offset = last_port_offset; port_offset++) {
-   unsigned port = sprivate(s)-base_port + port_offset;
+   unsigned port = base_port + port_offset;
int base_port_channel = port_offset * ni_65xx_channels_per_port;
unsigned port_mask, port_data, port_read_bits;
int bitshift = base_port_channel - base_bitfield_channel;
@@ -563,7 +555,6 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
struct pci_dev *pcidev = comedi_to_pci_dev(dev);
const struct ni_65xx_board *board = NULL;
struct ni_65xx_private *devpriv;
-   struct ni_65xx_subdevice_private *spriv;
struct comedi_subdevice *s;
unsigned i;
int ret;
@@ -609,10 +600,9 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
s-maxdata = 1;
s-insn_config = ni_65xx_dio_insn_config;
s-insn_bits = ni_65xx_dio_insn_bits;
-   spriv = comedi_alloc_spriv(s, sizeof(*spriv));
-   if (!spriv)
-   return -ENOMEM;
-   spriv-base_port = 0;
+
+   /* the input ports always start at port 0 */
+   s-private = (void *)0;
} else {
s-type = COMEDI_SUBD_UNUSED;
}
@@ -626,10 +616,9 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
s-range_table = range_digital;
s-maxdata = 1;
s-insn_bits = ni_65xx_dio_insn_bits;
-   spriv = comedi_alloc_spriv(s, sizeof(*spriv));
-   if (!spriv)
-   return -ENOMEM;
-   spriv-base_port = board-num_di_ports;
+
+   /* the output ports always start after the input ports */
+   s-private = (void *)(unsigned long)board-num_di_ports;
} else {
s-type = COMEDI_SUBD_UNUSED;
}
@@ -644,10 +633,10 @@ static int ni_65xx_auto_attach(struct comedi_device *dev,
s-maxdata = 1;
s-insn_config = ni_65xx_dio_insn_config;
s-insn_bits = ni_65xx_dio_insn_bits;
-   spriv = comedi_alloc_spriv(s, sizeof(*spriv));
-   if (!spriv)
-   return -ENOMEM;
-   spriv-base_port = 0;
+
+   /* the input/output ports always start at port 0 */
+   s-private = (void *)0;
+
/* configure all ports for input */
 

Re: Anybody working on ced1401?

2014-06-26 Thread Greg KH
On Thu, Jun 26, 2014 at 09:36:17AM +0200, Alois Schloegl wrote:
 On 2014-06-18 13:33, Kristina Martšenko wrote:
  Hi Alois,
  
  I'm helping Greg do a bit of cleanup in the staging tree. I noticed that
  nobody seems to have worked towards moving ced1401 out of staging in
  over a year. Are there any plans to clean it up and move it out soon?
  Because otherwise we're going to have to delete the driver, as we don't
  want staging to become a permanent place for unfinished code.
  
  Thanks,
  Kristina
  
 
 
 Hi Kristina,
 
 
 thanks for the notice. Please, give me some time for checking here how
 we want to go forward with this.

What do you mean by this?  You all have had a lot of time, with no real
progress at all?  How about we delete the driver and if you decide to
continue to work on it, we can revert that deletion and go from there?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] Tools: hv: fix file overwriting of hv_fcopy_daemon

2014-06-26 Thread Yue Zhang
From: Yue Zhang yue...@microsoft.com

hv_fcopy_daemon fails to overwrite a file if the target file already
exits.

Add O_TRUNC flag on opening.

Signed-off-by: Yue Zhang yue...@microsoft.com
---
 tools/hv/hv_fcopy_daemon.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/hv/hv_fcopy_daemon.c b/tools/hv/hv_fcopy_daemon.c
index fba1c75..01eee6b 100644
--- a/tools/hv/hv_fcopy_daemon.c
+++ b/tools/hv/hv_fcopy_daemon.c
@@ -88,7 +88,8 @@ static int hv_start_fcopy(struct hv_start_fcopy *smsg)
}
}
 
-   target_fd = open(target_fname, O_RDWR | O_CREAT | O_CLOEXEC, 0744);
+   target_fd = open(target_fname,
+   O_RDWR | O_CREAT | O_TRUNC | O_CLOEXEC, 0744);
if (target_fd == -1) {
syslog(LOG_INFO, Open Failed: %s, strerror(errno));
goto done;
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH] video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic

2014-06-26 Thread Dexuan Cui
   MS-TFS: 157532
 
   What is this line for?
 
  Hi Greg,
  This line is for our internal bug repository.
  We have an automated system to correlate bugs with fixes so that our test
  team knows when a bug fix has been accepted upstream and they need to
  write a new test case for it.
 
  The MS-TFS line has appeared in the commit description for a while if you
  search for it in 'git log'  of linux-next.
 
  Please let us know if you have further comments.
 
 Please don't add marker lines like this that provide no relevancy to
 anyone else.  I don't allow gerrit ids for the same reason.  If you want
 to refer to a public bug tracker, that's great, otherwise, don't
 include it.
 
 greg k-h

Ok, I'll remove the line and re-submit a v2 patch(the patch itself will be
the same).

Thanks,
-- Dexuan
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2] video: hyperv: hyperv_fb: refresh the VM screen by force on VM panic

2014-06-26 Thread Dexuan Cui
Currently the VSC has no chance to notify the VSP of the dirty rectangle on VM
panic because the notification work is done in a workqueue, and in panic() the
kernel typically ends up in an infinite loop, and a typical kernel config has
CONFIG_PREEMPT_VOLUNTARY=y and CONFIG_PREEMPT is not set, so a context switch
can't happen in panic() and the workqueue won't have a chance to run. As a
result, the VM Connection window can't refresh until it's closed and we
re-connect to the VM.

We can register a handler on panic_notifier_list: the handler can notify
the VSC and switch the framebuffer driver to a synchronous mode, meaning
the VSC flushes any future framebuffer change to the VSP immediately.

v2: removed the MS-TFS line in the commit message

Signed-off-by: Dexuan Cui de...@microsoft.com
Reviewed-by: Haiyang Zhang haiya...@microsoft.com
---
 drivers/video/fbdev/hyperv_fb.c | 58 ++---
 1 file changed, 55 insertions(+), 3 deletions(-)

diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
index e23392e..291d171 100644
--- a/drivers/video/fbdev/hyperv_fb.c
+++ b/drivers/video/fbdev/hyperv_fb.c
@@ -226,11 +226,16 @@ struct hvfb_par {
u8 recv_buf[MAX_VMBUS_PKT_SIZE];
 };
 
+static struct fb_info *hvfb_info;
+
 static uint screen_width = HVFB_WIDTH;
 static uint screen_height = HVFB_HEIGHT;
 static uint screen_depth;
 static uint screen_fb_size;
 
+/* If true, the VSC notifies the VSP on every framebuffer change */
+static bool synchronous_fb;
+
 /* Send message to Hyper-V host */
 static inline int synthvid_send(struct hv_device *hdev,
struct synthvid_msg *msg)
@@ -532,6 +537,20 @@ static void hvfb_update_work(struct work_struct *w)
schedule_delayed_work(par-dwork, HVFB_UPDATE_DELAY);
 }
 
+static int hvfb_on_panic(struct notifier_block *nb,
+   unsigned long e, void *p)
+{
+   if (hvfb_info)
+   synthvid_update(hvfb_info);
+
+   synchronous_fb = true;
+
+   return NOTIFY_DONE;
+}
+
+static struct notifier_block hvfb_panic_nb = {
+   .notifier_call = hvfb_on_panic,
+};
 
 /* Framebuffer operation handlers */
 
@@ -582,14 +601,41 @@ static int hvfb_blank(int blank, struct fb_info *info)
return 1;   /* get fb_blank to set the colormap to all black */
 }
 
+static void hvfb_cfb_fillrect(struct fb_info *p,
+   const struct fb_fillrect *rect)
+{
+   cfb_fillrect(p, rect);
+
+   if (unlikely(synchronous_fb))
+   synthvid_update(p);
+}
+
+static void hvfb_cfb_copyarea(struct fb_info *p,
+   const struct fb_copyarea *area)
+{
+   cfb_copyarea(p, area);
+
+   if (unlikely(synchronous_fb))
+   synthvid_update(p);
+}
+
+static void hvfb_cfb_imageblit(struct fb_info *p,
+   const struct fb_image *image)
+{
+   cfb_imageblit(p, image);
+
+   if (unlikely(synchronous_fb))
+   synthvid_update(p);
+}
+
 static struct fb_ops hvfb_ops = {
.owner = THIS_MODULE,
.fb_check_var = hvfb_check_var,
.fb_set_par = hvfb_set_par,
.fb_setcolreg = hvfb_setcolreg,
-   .fb_fillrect = cfb_fillrect,
-   .fb_copyarea = cfb_copyarea,
-   .fb_imageblit = cfb_imageblit,
+   .fb_fillrect = hvfb_cfb_fillrect,
+   .fb_copyarea = hvfb_cfb_copyarea,
+   .fb_imageblit = hvfb_cfb_imageblit,
.fb_blank = hvfb_blank,
 };
 
@@ -801,6 +847,9 @@ static int hvfb_probe(struct hv_device *hdev,
 
par-fb_ready = true;
 
+   hvfb_info = info;
+   atomic_notifier_chain_register(panic_notifier_list, hvfb_panic_nb);
+
return 0;
 
 error:
@@ -820,6 +869,9 @@ static int hvfb_remove(struct hv_device *hdev)
struct fb_info *info = hv_get_drvdata(hdev);
struct hvfb_par *par = info-par;
 
+   atomic_notifier_chain_unregister(panic_notifier_list, hvfb_panic_nb);
+   hvfb_info = NULL;
+
par-update = false;
par-fb_ready = false;
 
-- 
1.9.1

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH] Tools: hv: fix file overwriting of hv_fcopy_daemon

2014-06-26 Thread KY Srinivasan


 -Original Message-
 From: Yue Zhang [mailto:yue...@microsoft.com]
 Sent: Thursday, June 26, 2014 2:09 PM
 To: KY Srinivasan; Haiyang Zhang; driverdev-devel@linuxdriverproject.org;
 linux-ker...@vger.kernel.org; o...@aepfle.de; jasow...@redhat.com;
 a...@canonical.com
 Cc: Dexuan Cui; Thomas Shao
 Subject: [PATCH] Tools: hv: fix file overwriting of hv_fcopy_daemon
 
 From: Yue Zhang yue...@microsoft.com
 
 hv_fcopy_daemon fails to overwrite a file if the target file already exits.
 
 Add O_TRUNC flag on opening.
 
 Signed-off-by: Yue Zhang yue...@microsoft.com
 ---
  tools/hv/hv_fcopy_daemon.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/tools/hv/hv_fcopy_daemon.c b/tools/hv/hv_fcopy_daemon.c
 index fba1c75..01eee6b 100644
 --- a/tools/hv/hv_fcopy_daemon.c
 +++ b/tools/hv/hv_fcopy_daemon.c
 @@ -88,7 +88,8 @@ static int hv_start_fcopy(struct hv_start_fcopy *smsg)
   }
   }
 
 - target_fd = open(target_fname, O_RDWR | O_CREAT | O_CLOEXEC,
 0744);
 + target_fd = open(target_fname,
 + O_RDWR | O_CREAT | O_TRUNC |
Please align O_RDWR to align with the first argument (target_fname). 

K. Y

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH v14 04/10] imx-drm: use defines for clock polarity settings

2014-06-26 Thread Russell King - ARM Linux
On Wed, Jun 25, 2014 at 11:44:47AM +0200, Denis Carikli wrote:
 On 06/25/2014 06:48 AM, Sascha Hauer wrote:
 +#define ENABLE_POL_LOW 0
 +#define ENABLE_POL_HIGH1

 Adding defines without a proper namespace (IPU_) outside a driver
 private header file is not nice. Anyway, instead of adding the
 defines ...
 Fixed in imx-drm: use defines for clock polarity settings and in  
 imx-drm: Use drm_display_mode timings flags..

Denis, can you send just this one updated patch, so I can update the
one I have here with this change.  Once you've done that, I'll send
the first four off to Greg.

Thanks.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


RE: [PATCH] Tools: hv: fix file overwriting of hv_fcopy_daemon

2014-06-26 Thread Yue Zhang (OSTC DEV)


 -Original Message-
 From: KY Srinivasan
  -Original Message-
  From: Yue Zhang [mailto:yue...@microsoft.com]
  hv_fcopy_daemon fails to overwrite a file if the target file already exits.
 
  Add O_TRUNC flag on opening.
 
  Signed-off-by: Yue Zhang yue...@microsoft.com
  ---
   tools/hv/hv_fcopy_daemon.c | 3 ++-
   1 file changed, 2 insertions(+), 1 deletion(-)
 
  diff --git a/tools/hv/hv_fcopy_daemon.c b/tools/hv/hv_fcopy_daemon.c
  index fba1c75..01eee6b 100644
  --- a/tools/hv/hv_fcopy_daemon.c
  +++ b/tools/hv/hv_fcopy_daemon.c
  @@ -88,7 +88,8 @@ static int hv_start_fcopy(struct hv_start_fcopy
  *smsg)  }  }
 
  -target_fd = open(target_fname, O_RDWR | O_CREAT | O_CLOEXEC, 0744);
  +target_fd = open(target_fname,
  +O_RDWR | O_CREAT | O_TRUNC |
 Please align O_RDWR to align with the first argument (target_fname).
Thanks. I will fix it. 
 
 K. Y
 

___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: Anybody working on line6?

2014-06-26 Thread Greg KH
On Tue, Jun 24, 2014 at 10:12:03PM +0800, Stefan Hajnoczi wrote:
 On Tue, Jun 24, 2014 at 9:52 PM, Greg KH gre...@linuxfoundation.org wrote:
  On Tue, Jun 24, 2014 at 11:54:10AM +0800, Stefan Hajnoczi wrote:
  On Tue, Jun 24, 2014 at 4:23 AM, Kristina Martšenko
  kristina.martse...@gmail.com wrote:
   I'm helping Greg do a bit of cleanup in the staging tree. I noticed that
   nobody seems to have worked towards moving line6 out of staging in over
   a year. Are there any plans to clean it up and move it out soon? Because
   otherwise we're going to have to delete the driver, as we don't want
   staging to become a permanent place for unfinished code.
 
  I do not have time to resume the work and am moving to new hardware in
  a few weeks.
 
  Do you know of anyone else using this hardware on Linux?
 
 Markus Grabner is the maintainer and still the best person to involve.
 
 People have popped up from time to time on the line6linux-devel
 mailing list but no one has stuck around:
 http://sourceforge.net/p/line6linux/mailman/line6linux-devel/
 
  It's a shame since the driver is in a pretty good position for further
  cleanups and a move out of staging/.  There's not that much left to do
  but the rate of progress at the moment is zero.
 
  If the code is almost ready to move, what do you think is left to do?
 
 1. Run checkpatch.pl again to make sure there are no coding style
 issues remaining.
 
 2. Audit remaining sysfs attributes and drop them where possible.  I
 killed off the easy ones which just sent MIDI messages that userspace
 can send just as easily.  Now only the weird ones are left:
 
 drivers/staging/line6/pcm.c:static DEVICE_ATTR_RW(impulse_volume);
 drivers/staging/line6/pcm.c:static DEVICE_ATTR_RW(impulse_period);
 drivers/staging/line6/pod.c:static DEVICE_ATTR_RO(device_id);
 drivers/staging/line6/pod.c:static DEVICE_ATTR_RO(firmware_version);
 drivers/staging/line6/pod.c:static DEVICE_ATTR_RO(serial_number);
 drivers/staging/line6/toneport.c:static DEVICE_ATTR(led_red, S_IWUSR |
 S_IRUGO, line6_nop_read,
 drivers/staging/line6/toneport.c:static DEVICE_ATTR(led_green, S_IWUSR
 | S_IRUGO, line6_nop_read,
 
 Are sysfs attributes appropriate userspace ABIs for these parameters?
 Should ioctls be used instead?

Are these even needed at all?  Do people care about them?  serial number
and firmware version seems trivial and not needed.  leds should use the
led kernel interface instead.  device_id is not needed as that's in the
sysfs name already.

So that leaves impulse_volume and period.  What are these?  Are there
any MIDI interfaces that use them?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: ACPI Support for HP Pavillion laptops

2014-06-26 Thread Greg KH
On Wed, Jun 25, 2014 at 08:19:52AM +0530, Chetal Patil wrote:
 Hi,
 
 I recently joined the Linux Driver Development mailing list and would
 like to contribute to the Linux Driver Project. Specifically, I would
 like to contribute by working on ACPI Support for HP Pavillion laptops
 (Referred list at
 http://www.linuxdriverproject.org/mediawiki/index.php/Drivers_Needed).
 Regarding this, I humbly seek answer to the following questions.
 
 1). Is anyone currently working on this project?
 2). If any kind of contribution is still needed, can anyone please
 provide me details?

Do you have the hardware here, and have any chance to get the specs for
what the hardware provides?  And why would ACPI support for a specific
laptop be needed?  Linux supports ACPI quite well these days, are you
sure this isn't already done?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 1/3] staging: rtl8188eu: core: Remove unnecessary conditionals

2014-06-26 Thread Greg KH
On Sun, Jun 22, 2014 at 01:01:50PM +0200, Thomas Vegas wrote:
 The variable 'pxmitbuf' is already set to NULL when entering the
 function. We can remove the first conditional. When _rtw_queue_empty()
 returns false, 'pxmitbuf' if not NULL. We can merge the second and
 third conditional.
 
 Signed-off-by: Thomas Vegas tho...@grouk.net
 ---
  drivers/staging/rtl8188eu/core/rtw_xmit.c | 7 +--
  1 file changed, 1 insertion(+), 6 deletions(-)

Due to changes by others in this file, your patches do not apply
anymore, sorry.

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH 2/6] Staging: bcm: Indentation fixes

2014-06-26 Thread Greg KH
On Mon, Jun 23, 2014 at 01:41:05PM -0700, j...@joshtriplett.org wrote:
 On Mon, Jun 23, 2014 at 11:42:29AM +0200, Matthias Beyer wrote:
  This patch fixes some indentation errors, where multi-line statements
  where not indented.
  
  Signed-off-by: Matthias Beyer m...@beyermatthias.de
 
 This patch also fixes some whitespace issues, such as a lack of space
 before '/', which should probably go into the previous patch.

Yeah, can you please redo this whole series based on the comments here?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: winbond: remove driver

2014-06-26 Thread Greg KH
On Mon, Jun 23, 2014 at 06:41:29PM +0300, Kristina Martšenko wrote:
 The driver hasn't been cleaned up and nobody is working to do so, so
 remove it.
 
 Signed-off-by: Kristina Martšenko kristina.martse...@gmail.com
 Cc: Pavel Machek pa...@ucw.cz

This patch didn't apply to my tree for some odd reason, can you please
refresh it and resend?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging: wlan-ng/hfa384x_usb.c: add blank line after declarations

2014-06-26 Thread Greg Kroah-Hartman
On Thu, Jun 26, 2014 at 10:43:55PM +0800, Cheng-Wei Lee wrote:
 This patch fixes the following checkpatch.pl issues in hfa384x_usb.c:
 WARNING: Missing a blank line after declarations
 
 Signed-off-by: Quentin Lee lee.rhaps...@gmail.com
 ---
  drivers/staging/wlan-ng/hfa384x_usb.c |1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c
 b/drivers/staging/wlan-ng/hfa384x_usb.c
 index 98343ff7..07cee56 100644
 --- a/drivers/staging/wlan-ng/hfa384x_usb.c
 +++ b/drivers/staging/wlan-ng/hfa384x_usb.c
 @@ -3705,6 +3705,7 @@ static void hfa384x_usbout_callback(struct urb *urb)
   case -EPIPE:
   {
   hfa384x_t *hw = wlandev-priv;
 +
   netdev_warn(hw-wlandev-netdev,
   %s tx pipe stalled: requesting 
 reset\n,
   wlandev-netdev-name);
 -- 
 1.7.9.5

You have sent a bunch of patches, and no version information as to
which ones to apply and which ones superseed others.

So I've deleted them all from my inbox, can you please resend the proper
ones that you wish to have applied?

thanks,

greg k-h
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel