Re: [PATCH 1/2 v2] staging: dgnc: remove redundant NULL check for brd

2016-05-27 Thread Luis de Bethencourt
On 27/05/16 02:42, Daeseok Youn wrote:
> the "brd" value cannot be NULL in dgnc_finalize_board_init().
> Because "brd" as a parameter of this function was already
> checked for NULL.
> 
> the dgnc_finalize_board_init() as a static function was called
> only from dgnc_found_board() function and brd->magic value
> was assigned once in dgnc_found_board(). So it doesn't need to
> check for DGNC_BOARD_MAGIC value.
> 
> Signed-off-by: Daeseok Youn 
> ---
> V2: Adds more comments to Change Log.
> 
>  drivers/staging/dgnc/dgnc_driver.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_driver.c 
> b/drivers/staging/dgnc/dgnc_driver.c
> index af2e835..22257d2 100644
> --- a/drivers/staging/dgnc/dgnc_driver.c
> +++ b/drivers/staging/dgnc/dgnc_driver.c
> @@ -579,9 +579,6 @@ static int dgnc_finalize_board_init(struct dgnc_board 
> *brd)
>  {
>   int rc = 0;
>  
> - if (!brd || brd->magic != DGNC_BOARD_MAGIC)
> - return -ENODEV;
> -
>   if (brd->irq) {
>   rc = request_irq(brd->irq, brd->bd_ops->intr,
>IRQF_SHARED, "DGNC", brd);
> 

Looks good.

Thanks for the fixes Daeseok :)

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


Re: [PATCH 2/2 V2] staging: dgnc: remove redundant null check in

2016-05-27 Thread Luis de Bethencourt
On 27/05/16 02:43, Daeseok Youn wrote:
> the "brd" was already checked for NULL before calling dgnc_do_remap().
> 
> the dgnc_do_remap() function was called only
> from the dgnc_found_board() and the DGNC_BOARD_MAGIC value
> was assigned to "brd->magic" in dgcn_found_board(). So it doesn't
> need to check about magic value.
> 
> Signed-off-by: Daeseok Youn 
> ---
> V2: Adds more comments to Change Log.
> 
>  drivers/staging/dgnc/dgnc_driver.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_driver.c 
> b/drivers/staging/dgnc/dgnc_driver.c
> index 22257d2..1882ef5 100644
> --- a/drivers/staging/dgnc/dgnc_driver.c
> +++ b/drivers/staging/dgnc/dgnc_driver.c
> @@ -599,9 +599,6 @@ static int dgnc_finalize_board_init(struct dgnc_board 
> *brd)
>   */
>  static void dgnc_do_remap(struct dgnc_board *brd)
>  {
> - if (!brd || brd->magic != DGNC_BOARD_MAGIC)
> - return;
> -
>   brd->re_map_membase = ioremap(brd->membase, 0x1000);
>  }
>  
> 

Looks good.

Thanks for the fixes Daeseok :)

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


Re: [PATCH 1/7] staging: dgnc: remove useless variable 'intr_count'

2016-05-27 Thread Luis de Bethencourt
On 27/05/16 07:52, Daeseok Youn wrote:
> The 'intr_count' variable was used only for increasing.
> So the 'intr_count' variable is not useful for this driver.
> 
> Signed-off-by: Daeseok Youn 
> ---
>  drivers/staging/dgnc/dgnc_cls.c| 2 --
>  drivers/staging/dgnc/dgnc_driver.h | 1 -
>  drivers/staging/dgnc/dgnc_neo.c| 2 --
>  3 files changed, 5 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_cls.c b/drivers/staging/dgnc/dgnc_cls.c
> index 46c050c..dcb808f 100644
> --- a/drivers/staging/dgnc/dgnc_cls.c
> +++ b/drivers/staging/dgnc/dgnc_cls.c
> @@ -760,8 +760,6 @@ static irqreturn_t cls_intr(int irq, void *voidbrd)
>  
>   spin_lock_irqsave(&brd->bd_intr_lock, flags);
>  
> - brd->intr_count++;
> -
>   /*
>* Check the board's global interrupt offset to see if we
>* we actually do have an interrupt pending for us.
> diff --git a/drivers/staging/dgnc/dgnc_driver.h 
> b/drivers/staging/dgnc/dgnc_driver.h
> index 95ec729..7ac33ed 100644
> --- a/drivers/staging/dgnc/dgnc_driver.h
> +++ b/drivers/staging/dgnc/dgnc_driver.h
> @@ -183,7 +183,6 @@ struct dgnc_board {
>   uintnasync; /* Number of ports on card */
>  
>   uintirq;/* Interrupt request number */
> - ulong   intr_count; /* Count of interrupts */
>   ulong   intr_modem; /* Count of interrupts */
>   ulong   intr_tx;/* Count of interrupts */
>   ulong   intr_rx;/* Count of interrupts */
> diff --git a/drivers/staging/dgnc/dgnc_neo.c b/drivers/staging/dgnc/dgnc_neo.c
> index ba57e95..3f8bbb3 100644
> --- a/drivers/staging/dgnc/dgnc_neo.c
> +++ b/drivers/staging/dgnc/dgnc_neo.c
> @@ -926,8 +926,6 @@ static irqreturn_t neo_intr(int irq, void *voidbrd)
>   if (!brd || brd->magic != DGNC_BOARD_MAGIC)
>   return IRQ_NONE;
>  
> - brd->intr_count++;
> -
>   /* Lock out the slow poller from running on this board. */
>   spin_lock_irqsave(&brd->bd_intr_lock, flags);
>  
> 

