Re: [PATCH] staging: lustre: do not ignore try_module_get() fail in obd_class_open()
On Sat, Dec 27, 2014 at 02:26:53AM +0300, Alexey Khoroshilov wrote: obd_class_open() ignores error code of try_module_get(), while it can lead to race with module unload. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov khoroshi...@ispras.ru --- drivers/staging/lustre/lustre/obdclass/linux/linux-module.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c index 66ceab20c743..bb4bc72ddac7 100644 --- a/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c +++ b/drivers/staging/lustre/lustre/obdclass/linux/linux-module.c @@ -168,8 +168,7 @@ EXPORT_SYMBOL(obd_ioctl_popdata); /* opening /dev/obd */ static int obd_class_open(struct inode *inode, struct file *file) { - try_module_get(THIS_MODULE); - return 0; + return try_module_get(THIS_MODULE); } This code is totally wrong and racy and should just be fixed up properly. No module can lock it's own code, we know better than this. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v8 2/4] fpga manager: add sysfs interface document
Hi! I'm looking into moving the sysfs interface to debugfs. Doesn't look too hard and you and Alan are making lots of sense about this. Debugfs: please don't. That's meant for debugging, not for production use. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/6] dgnc/dpacompat.h: checkpatch: fixed long lines bei moving comments
On Mon, Dec 22, 2014 at 02:17:31AM +0100, Simone Weiss wrote: Signed-off-by: Simone Weiss simone.we...@fau.de Signed-off-by: Helene Gsaenger helene.gsaen...@studium.fau.de --- drivers/staging/dgnc/dpacompat.h | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/dgnc/dpacompat.h b/drivers/staging/dgnc/dpacompat.h index b2d2dc0..feb4f60 100644 --- a/drivers/staging/dgnc/dpacompat.h +++ b/drivers/staging/dgnc/dpacompat.h @@ -111,5 +111,7 @@ struct ni_info { #define DIGI_GET_NI_INFO ('d'8) | 250 /* nonintelligent state snfo */ /* Other special ioctls */ -#define DIGI_TIMERIRQ ('d'8) | 251 /* Enable/disable RS_TIMER use */ -#define DIGI_LOOPBACK ('d'8) | 252 /* Enable/disable UART internal loopback */ +#define DIGI_TIMERIRQ ('d'8) | 251 /* Enable/disable + * RS_TIMER use */ +#define DIGI_LOOPBACK ('d'8) | 252 /* Enable/disable UART + * internal loopback */ -- 1.9.1 That really doesn't look better, does it? Please resend a fixed up series, I'm too confused by all of the different patches you have sent to figure out what to apply. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: skein: Fix checkpatch warnings
On Sat, Jan 10, 2015 at 04:00:47PM +0100, Arno Tiemersma wrote: Remove do {} while (0) loops around single statements in skein/skein_block.c Signed-off-by: Arno Tiemersma arno.tiemer...@gmail.com --- drivers/staging/skein/skein_block.c | 16 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/staging/skein/skein_block.c b/drivers/staging/skein/skein_block.c index 66261ab..39dccf8 100644 --- a/drivers/staging/skein/skein_block.c +++ b/drivers/staging/skein/skein_block.c @@ -83,9 +83,7 @@ do { \ #else /* looping version */ #define R256(p0, p1, p2, p3, ROT, r_num) \ -do { \ - ROUND256(p0, p1, p2, p3, ROT, r_num); \ -} while (0) + ROUND256(p0, p1, p2, p3, ROT, r_num) #define I256(R) \ do { \ @@ -174,9 +172,7 @@ do { \ #else /* looping version */ #define R512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) \ -do { \ - ROUND512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num);\ -} while (0) + ROUND512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) #define I512(R) \ do { \ @@ -263,10 +259,8 @@ do { \ #if SKEIN_UNROLL_1024 == 0 #define R1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, pF, \ ROT, rn)\ -do { \ ROUND1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, \ - pF, ROT, rn); \ -} while (0) + pF, ROT, rn) #define I1024(R) \ do { \ @@ -291,10 +285,8 @@ do { \ #else /* looping version */ #define R1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, pF, \ ROT, rn)\ -do { \ ROUND1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, \ - pF, ROT, rn); \ -} while (0) + pF, ROT, rn) #define I1024(R) \ do { \ -- 2.1.0 Doesn't apply to my tree :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: octeon: Fix checkpatch line spacing warnings
On Mon, Jan 12, 2015 at 06:27:38PM +0200, Tero Marttila wrote: Fix missing blank lines after declarations in octeon/ethernet-rx.c Signed-off-by: Tero Marttila tero.martt...@aalto.fi --- drivers/staging/octeon/ethernet-rx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/staging/octeon/ethernet-rx.c b/drivers/staging/octeon/ethernet-rx.c index fcbe836..22667db 100644 --- a/drivers/staging/octeon/ethernet-rx.c +++ b/drivers/staging/octeon/ethernet-rx.c @@ -109,6 +109,7 @@ static inline int cvm_oct_check_rcv_error(cvmx_wqe_t *work) int interface = cvmx_helper_get_interface_num(work-ipprt); int index = cvmx_helper_get_interface_index_num(work-ipprt); union cvmx_gmxx_rxx_frm_ctl gmxx_rxx_frm_ctl; + gmxx_rxx_frm_ctl.u64 = cvmx_read_csr(CVMX_GMXX_RXX_FRM_CTL(index, interface)); if (gmxx_rxx_frm_ctl.s.pre_chk == 0) { @@ -214,6 +215,7 @@ static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) did_work_request = 0; if (work == NULL) { union cvmx_pow_wq_int wq_int; + wq_int.u64 = 0; wq_int.s.iq_dis = 1 pow_receive_group; wq_int.s.wq_int = 1 pow_receive_group; -- 1.9.1 Someone else sent this before you did, sorry :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v7] Staging: comedi: patch to fix line over 80 characters warning
On Sat, Jan 10, 2015 at 10:20:03AM +0530, jitendra kumar khasdev wrote: This is patch to pcl812.c that fix line over 80 characters warning which is found by checkpatch.pl tool. Reduce the extra space around equal sign that fix warning. Signed-off-by: Jitendra kumar khasdev jkhas...@gmail.com --- drivers/staging/comedi/drivers/pcl812.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Does not apply to my tree :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Fixed else statement following a return statement in if block in hfa384x_usb.c
On Wed, Jan 14, 2015 at 10:09:04AM +0530, Asheesh Ranjan wrote: This fixes a else after if block containing return statement warning as found by checkpatch.pl Signed-off-by: Asheesh Ranjan asheesh@outlook.com --- drivers/staging/wlan-ng/hfa384x_usb.c |9 - 1 file changed, 4 insertions(+), 5 deletions(-) Please fix up the subject to have the correct format (staging: driver_name: etc), and wrap your changelog entry at 72 columns. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging : gdm724x: Remove space before , in function arguments
On Sun, Dec 21, 2014 at 08:18:19AM +0530, Mohammad Jamal wrote: This patch solves space prohibited before , warning in gdm_mux.c Signed-off-by: Mohammad Jamal md.jamalmohiud...@gmail.com --- drivers/staging/gdm724x/gdm_mux.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/gdm724x/gdm_mux.c b/drivers/staging/gdm724x/gdm_mux.c index b5b063a..d1ab996 100644 --- a/drivers/staging/gdm724x/gdm_mux.c +++ b/drivers/staging/gdm724x/gdm_mux.c @@ -220,7 +220,7 @@ static int up_to_host(struct mux_rx *r) static void do_rx(struct work_struct *work) { struct mux_dev *mux_dev = - container_of(work, struct mux_dev , work_rx.work); + container_of(work, struct mux_dev, work_rx.work); struct mux_rx *r; struct rx_cxt *rx = (struct rx_cxt *)mux_dev-rx; unsigned long flags; -- 1.7.9.5 Someone else sent this same fix before you did :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: gdm724x: fix space before comma coding style issue in gdm_mux.c
On Sun, Dec 21, 2014 at 11:44:43AM +0100, Robert Nachlinger wrote: This is a patch to the gdm_mux.c file that fixes a space before comma coding style issue found by the checkpatch.pl tool. Signed-off-by: Robert Nachlinger robert.nachlin...@googlemail.com --- drivers/staging/gdm724x/gdm_mux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/gdm724x/gdm_mux.c b/drivers/staging/gdm724x/gdm_mux.c index b5b063a..d1ab996 100644 --- a/drivers/staging/gdm724x/gdm_mux.c +++ b/drivers/staging/gdm724x/gdm_mux.c @@ -220,7 +220,7 @@ static int up_to_host(struct mux_rx *r) static void do_rx(struct work_struct *work) { struct mux_dev *mux_dev = - container_of(work, struct mux_dev , work_rx.work); + container_of(work, struct mux_dev, work_rx.work); struct mux_rx *r; struct rx_cxt *rx = (struct rx_cxt *)mux_dev-rx; unsigned long flags; -- 2.2.0 Someone else sent this same patch :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Replacing simple_strtoul with kstrtoul
On Wed, Jan 14, 2015 at 12:00:42PM +0530, Asheesh Ranjan wrote: Added code to move pointer till end of parsed string as being done by simple_strtoul. Not checking return value of kstrtoul Signed-off-by: Asheesh Ranjan asheesh@outlook.com --- drivers/staging/speakup/varhandlers.c | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) Same comments as the previous patch. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] drivers: staging: rtl8723au: get rid of unneeded memset/memcpy
On Sun, Dec 07, 2014 at 03:37:20PM +0100, Emil Renner Berthing wrote: This also fixes a sparse warning. What sparse warning? What's wrong with the original code? Unless Jes resends this to me, I don't see the need to apply it, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: rtl8723au: os_dep: usb_intf.c: Remove some unused functions
On Wed, Dec 17, 2014 at 09:36:54PM +0100, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: rtw_hw_resume23a() rtw_hw_suspend23a() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se Signed-off-by: Jes Sorensen jes.soren...@redhat.com --- drivers/staging/rtl8723au/include/osdep_intf.h |3 - drivers/staging/rtl8723au/os_dep/usb_intf.c| 100 2 files changed, 103 deletions(-) No longer applies to my tree :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: rtl8723au: core: rtw_cmd.c: Remove some unused functions
On Sat, Dec 20, 2014 at 06:10:13PM +0100, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: rtw_set_ch_cmd23a() rtw_cmd_clr_isr23a() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8723au/core/rtw_cmd.c| 61 --- drivers/staging/rtl8723au/include/rtw_cmd.h |2 - 2 files changed, 63 deletions(-) This patch doesn't apply :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: rtl8723au: hal: rtl8723au_led.c: Remove some unused functions
On Sun, Dec 21, 2014 at 01:59:39PM +0100, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: rtl8723au_DeInitSwLeds() rtl8723au_InitSwLeds() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8723au/hal/rtl8723au_led.c| 23 -- drivers/staging/rtl8723au/include/rtl8723a_led.h |2 -- 2 files changed, 25 deletions(-) These files aren't even in the tree anymore :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: rtl8712: recv_linux.c: Remove unused function
On Sat, Dec 20, 2014 at 03:58:32PM +0100, Rickard Strandqvist wrote: Remove the function r8712_os_read_port() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8712/recv_linux.c | 14 -- drivers/staging/rtl8712/recv_osdep.h |1 - 2 files changed, 15 deletions(-) Doesn't apply :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: rtl8188eu: core: rtw_wlan_util.c: Remove some unused functions
On Sat, Dec 20, 2014 at 05:24:11PM +0100, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: CAM_empty_entry() get_bsstype() rtw_get_oper_choffset() rtw_get_oper_bw() is_ap_in_wep() should_forbid_n_rate() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8188eu/core/rtw_wlan_util.c | 90 -- drivers/staging/rtl8188eu/include/rtw_mlme_ext.h |6 -- 2 files changed, 96 deletions(-) Doesn't apply :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH RESEND 1/4] staging: rtl8192u: fix comments
On Sat, Jan 10, 2015 at 02:19:11PM +, Lorenzo Stoakes wrote: This patch fixes errors raised by checkpatch.pl relating to use of C99 comments in r8192U_dm.c, and cleans up existing ANSI C comments. Signed-off-by: Lorenzo Stoakes lstoa...@gmail.com --- drivers/staging/rtl8192u/r8192U_dm.c | 811 ++- 1 file changed, 420 insertions(+), 391 deletions(-) This doesn't apply against my latest staging-testing branch, so I can't accept it. Please refresh this series against that branch and resend. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2] staging: skein: Remove all do{} while (0) loop from single statement.
On Sun, Jan 11, 2015 at 03:41:05PM -0800, Shirish Gajera wrote: This patch fixes the checkpatch.pl warning: WARNING: Single statement macros should not use a do {} while (0) loop I remove do while from the single statement macro. Signed-off-by: Shirish Gajera gajerashir...@gmail.com --- drivers/staging/skein/skein_block.c | 31 +-- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/drivers/staging/skein/skein_block.c b/drivers/staging/skein/skein_block.c index 66261ab..f89b410 100644 --- a/drivers/staging/skein/skein_block.c +++ b/drivers/staging/skein/skein_block.c @@ -67,10 +67,8 @@ do { \ } while (0) #if SKEIN_UNROLL_256 == 0 -#define R256(p0, p1, p2, p3, ROT, r_num) /* fully unrolled */ \ -do { \ - ROUND256(p0, p1, p2, p3, ROT, r_num); \ -} while (0) +#define R256(p0, p1, p2, p3, ROT, r_num) \ + ROUND256(p0, p1, p2, p3, ROT, r_num) #define I256(R) \ do { \ @@ -82,10 +80,7 @@ do { \ } while (0) #else /* looping version */ -#define R256(p0, p1, p2, p3, ROT, r_num) \ -do { \ - ROUND256(p0, p1, p2, p3, ROT, r_num); \ -} while (0) +#define R256(p0, p1, p2, p3, ROT, r_num) ROUND256(p0, p1, p2, p3, ROT, r_num) #define I256(R) \ do { \ @@ -154,10 +149,8 @@ do { \ } while (0) #if SKEIN_UNROLL_512 == 0 -#define R512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) /* unrolled */ \ -do {\ - ROUND512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num); \ -} while (0) +#define R512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) \ + ROUND512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) #define I512(R) \ do { \ @@ -173,10 +166,8 @@ do { \ } while (0) #else /* looping version */ -#define R512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) \ -do { \ - ROUND512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num);\ -} while (0) +#define R512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) \ + ROUND512(p0, p1, p2, p3, p4, p5, p6, p7, ROT, r_num) #define I512(R) \ do { \ @@ -263,10 +254,8 @@ do { \ #if SKEIN_UNROLL_1024 == 0 #define R1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, pF, \ ROT, rn)\ -do { \ ROUND1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, \ - pF, ROT, rn); \ -} while (0) + pF, ROT, rn) #define I1024(R) \ do { \ @@ -291,10 +280,8 @@ do { \ #else /* looping version */ #define R1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, pF, \ ROT, rn)\ -do { \ ROUND1024(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, pA, pB, pC, pD, pE, \ - pF, ROT, rn); \ -} while (0) + pF, ROT, rn) #define I1024(R) \ do { \ -- 1.9.1 Doesn't apply to my tree :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: ft1000: Fix code style issue
On Wed, Jan 07, 2015 at 12:57:05PM +0530, Arjun AK wrote: Remove unnecessary braces from single statement blocks. Signed-off-by: Arjun AK arjunak...@gmail.com --- drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 101 --- 1 file changed, 35 insertions(+), 66 deletions(-) Doesn't apply to my staging-testing tree :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3] staging: lustre: fix sparse warning on LPROC_SEQ_FOPS macros
On Sat, Dec 06, 2014 at 04:03:22PM -0800, Tristan Lelong wrote: This patch fix a sparse warning in lustre sources warning: incorrect type in argument 1 (different address spaces) expected void [noderef] asn:1*to got char *noident This is done by adding the missing __user attribute on userland pointers inside the LPROC_SEQ_FOPS like macros: - LPROC_SEQ_FOPS - LPROC_SEQ_FOPS_RW_TYPE - LPROC_SEQ_FOPS_WR_ONLY - LDLM_POOL_PROC_WRITER The patch also updates all the functions that are used by this macro: - lprocfs_wr_* - *_seq_write as well as some helpers used by the previously modified functions (otherwise fixing the sparse warning add some new ones): - lprocfs_write_frac_helper - lprocfs_write_helper - lprocfs_write_u64_helper The patch also fixes one __user pointer direct dereference by strncmp in function fld_proc_hash_seq_write. Signed-off-by: Tristan Lelong tris...@lelong.xyz --- Changes in v2: Use dynamic allocation for 'name' variable instead of having it on the stack, per Greg K-H suggestion. Changes in v3: Rename added variable from 'name' to 'fh_name'. Revert to a stack declaration of 'fh_name' since it is not 80 bytes but only 8, per Andreas Dilger comment. --- drivers/staging/lustre/lustre/fld/lproc_fld.c | 14 -- .../staging/lustre/lustre/include/lprocfs_status.h | 44 + drivers/staging/lustre/lustre/ldlm/ldlm_internal.h | 5 +- drivers/staging/lustre/lustre/ldlm/ldlm_pool.c | 4 +- drivers/staging/lustre/lustre/ldlm/ldlm_resource.c | 7 +-- drivers/staging/lustre/lustre/lov/lproc_lov.c | 20 +--- drivers/staging/lustre/lustre/mdc/lproc_mdc.c | 7 +-- .../lustre/lustre/obdclass/linux/linux-module.c| 5 +- .../lustre/lustre/obdclass/lprocfs_status.c| 2 +- drivers/staging/lustre/lustre/osc/lproc_osc.c | 57 +- .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c| 25 +- 11 files changed, 114 insertions(+), 76 deletions(-) I took your v2 version, please send me the difference as this is a mess... ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: lustre: fix sparse warnings related to lock context imbalance
On Sat, Dec 13, 2014 at 03:58:46PM +0100, Loïc Pefferkorn wrote: Don't hide implementation of locks in functions like this, it only causes problems. This code has layers of layers of layers of abstractions due to it wanting to be originally ported to other operating systems and lots of different kernel versions of Linux itself. Unwinding and removing those layers is a good thing to do, don't paper over the nonsense by putting sparse markings on pointless functions. thanks, greg k-h Cheers, Andreas Hello, Thanks for your answer. The annotations look like the best thing to do? Yes, the annotations still make sense. Cheers, Andreas Hello guys, I believe this patch is still relevant, and can be applied against next-20141212. If so, please resend, as I don't have it in my queue anymore. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v2 ] staging: ft1000: fix else style error
On Tue, Jan 13, 2015 at 10:34:00PM +0100, Bilel DRIRA wrote: This patch fix the checkpatch.pl error: ERROR: else should follow close brace '}' Signed-off-by: Bilel DRIRA bilel...@gmail.com --- v2: remove braces instead of just putting else after close brace. (suggested by Joe Perches). drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 29 -- 1 file changed, 10 insertions(+), 19 deletions(-) Doesn't apply to my tree due to changes from other developers before you in this area, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: lustre: Fix sparse non-static symbol warnings
On Mon, Dec 08, 2014 at 10:06:28PM +, Tom Wales wrote: Fixes the following sparse warnings: drivers/staging/lustre/lnet/lnet/lib-move.c:565:1: warning: symbol 'lnet_ni_recv' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:603:1: warning: symbol 'lnet_setpayloadbuffer' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:643:1: warning: symbol 'lnet_ni_send' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:658:1: warning: symbol 'lnet_ni_eager_recv' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:683:1: warning: symbol 'lnet_ni_query_locked' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:735:1: warning: symbol 'lnet_peer_alive_locked' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:874:19: warning: symbol 'lnet_msg2bufpool' was not declared. Should it be static? drivers/staging/lustre/lnet/lnet/lib-move.c:895:1: warning: symbol 'lnet_post_routed_recv_locked' was not declared. Should it be static? Signed-off-by: Tom Wales twales...@gmail.com --- drivers/staging/lustre/lnet/lnet/lib-move.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) Someone sent this patch before you did, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3] staging: writeboost: Add dm-writeboost
On Thu, Jan 01, 2015 at 05:44:39PM +0900, Akira Hayakawa wrote: This patch adds dm-writeboost to staging tree. dm-writeboost is a log-structured SSD-caching driver. It caches data in log-structured way on the cache device so that the performance is maximized. The merit of putting this driver in staging tree is to make it possible to get more feedback from users and polish the codes. v2-v3 - rebased onto 3.19-rc2 - Add read-caching support (disabled by default) Several tests are pushed to dmts. - An critical bug fix flush_proc shouldn't free the work_struct it's running on. I found this bug while I am testing read-caching. I am not sure why i didn't exhibit before but it's truly a bug. - Fully revised the README. Now that we have read-caching support, the old README was completely obsolete. - Update TODO Implementing read-caching is done. - bump up the copyright year to 2015 - fix up comments Signed-off-by: Akira Hayakawa ruby.w...@gmail.com I need an ack from a dm developer before I can take this. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: slicoss: Fix long line issues in slicoss.c
On Wed, Dec 03, 2014 at 01:53:18PM +, Sean Cleator wrote: A patch to the slicoss.c file to fix some of the long line issues found by the checkpath.pl tool Signed-off-by: Sean Cleator seanclea...@hotmail.co.uk --- drivers/staging/slicoss/slicoss.c | 39 ++- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c index 56ca3b6..4df4a7e 100644 --- a/drivers/staging/slicoss/slicoss.c +++ b/drivers/staging/slicoss/slicoss.c @@ -498,12 +498,14 @@ static int slic_card_download(struct adapter *adapter) slic_reg32_write(slic_regs-slic_wcs, baseaddress + codeaddr, FLUSH); /* Write out instruction to low addr */ - slic_reg32_write(slic_regs-slic_wcs, instruction, FLUSH); + slic_reg32_write(slic_regs-slic_wcs, + instruction, FLUSH); instruction = *(u32 *)(fw-data + index); index += 4; /* Write out instruction to high addr */ - slic_reg32_write(slic_regs-slic_wcs, instruction, FLUSH); + slic_reg32_write(slic_regs-slic_wcs, + instruction, FLUSH); instruction = *(u32 *)(fw-data + index); index += 4; } @@ -1533,14 +1535,18 @@ retry_rcvqfill: dev_err(dev, %s: LOW 32bits PHYSICAL ADDRESS == 0\n, __func__); dev_err(dev, skb[%p] PROBLEM\n, skb); - dev_err(dev, skbdata[%p]\n, skb-data); + dev_err(dev, skbdata[%p]\n, + skb-data); dev_err(dev, skblen[%x]\n, skb-len); dev_err(dev, paddr[%p]\n, paddr); dev_err(dev, paddrl[%x]\n, paddrl); dev_err(dev, paddrh[%x]\n, paddrh); - dev_err(dev, rcvq-head[%p]\n, rcvq-head); - dev_err(dev, rcvq-tail[%p]\n, rcvq-tail); - dev_err(dev, rcvq-count[%x]\n, rcvq-count); + dev_err(dev, rcvq-head[%p]\n, + rcvq-head); + dev_err(dev, rcvq-tail[%p]\n, + rcvq-tail); + dev_err(dev, rcvq-count[%x]\n, + rcvq-count); dev_err(dev, SKIP THIS SKB\n); goto retry_rcvqfill; } This change makes the code look worse, don't you think? Please don't do that. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 00/29] staging: add drivers from the fbtft project
On Sun, Jan 18, 2015 at 02:30:17AM +0100, Noralf Tronnes wrote: Den 18.01.2015 01:39, skrev Greg KH: On Mon, Jan 12, 2015 at 06:06:44PM +0100, Noralf Tronnes wrote: Here is a proposal to include in the staging tree the drivers from the fbtft project at https://github.com/notro/fbtft. This project contains a number of drivers small TFT LCD display modules, which are not otherwise supported by the Linux kernel. This set of drivers appears to be quite widely used in the RasberryPi community, and it's a shame that they are not submitted to the upstream Linux kernel. This is for now just a raw import, with only minimal changes compared to the upstream version: I have not tried to fix any coding style issue, or make any other improvement. I have only verified that the entire set of drivers was building fine, which I believe is the main rule when it comes to get code added to the staging tree. Best regards, Thomas Petazzoni Hi, I'm the maintainer of the fbtft project. Even though I didn't know about this submission beforehand, I'm all for having this in staging. I didn't know about the staging tree, that drivers not meeting the strict Linux coding practices still could be included. Signed-off-by: Noralf Tronnes no...@tronnes.org Previously this project was almost only used by the Raspberry Pi community, and some use on Beagle Bone Black, but in the last 6 months it has seen use on many more platforms (which I have lost count of). Not just ARM, but also Intel Edison and Galileo. In the same timeperiod there has been an explosion in display shields/capes for the Raspberry Pi using these drivers. I have also started to see fbtft being pulled into board specific kernel trees. Two months ago I started rewriting this project from scratch to make it a better fit for inclusion. Fbtft was the first kernel programming I did, so I have picked up a better understanding of the kernel since then. I have also a much better understanding of the differences and similarities between these LCD controllers, yielding better and cleaner abstractions. It will take some time to get it ready for review, and even more time to get the same controller/display coverage. I'm hoping to have something ready for review during this year, but since it's a for fun freetime project, it's hard to predict when it's ready. Status: https://github.com/notro/fbdbi/wiki That implies that you are trying to come up with something to obsolete what we have here, right? Or am I incorrect? thanks, greg k-h Yes, you're right, I'm working on a successor that in time will obsolete this. But as I point out, it will take a while to complete the framework and surely longer to support all the controllers. Rewrites usually don't work, why not iterate this current codebase into something clean and acceptable that we can merge properly? Adding this codebase now, which you feel isn't going to go anywhere isn't a good idea for me to do, I don't want stale code in the tree. Also, iteration, while taking longer, ends up with a better end-solution as everyone participates and provides help. Doing it all on your own isn't a good idea, and isn't how successful kernel code is developed. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/3] staging: android: Correct NULL comparison style in logger.c
On Mon, Jan 05, 2015 at 03:25:23PM +0100, Guillaume Vercoutere wrote: Replace explicit NULL comparison with ! Not a good idea, you just lost typechecking :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3] staging: lustre: fix sparse warning on LPROC_SEQ_FOPS macros
Hi Greg, On Sat, Jan 17, 2015 at 03:28:27PM -0800, Greg KH wrote: I took your v2 version, please send me the difference as this is a mess... Not sure I understand what you meant here. Do you want me to submit a new patch that contains only the differences between v2 and v3? Thanks, Regards ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: lustre: remove kmalloc from fld_proc_hash_seq_write
This patch simplifies the fld_proc_hash_seq_write function by removing the dynamic memory allocation. The longest fh_name used so far in lustre is 4 characters. We use a 8 bytes variable to be on the safe side. Signed-off-by: Tristan Lelong tris...@lelong.xyz --- Hi Greg, This patch is a rework of staging: lustre: fix sparse warning on LPROC_SEQ_FOPS macros v3. It applies on top of your latest staging-testing branch. Regards --- drivers/staging/lustre/lustre/fld/lproc_fld.c | 13 - 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/staging/lustre/lustre/fld/lproc_fld.c b/drivers/staging/lustre/lustre/fld/lproc_fld.c index 74b4db9..9b26bb5 100644 --- a/drivers/staging/lustre/lustre/fld/lproc_fld.c +++ b/drivers/staging/lustre/lustre/fld/lproc_fld.c @@ -93,17 +93,13 @@ fld_proc_hash_seq_write(struct file *file, { struct lu_client_fld *fld; struct lu_fld_hash *hash = NULL; - char *name; + char fh_name[8]; int i; - if (count 80) + if (count sizeof(fh_name)) return -ENAMETOOLONG; - name = kmalloc(count, GFP_KERNEL); - if (!name) - return -ENOMEM; - - if (copy_from_user(name, buffer, count) != 0) + if (copy_from_user(fh_name, buffer, count) != 0) return -EFAULT; fld = ((struct seq_file *)file-private_data)-private; @@ -113,7 +109,7 @@ fld_proc_hash_seq_write(struct file *file, if (count != strlen(fld_hash[i].fh_name)) continue; - if (!strncmp(fld_hash[i].fh_name, name, count)) { + if (!strncmp(fld_hash[i].fh_name, fh_name, count)) { hash = fld_hash[i]; break; } @@ -128,7 +124,6 @@ fld_proc_hash_seq_write(struct file *file, fld-lcf_name, hash-fh_name); } - kfree(name); return count; } -- 2.1.3 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/4] iio: mxs-lradc: separate touchscreen and buffer virtual channels
On Saturday, January 17, 2015 at 01:22:08 AM, Kristina Martšenko wrote: Hi! Good stuff, thank you! Just minor nitpicks below. [...] diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c index e0e91836eec1..fc65cd311be9 100644 --- a/drivers/staging/iio/adc/mxs-lradc.c +++ b/drivers/staging/iio/adc/mxs-lradc.c @@ -214,11 +214,14 @@ struct mxs_lradc { unsigned long is_divided; /* - * Touchscreen LRADC channels receives a private slot in the CTRL4 - * register, the slot #7. Therefore only 7 slots instead of 8 in the - * CTRL4 register can be mapped to LRADC channels when using the - * touchscreen. - * + * When the touchscreen is enabled, we give it two private virtual + * channels: #6 and #7. This means that only 6 virtual channels (instead + * of 8) will be available for buffered capture. + */ +#define TS_VCH1 7 +#define TS_VCH2 6 Please use a bit more explicit name for the macro, it's really not clear what the macro represents from it's name. Something like TOUCHSCREEN_VCHANNEL1 might work better for example. What do you think ? + + /* * Furthermore, certain LRADC channels are shared between touchscreen * and/or touch-buttons and generic LRADC block. Therefore when using * either of these, these channels are not available for the regular [...] I also have a general question/idea here, it's explicitly not something I'd like to force upon you to implement. I see we have some kind of a hardware, which can sample up-to N inputs in parallel . Each input is muxed between M possible sources . Is such a thing common in the ADC/DAC world ? Would it be worth to implement generic helper to handle this kind of a N:M mapping ? What do you all think please ? Best regards, Marek Vasut ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/4] iio: mxs-lradc: make ADC reads not unschedule touchscreen conversions
On Saturday, January 17, 2015 at 01:22:10 AM, Kristina Martšenko wrote: Reading a channel through sysfs, or starting a buffered capture, can occasionally turn off the touchscreen. This is because the read_raw() and buffer preenable()/postdisable() callbacks unschedule current conversions on all channels. If a delay channel happens to schedule a touchscreen conversion at the same time, the conversion gets cancelled and the touchscreen sequence stops. This is probably related to this note from the reference manual: If a delay group schedules channels to be sampled and a manual write to the schedule field in CTRL0 occurs while the block is discarding samples, the LRADC will switch to the new schedule and will not sample the channels that were previously scheduled. The time window for this to happen is very small and lasts only while the LRADC is discarding samples. So make the callbacks only unschedule conversions for the channels they use. This means channel 0 for read_raw() and channels 0-5 for the buffer (if the touchscreen is enabled). Since the touchscreen uses different channels (6 and 7), it no longer gets turned off. This is tested and fixes the issue on i.MX28, but hasn't been tested on i.MX23. Signed-off-by: Kristina Martšenko kristina.martse...@gmail.com Reviewed-by: Marek Vasut ma...@denx.de Best regards, Marek Vasut ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Fixed else following return statement warning
On Wed, Jan 14, 2015 at 05:08:31PM +0530, Asheesh Ranjan wrote: Fixed an else block following a if block containing return statement warning found using checkpatch.pl Signed-off-by: Asheesh Ranjan asheesh@outlook.com --- drivers/staging/rtl8192e/rtl819x_HTProc.c | 36 ++--- 1 file changed, 17 insertions(+), 19 deletions(-) Someone else sent this in before you did, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 4/4] iio: mxs-lradc: only update the buffer when its conversions have finished
On Saturday, January 17, 2015 at 01:22:11 AM, Kristina Martšenko wrote: Using the touchscreen while running buffered capture results in the buffer reporting lots of wrong values, often just zeros. This is because we push readings to the buffer every time a touchscreen interrupt arrives, including when the buffer's own conversions have not yet finished. So let's only push to the buffer when its conversions are ready. Signed-off-by: Kristina Martšenko kristina.martse...@gmail.com Reviewed-by: Marek Vasut ma...@denx.de Best regards, Marek Vasut ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/4] iio: mxs-lradc: make ADC reads not disable touchscreen interrupts
On Saturday, January 17, 2015 at 01:22:09 AM, Kristina Martšenko wrote: Reading a channel through sysfs, or starting a buffered capture, will currently turn off the touchscreen. This is because the read_raw() and buffer preenable()/postdisable() callbacks disable interrupts for all LRADC channels, including those the touchscreen uses. So make the callbacks only disable interrupts for the channels they use. This means channel 0 for read_raw() and channels 0-5 for the buffer (if the touchscreen is enabled). Since the touchscreen uses different channels (6 and 7), it no longer gets turned off. Note that only i.MX28 is affected by this issue, i.MX23 should be fine. Signed-off-by: Kristina Martšenko kristina.martse...@gmail.com --- drivers/staging/iio/adc/mxs-lradc.c | 24 +--- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/drivers/staging/iio/adc/mxs-lradc.c b/drivers/staging/iio/adc/mxs-lradc.c index fc65cd311be9..0cf276ff0dc5 100644 --- a/drivers/staging/iio/adc/mxs-lradc.c +++ b/drivers/staging/iio/adc/mxs-lradc.c @@ -218,8 +218,11 @@ struct mxs_lradc { * channels: #6 and #7. This means that only 6 virtual channels (instead * of 8) will be available for buffered capture. */ -#define TS_VCH1 7 -#define TS_VCH2 6 +#define TS_VCH1 7 +#define TS_VCH2 6 Please fix the indent in 1/4 , so you don't have to change it again this patch. Reviewed-by: Marek Vasut ma...@denx.de Thanks! Best regards, Marek Vasut ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 00/29] staging: add drivers from the fbtft project
On Wed, Dec 31, 2014 at 10:11:08AM +0100, Thomas Petazzoni wrote: Hello Greg, Here is a proposal to include in the staging tree the drivers from the fbtft project at https://github.com/notro/fbtft. This project contains a number of drivers small TFT LCD display modules, which are not otherwise supported by the Linux kernel. This set of drivers appears to be quite widely used in the RasberryPi community, and it's a shame that they are not submitted to the upstream Linux kernel. This is for now just a raw import, with only minimal changes compared to the upstream version: I have not tried to fix any coding style issue, or make any other improvement. I have only verified that the entire set of drivers was building fine, which I believe is the main rule when it comes to get code added to the staging tree. There's also some build warnings, which would be great if you could fix up before you get an email from the 0-day bot telling you about them... thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 00/29] staging: add drivers from the fbtft project
On Mon, Jan 12, 2015 at 06:06:44PM +0100, Noralf Tronnes wrote: Here is a proposal to include in the staging tree the drivers from the fbtft project at https://github.com/notro/fbtft. This project contains a number of drivers small TFT LCD display modules, which are not otherwise supported by the Linux kernel. This set of drivers appears to be quite widely used in the RasberryPi community, and it's a shame that they are not submitted to the upstream Linux kernel. This is for now just a raw import, with only minimal changes compared to the upstream version: I have not tried to fix any coding style issue, or make any other improvement. I have only verified that the entire set of drivers was building fine, which I believe is the main rule when it comes to get code added to the staging tree. Best regards, Thomas Petazzoni Hi, I'm the maintainer of the fbtft project. Even though I didn't know about this submission beforehand, I'm all for having this in staging. I didn't know about the staging tree, that drivers not meeting the strict Linux coding practices still could be included. Signed-off-by: Noralf Tronnes no...@tronnes.org Previously this project was almost only used by the Raspberry Pi community, and some use on Beagle Bone Black, but in the last 6 months it has seen use on many more platforms (which I have lost count of). Not just ARM, but also Intel Edison and Galileo. In the same timeperiod there has been an explosion in display shields/capes for the Raspberry Pi using these drivers. I have also started to see fbtft being pulled into board specific kernel trees. Two months ago I started rewriting this project from scratch to make it a better fit for inclusion. Fbtft was the first kernel programming I did, so I have picked up a better understanding of the kernel since then. I have also a much better understanding of the differences and similarities between these LCD controllers, yielding better and cleaner abstractions. It will take some time to get it ready for review, and even more time to get the same controller/display coverage. I'm hoping to have something ready for review during this year, but since it's a for fun freetime project, it's hard to predict when it's ready. Status: https://github.com/notro/fbdbi/wiki That implies that you are trying to come up with something to obsolete what we have here, right? Or am I incorrect? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 29/29] staging: fbtft: add NOTES file
On Wed, Dec 31, 2014 at 10:11:37AM +0100, Thomas Petazzoni wrote: Add a NOTES file that documents which version of the original fbtft was used, and how the import was done. Signed-off-by: Thomas Petazzoni thomas.petazz...@free-electrons.com --- drivers/staging/fbtft/NOTES | 6 ++ 1 file changed, 6 insertions(+) create mode 100644 drivers/staging/fbtft/NOTES diff --git a/drivers/staging/fbtft/NOTES b/drivers/staging/fbtft/NOTES new file mode 100644 index 000..d57c6ef --- /dev/null +++ b/drivers/staging/fbtft/NOTES @@ -0,0 +1,6 @@ +This code base is based on an import of https://github.com/notro/fbtft +at commit 274035404701245e7491c0c6471c5b72ade4d491. + +Compared to the upstream code, the changes where: + - Remove out-of-tree build logic from Makefile + - Do not import the dts/ part -- 2.1.0 This isn't needed at all, so I'm going to drop it, ok? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 00/29] staging: add drivers from the fbtft project
On Wed, Dec 31, 2014 at 10:11:08AM +0100, Thomas Petazzoni wrote: Hello Greg, Here is a proposal to include in the staging tree the drivers from the fbtft project at https://github.com/notro/fbtft. This project contains a number of drivers small TFT LCD display modules, which are not otherwise supported by the Linux kernel. This set of drivers appears to be quite widely used in the RasberryPi community, and it's a shame that they are not submitted to the upstream Linux kernel. This is for now just a raw import, with only minimal changes compared to the upstream version: I have not tried to fix any coding style issue, or make any other improvement. I have only verified that the entire set of drivers was building fine, which I believe is the main rule when it comes to get code added to the staging tree. Yes, this is fine, but I also need a TODO file, listing what needs to be done to the files in order to get them merged out of staging, and a list of the people responsible for it. Ideally a MAINTAINERS entry as well, so that get_maintainer.pl can work well with the files. I'll take these for now, but can you send a follow-on patch adding that file? Oh, and the README doesn't make much sense here anymore, so you should probably fix that up too :) thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: rts5208: fix space prohibited before ',' error in ms.c
On Tue, Jan 06, 2015 at 01:29:01AM +1100, Emrys Bayliss wrote: Fix the checkpatch.pl errors: ERROR: space prohibited before that ',' (ctx:WxW) Signed-off-by: Emrys Bayliss em...@paradise.net.nz --- drivers/staging/rts5208/ms.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) Someone else sent this same patch before you did, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: clocking-wizard: Added a blank line after declaration
On Sat, Dec 20, 2014 at 10:11:56PM -0800, Sören Brinkmann wrote: Hi Mohammad, On Sun, 2014-12-21 at 08:03AM +0530, Mohammad Jamal wrote: Fix the coding style issue by adding blank line after declaration Signed-off-by: Mohammad Jamal md.jamalmohiud...@gmail.com --- .../clocking-wizard/clk-xlnx-clock-wizard.c|1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c b/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c index 471d087..ea8d561 100644 --- a/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c +++ b/drivers/staging/clocking-wizard/clk-xlnx-clock-wizard.c @@ -239,6 +239,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) /* register div per output */ for (i = WZRD_NUM_OUTPUTS - 1; i = 0 ; i--) { const char *clkout_name; + if (of_property_read_string_index(np, clock-output-names, i, clkout_name)) { dev_err(pdev-dev, I think the same patch had already been sent to the list by somebody else. Not sure whether Greg picked it up yet. Either way, feel free to add my Acked-by: Soren Brinkmann soren.brinkm...@xilinx.com I now have, so this one will not apply :( ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/3] Revert staging: sm7xxfb: remove driver
On Wed, Dec 31, 2014 at 05:56:43PM +0530, Sudip Mukherjee wrote: This reverts commit dc93c85235efa5201e9a3c116bc3fbd1afc1a182 Signed-off-by: Sudip Mukherjee su...@vectorindia.org --- Hi Greg K-H With reference to our discussion at https://lkml.org/lkml/2014/11/22/54 , now I have the hardware and I will be working on the code along with Teddy Wang. I'm not going to accept this revert until I see some cleanup / fix patches as well, so please make a larger series with the revert and then some work done to the driver, so I at least have a hint it's not abandonded. 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: Fix else is not useful warning
On Thu, Jan 08, 2015 at 03:01:17PM +0100, Sven Dziadek wrote: This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Sven Dziadek sven.dzia...@gmx.de --- drivers/staging/wlan-ng/hfa384x_usb.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) Someone else sent this same change before you did, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: rts5208: Delete unnecessary whitespaces
On Mon, Jan 05, 2015 at 11:40:01PM +0100, Ana Rey Botello wrote: Delete unnecessary whitespaces and fix coding style in these lines when It is necessary. Fix checkpatch.pl error: ERROR: space prohibited before that ',' Signed-off-by: Ana Rey Botello ana...@gmail.com --- drivers/staging/rts5208/ms.c | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) Someone else sent this same patch before you did, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 3/3] staging: android: struct sizeof coding style in logger.c
On Mon, Jan 05, 2015 at 03:25:37PM +0100, Guillaume Vercoutere wrote: Replace sizeof struct Signed-off-by: Guillaume Vercoutere gvercout...@gmail.com Doesn't apply as I didn't take patch 2, please fix up and resend. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/4] staging: vt6655: removing dead function as reported by sparse
From: Mathieu Poirier mathieu.poir...@linaro.org mpoirier@t430:~/work/kernel1$ make C=1 M=drivers/staging/vt6655/ CHECK drivers/staging/vt6655/mac.c drivers/staging/vt6655/mac.c:162:6: warning: symbol 'MACvGetShortRetryLimit' was not declared. Should it be static? CC [M] drivers/staging/vt6655/mac.o Commit: 87299d4c06f0 staging: vt6655: mac.c and mac.h remove dead functions. removes a lot of dead functions but forgot @MACvGetShortRetryLimit. Signed-off-by: Mathieu Poirier mathieu.poir...@linaro.org --- drivers/staging/vt6655/mac.c | 19 --- 1 file changed, 19 deletions(-) diff --git a/drivers/staging/vt6655/mac.c b/drivers/staging/vt6655/mac.c index 8f0d652fea7c..7402a2b272b0 100644 --- a/drivers/staging/vt6655/mac.c +++ b/drivers/staging/vt6655/mac.c @@ -148,25 +148,6 @@ void MACvSetShortRetryLimit(void __iomem *dwIoBase, unsigned char byRetryLimit) /* * Description: - * Get 802.11 Short Retry Limit - * - * Parameters: - * In: - * dwIoBase- Base Address for MAC - * Out: - * pbyRetryLimit - Retry Limit Get - * - * Return Value: none - * - */ -void MACvGetShortRetryLimit(void __iomem *dwIoBase, unsigned char *pbyRetryLimit) -{ - // get SRT - VNSvInPortB(dwIoBase + MAC_REG_SRT, pbyRetryLimit); -} - -/* - * Description: * Set 802.11 Long Retry Limit * * Parameters: -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/4] staging: vt6655: correcting function declaration sparse error
From: Mathieu Poirier mathieu.poir...@linaro.org mpoirier@t430:~/work/kernel1$ make C=1 M=drivers/staging/vt6655/ LD drivers/staging/vt6655/built-in.o CHECK drivers/staging/vt6655/device_main.c drivers/staging/vt6655/device_main.c:1672:5: warning: symbol 'vnt_init' was not declared. Should it be static? CC [M] drivers/staging/vt6655/device_main.o Function @vnt_init is only called by @vt6655_probe, in turn is declared static. As sparse suggest, @vnt_init should very likely be declared static as well. At least nothing in the file indicate that it should be otherwise. Signed-off-by: Mathieu Poirier mathieu.poir...@linaro.org --- drivers/staging/vt6655/device_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index 83e4162c0094..a3f5cd84259a 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c @@ -1669,7 +1669,7 @@ static const struct ieee80211_ops vnt_mac_ops = { .reset_tsf = vnt_reset_tsf, }; -int vnt_init(struct vnt_private *priv) +static int vnt_init(struct vnt_private *priv) { SET_IEEE80211_PERM_ADDR(priv-hw, priv-abyCurrentNetAddr); -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 4/4] staging: vt6655: correcting parameter related sparse error
From: Mathieu Poirier mathieu.poir...@linaro.org mpoirier@t430:~/work/kernel1$ make C=1 M=drivers/staging/vt6655/ LD drivers/staging/vt6655/built-in.o CHECK drivers/staging/vt6655/device_main.c drivers/staging/vt6655/device_main.c:1503:25: warning: incorrect type in argument 1 (different address spaces) drivers/staging/vt6655/device_main.c:1503:25:expected void [noderef] asn:2*noident drivers/staging/vt6655/device_main.c:1503:25:got struct vnt_private * drivers/staging/vt6655/device_main.c:1503:25: warning: incorrect type in argument 2 (different address spaces) drivers/staging/vt6655/device_main.c:1503:25:expected void [noderef] asn:2*noident drivers/staging/vt6655/device_main.c:1503:25:got struct vnt_private * drivers/staging/vt6655/device_main.c:1505:25: warning: incorrect type in argument 1 (different address spaces) drivers/staging/vt6655/device_main.c:1505:25:expected void [noderef] asn:2*noident drivers/staging/vt6655/device_main.c:1505:25:got struct vnt_private * drivers/staging/vt6655/device_main.c:1505:25: warning: incorrect type in argument 2 (different address spaces) drivers/staging/vt6655/device_main.c:1505:25:expected void [noderef] asn:2*noident drivers/staging/vt6655/device_main.c:1505:25:got struct vnt_private * In this case a pointer to struct vnt_private is given to macros @MACvRegBitsOn() and @MACvRegBitsOff(). These in turn eventually call @ioread8(), which take a void __iomem * as parameter. The first field of struct vnt_private is a pointer to a struct pci_dev, whose first field is a struct list_head. Correcting the problem by following the trend set fort in every other calls to the macros by passing -PortOffset, declared as void __iomem *. Signed-off-by: Mathieu Poirier mathieu.poir...@linaro.org --- drivers/staging/vt6655/device_main.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c index a3f5cd84259a..951ea5321d61 100644 --- a/drivers/staging/vt6655/device_main.c +++ b/drivers/staging/vt6655/device_main.c @@ -1500,9 +1500,11 @@ static void vnt_bss_info_changed(struct ieee80211_hw *hw, if (conf-enable_beacon) { vnt_beacon_enable(priv, vif, conf); - MACvRegBitsOn(priv, MAC_REG_TCR, TCR_AUTOBCNTX); + MACvRegBitsOn(priv-PortOffset, + MAC_REG_TCR, TCR_AUTOBCNTX); } else { - MACvRegBitsOff(priv, MAC_REG_TCR, TCR_AUTOBCNTX); + MACvRegBitsOff(priv-PortOffset, + MAC_REG_TCR, TCR_AUTOBCNTX); } } -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 00/29] staging: add drivers from the fbtft project
On Sun, Jan 18, 2015 at 03:26:56AM +0100, Noralf Tronnes wrote: When I started this rewrite I didn't anticipate fbtft entering the kernel, and to me it was easier to just start from scratch. However I'd much rather go with proven practices, so I will do as you suggest. At least the lcd register abstraction I've worked on, should be more or less a bolt-on to fbtft. Great! If you have questions on how to do this, or need help with making patches, be sure to ask. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: lustre/lnet/lnet/lib-move.c: memcpy with (struct iovec*)-iov_base, which is __user
On Wed, Jan 07, 2015 at 02:28:12PM +0200, Andrey Utkin wrote: 2015-01-07 13:32 GMT+02:00 Dilger, Andreas andreas.dil...@intel.com: On 2015/01/07, 1:36 AM, Dan Carpenter dan.carpen...@oracle.com wrote: Didn't Al change these to kvec instead of iovec? You have to look at the callers to figure out if it's actually a user space pointer or a kernel pointer. A patch was sent by Al on Dec 2 to replace iovec with kvec, in a thread titled [PATCH] staging:lustre:lnet: Incorrect type in assignment. Greg replied on Dec 10 in another thread (also fixing this same warning) titled [PATCH] staging: lustre: Fix the warning messages about casting without __user macro that Al's patch was in the staging tree for 3.19-rc1. In current linux-next, I see none of the mentioned patches. Also I don't see them mentioned in GKH's merge commit Merge tag 'staging-3.19-rc1'... Is it ok? Al's patch is now merged. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 2/2] staging: lustre: declare internal symbols as static
On Tue, Jan 13, 2015 at 11:33:03PM +0100, Luca Ceresoli wrote: Fixes dozens of sparse warnings like: warning: symbol 'cfs_tracefile_sem' was not declared. Should it be static? Signed-off-by: Luca Ceresoli l...@lucaceresoli.net Cc: Peng Tao bergw...@gmail.com Cc: Jinshan Xiong jinshan.xi...@intel.com Cc: Srikrishan Malik srikrishanma...@gmail.com Cc: hpdd-disc...@lists.01.org Cc: de...@driverdev.osuosl.org Cc: linux-ker...@vger.kernel.org This patch fails to apply to my staging-next branch, sorry :( greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: lustre: Fix spacing error in libcfs_string.c
On Sun, Jan 11, 2015 at 01:44:03PM -0500, Nickolaus Woodruff wrote: This patch fixes the following checkpatch.pl error in libcfs_string.c: ERROR: spaces required around that '=' Signed-off-by: Nickolaus Woodruff nickolauswoodr...@gmail.com --- drivers/staging/lustre/lustre/libcfs/libcfs_string.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/lustre/lustre/libcfs/libcfs_string.c b/drivers/staging/lustre/lustre/libcfs/libcfs_string.c index fb88733..e67a18d 100644 --- a/drivers/staging/lustre/lustre/libcfs/libcfs_string.c +++ b/drivers/staging/lustre/lustre/libcfs/libcfs_string.c @@ -132,7 +132,7 @@ char *cfs_firststr(char *str, size_t size) ++end; } - *end= '\0'; + *end = '\0'; out: return str; } -- 1.9.1 Someone already sent this patch before you did, sorry. greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: rtl8712: recv_linux: Remove unused function
Remove the function r8712_os_read_port() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8712/recv_linux.c | 14 -- drivers/staging/rtl8712/recv_osdep.h |1 - 2 files changed, 15 deletions(-) diff --git a/drivers/staging/rtl8712/recv_linux.c b/drivers/staging/rtl8712/recv_linux.c index 0631f36..409c8c8 100644 --- a/drivers/staging/rtl8712/recv_linux.c +++ b/drivers/staging/rtl8712/recv_linux.c @@ -137,20 +137,6 @@ _recv_indicatepkt_drop: precvpriv-rx_drop++; } -void r8712_os_read_port(struct _adapter *padapter, struct recv_buf *precvbuf) -{ - struct recv_priv *precvpriv = padapter-recvpriv; - - precvbuf-ref_cnt--; - /*free skb in recv_buf*/ - dev_kfree_skb_any(precvbuf-pskb); - precvbuf-pskb = NULL; - precvbuf-reuse = false; - if (!precvbuf-irp_pending) - r8712_read_port(padapter, precvpriv-ff_hwaddr, 0, -(unsigned char *)precvbuf); -} - static void _r8712_reordering_ctrl_timeout_handler (void *FunctionContext) { struct recv_reorder_ctrl *preorder_ctrl = diff --git a/drivers/staging/rtl8712/recv_osdep.h b/drivers/staging/rtl8712/recv_osdep.h index f4384ef..1f4986e 100644 --- a/drivers/staging/rtl8712/recv_osdep.h +++ b/drivers/staging/rtl8712/recv_osdep.h @@ -46,7 +46,6 @@ int r8712_os_recvbuf_resource_alloc(struct _adapter *padapter, struct recv_buf *precvbuf); int r8712_os_recvbuf_resource_free(struct _adapter *padapter, struct recv_buf *precvbuf); -void r8712_os_read_port(struct _adapter *padapter, struct recv_buf *precvbuf); void r8712_init_recv_timer(struct recv_reorder_ctrl *preorder_ctrl); #endif -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: rtl8188eu: core: rtw_wlan_util: Remove unused functions
Removes some functions that are not used anywhere: CAM_empty_entry() get_bsstype() rtw_get_oper_choffset() rtw_get_oper_bw() is_ap_in_wep() should_forbid_n_rate() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8188eu/core/rtw_wlan_util.c | 136 -- drivers/staging/rtl8188eu/include/rtw_mlme_ext.h |6 - 2 files changed, 142 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_wlan_util.c b/drivers/staging/rtl8188eu/core/rtw_wlan_util.c index 324c1a7..2c0ab7a 100644 --- a/drivers/staging/rtl8188eu/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8188eu/core/rtw_wlan_util.c @@ -326,21 +326,11 @@ inline void rtw_set_oper_ch(struct adapter *adapter, u8 ch) adapter-mlmeextpriv.oper_channel = ch; } -inline u8 rtw_get_oper_bw(struct adapter *adapter) -{ - return adapter-mlmeextpriv.oper_bwmode; -} - inline void rtw_set_oper_bw(struct adapter *adapter, u8 bw) { adapter-mlmeextpriv.oper_bwmode = bw; } -inline u8 rtw_get_oper_choffset(struct adapter *adapter) -{ - return adapter-mlmeextpriv.oper_ch_offset; -} - inline void rtw_set_oper_choffset(struct adapter *adapter, u8 offset) { adapter-mlmeextpriv.oper_ch_offset = offset; @@ -395,16 +385,6 @@ void set_channel_bwmode(struct adapter *padapter, unsigned char channel, unsigne SetBWMode(padapter, bwmode, channel_offset); } -int get_bsstype(unsigned short capability) -{ - if (capability BIT(0)) - return WIFI_FW_AP_STATE; - else if (capability BIT(1)) - return WIFI_FW_ADHOC_STATE; - else - return 0; -} - __inline u8 *get_my_bssid(struct wlan_bssid_ex *pnetwork) { return pnetwork-MacAddress; @@ -469,11 +449,6 @@ unsigned int decide_wait_for_beacon_timeout(unsigned int bcn_interval) return bcn_interval 2; } -void CAM_empty_entry(struct adapter *Adapter, u8 ucIndex) -{ - rtw_hal_set_hwreg(Adapter, HW_VAR_CAM_EMPTY_ENTRY, (u8 *)(ucIndex)); -} - void invalidate_cam_all(struct adapter *padapter) { rtw_hal_set_hwreg(padapter, HW_VAR_CAM_INVALID_ALL, NULL); @@ -1157,117 +1132,6 @@ unsigned int is_ap_in_tkip(struct adapter *padapter) } } -unsigned int should_forbid_n_rate(struct adapter *padapter) -{ - u32 i; - struct ndis_802_11_var_ie *pIE; - struct mlme_priv*pmlmepriv = padapter-mlmepriv; - struct wlan_bssid_ex *cur_network = pmlmepriv-cur_network.network; - - if (rtw_get_capability((struct wlan_bssid_ex *)cur_network) WLAN_CAPABILITY_PRIVACY) { - for (i = sizeof(struct ndis_802_11_fixed_ie); i cur_network-IELength;) { - pIE = (struct ndis_802_11_var_ie *)(cur_network-IEs + i); - - switch (pIE-ElementID) { - case _VENDOR_SPECIFIC_IE_: - if (!memcmp(pIE-data, RTW_WPA_OUI, 4) - ((!memcmp((pIE-data + 12), WPA_CIPHER_SUITE_CCMP, 4)) || - (!memcmp((pIE-data + 16), WPA_CIPHER_SUITE_CCMP, 4 - return false; - break; - case _RSN_IE_2_: - if ((!memcmp((pIE-data + 8), RSN_CIPHER_SUITE_CCMP, 4)) || - (!memcmp((pIE-data + 12), RSN_CIPHER_SUITE_CCMP, 4))) - return false; - default: - break; - } - - i += (pIE-Length + 2); - } - - return true; - } else { - return false; - } -} - -unsigned int is_ap_in_wep(struct adapter *padapter) -{ - u32 i; - struct ndis_802_11_var_ie *pIE; - struct mlme_ext_priv *pmlmeext = padapter-mlmeextpriv; - struct mlme_ext_info*pmlmeinfo = (pmlmeext-mlmext_info); - struct wlan_bssid_ex*cur_network = (pmlmeinfo-network); - - if (rtw_get_capability((struct wlan_bssid_ex *)cur_network) WLAN_CAPABILITY_PRIVACY) { - for (i = sizeof(struct ndis_802_11_fixed_ie); i pmlmeinfo-network.IELength;) { - pIE = (struct ndis_802_11_var_ie *)(pmlmeinfo-network.IEs + i); - - switch (pIE-ElementID) { - case _VENDOR_SPECIFIC_IE_: - if (!memcmp(pIE-data, RTW_WPA_OUI, 4)) - return false; - break; - case _RSN_IE_2_: - return false; - default: - break; - } - i += (pIE-Length + 2); - } -
Re: [PATCH 00/29] staging: add drivers from the fbtft project
Den 18.01.2015 01:39, skrev Greg KH: On Mon, Jan 12, 2015 at 06:06:44PM +0100, Noralf Tronnes wrote: Here is a proposal to include in the staging tree the drivers from the fbtft project at https://github.com/notro/fbtft. This project contains a number of drivers small TFT LCD display modules, which are not otherwise supported by the Linux kernel. This set of drivers appears to be quite widely used in the RasberryPi community, and it's a shame that they are not submitted to the upstream Linux kernel. This is for now just a raw import, with only minimal changes compared to the upstream version: I have not tried to fix any coding style issue, or make any other improvement. I have only verified that the entire set of drivers was building fine, which I believe is the main rule when it comes to get code added to the staging tree. Best regards, Thomas Petazzoni Hi, I'm the maintainer of the fbtft project. Even though I didn't know about this submission beforehand, I'm all for having this in staging. I didn't know about the staging tree, that drivers not meeting the strict Linux coding practices still could be included. Signed-off-by: Noralf Tronnes no...@tronnes.org Previously this project was almost only used by the Raspberry Pi community, and some use on Beagle Bone Black, but in the last 6 months it has seen use on many more platforms (which I have lost count of). Not just ARM, but also Intel Edison and Galileo. In the same timeperiod there has been an explosion in display shields/capes for the Raspberry Pi using these drivers. I have also started to see fbtft being pulled into board specific kernel trees. Two months ago I started rewriting this project from scratch to make it a better fit for inclusion. Fbtft was the first kernel programming I did, so I have picked up a better understanding of the kernel since then. I have also a much better understanding of the differences and similarities between these LCD controllers, yielding better and cleaner abstractions. It will take some time to get it ready for review, and even more time to get the same controller/display coverage. I'm hoping to have something ready for review during this year, but since it's a for fun freetime project, it's hard to predict when it's ready. Status: https://github.com/notro/fbdbi/wiki That implies that you are trying to come up with something to obsolete what we have here, right? Or am I incorrect? thanks, greg k-h Yes, you're right, I'm working on a successor that in time will obsolete this. But as I point out, it will take a while to complete the framework and surely longer to support all the controllers. Noralf. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v3] staging: lustre: fix sparse warning on LPROC_SEQ_FOPS macros
On Sat, Jan 17, 2015 at 10:41:44PM -0800, Tristan Lelong wrote: Hi Greg, On Sat, Jan 17, 2015 at 03:28:27PM -0800, Greg KH wrote: I took your v2 version, please send me the difference as this is a mess... Not sure I understand what you meant here. Do you want me to submit a new patch that contains only the differences between v2 and v3? Yes please. Make it against the tree you got the email saying when your v2 patch was accepted. thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: rtl8723au: os_dep: usb_intf: Remove unused functions
Removes some functions that are not used anywhere: rtw_hw_resume23a() rtw_hw_suspend23a() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8723au/include/osdep_intf.h |3 - drivers/staging/rtl8723au/os_dep/usb_intf.c| 98 2 files changed, 101 deletions(-) diff --git a/drivers/staging/rtl8723au/include/osdep_intf.h b/drivers/staging/rtl8723au/include/osdep_intf.h index 33afa62..a157eb2 100644 --- a/drivers/staging/rtl8723au/include/osdep_intf.h +++ b/drivers/staging/rtl8723au/include/osdep_intf.h @@ -19,9 +19,6 @@ #include osdep_service.h #include drv_types.h -int rtw_hw_suspend23a(struct rtw_adapter *padapter); -int rtw_hw_resume23a(struct rtw_adapter *padapter); - int rtw_init_drv_sw23a(struct rtw_adapter *padapter); int rtw_free_drv_sw23a(struct rtw_adapter *padapter); int rtw_reset_drv_sw23a(struct rtw_adapter *padapter); diff --git a/drivers/staging/rtl8723au/os_dep/usb_intf.c b/drivers/staging/rtl8723au/os_dep/usb_intf.c index 373a617..936414d 100644 --- a/drivers/staging/rtl8723au/os_dep/usb_intf.c +++ b/drivers/staging/rtl8723au/os_dep/usb_intf.c @@ -273,104 +273,6 @@ static void rtw_dev_unload(struct rtw_adapter *padapter) RT_TRACE(_module_hci_intfs_c_, _drv_err_, (-rtw_dev_unload\n)); } -int rtw_hw_suspend23a(struct rtw_adapter *padapter) -{ - struct pwrctrl_priv *pwrpriv = padapter-pwrctrlpriv; - struct net_device *pnetdev = padapter-pnetdev; - struct mlme_priv *pmlmepriv = padapter-mlmepriv; - - if ((!padapter-bup) || (padapter-bDriverStopped) || - (padapter-bSurpriseRemoved)) { - DBG_8723A(padapter-bup =%d bDriverStopped =%d bSurpriseRemoved = %d\n, - padapter-bup, padapter-bDriverStopped, - padapter-bSurpriseRemoved); - goto error_exit; - } - - if (padapter) { /* system suspend */ - LeaveAllPowerSaveMode23a(padapter); - - DBG_8723A(== rtw_hw_suspend23a\n); - down(pwrpriv-lock); - pwrpriv-bips_processing = true; - /* padapter-net_closed = true; */ - /* s1. */ - if (pnetdev) { - netif_carrier_off(pnetdev); - netif_tx_stop_all_queues(pnetdev); - } - - /* s2. */ - rtw_disassoc_cmd23a(padapter, 500, false); - - /* s2-2. indicate disconnect to os */ - /* rtw_indicate_disconnect23a(padapter); */ - if (check_fwstate(pmlmepriv, _FW_LINKED)) { - _clr_fwstate_(pmlmepriv, _FW_LINKED); - - rtw_os_indicate_disconnect23a(padapter); - - /* donnot enqueue cmd */ - rtw_lps_ctrl_wk_cmd23a(padapter, - LPS_CTRL_DISCONNECT, 0); - } - /* s2-3. */ - rtw_free_assoc_resources23a(padapter, 1); - - /* s2-4. */ - rtw_free_network_queue23a(padapter); - rtw_ips_dev_unload23a(padapter); - pwrpriv-rf_pwrstate = rf_off; - pwrpriv-bips_processing = false; - up(pwrpriv-lock); - } else { - goto error_exit; - } - return 0; -error_exit: - DBG_8723A(%s, failed\n, __func__); - return -1; -} - -int rtw_hw_resume23a(struct rtw_adapter *padapter) -{ - struct pwrctrl_priv *pwrpriv = padapter-pwrctrlpriv; - struct net_device *pnetdev = padapter-pnetdev; - - if (padapter) { /* system resume */ - DBG_8723A(== rtw_hw_resume23a\n); - down(pwrpriv-lock); - pwrpriv-bips_processing = true; - rtw_reset_drv_sw23a(padapter); - - if (pm_netdev_open23a(pnetdev, false)) { - up(pwrpriv-lock); - goto error_exit; - } - - netif_device_attach(pnetdev); - netif_carrier_on(pnetdev); - - if (!rtw_netif_queue_stopped(pnetdev)) - netif_tx_start_all_queues(pnetdev); - else - netif_tx_wake_all_queues(pnetdev); - - pwrpriv-bkeepfwalive = false; - - pwrpriv-rf_pwrstate = rf_on; - pwrpriv-bips_processing = false; - - up(pwrpriv-lock); - } else { - goto error_exit; - } - return 0; -error_exit: - DBG_8723A(%s, Open net dev failed\n, __func__); - return -1; -} - static int rtw_suspend(struct usb_interface *pusb_intf, pm_message_t message) { struct dvobj_priv *dvobj = usb_get_intfdata(pusb_intf); -- 1.7.10.4 ___ devel mailing list
[PATCH v2] staging: rtl8723au: core: rtw_cmd: Remove unused functions
Removes some functions that are not used anywhere: rtw_set_ch_cmd23a() rtw_cmd_clr_isr23a() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/rtl8723au/core/rtw_cmd.c| 61 --- drivers/staging/rtl8723au/include/rtw_cmd.h |2 - 2 files changed, 63 deletions(-) diff --git a/drivers/staging/rtl8723au/core/rtw_cmd.c b/drivers/staging/rtl8723au/core/rtw_cmd.c index 60e0ded..2447a56 100644 --- a/drivers/staging/rtl8723au/core/rtw_cmd.c +++ b/drivers/staging/rtl8723au/core/rtw_cmd.c @@ -245,11 +245,6 @@ exit: return res; } -void rtw_cmd_clr_isr23a(struct cmd_priv *pcmdpriv) -{ - pcmdpriv-cmd_done_cnt++; -} - void rtw_free_cmd_obj23a(struct cmd_obj *pcmd) { @@ -852,62 +847,6 @@ exit: return res; } -/* - * This is only ever called from on_action_spct23a_ch_switch () which isn't - * called from anywhere itself - */ -int rtw_set_ch_cmd23a(struct rtw_adapter *padapter, u8 ch, u8 bw, u8 ch_offset, - u8 enqueue) -{ - struct cmd_obj *pcmdobj; - struct set_ch_parm *set_ch_parm; - struct cmd_priv *pcmdpriv = padapter-cmdpriv; - int res = _SUCCESS; - - DBG_8723A(%s(%s): ch:%u, bw:%u, ch_offset:%u\n, __func__, - padapter-pnetdev-name, ch, bw, ch_offset); - - /* check input parameter */ - - /* prepare cmd parameter */ - set_ch_parm = kzalloc(sizeof(*set_ch_parm), GFP_KERNEL); - if (!set_ch_parm) { - res = _FAIL; - goto exit; - } - set_ch_parm-ch = ch; - set_ch_parm-bw = bw; - set_ch_parm-ch_offset = ch_offset; - - if (enqueue) { - /* need enqueue, prepare cmd_obj and enqueue */ - pcmdobj = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL); - if (!pcmdobj) { - kfree(set_ch_parm); - res = _FAIL; - goto exit; - } - - init_h2fwcmd_w_parm_no_rsp(pcmdobj, set_ch_parm, - GEN_CMD_CODE(_SetChannel)); - res = rtw_enqueue_cmd23a(pcmdpriv, pcmdobj); - } else { - /* no need to enqueue, do the cmd hdl directly and - free cmd parameter */ - if (H2C_SUCCESS != set_ch_hdl23a(padapter, (u8 *)set_ch_parm)) - res = _FAIL; - - kfree(set_ch_parm); - } - - /* do something based on res... */ -exit: - - DBG_8723A(%s(%s): res:%u\n, __func__, padapter-pnetdev-name, res); - - return res; -} - static void traffic_status_watchdog(struct rtw_adapter *padapter) { u8 bEnterPS; diff --git a/drivers/staging/rtl8723au/include/rtw_cmd.h b/drivers/staging/rtl8723au/include/rtw_cmd.h index 7104410..204c10d 100644 --- a/drivers/staging/rtl8723au/include/rtw_cmd.h +++ b/drivers/staging/rtl8723au/include/rtw_cmd.h @@ -99,7 +99,6 @@ int rtw_init_cmd_priv23a(struct cmd_priv *pcmdpriv); u32 rtw_init_evt_priv23a (struct evt_priv *pevtpriv); void rtw_free_evt_priv23a (struct evt_priv *pevtpriv); -void rtw_cmd_clr_isr23a(struct cmd_priv *pcmdpriv); void rtw_evt_notify_isr(struct evt_priv *pevtpriv); enum rtw_drvextra_cmd_id @@ -713,7 +712,6 @@ int rtw_ps_cmd23a(struct rtw_adapter*padapter); int rtw_chk_hi_queue_cmd23a(struct rtw_adapter*padapter); #endif -int rtw_set_ch_cmd23a(struct rtw_adapter*padapter, u8 ch, u8 bw, u8 ch_offset, u8 enqueue); int rtw_set_chplan_cmd(struct rtw_adapter*padapter, u8 chplan, u8 enqueue); int rtw_led_blink_cmd(struct rtw_adapter*padapter, struct led_8723a *pLed); int rtw_set_csa_cmd(struct rtw_adapter*padapter, u8 new_ch_no); -- 1.7.10.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: wlan-ng: hfa384x_usb: fix sparse endianness warnings
Fixed the following warnings (reported by sparse): drivers/staging/wlan-ng/hfa384x_usb.c:3828:36: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3229:16: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3430:18: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3349:51: warning: restricted __le16 degrades to integer drivers/staging/wlan-ng/hfa384x_usb.c:3357:37: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3358:37: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3393:36: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3102:28: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:3004:28: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:1308:37: warning: cast to restricted __le16 drivers/staging/wlan-ng/hfa384x_usb.c:2713:25: warning: incorrect type in assignment (different base types) drivers/staging/wlan-ng/hfa384x_usb.c:2713:25:expected unsigned short [unsigned] [usertype] type drivers/staging/wlan-ng/hfa384x_usb.c:2713:25:got restricted __le16 [usertype] noident Signed-off-by: Asaf Vertz asaf.ve...@tandemg.com --- drivers/staging/wlan-ng/hfa384x.h |4 ++-- drivers/staging/wlan-ng/hfa384x_usb.c |2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/wlan-ng/hfa384x.h b/drivers/staging/wlan-ng/hfa384x.h index 20d146b..964a662 100644 --- a/drivers/staging/wlan-ng/hfa384x.h +++ b/drivers/staging/wlan-ng/hfa384x.h @@ -879,7 +879,7 @@ typedef struct hfa384x_usb_error { /* Unions for packaging all the known packet types together */ typedef union hfa384x_usbout { - u16 type; + __le16 type; hfa384x_usb_txfrm_t txfrm; hfa384x_usb_cmdreq_t cmdreq; hfa384x_usb_wridreq_t wridreq; @@ -889,7 +889,7 @@ typedef union hfa384x_usbout { } __packed hfa384x_usbout_t; typedef union hfa384x_usbin { - u16 type; + __le16 type; hfa384x_usb_rxfrm_t rxfrm; hfa384x_usb_txfrm_t txfrm; hfa384x_usb_infofrm_t infofrm; diff --git a/drivers/staging/wlan-ng/hfa384x_usb.c b/drivers/staging/wlan-ng/hfa384x_usb.c index 55d2f56..e84ebb9 100644 --- a/drivers/staging/wlan-ng/hfa384x_usb.c +++ b/drivers/staging/wlan-ng/hfa384x_usb.c @@ -3346,7 +3346,7 @@ retry: if (unlocked_usbctlx_cancel_async(hw, ctlx) == 0) run_queue = 1; } else { - const u16 intype = (usbin-type ~cpu_to_le16(0x8000)); + const __le16 intype = (usbin-type ~cpu_to_le16(0x8000)); /* * Check that our message is what we're expecting ... -- 1.7.0.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] MAINTAINERS: add Android driver entries
Put down me, Arve, and Riley as maintainers for the android drivers. Cc: Arve Hjønnevåg a...@android.com Cc: Riley Andrews riandr...@android.com Signed-off-by: Greg Kroah-Hartman gre...@linuxfoundation.org diff --git a/MAINTAINERS b/MAINTAINERS index 3589d67437f8..95fd5c66ba09 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -708,6 +708,16 @@ X: drivers/iio/*/adjd* F: drivers/staging/iio/*/ad* F: staging/iio/trigger/iio-trig-bfin-timer.c +ANDROID DRIVERS +M: Greg Kroah-Hartman gre...@linuxfoundation.org +M: Arve Hjønnevåg a...@android.com +M: Riley Andrews riandr...@android.com +T: git git://git.kernel.org/pub/scm/linux/kernel/gregkh/staging.git +L: de...@driverdev.osuosl.org +S: Supported +F: drivers/android/ +F: drivers/staging/android/ + AOA (Apple Onboard Audio) ALSA DRIVER M: Johannes Berg johan...@sipsolutions.net L: linuxppc-...@lists.ozlabs.org ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: speakup: Fix warning of line over 80 characters.
This patch fixes the checkpatch.pl warning: WARNING: line over 80 characters All line over 80 characters in driver/staging/speakup/* are fixed Signed-off-by: Shirish Gajera gajerashir...@gmail.com --- drivers/staging/speakup/main.c | 12 drivers/staging/speakup/serialio.h | 3 ++- drivers/staging/speakup/speakup.h| 6 -- drivers/staging/speakup/speakup_decext.c | 6 -- drivers/staging/speakup/speakup_decpc.c | 6 -- drivers/staging/speakup/spk_priv.h | 3 ++- drivers/staging/speakup/spk_types.h | 3 ++- drivers/staging/speakup/synth.c | 10 +- 8 files changed, 31 insertions(+), 18 deletions(-) diff --git a/drivers/staging/speakup/main.c b/drivers/staging/speakup/main.c index e9f0c15..141abb7 100644 --- a/drivers/staging/speakup/main.c +++ b/drivers/staging/speakup/main.c @@ -422,8 +422,10 @@ static void announce_edge(struct vc_data *vc, int msg_id) { if (spk_bleeps 1) bleep(spk_y); - if ((spk_bleeps 2) (msg_id edge_quiet)) - synth_printf(%s\n, spk_msg_get(MSG_EDGE_MSGS_START + msg_id - 1)); + if ((spk_bleeps 2) (msg_id edge_quiet)) { + synth_printf(%s\n, + spk_msg_get(MSG_EDGE_MSGS_START + msg_id - 1)); + } } static void speak_char(u_char ch) @@ -1131,7 +1133,8 @@ static void spkup_write(const char *in_buf, int count) if (in_count 2 rep_count 2) { if (last_type CH_RPT) { synth_printf( ); - synth_printf(spk_msg_get(MSG_REPEAT_DESC2), ++rep_count); + synth_printf(spk_msg_get(MSG_REPEAT_DESC2), +++rep_count); synth_printf( ); } rep_count = 0; @@ -1847,7 +1850,8 @@ static void speakup_win_set(struct vc_data *vc) win_right = spk_x; } snprintf(info, sizeof(info), spk_msg_get(MSG_WINDOW_BOUNDARY), -(win_start) ? spk_msg_get(MSG_END) : spk_msg_get(MSG_START), +(win_start) ? spk_msg_get(MSG_END) : + spk_msg_get(MSG_START), (int)spk_y + 1, (int)spk_x + 1); } synth_printf(%s\n, info); diff --git a/drivers/staging/speakup/serialio.h b/drivers/staging/speakup/serialio.h index 317bb84..6e54c3e 100644 --- a/drivers/staging/speakup/serialio.h +++ b/drivers/staging/speakup/serialio.h @@ -34,6 +34,7 @@ struct old_serial_port { #define SPK_TIMEOUT 100 #define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) -#define spk_serial_tx_busy() ((inb(speakup_info.port_tts + UART_LSR) BOTH_EMPTY) != BOTH_EMPTY) +#define spk_serial_tx_busy() \ +((inb(speakup_info.port_tts + UART_LSR) BOTH_EMPTY) != BOTH_EMPTY) #endif diff --git a/drivers/staging/speakup/speakup.h b/drivers/staging/speakup/speakup.h index 898dce5..d194ebb 100644 --- a/drivers/staging/speakup/speakup.h +++ b/drivers/staging/speakup/speakup.h @@ -61,10 +61,12 @@ extern struct st_var_header *spk_get_var_header(enum var_id_t var_id); extern struct st_var_header *spk_var_header_by_name(const char *name); extern struct punc_var_t *spk_get_punc_var(enum var_id_t var_id); extern int spk_set_num_var(int val, struct st_var_header *var, int how); -extern int spk_set_string_var(const char *page, struct st_var_header *var, int len); +extern int spk_set_string_var(const char *page, struct st_var_header *var, + int len); extern int spk_set_mask_bits(const char *input, const int which, const int how); extern special_func spk_special_handler; -extern int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, u_short key); +extern int spk_handle_help(struct vc_data *vc, u_char type, u_char ch, + u_short key); extern int synth_init(char *name); extern void synth_release(void); diff --git a/drivers/staging/speakup/speakup_decext.c b/drivers/staging/speakup/speakup_decext.c index 5550290..d86a579 100644 --- a/drivers/staging/speakup/speakup_decext.c +++ b/drivers/staging/speakup/speakup_decext.c @@ -207,10 +207,12 @@ static void do_catch_up(struct spk_synth *synth) if (time_after_eq(jiffies, jiff_max)) { if (!in_escape) spk_serial_out(PROCSPEECH); - spin_lock_irqsave(speakup_info.spinlock, flags); + spin_lock_irqsave(speakup_info.spinlock, + flags); jiffy_delta_val = jiffy_delta-u.n.value; delay_time_val = delay_time-u.n.value; - spin_unlock_irqrestore(speakup_info.spinlock, flags); + spin_unlock_irqrestore(speakup_info.spinlock, +
[PATCH] staging: unisys: rework signal remove/insert to avoid sparse lock warnings
Avoids the following warnings from sparse: visorchannel_funcs.c:457:9: warning: context imbalance in 'visorchannel_signalremove' - different lock contexts for basic block visorchannel_funcs.c:512:9: warning: context imbalance in 'visorchannel_signalinsert' - different lock contexts for basic These warnings are false positives. The rework follows the suggestion from: https://lkml.org/lkml/2013/10/17/398 Signed-off-by: Zachary Warren conflatule...@gmail.com --- Diff generated against next-20150116. This change is for Eudyptula Challenge Task 16 which requires making a Sparse fix somewhere in drivers/staging. There's lots of people doing this challenge so thanks for enduring the bombardment of small changes, apologies if the change is already submitted and for any other mistakes. .../unisys/visorchannel/visorchannel_funcs.c | 103 +++-- 1 file changed, 54 insertions(+), 49 deletions(-) diff --git a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c index 6c48ba1..0188ef8 100644 --- a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c +++ b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c @@ -411,27 +411,21 @@ safe_sig_queue_validate(struct signal_queue_header *psafe_sqh, return 1; } /* end safe_sig_queue_validate */ -BOOL -visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) +static BOOL +signalremove_inner(struct visorchannel *channel, u32 queue, void *msg) { - BOOL rc = FALSE; struct signal_queue_header sig_hdr; - if (channel-needs_lock) - spin_lock(channel-remove_lock); - if (!sig_read_header(channel, queue, sig_hdr)) { - rc = FALSE; - goto cleanup; - } - if (sig_hdr.head == sig_hdr.tail) { - rc = FALSE; /* no signals to remove */ - goto cleanup; + return FALSE; } + if (sig_hdr.head == sig_hdr.tail) + return FALSE; /* no signals to remove */ + sig_hdr.tail = (sig_hdr.tail + 1) % sig_hdr.max_slots; if (!sig_read_data(channel, queue, sig_hdr, sig_hdr.tail, msg)) { - ERRDRV(sig_read_data failed: (status=%d)\n, rc); - goto cleanup; + ERRDRV(sig_read_data failed\n); + return FALSE; } sig_hdr.num_received++; @@ -440,53 +434,54 @@ visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) */ mb(); /* required for channel synch */ if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, tail)) { - ERRDRV(visor_memregion_write of Tail failed: (status=%d)\n, - rc); - goto cleanup; + ERRDRV(visor_memregion_write of Tail failed\n); + return FALSE; } if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, num_received)) { - ERRDRV(visor_memregion_write of NumSignalsReceived failed: (status=%d)\n, - rc); - goto cleanup; + ERRDRV(visor_memregion_write of NumSignalsReceived failed\n); + return FALSE; } - rc = TRUE; -cleanup: - if (channel-needs_lock) + return TRUE; +} + +BOOL +visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) +{ + BOOL rc; + + if (channel-needs_lock) { + spin_lock(channel-remove_lock); + rc = signalremove_inner(channel, queue, msg); spin_unlock(channel-remove_lock); + } else { + rc = signalremove_inner(channel, queue, msg); + } return rc; } EXPORT_SYMBOL_GPL(visorchannel_signalremove); -BOOL -visorchannel_signalinsert(struct visorchannel *channel, u32 queue, void *msg) +static BOOL +signalinsert_inner(struct visorchannel *channel, u32 queue, void *msg) { - BOOL rc = FALSE; struct signal_queue_header sig_hdr; - if (channel-needs_lock) - spin_lock(channel-insert_lock); - if (!sig_read_header(channel, queue, sig_hdr)) { - rc = FALSE; - goto cleanup; + return FALSE; } sig_hdr.head = ((sig_hdr.head + 1) % sig_hdr.max_slots); if (sig_hdr.head == sig_hdr.tail) { sig_hdr.num_overflows++; - if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, num_overflows)) { - ERRDRV(visor_memregion_write of NumOverflows failed: (status=%d)\n, - rc); - goto cleanup; - } - rc = FALSE; - goto cleanup; + if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, num_overflows)) + ERRDRV(visor_memregion_write of NumOverflows failed\n); + + return FALSE; } if
Re: [PATCH] staging: unisys: rework signal remove/insert to avoid sparse lock warnings
On Sat, Jan 17, 2015 at 08:00:09PM +1100, Zachary Warren wrote: Avoids the following warnings from sparse: visorchannel_funcs.c:457:9: warning: context imbalance in 'visorchannel_signalremove' - different lock contexts for basic block visorchannel_funcs.c:512:9: warning: context imbalance in 'visorchannel_signalinsert' - different lock contexts for basic These warnings are false positives. The rework follows the suggestion from: https://lkml.org/lkml/2013/10/17/398 No one wants to follow a link to read the changelog. Just say explain like I made a new wrapper around the function that does the locking if needed and removed the locking from inside the function. Otherwise the patch looks good. Could you re-write the changelog and resend? regards, dan carpenter ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH v2] staging: unisys: rework signal remove/insert to avoid sparse lock warnings
Avoids the following warnings from sparse: visorchannel_funcs.c:457:9: warning: context imbalance in 'visorchannel_signalremove' - different lock contexts for basic block visorchannel_funcs.c:512:9: warning: context imbalance in 'visorchannel_signalinsert' - different lock contexts for basic These warnings are false positives. Sparse can't track conditional contexts. The change puts the lock/unlock into the same context by splitting the insert/remove functions each into a wrapper function that does locking if necessary and an inner function that does the insert/remove operation. Signed-off-by: Zachary Warren conflatule...@gmail.com --- Diff generated against next-20150116. Change from v1: - Replace the link in the changelog with words. .../unisys/visorchannel/visorchannel_funcs.c | 103 +++-- 1 file changed, 54 insertions(+), 49 deletions(-) diff --git a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c index 6c48ba1..0188ef8 100644 --- a/drivers/staging/unisys/visorchannel/visorchannel_funcs.c +++ b/drivers/staging/unisys/visorchannel/visorchannel_funcs.c @@ -411,27 +411,21 @@ safe_sig_queue_validate(struct signal_queue_header *psafe_sqh, return 1; } /* end safe_sig_queue_validate */ -BOOL -visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) +static BOOL +signalremove_inner(struct visorchannel *channel, u32 queue, void *msg) { - BOOL rc = FALSE; struct signal_queue_header sig_hdr; - if (channel-needs_lock) - spin_lock(channel-remove_lock); - if (!sig_read_header(channel, queue, sig_hdr)) { - rc = FALSE; - goto cleanup; - } - if (sig_hdr.head == sig_hdr.tail) { - rc = FALSE; /* no signals to remove */ - goto cleanup; + return FALSE; } + if (sig_hdr.head == sig_hdr.tail) + return FALSE; /* no signals to remove */ + sig_hdr.tail = (sig_hdr.tail + 1) % sig_hdr.max_slots; if (!sig_read_data(channel, queue, sig_hdr, sig_hdr.tail, msg)) { - ERRDRV(sig_read_data failed: (status=%d)\n, rc); - goto cleanup; + ERRDRV(sig_read_data failed\n); + return FALSE; } sig_hdr.num_received++; @@ -440,53 +434,54 @@ visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) */ mb(); /* required for channel synch */ if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, tail)) { - ERRDRV(visor_memregion_write of Tail failed: (status=%d)\n, - rc); - goto cleanup; + ERRDRV(visor_memregion_write of Tail failed\n); + return FALSE; } if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, num_received)) { - ERRDRV(visor_memregion_write of NumSignalsReceived failed: (status=%d)\n, - rc); - goto cleanup; + ERRDRV(visor_memregion_write of NumSignalsReceived failed\n); + return FALSE; } - rc = TRUE; -cleanup: - if (channel-needs_lock) + return TRUE; +} + +BOOL +visorchannel_signalremove(struct visorchannel *channel, u32 queue, void *msg) +{ + BOOL rc; + + if (channel-needs_lock) { + spin_lock(channel-remove_lock); + rc = signalremove_inner(channel, queue, msg); spin_unlock(channel-remove_lock); + } else { + rc = signalremove_inner(channel, queue, msg); + } return rc; } EXPORT_SYMBOL_GPL(visorchannel_signalremove); -BOOL -visorchannel_signalinsert(struct visorchannel *channel, u32 queue, void *msg) +static BOOL +signalinsert_inner(struct visorchannel *channel, u32 queue, void *msg) { - BOOL rc = FALSE; struct signal_queue_header sig_hdr; - if (channel-needs_lock) - spin_lock(channel-insert_lock); - if (!sig_read_header(channel, queue, sig_hdr)) { - rc = FALSE; - goto cleanup; + return FALSE; } sig_hdr.head = ((sig_hdr.head + 1) % sig_hdr.max_slots); if (sig_hdr.head == sig_hdr.tail) { sig_hdr.num_overflows++; - if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, num_overflows)) { - ERRDRV(visor_memregion_write of NumOverflows failed: (status=%d)\n, - rc); - goto cleanup; - } - rc = FALSE; - goto cleanup; + if (!SIG_WRITE_FIELD(channel, queue, sig_hdr, num_overflows)) + ERRDRV(visor_memregion_write of NumOverflows failed\n); + + return FALSE; } if (!sig_write_data(channel, queue, sig_hdr,
Re: [PATCH] staging: unisys: rework signal remove/insert to avoid sparse lock warnings
On 17/01/15 20:37, Dan Carpenter wrote: No one wants to follow a link to read the changelog. Just say explain like I made a new wrapper around the function that does the locking if needed and removed the locking from inside the function. Otherwise the patch looks good. Could you re-write the changelog and resend? Yes, it's resent. Thanks Zach ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: rtl8723au: fix space coding style issue in os_intfs.c
From: Peter peter.pok...@gmail.com This patch fixes the checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Peter Poklop peter.pok...@gmail.com --- drivers/staging/rtl8723au/os_dep/os_intfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/rtl8723au/os_dep/os_intfs.c b/drivers/staging/rtl8723au/os_dep/os_intfs.c index 9966d16..1b23eb1 100644 --- a/drivers/staging/rtl8723au/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723au/os_dep/os_intfs.c @@ -91,7 +91,7 @@ static int rtw_bt_iso = 2;/* 0:Low, 1:High, 2:From Efuse */ /* 0:Idle, 1:None-SCO, 2:SCO, 3:From Counter, 4.Busy, 5.OtherBusy */ static int rtw_bt_sco = 3; /* 0:Disable BT control A-MPDU, 1:Enable BT control A-MPDU. */ -static int rtw_bt_ampdu = 1 ; +static int rtw_bt_ampdu = 1; #endif /* 0:Reject AP's Add BA req, 1:Accept AP's Add BA req. */ -- 2.1.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] Staging: rtl8723au: fix space coding style issue in os_intfs.c
On Sat, Jan 17, 2015 at 03:52:45PM +0100, Peter Poklop wrote: From: Peter peter.pok...@gmail.com This name doesn't match up with: This patch fixes the checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Peter Poklop peter.pok...@gmail.com this name, why? Please fix up and resend. Or better yet, don't even include the first From: line, as it's not needed in this case, right? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: vt6655: srom.c: Remove some unused functions
2015-01-13 4:42 GMT+01:00 Greg Kroah-Hartman gre...@linuxfoundation.org: On Sun, Dec 21, 2014 at 07:03:03PM +0100, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: SROMbAutoLoad() SROMvReadSubSysVenId() SROMvWriteEtherAddress() SROMvWriteAllContents() SROMbIsRegBitsOff() SROMbIsRegBitsOn() SROMvRegBitsOff() SROMvRegBitsOn() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/vt6655/srom.c | 206 - drivers/staging/vt6655/srom.h | 11 --- 2 files changed, 217 deletions(-) This doesn't apply at all to my tree :( Hi Have now investigated this and these functions are now removed. However, all function names still in a comment part in the vt6655/srom.c file. Kind regards Rickard Strandqvist ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: vt6655: mib.c: Remove some unused functions
2015-01-13 4:43 GMT+01:00 Greg Kroah-Hartman gre...@linuxfoundation.org: On Thu, Jan 01, 2015 at 06:18:32PM +0100, Rickard Strandqvist wrote: Removes some functions that are not used anywhere: STAvClearAllCounter() STAvClear802_11Counter() STAvUpdateTDStatCounterEx() STAvUpdateRDStatCounterEx() This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/vt6655/mib.c | 113 -- drivers/staging/vt6655/mib.h | 14 -- 2 files changed, 127 deletions(-) Doesn't apply, what are you making these patches against? Hi Have now investigated this and these functions are now removed. Kind regards Rickard Strandqvist ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: vt6655: mac.c: Remove unused function
2015-01-13 4:34 GMT+01:00 Greg Kroah-Hartman gre...@linuxfoundation.org: On Sun, Dec 07, 2014 at 11:02:44PM +0100, Rickard Strandqvist wrote: Remove the function MACbCompareContext() that is not used anywhere. This was partially found by using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist rickard_strandqv...@spectrumdigital.se --- drivers/staging/vt6655/mac.c | 42 -- drivers/staging/vt6655/mac.h |1 - 2 files changed, 43 deletions(-) This doesn't apply to any tree that I can determine :( Hi Sorry, I have now investigated this and these function is now removed. Kind regards Rickard Strandqvist ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel