Skip to contentSkip to conversation

PCMCIA-PD6729: Adjustments for four function implementations

PATCH New SF Markus Elfring 1 participant 5 messages May 15, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover PCMCIA-PD6729: Adjustments for four function implementations

From: Markus Elfring <[email protected]>
Date: Mon, 15 May 2017 14:05:06 +0200

A few update suggestions were taken into account
from static source code analysis.

Markus Elfring (4):
Use kcalloc() in pd6729_pci_probe()
Delete an error message for a failed memory allocation in pd6729_pci_probe() Add the macro "pr_fmt"
Combine substrings for six messages

 drivers/pcmcia/pd6729.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)
Signature · 1 line
2.13.0
#1 lore raw

PATCH 1/4 pcmcia: pd6729: Use kcalloc() in pd6729_pci_probe()

From: Markus Elfring <[email protected]>
Date: Mon, 15 May 2017 11:41:00 +0200

* A multiplication for the size determination of a memory allocation indicated that an array data structure should be processed. Thus reuse the corresponding function "kcalloc".

This issue was detected by using the Coccinelle software.

* Replace the specification of a data structure by a pointer dereference to make the corresponding size determination a bit safer according to the Linux coding style convention.

---
 drivers/pcmcia/pd6729.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/pcmcia/pd6729.c +1 -2
index 0f70b4d58f9e..289a5e74e852 100644
@@ -628,6 +628,5 @@ static int pd6729_pci_probe(struct pci_dev *dev,
 	char configbyte;
 	struct pd6729_socket *socket;
 
-	socket = kzalloc(sizeof(struct pd6729_socket) * MAX_SOCKETS,
-			 GFP_KERNEL);
+	socket = kcalloc(MAX_SOCKETS, sizeof(*socket), GFP_KERNEL);
 	if (!socket) {
Signature · 1 line
2.13.0
#2 lore raw

PATCH 2/4 pcmcia: pd6729: Delete an error message for a failed memory allocation in pd6729_pci_probe()

In reply to SF Markus Elfring

From: Markus Elfring <[email protected]>
Date: Mon, 15 May 2017 12:44:23 +0200

Omit an extra message for a memory allocation failure in this function.

This issue was detected by using the Coccinelle software.

---
 drivers/pcmcia/pd6729.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/pcmcia/pd6729.c +1 -3
index 289a5e74e852..a723ffbbd691 100644
@@ -632,7 +632,5 @@ static int pd6729_pci_probe(struct pci_dev *dev,
-	if (!socket) {
-		dev_warn(&dev->dev, "failed to kzalloc socket.\n");
+	if (!socket)
 		return -ENOMEM;
-	}
 
 	ret = pci_enable_device(dev);
 	if (ret) {
Signature · 1 line
2.13.0
#3 lore raw

PATCH 3/4 pcmcia: pd6729: Add the macro "pr_fmt"

In reply to SF Markus Elfring

From: Markus Elfring <[email protected]>
Date: Mon, 15 May 2017 13:15:33 +0200

Add a definition for the macro "pr_fmt" so that its information can be used for consistent message output.

---
 drivers/pcmcia/pd6729.c | 2 ++
 1 file changed, 2 insertions(+)
drivers/pcmcia/pd6729.c +2 -0
index a723ffbbd691..b3422119820a 100644
@@ -7,6 +7,8 @@
  * the GNU General Public License, incorporated herein by reference.
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/slab.h>
Signature · 1 line
2.13.0
#4 lore raw

PATCH 4/4 pcmcia: pd6729: Combine substrings for six messages

In reply to SF Markus Elfring

From: Markus Elfring <[email protected]>
Date: Mon, 15 May 2017 13:50:52 +0200

The script "checkpatch.pl" pointed information out like the following.

WARNING: quoted string split across lines

Thus fix the affected source code places. Prefer usage of the macros "pr_err" and "pr_info" over the interface "printk".

---
 drivers/pcmcia/pd6729.c | 25 ++++++++++++-------------
 1 file changed, 12 insertions(+), 13 deletions(-)
drivers/pcmcia/pd6729.c +12 -13
index b3422119820a..841f413c0d03 100644
@@ -183,8 +183,7 @@ static irqreturn_t pd6729_interrupt(int irq, void *dev)
 	while (1) {
 		loopcount++;
 		if (loopcount > 20) {
-			printk(KERN_ERR "pd6729: infinite eventloop "
-			       "in interrupt\n");
+			pr_err("infinite event loop in interrupt\n");
 			break;
 		}
 
@@ -348,8 +347,8 @@ static int pd6729_set_socket(struct pcmcia_socket *sock, socket_state_t *state)
 		break;
 	default:
 		dev_dbg(&sock->dev,
-			"pd6729_set_socket called with invalid VCC power "
-			"value: %i\n", state->Vcc);
+			"%s called with invalid VCC power value: %i\n",
+			__func__, state->Vcc);
 		return -EINVAL;
 	}
 
@@ -369,8 +368,9 @@ static int pd6729_set_socket(struct pcmcia_socket *sock, socket_state_t *state)
 		reg |= I365_VPP1_12V;
 		break;
 	default:
-		dev_dbg(&sock->dev, "pd6729: pd6729_set_socket called with "
-			"invalid VPP power value: %i\n", state->Vpp);
+		dev_dbg(&sock->dev,
+			"%s called with invalid VPP power value: %i\n",
+			__func__, state->Vpp);
 		return -EINVAL;
 	}
 
@@ -597,8 +597,7 @@ static u_int pd6729_isa_scan(void)
 	int i;
 
 	if (irq_mode = 1) {
-		printk(KERN_INFO "pd6729: PCI card interrupts, "
-		       "PCI status changes\n");
+		pr_info("PCI card interrupts, PCI status changes\n");
 		return 0;
 	}
 
@@ -641,15 +640,15 @@ static int pd6729_pci_probe(struct pci_dev *dev,
 	}
 
 	if (!pci_resource_start(dev, 0)) {
-		dev_warn(&dev->dev, "refusing to load the driver as the "
-			"io_base is NULL.\n");
+		dev_warn(&dev->dev,
+			 "refusing to load the driver as the io_base is NULL.\n");
 		ret = -ENOMEM;
 		goto err_out_disable;
 	}
 
-	dev_info(&dev->dev, "Cirrus PD6729 PCI to PCMCIA Bridge at 0x%llx "
-		"on irq %d\n",
-		(unsigned long long)pci_resource_start(dev, 0), dev->irq);
+	dev_info(&dev->dev,
+		 "Cirrus PD6729 PCI to PCMCIA Bridge at 0x%llx on irq %d\n",
+		 (unsigned long long)pci_resource_start(dev, 0), dev->irq);
 	/*
 	 * Since we have no memory BARs some firmware may not
 	 * have had PCI_COMMAND_MEMORY enabled, yet the device needs it.
Signature · 1 line
2.13.0