* RE: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
[not found] <5230cf49.xeAraX9UUfBD+Brs%fengguang.wu@intel.com>
@ 2013-09-13 12:59 ` Akhil Bhansali
2013-09-13 15:25 ` Jens Axboe
0 siblings, 1 reply; 11+ messages in thread
From: Akhil Bhansali @ 2013-09-13 12:59 UTC (permalink / raw)
To: kbuild test robot, OS Engineering
Cc: Ramprasad Chinthekindi, Jens Axboe, jmoyer@redhat.com,
linux-kernel@vger.kernel.org
This patch takes care of warnings related to
1. Implicit function declaration for readq / writeq.
2. Warnings related to -Wformat.
Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
--
diff -uprN -X linux-3.10.9/Documentation/dontdiff linux-3.10.9/drivers/block/skd_main.c linux-3.10.9.changes/drivers/block/skd_main.c
--- linux-3.10.9/drivers/block/skd_main.c 2013-09-13 18:14:19.505597630 +0530
+++ linux-3.10.9.changes/drivers/block/skd_main.c 2013-09-13 18:01:52.761561490 +0530
@@ -41,6 +49,7 @@
#include <linux/io.h>
#include <linux/uaccess.h>
#include <asm-generic/unaligned.h>
+#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include "skd_s1120.h"
@@ -4570,11 +4579,6 @@ static int skd_cons_skmsg(struct skd_dev
int rc = 0;
u32 i;
- VPRINTK(skdev, "skmsg_table kzalloc, struct %lu, count %u total %lu\n",
- sizeof(struct skd_fitmsg_context),
- skdev->num_fitmsg_context,
- sizeof(struct skd_fitmsg_context) * skdev->num_fitmsg_context);
-
skdev->skmsg_table = kzalloc(sizeof(struct skd_fitmsg_context)
*skdev->num_fitmsg_context, GFP_KERNEL);
if (skdev->skmsg_table == NULL) {
@@ -4601,6 +4605,7 @@ static int skd_cons_skmsg(struct skd_dev
skmsg->offset = (u32)((u64)skmsg->msg_buf &
(~FIT_QCMD_BASE_ADDRESS_MASK));
+
skmsg->msg_buf += ~FIT_QCMD_BASE_ADDRESS_MASK;
skmsg->msg_buf = (u8 *)((u64)skmsg->msg_buf &
FIT_QCMD_BASE_ADDRESS_MASK);
@@ -4624,11 +4629,6 @@ static int skd_cons_skreq(struct skd_dev
int rc = 0;
u32 i;
- VPRINTK(skdev, "skreq_table kzalloc, struct %lu, count %u total %lu\n",
- sizeof(struct skd_request_context),
- skdev->num_req_context,
- sizeof(struct skd_request_context) * skdev->num_req_context);
-
skdev->skreq_table = kzalloc(sizeof(struct skd_request_context)
* skdev->num_req_context, GFP_KERNEL);
if (skdev->skreq_table == NULL) {
@@ -4636,10 +4636,6 @@ static int skd_cons_skreq(struct skd_dev
goto err_out;
}
- VPRINTK(skdev, "alloc sg_table sg_per_req %u scatlist %lu total %lu\n",
- skdev->sgs_per_request, sizeof(struct scatterlist),
- skdev->sgs_per_request * sizeof(struct scatterlist));
-
for (i = 0; i < skdev->num_req_context; i++) {
struct skd_request_context *skreq;
@@ -4681,11 +4677,6 @@ static int skd_cons_skspcl(struct skd_de
int rc = 0;
u32 i, nbytes;
- VPRINTK(skdev, "skspcl_table kzalloc, struct %lu, count %u total %lu\n",
- sizeof(struct skd_special_context),
- skdev->n_special,
- sizeof(struct skd_special_context) * skdev->n_special);
-
skdev->skspcl_table = kzalloc(sizeof(struct skd_special_context)
* skdev->n_special, GFP_KERNEL);
if (skdev->skspcl_table == NULL) {
Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
________________________________________
From: kbuild test robot [fengguang.wu@intel.com]
Sent: Thursday, September 12, 2013 1:45 AM
To: Akhil Bhansali
Cc: Ramprasad Chinthekindi; Jens Axboe; kbuild-all@01.org
Subject: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
tree: git://git.kernel.dk/linux-block.git for-next
head: b497e021a24be0eeb3c1a4ad9b2a04275ab5edc0
commit: 09d54e6cf164a524a7d03703acff80974cb4f632 [5/6] Patch for pcie device driver from sTec Inc.
config: make ARCH=i386 allyesconfig
All error/warnings:
drivers/block/skd_main.c: In function 'skd_reg_read64':
>> drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq' [-Werror=implicit-function-declaration]
return readq(skdev->mem_map[1] + offset);
^
drivers/block/skd_main.c: In function 'skd_reg_write64':
>> drivers/block/skd_main.c:455:3: error: implicit declaration of function 'writeq' [-Werror=implicit-function-declaration]
writeq(val, skdev->mem_map[1] + offset);
^
In file included from include/linux/kernel.h:13:0,
from drivers/block/skd_main.c:19:
drivers/block/skd_main.c: In function 'skd_cons_skmsg':
>> drivers/block/skd_main.c:4584:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Wformat=]
sizeof(struct skd_fitmsg_context) * skdev->num_fitmsg_context);
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4581:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "skmsg_table kzalloc, struct %lu, count %u total %lu\n",
^
>> drivers/block/skd_main.c:4584:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'unsigned int' [-Wformat=]
sizeof(struct skd_fitmsg_context) * skdev->num_fitmsg_context);
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4581:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "skmsg_table kzalloc, struct %lu, count %u total %lu\n",
^
>> drivers/block/skd_main.c:4610:25: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
skmsg->offset = (u32)((u64)skmsg->msg_buf &
^
>> drivers/block/skd_main.c:4613:27: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
skmsg->msg_buf = (u8 *)((u64)skmsg->msg_buf &
^
>> drivers/block/skd_main.c:4613:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
skmsg->msg_buf = (u8 *)((u64)skmsg->msg_buf &
^
In file included from include/linux/kernel.h:13:0,
from drivers/block/skd_main.c:19:
drivers/block/skd_main.c: In function 'skd_cons_skreq':
>> drivers/block/skd_main.c:4638:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Wformat=]
sizeof(struct skd_request_context) * skdev->num_req_context);
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4635:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "skreq_table kzalloc, struct %lu, count %u total %lu\n",
^
>> drivers/block/skd_main.c:4638:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'unsigned int' [-Wformat=]
sizeof(struct skd_request_context) * skdev->num_req_context);
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4635:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "skreq_table kzalloc, struct %lu, count %u total %lu\n",
^
>> drivers/block/skd_main.c:4649:42: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'unsigned int' [-Wformat=]
skdev->sgs_per_request * sizeof(struct scatterlist));
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4647:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "alloc sg_table sg_per_req %u scatlist %lu total %lu\n",
^
>> drivers/block/skd_main.c:4649:42: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'unsigned int' [-Wformat=]
skdev->sgs_per_request * sizeof(struct scatterlist));
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4647:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "alloc sg_table sg_per_req %u scatlist %lu total %lu\n",
^
drivers/block/skd_main.c: In function 'skd_cons_skspcl':
>> drivers/block/skd_main.c:4695:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'unsigned int' [-Wformat=]
sizeof(struct skd_special_context) * skdev->n_special);
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4692:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "skspcl_table kzalloc, struct %lu, count %u total %lu\n",
^
>> drivers/block/skd_main.c:4695:17: warning: format '%lu' expects argument of type 'long unsigned int', but argument 7 has type 'unsigned int' [-Wformat=]
sizeof(struct skd_special_context) * skdev->n_special);
^
include/linux/printk.h:216:33: note: in definition of macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
^
drivers/block/skd_main.c:4692:2: note: in expansion of macro 'VPRINTK'
VPRINTK(skdev, "skspcl_table kzalloc, struct %lu, count %u total %lu\n",
^
cc1: some warnings being treated as errors
vim +/readq +441 drivers/block/skd_main.c
435
436 static inline u64 skd_reg_read64(struct skd_device *skdev, u32 offset)
437 {
438 u64 val;
439
440 if (likely(skdev->dbg_level < 2))
> 441 return readq(skdev->mem_map[1] + offset);
442 else {
443 barrier();
444 val = readq(skdev->mem_map[1] + offset);
445 barrier();
446 VPRINTK(skdev, "offset %x = %016llx\n", offset, val);
447 return val;
448 }
449 }
450
451 static inline void skd_reg_write64(struct skd_device *skdev, u64 val,
452 u32 offset)
453 {
454 if (likely(skdev->dbg_level < 2)) {
455 writeq(val, skdev->mem_map[1] + offset);
456 barrier();
457 readq(skdev->mem_map[1] + offset);
458 barrier();
---
0-DAY kernel build testing backend Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation
PROPRIETARY-CONFIDENTIAL INFORMATION INCLUDED
This electronic transmission, and any documents attached hereto, may contain confidential, proprietary and/or legally privileged information. The information is intended only for use by the recipient named above. If you received this electronic message in error, please notify the sender and delete the electronic message. Any disclosure, copying, distribution, or use of the contents of information received in error is strictly prohibited, and violators will be pursued legally.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-13 12:59 ` [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq' Akhil Bhansali
@ 2013-09-13 15:25 ` Jens Axboe
2013-09-18 10:05 ` Akhil Bhansali
0 siblings, 1 reply; 11+ messages in thread
From: Jens Axboe @ 2013-09-13 15:25 UTC (permalink / raw)
To: Akhil Bhansali
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org
On 09/13/2013 06:59 AM, Akhil Bhansali wrote:
> This patch takes care of warnings related to
> 1. Implicit function declaration for readq / writeq.
> 2. Warnings related to -Wformat.
Please do it on top of what was already fixed up. The readq, for
instance, is not even used in the driver.
--
Jens Axboe
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-13 15:25 ` Jens Axboe
@ 2013-09-18 10:05 ` Akhil Bhansali
2013-09-18 14:36 ` Jens Axboe
2013-09-18 19:24 ` Olof Johansson
0 siblings, 2 replies; 11+ messages in thread
From: Akhil Bhansali @ 2013-09-18 10:05 UTC (permalink / raw)
To: Jens Axboe
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar
Hi Jens,
Please accept this patch that takes care of warnings related to i386 compilation.
1. Implicit function declaration of readq and writeq.
2. Format related warnings for VPRINTK.
----
>From f9964257c83f224c120ecb1e5a7b25e1807efea8 Mon Sep 17 00:00:00 2001
From: Akhil Bhansali <bhansaliakhil@gmail.com>
Date: Wed, 18 Sep 2013 15:28:39 +0530
Subject: [PATCH] block: skd: Changes to fix warnings during i386 compilation.
1. This commit addresses warnings related to
readq, writeq implicit function declaration.
2. Warnings related to mismatched format.
Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
---
drivers/block/skd_main.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c
index 773e793..0f25830 100644
--- a/drivers/block/skd_main.c
+++ b/drivers/block/skd_main.c
@@ -49,6 +49,7 @@
#include <linux/io.h>
#include <linux/uaccess.h>
#include <asm-generic/unaligned.h>
+#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include "skd_s1120.h"
@@ -4557,7 +4558,7 @@ static int skd_cons_skmsg(struct skd_device *skdev)
u32 i;
VPRINTK(skdev, "skmsg_table kzalloc, struct %lu, count %u total %lu\n",
- sizeof(struct skd_fitmsg_context),
+ (unsigned long) sizeof(struct skd_fitmsg_context),
skdev->num_fitmsg_context,
(unsigned long) sizeof(struct skd_fitmsg_context) *
skdev->num_fitmsg_context);
@@ -4612,9 +4613,10 @@ static int skd_cons_skreq(struct skd_device *skdev)
u32 i;
VPRINTK(skdev, "skreq_table kzalloc, struct %lu, count %u total %lu\n",
- sizeof(struct skd_request_context),
+ (unsigned long) sizeof(struct skd_request_context),
skdev->num_req_context,
- sizeof(struct skd_request_context) * skdev->num_req_context);
+ (unsigned long) sizeof(struct skd_request_context) *
+ skdev->num_req_context);
skdev->skreq_table = kzalloc(sizeof(struct skd_request_context)
* skdev->num_req_context, GFP_KERNEL);
@@ -4624,8 +4626,10 @@ static int skd_cons_skreq(struct skd_device *skdev)
}
VPRINTK(skdev, "alloc sg_table sg_per_req %u scatlist %lu total %lu\n",
- skdev->sgs_per_request, sizeof(struct scatterlist),
- skdev->sgs_per_request * sizeof(struct scatterlist));
+ skdev->sgs_per_request,
+ (unsigned long) sizeof(struct scatterlist),
+ (unsigned long)(skdev->sgs_per_request *
+ sizeof(struct scatterlist)));
for (i = 0; i < skdev->num_req_context; i++) {
struct skd_request_context *skreq;
@@ -4669,9 +4673,10 @@ static int skd_cons_skspcl(struct skd_device *skdev)
u32 i, nbytes;
VPRINTK(skdev, "skspcl_table kzalloc, struct %lu, count %u total %lu\n",
- sizeof(struct skd_special_context),
+ (unsigned long) sizeof(struct skd_special_context),
skdev->n_special,
- sizeof(struct skd_special_context) * skdev->n_special);
+ (unsigned long) sizeof(struct skd_special_context) *
+ skdev->n_special);
skdev->skspcl_table = kzalloc(sizeof(struct skd_special_context)
* skdev->n_special, GFP_KERNEL);
--
1.7.9.5
___________________ _____________________
From: Jens Axboe [axboe@kernel.dk]
Sent: Friday, September 13, 2013 8:55 PM
To: Akhil Bhansali
Cc: kbuild test robot; OS Engineering; Ramprasad Chinthekindi; jmoyer@redhat.com; linux-kernel@vger.kernel.org
Subject: Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
On 09/13/2013 06:59 AM, Akhil Bhansali wrote:
> This patch takes care of warnings related to
> 1. Implicit function declaration for readq / writeq.
> 2. Warnings related to -Wformat.
Please do it on top of what was already fixed up. The readq, for
instance, is not even used in the driver.
--
Jens Axboe
PROPRIETARY-CONFIDENTIAL INFORMATION INCLUDED
This electronic transmission, and any documents attached hereto, may contain confidential, proprietary and/or legally privileged information. The information is intended only for use by the recipient named above. If you received this electronic message in error, please notify the sender and delete the electronic message. Any disclosure, copying, distribution, or use of the contents of information received in error is strictly prohibited, and violators will be pursued legally.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-18 10:05 ` Akhil Bhansali
@ 2013-09-18 14:36 ` Jens Axboe
2013-09-19 12:09 ` Akhil Bhansali
2013-09-18 19:24 ` Olof Johansson
1 sibling, 1 reply; 11+ messages in thread
From: Jens Axboe @ 2013-09-18 14:36 UTC (permalink / raw)
To: Akhil Bhansali
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar
On Wed, Sep 18 2013, Akhil Bhansali wrote:
> Hi Jens,
>
> Please accept this patch that takes care of warnings related to i386 compilation.
> 1. Implicit function declaration of readq and writeq.
> 2. Format related warnings for VPRINTK.
You should get rid of the VPRINTK() as well, we do have debug facilities
in place you can use for printing.
And as mentioned a week or so ago, readq() isn't even used.
--
Jens Axboe
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-18 10:05 ` Akhil Bhansali
2013-09-18 14:36 ` Jens Axboe
@ 2013-09-18 19:24 ` Olof Johansson
1 sibling, 0 replies; 11+ messages in thread
From: Olof Johansson @ 2013-09-18 19:24 UTC (permalink / raw)
To: Akhil Bhansali
Cc: Jens Axboe, kbuild test robot, OS Engineering,
Ramprasad Chinthekindi, jmoyer@redhat.com,
linux-kernel@vger.kernel.org, Amit Phansalkar
On Wed, Sep 18, 2013 at 3:05 AM, Akhil Bhansali
<AkhilAshok.Bhansali@hgst.com> wrote:
> Hi Jens,
>
> Please accept this patch that takes care of warnings related to i386 compilation.
> 1. Implicit function declaration of readq and writeq.
> 2. Format related warnings for VPRINTK.
> ----
> From f9964257c83f224c120ecb1e5a7b25e1807efea8 Mon Sep 17 00:00:00 2001
> From: Akhil Bhansali <bhansaliakhil@gmail.com>
> Date: Wed, 18 Sep 2013 15:28:39 +0530
> Subject: [PATCH] block: skd: Changes to fix warnings during i386 compilation.
>
> 1. This commit addresses warnings related to
> readq, writeq implicit function declaration.
> 2. Warnings related to mismatched format.
> Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
> ---
> drivers/block/skd_main.c | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c
> index 773e793..0f25830 100644
> --- a/drivers/block/skd_main.c
> +++ b/drivers/block/skd_main.c
> @@ -49,6 +49,7 @@
> #include <linux/io.h>
> #include <linux/uaccess.h>
> #include <asm-generic/unaligned.h>
> +#include <asm-generic/io-64-nonatomic-lo-hi.h>
>
> #include "skd_s1120.h"
>
> @@ -4557,7 +4558,7 @@ static int skd_cons_skmsg(struct skd_device *skdev)
> u32 i;
>
> VPRINTK(skdev, "skmsg_table kzalloc, struct %lu, count %u total %lu\n",
> - sizeof(struct skd_fitmsg_context),
> + (unsigned long) sizeof(struct skd_fitmsg_context),
Just change the format string instead, then you don't have to cast
like this everywhere.
-Olof
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-18 14:36 ` Jens Axboe
@ 2013-09-19 12:09 ` Akhil Bhansali
2013-09-23 11:59 ` Akhil Bhansali
0 siblings, 1 reply; 11+ messages in thread
From: Akhil Bhansali @ 2013-09-19 12:09 UTC (permalink / raw)
To: Jens Axboe
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar
Hi Jens,
Here is patch which takes care of removal of unused readq / readl function. I shall get rid of many VPRINTKs in the code in the subsequent patches.
I have prepared this patch on top of earlier patch I had sent out. Please let me know if you have any comments.
Thank you.
--------------
>From 0c175433db8079e93890ebfcd736fa8756aa88af Mon Sep 17 00:00:00 2001
From: Akhil Bhansali <bhansaliakhil@gmail.com>
Date: Thu, 19 Sep 2013 17:28:18 +0530
Subject: [PATCH] block: skd: Changes to remove unused readq / readl function
calls.
These changes are to remove readq functions which is not used.
Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
---
drivers/block/skd_main.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c
index 0f25830..4c03b08 100644
--- a/drivers/block/skd_main.c
+++ b/drivers/block/skd_main.c
@@ -421,14 +421,10 @@ static inline void skd_reg_write32(struct skd_device *skdev, u32 val,
if (likely(skdev->dbg_level < 2)) {
writel(val, skdev->mem_map[1] + offset);
barrier();
- readl(skdev->mem_map[1] + offset);
- barrier();
} else {
barrier();
writel(val, skdev->mem_map[1] + offset);
barrier();
- readl(skdev->mem_map[1] + offset);
- barrier();
VPRINTK(skdev, "offset %x = %x\n", offset, val);
}
}
@@ -439,14 +435,10 @@ static inline void skd_reg_write64(struct skd_device *skdev, u64 val,
if (likely(skdev->dbg_level < 2)) {
writeq(val, skdev->mem_map[1] + offset);
barrier();
- readq(skdev->mem_map[1] + offset);
- barrier();
} else {
barrier();
writeq(val, skdev->mem_map[1] + offset);
barrier();
- readq(skdev->mem_map[1] + offset);
- barrier();
VPRINTK(skdev, "offset %x = %016llx\n", offset, val);
}
}
--
________________________________________
From: Jens Axboe [axboe@kernel.dk]
Sent: Wednesday, September 18, 2013 8:06 PM
To: Akhil Bhansali
Cc: kbuild test robot; OS Engineering; Ramprasad Chinthekindi; jmoyer@redhat.com; linux-kernel@vger.kernel.org; Amit Phansalkar
Subject: Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
On Wed, Sep 18 2013, Akhil Bhansali wrote:
> Hi Jens,
>
> Please accept this patch that takes care of warnings related to i386 compilation.
> 1. Implicit function declaration of readq and writeq.
> 2. Format related warnings for VPRINTK.
You should get rid of the VPRINTK() as well, we do have debug facilities
in place you can use for printing.
And as mentioned a week or so ago, readq() isn't even used.
--
Jens Axboe
PROPRIETARY-CONFIDENTIAL INFORMATION INCLUDED
This electronic transmission, and any documents attached hereto, may contain confidential, proprietary and/or legally privileged information. The information is intended only for use by the recipient named above. If you received this electronic message in error, please notify the sender and delete the electronic message. Any disclosure, copying, distribution, or use of the contents of information received in error is strictly prohibited, and violators will be pursued legally.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* RE: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-19 12:09 ` Akhil Bhansali
@ 2013-09-23 11:59 ` Akhil Bhansali
2013-09-23 14:20 ` Jens Axboe
0 siblings, 1 reply; 11+ messages in thread
From: Akhil Bhansali @ 2013-09-23 11:59 UTC (permalink / raw)
To: Jens Axboe
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar,
Andrew Morton
Hello Jens,
I am sending a patch created on top of "Andrew's latest changes" to disable the 32 bit compilation of kronos driver.
The patch takes care of following.
1. checkpatch.pl was showing 3 errors for assignment in if condition, I have got rid of that.
2. removal of readq / readl functions which are not used in the code.
3. warnings related to VPRINTKs for 64 bit compilation after latest fix from Andrew.
--------------------------
I have tested the patch with checkpatch.pl. Here is the current output of the script.
total: 0 errors, 61 warnings, 5826 lines checked
--------------------------
I have compiled the changes for x86_64 architecture and there are no outstanding warnings.
Please let us know if you see any review comments. Thank you.
------
>From 16f5b92dbc98c914831a64b58927dfc4c5c1fd39 Mon Sep 17 00:00:00 2001
From: Akhil Bhansali <bhansaliakhil@gmail.com>
Date: Mon, 23 Sep 2013 15:59:51 +0530
Subject: [PATCH] Fix checkpatch ERRORS and removed unused functions.
This patch fixes checkpatch.pl errors for assignment in if condition.
It also removes unused readq / readl function calls.
As Andrew had disabled the compilation of drivers for 32 bit,
I have modified format specifiers in few VPRINTKs to avoid warnings
during 64 bit compilation.
Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
Reviewed-by: Ramprasad Chinthekindi <rchinthekindi@stec-inc.com>
---
drivers/block/skd_main.c | 53 +++++++++++++++++++++++++++-------------------
1 file changed, 31 insertions(+), 22 deletions(-)
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c
index 3110f68..308bf47 100644
--- a/drivers/block/skd_main.c
+++ b/drivers/block/skd_main.c
@@ -420,14 +420,10 @@ static inline void skd_reg_write32(struct skd_device *skdev, u32 val,
if (likely(skdev->dbg_level < 2)) {
writel(val, skdev->mem_map[1] + offset);
barrier();
- readl(skdev->mem_map[1] + offset);
- barrier();
} else {
barrier();
writel(val, skdev->mem_map[1] + offset);
barrier();
- readl(skdev->mem_map[1] + offset);
- barrier();
VPRINTK(skdev, "offset %x = %x\n", offset, val);
}
}
@@ -438,14 +434,10 @@ static inline void skd_reg_write64(struct skd_device *skdev, u64 val,
if (likely(skdev->dbg_level < 2)) {
writeq(val, skdev->mem_map[1] + offset);
barrier();
- readq(skdev->mem_map[1] + offset);
- barrier();
} else {
barrier();
writeq(val, skdev->mem_map[1] + offset);
barrier();
- readq(skdev->mem_map[1] + offset);
- barrier();
VPRINTK(skdev, "offset %x = %016llx\n", offset, val);
}
}
@@ -1656,18 +1648,36 @@ static int skd_ioctl_sg_io(struct skd_device *skdev, fmode_t mode,
goto out;
}
- if ((rc = skd_sg_io_get_and_check_args(skdev, &sksgio)) ||
- (rc = skd_sg_io_obtain_skspcl(skdev, &sksgio)) ||
- (rc = skd_sg_io_prep_buffering(skdev, &sksgio)) ||
- (rc = skd_sg_io_copy_buffer(skdev, &sksgio, SG_DXFER_TO_DEV)))
+ rc = skd_sg_io_get_and_check_args(skdev, &sksgio);
+ if (rc)
+ goto out;
+
+ rc = skd_sg_io_obtain_skspcl(skdev, &sksgio);
+ if (rc)
+ goto out;
+
+ rc = skd_sg_io_prep_buffering(skdev, &sksgio);
+ if (rc)
+ goto out;
+
+ rc = skd_sg_io_copy_buffer(skdev, &sksgio, SG_DXFER_TO_DEV);
+ if (rc)
goto out;
- if ((rc = skd_sg_io_send_fitmsg(skdev, &sksgio)) ||
- (rc = skd_sg_io_await(skdev, &sksgio)))
+ rc = skd_sg_io_send_fitmsg(skdev, &sksgio);
+ if (rc)
goto out;
- if ((rc = skd_sg_io_copy_buffer(skdev, &sksgio, SG_DXFER_FROM_DEV)) ||
- (rc = skd_sg_io_put_status(skdev, &sksgio)))
+ rc = skd_sg_io_await(skdev, &sksgio);
+ if (rc)
+ goto out;
+
+ rc = skd_sg_io_copy_buffer(skdev, &sksgio, SG_DXFER_FROM_DEV);
+ if (rc)
+ goto out;
+
+ rc = skd_sg_io_put_status(skdev, &sksgio);
+ if (rc)
goto out;
rc = 0;
@@ -4556,11 +4566,10 @@ static int skd_cons_skmsg(struct skd_device *skdev)
int rc = 0;
u32 i;
- VPRINTK(skdev, "skmsg_table kzalloc, struct %u, count %u total %lu\n",
+ VPRINTK(skdev, "skmsg_table kzalloc, struct %lu, count %u total %lu\n",
sizeof(struct skd_fitmsg_context),
skdev->num_fitmsg_context,
- (unsigned long) sizeof(struct skd_fitmsg_context) *
- skdev->num_fitmsg_context);
+ sizeof(struct skd_fitmsg_context) * skdev->num_fitmsg_context);
skdev->skmsg_table = kzalloc(sizeof(struct skd_fitmsg_context)
*skdev->num_fitmsg_context, GFP_KERNEL);
@@ -4611,7 +4620,7 @@ static int skd_cons_skreq(struct skd_device *skdev)
int rc = 0;
u32 i;
- VPRINTK(skdev, "skreq_table kzalloc, struct %u, count %u total %u\n",
+ VPRINTK(skdev, "skreq_table kzalloc, struct %lu, count %u total %lu\n",
sizeof(struct skd_request_context),
skdev->num_req_context,
sizeof(struct skd_request_context) * skdev->num_req_context);
@@ -4623,7 +4632,7 @@ static int skd_cons_skreq(struct skd_device *skdev)
goto err_out;
}
- VPRINTK(skdev, "alloc sg_table sg_per_req %u scatlist %u total %u\n",
+ VPRINTK(skdev, "alloc sg_table sg_per_req %u scatlist %lu total %lu\n",
skdev->sgs_per_request, sizeof(struct scatterlist),
skdev->sgs_per_request * sizeof(struct scatterlist));
@@ -4668,7 +4677,7 @@ static int skd_cons_skspcl(struct skd_device *skdev)
int rc = 0;
u32 i, nbytes;
- VPRINTK(skdev, "skspcl_table kzalloc, struct %u, count %u total %u\n",
+ VPRINTK(skdev, "skspcl_table kzalloc, struct %lu, count %u total %lu\n",
sizeof(struct skd_special_context),
skdev->n_special,
sizeof(struct skd_special_context) * skdev->n_special);
--
1.7.9.5
________________________________________
From: Akhil Bhansali
Sent: Thursday, September 19, 2013 5:39 PM
To: Jens Axboe
Cc: kbuild test robot; OS Engineering; Ramprasad Chinthekindi; jmoyer@redhat.com; linux-kernel@vger.kernel.org; Amit Phansalkar
Subject: RE: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
Hi Jens,
Here is patch which takes care of removal of unused readq / readl function. I shall get rid of many VPRINTKs in the code in the subsequent patches.
I have prepared this patch on top of earlier patch I had sent out. Please let me know if you have any comments.
Thank you.
--------------
>From 0c175433db8079e93890ebfcd736fa8756aa88af Mon Sep 17 00:00:00 2001
From: Akhil Bhansali <bhansaliakhil@gmail.com>
Date: Thu, 19 Sep 2013 17:28:18 +0530
Subject: [PATCH] block: skd: Changes to remove unused readq / readl function
calls.
These changes are to remove readq functions which is not used.
Signed-off-by: Akhil Bhansali <abhansali@stec-inc.com>
---
drivers/block/skd_main.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/block/skd_main.c b/drivers/block/skd_main.c
index 0f25830..4c03b08 100644
--- a/drivers/block/skd_main.c
+++ b/drivers/block/skd_main.c
@@ -421,14 +421,10 @@ static inline void skd_reg_write32(struct skd_device *skdev, u32 val,
if (likely(skdev->dbg_level < 2)) {
writel(val, skdev->mem_map[1] + offset);
barrier();
- readl(skdev->mem_map[1] + offset);
- barrier();
} else {
barrier();
writel(val, skdev->mem_map[1] + offset);
barrier();
- readl(skdev->mem_map[1] + offset);
- barrier();
VPRINTK(skdev, "offset %x = %x\n", offset, val);
}
}
@@ -439,14 +435,10 @@ static inline void skd_reg_write64(struct skd_device *skdev, u64 val,
if (likely(skdev->dbg_level < 2)) {
writeq(val, skdev->mem_map[1] + offset);
barrier();
- readq(skdev->mem_map[1] + offset);
- barrier();
} else {
barrier();
writeq(val, skdev->mem_map[1] + offset);
barrier();
- readq(skdev->mem_map[1] + offset);
- barrier();
VPRINTK(skdev, "offset %x = %016llx\n", offset, val);
}
}
--
________________________________________
From: Jens Axboe [axboe@kernel.dk]
Sent: Wednesday, September 18, 2013 8:06 PM
To: Akhil Bhansali
Cc: kbuild test robot; OS Engineering; Ramprasad Chinthekindi; jmoyer@redhat.com; linux-kernel@vger.kernel.org; Amit Phansalkar
Subject: Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
On Wed, Sep 18 2013, Akhil Bhansali wrote:
> Hi Jens,
>
> Please accept this patch that takes care of warnings related to i386 compilation.
> 1. Implicit function declaration of readq and writeq.
> 2. Format related warnings for VPRINTK.
You should get rid of the VPRINTK() as well, we do have debug facilities
in place you can use for printing.
And as mentioned a week or so ago, readq() isn't even used.
--
Jens Axboe
PROPRIETARY-CONFIDENTIAL INFORMATION INCLUDED
This electronic transmission, and any documents attached hereto, may contain confidential, proprietary and/or legally privileged information. The information is intended only for use by the recipient named above. If you received this electronic message in error, please notify the sender and delete the electronic message. Any disclosure, copying, distribution, or use of the contents of information received in error is strictly prohibited, and violators will be pursued legally.
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-23 11:59 ` Akhil Bhansali
@ 2013-09-23 14:20 ` Jens Axboe
2013-09-27 11:26 ` Akhil Bhansali
0 siblings, 1 reply; 11+ messages in thread
From: Jens Axboe @ 2013-09-23 14:20 UTC (permalink / raw)
To: Akhil Bhansali
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar,
Andrew Morton
On 09/23/2013 05:59 AM, Akhil Bhansali wrote:
> Hello Jens,
>
> I am sending a patch created on top of "Andrew's latest changes" to disable the 32 bit compilation of kronos driver.
>
> The patch takes care of following.
> 1. checkpatch.pl was showing 3 errors for assignment in if condition, I have got rid of that.
> 2. removal of readq / readl functions which are not used in the code.
> 3. warnings related to VPRINTKs for 64 bit compilation after latest fix from Andrew.
Thanks, things are improving. I will apply it.
--
Jens Axboe
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-23 14:20 ` Jens Axboe
@ 2013-09-27 11:26 ` Akhil Bhansali
2013-09-27 18:12 ` Jens Axboe
0 siblings, 1 reply; 11+ messages in thread
From: Akhil Bhansali @ 2013-09-27 11:26 UTC (permalink / raw)
To: Jens Axboe
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar,
Andrew Morton
Hello Jens,
There are few improvements suggested by community for driver:
1. Replacement of custom macros for debug printing. (DPRINTK / VPRINTK).
2. Reformatting of "skd_request_fn" which is too long.
Kindly let us know if you see any other changes required before it can be moved to mainline kernel.
Thank you.
Regards,
Akhil
________________________________________
From: Jens Axboe [axboe@kernel.dk]
Sent: Monday, September 23, 2013 7:50 PM
To: Akhil Bhansali
Cc: kbuild test robot; OS Engineering; Ramprasad Chinthekindi; jmoyer@redhat.com; linux-kernel@vger.kernel.org; Amit Phansalkar; Andrew Morton
Subject: Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
On 09/23/2013 05:59 AM, Akhil Bhansali wrote:
> Hello Jens,
>
> I am sending a patch created on top of "Andrew's latest changes" to disable the 32 bit compilation of kronos driver.
>
> The patch takes care of following.
> 1. checkpatch.pl was showing 3 errors for assignment in if condition, I have got rid of that.
> 2. removal of readq / readl functions which are not used in the code.
> 3. warnings related to VPRINTKs for 64 bit compilation after latest fix from Andrew.
Thanks, things are improving. I will apply it.
--
Jens Axboe
PROPRIETARY-CONFIDENTIAL INFORMATION INCLUDED
This electronic transmission, and any documents attached hereto, may contain confidential, proprietary and/or legally privileged information. The information is intended only for use by the recipient named above. If you received this electronic message in error, please notify the sender and delete the electronic message. Any disclosure, copying, distribution, or use of the contents of information received in error is strictly prohibited, and violators will be pursued legally.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-27 11:26 ` Akhil Bhansali
@ 2013-09-27 18:12 ` Jens Axboe
2013-09-28 2:47 ` Jens Axboe
0 siblings, 1 reply; 11+ messages in thread
From: Jens Axboe @ 2013-09-27 18:12 UTC (permalink / raw)
To: Akhil Bhansali
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar,
Andrew Morton
On 09/27/2013 05:26 AM, Akhil Bhansali wrote:
> Hello Jens,
>
> There are few improvements suggested by community for driver:
> 1. Replacement of custom macros for debug printing. (DPRINTK / VPRINTK).
> 2. Reformatting of "skd_request_fn" which is too long.
>
> Kindly let us know if you see any other changes required before it can be moved to mainline kernel.
Did you forget to attach the patch?
--
Jens Axboe
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq'
2013-09-27 18:12 ` Jens Axboe
@ 2013-09-28 2:47 ` Jens Axboe
0 siblings, 0 replies; 11+ messages in thread
From: Jens Axboe @ 2013-09-28 2:47 UTC (permalink / raw)
To: Akhil Bhansali
Cc: kbuild test robot, OS Engineering, Ramprasad Chinthekindi,
jmoyer@redhat.com, linux-kernel@vger.kernel.org, Amit Phansalkar,
Andrew Morton
On Fri, Sep 27 2013, Jens Axboe wrote:
> On 09/27/2013 05:26 AM, Akhil Bhansali wrote:
> > Hello Jens,
> >
> > There are few improvements suggested by community for driver:
> > 1. Replacement of custom macros for debug printing. (DPRINTK / VPRINTK).
> > 2. Reformatting of "skd_request_fn" which is too long.
> >
> > Kindly let us know if you see any other changes required before it can be moved to mainline kernel.
>
> Did you forget to attach the patch?
Sorry, I misread that initially. The major eye sore right now is the
PRINTK stuff. The refactor of the request_fn would be a plus. Start with
those two, and I'll take a look and see if we need to do more right now.
--
Jens Axboe
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-09-28 2:48 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <5230cf49.xeAraX9UUfBD+Brs%fengguang.wu@intel.com>
2013-09-13 12:59 ` [block:for-next 5/6] drivers/block/skd_main.c:441:3: error: implicit declaration of function 'readq' Akhil Bhansali
2013-09-13 15:25 ` Jens Axboe
2013-09-18 10:05 ` Akhil Bhansali
2013-09-18 14:36 ` Jens Axboe
2013-09-19 12:09 ` Akhil Bhansali
2013-09-23 11:59 ` Akhil Bhansali
2013-09-23 14:20 ` Jens Axboe
2013-09-27 11:26 ` Akhil Bhansali
2013-09-27 18:12 ` Jens Axboe
2013-09-28 2:47 ` Jens Axboe
2013-09-18 19:24 ` Olof Johansson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).