Good catch. intr_count is set and incremented but never read.

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


Re: [PATCH 2/7] staging: dgnc: remove unused variable 'intr_modem'

2016-05-27 Thread Luis de Bethencourt
On 27/05/16 07:53, Daeseok Youn wrote:
> The 'intr_modem' variable was used only for increasing.
> So the 'intr_modem' variable is not useful for this driver.
> 
> Signed-off-by: Daeseok Youn 
> ---
>  drivers/staging/dgnc/dgnc_cls.c| 1 -
>  drivers/staging/dgnc/dgnc_driver.h | 1 -
>  drivers/staging/dgnc/dgnc_neo.c| 1 -
>  3 files changed, 3 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_cls.c b/drivers/staging/dgnc/dgnc_cls.c
> index dcb808f..8cb7361 100644
> --- a/drivers/staging/dgnc/dgnc_cls.c
> +++ b/drivers/staging/dgnc/dgnc_cls.c
> @@ -406,7 +406,6 @@ static inline void cls_parse_isr(struct dgnc_board *brd, 
> uint port)
>  
>   /* CTS/RTS change of state */
>   if (isr & UART_IIR_CTSRTS) {
> - brd->intr_modem++;
>   ch->ch_intr_modem++;
>   /*
>* Don't need to do anything, the cls_parse_modem
> diff --git a/drivers/staging/dgnc/dgnc_driver.h 
> b/drivers/staging/dgnc/dgnc_driver.h
> index 7ac33ed..2caeff7 100644
> --- a/drivers/staging/dgnc/dgnc_driver.h
> +++ b/drivers/staging/dgnc/dgnc_driver.h
> @@ -183,7 +183,6 @@ struct dgnc_board {
>   uintnasync; /* Number of ports on card */
>  
>   uintirq;/* Interrupt request number */
> - ulong   intr_modem; /* Count of interrupts */
>   ulong   intr_tx;/* Count of interrupts */
>   ulong   intr_rx;/* Count of interrupts */
>  
> diff --git a/drivers/staging/dgnc/dgnc_neo.c b/drivers/staging/dgnc/dgnc_neo.c
> index 3f8bbb3..a3e100b 100644
> --- a/drivers/staging/dgnc/dgnc_neo.c
> +++ b/drivers/staging/dgnc/dgnc_neo.c
> @@ -452,7 +452,6 @@ static inline void neo_parse_isr(struct dgnc_board *brd, 
> uint port)
>* If we get here, this means the hardware is doing 
> auto flow control.
>* Check to see whether RTS/DTR or CTS/DSR caused this 
> interrupt.
>*/
> - brd->intr_modem++;
>   ch->ch_intr_modem++;
>   cause = readb(&ch->ch_neo_uart->mcr);
>   /* Which pin is doing auto flow? RTS or DTR? */
> 

Looks good.

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


Re: [PATCH 7/7] staging: dgnc: remove useless variable 'ch_intr_rx'

2016-05-27 Thread Luis de Bethencourt
On 27/05/16 07:55, Daeseok Youn wrote:
> The 'ch_intr_rx' variable was used only for increasing.
> So the 'ch_intr_rx' variable is not useful for this driver.
> 
> Signed-off-by: Daeseok Youn 
> ---
>  drivers/staging/dgnc/dgnc_cls.c| 1 -
>  drivers/staging/dgnc/dgnc_driver.h | 2 --
>  drivers/staging/dgnc/dgnc_neo.c| 2 --
>  3 files changed, 5 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_cls.c b/drivers/staging/dgnc/dgnc_cls.c
> index 695f8ce..fb74968 100644
> --- a/drivers/staging/dgnc/dgnc_cls.c
> +++ b/drivers/staging/dgnc/dgnc_cls.c
> @@ -387,7 +387,6 @@ static inline void cls_parse_isr(struct dgnc_board *brd, 
> uint port)
>   /* Receive Interrupt pending */
>   if (isr & (UART_IIR_RDI | UART_IIR_RDI_TIMEOUT)) {
>   /* Read data from uart -> queue */
> - ch->ch_intr_rx++;
>   cls_copy_data_from_uart_to_queue(ch);
>   dgnc_check_queue_flow_control(ch);
>   }
> diff --git a/drivers/staging/dgnc/dgnc_driver.h 
> b/drivers/staging/dgnc/dgnc_driver.h
> index 8bdf556..3092abe 100644
> --- a/drivers/staging/dgnc/dgnc_driver.h
> +++ b/drivers/staging/dgnc/dgnc_driver.h
> @@ -377,8 +377,6 @@ struct channel_t {
>   ulong   ch_xon_sends;   /* Count of xons transmitted */
>   ulong   ch_xoff_sends;  /* Count of xoffs transmitted */
>  
> - ulong   ch_intr_rx; /* Count of interrupts */
> -
>   /* /proc// entries */
>   struct proc_dir_entry *proc_entry_pointer;
>   struct dgnc_proc_entry *dgnc_channel_table;
> diff --git a/drivers/staging/dgnc/dgnc_neo.c b/drivers/staging/dgnc/dgnc_neo.c
> index 574a227..5ef5b3e 100644
> --- a/drivers/staging/dgnc/dgnc_neo.c
> +++ b/drivers/staging/dgnc/dgnc_neo.c
> @@ -399,7 +399,6 @@ static inline void neo_parse_isr(struct dgnc_board *brd, 
> uint port)
>  
>   if (isr & (UART_17158_IIR_RDI_TIMEOUT | UART_IIR_RDI)) {
>   /* Read data from uart -> queue */
> - ch->ch_intr_rx++;
>   neo_copy_data_from_uart_to_queue(ch);
>  
>   /* Call our tty layer to enforce queue flow control if 
> needed. */
> @@ -512,7 +511,6 @@ static inline void neo_parse_lsr(struct dgnc_board *brd, 
> uint port)
>   ch->ch_cached_lsr |= linestatus;
>  
>   if (ch->ch_cached_lsr & UART_LSR_DR) {
> - ch->ch_intr_rx++;
>   /* Read data from uart -> queue */
>   neo_copy_data_from_uart_to_queue(ch);
>   spin_lock_irqsave(&ch->ch_lock, flags);
> 

Applied and checked them all. They look good.

Surprising amount of unused variables. Only set but never read.

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


CONGRATULATIONS!!!

2016-05-27 Thread Frau, Julia Gomez
PLAZA DE CASTRE E-28830,
MADRID, SPAIN
Tel: 0034-698-238-766
Fax: 0034-911-881-416
Ref Number: PLATUK/9GM/327739
Batch Number: PLAT-ENGINE08920

Dear Internet User,
 FINAL AWARD NOTIFICATIONS!!!
We congratulate you over your success in the following official publication of 
results of the E-mail electronic online Sweepstakes organized by Microsoft 
Google Online Award 2016
Held in Madrid Spain on 24th May 2016.
Your email ID has won the total sum of Ђ1,810.000.00  (ONE MILLION  EIGHT 
HUNDRED AND TEN THOUSAND EUROS ONLY), during the electronic E-mail online Power 
ball Draws For Internet Users. Microsoft Corporation organize this promotion 
offer in other to compensate consumers of the product in the world at large for 
their infinite supports towards the growth of the company.
The claim agent will attend to your claim upon the receipt of your response.
Contact Dr, Pablo Sanchez (Claims Agent) the Foreign Affairs manager of
MAPFRE SEGUROS S.A. Tel +34-603-255-976, Email: mapfreseguros...@yahoo.com
To begin your claim with the agent requires  your details mentioned below
in order to process your claim for immediate payment with the Spainish bank
 
(1) Name
(2) Address
(3) Date of Birth
(4) Occupation
(5) Tel Nє 
(6) Ref Nє
 
Congratulation once again.
 
Thank you.
Madam, Julia Gomez
Responder


---
This email has been checked for viruses by Avast antivirus software.
Avast | Download Free Antivirus for PC, Mac & Android
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH] staging/wilc1000: fixes kzalloc call

2016-05-27 Thread Lidza Louina
The wl pointer was initialized as a pointer to a struct wilc and
assigned to a piece of memory the size of the pointer. It should be the
size of struct wilc.

Signed-off-by: Lidza Louina 
---
 drivers/staging/wilc1000/linux_wlan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/linux_wlan.c 
b/drivers/staging/wilc1000/linux_wlan.c
index 4f93c11..d1853f6 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -1260,7 +1260,7 @@ int wilc_netdev_init(struct wilc **wilc, struct device 
*dev, int io_type,
 
sema_init(&close_exit_sync, 0);
 
-   wl = kzalloc(sizeof(*wl), GFP_KERNEL);
+   wl = kzalloc(sizeof(struct wilc), GFP_KERNEL);
if (!wl)
return -ENOMEM;
 
-- 
1.9.1

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


Re: rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c01

2016-05-27 Thread Kalle Valo
Larry Finger  wrote:
> Commit 49f86ec21c01 ("rtlwifi: Change long delays to sleeps") was correct
> for most cases; however, driver rtl8192ce calls the affected routines while
> in atomic context. The kernel bug output is as follows:
> 
> BUG: scheduling while atomic: wpa_supplicant/627/0x0002
> [...]
>   [] __schedule+0x899/0xad0
>   [] schedule+0x3c/0x90
>   [] schedule_hrtimeout_range_clock+0xa2/0x120
>   [] ? hrtimer_init+0x120/0x120
>   [] ? schedule_hrtimeout_range_clock+0x96/0x120
>   [] schedule_hrtimeout_range+0x13/0x20
>   [] usleep_range+0x4f/0x70
>   [] rtl_rfreg_delay+0x38/0x50 [rtlwifi]
>   [] rtl92c_phy_config_rf_with_headerfile+0xc7/0xe0 
> [rtl8192ce]
> 
> To fix this bug, three of the changes from delay to sleep are reverted.
> Unfortunately, one of the changes involves a delay of 50 msec. The calling
> code will be modified so that this long delay can be avoided; however,
> this change is being pushed now to fix the problem in kernel 4.6.0.
> 
> Fixes: 49f86ec21c01 ("rtlwifi: Change long delays to sleeps")
> Reported-by: James Feeney 
> Signed-off-by: Larry Finger 
> Cc: James Feeney 
> Cc: Stable  [4.6+]

Thanks, 1 patch applied to wireless-drivers.git:

de26859dcf36 rtlwifi: Fix scheduling while atomic error from commit 49f86ec21c01

-- 
Sent by pwcli
https://patchwork.kernel.org/patch/9130617/

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


[PATCH] staging/android: sync_debug: unproxify debugfs files' fops

2016-05-27 Thread Nicolai Stange
Since commit 49d200deaa68 ("debugfs: prevent access to removed files'
private data"), a debugfs file's file_operations methods get proxied
through lifetime aware wrappers.

However, only a certain subset of the file_operations members is supported
by debugfs and ->compat_ioctl isn't among them -- it appears to be NULL
from the VFS layer's perspective.

This behaviour breaks the /sys/kernel/debug/sync/sw_sync file introduced
concurrently with commit a44eb74cd413 ("staging/android: move SW_SYNC_USER
to a debugfs file").

Since that file never gets removed, there is no file removal race and thus,
a lifetime checking proxy isn't needed.

Avoid the proxying for /sys/kernel/debug/sync/sw_sync by creating it via
debugfs_create_file_unsafe() rather than debugfs_create_file().
For consistency, do the same for /sys/kernel/debug/sync/info.

Fixes: 49d200deaa68 ("debugfs: prevent access to removed files' private
  data")
Fixes: a44eb74cd413 ("staging/android: move SW_SYNC_USER to a debugfs
  file")
Signed-off-by: Nicolai Stange 
---
 Applicable to linux-next-20160527.
 x86_64 allmodconfig build succeeds w/o any new warnings.

 Related discussion can be found here:
 http://lkml.kernel.org/g/878tz22peb@gmail.com

 drivers/staging/android/sync_debug.c | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/android/sync_debug.c 
b/drivers/staging/android/sync_debug.c
index 5f57499..1197f9e 100644
--- a/drivers/staging/android/sync_debug.c
+++ b/drivers/staging/android/sync_debug.c
@@ -326,9 +326,15 @@ static __init int sync_debugfs_init(void)
 {
dbgfs = debugfs_create_dir("sync", NULL);
 
-   debugfs_create_file("info", 0444, dbgfs, NULL, &sync_info_debugfs_fops);
-   debugfs_create_file("sw_sync", 0644, dbgfs, NULL,
-   &sw_sync_debugfs_fops);
+   /*
+* The debugfs files won't ever get removed and thus, there is
+* no need to protect it against removal races. The use of
+* debugfs_create_file_unsafe() is actually safe here.
+*/
+   debugfs_create_file_unsafe("info", 0444, dbgfs, NULL,
+  &sync_info_debugfs_fops);
+   debugfs_create_file_unsafe("sw_sync", 0644, dbgfs, NULL,
+  &sw_sync_debugfs_fops);
 
return 0;
 }
-- 
2.8.2

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


Re: [PATCH] staging/wilc1000: fixes kzalloc call

2016-05-27 Thread Joe Perches
On Fri, 2016-05-27 at 13:51 -0400, Lidza Louina wrote:
> The wl pointer was initialized as a pointer to a struct wilc and
> assigned to a piece of memory the size of the pointer. It should be the
> size of struct wilc.

This isn't necessary.

The code in question is:

struct wilc *wl;

sema_init(&close_exit_sync, 0);

wl = kzalloc(sizeof(*wl), GFP_KERNEL);
if (!wl)
return -ENOMEM;

*wilc = wl;

so this isn't any real change and the generally desired form for
allocations from CodingStyle (Chapter 14: Allocating Memory) is:

The preferred form for passing a size of a struct is the following: p = 
kmalloc(sizeof(*p), ...);

> diff --git a/drivers/staging/wilc1000/linux_wlan.c
[]
> @@ -1260,7 +1260,7 @@ int wilc_netdev_init(struct wilc **wilc, struct device 
> *dev, int io_type,
>  
>   sema_init(&close_exit_sync, 0);
>  
> - wl = kzalloc(sizeof(*wl), GFP_KERNEL);
> + wl = kzalloc(sizeof(struct wilc), GFP_KERNEL);
>   if (!wl)
>   return -ENOMEM;
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


Re: [PATCH] staging/android: sync_debug: unproxify debugfs files' fops

2016-05-27 Thread Greg Kroah-Hartman
On Fri, May 27, 2016 at 08:03:54PM +0200, Nicolai Stange wrote:
> Since commit 49d200deaa68 ("debugfs: prevent access to removed files'
> private data"), a debugfs file's file_operations methods get proxied
> through lifetime aware wrappers.
> 
> However, only a certain subset of the file_operations members is supported
> by debugfs and ->compat_ioctl isn't among them -- it appears to be NULL
> from the VFS layer's perspective.
> 
> This behaviour breaks the /sys/kernel/debug/sync/sw_sync file introduced
> concurrently with commit a44eb74cd413 ("staging/android: move SW_SYNC_USER
> to a debugfs file").
> 
> Since that file never gets removed, there is no file removal race and thus,
> a lifetime checking proxy isn't needed.
> 
> Avoid the proxying for /sys/kernel/debug/sync/sw_sync by creating it via
> debugfs_create_file_unsafe() rather than debugfs_create_file().
> For consistency, do the same for /sys/kernel/debug/sync/info.
> 
> Fixes: 49d200deaa68 ("debugfs: prevent access to removed files' private
>   data")
> Fixes: a44eb74cd413 ("staging/android: move SW_SYNC_USER to a debugfs
>   file")
> Signed-off-by: Nicolai Stange 
> ---
>  Applicable to linux-next-20160527.
>  x86_64 allmodconfig build succeeds w/o any new warnings.
> 
>  Related discussion can be found here:
>  http://lkml.kernel.org/g/878tz22peb@gmail.com
> 
>  drivers/staging/android/sync_debug.c | 12 +---
>  1 file changed, 9 insertions(+), 3 deletions(-)

Thanks, will queue this up after 4.7-rc1 is out.

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


Re: [PATCH] staging/wilc1000: fixes kzalloc call

2016-05-27 Thread Lidza Louina



On 05/27/2016 02:07 PM, Joe Perches wrote:

On Fri, 2016-05-27 at 13:51 -0400, Lidza Louina wrote:

The wl pointer was initialized as a pointer to a struct wilc and
assigned to a piece of memory the size of the pointer. It should be the
size of struct wilc.

This isn't necessary.

The code in question is:

struct wilc *wl;

sema_init(&close_exit_sync, 0);

wl = kzalloc(sizeof(*wl), GFP_KERNEL);
if (!wl)
return -ENOMEM;

*wilc = wl;

so this isn't any real change and the generally desired form for
allocations from CodingStyle (Chapter 14: Allocating Memory) is:

The preferred form for passing a size of a struct is the following: p = 
kmalloc(sizeof(*p), ...);


Ahh, okay. I see that in the documentation. Thanks.

Lidza




diff --git a/drivers/staging/wilc1000/linux_wlan.c

[]

@@ -1260,7 +1260,7 @@ int wilc_netdev_init(struct wilc **wilc, struct device 
*dev, int io_type,
  
  	sema_init(&close_exit_sync, 0);
  
-	wl = kzalloc(sizeof(*wl), GFP_KERNEL);

+   wl = kzalloc(sizeof(struct wilc), GFP_KERNEL);
if (!wl)
return -ENOMEM;


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


CONGRATULATIONS!!!

2016-05-27 Thread Frau, Julia Gomez
PLAZA DE CASTRE E-28830,
MADRID, SPAIN
Tel: 0034-698-238-766
Fax: 0034-911-881-416
Ref Number: PLATUK/9GM/327739
Batch Number: PLAT-ENGINE08920

Dear Internet User,
 FINAL AWARD NOTIFICATIONS!!!
We congratulate you over your success in the following official publication of 
results of the E-mail electronic online Sweepstakes organized by Microsoft 
Google Online Award 2016
Held in Madrid Spain on 24th May 2016.
Your email ID has won the total sum of Ђ1,810.000.00  (ONE MILLION  EIGHT 
HUNDRED AND TEN THOUSAND EUROS ONLY), during the electronic E-mail online Power 
ball Draws For Internet Users. Microsoft Corporation organize this promotion 
offer in other to compensate consumers of the product in the world at large for 
their infinite supports towards the growth of the company.
The claim agent will attend to your claim upon the receipt of your response.
Contact Dr, Pablo Sanchez (Claims Agent) the Foreign Affairs manager of
MAPFRE SEGUROS S.A. Tel +34-603-255-976, Email: mapfreseguros...@yahoo.com
To begin your claim with the agent requires  your details mentioned below
in order to process your claim for immediate payment with the Spainish bank
 
(1) Name
(2) Address
(3) Date of Birth
(4) Occupation
(5) Tel Nє 
(6) Ref Nє
 
Congratulation once again.
 
Thank you.
Madam, Julia Gomez
Responder


---
This email has been checked for viruses by Avast antivirus software.
Avast | Download Free Antivirus for PC, Mac & Android
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


21/05/2016

2016-05-27 Thread Email-alert
Economic Community of West African States (ECOWAS)
Investigation Officer
Accra Ghana.
Attention,

After proper and several investigations and research at Western Union and Money 
Gram Office, we found your name among those that have been scammed and swindled 
by those unscrupulous persons. In this regard a meeting was held between Ghana 
Government and Economic Community of West African States (ECOWAS) as a 
consequence of our investigations it was agreed that the sum of One Hundred and 
twenty Thousand United States Dollars ($120,000.00) should be giving to you as 
compensation.

We have submitted this E-mail ID to our payee bank (United Bank for Africa) UBA 
Ghana PLc. Contact your payment account officer through his email address below;
Contact Person: Mr. Kwesi Adam
Contact Email: kwesiadam...@gmail.com

Yours sincerely,
Mrs. Gloria Titi
Investigation Officer.
THE ECOWAS COMMISSION
___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


[PATCH v2 2/4] Staging: comedi: Fix WARNING issue in s626.c

2016-05-27 Thread Ravishankar Karkala Mallikarjunayya
This is a patch to the s626.c file that fixes up a Block comments
issues found by the checkpatch.pl tool.

i.e. Block comments use a trailing */ on a separate line

Signed-off-by: Ravishankar Karkala Mallikarjunayya 
---
changes since v1: No change
---
 drivers/staging/comedi/drivers/s626.c | 60 +++
 1 file changed, 40 insertions(+), 20 deletions(-)

diff --git a/drivers/staging/comedi/drivers/s626.c 
b/drivers/staging/comedi/drivers/s626.c
index a399d7b..edcd466 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -76,24 +76,38 @@ struct s626_buffer_dma {
 
 struct s626_private {
u8 ai_cmd_running;  /* ai_cmd is running */
-   unsigned int ai_sample_timer;   /* time between samples in
-* units of the timer */
+   unsigned int ai_sample_timer;   /*
+* time between samples in
+* units of the timer
+*/
int ai_convert_count;   /* conversion counter */
-   unsigned int ai_convert_timer;  /* time between conversion in
-* units of the timer */
-   u16 counter_int_enabs;  /* counter interrupt enable mask
-* for MISC2 register */
+   unsigned int ai_convert_timer;  /*
+* time between conversion in
+* units of the timer
+*/
+   u16 counter_int_enabs;  /*
+* counter interrupt enable mask
+* for MISC2 register
+*/
u8 adc_items;   /* number of items in ADC poll list */
-   struct s626_buffer_dma rps_buf; /* DMA buffer used to hold ADC (RPS1)
-* program */
-   struct s626_buffer_dma ana_buf; /* DMA buffer used to receive ADC data
-* and hold DAC data */
-   u32 *dac_wbuf;  /* pointer to logical adrs of DMA buffer
-* used to hold DAC data */
+   struct s626_buffer_dma rps_buf; /*
+* DMA buffer used to hold ADC (RPS1)
+* program
+*/
+   struct s626_buffer_dma ana_buf; /*
+* DMA buffer used to receive ADC data
+* and hold DAC data
+*/
+   u32 *dac_wbuf;  /*
+* pointer to logical adrs of DMA buffer
+* used to hold DAC data
+*/
u16 dacpol; /* image of DAC polarity register */
u8 trim_setpoint[12];   /* images of TrimDAC setpoints */
-   u32 i2c_adrs;   /* I2C device address for onboard EEPROM
-* (board rev dependent) */
+   u32 i2c_adrs;   /*
+* I2C device address for onboard EEPROM
+* (board rev dependent)
+*/
 };
 
 /* Counter overflow/index event flag masks for RDMISC2. */
@@ -571,12 +585,18 @@ static int s626_set_dac(struct comedi_device *dev,
 * to a  non-existent TrimDac channel) that serves to keep the clock
 * running after the packet has been sent to the target DAC.
 */
-   val = 0x0F00;   /* Continue clock after target DAC data
-* (write to non-existent trimdac). */
-   val |= 0x4000;  /* Address the two main dual-DAC devices
-* (TSL's chip select enables target device). */
-   val |= ((u32)(chan & 1) << 15); /* Address the DAC channel
-* within the device. */
+   val = 0x0F00;   /*
+* Continue clock after target DAC data
+* (write to non-existent trimdac).
+*/
+   val |= 0x4000;  /*
+* Address the two main dual-DAC devices
+* (TSL's chip select enables target device).
+*/
+   val |= ((u32)(chan & 1) << 15); /*
+* Address the DAC channel
+* within the device.
+*/
val |= (u32)dacdata;/* Include DAC s

[PATCH v2 1/4] staging : comedi : fix type issues in s626.c

2016-05-27 Thread Ravishankar Karkala Mallikarjunayya
This is a patch to the s626.c file that fixes up a type issues like
i.e Prefer kernel type 'u8' over 'uint8_t'
Prefer kernel type 'u16' over 'uint16_t'
Prefer kernel type 'u32' over 'uint32_t'
Prefer kernel type 's16' over 'int16_t'
Prefer kernel type 's32' over 'int32_t'
found by the checkpatch.pl tool.

Signed-off-by: Ravishankar Karkala Mallikarjunayya 
---
changes since v1: Rework
---
 drivers/staging/comedi/drivers/s626.c | 212 +-
 1 file changed, 106 insertions(+), 106 deletions(-)

diff --git a/drivers/staging/comedi/drivers/s626.c 
b/drivers/staging/comedi/drivers/s626.c
index c5e0863..a399d7b 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -75,24 +75,24 @@ struct s626_buffer_dma {
 };
 
 struct s626_private {
-   uint8_t ai_cmd_running; /* ai_cmd is running */
+   u8 ai_cmd_running;  /* ai_cmd is running */
unsigned int ai_sample_timer;   /* time between samples in
 * units of the timer */
int ai_convert_count;   /* conversion counter */
unsigned int ai_convert_timer;  /* time between conversion in
 * units of the timer */
-   uint16_t counter_int_enabs; /* counter interrupt enable mask
+   u16 counter_int_enabs;  /* counter interrupt enable mask
 * for MISC2 register */
-   uint8_t adc_items;  /* number of items in ADC poll list */
+   u8 adc_items;   /* number of items in ADC poll list */
struct s626_buffer_dma rps_buf; /* DMA buffer used to hold ADC (RPS1)
 * program */
struct s626_buffer_dma ana_buf; /* DMA buffer used to receive ADC data
 * and hold DAC data */
-   uint32_t *dac_wbuf; /* pointer to logical adrs of DMA buffer
+   u32 *dac_wbuf;  /* pointer to logical adrs of DMA buffer
 * used to hold DAC data */
-   uint16_t dacpol;/* image of DAC polarity register */
-   uint8_t trim_setpoint[12];  /* images of TrimDAC setpoints */
-   uint32_t i2c_adrs;  /* I2C device address for onboard EEPROM
+   u16 dacpol; /* image of DAC polarity register */
+   u8 trim_setpoint[12];   /* images of TrimDAC setpoints */
+   u32 i2c_adrs;   /* I2C device address for onboard EEPROM
 * (board rev dependent) */
 };
 
@@ -304,10 +304,10 @@ static uint8_t s626_i2c_read(struct comedi_device *dev, 
uint8_t addr)
 /* ***  DAC FUNCTIONS *** */
 
 /* TrimDac LogicalChan-to-PhysicalChan mapping table. */
-static const uint8_t s626_trimchan[] = { 10, 9, 8, 3, 2, 7, 6, 1, 0, 5, 4 };
+static const u8 s626_trimchan[] = { 10, 9, 8, 3, 2, 7, 6, 1, 0, 5, 4 };
 
 /* TrimDac LogicalChan-to-EepromAdrs mapping table. */
-static const uint8_t s626_trimadrs[] = {
+static const u8 s626_trimadrs[] = {
0x40, 0x41, 0x42, 0x50, 0x51, 0x52, 0x53, 0x60, 0x61, 0x62, 0x63
 };
 
@@ -516,12 +516,12 @@ static int s626_send_dac(struct comedi_device *dev, 
uint32_t val)
  * Private helper function: Write setpoint to an application DAC channel.
  */
 static int s626_set_dac(struct comedi_device *dev,
-   uint16_t chan, int16_t dacdata)
+   u16 chan, s16 dacdata)
 {
struct s626_private *devpriv = dev->private;
-   uint16_t signmask;
-   uint32_t ws_image;
-   uint32_t val;
+   u16 signmask;
+   u32 ws_image;
+   u32 val;
 
/*
 * Adjust DAC data polarity and set up Polarity Control Register image.
@@ -535,7 +535,7 @@ static int s626_set_dac(struct comedi_device *dev,
}
 
/* Limit DAC setpoint value to valid range. */
-   if ((uint16_t)dacdata > 0x1FFF)
+   if ((u16)dacdata > 0x1FFF)
dacdata = 0x1FFF;
 
/*
@@ -575,23 +575,23 @@ static int s626_set_dac(struct comedi_device *dev,
 * (write to non-existent trimdac). */
val |= 0x4000;  /* Address the two main dual-DAC devices
 * (TSL's chip select enables target device). */
-   val |= ((uint32_t)(chan & 1) << 15);/* Address the DAC channel
+   val |= ((u32)(chan & 1) << 15); /* Address the DAC channel
 * within the device. */
-   val |= (uint32_t)dacdata;   /* Include DAC setpoint data. */
+   val |= (u32)dacdata;/* Include DAC setpoint data. */
return s626_send_dac(dev, val);
 }
 
 static int s626_write_trim_dac(struct comedi_device *dev,
-  uint8_t logical_chan, uint8_t dac_data)
+  u8 logic

[PATCH v2 4/4] Staging: comedi: fix line over 80 characters issue in s626.c

2016-05-27 Thread Ravishankar Karkala Mallikarjunayya
This is a patch to the s626.c file that fixes up a  line over 80
characters issues found by the checkpatch.pl tool.

Signed-off-by: Ravishankar Karkala Mallikarjunayya 
---
changes since v1: No change
---
 drivers/staging/comedi/drivers/s626.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/comedi/drivers/s626.c 
b/drivers/staging/comedi/drivers/s626.c
index 790ca41..b5cd946 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -2520,7 +2520,8 @@ static int s626_initialize(struct comedi_device *dev)
for (i = 0; i < 2; i++) {
writel(S626_I2C_CLKSEL, dev->mmio + S626_P_I2CSTAT);
s626_mc_enable(dev, S626_MC2_UPLD_IIC, S626_P_MC2);
-   ret = comedi_timeout(dev, NULL, NULL, s626_i2c_handshake_eoc, 
0);
+   ret = comedi_timeout(dev, NULL, NULL, s626_i2c_handshake_eoc,
+0);
if (ret)
return ret;
}
-- 
1.9.1

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


[PATCH v2 3/4] Staging: comedi:Fix unsigned int to bare use of unsigned issue in s626.c

2016-05-27 Thread Ravishankar Karkala Mallikarjunayya
This is a patch to the s626.c file that fixes up a
WARNING: Prefer 'unsigned int' to bare use of 'unsigned'
found by the checkpatch.pl tool

Signed-off-by: Ravishankar Karkala Mallikarjunayya 
---
changes since v1: No change
---
 drivers/staging/comedi/drivers/s626.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/comedi/drivers/s626.c 
b/drivers/staging/comedi/drivers/s626.c
index edcd466..790ca41 100644
--- a/drivers/staging/comedi/drivers/s626.c
+++ b/drivers/staging/comedi/drivers/s626.c
@@ -728,7 +728,7 @@ static u16 s626_get_mode_a(struct comedi_device *dev,
u16 cra;
u16 crb;
u16 setup;
-   unsigned cntsrc, clkmult, clkpol, encmode;
+   unsigned int cntsrc, clkmult, clkpol, encmode;
 
/* Fetch CRA and CRB register images. */
cra = s626_debi_read(dev, S626_LP_CRA(chan));
@@ -783,7 +783,7 @@ static u16 s626_get_mode_b(struct comedi_device *dev,
u16 cra;
u16 crb;
u16 setup;
-   unsigned cntsrc, clkmult, clkpol, encmode;
+   unsigned int cntsrc, clkmult, clkpol, encmode;
 
/* Fetch CRA and CRB register images. */
cra = s626_debi_read(dev, S626_LP_CRA(chan));
@@ -858,7 +858,7 @@ static void s626_set_mode_a(struct comedi_device *dev,
struct s626_private *devpriv = dev->private;
u16 cra;
u16 crb;
-   unsigned cntsrc, clkmult, clkpol;
+   unsigned int cntsrc, clkmult, clkpol;
 
/* Initialize CRA and CRB images. */
/* Preload trigger is passed through. */
@@ -936,7 +936,7 @@ static void s626_set_mode_b(struct comedi_device *dev,
struct s626_private *devpriv = dev->private;
u16 cra;
u16 crb;
-   unsigned cntsrc, clkmult, clkpol;
+   unsigned int cntsrc, clkmult, clkpol;
 
/* Initialize CRA and CRB images. */
/* IndexSrc is passed through. */
-- 
1.9.1

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