PCMCIA-PD6729: Adjustments for four function implementations
Subsystems (2)
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
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
@@ -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
PATCH 2/4 pcmcia: pd6729: Delete an error message for a failed memory allocation in pd6729_pci_probe()
In reply to SF Markus ElfringFrom: 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
@@ -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
PATCH 3/4 pcmcia: pd6729: Add the macro "pr_fmt"
In reply to SF Markus ElfringFrom: 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
@@ -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
PATCH 4/4 pcmcia: pd6729: Combine substrings for six messages
In reply to SF Markus ElfringFrom: 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
@@ -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